etherape-0.9.20/0000755000175000017500000000000014050240620010371 500000000000000etherape-0.9.20/config.rpath0000755000175000017500000003343413063177440012644 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2002 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # 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. # # 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. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a shlibext= host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix3* | aix4* | aix5*) wl='-Wl,' ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6*) wl='-Wl,' ;; linux*) echo '__INTEL_COMPILER' > conftest.$ac_ext if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null then : else # Intel icc wl='-Qoption,ld,' fi ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) if test "x$host_vendor" = xsni; then wl='-LD' else wl='-Wl,' fi ;; esac fi hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) # On AIX, the GNU linker is very broken ld_shlibs=no ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' ;; solaris* | sysv5*) if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi esac fi if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=yes ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9* | hpux10* | hpux11*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_minus_L=yes # Not in the search PATH, but as the default # location of the library. ;; irix5* | irix6*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; sco3.2v5*) ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) if test "x$host_vendor" = xsno; then hardcode_direct=yes # is this really true??? else hardcode_direct=no # Motorola manual says yes, but my tests say they lie fi ;; sysv4.3*) ;; sysv5*) hardcode_libdir_flag_spec= ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4.2uw2*) hardcode_direct=yes hardcode_minus_L=no ;; sysv5uw7* | unixware7*) ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics libname_spec='lib$name' sys_lib_dlsearch_path_spec="/lib /usr/lib" sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" case "$host_os" in aix3*) shlibext=so ;; aix4* | aix5*) shlibext=so ;; amigaos*) shlibext=ixlibrary ;; beos*) shlibext=so ;; bsdi4*) shlibext=so sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ;; cygwin* | mingw* | pw32*) case $GCC,$host_os in yes,cygwin*) shlibext=dll.a ;; yes,mingw*) shlibext=dll sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` ;; yes,pw32*) shlibext=dll ;; *) shlibext=dll ;; esac ;; darwin* | rhapsody*) shlibext=dylib ;; freebsd1*) ;; freebsd*) shlibext=so ;; gnu*) shlibext=so ;; hpux9* | hpux10* | hpux11*) shlibext=sl ;; irix5* | irix6*) shlibext=so case "$host_os" in irix5*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 ") libsuff= shlibsuff= ;; *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" ;; linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) ;; linux-gnu*) shlibext=so ;; netbsd*) shlibext=so ;; newsos6) shlibext=so ;; openbsd*) shlibext=so ;; os2*) libname_spec='$name' shlibext=dll ;; osf3* | osf4* | osf5*) shlibext=so sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) shlibext=so ;; solaris*) shlibext=so ;; sunos4*) shlibext=so ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) shlibext=so case "$host_vendor" in motorola) sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; uts4*) shlibext=so ;; dgux*) shlibext=so ;; sysv4*MP*) if test -d /usr/nec; then shlibext=so fi ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <" set capture filter .TP .BR "--final-export " "" when replaying, export to named file at end of replay .TP .BR "--glade-file " "" loads interface definitions from the specified GtkBuilder file instead of the default one. .TP .BR "-i, --interface " "" set interface to listen to .TP .BR "-l, --node-limit " "" sets the maximum number of node visible .TP .BR "-m, --mode " "" set mode of operation (default is ip) .TP .BR "--max-delay " "" caps timestamps to the provided delay when replaying a capture file. .TP .BR "--min-delay " "" provides a minimum to inter-packet delay when replaying a capture file. .TP .BR "-n, --numeric" don't convert addresses to names, disables name resolution. .TP .BR "-P, --position" "file with list of nodes and columns" Activate column positioning with the named file. Manually position nodes in virtual columns using the named file content. See .B Column Positioning. .TP .BR "-q" disables informational messages. .TP .BR "-r, --replay-file " "" sets input file to replay .TP .BR "-s" Place nodes using an alternate algorithm. .B Deprecated. .TP .BR "--signal-export " "" if specified, enables signal USR1 handling. On receiving USR1, EtherApe will dump its state to the named XML file. Beware! the file will be overwritten without asking! .TP .BR "-Z, --relinquish-privileges " run everything but privileged packet-capture operations under the user ID and group ID of the given user. .TP .BR "-?, --help" show a brief help message .SH COLUMN POSITIONING .PP With option .B -P|--position EtherApe reads a file specifying positions of some nodes. The input file takes the format of: node.mydomain.com 1 router1.mydomain.com 2 router2.mydomain.com 2 172.16.2.[0-9]* 1 .*.mydomain.com 1 ff02:.* 2 fe80:.* 1 .PP The first column is a regex of either the FQDN or the IP address. .PP The second column is a number indicating the "column" that the node will be positioned in the display with column 1 being on the far left. Up to 1000 columns are permitted. .PP Instead of being arranged in a circle the nodes are displayed in columns. This is quite useful for arranging nodes so that you can see nodes on the "inside" of your network on the left and the public internet nodes (anything not specified in the config file) on the right. .PP The input file above will cause 3 columns to display. Nodes with FQDN containing mydomain.com, those in the 172.16.2.0/24 subnet, and link local IPv6 addresses will be in the left column. 2 "routers", and IPv6 multicast will be in the center column and everything else will be in the right column. .PP Column locations are determined by the first match while searching from the top of the input. Overlapping regex's can be used with the understanding that the first match will determine the location. The broadest regex's should be near the bottom of the position specification. .SH SIGNALS .TP .BR "USR1" on receipt of signal USR1, and if enabled with --signal-export, EtherApe will dump its state to the chosen xml file. Beware! the file will be overwritten without asking! .SH ENVIRONMENT VARIABLES .TP .BR "APE_DEBUG=" "normal|info|debug" controls debug output verbosity. Debug information are printed on standard output. .SH FILES Etherape will use .I /etc/ethers if there is one to convert MAC addresses to names and .I /etc/services to associate TCP/UDP port numbers to protocol names. .SH SEE ALSO .PP The EtherApe webpage at .UR http://etherape.sourceforge.io/ .SH AUTHORS Juan Toledo .PP Riccardo Ghetta etherape-0.9.20/install-sh0000755000175000017500000003577613753651557012367 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 # Create dirs (including intermediate dirs) using mode 755. # This is like GNU 'install' as of coreutils 8.32 (2020). mkdir_umask=22 backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -p pass -p to $cpprog. -s $stripprog installed files. -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG By default, rm is invoked with -f; when overridden with RMPROG, it's up to you to specify -f if you want it. If -S is not specified, no backups are attempted. Email bug reports to bug-automake@gnu.org. Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -p) cpprog="$cpprog -p";; -s) stripcmd=$stripprog;; -S) backupsuffix="$2" shift;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? # Don't chown directories that already exist. if test $dstdir_status = 0; then chowncmd="" fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dstbase=`basename "$src"` case $dst in */) dst=$dst$dstbase;; *) dst=$dst/$dstbase;; esac dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi case $dstdir in */) dstdirslash=$dstdir;; *) dstdirslash=$dstdir/;; esac obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false # The $RANDOM variable is not portable (e.g., dash). Use it # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap ' ret=$? rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null exit $ret ' 0 # Because "mkdir -p" follows existing symlinks and we likely work # directly in world-writeable /tmp, make sure that the '$tmpdir' # directory is successfully created first before we actually test # 'mkdir -p'. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=${dstdirslash}_inst.$$_ rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && { test -z "$stripcmd" || { # Create $dsttmp read-write so that cp doesn't create it read-only, # which would cause strip to fail. if test -z "$doit"; then : >"$dsttmp" # No need to fork-exec 'touch'. else $doit touch "$dsttmp" fi } } && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # If $backupsuffix is set, and the file being installed # already exists, attempt a backup. Don't worry if it fails, # e.g., if mv doesn't support -f. if test -n "$backupsuffix" && test -f "$dst"; then $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null fi # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: etherape-0.9.20/etherape.png0000644000175000017500000000437611220500634012626 00000000000000PNG  IHDR00WgAMA aIDATxŚ{PT?w},.A " 1>*DM5N4cMcLi6mc&iZ%1S#jb%XDX`Y{م]\Μ>~{~sq'AQ@ڝy\~GH>y Ȯ } \8CJ 8=lbyg x0NvułfA}:)ˣ!͚4ٰPs#'d-AU5uy@ i: p$89wXR9]|޴`tx)Sxxri1O S7hUd/_8dp4~\UMRYQrdl|g?dł%VCv-b 1ͳ@R?hժ̌! [4lXZBȄI,!Fij$f+鸻| <:>'s,.=>D]Ngp3pΐYԃa@%M>=d7r@Fqtڽ&>[x]N`FNZ3]$yڸlpr+o4Az;<zFSQ\yd?1YBl~vKNy9Ġ]݅ofŀu (2p6g;ID[1襬xиcr8S=Gq]wv {܏^"08,!FƚvR{EQ[ 6%#96?X ]*bf%N` (!־/NRXf/깲Jފ̡x{0zvdwXUJvZjd@k5tb\Ks>C}vw ,wiG݌(CLS 8=]gų FF72K\{$3;#)\Jynj vD%IR9H%y@%bjTb@NF$1l6d!a&i֤QRJ\O&gX"j<SG:9k}d !=ͭɘ Ol狓~8V("`2襩cF` 3S0>a8{%FJTh](AdᡀbkxQXBj:ύ[IvS O؄Kg/SWos"_d4ZSK+-),!܀HnĎ Oٓ+"]W:ۀC.r/#iȈ== hR(~hEZOYM*DR2 $HgnClr|{ o'7o \ H<tme Rmb@ {? 6ཉ dyswx͟Nz[̵^(o݊K] 1wx`6pK}AWoQ2})%A@0G8(tx. #.#DLwz-lCq`)"l{[o%JFNy*oC} whۈ%DĠ`}~(4}\6+>*Y&"*tu L1XRUvVCnz2:[ M|%Inj r P$.K\TWo͈3)L6s;7b,̉yHM`Rƍ6%gXbC9Il qww 0u,>MP+*>--Р=meb^&NfDM%LCS S+9q OW 2Tj#-510jo7ѯϱLI_pף"KKh_\Hs3Kyu."0uӧG 0otRq.*|@ᴥkW:R_>c.<ԤM[eײ7"j~hdfǞ}{7m;xڝ;}lvEÇd )=s'8e2~m)\+N(T)h6XQ[͟?YTr-Q$fT^S!vQ(\ I4嗮3i"+t/UCIENDB`etherape-0.9.20/ltmain.sh0000644000175000017500000117204613673741367012174 00000000000000#! /bin/sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2014-01-03.01 # libtool (GNU libtool) 2.4.6 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996-2015 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 this program. If not, see . PROGRAM=libtool PACKAGE=libtool VERSION=2.4.6 package_revision=2.4.6 ## ------ ## ## Usage. ## ## ------ ## # Run './libtool --help' for help with using this script from the # command line. ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # After configure completes, it has a better idea of some of the # shell tools we need than the defaults used by the functions shared # with bootstrap, so set those here where they can still be over- # ridden by the user, but otherwise take precedence. : ${AUTOCONF="autoconf"} : ${AUTOMAKE="automake"} ## -------------------------- ## ## Source external libraries. ## ## -------------------------- ## # Much of our low-level functionality needs to be sourced from external # libraries, which are installed to $pkgauxdir. # Set a version string for this script. scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 # Copyright (C) 2004-2015 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. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNES 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 . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # Evaluate this file near the top of your script to gain access to # the functions and variables defined here: # # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh # # If you need to override any of the default environment variable # settings, do that before evaluating this file. ## -------------------- ## ## Shell normalisation. ## ## -------------------- ## # Some shells need a little help to be as Bourne compatible as possible. # Before doing anything else, make sure all that help has been provided! DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do 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 # NLS nuisances: We save the old values in case they are required later. _G_user_locale= _G_safe_locale= for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test set = \"\${$_G_var+set}\"; then save_$_G_var=\$$_G_var $_G_var=C export $_G_var _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Make sure IFS has a sensible default sp=' ' nl=' ' IFS="$sp $nl" # There are apparently some retarded systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi ## ------------------------- ## ## Locate command utilities. ## ## ------------------------- ## # func_executable_p FILE # ---------------------- # Check that FILE is an executable regular file. func_executable_p () { test -f "$1" && test -x "$1" } # func_path_progs PROGS_LIST CHECK_FUNC [PATH] # -------------------------------------------- # Search for either a program that responds to --version with output # containing "GNU", or else returned by CHECK_FUNC otherwise, by # trying all the directories in PATH with each of the elements of # PROGS_LIST. # # CHECK_FUNC should accept the path to a candidate program, and # set $func_check_prog_result if it truncates its output less than # $_G_path_prog_max characters. func_path_progs () { _G_progs_list=$1 _G_check_func=$2 _G_PATH=${3-"$PATH"} _G_path_prog_max=0 _G_path_prog_found=false _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} for _G_dir in $_G_PATH; do IFS=$_G_save_IFS test -z "$_G_dir" && _G_dir=. for _G_prog_name in $_G_progs_list; do for _exeext in '' .EXE; do _G_path_prog=$_G_dir/$_G_prog_name$_exeext func_executable_p "$_G_path_prog" || continue case `"$_G_path_prog" --version 2>&1` in *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; *) $_G_check_func $_G_path_prog func_path_progs_result=$func_check_prog_result ;; esac $_G_path_prog_found && break 3 done done done IFS=$_G_save_IFS test -z "$func_path_progs_result" && { echo "no acceptable sed could be found in \$PATH" >&2 exit 1 } } # We want to be able to use the functions in this file before configure # has figured out where the best binaries are kept, which means we have # to search for them ourselves - except when the results are already set # where we skip the searches. # Unless the user overrides by setting SED, search the path for either GNU # sed, or the sed that truncates its output the least. test -z "$SED" && { _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for _G_i in 1 2 3 4 5 6 7; do _G_sed_script=$_G_sed_script$nl$_G_sed_script done echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed _G_sed_script= func_check_prog_sed () { _G_path_prog=$1 _G_count=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo '' >> conftest.nl "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin rm -f conftest.sed SED=$func_path_progs_result } # Unless the user overrides by setting GREP, search the path for either GNU # grep, or the grep that truncates its output the least. test -z "$GREP" && { func_check_prog_grep () { _G_path_prog=$1 _G_count=0 _G_path_prog_max=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo 'GREP' >> conftest.nl "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin GREP=$func_path_progs_result } ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # All uppercase variable names are used for environment variables. These # variables can be overridden by the user before calling a script that # uses them if a suitable command of that name is not already available # in the command search PATH. : ${CP="cp -f"} : ${ECHO="printf %s\n"} : ${EGREP="$GREP -E"} : ${FGREP="$GREP -F"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} ## -------------------- ## ## Useful sed snippets. ## ## -------------------- ## sed_dirname='s|/[^/]*$||' sed_basename='s|^.*/||' # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s|\([`"$\\]\)|\\\1|g' # Same as above, but do not quote variable references. sed_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 # that contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-'\' parameter expansions in output of sed_double_quote_subst that # were '\'-ed in input to the same. If an odd number of '\' preceded a # '$' in input to sed_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 '$'. _G_bs='\\' _G_bs2='\\\\' _G_bs4='\\\\\\\\' _G_dollar='\$' sed_double_backslash="\ s/$_G_bs4/&\\ /g s/^$_G_bs2$_G_dollar/$_G_bs&/ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" ## ----------------- ## ## Global variables. ## ## ----------------- ## # Except for the global variables explicitly listed below, the following # functions in the '^func_' namespace, and the '^require_' namespace # variables initialised in the 'Resource management' section, sourcing # this file will not pollute your global namespace with anything # else. There's no portable way to scope variables in Bourne shell # though, so actually running these functions will sometimes place # results into a variable named after the function, and often use # temporary variables in the '^_G_' namespace. If you are careful to # avoid using those namespaces casually in your sourcing script, things # should continue to work as you expect. And, of course, you can freely # overwrite any of the functions or variables defined here before # calling anything to customize them. 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. # Allow overriding, eg assuming that you follow the convention of # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # # debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: # By convention, finish your script with: # # exit $exit_status # # so that you can set exit_status to non-zero if you want to indicate # something went wrong during execution without actually bailing out at # the point of failure. exit_status=$EXIT_SUCCESS # 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 # The name of this program. progname=`$ECHO "$progpath" |$SED "$sed_basename"` # Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` progpath=$progdir/$progname ;; *) _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS=$_G_IFS test -x "$progdir/$progname" && break done IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` progpath=$progdir/$progname ;; esac ## ----------------- ## ## Standard options. ## ## ----------------- ## # The following options affect the operation of the functions defined # below, and should be set appropriately depending on run-time para- # meters passed on the command line. opt_dry_run=false opt_quiet=false opt_verbose=false # Categories 'all' and 'none' are always available. Append any others # you will pass as the first argument to func_warning from your own # code. warning_categories= # By default, display warnings according to 'opt_warning_types'. Set # 'warning_func' to ':' to elide all warnings, or func_fatal_error to # treat the next displayed warning as a fatal error. warning_func=func_warn_and_continue # Set to 'all' to display all warnings, 'none' to suppress all # warnings, or a space delimited list of some subset of # 'warning_categories' to display only the listed warnings. opt_warning_types=all ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Call them using their associated # 'require_*' variable to ensure that they are executed, at most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_term_colors # ------------------- # Allow display of bold text on terminals that support it. require_term_colors=func_require_term_colors func_require_term_colors () { $debug_cmd test -t 1 && { # COLORTERM and USE_ANSI_COLORS environment variables take # precedence, because most terminfo databases neglect to describe # whether color sequences are supported. test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} if test 1 = "$USE_ANSI_COLORS"; then # Standard ANSI escape sequences tc_reset='' tc_bold=''; tc_standout='' tc_red=''; tc_green='' tc_blue=''; tc_cyan='' else # Otherwise trust the terminfo database after all. test -n "`tput sgr0 2>/dev/null`" && { tc_reset=`tput sgr0` test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` tc_standout=$tc_bold test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` } fi } require_term_colors=: } ## ----------------- ## ## Function library. ## ## ----------------- ## # This section contains a variety of useful functions to call in your # scripts. Take note of the portable wrappers for features provided by # some modern shells, which will fall back to slower equivalents on # less featureful shells. # func_append VAR VALUE # --------------------- # Append VALUE onto the existing contents of VAR. # We should try to minimise forks, especially on Windows where they are # unreasonably slow, so skip the feature probes when bash or zsh are # being used: if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then : ${_G_HAVE_ARITH_OP="yes"} : ${_G_HAVE_XSI_OPS="yes"} # The += operator was introduced in bash 3.1 case $BASH_VERSION in [12].* | 3.0 | 3.0*) ;; *) : ${_G_HAVE_PLUSEQ_OP="yes"} ;; esac fi # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes if test yes = "$_G_HAVE_PLUSEQ_OP" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_append () { $debug_cmd eval "$1+=\$2" }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_append () { $debug_cmd eval "$1=\$$1\$2" } fi # func_append_quoted VAR VALUE # ---------------------------- # Quote VALUE and append to the end of shell variable VAR, separated # by a space. if test yes = "$_G_HAVE_PLUSEQ_OP"; then eval 'func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1+=\\ \$func_quote_for_eval_result" }' else func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1=\$$1\\ \$func_quote_for_eval_result" } fi # func_append_uniq VAR VALUE # -------------------------- # Append unique VALUE onto the existing contents of VAR, assuming # entries are delimited by the first character of VALUE. For example: # # func_append_uniq options " --another-option option-argument" # # will only append to $options if " --another-option option-argument " # is not already present somewhere in $options already (note spaces at # each end implied by leading space in second argument). func_append_uniq () { $debug_cmd eval _G_current_value='`$ECHO $'$1'`' _G_delim=`expr "$2" : '\(.\)'` case $_G_delim$_G_current_value$_G_delim in *"$2$_G_delim"*) ;; *) func_append "$@" ;; esac } # func_arith TERM... # ------------------ # Set func_arith_result to the result of evaluating TERMs. test -z "$_G_HAVE_ARITH_OP" \ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ && _G_HAVE_ARITH_OP=yes if test yes = "$_G_HAVE_ARITH_OP"; then eval 'func_arith () { $debug_cmd func_arith_result=$(( $* )) }' else func_arith () { $debug_cmd func_arith_result=`expr "$@"` } fi # func_basename FILE # ------------------ # Set func_basename_result to FILE with everything up to and including # the last / stripped. if test yes = "$_G_HAVE_XSI_OPS"; then # If this shell supports suffix pattern removal, then use it to avoid # forking. Hide the definitions single quotes in case the shell chokes # on unsupported syntax... _b='func_basename_result=${1##*/}' _d='case $1 in */*) func_dirname_result=${1%/*}$2 ;; * ) func_dirname_result=$3 ;; esac' else # ...otherwise fall back to using sed. _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` if test "X$func_dirname_result" = "X$1"; then func_dirname_result=$3 else func_append func_dirname_result "$2" fi' fi eval 'func_basename () { $debug_cmd '"$_b"' }' # func_dirname FILE APPEND NONDIR_REPLACEMENT # ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. eval 'func_dirname () { $debug_cmd '"$_d"' }' # 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" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () { $debug_cmd '"$_b"' '"$_d"' }' # func_echo ARG... # ---------------- # Echo program name prefixed message. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname: $_G_line" done IFS=$func_echo_IFS } # func_echo_all ARG... # -------------------- # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_echo_infix_1 INFIX ARG... # ------------------------------ # Echo program name, followed by INFIX on the first line, with any # additional lines not showing INFIX. func_echo_infix_1 () { $debug_cmd $require_term_colors _G_infix=$1; shift _G_indent=$_G_infix _G_prefix="$progname: $_G_infix: " _G_message=$* # Strip color escape sequences before counting printable length for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" do test -n "$_G_tc" && { _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` } done _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes func_echo_infix_1_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_infix_1_IFS $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 _G_prefix=$_G_indent done IFS=$func_echo_infix_1_IFS } # func_error ARG... # ----------------- # Echo program name prefixed message to standard error. func_error () { $debug_cmd $require_term_colors func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 } # func_fatal_error ARG... # ----------------------- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { $debug_cmd func_error "$*" exit $EXIT_FAILURE } # func_grep EXPRESSION FILENAME # ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $debug_cmd $GREP "$1" "$2" >/dev/null 2>&1 } # func_len STRING # --------------- # Set func_len_result to the length of STRING. STRING may not # start with a hyphen. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_len () { $debug_cmd func_len_result=${#1} }' else func_len () { $debug_cmd func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } fi # func_mkdir_p DIRECTORY-PATH # --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { $debug_cmd _G_directory_path=$1 _G_dir_list= if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then # Protect directory names starting with '-' case $_G_directory_path in -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` func_mkdir_p_IFS=$IFS; IFS=: for _G_dir in $_G_dir_list; do IFS=$func_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 "$_G_dir" 2>/dev/null || : done IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. test -d "$_G_directory_path" || \ func_fatal_error "Failed to create '$1'" fi } # func_mktempdir [BASENAME] # ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, BASENAME is the basename for that directory. func_mktempdir () { $debug_cmd _G_template=${TMPDIR-/tmp}/${1-$progname} if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race _G_tmpdir=$_G_template-${RANDOM-0}$$ func_mktempdir_umask=`umask` umask 0077 $MKDIR "$_G_tmpdir" umask $func_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$_G_tmpdir" || \ func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi $ECHO "$_G_tmpdir" } # 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. func_normal_abspath () { $debug_cmd # These SED scripts presuppose an absolute path with a trailing slash. _G_pathcar='s|^/\([^/]*\).*$|\1|' _G_pathcdr='s|^/[^/]*||' _G_removedotparts=':dotsl s|/\./|/|g t dotsl s|/\.$|/|' _G_collapseslashes='s|/\{1,\}|/|g' _G_finalslash='s|/*$|/|' # 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 "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_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 "$_G_pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_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_append 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_notquiet ARG... # -------------------- # Echo program name prefixed message only when not in quiet mode. func_notquiet () { $debug_cmd $opt_quiet || 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_relative_path SRCDIR DSTDIR # -------------------------------- # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. func_relative_path () { $debug_cmd 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 -z "$func_relative_path_tlibdir"; 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 -n "$func_stripname_result"; then func_append func_relative_path_result "/$func_stripname_result" fi # Normalisation. If bindir is libdir, return '.' else relative path. if test -n "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result" func_relative_path_result=$func_stripname_result fi test -n "$func_relative_path_result" || func_relative_path_result=. : } # func_quote_for_eval ARG... # -------------------------- # Aesthetically quote ARGs to be evaled later. # This function returns two values: # i) func_quote_for_eval_result # double-quoted, suitable for a subsequent eval # ii) func_quote_for_eval_unquoted_result # has all characters that are still active within double # quotes backslashified. func_quote_for_eval () { $debug_cmd func_quote_for_eval_unquoted_result= func_quote_for_eval_result= while test 0 -lt $#; do case $1 in *[\\\`\"\$]*) _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; *) _G_unquoted_arg=$1 ;; esac if test -n "$func_quote_for_eval_unquoted_result"; then func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" else func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" fi case $_G_unquoted_arg in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and variable expansion # for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_quoted_arg=\"$_G_unquoted_arg\" ;; *) _G_quoted_arg=$_G_unquoted_arg ;; esac if test -n "$func_quote_for_eval_result"; then func_append func_quote_for_eval_result " $_G_quoted_arg" else func_append func_quote_for_eval_result "$_G_quoted_arg" fi shift done } # 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 () { $debug_cmd case $1 in *[\\\`\"]*) _G_arg=`$ECHO "$1" | $SED \ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; *) _G_arg=$1 ;; esac case $_G_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. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_arg=\"$_G_arg\" ;; esac func_quote_for_expand_result=$_G_arg } # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. # 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). if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_stripname () { $debug_cmd # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary variable first. func_stripname_result=$3 func_stripname_result=${func_stripname_result#"$1"} func_stripname_result=${func_stripname_result%"$2"} }' else func_stripname () { $debug_cmd case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; esac } fi # func_show_eval CMD [FAIL_EXP] # ----------------------------- # Unless opt_quiet 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 () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} func_quote_for_expand "$_G_cmd" eval "func_notquiet $func_quote_for_expand_result" $opt_dry_run || { eval "$_G_cmd" _G_status=$? if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_show_eval_locale CMD [FAIL_EXP] # ------------------------------------ # Unless opt_quiet 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 () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} $opt_quiet || { func_quote_for_expand "$_G_cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || { eval "$_G_user_locale $_G_cmd" _G_status=$? eval "$_G_safe_locale" if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" 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 () { $debug_cmd case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_verbose ARG... # ------------------- # Echo program name prefixed message in verbose mode only. func_verbose () { $debug_cmd $opt_verbose && func_echo "$*" : } # func_warn_and_continue ARG... # ----------------------------- # Echo program name prefixed warning message to standard error. func_warn_and_continue () { $debug_cmd $require_term_colors func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 } # func_warning CATEGORY ARG... # ---------------------------- # Echo program name prefixed warning message to standard error. Warning # messages can be filtered according to CATEGORY, where this function # elides messages where CATEGORY is not listed in the global variable # 'opt_warning_types'. func_warning () { $debug_cmd # CATEGORY must be in the warning_categories list! case " $warning_categories " in *" $1 "*) ;; *) func_internal_error "invalid warning category '$1'" ;; esac _G_category=$1 shift case " $opt_warning_types " in *" $_G_category "*) $warning_func ${1+"$@"} ;; esac } # func_sort_ver VER1 VER2 # ----------------------- # 'sort -V' is not generally available. # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. func_sort_ver () { $debug_cmd printf '%s\n%s\n' "$1" "$2" \ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n } # func_lt_ver PREV CURR # --------------------- # Return true if PREV and CURR are in the correct order according to # func_sort_ver, otherwise false. Use it like this: # # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." func_lt_ver () { $debug_cmd test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # Set a version string for this script. scriptversion=2014-01-07.03; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 # Copyright (C) 2010-2015 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. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # This file is a library for parsing options in your shell scripts along # with assorted other useful supporting features that you can make use # of too. # # For the simplest scripts you might need only: # # #!/bin/sh # . relative/path/to/funclib.sh # . relative/path/to/options-parser # scriptversion=1.0 # func_options ${1+"$@"} # eval set dummy "$func_options_result"; shift # ...rest of your script... # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file # starting with '# Written by ' and ending with '# warranty; '. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the # '# Written by ' line, like the one at the top of this file. # # The default options also support '--debug', which will turn on shell # execution tracing (see the comment above debug_cmd below for another # use), and '--verbose' and the func_verbose function to allow your script # to display verbose messages only when your user has specified # '--verbose'. # # After sourcing this file, you can plug processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. ## -------------- ## ## Configuration. ## ## -------------- ## # You should override these variables in your script after sourcing this # file so that they reflect the customisations you have added to the # option parser. # The usage line for option parsing errors and the start of '-h' and # '--help' output messages. You can embed shell variables for delayed # expansion at the time the message is displayed, but you will need to # quote other shell meta-characters carefully to prevent them being # expanded when the contents are evaled. usage='$progpath [OPTION]...' # Short help message in response to '-h' and '--help'. Add to this or # override it after sourcing this library to reflect the full set of # options your script accepts. usage_message="\ --debug enable verbose shell tracing -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -v, --verbose verbosely report processing --version print version information and exit -h, --help print short or long help message and exit " # Additional text appended to 'usage_message' in response to '--help'. long_help_message=" Warning categories include: 'all' show all warnings 'none' turn off all the warnings 'error' warnings are treated as fatal errors" # Help message printed before fatal option parsing errors. fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## ## Hook function management. ## ## ------------------------- ## # This section contains functions for adding, removing, and running hooks # to the main code. A hook is just a named list of of function, that can # be run in order later on. # func_hookable FUNC_NAME # ----------------------- # Declare that FUNC_NAME will run hooks added with # 'func_add_hook FUNC_NAME ...'. func_hookable () { $debug_cmd func_append hookable_fns " $1" } # func_add_hook FUNC_NAME HOOK_FUNC # --------------------------------- # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must # first have been declared "hookable" by a call to 'func_hookable'. func_add_hook () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not accept hook functions." ;; esac eval func_append ${1}_hooks '" $2"' } # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ # Remove HOOK_FUNC from the list of functions called by FUNC_NAME. func_remove_hook () { $debug_cmd eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' } # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. # It is assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. func_run_hooks () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do eval $_G_hook '"$@"' # store returned options list back into positional # parameters for next 'cmd' execution. eval _G_hook_result=\$${_G_hook}_result eval set dummy "$_G_hook_result"; shift done func_quote_for_eval ${1+"$@"} func_run_hooks_result=$func_quote_for_eval_result } ## --------------- ## ## Option parsing. ## ## --------------- ## # In order to add your own option parsing hooks, you must accept the # full positional parameter list in your hook function, remove any # options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for # 'eval'. Like this: # # my_options_prep () # { # $debug_cmd # # # Extend the existing usage message. # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' # # func_quote_for_eval ${1+"$@"} # my_options_prep_result=$func_quote_for_eval_result # } # func_add_hook func_options_prep my_options_prep # # # my_silent_option () # { # $debug_cmd # # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in # --silent|-s) opt_silent=: ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift # ;; # *) set dummy "$_G_opt" "$*"; shift; break ;; # esac # done # # func_quote_for_eval ${1+"$@"} # my_silent_option_result=$func_quote_for_eval_result # } # func_add_hook func_parse_options my_silent_option # # # my_option_validation () # { # $debug_cmd # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # # func_quote_for_eval ${1+"$@"} # my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # # You'll alse need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the # individual implementations for details. func_hookable func_options func_options () { $debug_cmd func_options_prep ${1+"$@"} eval func_parse_options \ ${func_options_prep_result+"$func_options_prep_result"} eval func_validate_options \ ${func_parse_options_result+"$func_parse_options_result"} eval func_run_hooks func_options \ ${func_validate_options_result+"$func_validate_options_result"} # save modified positional parameters for caller func_options_result=$func_run_hooks_result } # func_options_prep [ARG]... # -------------------------- # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propogate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before # returning. func_hookable func_options_prep func_options_prep () { $debug_cmd # Option defaults: opt_verbose=false opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} # save modified positional parameters for caller func_options_prep_result=$func_run_hooks_result } # func_parse_options [ARG]... # --------------------------- # The main option parsing loop. func_hookable func_parse_options func_parse_options () { $debug_cmd func_parse_options_result= # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. func_run_hooks func_parse_options ${1+"$@"} # Adjust func_parse_options positional parameters to match eval set dummy "$func_run_hooks_result"; shift # Break out of the loop if we already parsed every option. test $# -gt 0 || break _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' func_echo "enabling shell trace mode" $debug_cmd ;; --no-warnings|--no-warning|--no-warn) set dummy --warnings none ${1+"$@"} shift ;; --warnings|--warning|-W) test $# = 0 && func_missing_arg $_G_opt && break case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above func_append_uniq opt_warning_types " $1" ;; *all) opt_warning_types=$warning_categories ;; *none) opt_warning_types=none warning_func=: ;; *error) opt_warning_types=$warning_categories warning_func=func_fatal_error ;; *) func_fatal_error \ "unsupported warning category: '$1'" ;; esac shift ;; --verbose|-v) opt_verbose=: ;; --version) func_version ;; -\?|-h) func_usage ;; --help) func_help ;; # Separate optargs to long options (plugins may need this): --*=*) func_split_equals "$_G_opt" set dummy "$func_split_equals_lhs" \ "$func_split_equals_rhs" ${1+"$@"} shift ;; # Separate optargs to short options: -W*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "$func_split_short_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-v*|-x*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; esac done # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} func_parse_options_result=$func_quote_for_eval_result } # func_validate_options [ARG]... # ------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. func_hookable func_validate_options func_validate_options () { $debug_cmd # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE # save modified positional parameters for caller func_validate_options_result=$func_run_hooks_result } ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of the # hookable option parser framework in ascii-betical order. # func_fatal_help ARG... # ---------------------- # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { $debug_cmd eval \$ECHO \""Usage: $usage"\" eval \$ECHO \""$fatal_help"\" func_error ${1+"$@"} exit $EXIT_FAILURE } # func_help # --------- # Echo long help message to standard output and exit. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message" exit 0 } # func_missing_arg ARGNAME # ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $debug_cmd func_error "Missing argument for '$1'." exit_cmd=exit } # func_split_equals STRING # ------------------------ # Set func_split_equals_lhs and func_split_equals_rhs shell variables after # splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_equals () { $debug_cmd func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} test "x$func_split_equals_lhs" = "x$1" \ && func_split_equals_rhs= }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_equals () { $debug_cmd func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= test "x$func_split_equals_lhs" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals # 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. if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_short_opt () { $debug_cmd func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"} }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_short_opt () { $debug_cmd func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt # func_usage # ---------- # Echo short help message to standard output and exit. func_usage () { $debug_cmd func_usage_message $ECHO "Run '$progname --help |${PAGER-more}' for full usage" exit 0 } # func_usage_message # ------------------ # Echo short help message to standard output. func_usage_message () { $debug_cmd eval \$ECHO \""Usage: $usage"\" echo $SED -n 's|^# || /^Written by/{ x;p;x } h /^Written by/q' < "$progpath" echo eval \$ECHO \""$usage_message"\" } # func_version # ------------ # Echo version message to standard output and exit. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' /(C)/!b go :more /\./!{ N s|\n# | | b more } :go /^# Written by /,/# warranty; / { s|^# || s|^# *$|| s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| p } /^# Written by / { s|^# || p } /^warranty; /q' < "$progpath" exit $? } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. scriptversion='(GNU libtool) 2.4.6' # func_echo ARG... # ---------------- # Libtool also displays the current mode in messages, so override # funclib.sh func_echo with this custom definition. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" done IFS=$func_echo_IFS } # func_warning ARG... # ------------------- # Libtool warnings are not categorized, so override funclib.sh # func_warning with this simpler definition. func_warning () { $debug_cmd $warning_func ${1+"$@"} } ## ---------------- ## ## Options parsing. ## ## ---------------- ## # Hook in the functions to make sure our own options are parsed during # the option parsing loop. usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: --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 --no-warnings equivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries --quiet, --silent don't print informational messages --tag=TAG use configuration variables from tag TAG -v, --verbose print more informational messages than default --version print version information -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'. func_help () { $debug_cmd func_usage_message $ECHO "$long_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) version: $progname (GNU libtool) 2.4.6 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . GNU libtool home page: . General help using GNU software: ." exit 0 } # func_lo2o OBJECT-NAME # --------------------- # Transform OBJECT-NAME from a '.lo' suffix to the platform specific # object suffix. lo2o=s/\\.lo\$/.$objext/ o2lo=s/\\.$objext\$/.lo/ if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_lo2o () { case $1 in *.lo) func_lo2o_result=${1%.lo}.$objext ;; * ) func_lo2o_result=$1 ;; esac }' # func_xform LIBOBJ-OR-SOURCE # --------------------------- # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) # suffix to a '.lo' libtool-object suffix. eval 'func_xform () { func_xform_result=${1%.*}.lo }' else # ...otherwise fall back to using sed. func_lo2o () { func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` } func_xform () { func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` } fi # func_fatal_configuration ARG... # ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "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 yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi if test yes = "$build_old_libs"; 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 } # libtool_options_prep [ARG]... # ----------------------------- # Preparation for options parsed by libtool. libtool_options_prep () { $debug_mode # Option defaults: opt_config=false opt_dlopen= opt_dry_run=false opt_help=false opt_mode= opt_preserve_dup_deps=false opt_quiet=false nonopt= preserve_args= # 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 # Pass back the list of options. func_quote_for_eval ${1+"$@"} libtool_options_prep_result=$func_quote_for_eval_result } func_add_hook func_options_prep libtool_options_prep # libtool_parse_options [ARG]... # --------------------------------- # Provide handling for libtool specific options. libtool_parse_options () { $debug_cmd # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do _G_opt=$1 shift case $_G_opt in --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) func_config ;; --dlopen|-dlopen) opt_dlopen="${opt_dlopen+$opt_dlopen }$1" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) func_features ;; --finish) set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $_G_opt && break opt_mode=$1 case $1 in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $_G_opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" ;; --no-warnings|--no-warning|--no-warn) opt_warning=false func_append preserve_args " $_G_opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $_G_opt" ;; --silent|--quiet) opt_quiet=: opt_verbose=false func_append preserve_args " $_G_opt" ;; --tag) test $# = 0 && func_missing_arg $_G_opt && break opt_tag=$1 func_append preserve_args " $_G_opt $1" func_enable_tag "$1" shift ;; --verbose|-v) opt_quiet=false opt_verbose=: func_append preserve_args " $_G_opt" ;; # An option not handled by this hook function: *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; esac done # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} libtool_parse_options_result=$func_quote_for_eval_result } func_add_hook func_parse_options libtool_parse_options # libtool_validate_options [ARG]... # --------------------------------- # Perform any sanity checks on option settings and/or unconsumed # arguments. libtool_validate_options () { # save first non-option argument if test 0 -lt $#; then nonopt=$1 shift fi # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" case $host in # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) # 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 test yes != "$build_libtool_libs" \ && test yes != "$build_old_libs" \ && func_fatal_configuration "not configured to build any kind of library" # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test execute != "$opt_mode"; 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." } # Pass back the unparsed argument list func_quote_for_eval ${1+"$@"} libtool_validate_options_result=$func_quote_for_eval_result } func_add_hook func_validate_options libtool_validate_options # Process options as early as possible so that --help and --version # can return quickly. func_options ${1+"$@"} eval set dummy "$func_options_result"; shift ## ----------- ## ## Main. ## ## ----------- ## magic='%%%MAGIC variable%%%' magic_exe='%%%MAGIC EXE variable%%%' # Global variables. 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= # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # func_generated_by_libtool # True iff stdin has been generated by Libtool. This function is only # a basic sanity check; it will hardly flush out determined imposters. func_generated_by_libtool_p () { $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # 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 | func_generated_by_libtool_p } # 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 yes = "$lalib_p" } # 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 () { test -f "$1" && $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # 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 () { $debug_cmd save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs 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 () { $debug_cmd 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 () { $debug_cmd 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 yes = "$build_libtool_libs"; then write_lobj=\'$2\' else write_lobj=none fi if test yes = "$build_old_libs"; 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 "$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 () { $debug_cmd # 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 () { $debug_cmd 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 () { $debug_cmd # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd $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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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 () { $debug_cmd 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_dll_def_p FILE # True iff FILE is a Windows DLL '.def' file. # Keep in sync with _LT_DLL_DEF_P in libtool.m4 func_dll_def_p () { $debug_cmd func_dll_def_p_tmp=`$SED -n \ -e 's/^[ ]*//' \ -e '/^\(;.*\)*$/d' \ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ -e q \ "$1"` test DEF = "$func_dll_def_p_tmp" } # func_mode_compile arg... func_mode_compile () { $debug_cmd # 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 yes = "$build_libtool_libs" \ || func_fatal_configuration "cannot 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 yes = "$build_old_libs"; 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 no = "$pic_mode" && test pass_all != "$deplibs_check_method"; 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 no = "$compiler_c_o"; 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 yes = "$need_locks"; 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 warn = "$need_locks"; 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 yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test no != "$pic_mode"; 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 warn = "$need_locks" && 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 yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test yes = "$build_old_libs"; then if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test yes = "$compiler_c_o"; 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 warn = "$need_locks" && 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 no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test compile = "$opt_mode" && 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 -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -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 () { $debug_cmd # 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 $opt_dry_run; then # 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 else 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 fi } test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $debug_cmd 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_quiet && 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 finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $debug_cmd # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # 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=false 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=: ;; -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-m = "X$prev" && 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=: if $isdir; 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 ;; os2*) 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 yes = "$build_old_libs"; 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=: 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'` if test -n "$libdir" && test ! -f "$libfile"; then func_warning "'$lib' has not been installed in '$libdir'" finalize=false fi done relink_command= func_source "$wrapper" outputname= if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { if $finalize; 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_quiet || { 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 install = "$opt_mode" && 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 () { $debug_cmd my_outputname=$1 my_originator=$2 my_pic_p=${3-false} my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; 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) $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 can'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 #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* External symbol declarations for the compiler. */\ " if test yes = "$dlself"; 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 func_show_eval '$RM "${nlist}I"' if test -n "$global_symbol_to_import"; then eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' 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[];\ " if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ static void lt_syminit(void) { LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; for (; symbol->name; ++symbol) {" $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" echo >> "$output_objdir/$my_dlsyms" "\ } }" fi echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = { {\"$my_originator\", (void *) 0}," if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ {\"@INIT@\", (void *) <_syminit}," fi 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" ;; *) $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; 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" "${nlist}I"' # 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_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 () { $debug_cmd 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 () { $debug_cmd 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_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 () { $debug_cmd 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 case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || func_cygming_gnu_implib_p "$1" then win32_nmres=import else win32_nmres= fi ;; *) 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 } }'` ;; esac 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 () { $debug_cmd 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 () { $debug_cmd 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 that possess that section. Heuristic: eliminate # all those that 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_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 () { $debug_cmd 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 () { $debug_cmd f_ex_an_ar_dir=$1; shift f_ex_an_ar_oldlib=$1 if test yes = "$lock_old_archive_extraction"; 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 yes = "$lock_old_archive_extraction"; 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 () { $debug_cmd 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` func_basename "$darwin_archive" darwin_base_archive=$func_basename_result 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 "$sed_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 where 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) $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/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options that 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) $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 yes = "$fast_install"; 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 yes = "$shlibpath_overrides_runpath" && 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 #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* 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_platform || defined ... */ #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 #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 (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]; size_t 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 = (size_t) (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 (STREQ (str, pat)) *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 size_t 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) { size_t orig_value_len = strlen (orig_value); size_t 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 #' */ size_t len = strlen (new_value); while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[--len] = '\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 () { $debug_cmd case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_suncc_cstd_abi # !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! # Several compiler flags select an ABI that is incompatible with the # Cstd library. Avoid specifying it if any are in CXXFLAGS. func_suncc_cstd_abi () { $debug_cmd case " $compile_command " in *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) suncc_use_cstd_abi=no ;; *) suncc_use_cstd_abi=yes ;; esac } # func_mode_link arg... func_mode_link () { $debug_cmd 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 # what 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 that 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= os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=false 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 yes != "$build_libtool_libs" \ && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test yes = "$build_libtool_libs" && 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) $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=: } case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test no = "$dlself"; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test dlprefiles = "$prev"; then dlself=yes elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test dlfiles = "$prev"; 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 ;; mllvm) # Clang does not use LLVM to link, so we can simply discard any # '-mllvm $arg' options when doing the link step. 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 none = "$pic_object" && test none = "$non_pic_object"; 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 none != "$pic_object"; then # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; 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 dlprefiles = "$prev"; 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 none != "$non_pic_object"; 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 none = "$pic_object"; 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 ;; os2dllname) os2dllname=$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 rpath = "$prev"; 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-export-symbols = "X$arg"; 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-lc = "X$arg" || test X-lm = "X$arg"; 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-lc = "X$arg" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && 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-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test X-lc = "X$arg" && continue ;; esac elif test X-lc_r = "X$arg"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -mllvm) prev=mllvm 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 ;; -os2dllname) prev=os2dllname 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 # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer # -fuse-ld=* Linker select flags for GCC -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*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -specs=*|-fsanitize=*|-fuse-ld=*) 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 ;; -Z*) if test os2 = "`expr $host : '.*\(os2\)'`"; then # OS/2 uses -Zxxx to specify OS/2-specific options compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case $arg in -Zlinker | -Zstack) prev=xcompiler ;; esac continue else # Otherwise treat like 'Some other compiler flag' below func_quote_for_eval "$arg" arg=$func_quote_for_eval_result fi ;; # 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 none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result test none = "$pic_object" || { # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; 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 dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object } # Non-PIC object. if test none != "$non_pic_object"; 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 none = "$pic_object"; 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 dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test dlprefiles = "$prev"; 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 if test "$module" = yes ; then # [Mageia] dropping ld option "--no-undefined" which is wrong for plugins linker_flags=`$ECHO "X $linker_flags" | $Xsed -e 's/ --no-undefined//'` compiler_flags=`$ECHO "X $compiler_flags" | $Xsed -e 's/ -Wl,--no-undefined//'` fi test -n "$prev" && \ func_fatal_help "the '$prevarg' option requires an argument" if test yes = "$export_dynamic" && 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\" # Definition is injected by LT_CONFIG during libtool generation. func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" 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 lib = "$linkmode"; 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=false 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 lib,link = "$linkmode,$pass"; 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 lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass"; then libs=$deplibs deplibs= fi if test prog = "$linkmode"; 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 lib,dlpreopen = "$linkmode,$pass"; 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 dlopen = "$pass"; then # Collect dlpreopened libraries save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test lib != "$linkmode" && test prog != "$linkmode"; then func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test lib = "$linkmode"; 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 .la = "$search_ext"; then found=: else found=false fi break 2 fi done done if $found; then # 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 yes = "$allow_libtool_libs_with_static_runtimes"; 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=false func_dirname "$lib" "" "." ladir=$func_dirname_result lib=$ladir/$old_library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi else # deplib doesn't seem to be a libtool library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi ;; # -l *.ltframework) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test lib = "$linkmode"; 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 conv = "$pass" && 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 conv = "$pass"; then deplibs="$deplib $deplibs" continue fi if test scan = "$pass"; 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 link = "$pass"; 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 conv = "$pass"; 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=false 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=: fi ;; pass_all) valid_a_lib=: ;; esac if $valid_a_lib; then echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" else 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." fi ;; esac continue ;; prog) if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test conv = "$pass"; then deplibs="$deplib $deplibs" elif test prog = "$linkmode"; then if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; 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=: continue ;; esac # case $deplib $found || test -f "$lib" \ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # 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 lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass" || { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test conv = "$pass"; 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" elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi 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 continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test yes = "$prefer_static_libs" || test built,no = "$prefer_static_libs,$installed"; }; 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 dlopen = "$pass"; then test -z "$libdir" \ && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || test yes != "$dlopen_support" || test no = "$build_libtool_libs" 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 yes = "$installed"; 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 yes = "$hardcode_automatic" && 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 dlpreopen = "$pass"; then if test -z "$libdir" && test prog = "$linkmode"; 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 lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" elif test prog,link = "$linkmode,$pass"; 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 prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=false if test no != "$link_all_deplibs" || test -z "$library_names" || test no = "$build_libtool_libs"; then linkalldeplibs=: 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 $linkalldeplibs; 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 prog,link = "$linkmode,$pass"; then if test -n "$library_names" && { { test no = "$prefer_static_libs" || test built,yes = "$prefer_static_libs,$installed"; } || 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 $alldeplibs && { test pass_all = "$deplibs_check_method" || { test yes = "$build_libtool_libs" && 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 built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test no = "$installed"; 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 yes = "$shouldnotlink" && test link = "$pass"; then echo if test prog = "$linkmode"; 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 lib = "$linkmode" && test yes = "$hardcode_into_libs"; 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* | *os2*) 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 prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test no = "$hardcode_direct"; 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 cannot # 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 no = "$hardcode_minus_L"; then case $host in *-*-sunos*) add_shlibpath=$dir ;; esac add_dir=-L$dir add=-l$name elif test no = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; relink) if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$dir/$linklib elif test yes = "$hardcode_minus_L"; 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 yes = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; *) lib_linked=no ;; esac if test yes != "$lib_linked"; 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 prog = "$linkmode"; 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 yes != "$hardcode_direct" && test yes != "$hardcode_minus_L" && test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$libdir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$libdir add=-l$name elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add=-l$name elif test yes = "$hardcode_automatic"; 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 prog = "$linkmode"; 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 prog = "$linkmode"; 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 unsupported != "$hardcode_direct"; 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 yes = "$build_libtool_libs"; then # Not a shared library if test pass_all != "$deplibs_check_method"; 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 cannot 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 yes = "$module"; 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 no = "$build_old_libs"; 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 lib = "$linkmode"; then if test -n "$dependency_libs" && { test yes != "$hardcode_into_libs" || test yes = "$build_old_libs" || test yes = "$link_static"; }; 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 no = "$link_static" && 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 no != "$link_all_deplibs"; 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 link = "$pass"; then if test prog = "$linkmode"; 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 dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test dlopen != "$pass"; then test conv = "$pass" || { # 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= } if test prog,link = "$linkmode,$pass"; then vars="compile_deplibs finalize_deplibs" else vars=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 # Add Sun CC postdeps if required: test CXX = "$tagname" && { case $host_os in linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; solaris*) func_cc_basename "$CC" case $func_cc_basename_result in CC* | sunCC*) func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; esac } # 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 prog = "$linkmode"; then dlfiles=$newdlfiles fi if test prog = "$linkmode" || test lib = "$linkmode"; then dlprefiles=$newdlprefiles fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; 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 no = "$module" \ && func_fatal_help "libtool library '$output' must begin with 'lib'" if test no != "$need_lib_prefix"; 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 pass_all != "$deplibs_check_method"; 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 no = "$dlself" \ || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test 1 -lt "$#" \ && func_warning "ignoring multiple '-rpath's for a libtool library" install_libdir=$1 oldlibs= if test -z "$rpath"; then if test yes = "$build_libtool_libs"; 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 # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;; freebsd-aout|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 ;; 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" # On Darwin other compilers case $CC in nagfor*) verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" ;; *) verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; esac ;; freebsd-aout) major=.$current versuffix=.$current.$revision ;; freebsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; irix | nonstopux) if test no = "$lt_irix_increment"; 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 0 -ne "$loop"; 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 0 -ne "$loop"; 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 ;; sco) major=.$current versuffix=.$current ;; sunos) major=.$current versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 file systems. 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 no = "$need_version"; then versuffix= else versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided if test yes,no = "$avoid_version,$need_version"; then major= versuffix= verstring= fi # Check to see if the archive will have undefined symbols. if test yes = "$allow_undefined"; then if test unsupported = "$allow_undefined_flag"; then if test yes = "$build_old_libs"; then func_warning "undefined symbols not allowed in $host shared libraries; building static only" build_libtool_libs=no else func_fatal_error "can't build $host shared library unless -no-undefined is specified" fi fi else # Don't allow undefined symbols. allow_undefined_flag=$no_undefined_flag fi fi func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" test " " = "$libobjs" && libobjs= if test relink != "$opt_mode"; 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 -n "$precious_files_regex"; 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 yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; 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 yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; 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 yes = "$build_libtool_libs"; 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 yes = "$build_libtool_need_lc"; 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 yes = "$allow_libtool_libs_with_static_runtimes"; 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 yes = "$allow_libtool_libs_with_static_runtimes"; 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 none = "$deplibs_check_method"; 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 yes = "$droppeddeps"; then if test yes = "$module"; 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 no = "$build_old_libs"; 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 no = "$allow_undefined"; 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 no = "$build_old_libs"; 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 yes = "$build_libtool_libs"; then # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath=$finalize_rpath test relink = "$opt_mode" || 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 relink = "$opt_mode" || 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 func_dll_def_p "$export_symbols" || { # 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 ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test yes = "$always_export_symbols" || 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 yes = "$try_normal_branch" \ && { 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 : != "$skipped_export"; 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 : != "$skipped_export" && 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 yes = "$compiler_needs_object" && 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 yes = "$thread_safe" && 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 relink = "$opt_mode"; 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 yes = "$module" && 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 : != "$skipped_export" && 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 : != "$skipped_export" && test yes = "$with_gnu_ld"; 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 : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test yes = "$compiler_needs_object"; 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 -z "$objlist" || 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 1 -eq "$k"; 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 ${skipped_export-false} && { 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 } 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_quiet || { 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 relink = "$opt_mode"; 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 ${skipped_export-false} && { 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 } 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 yes = "$module" && 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=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { 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 relink = "$opt_mode"; 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 relink = "$opt_mode"; 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 yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. dlname=$soname fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; 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= # if reload_cmds runs $LD directly, get rid of -Wl from # whole_archive_flag_spec and hope we can get by with turning comma # into space. case $reload_cmds in *\$LD[\ \$]*) wl= ;; esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags 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 yes = "$build_libtool_libs" || 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 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 test yes = "$build_libtool_libs" || { 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 } if test -n "$pic_flag" || test default != "$pic_mode"; 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" $preload \ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ && 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 CXX = "$tagname"; 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 yes = "$build_old_libs"; 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@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=false ;; *cygwin* | *mingw* ) test yes = "$build_libtool_libs" || wrappers_required=false ;; *) if test no = "$need_relink" || test yes != "$build_libtool_libs"; then wrappers_required=false fi ;; esac $wrappers_required || { # 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 } 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 yes = "$no_install"; 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 case $hardcode_action,$fast_install in relink,*) # 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" ;; *,yes) link_command=$finalize_var$compile_command$finalize_rpath relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` ;; *,no) link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath ;; *,needless) link_command=$finalize_var$compile_command$finalize_rpath relink_command= ;; esac # 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 case $build_libtool_libs in convenience) oldobjs="$libobjs_save $symfileobj" addlibs=$convenience build_libtool_libs=no ;; module) oldobjs=$libobjs_save addlibs=$old_convenience build_libtool_libs=no ;; *) oldobjs="$old_deplibs $non_pic_objects" $preload && test -f "$symfileobj" \ && func_append oldobjs " $symfileobj" addlibs=$old_convenience ;; esac 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 yes = "$build_libtool_libs"; 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 -z "$oldobjs"; 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 yes = "$build_old_libs" && 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 yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test yes = "$installed"; 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 -n "$bindir"; 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) $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 cannot 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 no,yes = "$installed,$need_relink"; 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 } if test link = "$opt_mode" || test relink = "$opt_mode"; then func_mode_link ${1+"$@"} fi # func_mode_uninstall arg... func_mode_uninstall () { $debug_cmd RM=$nonopt files= rmforce=false 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=: ;; -*) 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 . = "$dir"; then odir=$objdir else odir=$dir/$objdir fi func_basename "$file" name=$func_basename_result test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates if test clean = "$opt_mode"; 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 $rmforce; 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" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" '$rmforce || 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 none != "$pic_object"; 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 none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test clean = "$opt_mode"; 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 yes = "$fast_install" && 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 } if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then func_mode_uninstall ${1+"$@"} fi 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 # where 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: etherape-0.9.20/doc/0000755000175000017500000000000014050240620011136 500000000000000etherape-0.9.20/doc/Makefile.am0000644000175000017500000000157513201574302013126 00000000000000@YELP_HELP_RULES@ HELP_ID = etherape # translations #HELP_LINGUAS = # List of figures to include. Paths are relative to the C/ subdir HELP_MEDIA = \ figures/all_nodes.eps \ figures/all_nodes.png \ figures/appmain.eps \ figures/appmain.png \ figures/capture_file_dlg.eps \ figures/capture_file_dlg.png \ figures/color_select_dlg.eps \ figures/color_select_dlg.png \ figures/eth_toolbar.eps \ figures/eth_toolbar.png \ figures/link_info.eps \ figures/link_info.png \ figures/node_info.eps \ figures/node_info.png \ figures/pref_colors_dlg.eps \ figures/pref_colors_dlg.png \ figures/pref_diagram_dlg.eps \ figures/pref_diagram_dlg.png \ figures/pref_timings_dlg.eps \ figures/pref_timings_dlg.png \ figures/protocol_edit_dlg.eps \ figures/protocol_edit_dlg.png \ figures/proto_info.eps \ figures/proto_info.png HELP_FILES = \ index.docbook etherape-0.9.20/doc/Makefile.in0000644000175000017500000003322314034533752013143 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } 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 = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(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)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.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 = 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) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs 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@ 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@ ETHERAPE_CFLAGS = @ETHERAPE_CFLAGS@ ETHERAPE_LDFLAGS = @ETHERAPE_LDFLAGS@ ETHERAPE_LIBS = @ETHERAPE_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PCAP_LIBS = @PCAP_LIBS@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ 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_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@ ax_pthread_config = @ax_pthread_config@ 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@ runstatedir = @runstatedir@ 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@ HELP_ID = etherape # translations #HELP_LINGUAS = # List of figures to include. Paths are relative to the C/ subdir HELP_MEDIA = \ figures/all_nodes.eps \ figures/all_nodes.png \ figures/appmain.eps \ figures/appmain.png \ figures/capture_file_dlg.eps \ figures/capture_file_dlg.png \ figures/color_select_dlg.eps \ figures/color_select_dlg.png \ figures/eth_toolbar.eps \ figures/eth_toolbar.png \ figures/link_info.eps \ figures/link_info.png \ figures/node_info.eps \ figures/node_info.png \ figures/pref_colors_dlg.eps \ figures/pref_colors_dlg.png \ figures/pref_diagram_dlg.eps \ figures/pref_diagram_dlg.png \ figures/pref_timings_dlg.eps \ figures/pref_timings_dlg.png \ figures/protocol_edit_dlg.eps \ figures/protocol_edit_dlg.png \ figures/proto_info.eps \ figures/proto_info.png HELP_FILES = \ index.docbook all: all-am .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) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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 tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 installdirs: 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 mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic 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-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 -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile @YELP_HELP_RULES@ # 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: etherape-0.9.20/doc/C/0000755000175000017500000000000014050240620011320 500000000000000etherape-0.9.20/doc/C/figures/0000755000175000017500000000000014050240620012764 500000000000000etherape-0.9.20/doc/C/figures/proto_info.png0000644000175000017500000004704111526555200015606 00000000000000PNG  IHDRlلsRGB pHYs  tIME $}tEXtCommentCreated with GIMPW IDATxwXKg$tAAbbk;˽vػ"",`HQJ~F(*y<3393ggwbRiRAiu2/ů9`>nj3>4ۀe%|WW,<<!4a !Y~&hPTLZUX&!ӓ3qqܡdݲoЯ_.^ТBhXKeE])!!2ZB+JB}5kʹFwvb. DդЙ(=Gf I)feA #U-d2\pL&{K_<(X@}c 啙^jh%t/eդɡ^ځ-M[`Vf2Lyρ_mح%SVe@X] JAT)JRKOOW^H$2,--B"yD>_+ !DL9TyM+BSOk).r>LiV8JV*`tU%lI˛d\uf ؠxM%F쓗!X"P$JP(d2#H0 C GDBXG5 rڍbGS 9F)&0|}$ Ő1-)##$4CysmqcB[gDDv$B83%c|[հnYS1}}sxSD-6P~ m)sȈx69~SJ8K#+,4YS^{SŇӚ-+ܼ,ıRB(RVUS1x,PMVedRLSV G- ؠ՗}%*"P,W 0 #D1J'sUJm;46D#mĪʣ벾m2v{@A!NVR`K9[FFU6q!s61DKҭyٓ7c$->qx\`f)wXoZ8u]6;y-DF@eV HO)"*Tmoyz6^m eD *I2D"dBP(d2D& BX,c*=Qj0~z4̴L1|f|#vsɜnI,e; =~⽐_51ad \bm肍9BIn F?fvןmޜoԐHtI&?bfERS* =D% Lc:Ÿ΃&4졪 6]FKŧoѺQ_o]XGN4eQ+}AMu>W`ؠ]AoX2+QT镨R \16'2XM%p]q4Q(Y"T] EBLJ&-B_(WI@-ʫT[5 N1J{~MfԌTIF]: E6՛r2z߸3QNP#B(pϽhb$qu'pܜ2[>So#jF=Pѕh 0A{2V{"ǑL "^O,%l!R|9V@Q. ^hZE R2! #!'IedPD2D2) !\FI14 8$9M0iyǷs|JARCl5/s*?]qY.7ҵ.gTR*k$4->FQ6HՒ6L2BQDL "A63ν9g+g$%99t|ȀN T$@7~3y?"RLZB)jrcY%thqTJ(+(ۊ'&&|e˖y<@Pмǔ)'cOR7=J߉+>46x].\Ǖj97aB :졂L-PgҘv!"HQ!\&?w ta8%5864V mɤ4J)t {b)}ƗQ:SnbZl^ef-hߍvv3䣢@EPyG˳48\QcAj.%]%`<6CM JA P.D"Hh4i||"?LH"kiB161XfC%4|Z榫.&^poǞ`zh>\X&ɹi7[/~@욲>`&Y-k&uL_x9~xГK%D裦Q [JUB{[_EugXn8#w]jژPI-E.$\zGްCNiBATF/Y7_G.aF=PhETpM%hĺ Mz7J TWBY+Q!b(t 311551mB0:VfDʢzOoa=]M^T*9̤GI:u$}M8}Դb.ZZƤ9 B*`BXKGxZ1^aNֱS'Xz SC{ퟄ^y07|ȅ I2M{hJc>8Z6G<'.]%EMYF!4֛;q831q|B 굁O@UDUU^G5D+YBQudQ.(~Cw23b+M^N8]9w*55劤)j.PYXﯫY5"gfd}d2"O,VJи_"!¨2=SRMFEK$PZjF'D/1i(4)}VmiyJ_RHR Nѓ;̬ǩ!27B pج֞E2ZV _1B& b=-yc)ޜnjRB$۹"d2LVs/`etM1XqO5[}x-Ą*} TQJ&jUz͊7CH&lGOu --^Lb\0UFKb(`;Ec,!FP(#'Y_,3b _\B b䑼סX)vT)d /m%edPv'KxXJ(=%_K] o#P22Ny"IE$AA*CAT[W 2QtLLhߪ] *' ? Z^z/#!0_9A|td(r rSHx$jU}!nUR[7r"-PaйYtA)PRve=ЏUD5T: KPTTPI\Pf, LzV@@h&+Q8kIPf,&ʒkXgAx1yٹUCXVafɳ eAܲ,Usj^j^V6 ;rfss\y:f/9?9TUV"rW6/A零vjg}17;!VC%T25"._?ll"Jʧ?0  XuҹTy37fCFW4sVYUsZy4X-=єoY!7ʑÇ~~eb95[ SM*%˩Xjs ZۺϕH)P>.Y3KwY* "{w~uVAWn<|P_tWR]?![_x;QJ@l3mǮ $jkazg\Y2\&?CGFd4TKm2\$Ekdlw'^INTorzfLEUGSl-L\֭}:n]|.oܢK+ڣuFtoVN=۞g8./PimԹG(+1i7sӵo zTgT*Wg[gkk}Os˹u}r.װ ;zBmĥ“+'vldW߶τBɏ)QQRvi:,1s`3;+g^˜bj(! {ɪ\2 i(%PNؗ;&! = >\d& | eI_!|KMKm2.{uy5]kѺ)ªJV죩Jמ$Fh}W{~yћ5jTQ:I?׸ؘSZ~?RZܣJ svZ;[&0 aW{PFK>nk8.} 1} V HS^p, LAҰpEm^.V;;YרɘL#:ij+i^3zgϞߔ-7jjjuB?(?5߲ }Lc7]vtUj.)HR,JSN%2RM|ǺuST^I-TT [z4R6K{O/w|Ԟ&d??z|1BHj;Tu[{T7/[YVo~y}e[MT% ՁN/YO&kiQ ¥7tx(W}L&{_$i*quj e|BH6<@鸼/ a+dLn|^$خ |{>MQQEXviqEy_$@L/,*Fi* o?8PF.-]]ؔ48S wRbKf{nߟhJƦR2ԱJJVJ˿6߾቏x=9&\ǚ-vҨݷ]Xױ>7rh6Z$/TwI imYz׈=Z#Kd,2 T\OPluu,>*yFGywJ4?7md|Jx'{/{"1(uQTlKU{>AZ`v )~ˢ:i&'ԱJJVmE|]\?g3džc\5Tms.,y}&9-SLZﻮRu.ݫjo(:]]NiLUtZ! W#72fz:s3i FۯK;zjR߱+5Lt9Nvu酭l4t}5U;R5j=0jj. mhx`[vC[˜bjPjs︣Jչ'pkZOӢ'nQ n]|uO$',S@N1Nռ#O@էs 2*r$t.(g~tE~h xY?W"* *]Ǯ6veMEJ.6 B3AD@) LRAm\⿂T PI\Pf, czhIR%lzO[Ea^w@HD(@LCh DQAp8Sm: +TLs} /:VN1W1ӄB6ɚ(b12?FĆs 2Zw7gѩ,א9Q\a  C+|q`WKCű>byw]j%64\ʰ)V}iɓK7wmeĤZ5 8z\nvvVJ۳V5_vszW7ܻYKM8n72Daہ3QЇ+_ο@R]lvr̡h8N6>sM{7CzvgIyX|vv|c񿭒Zl}wOE X=B/i5#&4ɵ6z5O;jZ/8kw aZT_ s 9×8QEn.mky|{U>٪~"P_#?bzCˌ;Ug ˝bc0nqB/;ZNRjP",1ɑo]X!qLvJdퟮlؖA!6_>^CERǥ,UU|g5T.vf40ノ3', èj8eLRБm8_Uq∓'S8/%rJl=ű|QqvqQ]T}1+/yeb , t^VsŲ3jzX8F_+QR|hkooo{b^a˳o'Zv>|Pnܖ6wPLfYύsB36{}FtgcW Leij#_on*@{!'3 v@6y IDATx'&as;6#75{  /{x"ɞdӬre-O^Ѯ꼓K|q(r+_ۇIeǎ49Z5Q^Q2]ittj.#!d-k0/ykb{=y{>ʏHyOj$.7)Uʞ~g83~!]i_+QV DoR1,#[^y{rW 23$ddsz+Q-[Ϲ+Q3_a{3i6]cHzVz^+cYwh6_j39fxx1a藢rD$lƝ4Uno8Z PCVDR=׹yżT&Ay%qp-)7&Ѫ8jZveP^+9{8PeBA3j(2\ 7uf^`%F'V+%ʱ뿷'o]B=w(9p8q%KDҒS42d øv#ihaévݥZׇ{۸.^J\ 7]T :>ܘ"~ s@ԛ,~0GY˕WGkOt\;Ĝ%#!PߎMt 4s ?NnY(2.iuU4Smt#i;/|mѷ#ߞdFI8´z]] hCrj$wI-=§r5<_Y[l1h||TC(Ũ8|?/q$ȷ Wv@! n7i=48ާ̢G[>һvf}vxlK o=nvkJbZmL5띝а{ȳ-HV"~_ZqlyGGk)ƉC9Âq_s2\"L`QsKZwH¢,U&R}( =pTZ4rQӇ=QϿ}Ƅ}W ,2[񠲏6~=#-Fߝu 02ǜaigB~3u҈E2Y֧ˆaUn8~哘tLxhvYw&;8 :ˌs$ɦnHr7NkAG%2 ;|gXa_GlVw|ߡ.s,KU!Sw8t`þm;dhЋ,L%#B5ŵ2/ȜHK5E8Pc ң7OYzq1rڇ9L&sV0l}#64{_ZPw kj[{rhLzZ !]1A`t n}P2'L+dIjD٬.D6tocHd`jcWy²n`Xh jG42jyXubLiq˵q7T91[ itTK^Mrc.2fxSz8}2i͗rg@ZZL|j&&T2ͦIu'B5ٵ:g>j(ھ. Z3%c$M׉̥==1xyf,:e},:ìqcxzO :sen!9KRn ٠˚岨Cmg4 U!P_o~ae/O]"(N4#L^?jNG˫DF,,˦;nߧ,~a£ux{;t:Q6S傤 /D=x @P#PsOn@2 GZou8,Q' D(@0 ZPQ '[3b0 4v!Ҵh9I]>얶D^'[3Y#b+Ձ7 jiȠ86G,xS_]ޜE8^CDq2B2qZGo^HTja[꩷|bhzVGL-T%E74_%   q7ѧXr X%Y2V>sHo^+QA}fv65ӳ{0ֽ,}c%acR2cR2 bܨ``.)(3'^VI9ܿ3sޣݼ҉E~qMq=vG׵Z)؄^N3v[YXصmbZ. ϫ~ >.Q·xy~xSxyz&,ۘUyR8WkOs;&bjh߃M^\*z+f4٠y_)yF^ 뢥4V4⌻H `jLcJ2a L.LIcɽ̨k`םͅ& ?0|?75|Ɂ2FMGNZt2.bXB䬙Ґ0=qM A$.ʚׯ殛Z79!L W Mew!O6;Ғ@*ʿibc"Su@>#vlFnj۷k0`._8Eh<7ɿr=4/Bt_E5`ƀ`wCbig|%eFAg+xť+_ۇIeǎ49OSbpDDNf'ȷ &2Nž[C)9ܯI\nRD=«c/0_#;W B!czhٿ,Nf1)vo3Ӥ^5_χ&|{y ~N#}0drK ֔ŜtVz|0U\~z 8Qjop;>$ltd{s!jA-vWCz-hh!9#g 1g ܇= &mnGt4#^tajckjŌF+ȾbQy\Ss*IOc^lBH3 TzӒk&uL&"` B" '\B"3d2I9N5ę ΢Hf 9ט?jkHWFe#j>o5{"R3sjVlmw|ju5kZvǞ7i}Gq] *_xViMݷ^6ッ~=df7D/ۯIG N.%U\iS#!{2 ŒcbeY2GV{nlNh9UM1 D9⧜%?G 3mM-YoM9k eI#W42Nٗv۱)[af./ ^%6"ҿ. `󌎽 +Ed|.o(B(7pFvb㷢FD?Y1#\CfX$<%&~Q8'^Y:d3 lKFGjxwO?vW:ta8&=2)]$5"c!\KfԑZDu116FyAKn/%!CH$RxG#n%WUc>]qǠXCZPא1B(7v]7q^Y\ ܛՅbz]3KJ{٨*aj>{˰-ۮMV읬BL&|nJiL!&]Aϝmc]g~Ahq'1",?#!F,ɲ>X6[ax[P9_is nno72tLB"!U}]dNQaV㶅db^ŭcYVÉ@ǒ56xpȔ%ȸ}n!C^$eIe,'(PܧlNϗ BwtɁBM^wp@t&0xIefɓz,#}zAzI= SlJr6Vj0}.MX=lðѱkUD=/]:9M^{ ġM׹YO ˿_E2PnVv⇫wbʢRmt9r_r~ˆw`Qi ܆&ԛyjMy#7ݒ[qhb`gDJ]dX]XfՊyQG(w<8A̞d_\ejj3M OX&NYo;әI3ph'(PֶneC7W>V]|cY ɤPܬthVX:&]ZoHŗp~0Nme=.0].=XDPsSeM3,թ5hrYԡ^uatP!~yN0\ (T#{y|$ܞAwz1aQs >]^  #,}?  {]Djrkej\tߓoqAjj`Ո  iVA Qը(Ah1r8cbbjU׾M~A;sXmgE¹潄 ᪧ]̅ʋ>e}ssz^'_ٴɗ_6.mmS//)u/Gɞ𮭌TC&f,L۽[Fc>fj.$nOc䈬F~ܥVl[~mՊ E74iaʰ-W+PMVlj{wm{sX{ ->80ԫ!tMf,[q~AV /U]]S/knJfggĽ=oU#e7wBŽ\.7Mo|WN9]F5^e=3<%ȼz@`T\jjAugwsɧ0t.xYSqboO:lĤX}}IYSg #f6>n3~J&=raD-G~qMq=vG*VZ.K^N랷Z)#\gsDg禽!Gy.)(3'^VԈ6Yffv;X<,δ^2ܪ5~A8s /qHqPQuͥm:Sݛ)jUGLXt Yco;Zrwnly?ˍ k沱8?'ذ2 'kJ}z$YXdRD&ߖsHd|ۂFb^bM|g5TE{Ȫv}*u_D쟮lؖA!6_~HѷOX%Mq%&-c+M#̻ob&˄ 7eQF/,TJTR&#URqZ{5aA`L|;'&аBVm{^J>mz4Uߥ|Tc&UnKD^zB/ :ׄ\FLeb/9/ߕG̨)~A?hkoS{٥?K>;m x25%$^]>[1׶gY+;*Z-z!d,a{!t$բσ?!D%[v1եJ52zor0s: +Y+rlX 6}.na$޷O/-osx˓׳l3"lnfF}v{!]qs^V6&,2QA髎>0c@p0[wC8:c_{ZKq(NIr+_ۇIeǎ49ZTa[ Pݕd,'3 vx'b-k0/ykb{=y{>ʏHyOj$.7)Uʞ~5b(ՕzYp7-:FfVl%*8?e9T2HĐEŰlmqg]T6\խRx-XR0e?AnIͬfD1aa&"G |?Or01I،;il|J7tnog@ !sv%/ޛѥNW+Iu9}N]W8 54lM$U-È~/ߤjUJTT=ǐ"]4f7 R6Wua+C.eP\+!{eY!4(p+JQ2}S70)r|Mט+igJr";3eɺ JAS[oĨ js9QR)FTǿ-|3SzqܮfəY}MK! hC񋯃qdj%L;Q(f[ߤY`q33),SIk7U{gb]@LUR>Fjg=;5Δɶobb%EʷGlw*Zt[^>g6P(©$L鉛Ry/x![7hLhTЫlMEU7O!|"D ݡ&bb+1ZvWˊíQ7C4EK]tÎemײTEC|~li6=Sid $ [\{;Z*}U}בqsmH +Ŷq|f,fIbdj xtզLա +K+4vĩmt.^J .zOYizA:t5kc\%*KG[[oW";!t0?R/Z*Q"D\Ex:԰ѱ7\-EU7k'vg2\"L%ik@^J4;fЦF\^Vnx*J3/[~2Ql *cB>K##r;Tިlz/z) SѶT u/B4[t4^$m2m%)_{QM&ͦ~(*0I#qefqңnN$}X?1Oؔƶ}Jĕ޶F6=gxݭM(@S/2jarަ B"Q6Nm9N/2 5j=bzЃt7;Q!/t5W{S#.F+/&>hn@OPLPL !epuR N$6bPΎ)y6'f aqOќϧ*fײ57]gBhgGˢ;Z&?ⵗqE{?ee&<bī R %gNS2\欁K.1_gK{K5T^~qMq=vG׵j*{&M#P;p45yE n_Zr [MΗNU}*;<>o6har767o%}Q=]94& rwl1)DF #/ZuR꙰hzncV\0L=MTˢ}eTJBZv!ooEFq7? DL 5P>.:pX}3*Ӹ DҟvpiĀ׸jw2]׊ih!?5j8t2բؗ%W\]֣L+9.Y3!ah{Im%A/OkbxbPɨ-ߜHB LX̤ "VUfb^VȶIvmId,g=79[9+^r5`ƀ`7#ψmg= v=ekYҸv#ihaévݥ_'F6uz-:x-դ_w}^NSTQ7YȆ'(]𩑎k3t!HѶ`}|oǦl}:ad',{ȋHP܃h5UmT6_E1FFOF"7mJbse^U%˶K[fz ̇Yԇ3Kٹ.8B/q\019 7Rݤ{2;nH_*Qq\{K5c/K5]s%L,ܶ r`݌NhXRjՖE{/,=ݗ~Z—>3h]\W")ZsjJeD5i疴.ޅEYTKm<"&w2soBNSw~U(ìm ż[Dzk<2\3I{9wuvuf߽m҆fK dyMIPPis nno72tLB"!~k\G-xY$e}zl[l)1kkRI^>lC]~YzC,! rؗ""m z%>dd2/ȜHͅ~FH^yRO¾~1rڇ9L&sV0l}zEK&4 8.SEY6P.v<8A̞d_]no{a.]u]{Q{9]f=7$sH?y9Xov.oZ2hSO?w'+XTZ G=}nVvy!PJs)/^yq[գp ~CDPochOg&mh_GYBJM#E ׏OdR Jn{so4+e. 7aK]v?X'͎Ͷs`w1)^PGaUZ :sen!9ƦfA5^Vܔz"vYS?ΎV/EUwZ&?E6A Ķ{FB UQc` lb %RpqX+-ׅ?ա6ەSjJ B(#zg9cxqӁڃ&:ʯN̵H m!SM'%,k ![>礫_i D2G%l⚗j=]h5> Z_5^˯^/c[Iۗ2MRvpA]͕ ͫ޻qJm`?!)_ZD('kaOwfOዷrtЛog%B~bOaЛo_04אl)s5횾iһ5!/$nWf&*23,-j ;̬q?j&ݤꃍ5;cIwaiɤgcO*z} '5s\'@5&t*4hE\G|o/um٩>b/o'uN:CGt}N>)Ͽ>qsR|;WSS~M߷loxl@mcQi w-:]z+\z6yݓi :ma8c%אyU=u8Ԩ+0Y !J=l)Ķ}9h;ضO:}2yyZKz>vM ]na lI_]|{lu>~}A3abu`ʽ_1~_9WUѦVP'5!j` $t[?s_h{-ʥSs: ye (?x'R\+\x;7k \{qvս_rmrU*Ii~QgYtU멪f@Q4jke2MgvfՀj\ۨ:EoXݟyaEg?N:PHj'/5ed jiv}r(1,kyke+'gTzYm P0BlZ^ JDQ5ڌ]N$6d^dƽrI!*ߍ Ci۾%ǦbIiWy%KfLn[Uf[UOM ?=~Ln;:LCɟ;wP_x7W]lg)I46ܯnq:׫TH;2*#dsqfxglđ22$(ZGq?HB^ ]ʚܨÍsK6(ܫ֋'wOٸTyT0EշXG9sMT5nǓ1om؂[GӖ#u^R=v5Gg]~:{-]^fl^g;zǂ)/7wU+'m 6<3Q)5B~<<"{ ) +${ 95OԷېnuwG*_?ƿ8}˞%nDrUz8ڮN!ɍzs_-:r?l֚Q.;4OT2NNkY2t%+RBφophEJgRgT(h-FlkW=.{m֒j#[+/F ~7 `ٴ +`.#5VƘR)(ޛgҮ s1Wyz0ƜKr)(x0A.ۧheЈIDYAxhN|1=>d3KAaWcg|pG  T     * L\ R4 K\AD\* 0:įZr`hHHN?n)Yq/9OբmZB5V +!W~l9r_?ݨnyu'[LR 5?A2-U:y`{HiA#BCCzwd-l?>5ۿNxG%V]=ӗўjVұs3~~C*V 7Dd6s .z\4a˘1LjK־tbCnoj]{<mmxk~j\RZ.]>xkK eqԛΟWêv|)ʞqj4}V9kaVS"7O'Pbˍ'ӊv`-#&n_էw]"5qpf7Y>\!֧ ֶVW|ؑl_-)<z{gT(72^U)e@a3u(k!؁ڰ9MS/ v_+ _ TT` #AF?5?Ӫ!gK9 ,b} mumUւGǢ¦Jiߝc}G}y%]v\Myzr FI%+ҁ e +`.]N?n4誓!+4F֧ pq-!'E\Lo6CaSټc^t9~(Ѧ||/hD,{<7c35MRqT-__rE*yӅ~S<^;-&bػ(A#-2z6  =6C^o[bX?K}5{x_i8;Ysnium |r; fЉk?NbXw?n~^S\0E)L.5z^~5I}u5JrOAN V* R %}Al/ Ō  ÔAqAWAAD\AAU(*E*AȲpTtL>Q}=A!wjWvjR/vONAW>MԓA\<=)[$ Bq! AAUAD\AAUAWAApdcAp>Fcڮwd5NWN6ߩedy' B6RSRrwu[ݶw)viFz'NS;wNTVWAp9q=|x_P5H [*w{E{bٷ?j-;(Î;|_W]K=<y♈zsb6tI >>ZGl5$8׮ڿ) bc[o&Sz绺bSmvEQl:q&UzE#b}ի_Q={Z ӫ<<]^]rQn?Tl7<.>6beWל**ה͖o԰Ijj6U]JSjl6R!BZjZ\5fU8K\m6bw _Ej4βAzzfˬ^:h]/^AVpnf1-oua6d2yzEqU9VAn]\tbWj{hi)~~ݻv_÷z/CHH%'jl6_E\9Ć P)fu+( &ՒYYt^EnrNp'#_ ,pP!GM '.5x4r m שƼA M$ʚCz˱AW!11q;EY3UAhڤĤՖ9$11QUUMuLٕjM5Q%yTuz{!M&SPPa9lX֤ҴSZ)i>vzJ ެhlUUkjʍmѓ "C).8mMMM={bOg}jaaa֩`ZOt~wd]#I-YTզzՍ;9Aүlk_[UH={&T 2퀨sgjV ksv5o _LiZ֏DjM:])Y_EYAU2h{{; ;vm1*utU1;N^Z]A> Mk m"!NǧsP&5yLZMܑDBAʩZrH B9\׶oPH B9\)M$Az Ww-P?,["r( {'lglbT NWmXROz=:t՟Gr[śDu#֒*1-QAPO7٦nXo톷Ot\v+EDF|%n7f}&w|eс3:Ǿq77;N^KLyVQ4^k;r!CtxQײihaH:Jo}&şwEi]b;Z:΢djkh=P)sVlQ/rTÝ͖ !ۮuu|̗ rk5u?<}fg|m#kWYt̑m./9v:ǀ3} b?'$hCZR**-voĈ{_ND^m>|oG.߳ҶQV#fwJ® NˮP~ŵ;Z3g8 =˴qK33_|aՀ Zɴq=gw6i= A[ueێC>Q#hzzO{٘M^O^16S-XI3Z+Ta;׀&Z\;tjwbxtؘ=ll}l½>_?;tgMr%ˋ;uSt򊣎6}F{ˉU~{7m\X>b܇?j-ٷ׺rȕ!72Mڵ75}PW#{kSM5FlըjRbnFh`+urawtY^F j>Q~d{/*Tub{V'`L3i|+6 >@Pw[hQCw~$d|㶪[s4[^_{*薽w;ׂtkvఝG4;|s;9s{MTn[à_ߑBϦA<9ٿQ}=A!{.]+?uT@Aܚ{d7oՠ^9s! -'oι BA( ZXAD\AAUAD\AAqyFAqA׬n/,Z_9b/SAq-*qIiqIi'n遾K~A;йvroS',P- [/< ,Fao[Tjw|g Pm)>ޤzhX#?ؐdg~ga>m + 7;N^KLu?<}fg|m׷d;Sr5Vs-|d kw$ڰ,`dixAP|b0`ƴؘzS1Bb+_O{.^?tGH][Kf>=hT}}AY4nzǻwr`Yu9Accg|pI<ר_f} 3D4yGCY)͜/l/`dZzaGYfsמltAxwFE8^Qp|3yxcӧI(W[1WdA-/?Ƕ,jїvs{שIrZA(o^}4c9O?^St!Ѧ?Uӎ\L2'|B#;:d-6l  68lg :Ntpjἢ>Q N<:Zݻ?9=|& hwT/J %ǭ/hO /[AdA p ۂ&AAr"* "  * "  !U + CA:ЃL`#$C<$HM % 5|}|Zywa%=s4_OW)[ˢa-$͏|_#A(@oO@m pN_-<B0H %fj9w[:GSe-d1Vr_'VEwØ>'[e>k SA'5 |BCxSG+k_M[a+~0 ӯv[94=v֭%>ظ>^wOJj^.hw0L{ָˡBEmaba5' 4yDhZeҡ9yLyڈSsK/f|Z%Y w^N,}hzqUT[ZcӔ^[r[mykztA(W?G #a'̆zŊk̹ ɬ݋L.}AS)6>9бYtN__c'l?2eioA((> ^}*DH3aA;%Q;S+>7Bm94e#[`P6)?don~w2ָUKMiuA(T0c)}K" [ɧl7N7=Q>SV~Ɣ,67:[_M_*3+?Ycj`{*MxLC󪇕 9CnJ]sߤ@+2.b Xy.򜫦^s=oj7NQ2kA/ +\r/s]ݷU.kE:ɅXU2f +V`f҆f=,(ď?: 0}OYF6b];FX706ԅxaS1h\fJna-2xD\Aȕˉ`ƌ᧟"<6 `RR|=z4  Dc<6ofz %&22;اuDEѸ1+WjU6,"*p3Ù 2]={U 7lί F#Ӧa63|8IIh4LJ-Y3hPUƏ':F]͘Y=JV_I>pnk !$*BNfƌc"Y9s8rʕ>)!C2} Pŋټ~8wc<㉌"]YlбHGt8 2GTgCLd~5bx, ̛Y,\0 'Ndlqc&L`ȐuLƁ4jDnw 7eM N(q!S\'5jd}{E!$` f@gJ#x@{Ox0hsej4?a0W,ʚaa8@JY*,2rLN.tׇov-, ɉ 'VkƇ3g<ӧ3.[嫃Qx!;{پUU fC4ِ̲-Sƍ9p t 6D/E 칹.ѤIzrt 9t- Cas 7e,}˗0!הfb8~9q9s DaʌDn)8 aCLya|Ǝ#DOgLeLL%[o1s&&ǎ7%=[ރS 1ižөI[8VkI ֗! PRJd  \;U&0t{ݍ4ؙ+-\" ]<2V7ۛy00;Ɣe@oX|/\c Pv֤"%Pn+rcr ;gja+>M nke\OE\Ap9 Q @:+{d釈 .&;htp9,* eCE8n'mҙE\Aa]:tpbzAc2 Ap *•\)x`Yo[ 2K!@#K(TepXU;5jWAL}U@_NI+ Τ \(7Ѫ=mWAfL_i3ႈ p[T:{YCAyj[\E\Ap`,Ūgetü-*s\H8"BP<5o;QU'PosA`P2;äc8@KSN.*BZXm>RQD-6| PµV@[p''G`l% rLCbg?z#AzMN +N$&@O\x3~19KE)O^z1xRA]h%rRv|< %[w\.%=//,?s q* aq{Bo*Chx9K\m ȪU =rGs6q"3g|C2p YMJbd^}5WrnPRɫ#lu5n6uDUVw?U?308tM3ϟoo.d݃UUZv-W[w s|cpI#nL %bh w4'11tʩSԭKjȑ2>͛K(B4ZE'W \lh:jhNcx~O>!) cy1 7r9ep}c qQⳠ3 [;myz :wg,G.)ќTNԨA oOȞF||rq]B!T7ky*L{Xxӽ7n BlժlO3>sɿŸq793W_ioo^;Y+,rzݺ͆o +ܬ,Gk_Shݪ@ُ 1ižөI[8VkI ֗t+)U6mU&jw21 N;/'3ݧ꒡+%\h܌];ԩ@3nI_ UVՏg,~&Ug^e܌x!:4-?Ϭ7|Ug,=@7UQ2xaѮ >k";πt/^>j< !U.z 렪el^`Dwr^q<'kOg?Zހze0 Kkm} 9/g|ߗhq68 Z^)tHJ덋wn)B0m ٱʜOhg仳 lũ7c0 ^w`2]uRoTHLeϵ(5H2츜ڮ@qѯSX=ߣSV f? BY\;_ncGxNj itG|>p`@@` mG7Bg7j~~ǖ%CTWtBj`sw-bi$++u`9J=^f$OabG u,X8dp @ѧm'kS̀ZiHޡ?"\f++i n`Ɉ:Xxi+kaeQ\=n&l隟ejb es k]:/X5K7ӄ <5_dԇ,u < K8Gk5Yg`ْLLز"BNq-#:iǠ|h[NlLRm"JH^+ŰVH׼WPk,χS*WA(0u{n[2`,yuk 2\?l։oA(km8w})^9؇k1Y* A;QV.͂[eMZZAʠ/]Դv0/'%G#x3X׋6hDC_ I2|)GH%ħd|#BVqu{B -7jUZY'!jĸbXaL4~B鉫 :n(0 \Z%gޅ|> a:+QVg Vs9tjVvgc=wop+*ރDY\r{ ehСӂǾR%bHW|u}2\n,o~+Z.Ub<>~5C7QVA]y >w-jRy&ٗg>e=% :mrz%B1! ԇ.dQВ|ez̆{x]KYe+**\O|F2`©}oqʅ*W eP ['\ȢwS精ąpZ.0eD\aօK>O2KR|;?!VXD\!P~usªelƪլOK2 ' $Đ\wv@ցkOJ:Ňg:Uy ƹ⾓ !.aKU %0"3&6ga4l# B IDAT>pw,7VA@c|et&>~\gf'KXWA>ϹhdOI7/ì'al1#.Iq-a!J2Cx|%ɾ^qm"1tes2(C`x-m&`NMj:{#0vPD\P(Sy~zCN~ {.1Y  _7lBSXڒIR%=-:&;Q0*2\u Lmc>58SYa*teD\pؙ*\2ޅ9[`>䴒K<$"3qZZX MK&ϟHPTfL`m c'Q!(Cϒ00e Й?vZ7( B\/K 4C?>|1tNa|*5 PVեu3֮v ${% ^ d"P׊Pv;'󆰬xd5Ԍ:]~ME iS2lV5&jqiu8=0aw:q/|/e]DYW!3Ӧ=0nqX-+Veiˁ<5 8aK0כ L DԩhʕZE͚̘F2~<]У))3ի|9V´i SO3l<NǼyl nwӴ)_~If4iʕDFfڳZjy N=G3—/'"9sO-ϴ'YG^p`cȐg:h8Z ..9ɟ@bMSU6^ +YU C\n Od$V1q"g?3a+2p =]?&L`reOgڷg$""2Pŋ3՞Wl,۶ѳ'7ߟHQ#ƏYØ1IW٭V!9ݯߍfynTQ6rfޞ/t9Ny2)ӽx>M>t^B#7x#Pӧ3cz=+Wrn:7f\==3͛yTyqy?p,/gvƌ|$,,,s6Q*fvKy4[2(3f(YE77ɭg`9`d&x5W 2mKw H Zv}t&M2ܻ˗ٻ1E ΜadN|LfT cNF⡇3)ƍ9p t),sߜL칖E/)`퍯/@flf3oks=qC_Qv5cuxd5"<#KD'`$%AU3cӧ(*'2gh4\I| F#F1k1kヒL@Ϟ;7ߐ,_Ήȁ~a|Ǝ-`LhuӦZ4 2Hʘ \X{ֹfRΌs\yօґˉIa`⴬L0DpsA#&-75>Н9*:Szp ג[7FEp-*m!|E2g1~^Vzy(W>蹘tW|{J8ab .) 8vG ȣ8uv?ƺ܂GRUV/XQ|ʪ*ϰq=JOYM-*!D\}e ~)\KY0TQcRKżZfQMoIF *MN@ϵ-$8xL5|PN;wn)Td"{#"* `A W-}PPL-A6MM$M:zJNO}s~~ꚲ0 r "=x\x-nn|_S xb+:XAT-/ |.ۛ "B&@r7oc #=赍so gћe)C_G.7AUDl[,_QS VX;ד 0eitEw!҆ wtOpΗES |K>t >ߐ E;*I0 Kr "!ZoW}y}FCHY %'ÕX;J +^J[` \+KUd/#kt)v9t*q= <>WY7دԕk6R!2@sM˯}}E;cŒDM$( 2zJW[4OW %d_YӴrI-n_W`8ܐH~j^p8Unnih_7(k/Y7w2/wߡx&ڡHIr bZs[co51]ՒP~-F*p-Y% \e}nQ/^a( ~nۘ2> z¦r'w >u jtaDMyfO*ŬzX !EAoa`W-ũmRlV@Ԑ *i̙XZz‡ *$zNEkЕb @P'I]>/j! k ٻ-w]5BG`[zmH%r0/.'`*5""BqO:(`HXU303?q6;Lx s'KC(3{{uh^r[pZJ,ՠ?t,%̘聋P*YpR. ԀI0wJTJeZ*A$l׷ Jgڰ܊U6˙Q_0}j6.00zV>FK9r@|}Y9< kײakr'(kaFc~FzZDFR̙òeƚWbT~ZDBAΰ\kY CJhoQPXeyu;ͶU8~1xʅP)9pnHKc^ڵU': x/f\}OO-y-c bbh֌/lsgy1^˔#,_BbT޿X(kn~GiՊY-hߞ N؂y|?AbOuǨ@8_GtQL),<F dΟ7~pw|綍EYk ²vU=zGxWN5MysKPߡ,+7dfҶ-ǎRHlf2-xLE@z(j mK՜9ÃHys@4.M7jջ?bPDA[*o-$Ra` whD E%TI bcqv6:e'V73ԃChm %3 =P:ِ2۱~"*XL4CC f,fD``d"s0{69[JUPOCDW?x*(MCo-9i<&lL|Ex8t:_9rV1K Pw @Vco,"98YHg*{ 4iB"BEh!8}7ŵx}։qT}^ֱx< +tZn ) ;w's| YP=< wwkVU8l|WFTo8֚ʚBUaxb,.2.0&:^ ͋XH+^^M\ܔH# BගՕh ]+)F9d1f<%PlvBQֲ> YlxE6EM"wU1ASJ4Y pФ+綍>x "!9h r?:>qd}o[E,!rgd[X̪0RLLd϶P;:.$8`=-ysƴP(m|/k-)J~G̝=(/'p@ tN:m/ /P(nA2Ԇe-~7eES,c[/Y)%/a]{V.t. o_&5=$s"Bª+]P9v&/Fhvj}^YUҞmP*1Mvyzt2ązzUr pmeTD Io>Rۣ8o:0/[Mn[ooVhIWrtˈ 8f_w%j:<ꕒ*kBOQ{!8_(xZ@KxB(k+~v/66(kxeε<~BF{=\~}MWjj;fy LlghjRλ!hQ 83Zs-V'鳙kTO֒01rN70hxX_*+ :S/Pl}{_aCUtϯ;ם9W?g(ɨ.u{Tex*NMtz\1{e뚸l'@{# Y@0.tEolˬ@D^L>Is4ٻNVƷ܊k-ޘ}9rPeōs.Yܾ<YN_lXaHU39r3ؠks#YJ9ws <`(ᇠ瀚^˩S1i6 -4;/(Lğ"S:,}pE '.Ut㏪ha2Ss??9\5w݊G?t20#Q94OZi}cQ<;]mKl[[(U=`ArTa~mOVwqqr-b͢6Ljzep+f(܌uwHORs?2kr<Μ [|t49=UQ7;iRr<̨V f(-/ q-}}%1(u=pE3?⇉ އ+rBV(\M8`IMA4d3z|[G V)~z3Fx6IbjW`}^έC2f= ZŨ W{x $e݇C3|lu\_:?+]bx (ДB (ZuXG&"&j9+aSlv^k1 /5qfpժ+T-No25(vS;n]dTf( )qV U;GMݺ ~o24r AХDuA$)Dm2~U4>.falINvlEYR;jRӃK*ًJ]5kơCTGzjߞp0 3Hw՝~֩[˯T޿]BS+t3\E]0^2l9{i)b:58q;w)11Ԩp6ׯаa3Њ:,\t~P8\w$uNތňtsgF0sԪùW\ArҲ\ >+q1>i?/eb'-ah̀&)l*6 $nB޻_'041nqq4oNt4F'yp2Sr4mJl,m^VU%(pa/nCb"IIwXY=\U+13>TMsk\|a7Ϳ1h-,dt8Om)lH[.-Gg}PcjD\ˀP!+ HH53Q(08`)FWE~YVߴdgw^]AEok^]LX$E.tA6 tAR(Y7tԔwҋZݛ7*FئixFEi҄64kya `zצ ׮%iZ̓ƒv>]91lxF3BwC;N.&¯2ˀ#&A= 2BIHN\"|X pwݽ8^8 Vs ۥ Hj9Ѱhvՠ`>{:IX S`-@W!Хnl*8׊DJ Ça{g>xeGttW}I`` }jg? W︗$\6 )^,jE,Ι4P:N\<ˁD͌mP38mӟ%# q !Jδ"ocKAA]E!nRZ68'#( T_!p.hyA[5 4c3t8}6W>*R\jkp.( ^2&"ByF?Kŭ$2*)+T^gXʻ_nufVL; THl1%+hC\i? pOa VrږCKqF8VeM?d_)Zn@~a"A!'tбp:8 LTIqu@wQu>V˵<*Hx2l\eOn0:X ,JS9rT1WZ }_6%r>)BُOt˔=_ea"W<;O@7s<1t8ZWRsMXZ'`g>+M\k‹3EK>02ﻉ%#pv2 >o{zCw,a( *d _e3eq"Y\߅sKjjpiEh<<\_]q FAt9nځlYpv6@MkGqa4,,zLШ8&jx F*DAΖA6r smgGE%ج³|g^0q / BH0=yhf۠eQ2hcT2d%{:ɦcX^F `$wg T-oS *29F bc o3 0'B/s 󸥳d}7Y7"yA_T=ݰ E T2h I$!1߇uv:2`U~Yނ:VȆl(N CZwp×xèh >_DY+,-ZThhY(*Tb ]"Wf鈫 $6^7?p:OͫlymB?hUuXEzdӡ#Ԃ0U>{3h8Ԅ>22y(*iEypJA\_gXfT,m,i7[)AGțl{ÛKzXz'&c1ԅekrȑt邳3G/!1:u "`fa2jbR"#Yk7](⥗Km4idSVz5ԫgE{*:U(~&.p"4޶ 0 m۟k d0S"mm~?_l 0E )U/WKU[7ػvz.lb.1l'r>ƩL9L0'}h(֬('aa$&Ś5LܹDGHHÇ[l "`#VN [eol&$0,]m鳙-DVkxBU[p:)V(%(T-ר]u8}ש£PC._jR oLn1:m۷~=p@11Ԩa#D\!`̅[P PSVN+m+@KPAk9Fa|2&7LD+¨+<O@cdya9Q+,dfҶ-T2s&zӶᱨ؊PqzϞ6kPN6x;sKd\|sML>f3MQR\͛ S,UAUE ; a+f@-)8ؖWVo#Ç8'm$L*A9Ǡ4{z=n:sZǃ$נ'?E˭NQxw7t`ma_ Zp2n!6YH74 ZC@e&+ 'Ch{0̅mN.$= =53Q(0< 4ܲy3(6=NzQK;{F(Xް"74m,ׯ#qpV3nIn]]#ÞxƇNz=T:ƷW ~/I RN ֖`^@킿 ?pqE ]:Tn[܀xg2%!9 8s9%b eB&I0to^IO>{SlD v`@aZtw<ՠ=<M a l+rCjV 'jw.Ctn'lI@FZ"ě3A_D\B3 0 *` lS֟4%ΌClI$r0`On'ay5.TF]Q;Z8;wEDE87L4i$$ Q0Wr?yj,vy Z8ěWB5 49av~a'Jl !gʩUfP[ ?/v ,xe`pA 4UdkZ4hɸ 7[+* 0c8/`ɋ]`iGqNn_$K޳C|wA-_6JQWï*j.Qg◎NzJ⫠qGu%=gh҉Cb"xHqg7$"Gle'P}:kWY;C{`ێ%&0>.mѪ@ ~AuUUsCz3KE}TиF B&[y *[bMX:Ԁv+=3iBl ieIP"/]"E*R]QN5D%q 4 4p Ӣ$1CJžPC`1K'd3dVV zX; ?2說V;GZ*_ut (dv"pj?=s'lzZi3 CFFƀh0ڠ2 IFTqanj Y~z :1}9.g(= Eܽ(1N!-..TbAU/𫂿;j'J:2QⓊ`"!84NhUGI L Tsʳ mď̵ L+<-zhPc\X]%-Mj;e+*+5+s ?ATT9GBKz*Iqh\h@cHq8ap Wfhfڭ~Hij) F ?B[79/)߫СbRM+.UPgᗎ}*@ƉN)M*=Y W *%Uc1W{ZI\s02hmmD|DۑMjßYP]̴\P;V֣]8%\Ш0)"' *e H,Rb 6v l-N0Hj`# ? ?-^62gqghdg2:3Y+Ӷ +6-Ba)1 ,<\k l<ͭra{&f}f>oRr"J14j?u(mZВƉNhtef4M3UD\>M{:P: YHȂ0Y~Vͺ@+o;.f;%zY䭿? 8ٛփNāFg|yL>5pG+AU8/rA )O^s^]eh_eh<}$_Tw34ҙj.<16cZQQNi@%' a,oH6DԂ3qةdomԴ#4#b榕Z Z@c!/Re'2Aq$?p܍Ji\;El5#u5{)QT̞}z eE2O:mo BHw`&pQEZ;zG!M(*2٠>v-GcqizAqRD>D4MGx#Dtf{..0d:i*4L/y ek_$K[iAUg/_g޴5G/Gy'0T7Mv7 ?o9Uk5s+kUAUJJ?n|q#99Ϧf^?W5{dx~mLi ˌ_"J=mjJvyxrPAqʘZ1wwiӨSaP*>Vd뜧Oy3ǎq}닋 aaiGP>*Ǔ[ip$FnŻ.5.WP6?6M$N-ZNM:5VAU(/0>NQ&3grRPyzNb"QQYcsp<=YZ;wfbzyEt4͚1iZmnٯfpcI3Ub|9C5^ D QQ3K" 叆 6vvm_S99sgF@6fHO': pw-w&>0ɱΉ&q_pàO6"x*9z ˗:Ko1#-kr:AA +M1 $&&MC(~\ug ]a!;q !q 2 "]%4 B!$;Yt șb֭DDpln ĉ891aNNe48/%#9p0 4t[pX nocahVWiې$ QS"¦')c/voިV_frRbbb+r7dXKó4/,v+%^frpKDW# i_/U$N>#S}` R,fK+^_xTn-sYJPpD0 ZD`|Șz 7m]Rjhlr,L7dTAq 1x B0t!¶mV ztWNj*nߴAUʘthk Leݑ WW)U /yc5TzeE@7^ B\͞df.L7?]]A7LtƟrgBq*nKn#G(5g x^ME}™UukrR@̍܋(}F^ir>HiZjw]~}mP/##ʽ *~0 {0V;kT32\ΓEUj2Y&37^ BWWe|;.LV(?rQtIر巴PV` !b @!|/C#Pc ETWV\U mJ2zVuH{Km.ۺA7APdr0",V1NjCuhjp1,iY^ B鉫Rd壯zRk=]Q'I[SOV7eN| `zTRC3.f^T&cW "%3ݝ.jh?wjÞc (5 ]%W0ބ]ޅK24EUj@ JcK*(07'Xn0=.SXXY'fɰ Ta: # g+ߋ>x ( n@/,D\1&9rP_ d3`S8EUZAu4yQXپTQLj>k?dyl˜PI a" e0Yf<_/E5TXTY+TUi4*|^*xQc\6PAUY+ B < " يEUB;~nfTWqrimk BqkEU@G5T[zA#&D\ AO0ȸ#yQy斫CCl^NeCRx D+ B);40Vxvɸ_MExItnxޤ`_X((e0GdP?-Z)6 hiyT:ō\"Hq{PC]~2(3 Iט vR3K L cf« >޽IIa9z9pC_>7bođ#ԯJ/..ku0q"3f0mOiǎHd$kPOVEʢoy̡{wӧ89=ɩ?$3pq!+#IN Tq F:PXEӿ?CЮݺ޽kիoˋ(i֌I=;wfbv% g|NfMfdp<= #1(֬% qcnXԜVGFUQO"V}˛![ 'Ny==ɩZC! = x :g0U 24Ee||}Q*8t&M0 4h޾L&DDp,));wp!鄆`YYh4?5''BazNCy3Q(0<97gN=AAEn=bb30cV=ɩLfF}j5B:jJD;Eݛ7*Fئic99R 5 Ƕ aFa( Ӏ3_"Kq1B10|ehAU ZXMa.!b`"x8d(D\ ,'` TWAJ CFD\A( a8< qxdhAUps `6*C#" F%0.24 *B1zh&AxEb %!C+P"dtAUbs# Pa KXD\A(  G0@CX P OWAJaadhAU+tw2Cl24 *BC@X Pl2kh A'@kO2R *BH :Z#feAUʈ EΝo}|X+Yo""Xk׏ ذ}#2HO}kaƍa28Q;"GD=3sIx8^^,[Fd$OΥ;ƱjUK:GPJ &Ec 71oh(֮eV{w͕a IDAT:uOz_d&&OflNiS}s @ra;3bw3q1)\Bj,YŸuTppiAAqRDdtZ"25kWYP*14=ݛlN""hQI̙};M։Wp@@'Nby&~}T*ƏG$X=ȂxvOI>kn Aal\@hq/~u6q0-Zr%-[Ҽ9DEQ3f0mOZu2>Ʊq#Q6m1j^_?DEYƅ e^Ȕ CGM1 iEqT ?/Şk˖Ѽ9@` Kqc4?X4O7l(< wkWvμ{W͚xu'b~ 7Эpvm/ϜiGӪ?VGPE4t\m_0dt4@L 5j0s&fFdd~Tt(&`Nߏ^o4v xe?fPOgdzǹxѺtcN ʢJ[[sRRok?LN3>-޽^;w=Ϛŭ${Ю^r84l;\+A^;}hs4Ap"`GDGFѣߏ;QQvotӭGX|ԧ_FVJJ .@~ٸHL MJeI uvޛEӦ$#Ghp7>>}hْѣ[4Vcb>hVcr2SrR?D<GӪ?y-cAq`,fD``dHjdB brjfr̟믓θq9;Ӽy9Kg,V%-CcPu62q"NNLRiI~'P_MhKMĆ <Ɋ$%1jTn_A[ʂdeBJJW!*(bcIJʯR;yΝGPJ QS"¦'I/jc/voިV_frRbbb9N@PIHN\"|sA#*1d4WAAqAAUAD\AAUAWAAqAWAAD\AAUAD\AAqAWAAqAWAAD\AAUAD\AAqAWAAWp*I ĵe|x']NA\XI y* " P)´$/AA(;1U*ˠ4 cĵg|S2 XrںI#SAS0NNAA!rlAWAA싫{_@@MɒA{<0PkBrZBrڹܳKdA&^*fWOn5.jxUSw;Y9f՛>CU4m7mٟƏ !Ck:c.i[OիU#,JA6k@вԮc\6_~ 6m[stjvO|Sw;W/FN3o5~;u#j{wT?#}8KL+(+IdNh!!E3(kY]XmdEhU"V.BȂ o Jaʲl͏uq.f 9gpދ{:K1ZJ-4vDg,RT\/YMǽ u/ H]R_HODs훲D!(صڸ3f5se64ůʼEfl]MB^Xt7^nTd&%og®iey$Jtt3i9$+. 9Hq2CXcn"9o׋Ҕ&%iL8qBϘsYxd2W&G6f7;/ 1jy]ܒߝJow.'+<iwW:Ybr*螚ɩ5C9f\Msur%ʛl<| 1*/oͫ8'T" Jo=ח?1okjHX30yVuGi` ',Vd8#2gUQfo\Y++ JZ=:$JZ?2ZJ,~> J`D=AJ`F6"J,~> !.9?mJYRdk\YB.PJ,~> !31UnJ]iVf\]XuQJ,~> !98Y(JbFZg\b6$`J,~> !.9?fJXh:]\XWYIJ,~> !31UhJ]32Z\]"QKJ,~> !98Y%Jb+Ha\aog]J,~> !.9?`JX1kQ\X!5CJ,~> !31UcJ\ZiP\\J3FJ,~> !98Y!Ja\0Y\aKOYJ,~> !.9?YJWGAC\W6` !31U]J\$ED\[hd@J,~> !98XsJa@sS\a0=VJ,~> !.9?RJV\l5\VL65J,~> !31UWJ[C!8\[2@:J,~> !98XoJ`q[K\`a%RJ,~> !.9?LiIV-gs5U,2"G=Ycs87G"\:O^.J,~> !31URiNE=Zs3I^K"L7%bs87GO\?>n4J,~> !98XliT1.?s66QF"R#RZs8.B/\E*_NJ,~> !.9?En9Y/Qr;Qs"H[DUho_s1>h>bG6l?`W!s8VrRHN:t_rr`8of95TL"cr]^[%RPPHcg^8s7q$A s873DI"2~> !31ULn>QE]r;Qs"WN#Ffn,B9gqYt2>lDXm !98XinDXHIr;Qs"io9q:li,lGrr4C]lJ_pBs8VcMiW/uWrr`8tn`0)t"o/,kW/2dNil^9\s7t[S s8:jVj+%~> !.=`e!NkASj8n8DKQI40r;R3)!Hb"7kmDNSg],52mW8GPrcA.qrr2t4iH,@@s8MNZs8VXuqfDg] pN-S*s6p%7/+[i_G(FbgFT2=;FT2= !36!m!QF'kirS/XKVJP?r;R3(!Mf/acQApWq>Y)9m\9cZrhBJhrr2sEiM-\Os8DH^s8V2MqkF.g pS.oNs5*l:5P(WMVLbMqU]1;jU]1;kUB% !9=%7!9*S0!TDsih>mNPrs\W,hYdCISDN-%s!YMEh>mQSrr?'Xh?a)[p@/"[s2`p`h?EfVH4*J\ J_nQ+rr;lPrr;oQ!98S~> !.=`_!TNeFp&XjHKPgk)s6opm!XA_Kr;S6tg&K*Go_?=ADJuH7qXr'WDJn/-i4SaFCi4IsrhKME 6>g\os5CcepV?cG$ZDs)qXr'WDJkC4q>+tH^&RO$#$:j)=`)jli4SaFCi?65qXr'WDR9 !36!h!TN_Do`=^FKUr8;s5*_\!XAc#r;S7?q>Y6FqY/(&StF@"rUnX4St>cXaPZmER@^JZrT+!G O.Ms=s2j3rp;d0($_Pc9rUnX4St=@0p\LI!o`*_J$BkGh.%^87aPZmER@hgrrUnX4T(Dp\3qAl7 cgq&-e"E;(q>\Onqp_%+cgq&-e"E;(q>\RmqtJ1'StF !9=%4!TN\CoE"RCK\HS,s*"AIrs&Q&r;R;^rr5"Erqb^1gYMDtrqbs[gDBkhjnA]6f\>fnp@J;H dbEOUs6'.Uq;_J/"l8_Hrqbs[gB.0MoD72ZrVpmD'@d'^=53`SjnA]6f\Q)qrqbs8g\q*N#OC.# nbiC_li,WIrr;*Rro;YenbiC_li,WSrr;-Srqb^1gYD;qrqu?AgYMDtrqbs[gBI$Bs8D`VK%p;) rS.>OqqD,2J,~> !.=`X!8dVH!pn2#r:U-HKP*ies6gG3BkV%ai;`YtbSo"2pAO^brbcAJs89IXs6!d&f`1dFi6r U#H%KbeF@]s89IXs6!d&f`1dFi6r=_-]%$cC?u5f@ ag'@f,D'S-s8Qa2s8$@.I"2~> !36!b!8[PF!pe,!r:L'GKU;l6s5"^oQ9gbqpAag0bQdkBk5>2XraV>Rs7j"hs3$^qq>]p[j,ucs h>bu+s7/@@R/-dYdE)@eJ!cV]s7j"hs3$^qci<;>qj:OYs4nBVdJs4\N;s7j"hs3$^qq>]p[j,udfs7j"hs3$^qq>^9OirB!fR,7lChV8#^Qf.o=[I+";QD"9W ]t!%c5D#:%s8SJcs8&)_Wdk~> !9=%0!8[PE!pRhor:C!EK\$>)s)rYcd6RF&s4bcA!ri5lqu-QkVq:eFlF6Nf[as(0s7uER3N:X, s)PaOb,!Y@rr;rPhZ*SWf@Tm!lF6Nf[as(*s/\]ef3/(PEd-11s8NDOrr;fgkrGa>s6@)fs0gMO q#B?t>BfrDlF6Nf[as(0s7uER3N;lTlF6Nf[as(0s8;-Qs8&YFqZ$THjShg(qZ#iip]%\QjT#1g ^@84ZK%L#%s4@8MqUY`-J,~> !.=`Q!878C!mSO/r:U-CKO=ehr;T+V?!q[PklMM3e,T+l$2X\68cScm![@[EARO*hpalL]&Rjr( Xpb%)MI']As6B[sNW8AtB)hj5![@[EARK])XT\N/=h"G1o_JOenH(u,s7e/H'cR,O=TTfIs(,ST s6g"&+ohOE![@[EARO*hpalL])ZTe>![@[EARO*hnI,`ss1:l&s1SI=-3RiYr`K:Hs8QYGs7R*A *\.AE@/L!"?iYS)~> !36!\!8.2A!mJF,r:L'BKTZ?,r;T+QO-8;ucNYC1q#B[u(&e/)P5kM&#!Dqc4-KC=n.u3K5a2*F 7j@p30ThOns3^usg],iDSH&R0#!Dqc4-I4sV$m0`=nD[lp&+jih#N6*s6pg-*`;t:*X4b,s#ZCW s4meu5l^g)#!Dqc4-KC=n.u3K;?-V:#!Dqc4-KC=hut/!s%8FRs*4SZ5678RrZ28+s8P0Ts6L"@ .6.lhP5G:TOoVM4~> !9=%-!8.2@!m&%"r:C!@K[^##r;T+DdF@Xb9HGZ5rr9A96N7!/i;`cb)KGfWH.;in_$^enVq1kI *K0mr44MdZs*=`6n,IIEjT#2f)KGfWH.;5rGt%V["9&8pq>UClU&`I;s1o'S)p&'Y$lX-cs*<,U s)Jr+[/^+6)KGfWH.;in_$^enaT)5J)KGfWH.;inPlsMRs!$A#s$Zo6=97L_rX9]bs8RB4s0)\o 2_@pYeGK:Ae,\NZ~> !.=`8!7^r?"QmMY_GX>5J7)[5%%Jrp7a^5Cl<)8,^p37f[pe~> !36!F!S$c?o`X?ji5"UUo`3HoHiW^7rt4'!I-L[W(OUW)s+^o(q#=r[qYqNqEVKKq#BbE%+qYpg] EVKKq#BbE`qYq0gEVKK]%t"*OAqg9b#=3`bAtJl!#W[,+s8D?4RV78"!.=b#pj<(AJ,~> !9=$u!RpZ=oE=3fh7`"MoDmm1N5s!;s"c^RrVn;1qYqNP^]"0k0Z(lKl2U/R Yk\5r\]=[K/SN2ss3#pNr;Q^)qqZr08]Uf02_`+hn,!%h(r,kGEc/qeqYpg< ^]"0k0Z(m!qYq0F^]"0d;o\e9.-^d3"-LXEO7<#G#T1b`s82KQc)cK:!6>&upr !.=`p'(-2_Y1jjrUp69*26qn,<:q"Vs9pd/V)p91rXlrqqQY@hs@imfc?k s8MqP$=ajus2GL@94._ur.khm(=<*#%nkLR`@Lug*CB`u!al!,r.kVg(0-1)jT#0aJP5mhq+C^8 J,~> !36!I!RUK.1 s8MqP$799Ws(F?@J"coAr.kh0A,$"96%A\0B7'[Y#CQN#!hoYnr.kV*A!!"rnGiE$JUdRPq0rCE J,~> !9=%"!RC<9oEFj*^@].]rU^*7KZO;ns)S&<&oYnhs%JEoao25fTum95.-LX-r.kLe[f-4TT)QhH qZ$E^r;Q`XM95_r0rE(cs2uk\s82_M!=uX5aV+OOEW?(A)dpY,rVn=^,sJ][fLq8iWs J,~> !.=`@!R169p'0Kk_Y1j^jo4rRbCiXnYQ+&#r`(+<:PAc8#>\.Cs2>UHfDif/s8RBk,pm%U0[]p> &l2;#p%n\)VF],7nf(E=s6Tkgs8RBk,pm%U0PJYLqG.3ss6g-g:JfI=`=bsB&l2;(s8RBk,pm%U0[]p>&l7-Z`>ejW]LG\$;-*_sH6jja@59TT8gY;= s,oQu:]AiC:]Ai>:B5cm~> !36!M!R(-7o`j?h_=bXZjSnfPbCkKMnc.G`reLN++6W[V)2!S9s(>)Zq#=u5s8Or>4[4TaDtj9E :4n1SrVHO17"G%3i^AIjs47L9s8Or>4[4TaDmA$FqL\n?s4n=bK2D=BB24)3NrT,:4Zu#_5B#3S h%G@#s8Or>4[4TaDtj9E:4n1Zs8Or>4[4TaDtj9E:4r?AB3kQ;Fao%1K9$!32*F)eKKjR?D)NR6 s!<&FKDs[+KDs[&K)hp%~> !9=%$!Qjs4oEO0b^@].Pir8QMaFq_=r;Uq^rltJd*rGtHO3>`Fs!Xqkrr4Cis8NpC?Y69F^]"0\ WlrT6q>V6_ao27/UsAr=F"-#Hrto*MAuT1Ql1!d1b6.\BEcCp!;#UDBWlrTCs8NpC?Y69F^\IhL E6I/=rto*MAuT1QrVn:GbKJfCrto*MAuT1QrVn:HbPqMib5_K-aiiA\huE]n?XIEE@)pNU8iHVI )TIEQro=%%ro !.=`E&'+A:p@QA?^s^$6an>B$`e7:kZ2=PGIT(FirmK=re,RB#<7q5i';,='aN`uL:J]I>`=l3M CB+5VrW!jWs6C]Ss7c3Ks8S#^<1j3haN`uL:JZ06p)Em."0qmp"oD7$e,RB#r_si/s8C$`l2OOT JH,'A<)fLirQ*7Js%cG>s2>ZN<%=O?rQ*7Js%cG>s2>XNf`/o(S,`NSi;?PQTE"l2c0>7(=8q.& ci !36!Q&'"87p%-/;^X9g2a7T&t`e9*Io)&G3Mhf:OrQj>Up]"l&L\Um^:tbmGdbsfu=bZVMB2FA= Y5eD*rW!kfs3P?Os6/Y1-LFV!WqpOEqs&k'Ms(>/`q#=u'f)Pd3mf%6^g&Lrti:[+QOoFFp j8]#fFG,GKh#3$-h"uj,Wdk~> !9=%&&&e)3o^]l3]["1&`Ui`o_h?87r;6L=aj'PZqW-ncrVn:Jc2R_kXmlAYl1FrSDp81[.':b= nc/7arW!l(s),@Fs7YURs8NpUc1(c$l1FrSDp7qT^MNel"8r1>EVmu_rVn:JrllDOs6f.DrVpf[ q>YJTc->bXmcjBBs)6-[s!Y#Kbpr5_mcjBBs)6-[s!Y"orr4CKmf3=Sq>Zc*nGhq@o_nf.ir/H9 q#C!l^kBu3j8I7%j87($j+%~> !.=`I"N'j*p>,_`#OB1@kNhHq^k>eiZhsbg6:"hio`+V"eGmK%=P<_n'Np%6p[Zq##Z0%N`=uEV XoIei9NYD8s8Fh(s2]]Wo9')%=BU7%p[Zq##Z,gHo`P(n"1/$r#5_L)eGmK%r`C+BK$X2^f9?P; KE(BE=BJ^XchI"^PR(+8s2>]O==RI*chI"^PR(+8s2>[Sg&K#*=b+`ko?%5:=b=uoo%0*3<5@/Y qqZ>p6A8P@e,*8He,3;JI"2~> !36!U"Msa'p"]P]#O9(=k3D6l^k@UGo)&GQ&;$"kq>]n1q#=u*Mu!Bc;iI$tqsVpc!f6XOB2a_H n,M#ALPq(ss8=5?T:Mi:0M^j[Oh#$QfKE?u)s(>8gq>Y)+N0N#mn%Ad[N0`8rn'QdiO4E4a q9r1BK8#6_h#!$/h#*'1Wdk~> !9=%)"MaR#o\0;W#O&h5jQPgf^kC&7rVQU\#Kk]Qr;XT=rr4CMd/O%nYLB<1r9_OG!7(TD.'M"E r;UpGcHsr0s7Ua;s#n'lg->YNd*nfRr9_OG!7(<YJVd*U7;kPX_fEraMbs!Y)McmmM?kPX_fEraMbs!Y(trr4CMd\>k$l`U?9e"l1)mDj8Jg"GNc p;A !.=`N"MOL%p<`fS#Jn3klJCF5Fbnm>S?!TE&!sK5b>$VsF(&hJ? /cZ+S>maC.!7Chc'JB[p./dEY3"c;s&1Ldg8cT"j>llJU#5VU,(]Ym`P(!sK5b>$XPs#5qg7 3"c;s&1Ldg(]YphTE!sK5b>$VsF'jY)[!#8dF3YMSu'jP$M3"c;s&1Lde+q=_V%PrcDs3pdL s3pmO!.9:~> !36!Y"MFC"p!uUaNCFT`$Q_j!O$`mTqMt[h!#,3i!XSj,rJq>G7MGn3*_;

!9=%+"M43soZdBJ#JId_kM"_+bCe4C$i9oDbgNU=!rtO5#6;$WdKT]Vd`,0!!u3e>daA@#Z2W/Q% 01DHdL%l4#Q=ZNTK!)sSc7%F`_mKQ'f^EcdO,#_qU,EQ!-J(c!XA_1rR)(n;A93J3-Wg!)ZY!Zd L4&m'E](0GLFnE!3uLN.)o.!!u3e>daA@#Z-q&)!3stp !.=`R"M"-up@J1M"6naUGCa2M@0>*\`>4#5JRJRfI"2~> !36!\"Ln$rp%&"I"6\ORRt6aMOotLZB30YIJW^%sWdk~> !9=%-"L[jno^VhF"6S@Lb^n9ke-#^M.'nKSJ^a_Mj+%~> !.=`V!OM:jp&a6`G_'GQAHUQa`>=):JRnjnI"2~> !36!`!OV=jo`F*_SUm*RQ36p^B3BeOJX->&Wdk~> !9=%0!O;(foE*p[c@OTof)u$P.(+WXJ_'qSj+%~> !.=`[!0R#_!OI0)C !36!d!NEI#ZN-YLRa.?'$34=^RXpn.R]:l~> !9=%2!QMD>Y5toSJ_A?%!XA_7J_>V-!SQL`~> !.9?8JSp$V\S_CpJ,~> !31UAJY%Fa\Xif$J,~> !98XbJ_Pb1\_@,EJ,~> !.9?=JTHB`\T7auJ,~> !31UEJYI^i\Y9)(J,~> !98XeJ_kt7\_[>HJ,~> !.9?AJTlZh\T\%$J,~> !31UIJYn!q\Y]A,J,~> !98XgJ`)+;\_mJJJ,~> J^8nnJ^:gOJ,~> J_,J)J_.B_J,~> J_u%9J`!roJ,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> "OGuop@a'^J^&bj_9N#R!q5$mJ,~> "P;i.p%^_8lTK!qYU,J,~> "Q/\Bo^m^OJ\luT_8?6E!r)0@J,~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@cbji<#7,c_KG#1bQ;Ui<#7,ch$)sP`j@DiL&R-c1^l"hp6f~> "kVr/p%?Abh?'".g8!L+2)Nk$h?'".g@O/&QBg0ThO*.'a7],skLY4~> "lJeCo^p#[g]*N=fq[:'2`B:*g]*N=g%3tuPlTKggR-_!_Y!Kpn)&W~> "jc)pp@cbti "kVr/p%?Alh?KC5Q'\&Dd/Mo%V#]8Vh?LB!5WMPkh>#h.2)Nk-h>io=Plo^9V;(Uus.o_MJ_ldN "ip "lJeCo^p#egBO"0Q'e2Lf)FG(U]B,TgBF6T5!Dr-pY,a.2V61-!1*JH"50KGg@O)!U]B,"gR-_! _Y!Kpn)&W~> "jc)pp@cbti "kVr/p%?Alh?TI6U84-@QHJ@H!8YiT#GX.587P:LgA'M+2)NkUh>lBch?^'WVNmFBVP`+!hLs_h a7],skLY4~> "lJeCo^p#egBX(1UnX0?R+19Q!85QM#CJHg<+&0RgA'D(2`B:[gAogYgBa[QUm74@V5;msgP";b _Y!Kpn)&W~> "jc)pp@cbtiA[QqWSudGP*Fh^P`jAO[%*DGU<2BQg81%/`fcnOiKTMETU"KCS<]>5al23AP/X)Y YhGn;V;L4i.GmQH9&/CaaP#P*F?M?MQJpdZ0"BlnF?M?MQJpdZ/tbrsiKm"g3DmTKiW#&@^&HtA P`jAOP*3eWPd&l;Pbm9riKTMOiKTMAU6MG/iSiLePbZ6]S`/PCSWfD7dXgA^i<@L"p@$nbJ,~> "kVr/p%?AlhDUdecJI?VQ'pIbQBg1\X.5NDW79\\c_-W*Z^%]MhNjGESXSE9Sh@li"5T6-f)FM8 QBg1\Q'K=ZR_?t "lJeCo^p#egGYC`eD&KDQ)!*gQ'L%WVOEg>Xk2=^^mpduTU![SgQe&5R]"o;R[0DEfA#&FQ+39Q ahO=5\_l-Da>l/GrnAWlg=rl;4$@/pgY4YFfA!Q84$@/pgY4YFLI,D$D*U*NAD#eo"4rg'f`'Y* Pmc:"Q'JkJSB8O8RCW=Os-3iBgQe&5R[CP_gCD#hR'WHNb1kXOR?jABg4A"`gBGIdo_7h3J,~> "jc)pp@cbtiA[QqWSugnP*3K:P`jAOUThD9P*P"aT9>\JPEMKqiKTLiWiY0SYe76(Q/U\bP*N&1 P+/D;P-*[$"4SqV_>N77i)VI!F>,A9iA<0si)VI!F>,A9iA\JPEMKqgle#9\#.Fc1^l"hp6f~> "kVr/p%?AlhD^jfcJIF2Q'KqWQBg1\S@#r0Q(-XcR$FSOQ^+`1hNjFmYH6TN[(NH)S)3"eQ'eV; Q'eY=Q-A1C"2crQfDOJJg-7E$D`'GnhDI.?g-7E$D`'GnhDI,KE,!9J9oa^&e)0!ah3F8Vrn]2l Q.k)[Q'eV;Q'eY=Q-A+AQBg1\QBdoKR$G_KgmFA)Xd> "lJeCo^p#egGbIaeD&`uQ'KtUQ'L%WTXMG)Q)`TfQBePJQBfVIgQe%mYHciT[^r,sWnZ9nQ(Oq= QC+_=Q.4aH"*QR]f_jJHau_Lt@Q-EtgG_%Bau_Lt@Q-EtgG_#VF*N'jBoRI3f&,3af9MWRrnII< .bWRAQ(Oq=QC+_=Q.4RCQ'L%WQ'J,OQBfnQe!?9#V3[ChgU!0G]!@m[J_RHa"iBp(p[@!i~> "jc)pp@cbti<#gOqr&XC/i;DCV_1Br1bQ;a/i;DCV_1Br1bNM$iR9DBTY97=iW#&@^&Ht@P`jAO P*3-0Wfj"5bEALViKTMOiKTM5iQm[XiS'HZhr2>5S`/=dRDmS3J`3il"jQc7n))HA~> "kVr/p%?Alh?'+1cMl]#Po8'-QBg1\h;6r@QBg1LQ($RdU6Vna7],skLY4~> "lJeCo^p#egC0F6eD&a3Q'KqTQ'L&%gC`,hQBg.)Q)< "jc)pp@cbti=D`IWSugnP*3K:P`jAO\siS\%ER+`Qf6oMP+CRjP`j8ii;pNYrK7T1iKBAJiO+iK iQm[Yi8Fdf/hb'=i?6&k3oT&8/iqrJ0"AhP3oT&8/iqrJ0!XBoi-I(0/iTfeiW#&@^&HtAP`jAO P*4&J[?@QKc]XmYiKTMOiKTMNiR3mYiRX0YiSi.HS`/M5PEM)paarEUi<@L"p@$nbJ,~> "kVr/p%?Alh@H$>cJIF2Q'KqWQBg1[Z'kQU'%t0fTAJG2Q*0!#QBg.[hVGH)rKRfEhNaAZhOTqX hQrKPi8+RR1cpLh?2T!Q.Grk-^L%O hNaAZhOTqXhQrKPhVOQ`g>8-\g>9B*WntXYTAJG2Q*0!"WrA7aS_&GLZ/,Z)p%@q>f73~> "lJeCo^p#egCKX9eD&`uQ'KtUQ'L%RWL*RK'%s.I]\D27Q-.k9Q'L%WgX`?jrKRfEgQe&WgR4>W gRshTi7e?W2E0:dgE9ZXR+pA!2ON5X2V2+jR+pA!2ON5X2V-X;cVuh]2HnYggB6&mQ.Z)js-4n` gQe&WgR4>WgRshTgY8!Yg"VdWg"W6daP3SW]\D27Q-.k4UAgDYUtC7QZ.fH!o^qnHhgb~> "jc)pp@cbtiA[QqWSudFP*Fh^P`jAEP*O)5Q'02AP*Fk_^65&GiKTMOiSiCOQ,h18P/lOEP0`*q P,mQfP+LUj+Q#O=9\n[db1Y)n1u@2i/k"YT0"B4[1u@2i/k"YT0"Cl="Pg\J/kk-\s,mAqro#,e P0`*MP0`*qP,mQfP+LXkP`jAOP`jAOdZU*Yg6.]XiP(JGro"";dCYR6J`3lm"jQc7n))HA~> "kVr/p%?AlhD^jfcJI=S&rp@Q.XrYQ.k)c Q."NqQ*K9(+PAb3GMV-4\)"GK5i(:01hGN$1tAuj5i(:01hGN$1tDQ]"Oabn1k"9<"5T6-f)FMO QBg1\Q'L([SX%X[Z^%fPhNjG\hNjG\hR\uPhTqIUhVOulY5[8\g!-U`["7)=h?Csmp%.@uJ,~> "lJeCo^p#egGbIaeD&KDQ)!*gQ'L%%Q)_sJQBg.*Q)EBkR[)%MgQe&WgY8]mWl`AKQ.aoWQ.ao[ Q.F]_Q-8+?"3XgRshTgY8!Yg"VdWg"W6daP3h^Vq]spQ-.k8gXF98Q-=g6Z.fH!o^qnHhgb~> "jc)pp@cbtiA[QqQ_Kk1PITT1P`jAEP*O&#P*3lDT9>\HPEMKqiKTMOiSiCOQ,^M#P/lOEP0`*q P,mQfP+LRi.)mto3+#E5d,7kU7W^=;Qf0bR\DU==7W^=;Qf0bR\DcDt7s^/./lpifs,mAqro#Dm P0`*MP0`*qP,mQfP+LXkP`jAOP`jAOdZU*Yi1H1%Y*5$>iS:!1]W@9lJ`3lm"jQc7n))HA~> "kVr/p%?AlhD^jfU8+'?QHJ(@QBg1EQ(,k%Q'L"WR$FPLQ^+`1hNjG\hVQ; "lJeCo^p#egGbIaUS4!=R+0mFQ'L%$Q)hm$Q'L%OQBeMGQBfVIgQe&WgY8ZlX2Us$Q.aoWQ.ao[ Q.F]_Q-8(>.![a0<+/LddG$TLddG$Tt-2S\/("4rg'f`'Y* Pq(JAQ'L%WR?c@XTU!^TgQe&WgQe&WgS0tSgXDIRX.tuGb1j5$[^hilc[jiUgBGIdo_7h3J,~> "jc)pp@cbtiFc1^l"hp6f~> "kVr/p%?Alh?KC5Q'\&Dd/MlRQBg1[Xd>KfQ^-4[c_-W*Z'DQMhNjG\hVR(jQ^YLPQ.XrYQ.k)c Q."NqQ*K3&-aI5H3)"q[hT9=k3**-;hDI.?hT9=k3**-;hDI.?hVQRa5;b`LgY^iih3F8Vrn]2l Q.k)[Q.k)cQ."NqQ*K3&QBg1\QBg1\\s9;PhTqj]X0IqohUn]oQ("u6J_mZg"ip "lJeCo^p#egBO"0Q'\,Kf)FG(Pq1P=V3[^lQBg.X^mg^tT9[USgQe&WgY:;UQCc']Q.aoWQ.ao[ Q.F]_Q-8%=-_=O*4]IKsgTF^A4_)FbgG_%BgTF^A4_)FbgG_%BgY8B%4uZ&hg>CWef9MWRrnII< .bWRAQ.ao[Q.F]_Q-7q:Q'L%WQ'L%WU6WgSgVB;GZ_*N+gVT\QQCYP>J_RHa"iBp(p[@!i~> "jc)pp@cb^i;ha6i<$WSUk.LSi;ha6i<$WSUk.L(i<@L"p@$nbJ,~> "kVr/p%?AVh>l.+h?'@8_1CImh>l.+h?'@8_1CIBh?Csmp%.@uJ,~> "lJeCo^p#OgAon*gB*h/d"0s$gAon*gB*h/d"0rNgBGIdo_7h3J,~> "jc)pp@cb^i "kVr/p%?AVh?KaX]WRNegO\52h?KaX]WRNegO\4\h?Csmp%.@uJ,~> "lJeCo^p#OgBO1Q\tt[ag4A#.gBO1Q\tt[ag4A"XgBGIdo_7h3J,~> "jc)pp@cb^i<@Z$Pa/&dJ`5):"k'!,Q))NQiMb]=c1^l"hp6f~> "kVr/p%?AVh?CBZQC4f%J_nl4"h1%gRB+behPf97a7],skLY4~> "lJeCo^p#OgBFaLQCG)0J_SZ."g4>\S$1FpgSij1_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@cb'iP.7$iITtNi<@L"p@$nbJ,~> "kVr/p%?@thS4_phLXPHh?Csmp%.@uJ,~> "lJeCo^p"mgV;g#gO\,BgBGIdo_7h3J,~> "jc)pp@cb'iP.7$iITtNi<@L"p@$nbJ,~> "kVr/p%?@thS4_phLXPHh?Csmp%.@uJ,~> "lJeCo^p"mgV;g#gO\,BgBGIdo_7h3J,~> "OGuop@b*&^GUSeJ^*?%s7QN_hp6f~> "P;i.p%=os^P%0YJ]Hons7HHbkLY4~> "Q/\Bo^n`l^Z9s_J\pQds7?Ben)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@cc/s+/FGc-spgs7ZHrc1^l"hp6f~> "kVr/p%?B's+/4Aa4&([s7ZHra7],skLY4~> "lJeCo^p#us+/%<_UHAQs7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC=.rrSXUkO&9Lp;[+6R[<2gs24j:c%5ogrrp[@p@$nbJ,~> "kVr/p%?B'rrC+(rrS[Yq "lJeCo^p#urrBq#s8SPgrU'UboZ$q2RfND "jc)pp@cc/rrC=>rs&,/Tp_[jr:p9nR[<4)rrDchrrB8%QNEVWhXUUI_jA.$rrSXUkCNZNrrC;p s7ZHrc1^l"hp6f~> "kVr/p%?B'rrC+8rs%VpTq/1)rqQKpS!s0?rrD`grrA\jRKB+hmd^;YUmgf9rrS[Yq18R`rrC)j s7ZHra7],skLY4~> "lJeCo^p#urrBq3rrq/_TV/F7p](8_!<) "jc)pp@cc/rrC=?rs/%]Q^kC]QhC.R!h,J=mJd1[qYpf(Q_:dcQ^RL:rrU*)^ZYUuR[<2gs24j: c%5ogrrp[@p@$nbJ,~> "kVr/p%?B'rrC+9rs.>KR\mNlRf3$]!h5YSo`"pjqu6ZhqYpemR^0DsR\'KUrrE&nrrT!bnE9fQ S!s/(s24j:a+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBq4rs-N4S#s)oS,W3_s-j#eo`"phqu6ZgqYpelS$oetS#lVerrDulrrSj_puh\W RfND "jc)pp@cc/rrC=@s!%H "kVr/p%?B'rrC+:rr`1iR_\q&)s@5#oXLNaYN,Z_S!s0QoXLNaYN,Z_S!r'.T_n`hp%n\(T:5$E qO3lDs-oJ2VP*t]\=]=qj8YkPRN'`UoXLNaYN,Z_ot6ugWV-;`\=]=qj8].KRe_O7_uB_WJcGHD "ip "lJeCo^p#urrBq5rr_naS(@T=)r:Pok-CSN\+9S!S"'BVk-CSN\+9S!S"%Wr[/9k'o_SS'St#HR l'n1 "jc)pp@cc/rrC=@rr`%_QgO_N)?-e*Uqi@aec2))kPhWNUqi@aec2))R^]m*rrDchs#.'I[K#]^ QdPi%Q^YCpriVT`^mLJ=fW1@<`6nReQ__EaQdu)>Q_)%%]`,(#Uqi@aec2))kCNZNrrC;ps7ZHr c1^l"hp6f~> "kVr/p%?B'rrC+:rr__YRf!$_)?$4s[(Voto)G2Jq>HtT[(Voto)G2JSA)Q2rrD`gs#-L "lJeCo^p#urrBq5rr^--SGiBc)>0Sj]XF<%qZ!%SrUlbO]XF<%qZ!%SU;4\DrrD]fs#-Ia7f1tS%Q2!TDJ8QS$g/6q":5J]XF<%qZ!%SrIP!drrBoes7ZHr _Y!Kpn)&W~> "jc)pp@cc/rrC=@rrVeYR/?n"oTu$Fs4s$;s-f;;oTu$Fs4s$;s-f:bq>UHgqYpQ!r0K+0rVr=Q \c;^%Q^[mQh3Xr;_jA. "kVr/p%?B'rrC+:rrV8MSGW=&k*i"Ds0nH+s-oJQk*i"Ds0nH+s-oJ7q>UHfqYpPfr0f=@s8SRW huE`=R\Bc]\!jf+UmgfQs5ocDs8TQs\*'3PrVuosk*i"Ds0nH+s-oJQJcEXf!69ZjpAY<:p%@q> f73~> "lJeCo^p#urrBq5rrTWuV#10.]:6;0s/2@Is-oMV]:6;0s/2@Is-oMKq>UHeqYpPer0nkIs8SRX o)Ja%S%&FtVjlcITUY`Vs1=c0s8T!djLgtdrr2p*]:6;0s/2@Is-oMVJcEXf!5a "jc)pp@cc/rrC=@rr`%_QgO_N([dW]s8VJQT)Y7GkO+\.s8VJQT)Y7Gj8&]TpA4e9YEtoj\B=OF s-f;7s8VMRT)\iXQ_+5pQbWS#m['OFs6Z/Em['ODrsS7]T)\iXQ_+5GQfir"_uB_]JcGHD"jQc7 n))HA~> "kVr/p%?B'rrC+:rr__YRf!$_(Y"nQs8UQ:WW/HVq:(k4s8UQ:WW/HVq>($jp%n\8T:3'q][HcY s-oJQs8UT;WW3"IR]6=_Rdg@We=*B:s3mF9e=*?7rsR>FWW3"IR]6=VRe_O7_uB_WJcGHD"ip "lJeCo^p#urrBq5rr^--SGiBc(U9I\s8T?nf)M5/rNVjCs8T?nf)M5/r;$?mo_SS7St!1!^Y8\e s-oMUs8T?nf)PcTS(@V4S,!$`Z('>Es08'EZ(';BrsQ*$f)PcTS(@V/S,Ip<_uB_RJcGHD"iBp( p[@!i~> "jc)pp@cc/rrC=@ruh<9Q`0l_s76'ZQ^dsRhNt& "kVr/p%?B'rrC+:rr`1iR_o(() "lJeCo^p#urrBq5rr_naS(R`?);bD*S%/LuVjlcIS"'AgS%/LuVjlcIS"'BPrrD]frrSd]pA=mi RiMD,s1=c1s8T!djStmBq#CB+S%/LuVjlbZS$;nkrsQH.\GuT,S)jU=S,Ip<_uB_RJcGHD"iBp( p[@!i~> "jc)pp@cc/rrC=?ru^`uQ^tL`QhC?[Q_hKbQdl&(Qfn@MQ_hKbQdl&(Qfn2E!;?9h!j@ruqu87: QfnDKriMN`^mLJ "kVr/p%?B'rrC+9ru]s`R]!WoRf32WR^KkuS+6NJRecoSR^KkuS+6NJRecdZ!;63g!hYqGqu87; Red!`rL]Od^7(P]s/_Zo`qTG(R^KkuS+6HNR]FB7nGSuJ[D&*!nc,)Iq18R`rrC)js7ZHra7],s kLY4~> "lJeCo^p#urrBq4ru].JS#s)qS,W&OS%Q5"T)&DUS,MuNS%Q5"T)&DUS,N0_!;--f!hPnTqu?\c /,fMJoU_Pb\!rubs.c'sa8>M#S%Q5"T)&)OS$g/8q"1/I]XOB%q>ZqRrIP!drrBoes7ZHr_Y!Kp n)&W~> "jc)pp@cc/rrC=>ruUaDTUDRir;ZW.T9uM(s8SOSkPtCnT9uM(s8SOSkP>,XpA4djYEuZorrSXU kPkK/qS/YiVUGMEpoKjL_Z0JIT9uM(s8Vu5TpVS&s8'L&R&8=3s-f;;JcEXf!6p)ppAY<@p@dt4 c[Y~> "kVr/p%?B'rrC+8ruU:1TU_t%rr;T!T:E(Cs8SRWq>^&qT:E(Cs8SRWq>($jp%n[iT:5$ArrS[Y q>UCAo=(?^Y2TE\m&-;@nc/3iT:E(Cs8Vc(TU`"Ss7<^lS?CiNs-oJQJcEXf!69ZjpAY<:p%@q> f73~> "lJeCo^p#urrBq3ruTn!T:`75s8V/bStEL^s8SRXrVtr`StEL^s8SRXrV?Hno_SRhSt#HNs8SPg rVlgEjKY;K\+0Luf;"h)q>]N\StEL^s8V;iT:`=`s5^GVT==@js-oMVJcEXf!5a "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*frrD_Cs+UIQa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBparrD\Bs+UIQ_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC;pp4;qfp&N?gs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jomuedo`3$`s7ZHra7],skLY4~> "lJeCo^p#urrBoeoRZYboDlaZs7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tmPs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0&Ds7ZHra7],skLY4~> "lJeCo^p#urrBoejFQCBj8d&Js7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tmPs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0&Ds7ZHra7],skLY4~> "lJeCo^p#urrBoejFQCBj8d&Js7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tmPs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0&Ds7ZHra7],skLY4~> "lJeCo^p#urrBoejFQCBj8d&Js7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tmPs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0&Ds7ZHra7],skLY4~> "lJeCo^p#urrBoejFQCBj8d&Js7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tmPs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0&Ds7ZHra7],skLY4~> "lJeCo^p#urrBoejFQCBj8d&Js7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tmPs7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0&Ds7ZHra7],skLY4~> "lJeCo^p#urrBoejFQCBj8d&Js7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*aKE8[Mre(=Gli)P>p7T"_re(=Gli)P>p7T"_re(=Gli)P:!VE#`KE@Y9 L@bELTCi0`q:LRUK[5;Oa+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBp\j8o)Fro=+Zn,DAMroa+Gro=+Zn,DAMroa+Gro=+Zn,DAKroa4?!WM9]j9#)L k4ATWkPkM]rUf3&jNlle_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*aKHlZXKS56Wq1OEYrecm:KS56Wq1OEYrecm:KS56Wq1OEYregW,!VE#`KE@Y9 K`6c.qNq,9$Mp*FLkPDnL6CrZJV;@&!69ZjpAY<:p%@q>f73~> "lJeCo^p#urrBp\j!WM9]j9#)L jSn6AroX.?$NB2LjlHF(jQZX1J`P/ "jc)pp@cc/rrC`=U\&:-]<:tf"cSY^IJcGHD"jQc7n))HA~> "kVr/p%?B'rrC*aKHc-KOG'4^n;roUgei[.Aj%c\);=JcGHD"ip "lJeCo^p#urrBp\j)CJcGHD"iBp(p[@!i~> "jc)pp@cc/rrC2#tnms-N`Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC*`KH]ciK[cp>Z\6i`KS8d"K[cp>Z\6i`KS8d"K[cp>Z\6i`qh,"BTDjKES+Z`5 !W&&YKE:q6re(IIT7hs\idld/KE0'as-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBp[j<=KcjSS-:kiDX-jQ-:'jSS-:kiDX-jQ-:'jSS-:kiDX-qr@eWkPjNCp\+RH !WM6Zj8o8Bro=7^kN(e(mXaHFj8d'gs-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC !T'[N2$)R1r\Xkgq "kVr/p%?B'rrC*`KH\1pK_(1ikCiH'KS72)K_(1ikCiH'KS72)K_(1ikCiH'qh,"Bp\sjep\"K< !W&&YKE:q6re(IIp@S:DNe)l0KE0'ds8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBp[j<=BfjSn94mc=B1jQ-1*jSn94mc=B1jQ-1*jSn94mc=B1qr@bVrVZcrpAO%Q roX.>!WM6\j9>P]rVuTQJ`P/ "jc)pp@cc/rrC5.tQ !T'[N2$)R1r\Xeeb""dL29duYc1h5@rr)9 "kVr/p%?B'rrC*`KHZTVM"u^Zq2#$/KS5TdM"u^Zq2#$/KS5TdM"u^Zq2#$/qh,"BWW&"\VY0n@ !W&&YKE:q6re(CGW/lgeK[#/Ma7oT:rr)67adL0PajoeWrpp'ma7],skLY4~> "lJeCo^p#urrBp[j<=*kkkaB'qWRt@jQ,n/kkaB'qWRt@jQ,n/kkaB'qWRt@qr@eWl2KiHq"F[I !WM6Zj8o8Bro=1\l/q)YjNZ`c_Y='5rr)01`L4RG`R4#Mrpp'm_Y!Kpn)&W~> "jc)pp@cc/rrC2UZR5_o:u*[KF!>2UZR5_o:u*[KF!>2UZR5_o:u*WKE:_;re(f73~> "lJeCo^p#urrBp[j9XoJp$Uo%rq6*dj9XoJp$Uo%rq6*dj9XoJp$Uo%rq6*`j8o8Cro=+SpAO%Q roX.>!WM6\j8o8CJ`P#8!5eO2"oeJUb3Aekrrr;ab1uspoD]!2o^qnHhgb~> "jc)pp@cc/rrC "kVr/p%?B'rrC*_KEq&4Z%ReZlJ_\p#P%)aKS7h>iVeE7n`mB4K[]5Fre(I-jFi3YTDjKES+Z`5 !W&&YKE:q6re(=ET7M[=KE0'grs&K$m*>J&opPFVp%\C/m/?qUrrpI9p%.@uJ,~> "lJeCo^p#urrBpZj9P\_kiCh%rU'RE#QF\cjQ-4:mJZ)Nrr)'AjSSoCro=7[m,[7,kPjNCp\+RH !WM6Zj8o8Bro=+ZkCM^;j8d'mrs&K$lH8qsoU5:To_8.'li$hTrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*_KEoTuOG&:Zs/Q$N#KZq,KS5utWr7SUaT%?TKV/:Ere(I?Z@mo'TDjKES+Z`5 !W&&YKE:q6re(=ET7M[=KE0'grri?!e`ugmoE=jOeboF=rrpI9p%.@uJ,~> "lJeCo^p#urrBpZj9PP]jlGLrs6'@A#Q"J^jQ-%7kPaHHqZ#[ "jc)pp@cc/rrC"9&)Bp65.Op<`[7o`#*>p@dt4c[Y~> "kVr/p%?B'rrC* "lJeCo^p#urrBp8j8nB "jc)pp@cc/rrC;p21[X82#tntrr`9!q9>)q"SU+9rVlKi"jQc7n))HA~> "kVr/p%?B'rrC)jKRng,KE0'hrri?"q8`,ko*"^+q>L "lJeCo^p#urrBoejFQCBj8d'nrri?"q82`enc\R$q>L "jc)pp@cc/rrC;p21[X82#tntrr`9!q9>&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0'hrr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoejFQCBj8d'nrr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tntrr`9!q9>&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0'hrr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoejFQCBj8d'nrr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tntrr`8uq9>&o"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0'hrr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoejFQCBj8d'nrr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;p21[X82#tntrr`8uq9>&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)jKRng,KE0'hrr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoejFQCBj8d'nrr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9`"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC3?p@dt4c[Y~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8_1Y!J-%'nH"2rmI:3BhV%E$a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq81hS!E@234o^qnHhgb~> "jc)pp@cc/rrC]nbaAM?q!FqhVncR/4r;QBh"jQc7 n))HA~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8_Oc!`1uIqXFT>MYloEKSo0e!C>VrnH6i-r;QBh"ip "lJeCo^p#urrBoes+14#rrBq4rr`8uq821]!^]`PqX=Mdb5:Z/ "jc)pp@cc/rrCC6b rrp[@p@$nbJ,~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8_Rd"6DC%`VT**KSoZs!JH?tnGtr5p@/.Pjm`Gnq>C6b rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq824]"2?fUh>6R@Q7p?r"HjmN;gq>C6b rrp:3o_7h3J,~> "jc)pp@cc/rrC3?p@dt4c[Y~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8_Rc"-uZ7=oRn"dSrJFI>RI_dSrJFI>Rjj)rYQr6$2Vc f3UR2VXX(@hXK-'4@uF>n3*^S9]baGa8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq824]"'h!iU&OKiYXq98;TeIsYXq98;Ten*)oZ/J8"&i7 [o5Ika7&IZkjPuZ5$#_mmlHY9=lo)S_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC3?p@dt4c[Y~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8_Rc'LK1e2X'Z!5cOY)4GiRr5cOY)4Gj"**:HI[p@cAm mm3TBeN)1L6/M&rTDI(ueaP_:p\O"@"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq827^(%+6?WBKS9kWI#aW]A5jkWI#aW]A6"mi:XXZha.2 n)upOqm\]Iml]gt4i7*+3ofZjSG;j?mfUH&r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC6"[0.!5.]rsHq6$P#nbs8Q:(^&J$5HN9T8rrR]RnG`Fp>>"qq>6NRX s6:#Ds1/.0c2.GBrquT:jma)J0A#`5?Ld/6p@7^V;=Wd)p@7^V;>fr&k;)W!nal;51A:8/`CfZ1 U#n-(naaXknQ(_2nH7&3r;QBh"jQc7n))HA~> "kVr/p%?B'rrC*e!;uj$('"@D1Q;;3rsGPU"r(S@s8Ni8n,E=g,66p+rrOMRr;Q^'(Zi]gH>,tnFQ/'4nS77GBE=? hV(-bnFCdFn3,[hn,p`,r;QBh"ip "lJeCo^p#urrBp[rrri2!YI\rrr2p)KcpUAJ,B9G$Np2'rrN`3o`"jl&L7;SrsB.ss8NHIqu?[j Ck;VsrrBq4rr`8uq827]'ph)No01UjP?RMEo1$jiP?RMEo1$k"mM_EkoBu);mZU`Cmda5kmQBZr =7YeM;8MZ^l/V16_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC>=n_``^:pLs4.@>oBgo9nGc]42?3^O$4`U+s7c[A?N0s3>>"qq>7N7b s6:#Ds1/.0c2.GBrquT:jm`Vd54eogrp^-3;=W[,rp^$0;>fqbj#Hu,!TQ0=nHRH+nRJ9Q 3<&FNdm!;&YN,-Tc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC*e!;uj>(<-1>ZlMpAs-sG'pu,-sr;RO)L]@DB&Hq:ss6fsp_uBZC(M=8h`rpKl;M>ZfCd7=-'!RXI;mfoLdmm5dW 8H/&\U/gYFiT'A/a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBp[ru_^1qraOZNW9#_-d)>6-<^?J$Q@Fms1(Gto`+s)!X.ZbrsB.ss8NH9_Z0X1 Ck;VsrrBq4rr`8uq827]#Z%>cmTk;0F,Ktb"B "jc)pp@cc/rrC>"np"ni._rZkhLrt>;t9)i*d$31%O0+aZRs3M:o(&n4?>>"qq>=T"E s6:#Ds1/.0c2.GBrquT:k4&cH7P[4o5;&ks2?*+K[8HJW2?*+H[8Hkl!pDE+rUCQa1@F]&^e4-, U$"3!naXCenQ)gQnH7&3r;QBh"jQc7n))HA~> "kVr/p%?B'rrC*e!;uit(5@W;dXL'`\2bGQd40s+DM-1&h1[( "lJeCo^p#urrBp[rrEMjrr3/.!V>[]j8T&knHdtN$^X`js"_b!o`+qIG:AaTrsB.ss8NIr(Ae&* Ck;VsrrBq4rr`8uq82:^$/mm47n5^#kEfl]mK?/(m[%VdmK#r%r9aTV<;c.bQrj:T##W>,4Qi)5 rpBnd`9o_Nj6d#dq>C6brrp:3o_7h3J,~> "jc)pp@cc/rrC>"ko"CaI`!U]jc+2Sfn>>]3us%9L,SH&U^7.UH+s8Q:qs8Q;#W$q]2% "\GhrrC=?rr`8uq9A'k(>LY$kND&j:@MVOnENG>nF0eGnENG>r9tWpEF@kqaRJ\.D!g+KSFC$^n 7$5$haO()rq69pc1^l"hp6f~> "kVr/p%?B'rrC*e!;uit(e?n)-6`n*`QYn)-6`qsPCoNpH#Dn*`Q6m`mlHmm5du 6([Mi3n`sbi8a8.a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBp[rrEMjrVm!.fRsM.rVmrcW;d7l%J'K)pB(!erX%AG$2X]%$g7Qi$g]"Hs%R<\ s1/.0_YX97rquT/k3W4o;Wn&C&4=A%450)=3Q^[T450)=3Q_3d)Xfnmm,Z"Mm6&&KZ9%(64Qc#n ]^C6brrp:3o_7h3J,~> "jc)pp@cc/rrC>"ko"-"u$"T89Ad1?7];;*>d%f[*1s7$->s&)&\s'&+qs'&@q%)V9< JcE:\!6tB?"9/5oc0"KsR8C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC*e!;uit( "lJeCo^p#urrBp[rrEMjrVls2bZc:hruX(PrsS0Z]ng_/!qcMJ$2a`0f`1sZkPtPim(*c(9l,C\ \c2ZHqYpZsr;"4lm/]VtrU(5J>OJjn@sLnmmI%>V@sLnmqs>9F>WtZImI%Yc5$#tsm6'P!]i%$p cL1']kMtq3_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC>"ko"CjOa!U]jc+2Sfn>>b8.X%*+#SH#r1s8UFRs8Q:qs8Q;#s03g6% "\GhrrC=?rr`8uq9A'k!VQ "kVr/p%?B'rrC*e!;uit(C6brrpI9p%.@uJ,~> "lJeCo^p#urrBp[rrEMjrVm!.fRjG.rVmrcW;d7ldOQKrrrVim+d)g)1LgCa$g7Qi$gdm=Y"`_` s1/.0_YX97rquT/k3N-EnGV\bp%[nDq=jRXn*KE2q=jRXn,)Ghn+cbToBbi6q"jdSm-OT9m.'lI q![S9qX*>0"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC>"np"ni._r?>SIruh;.8H2mks-*]?rt(_!*sEGs(''s+>>"qq>>bFr &YKP`s1/.0c2.GBrquT:Om`Csq>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC*e!;uit(C6brrpI9p%.@uJ,~> "lJeCo^p#urrBp[rrEMjrr3/1!V>[]j8T'$nd+%N$gdm.%f?8-o^)bp(DdAXp&>E_s8NJns2,45 Ck;VsrrBq4rr`8uq8/9\"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC=n_aa@@BQs3q4>"qq>>bG# \IAsus1/.0c2.GBrquT:Om`Csq>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC*e!;uj;(<-1?[i\?Es-F)"q;P?tqu7G^s5CiprrhN!$0;*K%45`f(C6brrpI9p%.@uJ,~> "lJeCo^p#urrBp[ruDL.qrsd`N;roZ-d2G9-WU0G$gdo9f)PaOoNEO&roX_&_uC,-s8NJns8OJV Ck;VsrrBq4rr`8uq8/9\"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC6"[2.X1Ucrs?b1#n0JZs8Q;#r;Qj1S;\oqrse)ppKL8is'&A#s8!H= JcE:\!6tB?"9/5oc&qGsc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC*e!;uj$('"@E23%S6rs>AO"VP8:s8Nkbr;Qj%k:C?GrscdQr>*KSrta/bs76C4 JcE:\!6=s9"9/5oa-#`ka8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBp[rric1!YI_trVm1V+9W^4qu?[(m/6kc!q[/BrVm=81B.aFs8NJns8U@HCk;Vs rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8\Wb"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9Z"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&i"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC+9rr`9!q8\Wa"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9Z"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrCL "kVr/p%?B'rrC*e!.k0(rrC+9rri?"q8qlblNHIpq>L "lJeCo^p#urrBoes+14#rrBq4rri?"q8MN\klg1gq>L "jc)pp@cc/rrCL "kVr/p%?B'rrC*e!.k0(rrC+9rri?"q:4AdlNH+qq>L "lJeCo^p#urrBoes+14#rrBq4rri?"q9du]klfehq>L "jc)pp@cc/rrCrri;sm*b3bm0)b'm/$\Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rri;slHJLXlNHIrlMCJOrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq3rri;sl,`%Qklg1jl2(ANrrp:3o_7h3J,~> "jc)pp@cc/rrCrs&K#ptj$IlC%#DlJBP;q#(-`rrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rs&K#ptNR "lJeCo^p#urrBp`!.k0(rrBq3rs&K#pt3./k*bH "jc)pp@cc/rrCrs&K$qY01!_O8.C_U%E>qYgEcrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rs&K$qY0*o]U?86]ZT@1qYgEcrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq3rs&K$qY0$g[@+9([D_,"qYgEcrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+7rs&K$qY9dWopbURo`Y!`qYgEbrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq2rs&K$qY9dWopbURo`Y!`qYgEbrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+6rr`9!r;)cU"8_rorpp'ma7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBq1rr`9!r;)cU"8_rorpp'm_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC>"np$.)0Q#;VkM>62G:rs=#PSGudn!!k[7JcDVI!6t-8Qi?FQ"jQc7 n))HA~> "kVr/p%?B'rrC*`rrEnVrr3;)2[TpZ^&JiKn,E=n,66p,('"=D;"K8 f73~> "lJeCo^p#urrBp`!;uit$g7Nh$&pA<&m"#l$Np2'rs95:o`#:!!#98FJcDVI!5e@-Qi?FQ"iBp( p[@!i~> "jc)pp@cc/rrC>"qqec^flotaK)>9#O#s7cp2SGuebqsIo7JcDVI!6p)ppAY<@p@dt4 c[Y~> "kVr/p%?B'rrC*`ru2`ps8SPoV=3oV5Q;KkL]@DB&Hq:s(<-11-:i^fVZ-Y:JcGHD"ip "lJeCo^p#urrBp`!;uj9$g7Qi>9LTNl'7\:$Q@Fms1(Gto`#<[qp,hUJcDVI!5a "jc)pp@cc/rrC>"qp,[C6H%pMR2s8UCu&=ic)9)nqD%"\GUrrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*`rrj1Zs8*,0qu70B_%cqLJp7F]rt`]Us-jmWs/,era+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBp`!;uj#$g7QW"QB=Z&cM_;QVme_1 "jc)pp@cc/rrC>"qd!U]da%pMnIOT.qW&=ic)9)nj:)1hgbrrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*`rrj1Zs5=%Vqu70BeK!TK''obart`]UqDCBds/,era+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBp`!;uj#$g7PB#Q=Q"%h%_5o)8si!qcL#kPsi`Uk/QCrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC>"q_"T&-/>>a*#nIGR1SGudu(ChY(JcDVI!6p)ppAY<@p@dt4c[Y~> "kVr/p%?B'rrC*`rra+Ys4@VRrsomqT3^=rrrhNb()%Jg2sZ%pVZ-Y:JcGHD"ip "lJeCo^p#urrBp`!;uj"$g7Oo,5V "jc)pp@cc/rrC>"qd!U]da%9l^,&$&2"&=ic)6g3uis.oYpc%5ogrrp[@p@$nbJ,~> "kVr/p%?B'rrC*`rrj1Zs5=%Vqu7*@eb'ALVuHn_rt`$+o7?q;rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!;uj#$g7PB#QFW#%1DON.j<^J!qcL#dcgOYs.oYp_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC>"qp,@:9I$X6L.PQfb?&=ic)8qI#:rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*`rrj1Zs8*,2qu7$>ec.?,pAY9Yrt`\,s.]Mna+=9arrpI9p%.@uJ,~> "lJeCo^p#urrBp`!;uj#$g7QW"QKC[%K6;7m/Ie1qu6`irsS"@s.]Mn_L_a\rrp:3o_7h3J,~> "jc)pp@cc/rrC>"qqeHCfpotaN*>>bFm^An3ESGuecJcDJE!6p)ppAY<@p@dt4c[Y~> "kVr/p%?B'rrC*`rtcHls8SMoVt';[5Q;MLs5CiprrhNb( "lJeCo^p#urrBp`!;uj5$g7Qi=sC`TlB[k<$gdo9f)PaOo`#<^JcDJE!5a "jc)pp@cc/rrC>"np#gYsL$ob0c>>b=u";%+'>=sJHUAk5 "kVr/p%?B'rrC*`rrEnVrr38'2@1'f`;^V'r;Qm&kPl==JcDJE!69ZjpAY<:p%@q>f73~> "lJeCo^p#urrBp`!;uit$g7Nh#`C)7*+%_+$gdfk"9S5q$g3*@UAk51JcGHD"iBp(p[@!i~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+2s-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq-s-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+6rri?"mFB=H`rsN7mJ[%TrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq1rri?"ld<\>_?@j*li$hRrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC)js+14#rrC+7rrrE#hp1QbRK!Hfld"Ddrq$-na7],skLY4~> "lJeCo^p#urrBoes+14#rrBq2rrrE#gremYRK!Hfl,qf[rq$-n_Y!Kpn)&W~> "jc)pp@cc/rrCrrrE#maV+/QhCUYqU=m2rq-3oc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+8rs&K$m*>J&opPFVp%\C/m/?qUrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rs&K$lH8qsoU5:To_8.'li$hTrrp:3o_7h3J,~> "jc)pp@cc/rrCrri?!g$JEto`Y!Tg&1jArrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rri?!e`ugmoE=jOeboF=rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rri?!dHL4fo*"^LdJX"9rrp:3o_7h3J,~> "jc)pp@cc/rrCrr`5rch "kVr/p%?B'rrC)js+14#rrC+8rr`5ran:hh!m:Bf73~> "lJeCo^p#urrBoes+14#rrBq3rr`5r`Uo>b!lb$7o`#*3o^qnHhgb~> "jc)pp@cc/rrC)q"SU+9rVlKi"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rri?"q8`,ko*"^+q>L "lJeCo^p#urrBoes+14#rrBq4rri?"q82`enc\R$q>L "jc)pp@cc/rrC&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&o"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9`"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9?,7!F_Y_o)m85r;QBh"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8]]/!C5N'nH6i-r;QBh"ip "lJeCo^p#urrBoes+14#rrBq4rr`8uq80?)!BfT-n,pQ'r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF""`u@L1gA;Gnc<6ojmiMuq>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!p"[k1(5&]Z)nGtr5jm`Gnq>C6brrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xj"[4h&7>'sHn,YZ8jmWAhq>C6brrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF""a4VUn:X6Mnc<6op@84RnaZe,q>C6brrp[@p@$nb J,~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!p"\$c5kZ;N=nGtr5p@/.PnaQ_%q>C6brrpI9p%.@u J,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xi"[D/Eg-i?gmf>Q7p?r"Hna?Rsq>C6brrp:3o_7h3 J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF"+a.Sjo@Z+omk)sho63FD@Jk\W7@M=U4IU%7Da2`urfnl1iX9C_QTc2%;:p&>3?p@dt4 c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!o+[sQCnZ>=Nj(ghGPOS')[SJudnDe:J6^.E:)rYQr6$2Vcf3UR2VXX(@hXK-'4@uF>n3*^S9_%TSa8,Z4p&>39p%@q> f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xi+[=iPnRI1>aB_#*Zg[?DS4GuG`_npHmI0MQ;a+7& mpE'nmfub+n&Sd!::'id)oZ/J8"&i7[o5Ika7&IZkjPuZ5$#_mmlHY9=n1q__YO-/p&>34o^qnH hgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF"/Ttk!l@_OqFCk"4DLD"U8`TJ>?,l]">4V2mC\[-^ RdVudo(#hQnoSI5nSWaPnf)LRmJ5*!nR?;/ksV!2A"iF%C\[-^RdsKJnbVeH"3pZ>rq69pc1^l" hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!o/OdeNiE'OY9:#D;8\aaXA+AeG "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xi/O/+\dmUJ.5e6a=5MPWgOS@0aC$k:Ud-p0]_Y^i( j2j[Un*<(!m6J5Yd6HCami:XXZha.2n)upOqm\]Iml]gt4i7*+3ofZjSG;jKmfUH&r;QBh"iBp( p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF!!-\>o.6Z&A1A(,,ha$^4ORhqIBn`DV#naaXknRJ9T1A:8/`CfZ$O72T@c2%;:p&>3?p@dt4 c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!o!(HlD.9Pum48&+5]Njqhi:6>:Qh'XM>k$H1o^MEq FR`,=nC'_ogcP2un[r-*n/C%Do^MAAnCg%tnFCdFn3Ppb4nS77GBE=;hs^%:a8,Z4p&>39p%@q> f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xh!'gH@.=1EP;tBAHBsR.glL+12e*la:\aGY_o'Z'G _=9kFmYu,QS5]"HnS,<-mM_EkoBu);mZU`Cmda5kmQBZr=7YeM;8MZ^l0n$B_YO-/p&>34o^qnH hgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF!#Bjk[j\Do:0`F`V91eYSYOV.o@.Ed@54RYmrp^?E 54RAjn[DKfi\:@*!D?#_nH%Z0r:'gJ3<&FPdm!;3U#S-3nH@<)nQ)j^nH7&3r;QBh"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!n#=[#9dm)L42uZYb:L!9NiU?5 "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xh#=%GI]Lq:.6N0jn8tkZ7kjIk/fC&'?[dJ3hrpC,$ [dIq%mS2'rF[H(*!D9'amK%E^r9aT,KDt9C@(,JckAu:TmK?q+mQ9Y$mK:?%r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AF!#^0qPo%?+g2#.%G*:[(4naX.tnaY9rn`M[qnaXCe naAB^8$qgM2#.%GrUBsQ1@4u0'B_.=naXCenRJ9U1@F]&^e4,tY4(l_c2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!n#=Zc'nZ#LA5Q:I!qYBSCi:$,;ZL@7lC6brrpI9p%.@u J,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xh#=%)5nnO&O@fH06qXj2;kjIk/f'_s>[dKMarpC+j `9u8Ai&U)jRpuBm!W)HemK&kXr9aTQ=8qUl;8hlbkEo?MmK?D*mQ9Y$mK:?%r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AEu!Hr2Vn0h"lF_Bb(gp-?LXmkhi@.<[=54J&ND!g+K SFH$B;)n4;nTAL)nD(;In/Ch:@-$asnF0n'mGC@&n7/0]@VkGh7@`jJXmb`]c2%;:p&>3?p@dt4 c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!n/OdeMn*iHb9U+l2d_tT;i:$,;ZL@7lC6brrpI9p%.@u J,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xg/O/(YmH-Ii5d9V>_qscBkO%Y,f'Vj<[dEHE]^34o^qnH hgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AEu!Hr2Vn/p">nq'"a9ptKOXmkhi@.<[=54J(0D)OJ5 p$hJ./m\JG"nI7.3),h=n/:bC3]UU;nEt-O4,W_#A"iD[D)OJ5p$c"an*gG(q>C6brrp[@p@$nb J,~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!m!Cb*/mN7ZklYo$P>eobjhsTo8Z0q%hs(]Y nF#__1oL?@"m^+k5?u#%mMY8(4@+/YmbM/28ZM:J5hte`>s(]YnErHsn*U:uq>C6brrpI9p%.@u J,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xg,X:,PmI"5>dUGF/C#&);kO%Y,f'Vj<[dELr;Ee., md9Cc2V.lp"k$jE6ttHSm2=,Q5"D+0m_)L^C6brrp:3o_7h3 J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AEu!VcBgn/:fonFuhWqXs@Ro^MAAq=*nDqsa+Fq"ss^ rpU!Zqt^3["S_fjqXsaT)#*q)q=*nDq"ss^nF68HnF?;NqtBOKq=O.F"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8`!m!W)?cmMY]nn+Z\Tq!meKn*]W>o'Yr:qC6brrpI9p%.@u J,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Xf!W)3_ll#Tjn+Z\Sp[.>DmHj38md0<7na,W4q"jdS rp0^[qsOIM"n23^q=j:Sll#9eqYBaLm.'lIq![S9qX*Y>q"jdSm-OT9n*C.nq>C6brrp:3o_7h3 J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wc"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9\"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wb"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9\"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wb"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wb"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9Z"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>&i"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC+9rr`9!q8\Wa"3:69rq69pa7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBq4rr`9!q8/9Z"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rri?"q9SAjm0)b%q>L "kVr/p%?B'rrC*eGCfdJrrC+9rri?"q8qlblNHIpq>L "lJeCo^p#urrBp`!.k0(rrBq4rri?"q8MN\klg1gq>L "jc)pp@cc/rrC;ps+14#rrC=?rri?"q:Xelm0)J&q>L "kVr/p%?B'rrC*eGCfdJrrC+9rri?"q:4AdlNH+qq>L "lJeCo^p#urrBp`!.k0(rrBq4rri?"q9du]klfehq>L "jc)pp@cc/rrC;ps+14#rrC=>rri;sm*b3bm0)b'm/$\Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+8rri;slHJLXlNHIrlMCJOrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq3rri;sl,`%Qklg1jl2(ANrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=>rs&K#ptj$IlC%#DlJBP;q#(-`rrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+8rs&K#ptNR "lJeCo^p#urrBp`!.k0(rrBq3rs&K#pt3./k*bH "jc)pp@cc/rrC;ps+14#rrC=>rs&K$qY01!_O8.C_U%E>qYgEcrrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+8rs&K$qY0*o]U?86]ZT@1qYgEcrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq3rs&K$qY0$g[@+9([D_,"qYgEcrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC==rs&K$qY9dWopbURo`Y!`qYgEbrrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+7rs&K$qY9dWopbURo`Y!`qYgEbrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq2rs&K$qY9dWopbURo`Y!`qYgEbrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC= "kVr/p%?B'rrC*eGCfdJrrC+6rr`9!r;)cU"8_rorpp'ma7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBq1rr`9!r;)cU"8_rorpp'm_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=;s8W)trL<`arVulerrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=8s-N`Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+2s-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBp`!.k0(rrBq-s-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`!.k0(rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*e!.k0(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBp`GCfdJrrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC+2s-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq-s-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC+6rri?"mFB=H`rsN7mJ[%TrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq1rri?"ld<\>_?@j*li$hRrrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eGCfdJrrC+7rrrE#hp1QbRK!Hfld"Ddrq$-na7],skLY4~> "lJeCo^p#urrBoes+14#rrBq2rrrE#gremYRK!Hfl,qf[rq$-n_Y!Kpn)&W~> "jc)pp@cc/rrCrrrE#maV+/QhCUYqU=m2rq-3oc1^l"hp6f~> "kVr/p%?B'rrC*eGCfdJrrC+8rs&K$m*>J&opPFVp%\C/m/?qUrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rs&K$lH8qsoU5:To_8.'li$hTrrp:3o_7h3J,~> "jc)pp@cc/rrCrri?!g$JEto`Y!Tg&1jArrp[@p@$nbJ,~> "kVr/p%?B'rrC*eGCfdJrrC+8rri?!e`ugmoE=jOeboF=rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rri?!dHL4fo*"^LdJX"9rrp:3o_7h3J,~> "jc)pp@cc/rrCrr`5rch "kVr/p%?B'rrC*eWe(2(rrC+8rr`5ran:hh!m:Bf73~> "lJeCo^p#urrBp`1P,R[rrBq3rr`5r`Uo>b!lb$7o`#*3o^qnHhgb~> "jc)pp@cc/rrC)q"SU+9rVlKi"jQc7n))HA~> "kVr/p%?B'rrC*eWe(2(rrC+9rri?"q8`,ko*"^+q>L "lJeCo^p#urrBp`1P,R[rrBq4rri?"q82`enc\R$q>L "jc)pp@cc/rrC&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBp`1P,R[rrBq4rr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBp`1P,R[rrBq4rr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&o"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq8/9`"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrCC6brrp[@p@$nbJ,~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8_^h!BoDbnGto3jRE>mq>C6brrpI9p%.@uJ,~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82@b!BTJgn,YZ8jR<8gq>C6brrp:3o_7h3J,~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8_so#dR_t4Cu=u4lXZT!C>W(nH6i-r;QBh"ip "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82Ui#b=pU6Zq/Q46arX!BfT,n,pQ'r;QBh"iBp(p[@!i~> "jc)pp@cc/rrCC6brrp[@ p@$nbJ,~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`!p$)]hkn*dhtnNGmTnGtr5p@/.PnF6V$q>C6brrpI9 p%.@uJ,~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82Xi$$]4boBE0MmlTaVmf>Q7p?r"HnF$Irq>C6brrp:3 o_7h3J,~> "jc)pp@cc/rrCWp[dtJq=7RX>W#[Ko('"[3's,*nl1i[:KcrQ o&X7<<39!fo'Lfd3-b>k)sho63FD@Jk\W7@M=U4IU%7Da2`urfnl1iX9CVKSc2%;:p&>3?p@dt4 c[Y~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`$p/F>O8o^VJDq=$PX;*&^bnF23)4&W`\n3*aW:3#^k nBb-#BR>O(nDe:J6^.E:)rYQr6$2Vcf3UR2VXX(@hXK-'4@uF>n3*^S9^qNRa8,Z4p&>39p%@q> f73~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82[j/E/\Mo'l/@o'\Z68O&7'n*bHi4^d%5mlHY>8<3-, n#f5NJl0VXn&Sd!::'id)oZ/J8"&i7[o5Ika7&IZkjPuZ5$#_mmlHY9=n(k^_YO-/p&>34o^qnH hgb~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`$p!STI.n0C/(md`lXnF3:=qmSWQn3(geq,"Tjmm*uO d63?Un4T)CkXiPfn/UmgO7r:anF&Z8qUIUVn3Pq"6(e#(3S!U^CA7Son,p`,r;QBh"ip "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82[j!L>hDmj'uRp#80gn*dROq2\8 "jc)pp@cc/rrC "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`$p!Rs1,n0C0SnaV]enF6,@nFT'%n3,e#n39p%@q>f73~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82[i!I@T=mNamZmdOAtmdB]8me&a)mQ9_%mT[WtP$mhJ o17!kS5]"HnS,<-mM_EkoBu);mZU`Cmda5kmQBZr=7YeM;8MZ^l0dsA_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrCd>=(e=M"+NLnaXpsn`)Y/ nH?m0n_u8%9E@dXrUBpK3;i:Ij#I&.#1Gd+A"hpBrp^-?54M[WmdUD(q>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`$o!o#X"qsP=aiU?6)EUW@i<_5qBf^Cu]n*c`cn'O`+ mf\,sn'O)n;#sHsrU0d78,VfVd7F9*#,5,d6/BpZrpKuaC6brrpI9p%.@uJ,~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82[i!gu.;qsG7^kjIkF_=$`L;+jSBjR,+nmd=DtmW49b mK?M2mWCkq;?9C`rU'].KDb-C6brrp:3o_7h3J,~> "jc)pp@cc/rrCrq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`$o!pr([qsP=ai:$-(EUVgIh>6t8f^Cu]n*c`cn(U&* mfZpQn(U)+q#U?frU0gC4RW1:'AG\39p%@q>f73~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82[i!p;SsrU(QjmQ9Y#mU!`tY#=N\q*!g,46Z,#?GZ&q ?N0?q8BL:h@fH0(qXjaS!M*3fmK&\VrpBtf`9obNQrj:T"B!,*46Z,#"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC\m5#Lh>F_Bb(gp-hI)Y%fTjR1+Yn7$5$haO()A"iC$D!g+KSFBR]mdL>'q>C6brrp[@p@$nb J,~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`!n/?Cq9jlNjYmlfUtn!e=cgct8r__p*84lGetRrRoc 5Gmnl4c/Xr9U+l2d_u(P)+fkSlb)]T6([Mi3n`sfh=!Y$m`mlHmlfUsmfUW+r;QBh"ip "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82[h/ae!^^ZXIJV!U8,mHn5rm@@bSm@#uom5sLum9[Wr loW/QX#eAin3F5El,2BVm2GFXXmG,bmHm$KmBSe6m6'Ou4M:'e3ooZikO.^>_YO-/p&>34o^qnH hgb~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8`!m/G$AV4%!`*mQKIqm[A.`mt=DGJjn;Z4l>\qRW7c` el+hIH]@I]lYo$P>ep:*) "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82Xg/G>`83_FeWm5sLum9[WrnnhE=T0D<&46Q"u?GZ$s ZUdQ;;TeCodUGF/C#&XR)9c>L8"8o6]i%$pcL1'^k3fo\5$#tsm5sM!m/t6$r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC9ui?iKNtp\Xjap&"4qp\Xj`nF5uCqtp*VnG2bHnbE"Yp@.SIo^;2Nc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8_sl/+WK4qY0OJqX0hiYjUrJp\Oa]nbhemn+Z\Tp[7J=q"jjYmdBr?mdU#JqXa.CqX "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq82Ue/+`Q4q=X1BqX*Y9q!dY:pA"CRqX*YGmHj37nEfN3 q>'\Rea2Ykp\O^[mJQ;gn+cbToBbi6q"jdSm-OT9m.'lIq![S9qX*_;"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8^nN"hN[\_E$c!mK:N*r;QBh"ip "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq81PG"g@(TUH[n^liY-#r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8^nM"f"IO9sa9.m/tE)r;QBh"ip "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq81PG"FWU&>1^d\"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrCrq69pc1^l"hp6f~> "kVr/p%?B'rrC*eWe(2(rrC+9rr`8uq8^nM"S;Kdq=;Pm"3:68rq69pa7],skLY4~> "lJeCo^p#urrBp`1P,R[rrBq4rr`8uq81PF"SMTdp[6&e"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wb"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9Z"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>&i"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`9!q8\Wa"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9Z"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rri?"q9SAjm0)b%q>L "kVr/p%?B'rrC)js+14#rrC+9rri?"q8qlblNHIpq>L "lJeCo^p#urrBoes+14#rrBq4rri?"q8MN\klg1gq>L "jc)pp@cc/rrC;ps+14#rrC=?rri?"q:Xelm0)J&q>L "kVr/p%?B'rrC)js+14#rrC+9rri?"q:4AdlNH+qq>L "lJeCo^p#urrBoes+14#rrBq4rri?"q9du]klfehq>L "jc)pp@cc/rrC;ps+14#rrC=>rri;sm*b3bm0)b'm/$\Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rri;slHJLXlNHIrlMCJOrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rri;sl,`%Qklg1jl2(ANrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=>rs&K#ptj$IlC%#DlJBP;q#(-`rrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rs&K#ptNR "lJeCo^p#urrBoes+14#rrBq3rs&K#pt3./k*bH "jc)pp@cc/rrC;ps+14#rrC=>rs&K$qY01!_O8.C_U%E>qYgEcrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rs&K$qY0*o]U?86]ZT@1qYgEcrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rs&K$qY0$g[@+9([D_,"qYgEcrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC==rs&K$qY9dWopbURo`Y!`qYgEbrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+7rs&K$qY9dWopbURo`Y!`qYgEbrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq2rs&K$qY9dWopbURo`Y!`qYgEbrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC= "kVr/p%?B'rrC)js+14#rrC+6rr`9!r;)cU"8_rorpp'ma7],skLY4~> "lJeCo^p#urrBoes+14#rrBq1rr`9!r;)cU"8_rorpp'm_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=;s8W)trL<`arVulerrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=8s-N`Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+2s-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq-s-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=8s-N`Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+2s-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq-s-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=;s8W)trL<`arVulerrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC= "kVr/p%?B'rrC)js+14#rrC+6rri?"mFB=H`rsN7mJ[%TrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq1rri?"ld<\>_?@j*li$hRrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC==rrrE#imdAnRK!HgmF1(nrq$-nc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+7rrrE#hp1QbRK!Hfld"Ddrq$-na7],skLY4~> "lJeCo^p#urrBoes+14#rrBq2rrrE#gremYRK!Hfl,qf[rq$-n_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=>rrrE#maV+/QhCUYqU=m2rq-3oc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+8rs&K$m*>J&opPFVp%\C/m/?qUrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rs&K$lH8qsoU5:To_8.'li$hTrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=>rri?!g$JEto`Y!Tg&1jArrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rri?!e`ugmoE=jOeboF=rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rri?!dHL4fo*"^LdJX"9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=>rr`5rch "kVr/p%?B'rrC)js+14#rrC+8rr`5ran:hh!m:Bf73~> "lJeCo^p#urrBoes+14#rrBq3rr`5r`Uo>b!lb$7o`#*3o^qnHhgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>)q"SU+9rVlKi"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rri?"q8`,ko*"^+q>L "lJeCo^p#urrBoes+14#rrBq4rri?"q82`enc\R$q>L "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>&o"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`9!q8\Wh"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9b"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&o"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9a"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&n"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wg"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9`"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9@sk"ijI2o3n<6o)W9mn+-Y+q>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_Oc"bDI!nNbsQnGto3n*pM#q>C6brrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq821]"]WV5n3#pVn,YZ8n*gFrq>C6brrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AC!!-J/l!'L/L#fom6o"*<@>G('K!F)2\nc<6on+$S* q>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_so!(?cB!)WR_#_\**nZ;'H52PGl!C#B)nGtr5n*pM# q>C6brrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Ui!'^?>!3,kb#Zf+;n>ksG46Yhr!B]N0n,YZ8n*gFr q>C6brrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AC!!Hr/Up&Od_nd*<6o()JGnm%mWnc84Unc3?p@dt4c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_so!Cb63p&Od_nHaf*naZ;BnNYq"nGr(SnGtl3l1"d? hs^(;a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Uh!C,WDo`4R[mg)q9n*fo;mlTb%mf;YKmf>N6l0eX8 kjRsB_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AC!!Hr2Sndaej2cHkVo($4]]/2W>EW#A\<0:Eb?KUhL <0UT[o&spL4GiX@1d"6Io&spL4GiY"m!CiT?h3dOD)XS6o($:an+$S*q>C6brrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sn!Cb0.n.*lG5\PS&nF/^!Ai<4R\GYhL4elC_G4"eg 4fDRYnCLu/8Z(uh2G$QOnCLu/8Z)"HiG1VCFR\eO?9CfVnF/a#n*gG"q>C6brrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Uh!C,HC6brrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9AC!!Hr2Tndk7tEr+iX;=a9fU%M]eqt^0\031I5qOUXV nlA3LqXJ$1put28oj+Bjq=.p0put28no%k%q9SX%@Vbc'7%3[VU$qOSc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sn!Cb-.n.4tQWVan%M=C"#hY9=tqXaXS00O"Dq.klW n3(O\qX6_BqUIUVpcmp;oC"u;qUIUVmn&T6p;6=f6(e#(3S!UbhXBq9a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Uh!C,H=mgnVEb5/+ub4"d]kkR=2qXFFO00>d#pIrTq mlR'7pZOcWqm\]Iq)e0DnE<$Pqm\]IlT_`On](%]4i7*+3ofZkkjRsB_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9ABu!Hp9u4V(ffjtl`$nubj[nRJ9_>bV#a033u#n`ht$ nQ(_@n`DV#naaXknQ_dXn`DV#naaXkk;)W!nal;51A:8/`CfZ1U$qLRc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sn!C]9Q64].Hg-,,uo3."?n3Pq#5Ml8+00S+[nD6M$ n3,[unCg%tnFCdFn3>e!nCg%tnFCdFgH>,tnFQ/'4nS77GBE=?hXBq9a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Ug!C&sN6k@H.P?RMEo1$jimQB\#46QJ.00ACcmZMAR mQ9\$mZU`Cmda5kmQ9V"mZU`Cmda5kQW3SEn+#h0=7YeM;8MZ_kO7g@_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9ABu!HquPjTF]9j#R,/#ffg4nRJ9_>bV#a%9BP"n`qq" nQ)j`n`)V.nHdT-nQ_dXn`)V.nH76(j#Hu,!TQ0=nH@<)nRJ9]nH7&3r;QBh"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sm!Cad&j9+]9d7O?+#_.^"mm5du5Mc2)%6`Y "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Ug!C,*5j9+f;F,Ktb#ZSq6mQB\#46QJ.%6NeAm]oFP mQ9Y#mW4$[mKd4/mQ9V"mW4$[mK6k*FG'MZ!HWnmmK?q+mQB\$mK:?%r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9ABu!Hr2UncJ@E2?*+O[8HJaA"iEuU&+:& "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sm!Cb00n,i(55lU3X@YsRB6/Cuph>6R`4jEHacpI3i 4lGetgHFunmrimC5i(ntgHFunmrim04RW1:$/7W2n*bFCmm5dumfUW+r;QBh"ip "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Ug!C,K@n,MeVQY?Bd#YN5,mQB\#46HD-%6NM9mY,NG mQ9Y#m[.)TmKc\.mQ9S!m[.)TmK6>)SQ,OT!LQsfmK?D*mQB\$mK:?%r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9ABt!Hr,Tl4<4Mn6_7Gl:"S>n7/0]I!>GV$!'FGm=A7+ n5c[jn-EK>mGC@&n9fHZn.oJLmGC@&nSqstm`=ne@VkGh7@`jWU$qIQc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sm!Cb!,kn!(Jmm4eYi&Z_`mm5du8&G,k#sD;OkZ3]3 mlfV.mg)4Nm`mlHmmk7omhS3\m`mlHmn&Q*lb)]T6([Mi3n`sfh='e7a8,Z4p&>39p%@q>f73~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Uf!C,69k7?kFloWqg_E#a*m6'Ou5MQ&%#s3e)fL3pM m5sM1m0GhemBSe6m6BA)m1qgsmBSe6mm!r@jMC6N4M:'e3ooZjk3q[>_YO-/p&>34o^qnHhgb~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9ABt!-\;n&N9.JlXrq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sl!(HiC&Ou3VfMl3iH&:tW5hte66pJ!TmKl%c:-3^k md<6qrpCud>s(]YnF!VN5I0_5>s(]YnF#OU4@+/YmbM/28ZM:J5hthr"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Uf!'gE?&Uj'7Zqb+V:s&+l4Qc$j6:'3#m4UPj8jSa2 mHm!umHs>T;Ee.,md6!#6.YJ;;Ee.,md85'5"D+0m_)L^ "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9ABt!;HEgs6p$YrqQooqXF"Mp$hPKqtU*Y$!+5)qt]dO nG2_Un.>-bqtp*VnFHGQq!dhKqtp*dn.,3iqt]aNnbE"Yp@.SIp$_APc2%;:p&>3?p@dt4c[Y~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8_sl!;cZk&c1q`nG2kSp@[kAqX]4q>9pc mK*1QrpD!"q"jjYmdB]CqXX(Dq"jjYmdBQ "lJeCo^p#urrBoes+14#rrBq4rr`8uq82Ue!;cZk&bYMWnbMqPq=!\:qX*YAqYKXXli]E:q>0^^ liHtMrp1j!q"jdSm-OB@qX3_?q"jdSm-O39qYBaLm.'lIq![S9qX*b<"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9@CW!EQ>=mfUi1r;QBh"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8^tP!Bo>VmK:N*r;QBh"ip "lJeCo^p#urrBoes+14#rrBq4rr`8uq81VI!B]G[liY-#r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9@CW!EQ>=mfUi1r;QBh"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8^tO!Bo;Um/tE)r;QBh"ip "lJeCo^p#urrBoes+14#rrBq4rr`8uq81VI!B]G[liY-#r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9@CW!Vu?'mfUi1r;QBh"jQc7n))HA~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8^tO!W)6#m/tE)r;QBh"ip "lJeCo^p#urrBoes+14#rrBq4rr`8uq81VH!W)0!lN>$"r;QBh"iBp(p[@!i~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&j"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wb"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9["2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`8uq9>&i"3pZ>rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`8uq8\Wa"3:68rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`8uq8/9Z"2am3rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rr`9!q9>&i"3pZ?rq69pc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC+9rr`9!q8\Wa"3:69rq69pa7],skLY4~> "lJeCo^p#urrBoes+14#rrBq4rr`9!q8/9Z"2am4rq69p_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=?rri?"q9SAjm0)b%q>L "kVr/p%?B'rrC)js+14#rrC+9rri?"q8qlblNHIpq>L "lJeCo^p#urrBoes+14#rrBq4rri?"q8MN\klg1gq>L "jc)pp@cc/rrC;ps+14#rrC=?rri?"q:Xelm0)J&q>L "kVr/p%?B'rrC)js+14#rrC+9rri?"q:4AdlNH+qq>L "lJeCo^p#urrBoes+14#rrBq4rri?"q9du]klfehq>L "jc)pp@cc/rrC;ps+14#rrC=>rri;sm*b3bm0)b'm/$\Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rri;slHJLXlNHIrlMCJOrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rri;sl,`%Qklg1jl2(ANrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=>rs&K#ptj$IlC%#DlJBP;q#(-`rrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rs&K#ptNR "lJeCo^p#urrBoes+14#rrBq3rs&K#pt3./k*bH "jc)pp@cc/rrC;ps+14#rrC=>rs&K$qY01!_O8.C_U%E>qYgEcrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+8rs&K$qY0*o]U?86]ZT@1qYgEcrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq3rs&K$qY0$g[@+9([D_,"qYgEcrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC==rs&K$qY9dWopbURo`Y!`qYgEbrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+7rs&K$qY9dWopbURo`Y!`qYgEbrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq2rs&K$qY9dWopbURo`Y!`qYgEbrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC= "kVr/p%?B'rrC)js+14#rrC+6rr`9!r;)cU"8_rorpp'ma7],skLY4~> "lJeCo^p#urrBoes+14#rrBq1rr`9!r;)cU"8_rorpp'm_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC=;s8W)trL<`arVulerrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+5s8W)trL<`arVulerrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq0s8W)trL<`arVulerrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC=8s-N`Qrrp[@p@$nbJ,~> "kVr/p%?B'rrC)js+14#rrC+2s-N`QrrpI9p%.@uJ,~> "lJeCo^p#urrBoes+14#rrBq-s-N`Qrrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+14#rrC;ps7ZHrc1^l"hp6f~> "kVr/p%?B'rrC)js+14#rrC)js7ZHra7],skLY4~> "lJeCo^p#urrBoes+14#rrBoes7ZHr_Y!Kpn)&W~> "jc)pp@cc/s+/FGc-spgs7ZHrc1^l"hp6f~> "kVr/p%?B's+/4Aa4&([s7ZHra7],skLY4~> "lJeCo^p#us+/%<_UHAQs7ZHr_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "OGuop@a'^J^&bj_9N#R!q5$mJ,~> "P;i.p%^_8lTK!qYU,J,~> "Q/\Bo^m^OJ\luT_8?6E!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbHtS[.X+c[.X+c[.X=i!q5$mJ,~> !nZW,Jb?nQ[.O%a[.O%a[.O7g!qYU,J,~> !oNJ@Jb6hO[.Et_[.Et_[.F1e!r)0@J,~> !mfcmJbI(Vs7N\is7Q9_s7N\is7Q9_s7N\is7QBb!q5$mJ,~> !nZW,Jb@"Ts7EVgs7H3]s7EVgs7H3]s7EVgs7H<`!qYU,J,~> !oNJ@Jb6qRs7 !mfcmJbI+W"SMENf?^nM"OG]`o_&1V"SMENf?^nM"OG]`o_&1V"SMENf?^nM$.%5eo_%qOn))HA~> !nZW,Jb@%U"SD !oNJ@Jb6tS"S;3EcG[0."N8UHo(2hP"S;3EcG[0."N8UHo(2hP"S;3EcG[0.$,k-Mo(2MGp[@!i~> !mfcmJbI.X"nhNGeF!1Brsenne)9lkp@e1Oi7./l[f6g7mF1"cp%J+Po\e6dr3lV3r9_tko_%qH hp6f~> !nZW,Jb@(V"n_EBcKkA9rsekkcJA*ap%@tKh9P?`[f6g6ld">Xo_%nLoA.^XqmQM2qs2P`oCV_I kLY4~> !oNJ@Jb7"T"nV<=b3Af3rsekib1cFXo^qbGg !mfcmJbI1Y"nhNNeGB!Jp'^]me*-Gsp%7FsqY@Ml$i0YJkk+Q@o]Oa#q6]i$q>/S(o_%\1c[Y~> !nZW,Jb@+W#5%NKcMI>/[e(%%q"i:toCV\Hjj*_tosXK%p%\C/jn&-:oB"9oq";)f$2+)icK4Zi oB4_U~> !oNJ@Jb7%U#4qEGb5(f([dst#p\;nko(2JDj3%2loX=?#o_8.'j7;g5o&Imgp[koc$2!ueb2`'a p[@!i~> !mfcmJbI1Y"SMB !nZW,Jb@+W"SD95lLhIT$2*Q2o(;SFdd$M2oEk3Tddm&&o$ZgrZLeCpl-f.poB4_U~> !oNJ@Jb7%U"S;0/kk)1P$2!H,nalABcKOo+o*P'QcLLMtn]p@jZL\=nkg&_ip[@!i~> !mfcmJbI1Y"8)-0p9=2pp !nZW,Jb@+W"7u$(ormulameonnB(@,oENG,oCMInormukameonkLY4~> !oNJ@Jb7%U"7ks"oWRij`UNHhnAOt&o*32'o():goWRii`UNHmn)&W~> !mfcmJbI4Z"82 !nZW,Jb@.X"SD !oNJ@Jb7(V"S;3Q_Xk#&#P5h$naZ(bo<@cjo>9tdnaF?dYjr"i_XI'in)&W~> !mfcmJbI4Z"82rnBJ-."jQQ.oC1#-oEEM/o^C\`J,~> !nZW,Jb@.X"8)3Ra0,";a7&Tin&MU&"ip*&o'aW%o**2'oCM.sJ,~> !oNJ@Jb7(V"7u*O_QNG5_X?sam_Z-t"iB]tna=8snccnuo(VV1J,~> !mfcmJbI4Z"82rnBJ-."jQQ.oC1#-oEEM/o^C\`J,~> !nZW,Jb@.X"8)3Ra0,";a7&Tin&MU&"ip*&o'aW%o**2'oCM.sJ,~> !oNJ@Jb7(V"7u*O_QNG5_X?sam_Z-t"iB]tna=8snccnuo(VV1J,~> !mfcmJbI4Z"82rnBJ-."jQQ.oC1#-oEEM/o^C\`J,~> !nZW,Jb@.X"8)3Ra0+t:a7&Tin&MU%"ip*&o'aW%ncd)&oCM.sJ,~> !oNJ@Jb7(V"7u*O_QND4_X?sam_Z-s"iB]tna=8snHHeto(VV1J,~> !mfcmJbI4Z"82rnBJ--"jQQ.oC1#-o**D.o^C\`J,~> !nZW,Jb@.X"8)3Ra0+t:a7&Tin&MU%"ip*&o'aW%ncd)&oCM.sJ,~> !oNJ@Jb7(V"7u*O_QND4_X?sam_Z-s"iB]tna=8snHHeto(VV1J,~> !mfcmJbI4Z"82rnBJ--"jQQ.oC1#-o**D.o^C\`J,~> !nZW,Jb@.X"8)3Ra0+t:a7&Tin&MU%"ip*&o'aW%ncd)&oCM.sJ,~> !oNJ@Jb7(V"7u*O_QNA3_X?sam_Z-r"iB]tna=8sn--\so(VV1J,~> !mfcmJbI4Z"82rnBJ--"jQQ.oC1#Eo)W9mlgk;)nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra0+q9a7&Tin&MU$"ip*&o'aW=nGto3lgY/!n+6/6f73~> !oNJ@Jb7(V"7u*O_QNA3_X?sam_Z-r"iB]tna=96n,YZ8lgP(pmdg,@hgb~> !mfcmJbI4Z"82rnBL7h "jU[?1K::4nc<6olgb5(nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra5ugp`EP>g?d6sf"ip*&o'aWUnID^(3CA5[naT#gnaXFV[c$ZZa7&Tin&O_` "gVDq4Cu=gnGtr5lgY/!n+6/6f73~> !oNJ@Jb7(V"7u*O_WC7jW)G]GCZ<_1"iB]tna=9Nn.(d[3_bh*nF/WunF2u6f&6$$_X?sam_\8Y "eAUR6Zq/Dn,YZ8lgP(pmdg,@hgb~> !mfcmJbI4Z"82 !nZW,Jb@.X"8)3Ra6)mrm5h0;m_R2qnHHu%o()7ihsh5U4M^[OFAMAq7EY/53lCUJnHHu%o()7i lgY1W3jeAE\msdj!C>W/nHHu%oCM.sJ,~> !oNJ@Jb7(V"7u*O_WL:kh)W:Fkd'3pmfgSrnaZ%ahsV)#;pkBl;g7Zu5Mkjq7-*mrmfgSrnaZ%a lgG%&:<)niVl&MC!BfT3mfgSro(VV1J,~> !mfcmJbI4Z"82MJm!CiT?h3dTHoj<4 o($:algb5(nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra6)k&h_k#pnal>@n:sRs;S;Lj?N0F!I!P5ACHb+LjmWGon+-&ciG1VCFR\e[CHb+L nF/a#lgP(un+6/6f73~> !oNJ@Jb7(V"7u*O_WL:uW]9Sk;S_bB>sD)jjmNAimd]i8_Vjkni]6)j n+#g.f'bi[O[nR'hsU`cmd]i8_X-_=i]6&inF6)@mrq5a@,(/=3g3oANpcB)`Etf!RIBUc>sD)j n*`C&lgG"omdg,@hgb~> !mfcmJbI4Z"82 !nZW,Jb@.X"8)3Ra6)jomQGs3j8JH\Vj7RoA8s?a7&Tin&Oea!STI.n/eFjqmSWQn3(geq,"Tjmn&T6p;6=g9:#D;8\aa\hWsY7 a7&WkkLY4~> !oNJ@Jb7(V"7u*O_WL:ijZARDlM^/bZLI[N:%$+jmI0@&kj:XGqU%O^k3iJjmd]i8_Vjk`Q95'6 #k1ctmlu.ll1!Qu"iB]tna=9\mfA_9qX5K2nG/,>mdE64q=R)-n*<3Eq=2Jnm6J5Yd6HCS4Qu," "iB]up[@!i~> !mfcmJbI4Z"82$6&nK.>nnagI_nQ)%In^'r!k;)W!nal;71A(,,ha$^AU$M4P c1(Aohp6f~> !nZW,Jb@.X"8)3Ra5ue0jFL&aADltHp$qPD6JM$*]^XB:n_?5!nF=.rk3rPpn+-&jt&9lgP(u n+6/6f73~> !oNJ@Jb7(V"7u*O_WL8+n',uG3I'cUmdoo8of_F,6J:ddDXX)oo'Z$^ZKCQY_X?sam_[oM!I@T? mKHpbmQWjmh!P?_md]i8_X-[kH;OJ+*qSjgof_F)46l8%>K#rr<:fPHna;oGo'Z$^ZL0j !mfcmJbI4Z"82=(e=M"04_n[DKfi\:@*!D?#HnHI2,oCMIri:-m40B<$$ #K/mtG%Z1kl/(q6c1(>rnBL=i!pD;tqsb34>=(e=M"+NLnaXpsn`)V,nH%W'r_*Gf8b$;algY/' nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra5ub*nFl_EC/OHgTiO`X2V@K, !oNJ@Jb7(V"7u*O_WC2$nb;n999/H.Mc!,@399LCSaK5!mWCkq;?9C`k3`Dimd]i8_Vjh`R60g7 mKZXrmQ]/gO6tfl"iB]tna=9\mK/e _X@!hn)&W~> !mfcmJbI4Z"82 !nZW,Jb@.X"8)3Ra5ZP$nC]nli&fckqErp(lT!uejmUqgrqQTkq<%,La7&Tin&OAT!pr(]rpL0\ 5d]uKan&JKmbdI:a7&Tin&Oe`!pr([r9k6U45Kc06eLiji:$-(EUV[FmeuSTgHY]5"T%r_6/Ckq "ip*'oB4_U~> !oNJ@Jb7(V"7u*O_W'tsn9n1%Y#=N\q*!g,fKS4RlL(-NrqQTko]GQF_X?sam_[oM!p;StrpC'R 4P9'dhr-qfhX1Qamd]i8_X-[lk;h5omLeih;X+&R4ll#mkjIkF_=!jnr9aTT@fH0+qXj2 _X@!hn)&W~> !mfcmJbI4Z"82o^MBnBB/L:Z0(NZc1(>rnBKk[&(iY1 ki7X_lL8t2nFUZmleq79c1(>rnBL:g-J1&?hrqmmk;;Akh(XWR !nZW,Jb@.X"8)3Ra6)h1j,h^Ug1=CTgct8r__p*8moP<9nF,g>Pj@bc`9-Lla7&Tin&O>S&#qb% le6ATnF&ffn+':rmbmO;a7&Tin&Ob_-EK;3jlNjYgct8r__p*84lGetRrRoc8WN-&]^P;_Pj@bc `:$"JlgG"tn+6/6f73~> !oNJ@Jb7(V"7u*O_WL5*]V3sCbt=JmSR_'SRQ'9ommUc>mHsC.YjCVlhWF2/_X?sam_[oL&+4^@ aQq)KGOFi_h=',bRc!K9_X?sam_\>X-gl@X^ZXIJUn)#_m@#uom5sLum9[Wrmm!r@jMC6Q5d9V> _qscCk3MC<_X@!hn)&W~> !mfcmJbI4Z"82j(rpU*^Jiu(fRHEuBc1(>rnBKk[&G".R 2)f7)naL^9nF6'c;!m62"jQQ.oC1#jn0[_UAN2VO[.0nY?Yah?n5c[\nBX\qnF:id3FM@Gnq'"a 9ptK\U$M1Oc1(Aohp6f~> !nZW,Jb@.X"8)3Ra6)e'k^5oZ5]lA\mt=DGJjn;Zm_gr[rpBsUE'?Kk^uk%ga7&Tin&O>R&G*2. 3'i#`mdWY;ebO:*YA:d8%mQKIqm[A.`mceIK6$D\alYo$P >eobmh!=A3a7&WkkLY4~> !oNJ@Jb7(V"7u*O_WL5!e8[l98;Zg&nnhE=T0D<&m<:J>rp9m;@R!7pgudu-_X?sam_[lK&,)Gd 3D5Y/mHm-omI/[mTA])?_X?sam_\;W-MF*23_FeWnnhE=T0D<&46Q"u?GZ$rbZm>%S*fUk@R!7p h!I5dlg4kmmdg,@hgb~> !mfcmJbI4Z"82:'a o'l/Cq#9a`q"iq<"jQQ.oC1#in.YBfqtp3]nFcYRq"OLOq=O1Go(r@T"8D]iq>Tjgp\Xjap$heM lgP)&nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra5u_%pA4[_p[@P !oNJ@Jb7(V"7u*O_WL1gme6JQq=O[Q$MO8hoD7k@m.U>Erp0gWp\O^[mH3a=_X?sam_[iI"S;Hc q=FUP#5[`Rm-jfAi9UWamd]i8_WpJ6oD&1Xp$V2?q"OCVmHj]:m-ON:m-O39qYBaLm-j]Fq=j:C qX*V8"iB]up[@!i~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+h6a7&Tin&MU!"ip*&o'aW%mKLZ"oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN5/_X?sam_Z-n"iB]tna=8slik8oo(VV1J,~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+e5a7&Tin&MTu"ip*&o'aW%m01Q!oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN5/_X?sam_Z-n"iB]tna=8slik8oo(VV1J,~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+e5a7&Tin&MTu"ip*&o'aW%m01Q!oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN2._X?sam_Z-m"iB]tna=8slNP/no(VV1J,~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+e5a7&Tin&MTu"ip*&o'aW%m01Q!oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN2._X?sam_Z-m"iB]tna=8slNP/no(VV1J,~> !mfcmJbI4Z"82rnBJ-("jQQ.oC1#-mKLl)o^C\`J,~> !nZW,Jb@.X"8)3Ra0+b4a7&Tin&MTt"ip*&o'aW%likGuoCM.sJ,~> !oNJ@Jb7(V"7u*O_QN2._X?sam_Z-m"iB]tna=8slNP/no(VV1J,~> !mfcmJbI4Z"82rnBJ-("jQQ.oC1#-mKLl)o^C\`J,~> !nZW,Jb@.X"8)3Ra0+b4a7&Tin&MTt"ip*&o'aW%likGuoCM.sJ,~> !oNJ@Jb7(V"7u*O_QN/-_X?sam_Z-l"iB]tna=8sl35&mo(VV1J,~> !mfcmJbI4Z"82rnBJ-("jQQ.oC1#-mKLl)o^C\`J,~> !nZW,Jb@.X"8)3Ra0+b4a7&Tin&MTt"ip*&o'aW%likGuoCM.sJ,~> !oNJ@Jb7(V"7u*O_QN/-_X?sam_Z-l"iB]tna=8sl35&mo(VV1J,~> !mfcmJbI4Z"SMEVcg.h&#OB_*oCMItl`fa]ld,(loC1)lYjDY\cg^Sqhp6f~> !nZW,Jb@.X"SD !oNJ@Jb7(V"S;3P`94Ah#Ns%nnaZ%ckHO1UkJZfYna=?YYiuAT`:!3jn)&W~> !mfcmJbI4Z"SMEWfAj+&#NOG+oCMM(j07nUj4EhmoC:GmYjDYTfCAM%hp6f~> !nZW,Jb@.X"SD !oNJ@Jb7(V"S;3QcJ5Yg#MdVnnaZ(ngp$#Jgs5BYnaFcYYiuAIcL:>un)&W~> !mfcmJbI1Y"SD6Hdd+4+$1$%%nauJDk0iS$m0W+,k4/*9n`J9cZL%n_dcU)ln))HA~> !nZW,Jb@+W"S;-CbiuG!$0f[onFQ8@j36bnlNuh"j7)[3nDhaWZKhb[biA3aoB4_U~> !oNJ@Jb7%U"S2'@aQKkn$0TCgnFH/>iQ12fkm?OoiUHF/nDVIOZKVVWaPlXZp[@!i~> !mfcmJbI1Y#5.TVgrA49[d=OhhT"@>oC_eJn(bq>lF-'hlJBP9n+65FoC(JShWhQ:$0pBeh!ak- n))HA~> !nZW,Jb@+W#5%KSfY?2)[d+CdgV;D/o(;SFmb#;/kdKddkhEl)mdg#Bo'Y/FgZZ*3$0^-Yf^A>& oB4_U~> !oNJ@Jb7%U#4qBPe[a;o[cn7`f=BH!nalABmFAc!k-jL`k1@/omIBf>na4l;fB0O+$0KjMea;nu p[@!i~> !mfcmJbI1Y#5.WZn);L-[_E9gbi/$]o_%nLo'bP]_R@2g_T_!-o(;VJo^_J0begg'$,XpFn+-,D n))HA~> !nZW,Jb@+W#5%NWmbZ!r[^ZdYa567SoCV\Hna>8S]=,3Y]>rdrnalDFoC;8*a1Jdi$+n77md]o@ oB4_U~> !oNJ@Jb7%U#4qETmG#Lb[]p:K_V=JIo(2JDnEnuI['m4K[)1SbnFH2Bo'l&$_R-bV$+.S(mI9]< p[@!i~> !mfcmJbI.X"SMEXn*[RL$h!KSo_%qOp%7hDm^2 !nZW,Jb@(V"n_EVmd9ALlOE4Jmd]o@p%@tKna>f2[d+ChmI'N9o_%nLoC;89m'c3dm-X62oCV_I kLY4~> !oNJ@Jb7"T"nV !mfcmJbI+W"SMEYnaX'Ws7$0^o_&1V"SMEYnaX'Ws7$0^o_&1V"SMEYnaX'Ws7$?co_%qOn))HA~> !nZW,Jb@%U"SD !oNJ@Jb6tS"S;3SnF*gR"RkjMo(2hP"S;3SnF*gR"RkjMo(2hP"S;3SnF*gR$1IBRo(2MGp[@!i~> !RKYSmt'qYn%8#hhp6f~> !S?Lco7?Lao=OSpkLY4~> !T3?spOW'ipUg/#n)&W~> !7-5RJ_u%9\_dD5J,~> !7uebJ`hUI\`WtEJ,~> !8i@rJa\0Y\aKOUJ,~> J^8nnJ^:gOJ,~> J_,J)J_.B_J,~> J_u%9J`!roJ,~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/pref_diagram_dlg.eps0000644000175000017500000050527614016714367016722 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plug-in V 1,17 by Peter Kirchgessner %%Title: pref_diagram_dlg.eps %%CreationDate: Sat Feb 27 23:52:37 2021 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 125 149 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 134.64000000000001 translate 110.40000000000001 -134.64000000000001 scale % Image geometry 460 561 8 % Transformation matrix [ 460 0 0 561 0 0 ] % Strings to hold RGB-samples per scanline /rstr 460 string def /gstr 460 string def /bstr 460 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 165548 ASCII Bytes colorimage JUE#rJUFtT!nZ8gJ,~> JZ=:$JZ?5[!nZ8gJ,~> J`D=AJ`F9#!nZ8gJ,~> JYRdkJYTcN"+8GGh1,~> J]iVfJ]kUI"00\uh1,~> JbFZgJbHYJ"67_Yh1,~> JXh:]JXj9@"+82:f73~> J]32ZJ]51="00Ghf73~> Jb+HaJb-GD"67JLf73~> JX1kQJX3j4"+7o+dXV~> J\ZiPJ\\h3"00/YdXV~> Ja\0YJa^/<"672=dXV~> JWGACJWI@&"+7Vqb^]~> J\$EDJ\&D'"0/lJb^]~> Ja@sSJaBr6"66o.b^]~> JV\l5JV^jm"+7>ba++~> J[C!8J[Dtp"0/T;a++~> J`q[KJ`sZ."66Vta++~> JV)j4!oO% JZn%9!rDrCWilQ1jSSuTJZlSe"0/<-_12~> J`YkP!ri5aWoXBHq#:f_12~> JU?m5!5na7"o`jqV>p2eHNW+(`>n/i".&ueqVZ]#_uBZ5!s8B JZ8.3Nn#6K6s8B$i#D&ksWW3"oWW3"r W<9/pYIoA~> J`?1Y!<2or"odN@rVu3_iWK2[.)5',"8`&tp#+g0rr2p"rql6Gn)=NGs7WCJ,_=stirB&SirB&V iWJ58YIoA~> rH&(Biq;@5iie#W!5SO4%/p9LT`=6`FEH:;`>\/d!-\?`!8RSR!,:D6#f-K>nFQ\[nmVE;!-\*Y "df8Y!@02eF9$K8FP1d8s8-p;s86s@I%74HJ,~> rM'D4iq;=4il$MF!;69i%/g4%nGgfVUSIYbB4:5'!2faj!;ZWo!%$U!#ke5rnG*%`jdZ.B!2fLc "l]L=!]N@8UB%0BUY2FAs8/Sjs88VoWgp*!J,~> rS@P5o\oo1i.TqerVZ[(pBTRQs%Js>hZ!O']B\5Qrr2otPr8%P9S>s)L~> rGDYqp%A"Zp#C^C!knX&rWiQ1!6b'K_"RN rLO&LoC_bWo](Ur!qcNLrWiQ1!VcNl.\Z\\Onqp_%*X8i.Zs-Sk= T)&E.i;<5grgjLicgq&-e"E;(dJrt;Sf.2#h#RkGs8OL=q>\Onqp_%+cgq&-e"E<(rVnqLStF@" rUnX4St>cXaPZmER@hgrrUnX4St>cXakcjgaI\uqcLCf-j.;j7cgq&-e"E;(_sdR#nCN8`rr;qg rr;ke"0.]b[=A~> rS%A4o(DVUoAYGX!r`.BrWrN/!<)iq&)7*`3U?\@jP/GFnbiC_li,WTrr;*Rro;YcmJlnOs#e`a g]%69p\t!Krn@V4nbiC_li,W?q#Bs^gDTtiEX3?.s8Q0Trr;*Rro;YenbiC_leC1mrVm,ggYMDt rqbs[gC4)]jnA]6f\Q)qrqbs[gD9egk4\fNjP/GEnGE4_o%VpTnbiC_li,WBmed%_pum=arr;rO rr;lM"65`F[=A~> rFZ,eqt:*Xc0tT(!8W<@8@nii%V]WjA@1:pqTR/%eGo7@pAb,0B;tq/]%$cC?t\-lq>B1"&ndC- lluK*(M@C5s8CT_s8JR%B;tq/]%$cC?tY2no`Y/)=h=Y%#%sA(s&DM?s7uTNdh8Y[r4:DXk?t"B s81$T#-%Y#]%$cC?t\-lq>B1"&ukp/]%$cC?t\-lr9i&6rbcAHs8VH6r#TFKs89IXs6!d+rVjpD eFXu;BE%r2BE%r-B*3OFUU#C~> rKmT@qt1$Vc0kN&!8W[I+";QC.LJn+u(-6^Z^0 e5u\@5+%`5s8(-as8IM8R,J#>[I+";QC-"ulO[I+";QC.LJq;gQ8raV>Ps8Us1r[sPqs7j"hs3$_$s8K^A iTWRYR/[-cR/[-^Qij@PUU#C~> rRV&*qt'sSamK#u!8N7Z"9&7CGl?#TpA=mEbfg.fs7H3es8&YFqZ#iip]%\QfDbgGpZX];fD>Mf ]Dp$Lf@U$%rS690riOf(qZ#iip]%\QfD,BI7f1e?rVpn^f_>FG$.&VNq=j,6WVZY[\+fp2f(Jh< ilkVNqZ#iip]%\QfDbgGpZX];qZ#iip]%\QfDbgJl1=rOVq:eFs46919@s%?lF6Nf[asO>rOBT2 XG;DZrr<#Mrr;iH"65T?Z@D~> rEoWYqt:*9^s`/S!8)s4!4Vn+6M4VlEW>8)',/jpp+$IGs1:l&r`K:Hs8QYQ2Tl2Rmo q#?4X@+PAD!>(7jm4DrMr`K:Hs8QYu1/HHS)s8H.&,6.[S?u>r4 !YZaWr`K:Hs8QYQOQr`K:Hs8QY18cSh)!!jnSA,lO2![@[EAS_>>',DW> "G'tXs7p%)I#t#)J,~> rK705qt1$7^X;uP!8)sf!;$-g6L^&!h#G\)*?FqTlkpQ:s%8ISrZ28+s8P0Dq#Bh"" rR:i"qt's2][$HI!7unR!<)iq6K?JCn,H'&.OtGt[15P&s!$D$rX9]bs8RAorr9eB&0%Ourr4!s rVnt/eGfJo!^lGVF26l:rX9]bs8RAomD!p8qpY`Hs7lEhs&,Qkc2RaZ$P48us8EEFEW?&aeE-^N (b2omrX9]bs8RAorr9eB&0&^jrX9]bs8RAorr85d7/d-0huE^F!$t_JjT#2f)KGfWH1(^:#!t7# ;M!?ps7t.Hj,fq;J,~> rC6k;r:U9U^u<,prUp6?KLZ$Cr;RAt"@n%CklsXJci;>o4P]tU/c,Je[4T`)e,h^%79KTg*>b%A i?:_;s2kO9CB+)5>Pe@'[4Om3'c6a;!3?,!%0#_%/-JGgs3q*37p5]g#IQ.,s6g(\>Pe@*[4T`) e,h^%=o/.2[4T`)blgGgs2?SiruMeC7mU>Trs6"em/R(OabN*37fZ'Xe+cE8I#X`#J,~> rHnXqo_nFcjM0Wgl2C8TdtE)KnbiD!h%>&!s3DL/I/!Yr$$Q+DAqg*]*'&$5s,dP/I!:tXqZg9d s0lZhp]#CPI(]LM'V>1$"Z^RM:*hIgHiW^9rs\khT+)B[p]$?\FaT\Trs(Q(f)OP rPnrfoDS:aj1X9^kPb#QdY,X@r;?R,Ec/qps%JBla8Q#o3lCpr.-^U.*#QHhs#2XKa2I6BmK9]g s&-DJrVnH_a7TDTDXdN&"W5"p<'+gk`rQ&:rs\e\K`t&grVnf1_T2-Ars'CUq#>APa7/s*#T1>T s#2XKa7&m)&fAC^s"IBkrVn;1s8N1`a2a81qYpg rC[1=p&=XgouY)E_T_uP!76Bl!j2Lkr;[H698*?0#"qV9s2>I@f)N]>s8MqP"_/=ps2GNI9,3Qg rp]RRs83m1d/VB&95jk+!al!,r.kA`(ACH'XoIkh!"9#H5"j9&`XPR6?iU-'L^@Q,H2m=:94._u r.k\i(=<*$%80?$s8MqP%V$:$s2>LAf)N]>s8O*+r_!<"s8MqP#\+WMLq_sMrEXtIqpY@6"+6#s XFL~> rI4jpo`"LeoZ4lA_9;fM!7-=J!qHD rQ,)coD\@co>SH9^<-?G!6p2=!rW(=r;[IKanu*3NQK<@s!XS_rVn;/s82_M"V8'?s!aQ=aVF[P qXOL_s5f*ZrVnULan>\W.IdB7r.k@a[eIlVr;Ud;!!=0J`QA)Y.A"Z'nGiC`L^=U#q#>AQamf?- r.k[j[f-4TT#o+Ds82_M%M-#Hs!XYarVn;/s8N2ArlG62s82_M#S4AWUWrW7os]Loqr@Lo"65<0 XFL~> rD*I(_SG:4p&N9h:BRg#mg]7r+](sfs6U%e:XT3]&l7-Z`>ejWH6jja@59Oas2>UH :Jpf]rthP'dJrbV:qcnr!`o@$H6jja@59NMbJsBS"0_an"oD(ldJq/u:JY$ks*>t;-=JY`I/iX= :KIMqH6jja@59Oas2>UH:KIMqH6jja@59Oas2>UHfDif/s8T`$:Kp[ss8RBk,pm%U12TW1($km_ 5(cZ1e,N5Ce+uiBI#=DoJ,~> rIY-oo`"Lfi4m,$_8#(1o`30gK*1ZDhAQ)Z K89F%rte(Rp]'5@K_#/p#EJia2*F)eKKjC[g=,nN"7cEI')R;Xp]"l$K7f3as"ur&5D27>f`0b? K9$!32*F)eKKjDLs(>)ZK9$!32*F)eKKjDLs(>)Zq#=u4s8R4kK9q4Ns8Or>4[4TaFHC>t+o;3b I"R(Nh#E$+h"lX*Wf!:HJ,~> rQ>5`oD\@dhRpSp^:`J)oDlscb6.\BG'*`.s2uJ\s'h&4bPhGhX3:MB.*MYj(ggW^WF3L>s!Xnj bL64d(G3c-s-oh0rVppfhuE]n?XIEE@)(sqjSI%%r;UeVqo_h7s!XnjbMW@"(ggW^WF3L9s)N)% huE]n?XIEE@))[?.&tJ6huE]n?XIEE@))[?.'(Pjs!Z%is$=cMfur:Qrto*MAuT1Yc'(aXr;R\T K?O8Ss3(E%qTB!$MOUYs~> rDXYDs8C$`l2OOTe,RB#<)dW4 r?D4@)KPlD*Rk&_p#c;SN!<7Rs8C$`l2OOTG5q7Tqc![&s6g-g7(:Xf?_'E1r\TE"l2c0>7(:Xf?_'3*Wa`=na@s6JV@<)]FhrQ*7Js%c_qi6BUJ rBDQ\<;tAF<;tAD rJ(p'o_%nK`P918^V@h]p%?=XLB-oBs!*GW`W,n_hM:k*B2FBYs(>0]s817&p&A0Kp]"l&LPN&4 r!<9%)V4r8AbZ5gkOefS4V`b*s817&p&A0Ka8bQ]qhG:Es4n=bLBI;NB2JS_)qk8gdbsfu=bYQ/ h%GKug&Lrti:[+QL%kU[;#Z5"g&Lrti:[+QL%kU[:l"iGB2I1Zs5i\JEei?JqpOEqs&kK`jOrSn r"!n&L]6*-L]6*+LBFQ5R]Cr~> rQPkkoCV\G_S!P,]Y)5To^p%SblI\=s!,Y1pAb!Ml-92,.':bns!Y#=s6f.DrVpf[rVn:Jc->eY o`P0n)X[QB\GcI$k5G>[(idgis6f.DrVpf[pA_mDqoo6@s)N,VbldqE.' rE'3>p%J+8rkJd)^qf.!lfGp8=9,])s$8t;>JBb0p(c*W`=uG-s2>[TK$X2^f9?P;eGmK%=BM^* mK$!`=E"6=1XuHGJ*lij!%:rPK$X2^f9?P;H2mO>qcEs,s6g0h=9I(Q`>&;R)d.d=p[Zq##Z-0R mfllr=b=uoo%0*3:t5Na'`M2a=b=uoo%0*3:t5Na'Nj&g`=uI*bkUeP"]\]WchI"^PR(7(f_#'s F9+^^=T6eH=T6eI=9Er-R]:l~> rJLfpo_%n4rkA^'^VAprlJo[5MZE>Fs$73JOO8hQJDB+d=_RWq#=u*Mi7'( fE-hdMmNH^,l%CUVY04l!,@FNQJDB+d=_RWaT(Q6qhkRIs4n@cMZ`bSB2eef)iU* rQk\^oCV\/rk&L"]Y*=hki9I3ciF%As$6n4f\69'_-R'?.'M"ss!Y)"V!%[Ca)_7+rr4CMd*V^j FpQC?d.@;2H2dh,^&$GJ!5-\-V!%[Ca)_7+pA_3^qp5HDs)N2Xcia:I.'NWs)q1VGr9_OG!7(E? Ec]USe"l1)mDj8JcMmhlYPulue"l1)mDj8JcMmhlYL*:K.'M'njo"GJ!RT;kkPX_fEranHk5=qk -O@kKd/N)&d/N)'ci` rETQ>p%J++rkJcT^qf6lhnO;d>lZAO!$"F5>9O+L"'l`D'jY)[!#8dF3"c;s&1Ldg(]YllVY #5qg7:]LLCs2>[*#6cOS>m`P(!sK5b>$X`#"SuC*.KB\L>lkiC(&V>E3"c;s&1Ldg70!Pj>m`P( !sK5b>$VsF(&V>b3"c;s&1Ldg(]Y:V>nm>S?!TK)!sB?D?!TE&!sK5b>$E0\"9AugKO+W,q-F$L r*9DPLmb8n~> rJq)oo_%n'rkA]R^VB$hhS>S4NrTag!$$`SM'E*&$BGJn7MGn3*_;lXp#s(>4e"q4B.Nsgq:'ESX`8>FqMt[a!*/uY$]RUi!Xg&?NfPal'E4%# NCFT`$Q_j!NsPedrJr@d7MGn3*_; rR(h[oCV\"rk&KL]Y*F]gqV$bdJs[P!$'52XX!uK510Z9Z-q&)!3stl;A93J3-Wg!#6;%.dK0jX EW+;m2?4!\s!XO""Ws<7dL4&m'E](0GLFne!(?\3!Xf!MqU,EM!3uLN$cZ'Y!u3e>daB'7FT0\r `_mKQ'f^EcdK]cWrR*+6;A93J3-Wg!#6;$WdKT]Vd`PT*!u"5Rd`,0!!u3e>d\8f rF#i=p%J+NqsOXOi4F2a@F8Kcf)N])JRO+<"CZ\6RAtc~> rK7;mo_%nJqs=LKhRo>/P0oEpq#=u.JWbSI"Hod@RAtc~> rR:tXoCV\Fqs4FIgUbU[eBubJrr4CQJ^f8#"OuIfRAtc~> rFH#9nG)\Yija5aA^FujfDif+JRsCD"D)t:RAtc~> rK[Jkn+cPWiOPM1QI(p"q#=u0JX1kQ"I?'DRAtc~> rRV(TmeHDUhmgs_f?i+Orr4CSJ_,J)"P;[iRAtc~> rFu=ppTst-I"?%XC'#=S(kHFQC'8:!Lmb8n~> rL*bd[.gm,TRiQWRK_/>pRKT(ZLmb8n~> rRh4kZ1tL'Z-S!ScIi7(!4RO4J_:1Zj+s,'J,~> JSp$VJSr#9"+5omWdk~> JY%FaJY'ED"0.0FWdk~> J_Pb1J_R`i"653*Wdk~> JTHB`JTJAC"+5omWdk~> JYI^iJYK]L"0.0FWdk~> J_kt7J_mro"653*Wdk~> JTlZhJTnYK"+5omWdk~> JYn!qJYouT"0.0FWdk~> J`)+;J`+)s"653*Wdk~> J^8nnJ^:jP!f38EJ,~> J_,J)J_.E`!f38EJ,~> J_u%9J`!up!f38EJ,~> !T3?sp4;pgp:^/'n))HIRAtc~> !U''*omudeotC#%oB4_]RAtc~> !Uoc6oRZXcoY'l#p[@!qRAtc~> !T3?sp4;pgp:^/'n))HIRAtc~> !U''*omudeotC#%oB4_]RAtc~> !Uoc6oRZXcoY'l#p[@!qRAtc~> "5iS@p4:J>c%4-Uc2[J@n))HIRAtc~> "6]:Komt/7a+;:Ia8bf9oB4_]RAtc~> "7Q!VoRXl1_L]S?_Z063p[@!qRAtc~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\ApUYu9=P0_&)!gJkooAKb8P0\^ "R#CLouH(K!];gbUYZ'f8,ipJ,~> "Rl*WoYTVB!]N$hUYGg6!859Es-3T;o@s;1!82qXR+hn`o^qnHhh[]#J,~> "Q/\Ap "R#CLouHFU#!Fe#3Cn##rn[][=kC":#0a*9Q_:hDptc( "Rl*WoYTtL#!4_%4\g@LrnIHV!8+X4"i@+(R%h4eg]*N=g!&1NQMQjKfqbFto@s;@!8<"YR+hn` o^qnHhh[]#J,~> "Q/\Ap<]hugL9KP@es)>`Vk9.+pu):=P0_A2#cshtP*2?2UsahQK]*3]p@dt4c\S!h J,~> "R#CLouHFU#f8,ipJ,~> "Rl*WoYTtL# "Q/\Ap1VC0"Bkf75QhuWo;pb=Y`sP/k=mZ1bPFr2;rpO1c/(0iScCAUJ "R#CLouHFU2a'".hUuEr4l+sP1tCGq76!D;`noRa:,us41iM7-2)Lpr5Mg$A3':TghVL(GUIIJ0 [nJf%h;I,lgm=;2rn\jDh;6_`R?s_lhVOQ`g>:D]R?s_lhVOQ`_k!7Q[@EPPVVC"b"5T6-f)FM8 QBg1\Q'K=ZR_?t "Rl*WoYTtL2ENh?gWE&F=PDLg2V6\j6T@DMdbENG7Qu5s2RD/m2`?FX@,#$U3'qN2gY4VEMEsb: Qpa/shqJ7^QBf2`gEOPigW?:YR&SNggQe&WgW?:YR&SNggQe&5R]"l@R?jABg>CWef9MWRrnII< $ea:"Q+39QahO=5\c1@`Pm?!sQ'JhIR(!"K%`"U%Z_3T+gY/`sQCOr.J_RHa#f?6+p[@!qRAtc~> "Q/\Api05NHHj1iScCA1hAP+CReP*`eiVTOJKZ/Gu5p@dt4c\S!hJ,~> "R#CLouHFU2a'".hVQ^<1s=`51tCGOI?/"t6/L9V1gb&Y1iM7-2)I72C#2:,O(U:8hVL(G4(pK/ 3b^N0Zf'[Be!63Qr8&ROR['hSQ'TqVQBg1ZR['hSQ'TqVQBdc>XOEH-]X=NfhqeIkQ'Kr"hCOtX g>8*[R&cL;R&lU=bhh3BQ.k)\Q(#4MQ,hb:R$FSOQ^+`1e!6T=[A2E+hQboCa7],skLYNXWdk~> "Rl*WoYTtL2`iq@gY8ef2UgD>2V6\\KT/bcBA:Kf2JcVW2RD/m2`R&cO "Q/\Aps,mAqro#AlP0`*M P-X&HP+U^VP+U^lP`jAOP`iH5c]XjXg6.]XiP1PHiS0N``R3UpiNV8Hc1^l"hp7+HWdk~> "R#CLouHFU!^/BNrn\SO1rS6.1tCI;hV$F;1tB,n5Mb0p1iM7-2)M92h@eT"g!qu;e_W,>\_]V/ I,8EkI,Ni_b*A=jhB'n+Rblo$Q)`],Q.jHIRblo$Q)`],Q,hbf8,ipJ,~> "Rl*WoYTtL+ZhU*gY:F@2UC,:2V6^;gXXM,2V2e(?ea=&2RD/m2`A\TgCi5pe]]s1f@r2AbhG6< ZeJ)1\)?!BW0NnMgE*D\WS?0uQ,q^FQ.`4'WS?0uQ,q^FQ."FAY*H93e(ra\f9MWRrnII<.,!@? Q.=WUQ-.jPQ-A";Q'L%WQ'KqTTU!XRXHf[;gR=DMgTHgH`m]LnYM0?"o^qnHhh[]#J,~> "Q/\ApNdZU*YerlBYiR!aYiS_&+P*2-QJ`3lm#gN):n))HIRAtc~> "R#CLouHFU%m;b[hVQ^<1s=`51tC?&55d;Nd@W6ghVNQ8Dr0>.1t1= "Rl*WoYTtL%m)\mgY8be2UgD>2V6;e48h&MeQk(sgY5R`ZeO4n2V-X;ct,<;2@S-j2E'.@4uU[? ;)Yf>gB4[FQJ28k)l/b5gY8Nh^>"p"p "Q/\ApA1>1VC0"B(W1o7Z=/uR)L1u7,R/k=mZ1bQ;siQEi1V7/<7Vr96\\D_oi BApBR8`8PMi1#n%hr3PGhV"'Wi8Mb?SDf]qce4JHi8Mb?SDf]qci)f*hpK'!TAJQ,OoW2pi?XYN cf(%Mcf)Ic1^l"hp7+HWdk~> "R#CLouHFU2a'".hUlhNhVP;uWns&,gATk2g!-U`[,9^Bh3F8Vrn\od Q.k)[Q.k)cQ."NqQ*K3&QBg1\QBg1\\s9;Pc]ssUhP-: "Rl*WoYTtL2`iq@gWE&F=PDLg2V2LuBs=m%2Uu\'@GBO(2RD/m2`B:BgLW9WYd-2Ge_;u?f@rJI ceD;T[,B[@e!?97rnAX8gT-U=gY89aaP2uFfrLC;gY89aaP2uFg"Y98gXF98Q-A.?"4rg'f`'Y* Pq(JAQ'L%WR?c@XTU!^TgQe&WgQe&WgS0tSgT?a=gY80^b1kY)e&e/Gb^nNRgBb[go_7h3Lmb8n~> "Q/\Ap\HPEMKqgmtdaXHKB1iN_>Ic1^l"hp7+HWdk~> "R#CLouHFU2a&upX4gmOG+YEbF'hNjG\gmOG+YEbF'hNjG\hVQbX[_/ "Rl*WoYTtL2`iou;`H[!b1kZ02V2FsBrGAs2V#l/2JH8Q2RD/m2`B:BgLE-UW*_G@e_;u?f@rJI ceD;T[,9UdZ'CTKVk'+,e "Q/\ApY@/uR[V=>EgM/kP$\1bQ;siS]5F2K:u7Vr96\\D_oi BApBR8`&DRf<1O*S$:f/h6<91S\O.BP`jAOh6<91S\O.BP`jAOiSLQ%PEr3%hVnKt!58Bj/[V3I^oP+LXhWL8s9WS2p^Z/Gu5p@dt4c\S!hJ,~> "R#CLouHFU#!Fe"3(Ii!rn]4a1tC>r3'iH^1st0k9fQd.1iqO12)Nk?hV2g*6&R]ZdG?]:e_WeQ _VTPpFPbk%bGgqsT=8*[g>8Bcdb_ "Rl*WoYTtL#!4_$4AC1JrnB"`2V68Z3(p202V$QN76Q&p2RM5n2`B:BgWs(`9;jg.e_;u?f@rJI ceD;T[,0Ob_53NdU:]17aJ>/iW6sASQ'L%WaJ>/iW6sASQ'L%WgVT\QQCYP>hqJ7bQ'L#$g]*Ng g"VdWg"Vp[f%Zj_bM1d:Q.aoWQ.aodQ,q_7^mg^tT9[US_P3HaS[dC)gTfK=_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouGY?!6bAu!`(YBJ_no5!7q/+!hbgpJ_mB_#flW2oB4_]RAtc~> "Rl*WoYT26!7Ur%!^\f^J_S]/!8.;*!h,D$J_R0Y#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouGY?#$#Q$DDXE*J_no5#,A?6Y*GC/J_mB_#flW2oB4_]RAtc~> "Rl*WoYT26#"Nls>;f4.J_S]/#+Vs0V3R\,J_R0Y#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouGY?"bT9'5%_]`hUCf8,ipJ,~> "Rl*WoYT26"`Qjh7 "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX?J_kt7_qk[>p%@q>f8,ipJ,~> "Rl*WoYQ16J_Pb1_qPI6o^qnHhh[]#J,~> "Q/\Ap "R#CLouHmbYCqJ`J_lsS#flW2oB4_]RAtc~> "Rl*WoYUFYYN18hJ_QaM#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHmbYCqJ`J_lsS#flW2oB4_]RAtc~> "Rl*WoYUFYYN18hJ_QaM#f?6+p[@!qRAtc~> "5iS@p@un921a#'c(*&Yp''pBc\S!hJ,~> "6]:Kp%ZS2KRq0pa.13Mo`asMf8,ipJ,~> "7Q!Vo_?;,jFP1!_OSLCoEG!Xhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap#gN):n))HIRAtc~> "R#CLouGAX!C?#0rrG=Nh#@C@l@JujrsA0q5dFS"s8PCMJcG6>#flW2oB4_]RAtc~> "Rl*WoYSoR!Bg)7rrG4Uh#@C;p4<8!rs?e>6K(Gns8P4TJcG6>#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHt0"\(=*5'6JirrG@Ll2LcMlMUYgcsAb"@bC_\5O.b "Rl*WoYUM*"[=n'7uI39rrG7Ul2LcHpAFpsYuNeSDt*f,4SJ:E!B^&NrrG@NkPkQFp5f4WV,fZG HKao!!Bg) "Q/\ApbOh #2M#)lhAVBnc&VrVt9ogrq69l\Rta="D"G1?DmGq!<.QL#gN):n))HIRAtc~> "R#CLouHt0"\-o;kYc9rrrE#nrrG@Ll2LcMlM^_iqDtYOn\s,[s$,fQ5O.n@!<%KK#flW2oB4_]RAtc~> "Rl*WoYUM*"[D;MfgELPrrDljrrG7Ul2LcHpAP!ulT)r]m'lKas#g#ErrG4Uq#:@Zm-"BL4SFm: #(B@jp?nubnc&VPp@J:aq=Xag7HaRJ"?cDX4SJFI!;V3G#f?6+p[@!qRAtc~> "Q/\ApbRi!rbl=qu7tQ:cUn;s8Q/f?WLY,s2?fX7s4hhfDklr "R#CLouHt0/k4=is0"un5-eKis5[TO9<\A12G-]]s5[TO9<\BqmVk?VH2mp*@6I8es8PCMrVlrd 2?!IQ)/;'%9uI!k90?1os8VM+5!jPps$#iMfg*^XrrGUpb2G-]]s7("k7%=5V5-eKiJc?"rp%@q>f8,ipJ,~> "Rl*WoYUM*/jJ_&s(-rb4.BM\s2%f$=k*IV2bm-2s2%f$=k*KOd:,=2U&Y/0<^0a:s8P4TrVlr* 3<&jU)-f*q:?VY*7m1DIs8UJU5=hLJs#]uT[7]`^rrG@Nr;R#O@6dZ's'i>6rsMiNs3tIB:qlu0 4SFp;!qA;6rVn8Ds*[C#AEj-o4-X>PRK!4k2bm-2s#9iTs&@VMs#Z]U>lW;^5Z#2mru5-$9MS>B iW&p?p09OO:?VZ,@6dZ's8P0M?!Ms\#f?6+p[@!qRAtc~> "Q/\ApbRi!q\/8qu75CjT!^amf-?VqZ!9is8QE'rr3TgfDklr "R#CLouHt0/k4=iqd*h55&L8urBd:YffJ-m5O/:KrBd:YffJ-l8sB,Ja8c*)U]/q-ir;=0rVm#u 5(UiGrVlm_lMgerWpThu3rAnKPPY-rs8P:Mc9KhUrrGUqu75-mJjdZqu8iprr-brs8P=Krr3Thp&G&CPlLbID>jM79q)%H8]pu2$rk:Is&uc/ s$>rM5O/7J#u-lelUf8!5&L7LrsA_Gp%@q>f8,ipJ,~> "Rl*WoYUM*/jJ_&mmjke4/)ZPpcZXs]K>]a4SJgTpcZXs]K>]]5e$^cc2[Q%`rE\5o)CiGrVm#h 4.+IlrVlm\pAY()\+T]_:]:/U\,H$Fs8P1TWDW*\rrG@NrVm]46,!9J5jHT^rVu^Up&.1irma:! s#g";rrS`RrVQU+\+T]_:]:;TU]:6de,TG1pAY()2uEXT<7h0M4/)ZPrB\-reNiEtru+>is8PUJ s8P4Ts#g#Ts8>6srma:!s#ZqRrIOtS_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouHt0+@\^f3FM=U53;hEk<8hEs*/eg5O/:Kk<8hEs*/eP4T56Y$0OJNs8R=gs$>rJrs@nB :c<"Ss8P=KqYp[bl0(8.r;Qj_YsI7CrrGUq4rrM%= pAYOfl2Ns,s8V.Hs8P=Krr3Thp&G&CPlLbIjo>AG49#9[^L$j<(f\QUs&uc/s$>rM5O/:Kl9#"F s1_n?537@qs8NAFp%@q>f8,ipJ,~> "Rl*WoYUM*$pR6Q3Hk5u47iLPS65dj#ZAqI4SJgTS65dj"&dC: "Q/\Apf8'#5FEF s8QE'rr35H?:.4BN:/b'rrQ7o;>L4mH#*BY!Uh`A:'s]es5H6B^fCF'0`FfM9hG@qVigu\oIo_2 rt*@[6Us+ps&ZE(s7e>Ks'DW&rs^j;s8UAEs8Q0-s8VOAr_fH6VuQec 0`FfM9hG@d["88Wrs6mCp@$nbLmb8n~> "R#CLouHt0"%L5rp&=sp54/CMhFRYG#cC`'5O/:KhFRYG"/f2V8,WAfhFRYG"K,<#60e:G#4?;+ s8P=Krr35(=\;CHjk`N)rrPARMY[8Q7aq>9!T#d7;[QB,s1)52EKpL[2uZ_Y;-a,elB2)Jk;N88 rt)568kh5*s$#iMs6_oIs$,fJrs^mZs8RY7s8P:Ms8Uq7r_ihp>l=U5<6,%=>-n8/60eJ7lMpn@ 2uZ_Y;-a,bm=G<;rs6[ "Rl*WoYUM*"$bT.qu6U!488dTGD?+s#[tLJ4SJgTGD?+s"(ArgL&CrOGD?+s"C](F4SJUN#2i1@ s8P4Trr34e;b^"Ho65ocrrP8F_"n!25OA@K!I.!2<=2?ss(nS4:=oMj6iL'g8uVbPp6#@VSNQoK rt(Am9hm\>s#]uTs0t]$s#g#Srs^pas8Q'Ms8P1Ts8R=2r`&tkW;QZ,7HjdO8)aLJ4SJe;pAb/; 6iL'g8uVbOpOWAErs6L6o_7h3Lmb8n~> "Q/\ApJr;R'#2VL^3s7A/Hr;Qe.Vigu\r_%V9rt5#] bl@]\MuQk/s8VOFs8QE&rr3HmcN!p_ "R#CLouHt0!CkQ9ru"#fs8V7Frr<"DGlL%os8V7Frr<"DGj.?irVm2e4oYK]H$K?TlM1Akh`Ll< 5jJCLmQ9G.s$Pl34T>9Y"$Yd?TDJQg7aq>9!U)cFrs/9XoK)F?kWetE!C?"5rrW*[`Vf`JmQ9G. s$PlI52-&:gd;&@5jJ@K%64"[s(dl!s$#iMs6)]Art&/Ms8Q9/s8PCMs$5lLs6)]ErrG=NJcGcM #flW2oB4_]RAtc~> "Rl*WoYUM*!C,rKrrkLYs8STlrr37%c2Tp"s8STlrr3'uc(S29rrJWmrr3+!c2Tp"q#:nT;ZHbZ pAb0';ss\c4nG@Jqu6a[e3M1QrrG@NrVlnkA,H92hELBgq#@!squ6[Zp6#@VnN#h3rt>:@;ss\c 4nJ\8n,NEFDu]i"pAY($3;W[T:"TFF488dTTO[`r&4Pg_s$u&Js#g#T4SJgTTO[m!!B^%,s8W*) _Y!Kpn)&qhWdk~> "Q/\ApfD++SgZA p@45.s8ROps8VaKoDe,1MuRg-o)7)Qrs3danc.md s(&$hrtsQHT^DKtE:l'Zs6D@ss&VSMr.e;Ps*f=ors=[-s7fDjs8Q0-rr3.FD"7Pj]DV[;[V,X? _-d6BA>fHVHiF$NG&6^KlF['t["88Wrs6mCp@$nbLmb8n~> "R#CLouHt0!CkQ9s!L"ts8W$aVuGF3i;Zq3rtqq$\b,O/B'MVZs3ER`s#sQYpK-n8/60eJ?cN!qD9q;(ZhpMHfm=G<;rs6[ "Rl*WoYUM*!C,rKs!Ko&s8VgUaoB(9o)Cr?s8VgUaoB(9o(t\_rV"P:pH6Rt^,kib4SJaR+N^\I rS1#:s8P=Ls8Sm+rr8cQoD:e`rV"P:s#]u-5gK9,!C,cHq&')-5eR'ldI.&77VRSVs8,'orVFq0 s#g":rtp/]c1p_.YG>b/s.hUFs#Z,9kXEo!s$,iKrt7WYs3j$\s8P1Ts8Vs]]`%]Smem)%7HjdO 8)aLJ4SJe>li7"^5eR'ldI.#rpOWAErs6L6o_7h3Lmb8n~> "Q/\ApfD++oI0k 0fEOks8V(N3c+hn7:U:]MuWR$3]^dNs&ZT-q.+dKrr@?C/dt/Jq1V!m:nRdfkUp3@rs8FS4ulH3 s(&$gs!6603B16Rs/&4pE-R<@=.i\W@.=3ri^u7Js7'>nA#`Q/s&ZT,rrr4P4ulH3r;RVBBE/"J ?iU.:VuPaK3c+ilKg%LnTDr!"JcGcM#gN):n))HIRAtc~> "R#CLouHt0!CkQ9rrG=Nrr42%?p.,`s8TPt5ed9X?p.,`s8VJ'4[OJps5IEL9!&'m60eFK+o$RZ 2F2NVs8TPt5ed8Q:MGVSjT"Ua4[OJps$#iMnjfYVrr>Oe1^n$snT6u\?crEKa>Bprrs8.:5q2s!53`4%*r4s+X<`LdpJ*5.aWRHMmgC[miWss4gIXDKh?Fs$#iLrrqq75 "Rl*WoYUM*!C,rKrrG4Urr41X<'OL4s8S-I6K\<`<'OL4s8UGQ5=hRLs1hSu=OI0K4SJaR+l@B1 3(f,)s8S-I6K\8c=_acsoDd0E5=hRLs#]uTe3DCZrr>:^2@RY+en%*8D "Q/\Ap "R#CLouDX`KDts9m=G;Trs6[ "Rl*WoYQ1ZKDts6pOW@^rs6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouHk-Jc<%Ug&D(:m=G<'s5O%Qrs6[ "Rl*WoYUD'Jc<%Ug&D(7pOWA1s5O%Qrs6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouHt0s8N#rJc*%Urr)lrh#@C=m=G<)rrE&trT=%WrVulors6[ "Rl*WoYUM*s8N#rJc*%Urr)lrh#@C:pOWA3rrE&trT=%WrVulors6L6o_7h3Lmb8n~> "Q/\Ap5o[`ns$g@,">li.%UgpiQVDIbMpbLce@jdrqud%c1^l"hp7+HWdk~> "R#CLouI"1"TJAee]EB_[`8Nmea<>7li.%Se]EB_iPtu=`T"o@ajoeWrqud%a7],skLYNXWdk~> "Rl*WoYUP+"TJAcdD^[R[_`0ddHgc1li.%QdD^[RiPGW3^uE36`R4#Mrqud%_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouI%2"oeJXcKk@Ys0hq2qs2PbrVl3a"6.Smr.4n,rrW/ra5d1'qs2PbrVlcq#flW2oB4_] RAtc~> "Rl*WoYUS,"oeJUb3AeSs0hq2qru8YrVl3a"5h5dr.4n,rrW/r_W1Y"qru8YrVlcq#f?6+p[@!q RAtc~> "Q/\Ap/S.rVl9c!q=Y8JcF[."9/8qc/SF#q>/S.rVlfr#gN):n))HI RAtc~> "R#CLouI(3#6+SfcMI>/Jb6DC#5.cfcKtN/n,EIWc23(li;WoYrVFRpoEP!`qTeI+rr2p'a7],s kLYNXWdk~> "Rl*WoYUV-#6+Sdb5(f(Jb->A#5%Zbb3T$*n,EIVanpYhi;WoYrVFCko*4j]pr_q$rr2p'_Y!Kp n)&qhWdk~> "Q/\ApPm.Q#'ZLn@om+M=9n,EFBmt(Mrrr`9!q9@mk"SV38r;Q]q#gN):n))HIRAtc~> "R#CLouI(3"TJ>LlLf`#ZLe:ml.,_2n,EF=m=G;prr`9!q8_Id"SM$0r;Q]q#flW2oB4_]RAtc~> "Rl*WoYUV-"TJ>Hkk'GtZL\4kkgB>-n,EF9l[f)nrr`9!q82+^"SCp*r;Q]q#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI(3"9&) "Rl*WoYUV-"9&)8oRZV;o)co-rU9ae`Vb;ehu $K(=Gp"SU+9rVlL $g7-SouI+4rr)Z5oRZVL<^rrC)js5*bXrquT4i:@KOa8,]5s8U.4p%.@uLmb8n~> $h*i^oYUY.rr)Z0o7?J:nc\R$q>L<^rrBoes5*bXrquT/i:7EM_YO00s8Tt.o_7h3Lmb8n~> $K(=Gp $Kq$RouI+4rr)Z5Jb-&9"3:69rp]pfa+=9Irr`8uq8_Ca%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Jb#u7"2am4rp]pf_L_aDrr`8uq82%[%`8&?rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5Jb-&9"3:69rp]pfa+=9Irr`8uq8_Ca%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Jb#u7"2am4rp]pf_L_aDrr`8uq82%[%`8&?rr<#8o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gh%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rp]pfa+=9Irr`8uq8_C`%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jaoo5"2am3rp]pf_L_aDrr`8uq82%Z%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gg%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rp]pfa+=9Irr`8uq8_C`%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jaoo5"2am3rp]pf_L_aDrr`8uq82%Z%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gg%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rp]pfa+=9Irr`8uq8_C`%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jafi3"2am3rp]pf_L_aDrr`8uq82%Y%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rquT4Q14l?hXBt8JVVM?!C5N(nH6i-r;Q3c!6=m7!>+ARrrE\mM#RSVr;"CjnIEV8 r;Q`ra7],skLYNXWdk~> $Ld`]oYUY.rquT/Q1+f:kjS!A<6YrrEDtM#RSVr;"4en.*>2 r;Q`r_Y!Kpn)&qhWdk~> $K(=Gp $Kq$RouI+4rquT4p[J7OqD82ng[P;.hU(cnXR#?F!JH?nnGti1l1"d?hraG2a8,Z4nG`L/q#:A` p#Q,RRe?FT"J6tD-0:Kn"9/5oa5?Csa8,Z4s8U.4p%.@uLmb8n~> $Ld`]oYUY.rquT/p[A1DqDJ?1g[G5*kg8f"X6oBF!ERA+n,YW7l0n^9kiV@:_YO-/nG`L*q#:A] qrIbXQi$OW"FV*m2"R(6"9/5o_Vahm_YO-/s8Tt.o_7h3Lmb8n~> $K(=Gpmnc847ncAFUn+$M#;=O,VnbM_V>bUEQ!FqhcncR/4 r;Q3c!6sF$!<2Ng"l]c^m+B" $Kq$RouI+4rquT4p@8.U"?bN6p@?u.!C,K9nGr(5nGr7MnH"<#nF6MJq=+JMhs'Y36/Uhp"3:68 rp]pfa5?msrUKmkZjsh=c0q#!"9/5oa5?Csa8,Z4s8U.4p%.@uLmb8n~> $Ld`]oYUY.rquT/p[8+Orq-CTl1O`=g[>/)kkFNGlJ(b-o^;/KQ7k3iDh q>C6]rrBpnrrDiarrm3qdHeL@Qi@0er;"4emgd51r;Q`r_Y!Kpn)&qhWdk~> $K(=Gp]o;<0:Eb?KUhL<0UT[o&spL4GiX@1d"6Io&spL4GiY"m!CiT?h3dOD)XS6o($:a k4/W!q>C6]rrC==rs1rTs"]-f0gG.(rsJC6ls3:92n))HIRAtc~> $Kq$RouI+4rquT4oC+@pg$mU"4@uF>n3*OS;KhHsn3+3U4+uX%3F_@EnCLu/8Z)"HM*aL'gh&H9 9=Xoh/3Tq99^q(X5!tP'nDS.H6$2Vcf3UR2VXX*%<'b2EL[adrWEr>>mdT^2h9c-i%mESSj(ghG POS(i<'Y,FM>Qcq4elC_G4"eg4fDRYnCLu/8Z(uh2G$QOnCLu/8Z)"HiG1VCFR\eO?9CfVnF/a# k3rJnq>C6]rrC+7rs01trsY2U.9cWGrsIRB$QY]9rsYJV+T26J&EWp#Q96U"qu?[2\s*-rrquT4 hs_,rq>C6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/oC":mjmTZW5$#_mmlHD:9Tec3mlHt06E.t&4FHPbn$c4ZJQRn&8Wt8"&i7[o5Ika7&K"8O\5.aRARYP@$k@mdKU,kB[%s%m#U:aB_#* Zg[@e8O\5/b5:W\3fINAOm_],3g3`Mn$c4ZC6]rrBq2rs/o&rs![1++F4drsH%[$S9C!rs"!/0`:qZ#k\-$GC6ls2+F#p[@!qRAtc~> $K(=Gp]o;<^ZQVT2Y=O<^lQUnR?;/ksV!5?)7AnnR?;/ksV!2DdMi,cgpU8C\[-^Rdss^ r:0iRq(;Z0p$r40q>C6]rrC==rs1rTs"YPhs,A`1rsJ`n9`!rmN;kXRo_\Y"6BhF))u9Mn0`V"M QmW83m?dhTrquT:p$r*Kq(;Z0p$rU;q>C6ls3:92n))HIRAtc~> $Kq$RouI+4rquT4oC+@pg$_5!qUIUVn3(I[q.klWn3(:Okr_u&pK+!Vmm3TBeN)176Lam3kP.:( qXaXS5ogu7S9:#D; 8\a^ZWVan%M>Qcq4_XWdCPqWN4_j`fmm3TBeN)1T5N_h6mm3TBeN)1K8WWT=_XR"[TDI(ueaPl] r9s]Rq(r)8p$`((q>C6]rrC+7rs01trsVC6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/oC":mjlekEqm\]ImlR-9pIrTqmlQ[+dQ2+0m6o=ikWQf[\2rZ3qWm.ia6 qXFFO5C6]rrBq2rs/o&rs"A\q]3`TrsSN,\,WH4n,ETJrr)cp&.%q.#)`HX*QS35 !,<&_K`7><"9/5o_Y*?tR/&W?PP+AS_YO-/s8Tt.o_7h3Lmb8n~> $K(=GpBn`DV#naaXkjtlc%o!;3`nQ)%In^'r!nRJ9lnIUs]pujL*naYL% jtl`$nubjenLmq#naYm$naTY@naY`sp@7^m9(?/[naY`sp@7^m9'7u#o'u>AjtcZ#o#45kA"ihj !VW#[/ch:3p$i./q>C6]rrC==rs1rTs"\Wps6p $Kq$RouI+4rquT4oC+:ng"JU]nFCdFn3,RrnD6M$n3,_"nPkkGn??0eg-,)tnoo344i6[XnaJd" qX?!uhsg-j48&+5]Nj2Ro^MAAnCg%tnFCdFg-53!nm71Bn3,e#nC6]rrC+7rs01trs[W]s4n=crs@Wlrr<"!Ap@[nba8,Z4s8U.4p%.@uLmb8n~> $Ld`]oYUY.rquT/oBn.jjHE[9mda5kmQ9Y#mZMARmQ9_%nO:pqmq'&tP?7>Cnkm6#=Np1&md<1" qX-R0l0du0;tBAHBsO()oBu);mZU`Cmda5kP$mhJo17!kmQ9_%mT[WtmQB\#md3ZOn=3GJmdY"s P?RMEo1$k!mOpZcmd?6Rmd<1$md?9?o'Z'G_Cnkm6k4QlY1 !VE#]2?B6=p$Mq!q>C6]rrBq2rs/o&rs%rls*.*4rrI[$rr3*G_#FW.qYq*4o`#-as8R=7s0McD p!sYlQi@0er;"5&mK)sPq_eJCp%@___YO-/s8Tt.o_7h3Lmb8n~> $K(=Gp]kmbU]Xj#I&."4KHo3;i:Ij#I&."OfR)A"iei!VW#] /ch:3o^N%.q>C6]rrC==rs1rTs"^2Gs7QQmrrMHprr3,N'`Tq`qYq*nPQ*D0s8Vcps7u_-s8V-f Qi@0er;"V0nH&?Qr@S,:p@Rkbc2%;:s8U@;p@$nbLmb8n~> $Kq$RouI+4rquT4oBucDf[37hmh_]umlfUtn)6:qmlfXumod!cn$uHed7F9*$DLPiW*)3&k3kOj qX4SNiU?6_2uZYV:Ku4:r9j[68H/&[U/fT4rpLSOM=9mri:$-(EUW?^h='frh.2uZYV:Ku4< rpKl;M>Q`N4lGetiApAq4lPkud7F9*#bk>f5Mbesd7F9*"/8fC8,VfVd7F9*"JSob6/DG,!VN&_ 1]a!:o^;n&q>C6]rrC+7rs01trs\,ks69gdrrLXfrr3+_/,p%BqYq* $Ld`]oYUY.rquT/oBl]AjE#tQmMB9>mQ9Y#m]oFPmQ9Y#mRPmsmV'&sF+aJ[$=L=6P>Oc&lL$as qX+MKkjIk]6N0jb8tg?Zr9aT,KDt9@@((-6rpCM#amSRYkjIkF_=$_RkO.bMK(A>P6N0jb8tg<` rpBedantK846Z,#Z:XKP46Z,#F+aJ[#[k+/46Q&"F+aJ["(8QZKDb-C6]rrBq2rs/o&rs&/rs.pV2rrH#/rr3*[Y5\_!qYq*4o`#-gs8So5s31Q2s8PYr Qi@0er;"5%mK)sPrAF\Ep%7Y^_YO-/s8Tt.o_7h3Lmb8n~> $K(=Gp nH$$pqsbh1I.?ad2=^3;Y4;&F1@F]&^e4-&U%.[91@F]&^e3fGm/?G\k;)Jqn\@ceA"ibh"nnE< /sc5&nH7&3r;Q3c!6t<=#XXaT11^Fblj3Oh$1S2rs8TbWs"^DHrt%M\s"\-bs6L$ks!qa^s5aWT rr`8uq9AO$"nnEr;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4oC"4mf\8RWn*bFCmleqan'FDimlfUtmocsbn$lBdgHFunmrimCo_IohEpl9L qX4SNi:$-h5Q:H]qYAo/meuS[gHFunmrim/55t!c?&A%=4lGetRrRoc6/D"B54.h-gHY]5"8_iJ 5lU3Q@Yt!N+[+*=n'FDimlfUtn(U"nn*bFCmm,^tn(U"nn*bFCgcY$'mg7`3mdKUfG4.`QqX4U\ Shr9kp%.VSa8,Z4nG`L/q#:U2jo5b9s8UO\r;R)^$i^2+='#>0l2(Dk&EWp#d/X-p'*%t>fDkld (RP.(rquT4oBukUShr9kp%.V^a8,Z4s8U.4p%.@uLmb8n~> $Ld`]oYUY.rquT/oBl]AjHs$JmMAa=mQ9@pmY,NGmQ9Y#mRPjrmV'&sQrj:T$;nb0p%dQ=_!X;H qX+MKkjIl.@fH0*qXg=Xr9aTQ=8qUi;8ec,rpCLlamSRYkjIkF_=$_RkO+C8na>h7@fH0*qXg+f rpBeZantK845fPpKl-8G46Z,#Qrj:T#Z8P.46Gu!Qrj:T"&["-<;c.bQrj:T"B!,*4QlS/"n\EF 2OX70mK:?%r;Q3c!5eO2#RL)) $K(=Gpejt 0:2\@rquT:o'cbSQ'M(6n.*_=r;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4oC"4mf^D+tm`mlHmla\6kZ3]3mlfUtmocsbn$lBdmm3Q5c8sY8`U<2=Gje/> qX4GJi;W0p9U+l2d_tTGNpH#Dn*`Q6m`mlHmm!] mm4eYi&Z_lmg2-WkNGs+n*`EtrpL+YT'jlbg$_GJrpLUgT'jlbg$_Lmlg)4Pmm3Q5c8sYI6/DA* "8/"Ip%%PRa8,Z4nG`L/q#:U2jo5`@o^shWr;R*%&Wm"?#h].cl2(Dk&EWp#/bJ]gErZ/Y3:H;_ EL6\-rquT4o'Z\RQ^@C9mgdD6r;Q`ra7],skLYNXWdk~> $Ld`]oYUY.rquT/oBe(ij6\tAmBSe6m5oscfL3pMm5sLum75apm:`rqm6&&KZ9%'Mdd60o_sK\C qX#mskO%[+5d9V>_qsiHXmG,bmHm$KmBSe6loW/QX#eAim5sLum9[Wrm6'O?5jA:8%IcWem-2FE loWqg_E#a8m0Pk,lI\MJmHm!urp9tR]^ $K(=Gp]hhC6]rrC==rs1rTs"]Kh%R'4Vrs8-j$P@I[s"^DHrt%M\s"]Kh%R'4Zs8IZc$;'`R rr`8uq9AI!s7Z!P%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4oBn4nfC%I#4@uRBmQJ$S4*^>amQKIqmTHg_m^H3ambM/28ZM:6=?Slcn*[MM 5I14T!Bo?>mO7C?5!N;fmceIK6$D\ah-E-7WpoH-;a>#DNUH3thsTp$EUN6[gmC#!8.JhklYo$P >eod[<*s6_M>Q]I4h"0JGk1:j4l?8,,2HNe8ZM:JZU@$`mbM/28ZM:Jl"W=HG4+eS>s(]YnErQs q!S1Tna6M"q>C6]rrC+7rs01trsYnP$<[3&rs7=;$QPN5rs\/grt#b'rsYnP$<[3*s86=7%V5L( rr`8uq8`$ns7PpM%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/oBe.kj6jTY5$#tsm5pe06'^p+m5sLum75apm:`rqm_)L^%S*fXW;Ee.,md3.! q!J+Rna-Fqq>C6]rrBq2rs/o&rs"5u%t+?Qrs5eT$S03rrs&/mrt#J.rs"5u%t+?Us6rMa(l&$V rr`8uq82[hs7GjK%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp:'bo'l5H qtU*Y!VuBdn0du-qtg!TnFuhWq=*nDq"ss^nF5uDqt[@$nF68GnF6#FnF68Ho)&C^s6p6eqtp6_ nF?MR!VQ:!XnF68GrpUKhq"ss^nF6#FqtT[Nq"ss^rpUElqtp3YnF?;NqtBOKq=Wn> "3pZ>rp]pfc1V);18O"2!A^I/rr`8uq9@gd%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4oBm+cnF#f@qtfpPmQKS*qtL*X*;]-lmeQGAmdg2AmdU#KqXa.Dq>0s^n*]fD qXXRP!W)9amO7PuqYL!WmdKoIqY0FGnG)nWoBu&9q>0hiYjUrUn*]W9p[7JGn+?MVq@<;gn+Z\T q!meAq=saZp&".[4lZ;7p\sR]qX=FO,4PC)qXa.CoD8=SmdU#KqXa.Cn+Z_Up[7J=q"spZmdBr? k3`>lq>C6]rrC+4rrEPmjSo5hl&5QDrquT4hsLupq>C6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/oBZt`mHjB0s\m-OB@ qX4:J!W)3_lmV>sqYKsRm-j`Gq=Et>nbDtUn*KE2q>'\Rea2Z!mHj37nEfN;q=jRXn,)GS47)e>o`"1XqX+:K,4YI)q![S9o_SFPm.'lIq![S9n+cbToBbi6q"jdSm-OT9 k3N2eq>C6]rrBq/rrE>sjSo5boo&hPrquT/hs:iiq>C6ls2+F#p[@!qRAtc~> $K(=GpQA3kX59!EQ>4mfUi1r;Q3c!6t3:!A^J3rrFmNMuNnYr;"Up mgdV $Kq$RouI+4rquT4l0\R8hnSR_]&E(o3Tf)a!Bo>MmK:N*r;Q3c!6=d4!=\5RrrEPmMuNnYr;"Cj mLI;5r;Q`ra7],skLYNXWdk~> $Ld`]oYUY.rquT/l0JF4k.g6dYNG2H53Ubf!B]GRliY-#r;Q3c!5eF/!=&5XrrE>sMuNnYr;"4e ljgo.r;Q`r_Y!Kpn)&qhWdk~> $K(=Gp4mfUi1r;Q3c!6t3:!A^J3rrFmNMuNnYr;"Up mgdV $Kq$RouI+4rquT4l0SL7hS8F]UI7CBZgQT8!Bo;Lm/tE)r;Q3c!6=d4!=\5RrrEPmMuNnYr;"Cj m1.24r;Q`ra7],skLYNXWdk~> $Ld`]oYUY.rquT/l0JF4k.g6cI6p5'f@oQl46F'>"2am3rp]pf_Y*p0#5.'W!=&4Trr`8uq82%U% `8&>rr<#8o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gc%aFhIrr<#C p@dt4c\S!hJ,~> $Kq$RouI+4rquT4l0SNJm_A,loD8=Zo%NI3qX1l\"3:68rp]pfa+=9Irr`8uq8_C[%`eDCrr<#= p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/l0ABHm(_ihp%eFXmb6t-qWt`X"2am3rp]pf_L_aDrr`8uq82%T%`8&>rr<#8 o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gc%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rp]pfa+=9Irr`8uq8_C[%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rp]pf_L_aDrr`8uq82%T%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gb%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaBQ+"3:68rp]pfa+=9Irr`8uq8_CZ%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rp]pf_L_aDrr`8uq82%T%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprp]pfc%5oOrr`8uq9@gb%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaBQ+"3:68rp]pfa+=9Irr`8uq8_CZ%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja0E'"2am3rp]pf_L_aDrr`8uq82%S%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5JaBQ+"3:69rp]pfa+=9Irr`8uq8_CZ%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Ja0E'"2am4rp]pf_L_aDrr`8uq82%S%`8&?rr<#8o^qnHhh[]#J,~> $fCFHpL<^rrLIDJcFX-"9/5oc/@t"ld5J+rr<#Cp@dt4c\S!hJ,~> $g7-SouI+4rr)Z7l%/0)lNHIpq>L<^rrL7>JcFX-"9/5oa5H7ol,ri#rr<#=p%@q>f8,ipJ,~> $h*i^oYUY.rr)Z3kCMm%klg1gq>L<^rrL+:JcFX-"9/5o_VjYhkJd8qrr<#8o^qnHhh[]#J,~> $fCFHpL<^rrLjBJcFX-"9/5oc/@t"j4X8,rr<#Cp@dt4c\S!hJ,~> $g7-SouI+4rr)ZChgt*tlNH+qq>L<^rrL[;JcFX-"9/5oa5H7ohpqQ$rr<#=p%@q>f8,ipJ,~> $h*i^oYUY.rr)Z?gk"^oklfehq>L<^rrLR6JcFX-"9/5o_VjYhgsPrrrr<#8o^qnHhh[]#J,~> "Q/\Ap "R#CLouI(3"TA2^bis]EZKhYXbj,''n,EIWchi:ni;WoYr;"CllNHIrlMCJYrs6[ "Rl*WoYUV-"TA2]aQJ-=ZKVMTaQ`R"n,EIVbPQkji;WoYr;"4gklg1jl2(AXrs6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouI(3#6+PqgV;M,Ja9c1#3agVg\C^Gmf*CKc0Y@Zs5O%\rr)Z5j6Hp5gV;M "Rl*WoYUV-#6+PqfX]VrJa'W-#3OOJf_GCDmf*CIaQrbTs5O%\rr)Z0j66d1f=BQ/r;Q]q#f?6+ p[@!qRAtc~> "Q/\ApJ\SY.#/\^Lp\OjfmJd7Wg "R#CLouI(3#6+StpZ9Q1J[i.u#/&+?p\OjfmJd7Ue]NH`iPu#=_p7;P#/&+?p\Ojfrr38Ep%@q> f8,ipJ,~> "Rl*WoYUV-#6+StpZ'3"J[)Yg#.;D0p\OjfmJd7Td`$dSiPGZ3^<,E?#.;D0p\Ojfrr38@o^qnH hh[]#J,~> "Q/\Ap "R#CLouI%2#6+Stq"FCRJb6JEs7HNgq"jsgJcEjl"TA5mp@[S?s7HNgq"jsgrVm/Dp%@q>f8,ip J,~> "Rl*WoYUS,#6+Stq"FCRJb6JEs7HNgq"jsgJcEjl"TA5mp@[S?s7HNgq"jsgrVm/?o^qnHhh[]# J,~> "Q/\Ap "R#CLouI"1"9/8sqLSILq#gKkrVhBJaSuAArVQHOq#gKkrVl`p#flW2oB4_]RAtc~> "Rl*WoYUP+"9/8sqLSILq#gKkrVhBJaSuAArVQHOq#gKkrVl`p#f?6+p[@!qRAtc~> "Q/\Ap5Ws8Moq#gN):n))HIRAtc~> "R#CLouHt0s8N#rJc*%Urr)lrJcEai!<2urk5>5Ws8Moq#flW2oB4_]RAtc~> "Rl*WoYUM*s8N#rJc*%Urr)lrJcEai!<2urk5>5Ws8Moq#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHk-Jc<%UJcERdir8`Q#flW2oB4_]RAtc~> "Rl*WoYUD'Jc<%UJcERdir8`Q#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\ApUIs[/9k(A>b"Ya8Z1e;Wdu[=1%W"!G&*Zs7H "R#CLouH\(!C?#+rrGFNq>UIZmJHna60a%$a8Z0qNTU6A54/"B!C?"%s7H "Rl*WoYU5"!Bg)2rrG7Uq>UIWp\Xsk4SF@+a8Z0@eE6c3488CI!Bg(,s7H "Q/\ApqVt'cf?Diqc#gN):n))HIRAtc~> "R#CLouHt0$.*!>6=SUIs0)1drrH2erVlrM55k3T!O)7nrrG=Nqu6[_l@JuirrtqRq#CBJ8bE#` LQ1s+!CkQ2rrG=No`"qXlMUY^7f>.DlLFlT5O+C2#flW2oB4_]RAtc~> "Rl*WoYUM*$*dJj7rRnss/l4grrGR@rVlnS?1n3uXo/"p!B^&QrrG7UJcFL)#!Yi[s8R.uo`"qm eF`bA5OA(C!B^&JrrG7Ur;Qa]rAFZLnc&VPp6#@\_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouI"1#5UB\q!l>Tm/I+06N-ob@YXXW!<)Wk!C#oJrrGFNJcFL)#"DIMs8UeEo`"rINV*5O 7aq&1!C#oCrrGFNr;QdecMmY/rrG@LOoG^-p%@q>f8,ipJ,~> "Rl*WoYUP+#4":gqs:f]m/I*6D#OA79$m>4!;Z?g!B^&QrrG7UJcFL)#!YB!s8R.uo`"qmeF`bA 5OA(C!B^&JrrG7Ur;Qd^kPk;HrrG7UOoG^(o^qnHhh[]#J,~> "Q/\Ap$_\PP:RUAt6pRpJhhA>fI<:cUn; s8Q/n=ZU$_s8QW-s7q4.3IQJYiVsmCBJnB@mPt7HoPlfQO8o7NA2dMr;ZHdmJNPr@qu6\BC]+2K \PP:RUAt6pTNO "R#CLouI"1!pqlDqu6^`lJ;G/#EjC(2EYQ+XZ<^CSRNW9%KDa$RYqu6[de,94^ N_;K6a8c0']21Y "Rl*WoYUP+!jalcqu6^[p4*'4# "Q/\Ap)^$#@o!G&,-rsAXAGlN&%p%<9Ur;S@c8H8_N2ug\Ss3rdks&V\`s8QW-s1m^q e1pCk=$u-JM,jTUA>fHQBD(q:Jq "R#CLouI"1"T1H7amo?0!C?#MrsAKmYQ%=crTd%tr;S?kF8u9Q8,oUVs1:>hs#t;us8PCMs/PJd ]/oih5$@UR>EJmb60eJERf2PDb(9TPruFScFG0\J8cS`UU]/q-ir)0Ds3a&is8Pf^rTd%tr;Qde e,94^WpThu3rAq@=n_SoOT5>TRf2PDb5Xcmr;Qdee,B:YrBd:YffJ-m5'?l(;8`G65O+C2#flW2 oB4_]RAtc~> "Rl*WoYUP+"ReF>deWkA!Bg)Trs@mSh#0OPrma:!r;S?F_uKaUKE&FRrK9tTs#ZqRrVo"Rs0q\" P#)&V4,a%$7aqD;4SJ_>^&HPIl@JupruF>n:WWQWMuWQ8`rE\5o(P8ls0"H4s8>6srma:!r;Qd^ m/6l"\+T]_:]:;TMu;g/e,TA4^&HPIlMj!?r;Qd^m/?qrpcZXs]K>]a4/r8U6g+LL4SFp;#f?6+ p[@!qRAtc~> "Q/\Ap5ms7J/Ds8V1Hr;Qrm1%>4)@/U$-C7tT.OoG@]A>fA*'5F3? =+gPQn2:7GA>f)UqZ$TW6%T'qruHB(q)HXe3)qZ$TW62tJnr;RRY1Hmuls7A)Es8U/5s&YZhs40mDs'DUcrs6mCp@$nbLmb8n~> "R#CLouHt0$0[%=2JDLXs$>rLrs "Rl*WoYUM*&^Ybp3Igi(s#g#Ts8>Zus.r]orrHlJr;Qqn:At2Zhu*KW4nen;oD\aj4SJ^Q%R'Oc 47N:MNc4st4SGUNrr3"6]n-4Crs:pZa[>oGMuT;Lrr3'uc'qr:rrbjAs.r]orrHlJr;Qd^m.gSg 4nen;nGiNKDuZY5rr3+9^&L4gr;R!d6q'P#s.!3jrsVfMs#]oRs'3nMs#g";rs6L6o_7h3Lmb8n~> "Q/\Apb1f`0-$6Us+ps&ZT,rtT(Bs3"_97lZJ- =0MZ(pG)^JA>elMr_!r;R"IAE`7Bs6hrHrs[[Hs&ZT-s4L!Ds'DUcrs6mCp@$nb Lmb8n~> "R#CLouHk-%dn.3s8PCMs8SQhrVt_5r_ihp>l4O26HnsXpA_0r8kh5*s$#iLrtRibs/T9p9fD,5 54/CMmQ(=I60d;cr_ihp>_2q7rs;0Os*T.H8cRXlR+Tr;R!k_Wg=Ns5$ "Rl*WoYUD'%cC$Hs8P4Ts8Qherr741r`&tkW;QZ+r]TSf4o>8C;b^"HoD^oHrr3]qpA^=T9hm\> s#]uTs0t]$s#g""6iL'd8uR=@ir9 "Q/\ApfA*!I8JZrt4lYr;Zf=9E/)#s8UbDs8QE&OoG^3p@dt4c\S!hJ,~> "R#CLouHh,%Gs8Is$>rMa?K4qs6)]@rskT&S6Q$]46$;?6fe82mJd,#60dl"irB$GjSqF"s8UqB s8PCMkWaXuh>\$UhZ*4.b";Wr4oYK]H$JLf8,ipJ,~> "Rl*WoYUA&%=_:Us#g#TQsBLfs.ElqrsiA5?)dk7;ss\c4nJ\8p\t1-4SH[dGnGgj"ClA=`=oSF';U(\Grr3*neGl1Op\t7Ym/?qq\Pqqrs#ouR47N:MNc4rj A,H9,4SJ^Q!C,rLrrJWmrr3C)c2Tm"s8QHMs8P4TOoG^(o^qnHhh[]#J,~> "Q/\Ap "R#CLouI"1%J#nEr97ous8PCMlTEeurs&HsSGN6BdJNqRnhr_Ys6;iIs3ER`s$#iLru+2gl9G7I cSae`5$[jW?'#$c60eGDSGN6Bd=M>WruFScs8RaM8cS`UVuGF3i;Gsds6_q-s8G`_qYoC"r;Qde cMmVWqW^f8,ipJ,~> "Rl*WoYUP+%EY[6rS1#:s8P4T`'Nkkrs&?c]`%]Smed"ob<.oQs.j6*s.hUFs#]uSru+#nUh0Q* Uc7oF4-'7(8(%A:4SJY;]`%]SmXbDtruF>ns8Q+bMuWN6aoB(9o(G33s3NdUs8,'orVFq0r;Qd^ kPk8prM4$(s.hUFs#Z8=l:98%q`qgmqU+a24SJ^Q!C,rLrt4ufaoB(9o)CfGs8QHMs8P=LOoG^( o^qnHhh[]#J,~> "Q/\ApY!6 G`2T'TNO<`nGiN!VuQRH4ulH3JcFa0*I2W(s8,#?s8V_02a!'!s7'T%A>E-'s7q@43Dc@Grr@?C /f@(WVF>!6G`2T'TNO<`nGiOaKg%LnTDrH"r;QeCC]+2FoPZZNN;roZ[/^0Z8cShM8igdPrs6mC p@$nbLmb8n~> "R#CLouI"1%/>?E2F2NVs8PCMTJld@#@7B"F?`#tb52,I;EOjWs+X<`LdpJ*54/@L)F 7caS5]21V9r;Zd_lMpBr5Oe 1`9s+L/2N>7caS5]21V9r;ZfeF?`#tb5Xcmr;Qdee,94Yia=oAXT/;amJm3ZFT;BM7R4\Ors6[< p%.@uLmb8n~> "Rl*WoYUP+%,Z.q3(f,)s8P4T?U4T`#G(nGAO&\$lh^Vj6W*j_rbkqSV*=MN488aS)Ed`mDcphO 54ee9TM.\>rVum[pA`]T5XfPUJcFa0*C'&ns4B;hs8Tl65?Q>5s0kg:^ 2AsR7DcphO54ee9TM.\>rVuoKAO&\$li0*@r;Qd^m/6kr^f3O#dJs5.p](8#bl@^(6UKq!rs6L6 o_7h3Lmb8n~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouHk-Jc<%Ujo9o2^Adp-#flW2oB4_]RAtc~> "Rl*WoYUD'Jc<%Ujo9o2^Adp-#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHt0s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#flW2oB4_]RAtc~> "Rl*WoYUM*s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#f?6+p[@!qRAtc~> "Q/\Ap5o[`ns$g@,">mJd=grU/@bJ^)!T"OGfjrVl`p#gN):n))HIRAtc~> "R#CLouI"1"TJAee]EB_[`8Nmea<>7mJd=grU&.WJ]GRH"Nf3]rVl`p#flW2oB4_]RAtc~> "Rl*WoYUP+"TJAcdD^[R[_`0ddHgc1mJd=grThkMJ\o4>"NAdSrVl`p#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI%2"oeJXcKk@Ys0hq2qs2PbrVl9c"oeJXcKk@Ys1nX "Rl*WoYUS,"oeJUb3AeSs0hq2qru8YrVl9c"oeJUb3AeSs1nX "Q/\Ap/S.rVl?e"oeJgeGAulp:g5(q>/S.rVlfr#gN):n))HIRAtc~> "R#CLouI(3#6+SfcMI>/Jb6DC#5.cfcKtN/nc&gmrTqi+q"941_"7j(q"i;&rVlfr#flW2oB4_] RAtc~> "Rl*WoYUV-#6+Sdb5(f(Jb->A#5%Zbb3T$*nc&gmrT_Q$p[j%._".d&p\;nsrVlfr#f?6+p[@!q RAtc~> "Q/\ApPm.Q#'ZLn@om+M=9nc&akr7UH1Jb?\K"SV38r;Q]q#gN):n))HIRAtc~> "R#CLouI(3"TJ>LlLf`#ZLe:ml.,_2nc&akr71**Jb6VI"SM$0r;Q]q#flW2oB4_]RAtc~> "Rl*WoYUV-"TJ>Hkk'GtZL\4kkgB>-nc&akr6aa#Jb-PG"SCp*r;Q]q#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI(3"9&)f8,ipJ,~> "Rl*WoYUV-"9&)8oRZV;o)co-rUKmirVFM*Jb-GD!lb$7rr38@o^qnHhh[]#J,~> $K(=Gp"SU+9rVlEg"9/8pc%5Puoagc@q>L $g7-SouI+4rr)Z5oRZVLf8,ipJ,~> $h*i^oYUY.rr)Z0o7?J:nc\R$q>L:>%rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5Jb-&9"3:69rq$-lrr)Z5Jb-DC%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Jb#u7"2am4rq$-lrr)Z0Jb$>A%`8&?rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5Jb-&9"3:69rq$-lrr)Z5Jb-DC%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Jb#u7"2am4rq$-lrr)Z0Jb$>A%`8&?rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:Jb6JE%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rq$-lrquT4Jb$>A%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jaoo5"2am3rq$-lrquT/Jap8?%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:Jb-DC%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rq$-lrquT4Jb$>A%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jaoo5"2am3rq$-lrquT/Jap8?%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:Jb-DC%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rq$-lrquT4Jb$>A%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jafi3"2am3rq$-lrquT/Jag2=%`8&>rr<#8o^qnHhh[]#J,~> $K(=GpC6`rr`8uq9=K^ \FU3Tq>C6ls3:92n))HIRAtc~> $Kq$RouI+4rquT4Z1/.Z;a@>D=$W-eRIfqLOe:n.!BoE"nHFK!naTH0g$o0bq>C6`rr`8uq8\'V \FC'Lq>C6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/Z1&(48j_%G91$otcL^N+?.%p+!BTK'n-)e5nF/j/g$f*\q>C6`rr`8uq8.^P \F:!Fq>C6ls2+F#p[@!qRAtc~> $K(=GpG(BT!F)2inc;seo(!+(;Z$:19`+\CZh3ein3uL=ncd0B2`YU' p[S>hTDnB^0Y[)^j(pe2 5BZAbnd`q?r;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$i&NaRSd$52Pbu!C#B6nGti1o'm$1NViC%Hi*NKcLgW-lTY:;"g1rf6[e7o nGti1rp^"Pio'>1KSof8,ipJ,~> $Ld`]oYUY.rquT/p$_uGhXU(946Z/&!B]N=n,YW7o'cr_b5:a0^\dT*j7MgBf1tl8n-,.R3_bh* p[A2Fkl1&P46b\m"]ie8n:dLfn,pQ'r;Qrr<#8o^qnHhh[]#J,~> $K(=GpbUWW!F2>lncbV/f!EQD^nc?g/rpg(]_qOY`c2%;:oD\plr;"U]nce>8f),9bkjemDeGJ8\mHa&);(c(;68!9Lnd`q?r;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$i&Ob45!&5Mtr"!C,K8nGtl3qsa[Uq=+bj^[^huXmtrRoCVPRX_Ie)#H0c# pZ-Eln+cDR5MuJ1!BoH#nH"<#rp^"NkM#G.a8,Z4oD\plr;"CWnHIl7m/$Imkj\g:nbU3cnE]TE 2tc\@nBCD-n2rOTOuYA=oC3=2q>C6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/p$VoGhXU%846Z/%!B]N=mf>N6qsOOMq"64#C'1p pt&GgmeH5O46Z\4!B]N'mfle7n*f[,le:e0_YO-/oD\plr;"4Rmffmtp%n(.kjJX6pA0_DlL+^> p$VnKbjPf&3];nQ3&]Xbmgd51r;Q`r_Y!Kpn)&qhWdk~> $K(=GpEUp>/3's,*nl1i[:KcrQ]/2W>EV]/L ]/2W>EUm(n>>+Ok:,kS0nuFr37RfU!7RfXDo()-o4?6dGnira[o()MJk$^2IY#52h!NT_ancR/4r;QNnLiYggK[KIZ1@J.8QL:!o'SC+o'/1) nhBY*Jl5?Ol14@!S8Ni#nd"Y $Kq$RouI+4rquT4p$aD!amed_WEr>>mdT_&6:"B%Ai<4R\F>8F4&W`\n3*aW:3#^kAi<4R\G>V< Ai<4R\F;Y[>>4OA8NTh_n7"@G91q9491q@6nF5CP5!a;fn39ghnF5g,`:NKgp->kO2WsT!H]7H+ 2G$QOn3+$O4Eg,]nCLu/8Z)"H2WsT!H]7I`4fMa_EUN>cdSrJFI>Rsm!EQV^n,p`,r;Q]-'_Ch`DHB\ZmdTU(KPs]3nEajgf8,ipJ,~> $Ld`]oYUY.rquT/p$X=ohXBnoP@$k@mdKUc6:"]8=Z9#Jg$a,S4^d%5mlHY>8<3-,=Z9#Jg%k(\ =Z9#Jg$^tc>$:<<7Qk/6moMJ@9M@E<9M@Iln*e5&5"D%u9AQV`kmdK1/H>HjFn(h/Krr<#8o^qnHhh[]#J,~> $K(=Gp'S* oj+Bjq=7QTnb_mfi;:nViqB]jqtn*6qtn<6o($^*mJ5**nci3ao((utlM^91a?];RcLUPF<:]]f V#0uY<^Yj@LK!d6@Vbc'7%3[(cLUPF<:]T\8G)b8C@^n%Er+iX;?$+eb";*n!1*F5!0QsF"3pZ> rq$-lrquT:bOQL#3,P,Go((T4qRC50nLgR3l9"Rq7JlrMr:2:'cLTCMoBo$'qWp03m5`bo\i93J 2=g>'3:cVoo((T4qRC50nLg:+pri4.Y5U$T07 $Kq$RouI+4rquT4p$aD!amed_EqoH,\FA6>nGD5.pcmp;oC/U@qmSWQn3(geq,"Tjpcmp;oD.l" pcmp;oC+nXp\OBUl2.qNm.jStqYFC#qYG#tnF&r0p@cB#n-)#3nF50jr9uOj>4=H6nF1jenG#61 qXa2>=7PlcMX^(#TDI(ueaPK\nF1jenF/S]q"[arnF&WAqoh0ZrpTrCF7AZ!R/&Q=PP+DIa8,Z4 oD\plr;"CWn/:\)96mK'nF5T9qLl9Gm53Age55YXCAReer9u-qkjYoinE3:0qU\7,j?N,/MF[1" 6LaL'8FZ+-nF5T9qLl9Gm53>fo?6V'JGqA,2Q63 $Ld`]oYUY.rquT/p$X=ohXBnpU\XRLg$b>Gp\WJ,q)e0DnF*[Pq2e>=mlR+(Cn)QCkpl:j4F1M,Bl2:!!3:$$_Qg`%;p%bk>n%E$"q,`.9 c#<(>Y_V]96LXC4q>+(Cn)QCkq!cMr!UsIq2?GtfnFQ)Y_YO-/s8Tt.o_7h3Lmb8n~> $K(=GpBqsakUXRYiA1%P;5%+%'*29k[]`DlBt>bV/e ,Z]Nfn`_n#jtcZ#o#45k29k[]`DlBte'n,Yc1 rpTqOhu<*]p$qPD6JM!.^@:VpXmkgqS+,/po^MAAqsXbLi:-6c3rJIUS5/Q3kj\(iO7;X'hZ!!i 4kK2mfg>2^4nS77GBE=4kj\(iO7;X%ipcH%HLTWOp$hQVM>luFQsK4N!VN&]1]a$C6` rr`8uq8^\J)#;[Z@TDmdR9X3&I.6Mao'kg0nDlll\*s7a-TP!q38*fA6YU4J;=MP $Ld`]oYUY.rquT/p$NJXhX9enlL+(E`9sL)bjFrgmQ9V2mL]!Yme&a)mQ9_%mT[WtmQ9V*mK#E4 rpBeKl2L)eoC),?4lu*#g@"B!eF)a!cL.#uoBu);qsFVIkjIkb;#K_i?CC4?lL+(=bjOm\kPjlp 46Z,$MehaE=7YeM;8MZZlL+(=bjOm\lL+(E`9rgmna?!C6` rr`8uq81AD)"7=DT1aV#mY+tW6cAEQ9(22gE:1>8P/@+a-TG!l7-O&W?"n"g $K(=Gpi?o;?:nQ_denIWK?6:NqjnQ)j`n]sesnQ_d]nGumg rp^"iYQ"&*^fs,p3/I+/Ab#<$?LdR#=RkE2p[JGjQgsV00B<$$%)bF$29k[]`DlBt>bV/e#Zdtq n`hk!j#I&.'@T/829k[]`DlBtr;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$WP_am\[]i:$-(EUWCq=Z^Zdmm#Y-mgu0n8P:tomlfUtn!e=cmm#Y%mf>Z/ rpKkNiVr9ZTiO`X2V@Is^$kDmXmb^oS+"`pp[8;Mg[FUc2XLD2%!l+G2WsPtI?3jc5Mc>-#X.,7 n)6:qd7F9*';ALq2WsPtI?3jc4lGetRrRoE8cJ/ZIu40n!JGR`mfE*QrA4PBp%7\Ta8,Z4oD\pl r;"CUmhbNdp,M$`9_A+dGOOlZn*fC*n*okVI9-:7# $Ld`]oYUY.rquT/p$NJXhX9enkjIkF_=$oY;+63(mQ9V2mLY:R92%>+mQ9Y#mU!`tmQ9V*mK#E4 rpBeKkl0u`Mc!,@399Krg@"B!eF)a!cL,e,p[/5Ik3hZ*473"7$rXG"2sTi!;p=[t46QV2#Wq8< m]oFPF+aJ['4A9:2sTi!;p=[t46Z,#?GZ&NMZ3#E<6>.-!ER,,mK)sPrAF\Ep%7YS_YO-/oD\pl r;"4PmMGEcn2TWnM>-dW`9uY]mdA)5mdfD?Aq9gI#<;DODJ\]ZY5\/7q-dW`9uY]amKDU3*Z%I:c?>bmLI,0r;Q`r_Y!Kpn)&qhWdk~> $K(=Gp-bnaX7knaTY_naXpsn`Me/nH$$prp^#eAFAskp7!ZeQM0q?"3pZ>rq$-l rquT:bjcV;Z1.;C1YCbRo'qZ3naJ:'na&.'lJhI/2=CG5-:5uIoQtKC5HaPHbjk'\d.+Y*naT'! n]j,anM'Lo5k=H(9C_L+amfVu/i)e`\1UJHnIEh>r;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$X7sam\[]i:$-(EUWAgq]0 rpL^fi:$-m45Kc06eLj+^$kDmXmb^oS+#,pmeH5T;nqeim5qrZmg\YL[-p!:n*atOn*`NtrpLpl d-pGO6LWYlmdKUfG4.EQn*atOn*`Etn*c`cn(U,,mf?mSrpKkf\F/ehoq!usR.^(>"3:68rq$-l rquT4bjQJ1_XHs<39nssn*X5#n*E+(n)ct*hOUu\GOOlZamTJf1ct-oC,C;/mgdD6r;Q`ra7],skLYNXWdk~> $Ld`]oYUY.rquT/p$O1lhX9enkjIkF_=$aaq;Fr]mQ9S!m]KIPqY<;8mQ9Y#mU!`tmQ9S)mK#E3 rpCUbkjIlA;X+&R4ll$"g@"B!eF)a!cL.6&p[/5Rg[=Lm3SOK#%HT_)mPsM"mS(jmmQ9S1mKbo5 md>mJm[.)TmLrI9mPsM"mS(jmmQ9Y#mU!`tQY?Bd!D:K5mK#c0md:8NT/JTqp%.SR_YO-/oD\pl r;"4RmMWUamd@/Cm!c&(kXR L[ORsmXD8*kX $K(=GpPC%1UmXmki+8atrOlL1WDn9fHLnE2XknD,dRn5c[\nBX\qn9fHZn,^Lr qsXW6GQ.(Of/'%et4ki7X_lL9^OnENbI nF1gLrpV@;6e^s]<:KBdD!g+KSFDGVnENbInF0J\nF4aqnF0eGnENG>nF5m=`pN6top(g9o'cb+ q>C6`rr`8uq9@.Q)C6ls3:92n))HIRAtc~> $Kq$RouI+4rquT4p$X7sam\[]i:$-(EUVc'mdG@Emmk7`n(^.rn&%$8mlfUtn!e=cmmk7omfAcc qsOPU_Z'!D4lGetgct8r__p*8;n_Yg=fq/]CRae]8WN-&]_h-uY\=%)&un((le6ATnF'&Xn)-C6`rr`8uq8^_J)<5C&:/e^lmr)u[Q?Vfa3q)P"6LVll<_oXkmj:'Xn*e[kn&/4-;2"E-W(C?` 9(25IM`3K?oC!10q>C6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/p$F+khEU9BX[C6`rr`8uq81AC)7j-J9juiEls+RH>/Tae:[RPhDs`Wc=&mWFm3XgWmHp*Tn>9#a;mG`[LJD6= N:$"e@<@?]mHm7-ls+RH>/Tae:W_u/fJkd?IlK@FoBd%)q>C6ls2+F#p[@!qRAtc~> $K(=Gp0j`n0\#&nF5uFnF?>NqY9RLmJ?Y%9^qQB qY9g^nF6>EnFl\QpA4:JqoJ72j_Hn27?.$4n.*_=r;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$OA"aR8IZhsTp$EUMO_4[3fPm^#;GZL\qmt=DGJjn;Z;n_Ve=fh&ZCRX\Zl"W=HG5L\qm69h'mdm_b3'i#`mdA\&>AA>B md@DL5I0]?[n]#0o'Yr%>s(]YnF"n(>AA>Bmd<6qmd?N`mdA_,?Y4S?mdA&"n*KKBp$qGPa8,Z4 oD\plr;"CWmK`4TqYBsXmdC)K$MF/]mecG?n+uJBrqQQdr9agen*]W6qX3qRq%NJimcaNBTR6+p oD/.RqX3eKmdC)K"SMNWmeb)n#0L@92cH^GoBm+/q>C6ls2Xg*oB4_]RAtc~> $Ld`]oYUY.rquT/p$F:phXFuf(*ZYAY20Hm5sLum9[Wrm>XFuf'PiI qs>Pd6:'2i46Q"unnhE=T0D<&7G@.r8(6km:!W.nbZm>%S,;S?geR5'mIluC3D5Y/mHq)L?@Pep mHom"6.YEbRS#l2n*TPV;Ee.,md72M?@PepmHm!umHn5rmI%>V@sLnmmHoJ!lg=`Ena-Fqq>C6` rr`8uq81AC)=dLtq=sFGmeHMMq!d\=qC6ls2+F#p[@!qRAtc~> $K(=Gpnqq"OLOo_@qFoD.nFoD/CT"8D]iq>0R]c!UJ>#kIfgqtTaOnF?MR)"m^o nFHGQq!e+Pq>:!XnF5uCqtp*VnF?MR%/'GcnG2_GnFHGFnF?MR"nh`]n:msrn,pr2r;Q $Kq$RouI+4rquT4p$OC-na>iAn*]W9p[7MGqYKsTmdp;Oo'Z5Iq"FRRmeZD?me$8Amdp;Oo'Z>H qsF[[qYKdNqX=FO(\[\"pA4:Hq=!\$qY'CGmdU&Ip\4@K mdp;Oo'ZAFq>9pcmND#oqtfpPmdU&Ip\4@KmeZD?me$8AmdU&Iq"OILmSMfomK:N*r;Q $Ld`]oYUY.rquT/p$=7+mHj39mHj37nEf`AqYKmOm.C/Nmd0ZBp[e7Km/$,9m.g):m.C/Nmd0f= qs4OZqYKXHqX+:K(\[XuoD7k@qX3_:qC6`rr`8u q8/cj"Cte;K'fr3"nMHbqY9RNljgo.r;Q`r_Y!Kpn)&qhWdk~> $K(=Gprq$-lrquT:TC2dOrqQQaTC397q>C6ls3:92n))HI RAtc~> $Kq$RouI+4rquT4RI1+KoYU"sq=*)*"3:68rq$-lrquT4TC)jVq"a[QTC*30q>C6ls2Xg*oB4_] RAtc~> $Ld`]oYUY.rquT/RHstLm_\;kqZljgo.r;Q`r_Y!Kpn)&qh Wdk~> $K(=Gprq$-lrquT:Ja^,;%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rq$-lrquT4JaKu7%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/JaBQ+"2am3rq$-lrquT/JaBo5%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:Ja^,;%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rq$-lrquT4JaKu7%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rq$-lrquT/Ja9i3%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:Ja^,;%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rq$-lrquT4JaKu7%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rq$-lrquT/Ja9i3%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:JaU&9%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaBQ+"3:68rq$-lrquT4JaBo5%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rq$-lrquT/Ja9i3%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:JaU&9%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaBQ+"3:68rq$-lrquT4JaBo5%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja0E'"2am3rq$-lrquT/Ja0c1%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5JaBQ+"3:69rq$-lrr)Z5JaBo5%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Ja0E'"2am4rq$-lrr)Z0Ja0c1%`8&?rr<#8o^qnHhh[]#J,~> $fCFHpL $g7-SouI+4rr)Z7l%/0)lNHIpq>Lf8,ipJ,~> $h*i^oYUY.rr)Z3kCMm%klg1gq>L $fCFHpL $g7-SouI+4rr)ZChgt*tlNH+qq>Lf8,ipJ,~> $h*i^oYUY.rr)Z?gk"^oklfehq>L "Q/\Ap "R#CLouI(3"TA2^bis]EZKhYXbj,''nc&ajqWc;hJa9u7"R4.qqYgEn#flW2oB4_]RAtc~> "Rl*WoYUV-"TA2]aQJ-=ZKVMTaQ`R"nc&ajqWZ)aJa'i3"R!kjqYgEn#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI(3#6+PqgV;M,Ja9c1#3agVg\C^Gnc&gmr:o$]gZX4S_!;3ggV;M "Rl*WoYUV-#6+PqfX]VrJa'W-#3OOJf_GCDnc&gmr:npTfB.YK_!)'cf=BQ/r;Q]q#f?6+p[@!q RAtc~> "Q/\ApJ\SY.#/\^Lp\Ojfnc&gmrVH9Ocbb7J^qU)jcfb'!rVlfr#gN):n))HI RAtc~> "R#CLouI(3#6+StpZ9Q1J[i.u#/&+?p\Ojfnc&gmrVH9Mb.N;8^pjT]b2rBorVlfr#flW2oB4_] RAtc~> "Rl*WoYUV-#6+StpZ'3"J[)Yg#.;D0p\Ojfnc&gmrVH9K`3k0$^p+*O`8gUgrVlfr#f?6+p[@!q RAtc~> "Q/\Ap "R#CLouI%2#6+Stq"FCRJb6JEs7HNgq"jsgn,EUkrVH<_p% "Rl*WoYUS,#6+Stq"FCRJb6JEs7HNgq"jsgn,EUkrVH<_p% "Q/\Ap "R#CLouI"1"9/8sqLSILq#gKkrVl3a"9/8sqLSIVq#gKkrVl`p#flW2oB4_]RAtc~> "Rl*WoYUP+"9/8sqLSILq#gKkrVl3a"9/8sqLSIVq#gKkrVl`p#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHt0s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#flW2oB4_]RAtc~> "Rl*WoYUM*s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHk-Jc<%Ujo9o2^Adp-#flW2oB4_]RAtc~> "Rl*WoYUD'Jc<%Ujo9o2^Adp-#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Apb=b#gN):n))HIRAtc~> "R#CLouH\(!C?#)rrIn7JcE4Z!JcZsrrG=No`"qXlL"TP60a@-#flW2oB4_]RAtc~> "Rl*WoYU5"!Bg)0rrH0MJcE4Z!ER_4rrG4Uo`"qSp?hk\4SF[4#f?6+p[@!qRAtc~> "Q/\Apb=b#gN):n))HIRAtc~> "R#CLouHt0$.*!>6=SUIs0)1crrPYIo)AXj:c.P3rrIn7JcEpn#"CZKs8UeEo`"rINV*5O7aq&1 !C#oCrrGFNqu6i3?p$Sdb5)&<60a@-#flW2oB4_]RAtc~> "Rl*WoYUM*$*dJj7rRnss/l4frrPDEq>UBq6T4Z2rrH0MJcEpn#!Yi[s8R.uo`"qmeF`bA5OA(C !B^&JrrG7Uqu6hr<]`]qkkY5Z4SF[4#f?6+p[@!qRAtc~> "Q/\Ap'>;M"kkrs!a0;ucmc3;!4Ocr0N9!I8JRrrH3. o`"r&Vu6Q!h(bJdpWRUPrrHZ.pAY-lQN%68p@dt4c\S!hJ,~> "R#CLouI"1#5UB\q!l>Tli.5[DkI(0nNo2$p&>&JNIh,QrrtqiNrT.58bE#`LQ1s+!CkQ2rrG=N o`"qXlMUYdY<'/`o=no5rrGFNpAY-kQN%62p%@q>f8,ipJ,~> "Rl*WoYUP+#4":gqs:f]li.5T9&'CGaD*^.p&>%ne:IYCrrt\Qci=#dMtI#M "Q/\ApfJ"EAp%As8Q/i?;6ac#gN):n))HIRAtc~> "R#CLouI"1!pqlDqu6^`lJ;G/#EjC(2EYQ+XZ<^CSRNW9%KDa$RYqu6[de,94^N_;K6a8c0']21Y "Rl*WoYUP+!jalcqu6^[p4*'4# "Q/\Ap)^$#@o!G&,-rsAXAGlN&%p%<9Ur;Rg`E/17hCVDm5rap!Dlp[WI@WhY53`?"X H"ZgCE.WZ@e,LG6E4A^DmPt7GAo.A27A9]iFoCMb;ZHcBBD(q:K)GWLH#*?X(Vo,3e1pCk=$u-J M,jTUH"ZgCE.\+#Vu?VsoIo_3rtPHED# "R#CLouI"1"T1H7amo?0!C?#MrsAKmYQ%=crTd%tr;Rg-hFd#36LZr#rBd:YffJ-k6*(%64cTLA 9q)%H8]lVae,LFXhK4GNg.D>C6DOP53o^*(X8gU2NW9#QRf2PDb5D8?7aq;8(TQm&]/oih5$@UR >EJmb9q)%H8]q'!lM^_ak;N89rtPDuU]/q-ir;=0rBd:YffJ-m5&L7`rs6[ "Rl*WoYUP+"ReF>deWkA!Bg)Trs@mSh#0OPrma:!r;Rg&n3H[G4o%)2pcZXs]K>]Y4O3u13Rn*- 6,!9J5jEq#e,LFQn5%.*F,U(n4i[N747`,.cMt(.eGoJ5^&HPIlMUY_5OA=J(Us)9P#)&V4,a%$ 7aqD96,!9J5jJA3pAP!mSNQlKrtY;l`rE\5o)CiGpcZXs]K>]a4/)ZPQN%6-o^qnHhh[]#J,~> "Q/\Ap5ms7J/Ds8V1Hr;Rg`E8aL_3r_:EoJ6@Es2[k*1]@@RYYtMo 1A_%Nj["Ite,LG6E;;K "R#CLouHt0$0[%=2JDLXs$>rLrs)iRI 49#9[^KuKke,KtKhXW]!g.D>-4oYK]G^/C8rr3:.NW89*rr<#5?Msg(7aq/4'11s`52?2r54oYK]G^06PjcocNa7],skLYNXWdk~> "Rl*WoYUM*&^Ybp3Igi(s#g#Ts8>Zus.r]orrHlJr;R*gn7g(>OT.<6S65dj"&dC5>Q4X*8(@R8 <;umuC;#2ue,K_=nB"&oF,U'g=T8=&;U(\8rr3*keGl@Err3"6^&7m25OA1F$U+4`47N:MNc4ro <;un#C;'X0pAP!lISp"B!M!9krruBGs#g"F=T8=';U,5'o9B7\_Y!Kpn)&qhWdk~> "Q/\Apml:=H"5H*/3WB$]cVjf30`FfJ9hG9_!I8JYrt!:Z6Us+ps&ZE(s7\8J mkF`9"AMJfA>fD+!q\/8r;Qfd3<&p^gckaKVscVErrh+@s&ZRlrs6mCp@$nbLmb8n~> "R#CLouHk-%dn.3s8PCMs8SQhrVt_5r_ihp>l=U/7c*l'Fh.N2m+t;4rr]0"hF[_H"G)R4hDbF4 !E!*Qs3puS7c+/mHJ1sjhFRYG"/f2V8cJ_mJW9]d2uZ_V;-a&!!CkQ9rsu/58kh5*s$#iMs6_oI hDbF4"ArG(60eFK!p;K>r;QfS8H/VnVcNg`lJ>)2rrf6#s$#h7rs6[ "Rl*WoYUD'%cC$Hs8P4Ts8Qherr741r`&tkW;QZ&5OdH1:uhR8p328jrrZ]EGE)V%"BEtOGXMI1 !D9;As3puS5Oe\N^N5>5GD?+s"(ArgNW/q\s#]uTs0t]$ GXMI1"A5Wm4SJaR!hDIQr;QeALAq2W@DDh)p328jrrccFs#]t>rs6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouHh,%Gs8Is$>rMa?K4qs6)]Art.`Ws'%GWs#9<-4oYK]H$JLr54oYK]H$K?Qm?IVVa7],skLYNXWdk~> "Rl*WoYUA&%=_:Us#g#TQsBLfs.ElrrsD![s$oBQs#B_B=oSF';U(\Grr3*neGl1OJcF$q#s[qZ cp)?)s.!6krrZ0DRqhs&"A72DTO[`r!C,rLrt)_>mf3;MoD^oAs8S*ts.Em!rrG7UrVlrh3U$GA !r\Wlrr31#c2Tp"S6>jk"B*ME485!>#f?6+p[@!qRAtc~> "Q/\ApWq^oDe,1MuQjH kP^<=s8R7Ync.mds(&&*ru0]JT^DKtE;j?dr9["Gs(&&,@rVA58"T`^[$:Rrc1^l"hp7+HWdk~> "R#CLouI"1%J#nEr97ous8PCMlTEeurs&HsSGN6BdJX"c7c+1.cN!o'm/98KrnBKlrB\^.mQ-@- r_8pZrnl+Ss3pug7c+1FKMkDArBdF]gH+9k6-]Gt3fX1=9q;(ZhpMB%!CkB6q&0%o5Q1W.2<=d$ >ke#!O8o2RSGN6BdJlMtr;R\=41Y"U^LmF2VuGF3i;Z+.rBdF]gH+9m54+U7#flW2oB4_]RAtc~> "Rl*WoYUP+%EY[6rS1#:s8P4T`'Nkkrs&?c]`%]Smem)+5Oe^'huE^9p@g\ks1UPbp,q[@coKVU q`qgmqU+_^s3pug5Oe^Q<^;TCpH6Rt^,kiY4R<$o3Rn*+5eR'ldI-r4!C,cHq&0.,AcD_*2tR&2 Nr804dJs)/]`%]Smf,ECr;R[`;9en(XKV@\aoB(9o)CiGpH6Rt^,kib485!>#f?6+p[@!qRAtc~> "Q/\ApYIje+D`9e;s8QW-s7C4g4H0=?=1"4l#gN):n))HIRAtc~> "R#CLouI"1%/>?E2F2NVs8PCMTJld@#@7B"F?`#tb5D8?7c+(C(H:^\ia=oAXT/=U "Rl*WoYUP+%,Z.q3(f,)s8P4T?U4T`#G(nGAO&\$lhpb`5OeUN(HD-g^f3O#dJs6U:hY>UeGoR" AO&\$l[f)bruF>ns8U_2MuWgm<'OL4s8TQ)BR`n/s8UY]5XfPUr;Qa]rAGP6rbkqSV*=MN4.o86 R/R'ben%*8D#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouHk-Jc<%Ujo9o2^Adp-#flW2oB4_]RAtc~> "Rl*WoYUD'Jc<%Ujo9o2^Adp-#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHt0s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#flW2oB4_]RAtc~> "Rl*WoYUM*s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#f?6+p[@!qRAtc~> "Q/\Ap5o[`ns$g@,">mJd=grU/@bJ^)!T"OGfjrVl`p#gN):n))HIRAtc~> "R#CLouI"1"TJAee]EB_[`8Nmea<>7mJd=grU&.WJ]GRH"Nf3]rVl`p#flW2oB4_]RAtc~> "Rl*WoYUP+"TJAcdD^[R[_`0ddHgc1mJd=grThkMJ\o4>"NAdSrVl`p#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI%2"oeJXcKk@Ys0hq2qs2PbrVl9c"oeJXcKk@Ys1nX "Rl*WoYUS,"oeJUb3AeSs0hq2qru8YrVl9c"oeJUb3AeSs1nX "Q/\Ap/S.rVl?e"oeJgeGAulp:g5(q>/S.rVlfr#gN):n))HIRAtc~> "R#CLouI(3#6+SfcMI>/Jb6DC#5.cfcKtN/nc&gmrTqi+q"941_"7j(q"i;&rVlfr#flW2oB4_] RAtc~> "Rl*WoYUV-#6+Sdb5(f(Jb->A#5%Zbb3T$*nc&gmrT_Q$p[j%._".d&p\;nsrVlfr#f?6+p[@!q RAtc~> "Q/\ApPm.Q#'ZLn@om+M=9nc&akr7UH1Jb?\K"SV38r;Q]q#gN):n))HIRAtc~> "R#CLouI(3"TJ>LlLf`#ZLe:ml.,_2nc&akr71**Jb6VI"SM$0r;Q]q#flW2oB4_]RAtc~> "Rl*WoYUV-"TJ>Hkk'GtZL\4kkgB>-nc&akr6aa#Jb-PG"SCp*r;Q]q#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI(3"9&)f8,ipJ,~> "Rl*WoYUV-"9&)8oRZV;o)co-rUKmirVFM*Jb-GD!lb$7rr38@o^qnHhh[]#J,~> $K(=Gp"SU+9rVlEg"9/8pc2IL $g7-SouI+4rr)Z5oRZVLf8,ipJ,~> $h*i^oYUY.rr)Z0o7?J:nc\R$q>L:>%rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5Jb-&9"3:69rq$-lrr)Z5rUU#qJcEUe!42Xq%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Jb#u7"2am4rq$-lrr)Z0rUPL>^]=?(%`8&?rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5Jb-&9"3:69rq$-lrr)Z5rUU#qJcEUe!42Xq%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Jb#u7"2am4rq$-lrr)Z0rUPL>^]=?(%`8&?rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU^)rJcEUe!42Xr%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rq$-lrquT4rUKrpJcEUe!42Xp%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jaoo5"2am3rq$-lrquT/rUGF=^]=?'%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rUU#qJcEUe!42Xq%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rq$-lrquT4rUKrpJcEUe!42Xp%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jaoo5"2am3rq$-lrquT/rUGF=^]=?'%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rUU#qJcEUe!42Xq%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4Jb#u7"3:68rq$-lrquT4rUKrpJcEUe!42Xp%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Jafi3"2am3rq$-lrquT/rU>@<^]=?&%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rquT4mdU $Ld`]oYUY.rquT/mdL6>k^i6@n,pQ'r;Q2r;Q`r_Y!Kpn)&qhWdk~> $K(=GpC6`rr`8uq9Am/!4.7V_Z'VBrULHCq>C6ls3:92 n))HIRAtc~> $Kq$RouI+4rquT4p$i&NaSbQ/XQtH-_smiLq>C6`rr`8uq8`I(!4.7V_Z'VBrUCBC6ls2Xg* oB4_]RAtc~> $Ld`]oYUY.rquT/p$_uGhYcjDX6kK-_sdcFq>C6`rr`8uq83+"JH3IcrU:<6q>C6ls2+F#p[@!q RAtc~> $K(=GpC6`rr`8uq9Am/!4.7V_Z'VBrULHCq>C6l s3:92n))HIRAtc~> $Kq$RouI+4rquT4p$i&Ob5Cc0p#bcEn:C,dnH6i-r;Q $Ld`]oYUY.rquT/p$VoGhYcgBo]GTBl@JE\mfUH&r;Q $K(=Gp $Kq$RouI+4rquT4p$_uNao(WJ5i(omWEr>>mdT`+CHb+LnF23)4&W`\n3*^S9S)]in,p`,r;Q $Ld`]oYUY.rquT/p$VoGhYcg^4Ql/oP@$k@mdKVc>sD)jn*bHi4^d%5mlHY9=b6%umfUH&r;Q $K(=Gp1nc5!O/c_%, ncR/4r;Q $Kq$RouI+4rquT4p$_uNao(WJ6/M)oEqoH,\FAu\QMK`9^[S)aqmSWQn3(O\qLS/.n,SjO1]Wa4 n,p`,r;Q $Ld`]oYUY.rquT/p$VoGhYcg^4Qu5qU\XRLg$e;n\ba]=mlR'7pOVf*mf8aN2?8s6 mfUH&r;Q $K(=GpA"iEnR.9^n9C_4$o^VJ/5k4L;nagI_nQ(^%nac2Np7(q3!LEHP nH7&3r;Qr;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$_uNao(WH6/M)oipcH%HLT]Op$hLa>k%FVnFT'%n3,Z[nFH&Loq)%;!L`ZS n,p`,r;Q $Ld`]oYUY.rquT/p$MiFhYcd[4Ql,olL+(E`9s-oo'Z$^ZL7>Qme&a)mQ9ZamdfcHoUl"=!L`WR mK:?%r;Q $K(=Gpr;Q`rc1^l"hp7+HWdk~> $Kq$RouI+4rquT4p$VoMao(T86/Cumi:$-(EUV:6r_X&!>OS7d8P:tomlfW\n+#iIoq)+=!LWQP mfUW+r;Q $Ld`]oYUY.rquT/p$MiFhYcdL4Ql,okjIkF_+mQ9W`md]]GoUl(?!L`WQ mK:?%r;Q $K(=Gp $Kq$RouI+4rquT4p$VoMao(T86/Cumi:$-(EUVXHrqQruq;=?jqYES3mlfT[n*ocLoq!usR.^(> "3:68rq$-lrquT4rU0`mJcEUe!42Xm%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/p$MiFhYcdL4Ql,okjIkF_=!e%rqQruoWD*VqY<;8mQ9W`mdTWJoUe$"RJ$1> "2am3rq$-lrquT/rU,4:^]=?$%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU9fnJcEUe!42Xn%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4p$VoM`W#*AlgI-qmlfUtn!e=cmnAu3maB&/5O\'Y2;%@\i.:@cmfW6LQhBq< "3:68rq$-lrquT4rU0`mJcEUe!42Xm%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/p$DcEf`(%Rm-Qptm5sLum9[Wrn3F5El,2AKA*rZP2rj9ekCN$hm/usIR.Tt: "2am3rq$-lrquT/rU#.9^]=?#%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp rq$-lrquT:rU9fnJcEUe!42Xn%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4p$MfKrA5L(mQfRq4l>\qRW7c`lYo$P>eof]9k8iEfBtfZJaVsos7PpM"3:68 rq$-lrquT4rU'ZlJcEUe!42Xl%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/p$D`DrAGY,m6'Ou46Q"u?GZ$rdUGF/C#&8rrr<#8o^qnHhh[]#J,~> $K(=Gprq$-l rquT:rU9fnJcEUe!42Xn%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4p$MhVrVIT0meZD?qXf8,ipJ,~> $Ld`]oYUY.rquT/p$;\TrVIT(m/$,9qX*Y9q!dY:n+Z\Tp[.>@q"OCVmHj]:JaD1Y"2am3rq$-l rquT/rTo(8^]=?"%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU0`mJcEUe!42Xm%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaT]/"3:68rq$-lrquT4rU'ZlJcEUe!42Xl%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/JaBQ+"2am3rq$-lrquT/rTo(8^]=?"%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU0`mJcEUe!42Xm%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rq$-lrquT4rTsTkJcEUe!42Xk%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/JaBQ+"2am3rq$-lrquT/rTo(8^]=?"%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU0`mJcEUe!42Xm%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rq$-lrquT4rTsTkJcEUe!42Xk%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rq$-lrquT/rTf"7^]=?!%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU0`mJcEUe!42Xm%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaKW-"3:68rq$-lrquT4rTsTkJcEUe!42Xk%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rq$-lrquT/rTf"7^]=?!%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU'ZlJcEUe!42Xl%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaBQ+"3:68rq$-lrquT4rTjNjJcEUe!42Xj%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja9K)"2am3rq$-lrquT/rTf"7^]=?!%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gprq$-lrquT:rU'ZlJcEUe!42Xl%aFhIrr<#Cp@dt4c\S!hJ,~> $Kq$RouI+4rquT4JaBQ+"3:68rq$-lrquT4rTjNjJcEUe!42Xj%`eDCrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rquT/Ja0E'"2am3rq$-lrquT/rT\q6^]=>u%`8&>rr<#8o^qnHhh[]#J,~> $K(=Gp $Kq$RouI+4rr)Z5JaBQ+"3:69rq$-lrr)Z5rTo*A^pF"+%`eDDrr<#=p%@q>f8,ipJ,~> $Ld`]oYUY.rr)Z0Ja0E'"2am4rq$-lrr)Z0rT\q6^]=>u%`8&?rr<#8o^qnHhh[]#J,~> $fCFHpL $g7-SouI+4rr)Z7l%/0)lNHIpq>Lf8,ipJ,~> $h*i^oYUY.rr)Z3kCMm%klg1gq>L $fCFHpL $g7-SouI+4rr)ZChgt*tlNH+qq>Lf8,ipJ,~> $h*i^oYUY.rr)Z?gk"^oklfehq>L "Q/\Ap "R#CLouI(3"TA2^bis]EZKhYXbj,''nc&ajqWc;hJa9u7"R4.qqYgEn#flW2oB4_]RAtc~> "Rl*WoYUV-"TA2]aQJ-=ZKVMTaQ`R"nc&ajqWZ)aJa'i3"R!kjqYgEn#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouI(3#6+PqgV;M,Ja9c1#3agVg\C^Gnc&gmr:o$]gZX4S_!;3ggV;M "Rl*WoYUV-#6+PqfX]VrJa'W-#3OOJf_GCDnc&gmr:npTfB.YK_!)'cf=BQ/r;Q]q#f?6+p[@!q RAtc~> "Q/\ApJ\SY.#/\^Lp\Ojfnc&gmrVH9Ocbb7J^qU)jcfb'!rVlfr#gN):n))HI RAtc~> "R#CLouI(3#6+StpZ9Q1J[i.u#/&+?p\Ojfnc&gmrVH9Mb.N;8^pjT]b2rBorVlfr#flW2oB4_] RAtc~> "Rl*WoYUV-#6+StpZ'3"J[)Yg#.;D0p\Ojfnc&gmrVH9K`3k0$^p+*O`8gUgrVlfr#f?6+p[@!q RAtc~> "Q/\Ap "R#CLouI%2#6+Stq"FCRJb6JEs7HNgq"jsgn,EUkrVH<_p% "Rl*WoYUS,#6+Stq"FCRJb6JEs7HNgq"jsgn,EUkrVH<_p% "Q/\Ap "R#CLouI"1"9/8sqLSILq#gKkrVl3a"9/8sqLSIVq#gKkrVl`p#flW2oB4_]RAtc~> "Rl*WoYUP+"9/8sqLSILq#gKkrVl3a"9/8sqLSIVq#gKkrVl`p#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHt0s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#flW2oB4_]RAtc~> "Rl*WoYUM*s8N#rJc*%Urr)lrli7"arr%EG_YjE3s8Moq#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHk-Jc<%Ujo9o2^Adp-#flW2oB4_]RAtc~> "Rl*WoYUD'Jc<%Ujo9o2^Adp-#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`N;rYOJcEUe#flW2oB4_]RAtc~> "Rl*WoYQ1ZN;rYOJcEUe#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`O8o7Zrr)`lrr)lrJcE^h#flW2oB4_]RAtc~> "Rl*WoYQ1ZO8o7Zrr)`lrr)lrJcE^h#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`OT,F^qq/[X\-'Luqu20H`r?=bp%@q>f8,ipJ,~> "Rl*WoYQ1ZOT,F^qp`1NYlhPequ20H`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`OoGR`rRfBhp\tBjbh2mnJcEdj#flW2oB4_]RAtc~> "Rl*WoYQ1ZOoGR`rRK!`p\tBja4:.fJcEdj#f?6+p[@!qRAtc~> "Q/\Apf5&"D"G1A>bOh"9/2:q"=Xhpr3.0JcEdj#gN): n))HIRAtc~> "R#CLouH7q!JcZnrrn1;s8PCMh#@C@lMLS^60e7F"@;>Q60aR3"9/24p\"OgpV6V)JcEdj#flW2 oB4_]RAtc~> "Rl*WoYTek!ER_/rrlHQs8P4Th#@C;pA=jj4SJRM"?cDX4SFm:"9/2.p@\Ffp::)"JcEdj#f?6+ p[@!qRAtc~> "Q/\Ap&'Vu6Pqcr/j&!RO_qs8N$(c1^l"hp7+HWdk~> "R#CLouHt0#"CZKs8UeEo`"rINV*5S7PlqcF7o2*"c&*;s0)1brrPYIo)AXj:c.P6rrbXQs$,fJ rrK=tq#:I_lMn'^OT,C\qRH.s!kA+*p&>%YlMUY_LQ19m!JcYcs8N$(a7],skLYNXWdk~> "Rl*WoYUM*#!Yi[s8R.uo`"qmeF`bE5;kDiM>QrF"]j.Qs/l4errPDEq>UBq6T4Z5rrbIXs#g#S rrK8"q#:IZpA_8mOT,C\qQ]Yl!jVV#p&>%TpAFpk "Q/\Ap "R#CLouHt0#"DIMs8UeEo`"rINV*5S7a_/"=Dmd2!Jc["rs2)4TE"r]69"9+rrbXQs$,f?rrGFN oD\ghSc8fkrV "Rl*WoYUM*#!YB!s8R.uo`"qmeF`bE5O/1'7DSQq!ER_8rs1h]g].;pC,kq^rrbIXs#g#HrrG7U oD\gdSc8fkrV<_irWf_(rVlis5OACL"`nnfs/l4srrH0MiVrpZe:IZ!rs6L6o_7h3Lmb8n~> "Q/\ApfGbfDklrq@e0R! A>fHL "R#CLouHt0*(J16p&E`;s8V.g4\N!Ys5$dBD1R]Hs7("k7%=)R-:ZJas0,&os,K`7<6,%=hGupZ JW9^060eJ.p&G&CPlLcF6UFW7r;SWDc:%^4Spb2G-]]s$>rM5-&3oI/O$E 60eJ9lMpBm5"(n?s$!_p:7_Cerr)Z&oDJp(q>L f8,ipJ,~> "Rl*WoYUM**'^Ytqu:_qs8Tr:5?ZM9s11fmLf;h's3tIB:qli,-9pkss(-rbs*[C#AEj-o\k5JK ;q1jI4SJe6qu?[qfDkkq6UFuMr;SW=X`jaE?.M"/s#9iTs&@VMs#g![2bm-2s#g#T4-X>PRK!6d 4SJe;pA`WN5Z#2ps#Z]U>b1lsrr)YtoDJp!q>L "Q/\Ap1Y5^B2s8UAEs8QW-s'DW&ru,FGs&VVbs.WNn s(&&-A>fHQBD(q:K)\nAp72-brquT,oDJp/q>C6ls*8DZrtFfYs8QW-s70\ZkS-s\PP:RUAt6pU0BKkq/n_okl:\Y JNPr@s8T5k4%#aJrs6mCp@$nbLmb8n~> "R#CLouHt0*Cen-K`Bats8>9Zrn0?lrB[LadQNTis%Ss\lUf7ss!C4as6a$$s8T+ds1:>hrB[La dQNTis$>rM2YI+MJX$3!6M1rM60eJERf2PDb5XYBrLElirquT%oDAj'q>C6ls$kK:rtF*Ss8PCMs5$dBD1R]Hs7("k7%=)R )a:T::j2g;s5[TO9<\BqhGupZJW9^0nS^TZS,<445-nZoG5_I@N_;K6a8c0'^em4PnRO[mqZ$Tc Da$RYs8S0J6;ZsQrs6[ "Rl*WoYUM**C'$haT$=>s7eass1CGapH6b$Y;t,4rB\-reNiEts!Btss5?DUs8TS$rK9tTpH6b$ Y;t,4s#g#T2uEXT<7h/EDu9ReqY^@/5O^r2r]U':pA[)Ks8Q'Ms8P4Ts#g#Sru4)os#["Ur(YZ? s#g#T4SJ_>^&HPIlMir>rr&Df"9/5oZ1IkuZ2+=ss8P=Mrr3XQGQ7\*pA_]r7u1*ns8USW5Z#2l ru4%h@S2pbs8Tr:5?ZM9s11fmLf;h's3tIB:qli,-9I]+8sTDUs*[C#AEj-o4/GP:ZdMi9KDkiM e6tU=^An4X6UFuMZMt3Io^qnHhh[]#J,~> "Q/\ApfH< VtDhAs8V1Hs&Y>Prr`8uq7lP!#J^*4rr<"DC]=>JmPb+FA>fE9FoCMb;ZHcBBD(q:K)GWg=%W5f Mf/RoAo.A27A9]iFoCMb;ZHcBBD(q:K)GWq=%W5fMf/Rp^uYOF1%,'C9'>tG@*AM1?2sqMBD(q: K(Lq\s7"C@rs6mCp@$nbLmb8n~> "R#CLouHt0&4YOI3V;#ss5uQEs8R=gkgl9#"Fs1_nOf1]^bMqu6abl/t80rt/Fo s8PCMs#0QMs+-F7lTNMkqYq=#hQq[n:&d0=s#0QMs+-F7s$>rM5O/7J)+!Qf52uVBj?inH60eJ9 lKUJ1s8Ti?s$#P6rr`8uq7-%n#IsU-rr "Rl*WoYUM*#s[q$6i(k^s.!3jrrZ0DRp5ml"@puAV,[Ho!G]=Grr>:_2?A4$qu6a]p7#:crt.cN s8P4Ts#9iTs&@VMXBO?WqYqOT.<6s#9iTs&@VMs#g#T4SJdS&Node47`FOQ#H^&4SJe; p8(afrrd)Ms#]hArr`8uq6BPg#I4+&rrdF>^&HPI lCr4os4I1Rrs6L6o_7h3Lmb8n~> "Q/\Aps&ZE(s7e>K s(&&-A>elMr_ "R#CLouHt0#tEeOI!XLrM2YI+MJX$37X'@`2p&+h*7c*l'Fh.N2m/K!:s8RY7s8PCMs$,fJrt.Q^s$#iMs6_oI s$>rM60d;cr_iqs>lR"TS,WTir;!koq?OP+r;Q`r7R@#@#=1cXs$>r555tQg>)iRI49#9[^L$j<% mK4Ws-J37k<8hEs*/eO55tQg>)iRI49#9[^L$j<"[;/Ms-J33rtn)es$#QEs&GKes0H&3l9#"Fs 1_n+4jEr0rs6[ "Rl*WoYUM*#s[qZ;SR:2s*'4srrZ]EGE)V%"BEtOGXMI1!D9GE)V% '33Q^s#g#T2uEXT<7h0MPuC24qu$I05OdH1:uhR8pA[)Ks8Q'Ms8P4Ts#g#Srt.Bes#]uTs0t]$ s#g#T4SF"er`'(nW;esRS,WTir;!Vhq?O;$r;Q`r5=GK>#Q4X*8(@R8<;umuC;'QF #Wq_Zs'3nMS65dj"&dC5>Q4X*8(@R8<;umuC;'QF"ZuDWs'3nIrsq9ds#]iPs$bT?s(94LV,[Ho "_t`P>2&t[rs6L6o_7h3Lmb8n~> "Q/\ApNmkt.FA>fH< Vt;hEr;Qe![%%'trquT,oD/^,q>C6ls*8/SkQfd!s8QW-mlCCI"OC!GmkF`9!DQ/`rs2]5s8UbD s6hrHrr_%?mlCCI"OC!GmkF`9!DQ/`ru5%Hs8UbDs8U8K6Us+ps&ZT-s1r1Es5cHEmkF`9#>Iei a($u:fs:V`c1^l"hp7+HWdk~> "R#CLouHt0&4YOVoJt&cs5uQEs8R@hk<]+I"D!MlkWehA%n>%Js/]3"mQ9G.s$Pl162plmA<$Wh 60eJ0o`+r,Pl:U`nS<@Hrt\)\s'%GWs#9l=U-54/CMTQL4j 8H/VkVcMYGrr3+PNW7ior_ihp>l=U@54/CMTQL56X'&%h2Was&mJm2i])VfGlUj0 4*^G(rs6[ "Rl*WoYUM*#s[qZcp)?)s.!6krrZ0DRqhs&"A72DTO[`r%mTF\s(dbs\Pqqrs#otCCB"5A9%b1N3:m/3p](7`j8]-o^]/OGr`'1qW;i,] 7udDOrs6L6o_7h3Lmb8n~> "Q/\ApfHND"7Pj]Dks>S,WTir;",!q$4\1r;Q`rH#*EZ#OXMMs(&&"2?*UZ]i+n&2#[4L%p-.< s4L!DoJ6@Es2dq+2?*UZ]i+n&2#[4L**9NIs4L!DpbL(ns)*bp=1&#-_.*HEjZ`_:2#[:N!rAEZ ZMt3Tp@dt4c\S!hJ,~> "R#CLouHt0*Ceocs+F9As8>9^rnBKlrB\^.mQ-@-r_8pZrnl-$s!C4as8VsYgZh$%s3ER`rB\^. mQ-@-s$>rM9tpYr4I#m5df',iHi3mZ7c+1.cN!o'm/Keos6i(7s8PCMs$tB6ru",fs#sQYpKrM60eGDSGN6BdJlDtS,WTir;!kop]n>)r;Q`r7aqA:#MMTGs$>r562pleA<$WQ5PP0g54/CM TQL4s4oYK]H$JL "Rl*WoYUM**C'&ns&MCCs7\Xts1UPbp,q[@coKVUq`qgmqU+a/s!Btss8VLJnYBaqs.hUFp,q[@ coKVUs#g#T60/'p3nODCiVrRKcM[\X5Oe^'huE^9pA[G>s3j$\s8P4Ts$,iKru!rms#Z,9kXEo! s#g#T4SJY;]`%]Smf,BCS,WTir;!VhpBRu!r;Q`r5OACL#BP+hs#g"ECB"599%4Pmf3;MoD^oHs8PULs8QiKs.EltrrV=Uc*I?T _Y!Kpn)&qhWdk~> "Q/\ApE-'s7q@43Dc@GrrIC\rr4.k4o_BJ@rQ[Ns7'T% A>E-'s(&&-nQ]%'W`B)k@6-JSgALsOH#W]]/3C$7nQ]%'W`B*!A>fIe8igegA>fH/TNO<`nGiN! VuL;*s7q@43Dc@J=1"Is"9/5o^[q4*^\Rg,s8R@[rr3]#2ZNefVuC(is7f)^s8R7Ync.mdr;Ra< [/^0Z8cSd"E;])nT)N,`s7f)^s8R7Ync.mdr;S*F[/^0Z8cSH?oDe,1MuQkcs8ToEs8V1Es8R7Y nc.mdpV6M&X\?&##gN):n))HIRAtc~> "R#CLouHt0*Ceocs7J?Cs8V(d4\DgUs4gXbC3ts?s7(1q5[V\3rrGUs4gXb C3ts?s$>rMgehBqGEi-k>!>2jpAFpk7c+(C/2uqqgehBqGEi.-60eKZ7R4]f60eJ6]21V9r;Zd_ lMj08s7(1q5[V\654+j>"9/5o\F]G"\G?(%s8PR;rr3\d70!9QlMX#ns6_q-s8G`_qYoC"r;Ra# mJm3ZFT;;+VuGF3i;Gsds6_q-s8G`_qYoC"r;S*-mJm3ZFT:VjrVt2$jSqF2s8Q96s8Tl8s8G`_ qYoC"mF(t3H$cjs#flW2oB4_]RAtc~> "Rl*WoYUM**C'&ns4B;hs8Tl65?Q>5s0kgrVum[ pA[8Ks41aH7;_Aj4856E"9/5oZ1IYoZ2+=ss8P=Mrr3[RGQ7\*p@^W7s3NdUs8,'orVFq0r;R`u p](8#bl@E"aoB(9o(G33s3NdUs8,'orVFq0r;S**p](8#bl=JMrr8cQoD^oHs8PULs8QiKs8,'o rVFq0]&EY_;9lKI#f?6+p[@!qRAtc~> "Q/\ApJmPb+FA>fIt@p*?<;ZHdmKg%LnTD\^/=1&#- fh)5DoPZZNN;rqJ@p*?<;ZHdmKg%LnTD\^9=1&#-fh)5DVF>!6G`2T'[/^0B@fQJi56(ZYKg%Ln TCcPQ4'UFErs6mCp@$nbLmb8n~> "R#CLouE-n!C#n*rr`9!q7-%i#IsU.rr7caS5mJm2i])VfG "Rl*WoYQ[h!B^%1rr`9!q6BPa#I4+'rrUeGoR"AO&\$lhpc&488dT ?d/QM^f3O#dJs6U:hY>UeGoR"AO&\$lhpc0488dT?d/QLDcphO54ee9p](7`j8]-o^]4>bAO&\$ l_dWG7>LcGrs6L6o_7h3Lmb8n~> "Q/\ApL;Ds2b3Gc1^l"hp7+HWdk~> "R#CLouE-n!C#n*rri?"q7l@jo`X]tq>L;Ds2b3Ga7],skLYNXWdk~> "Rl*WoYQ[h!B^%1rri?"q7,hboE=Njq>L;Ds2b3G_Y!Kpn)&qhWdk~> "Q/\ApGss2Y-Fc1^l"hp7+HWdk~> "R#CLouE-n!C#n)rri;se&h%Po`X^)eGB,ps2Y-Fa7],skLYNXWdk~> "Rl*WoYQ[h!B^%0rri;sd)>;FoE=O!d/*]ls2Y-F_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouDX`OoGR`qs)VEpUC@@dd-f0JcEdj#flW2oB4_]RAtc~> "Rl*WoYQ1ZOoGR`qs)J;pTXk3cKkB,JcEdj#f?6+p[@!qRAtc~> "Q/\Apd,h0h;R\qrVhBJa8ZFip@dt4c\S!hJ,~> "R#CLouDX`OoGUarV>d,h0h;R\qrVhBJa8ZFcp%@q>f8,ipJ,~> "Rl*WoYQ1ZOoGUarV>d,h0h;R\qrVhBJa8ZF^o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`OT,F^rVQHcq#gKjrVhBJ`r?=bp%@q>f8,ipJ,~> "Rl*WoYQ1ZOT,F^rVQHcq#gKjrVhBJ`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`O8o7Zrr)`lrr)lrJcE^h#flW2oB4_]RAtc~> "Rl*WoYQ1ZO8o7Zrr)`lrr)lrJcE^h#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`N;rYNJcEUe#flW2oB4_]RAtc~> "Rl*WoYQ1ZN;rYNJcEUe#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`O8o7Zrr)`lrr)lrJcE^h#flW2oB4_]RAtc~> "Rl*WoYQ1ZO8o7Zrr)`lrr)lrJcE^h#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`OT,F^qq/[X\-'M!qu20H`r?=bp%@q>f8,ipJ,~> "Rl*WoYQ1ZOT,F^qp`1NYlhPequ20H`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouGJ[rVhBJ`W$)?rRoHjp\tBkbh;soJcEdj#flW2oB4_]RAtc~> "Rl*WoYT#UrVhBJ`W$)?rRK!`p\tBja4:.fJcEdj#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouGS^s8Moos8ITLaSuAAqnMmurr\M#qu20Ha8ZFcp%@q>f8,ipJ,~> "Rl*WoYT,Xs8Moos8ITLaSuAAqmlFnrr\Osqu20Ha8ZF^o^qnHhh[]#J,~> "Q/\Ap'k0V#X]>N"Xqu-MFs2t?CrVF;%rreN<^\[oJrrH3.L&VG'p@dt4c\S!hJ,~> "R#CLouGY`%K?>'j3,*AZb4KAqu-MFs2t?CrVF%srreWE\GH0CrrG=NL&VG!p%@q>f8,ipJ,~> "Rl*WoYT2Z%K?>'iPr:,XL6(,qu-MFs2t?CrVEelrreZHZ24F "Q/\Ap "R#CLouG\a&,uOh]>ie#r;?0E`Ok71rdk*nrr`9!q7-1u#Q9W=1q "Rl*WoYT5[&,uOe[(tMgqtop>^U3&"rdk*nrr`9!q6B\n#Q9Z@2R3)Vrr2p$VcZ&PBtVdl!B^%n rrG7U`W$4\o^qnHhh[]#J,~> "Q/\Ap "R#CLouG_b"TJ;J]^5Io"RE\Lqu20Hc2RnFrV "Rl*WoYT8\"TJ;F[HdSf"R3;?qu20Hc2RnFrV<_sr;jb3rqulqMuGUDZ2+@ts8ROEan>5A?i0g% !;Y1F!B^%prr`)s4SHbo#f?6+p[@!qRAtc~> "Q/\ApPankc3"T$6nr;M9IcMn"Gr;",,rI/Em?LAie2N5,2drr;phHi!a[=.q@e0Er2)X"cs3=XEs&Y[u;-`eos&ZT-mn]YW=.kS-soPlfQ O8nE-s8Qn$s8QE-s&Y[u;-`ekruG1.?WLY,s8V_22a*6%s&Y[r9uSqP7s4j77QWu3c2S'op@dt4 c\S!hJ,~> "R#CLouGbc"TJ>K_ts--"Soscr;M9IcMn"Gr;!l%r!&NFJGT3@M>f=;OLY,arr;mX`VTTP5-eKi s5[TO9<\Bq2YI+MJX$375-&3oI/NmA2)b.-s+-F7s$!bt:j2g;s$#iMfg*^[5-nZoG5_I@jC(2E YQ)[Fs8PGns8P@Ns$!bt:j2g7ruF;(A6"$Ts8V.g4\N!Ys$!_p:22[Z9uI!m6UFW7c2S'ip%@q> f8,ipJ,~> "Rl*WoYT;]"TJ>G^%qF&"SoaXr;M9IcMn"Gr;!Vsr!&QIJboOg4`[rr;LKkkb;s4.BM\ s2%f$=k*KO2uEXT<7h0M4-X>PRK!*`2)kF4s&@VMs#Z]Z8sTDUs#]uT[7]`a4.B\OQ2^g`_H&m( eGjNls8P6ls8P4Ts#Z]Z8sTDQruF1cAkncns8Tr:5?ZM9s#Z]U>[03_:?VY%6UFuMc2S'do^qnH hh[]#J,~> "Q/\Ap "R#CLouGed"TJA]]DD4#"So[lrVhBJci44Kr;!l"qn;tc!eL-!r\OqDrOD\$rr;.>r;-F25&L8u rBd:YffJ-m2YI+MJX$375&1)rD34Yp2)b.-s+-F7s#tT)r_^T5s$#hq5Lf`55'?l(;8`G46DOP5 3o]]krq/N?s7&2Ms#tT)r_^T1ruF:9Zrn0?ls#t;us8P=Ks8V=Mo`+(Hc2S'ip%@q> f8,ipJ,~> "Rl*WoYT>^"TJA[[/0Iq"SoFbrVhBJci44Kr;!VpqnE%f!eU3$r\b(GrNZ1rrr8NOrqcX44/)ZP pcZXs]K>]a2uEXT<7h0M4/;iR:"0">2)kF4s&@VMs#[4[q*X?Fs#]tS;==Ja4/r8U6g+LE4i[N7 47^Khs41jgs2S%;s#[4[q*X?BruF1rs85U?s7eass1CGas#ZqRrVo"Rs8Sg3qu>=Fc2S'do^qnH hh[]#J,~> "Q/\ApC6ln1jqB*g/fTK`>,9 s8V^Hr;Zf<9E-m$s8UAEs8Q/Ys8V[Jqu7 "R#CLouGed"9&).m.:2Ylb!#lJcF'r#QFYs\GH'tK)RS,;#W9XNr8a`q>C6li&^l;*a(s%ir;4( s8V7Frr<"CGlK\ps8RY7s8P:Bs8V.Hqu7=TACbkl:[LIf'-V52uVBj?in04oYK]G^06Pjo58b5O/:KlTNMkbPqjgp%@q> f8,ipJ,~> "Rl*WoYT>^"9&&&lLXuWl*U9bJcF'r#QFYsZ24=mKDmb/;>rH[O8SjZq>C6lISp+E$;j>bo)CfC s8STkrr3O-c2Ta"s8Q'Ms8P1Os8S@&qu7 "Q/\ApKml:=H"Pc3@=1%u,!FD]'rrgAP2.P=ars6mCp@$nb Lmb8n~> "R#CLouGhe"9/5X`U`s1rl!gordk*rrr`8uq7-G"!W.ZM1`1oCq>%Prr;Q`Z2Z3UTmd*9ts$#iM s5$W[3'c2S'ip%@q> f8,ipJ,~> "Rl*WoYTA_"9/5U^[h=+rk@=grdk*rrr`8uq6Bqp!W.]N2Ah2Gq>%;kr;Q_e4T>B\md*(+s#]uT s*'4srt&VRs#9iTs&@VMs#]uTs0t\urt79fs8Q'Ms8P1Ts8QHMs8P/D_#=9=488dT?d/OoLAq2c @DDh8i)8lBk"Xb5s#]uTs'O"Irs1^\s8TT$s*'4srrccFs#]uSrrG7Urr3+d;b)iEc2S'do^qnH hh[]#J,~> "Q/\ApNmkt"B'0jeBs27q;s&ZT-s4L!Ds&ZF@E;okY=1&#-fh)591Aq1P a\2Zr5'bHC6>!(os&ZT-s4L!@rt&7^s8VOFs7A)Es8U26s&ZT,rrHH'r;QipS4_'+#gN):n))HI RAtc~> "R#CLouGhe"9/2@hspXIhokorJcF*s"9/5o\Gc1'qM+u+!JC7Jp]n>)r;Q`o3lq:"*(&Q_54/CM k<8hEs*8kh3;!7NCR"l!52-&:gd:o<'0,Xas(dl!s$#iMs.FK6s$#L "Rl*WoYTA_"9/2:h!t:EgW'-iJcF*s"9/5oZ2OCtqM5&.!JL=KpBRu!r;Q`c3U-MB#X._X488dT S6>jk&5pdQ3;W[T:"TFF47E4LMJrCl'0,jgs%V,Fs#]uTs'O"Ms#\^qb5VDH488dT?d/P?=oSF6 ;U,5YYWquA]fc#gs#]uTs'O"Irs1^Ts8Rsps.!6krrc6Es#]uSrrG7Ur;Qi\9?k`]#f?6+p[@!q RAtc~> "Q/\ApJq>L(:^\Rg,s8Uh.T'Q73 ;0`+B[/^1*@rVA58"Ta?FoV55 "R#CLouHS%!N]i"?NXV?V"+!Q"7`_8`du2%`rX?Ii;WoYr;!l#pB:>I1kGK$pF*QIr;Q`rX#mf] q:7^es$#iMs8>9^rnBKls%U6-mlZj7s#sQYpK "Rl*WoYU+t!S=mMZidY>WpoQV"7N>*_1BJp_?%X=i;WoYr;!Vqp&t2H2M1`&p*d3Ar;Q`rHW&#[ p;oAcs#]uTs7\Xts1UPbs$>`GdlQ+\s#Z,9kXEnrs"$Iss3j$\s8P1Ts8QHMs8P1TfKda^s#]uT s'O"MpH6Rt^,kib_+JVFkY=hNrrkLYs8QHMqu73hMYu[,dJrr'aoB(9o)CfGrr39hli7!riVrRK cHZ@p_Y!Kpn)&qhWdk~> "Q/\Apq!n4`pq#8LZ>45M@@% #gN):n))HIRAtc~> "R#CLouHS%!G$TGKEHjXY4qJ`"8B+Sgk">Rh>u "Rl*WoYU+t!P-nOj9+E!X7u/]"8AkIfn%oLgB#jDi;WoYrV<_qo`Fopq#'deZ2+@trr3;#<]`Q\ ^&J$np\t1,^f3O#dJs6Q94ETOfDkk4TM.\>rVQU>ZV+b]:tPaI488dT?d/QM488d)5LTQnp](8# bl@^Y<'OL4rr3-``W,s'WrE#%488dT?d/EI&3HOY6C@`Os1hSu=OI0K488aS$'.G?k,2*B7>Lcb rs6L6o_7h3Lmb8n~> "Q/\Apq!n4`pq#8L "R#CLouHS%!G$QFKEHjXY4hD^"89%Rgk">Rh>u "Rl*WoYU+t!P-nOj9+E!X7l)["88eHfn%oLgB#jDi;WrZrV "Q/\ApWn%6ZaJ^*f2!RU/irri;sf?`s\p&sm2fD>I)rrH3.]Dhn5['BW: c1^l"hp7+HWdk~> "R#CLouHS%!Nou$?NXV?V!ddK"7 "Rl*WoYU+t!SFsNZidV "Q/\Ap "R#CLouGhe"9&)f8,ip J,~> "Rl*WoYTA_"9&)7g%"h>fYmXbJcF'r"TJ;`cFN\S"M)hDqu5RS!B^%frrG4UZ2Y*Ho^qnHhh[]# J,~> "Q/\Ap "R#CLouGhe"9&)O_t!L(_VG"dJcF'r"oeJrlf$[qg]cNmlhUMYJcEdj#flW2oB4_]RAtc~> "Rl*WoYTA_"9&)L^%(h!]\3/[JcF'r"oeJrlf$[qg]cNmlhUMYJcEdj#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouGhe"TJ;e]&iPX"Q[/_qu20HcMn"GrVQHcq#gKjrVhBJ`r?=bp%@q>f8,ipJ,~> "Rl*WoYTA_"TJ;eZf:TM"Q?]Uqu20HcMn"GrVQHcq#gKjrVhBJ`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouGhe"oeGqgUcqJp''rsg\LgIJcF!ps8N#rqu$Hls8ITL`W$4ap%@q>f8,ipJ,~> "Rl*WoYTA_"oeGqfsC2@o`afjg%kUGJcF!ps8N#rqu$Hls8ITL`W$4\o^qnHhh[]#J,~> "Q/\Apfe&V%Rp'(!,eF "R#CLouGed"o\>fcb]/Gp'(!%cg^i1JcEjlp\oaD_Z'n^p%@q>f8,ipJ,~> "Rl*WoYT>^"o\>fbI[3;o`afqbOGE-JcEjlp\oaD_Z'nYo^qnHhh[]#J,~> "Q/\Ap "R#CLouGed#6+StlHd'&q=OsP]$K[ "Rl*WoYT>^#6+StlH6Hlq=FmLZc_S0rVhBJJcC<$$3.m7o_7h3Lmb8n~> "Q/\Ap "R#CLouGbc'E7q+lIibcg$8+tlIj"bg$8G3rdk*#s+14Mrs6[ "Rl*WoYT;]'E7q+lIWATf&uPlkLI2NfBW51rdk*#s+14Mrs6L6o_7h3Lmb8n~> "Q/\ApDs+13$s8N$(c1^l"hp7+HWdk~> "R#CLouG_b&cV_)nDMj<]Ds+13$s8N$(a7],skLYNXWdk~> "Rl*WoYT8\&cV_)nDMa3[B-I;_U@B3qY^>Ds+13$s8N$(_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouG\a&,uP)q!dJ*hVR5SnG2t[rdk*#s+14Krs6[ "Rl*WoYT5[&,uP)q!dJ*hVR5SnG2t[rdk*#s+14Krs6L6o_7h3Lmb8n~> "Q/\Ap)qtg0bq>0sbrVc_Hs+13$s8;m&c1^l"hp7+HWdk~> "R#CLouGY`%K?>)qtg0bq>0sbrVc_Hs+13$s8;m&a7],skLYNXWdk~> "Rl*WoYT2Z%K?>)qtg0bq>0sbrVc_Hs+13$s8;m&_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouGS^s8Moos8ITLJcC<$qYpiAp%@q>f8,ipJ,~> "Rl*WoYT,Xs8Moos8ITLJcC<$qYpi "Q/\Ap "R#CLouGJ[rVhBJJcC<$p\tN>p%@q>f8,ipJ,~> "Rl*WoYT#UrVhBJJcC<$p\tN9o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`N;rYOJcEUe#flW2oB4_]RAtc~> "Rl*WoYQ1ZN;rYOJcEUe#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`O8o7Zrr)`lrr)lrJcE^h#flW2oB4_]RAtc~> "Rl*WoYQ1ZO8o7Zrr)`lrr)lrJcE^h#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`OT,F^qq/[X\-'Luqu20H`r?=bp%@q>f8,ipJ,~> "Rl*WoYQ1ZOT,F^qp`1NYlhPequ20H`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`OoGR`rRfBhp\tBjbh2mnJcEdj#flW2oB4_]RAtc~> "Rl*WoYQ1ZOoGR`rRK!`p\tBja4:.fJcEdj#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouGDY!C?#%rrGFNJcG<@"9/24p\"OgpV6V)JcEdj#flW2oB4_]RAtc~> "Rl*WoYSrS!Bg),rrG7UJcG<@"9/2.p@\Ffp::)"JcEdj#f?6+p[@!qRAtc~> "Q/\Apb"Yo)AdiqS2Y%!l+U1]`/"CVt9oh A>c%!#gN):n))HIRAtc~> "R#CLouHt0!CkPqrs;.O1d6!Rs8T:sm/I79?91D^f^\tB60a%$o)AdiqRH.s!kA+*]`/!ulLY#V 60b'A#flW2oB4_]RAtc~> "Rl*WoYUM*!C,r.rs:nJ2FiW$s8T5!m/I6o "Q/\Ap\6l2Ltd7sjb"e#W$=!G&*Zs7?6mrr)Z-oDT05q>LA>f5&!FD]'rrKjfT)T)@p@dt4c\S!hJ,~> "R#CLouHt0!CkQ"rrE#qrrkm>r9II&l2Lta3i_uF`RjY[!C?"%s7?6mrr)Z&oDT0.q>Lf8,ipJ,~> "Rl*WoYUM*!C,r4rrDlmrrkXPr8'lXl2LtR3Q:m^\+&qf!Bg(,s7?6mrr)YtoDT0'q>L "Q/\ApLf5&!FD[lrs6mCp@$nbLmb8n~> "R#CLouHt0*_+WYs$!bt:j2g;s$!bt:j2g;s7("k7%=5V5-eKir;RU'e,THP8H8]UlMj&S@8M.G s8UnU6>_:5r;Qic2?!FP(%-$)6@&V2N_;K6a8c0*lMpBm5"(lks7uZsrr)Z&oDK*-q>L "Rl*WoYUM**^B#ks#Z]Z8sTDUs#Z]Z8sTDUs3tIB:qlu04.BM\r;RTum/R)sLB%99pA[4D@S2pb s8TT$7u1*nr;Qi)3<&gT("$JT8>6(`I7HG2l2UcGpA`WN5Z#1Gs7uZsrr)YtoDK*&q>L "Q/\ApJ94urt]Z`nGUl:s1m^qe1pCkA>fHQBD(q:JqkP2u#gN):n))HIRAtc~> "R#CLouHt0*CeNXs#tT)r_^T5s#tT)r_^T5s%Ss\lUf8!5&L8qrtn5Ss6a$$s8PCMs#tT)r_^T5 rB[Xeeio)krri6`J][H]rtkZ,PPY-rs8T+ds1:>hs$>rM9q)%H8]lVaqYpZsr;!kor$JrLr;Q`r 7a4!es4U'Es,K`7<6,%=5/:#XMt(==B);Q-nS^TZS,<4H7aqD;YXnfaDa$RYs8S0J6;ZtIjC(2E YQ+VglMid8s8RY7s(XGa9uHuslMopR4\N!Ys$!bt:j2f=rs6[ "Rl*WoYUM**^B#ks#[4[q*X?Fs#[4[q*X?FrB\-reNiF"4/)ZPr;RTum/Q$5\,ZIjpA[4Rs7o%F s7SS&s0k&=r;Qog4.+Ilrr3f35e$^cc2[gQp&1%LrVo"RrB\-reNiDNs8)`trquSsoDBr?q>C6l s$*_Xqu:_qs8RL;4_3gWs#[&L6aP3@4G3V4s3tIB:qli,3^ "Q/\Apj8\Vqrap!Dlp[WJA>fGb fDklrfE=D#Z@jXT&RNp@dt4c\S!hJ,~> "R#CLouHt0*(JEWs$#ZHs-J37s$#ZHs-J37l9#"Fs1_n?53;Y@!(QrE%pAK's$>rM53W%HQ[\tt 55tQ_?]Fs_$0[%=2JDLXkWJh=rsM0Xs$>r849#9[^KuKkqYpZsr;!koq^8oLr;Q`r7c&6?s4U'E s/PJd]/oih5%aKT4BLS?=Ju3!9q)%H8]pu2-UuSbmTF-$9q)%H8]p9ao`+(HrBd:YffJ-m60eJ. p&G&CPlLbJlMgeo60eD8U]/q-ir;2brr,d4XT&RHp%@q>f8,ipJ,~> "Rl*WoYUM*'L1sas#]oRs'3nMs#]oRs'3nMV,[Ho"DYXM47i=K!'gH@%t+3Qs#g#T48&XR>gNG= @K-9-8C[P:#gdfg3Igi(TN1ad#!M\[4SGUNrr3"6]n-4[rr`8uq6BPg-aELFrrdF>^&HPIlMUZ05OAF/7CW4]^&HPIlCr4os4I2C4i[N747`D6pA[)K s8Q'Ms8P4Trr3Kkp@pejs1CGas#[4[q*X>Hrs6L6o_7h3Lmb8n~> "Q/\Ap/Jbs(&&-=1&#-fh)54 3WB$ZcVjQ<"o+ "R#CLouHt0'LpROs$#iMs.FK6s$#iMs.FK6hDbF4"ArG(54/4H'1UIMej&9rs$>rM54/CMTQL4j 8cJ_jJW9I)"n$2*s5$9CrsGf08kh5*s$>r,2uZ_V;-\\PqYpZsr;!koq@'n0r;Q`r7c*\ro\)n6 rtIfas$#QEs&GKes0H&3l9#"Fs1_nOf1a?/ol9#"Fs1_n+4jEs*s5uQEs8R=gs$>rM2YI+M JX$375O/7J%mfLD4oYK]G^06Pkl:[LI]WPTa7],skLYNXWdk~> "Rl*WoYUM*'L1sas#]uTs'O"Ms#]uTs'O"MGXMI1"A5Wm488UO'0kj]^.S(us#g#T488dT?d/On NW/qYs#g""6iL'd8uR=@qYpZsr;!Vhq@'Y)r;Q`r5Occ^qK%Sl rsq9ds#]iPs$bT?s(94LV,[Ho!G]=Grr>:_2?S@&V,[Ho$#7/T>2&uUs.!3jrsr#Ps#g#T2uEXT <7h0M4SJdS"$H:I=T8=+;U,5'p&G%sc`I-P_Y!Kpn)&qhWdk~> "Q/\ApL=%pbL(ns)*bpA>f&VrIP"Brr`8uq7lOt,/.3<&pggckaKVuJX+s8UAE s8QE'rr3(2VscVErs7CDs&ZT-s4KuFrs6mCp@$nbLmb8n~> "R#CLouHt0'LpROs$#iMs.FK6s$#iMs.FK6kWetE!C#oIrt@lNs8T0"s8PCMs$#iMs.FK6kC6ls$klFI!XLrM2YI+MJX$37 5O/7J"$u5/8H/VpVcNg]mJm3ZFKGKJa7],skLYNXWdk~> "Rl*WoYUM*'L1sas#]uTs'O"Ms#]uTs'O"MTO[m!!B^&Prt@W`s8Qkss8P4Ts#]uTs'O"MRUQ3q !D(`7rrdgLs.NKkrsQA9mf3;MoD^rHTOWQQp&>-nr;!Vhq'**>r;Q`r5Oe\N^N5>5s-$AU:,qkF 488dT8)sXLC;9dn6iL'd8uV[f#=%SQ^.S'C6iL'l8uVcT;b)iEGD?+s%q36Q4SJe6qu?[qfDkk5 pAY'o4SEuRrr374^]-Cis8QHMXT&RCo^qnHhh[]#J,~> "Q/\Ap]Ys(&&-=1&#-fh)5C ?@2\;5#V=Y+8LQ@p@45.s8R+Lo)7)fHND"7Pj]7L"Yrr`8uq7lOs,JX'Prr<"D E<#bsYrMdY1Vt;bBs8U26s&ZT-s4KuFrs6mCp@$nbLmb8n~> "R#CLouHt0*(JEWs$#iMs.FK6s$#iMs.FK6r_8pZrnl-'54/4H(e3!Ss8+q5s$>rM54/CMTQL54 5Ht1=4cTC>+7bfWr97ous8GTUqtnJ7l9G7IcSae`60eGDSGN6Bd=M>orr`8uq7-%k,.RIHrrrM3;!7N CR"l!5jJ@K%mfLD4oYK]H$K?QmJm3ZFKGKJa7],skLYNXWdk~> "Rl*WoYUM**'`fis#]uTs'O"Ms#]uTs'O"Mq`qgmqU+a2488UO(dIBes6_r(;ss\c4nJ\8p](7`j8]-o^]0s:p\tI_m/R*$Oe?4[rrhIWc(%r9rsr#Ps#g#T3;W[T :"TFF4SJdS"$H:I=oSF,;U,5'p](8#bcLgM_Y!Kpn)&qhWdk~> "Q/\ApfJ'Kg%LnT7R%=rr`8uq7lOr-boKTrr<"D E<#sX3B7'32"Ub50T5s4[/^0B@fQJi56(Y+D"7Pj]DV[VH#*H[rD&Z%D"7Pj]D')8riJln@rVA5 8"T`kVuMa!s7fDjs8ROprr3L>VuC1Fr9["Gs&ZT-s4KuFrs6mCp@$nbLmb8n~> "R#CLouHt0*(JEWs$#iMs.FK6s$#iMs.FK6s7(1q5[V\654/4H!CkQ;rtC\us$>rM54/CMTQL56 g/UIUI?OO.+8C@X2F2NVs8VJ'4[OJps+X<`LdpJ*60eL?F?`#tb(9Thrr`8uq7-%j-b0!Mrr "Rl*WoYUM**'`fis#]uTs'O"Ms#]uTs'O"Ms41aH7;_Aj488UO!C,rMrtA\(s#g#T488dT?d/QM [RiuE;V(dG+5_0/3(f,)s8UGQ5=hRLrbkqSV*=MN4SJg+AO&\$l[f*4rr`8uq6BPb-aELFrrZs3j$\s8P=Lrr3Kkp@g\ks1UPbs#]uTs'O!Ors6L6o_7h3Lmb8n~> "Q/\ApL "R#CLouFlJ!F<0cs4.,Orr)Z&oCaQAq>Ls$#iMs'!#6s1h\8s7(1q 5[V\3rrGU!>2jpAa,[4\DgUs$>rMgehBqGEi.-[miWss$>rMia=oAXT/;a mJm3ZFKGKJa7],skLYNXWdk~> "Rl*WoYSED!Cu1$s4.,Orr)YtoCXK9q>LC8F,cs#]uTs$u,Ls(]=Ks41aH 7;_AgrrG@Nrr4i]QI]V47;_@g;F![+qu=H25?Q>5s#g#TZV+b]:tPaIO$c7rs#g#T^f3O#dJs5. p](8#bcLgM_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouG#N"ig*4c8kEGs4.,Prr)Z-me-5Um_ASrrdk*jrs6[ "Rl*WoYSQH"ha[2Y "Q/\Ap "R#CLouG#N"KP!Y:UYiSe,KRLqU "Rl*WoYSQH"G9'.?/'r1e,KRLqU!1Ip[eUT`6eAZJcEdj#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`OoGR`qs)VEpUC@@dd-f0JcEdj#flW2oB4_]RAtc~> "Rl*WoYQ1ZOoGR`qs)J:pTXk2cKkB,JcEdj#f?6+p[@!qRAtc~> "Q/\Apd,h0h;R\qrVhBJa8ZFip@dt4c\S!hJ,~> "R#CLouDX`OoGUarV>d,h0h;R\qrVhBJa8ZFcp%@q>f8,ipJ,~> "Rl*WoYQ1ZOoGUarV>d,h0h;R\qrVhBJa8ZF^o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`OT,F^rVQHcq#gKjrVhBJ`r?=bp%@q>f8,ipJ,~> "Rl*WoYQ1ZOT,F^rVQHcq#gKjrVhBJ`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`O8o7Zrr)`lrr)lrJcE^h#flW2oB4_]RAtc~> "Rl*WoYQ1ZO8o7Zrr)`lrr)lrJcE^h#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`N;rYOJcEUe#flW2oB4_]RAtc~> "Rl*WoYQ1ZN;rYOJcEUe#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouEd+rVhBJJcDYJ#flW2oB4_]RAtc~> "Rl*WoYR=%rVhBJJcDYJ#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouEm.s8Moos8ITLJcDbM#flW2oB4_]RAtc~> "Rl*WoYRF(s8Moos8ITLJcDbM#f?6+p[@!qRAtc~> "Q/\Ap'k0V#X]>N"Xqu-MFs+13Ors6mCp@$nbLmb8n~> "R#CLouEs0%K?>'j3,*AZb4KAqu-MFs+13Ors6[ "Rl*WoYRL*%K?>'iPr:,XL6(,qu-MFs+13Ors6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouF!1&,uOh]>ie#r;?0E`Ok71rdk*#s/l;,a7],skLYNXWdk~> "Rl*WoYRO+&,uOe[(tMgqtop>^U3&"rdk*#s/l;,_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouF$2"TJ;J]^5Io"RE\Lqu20HJcDnQ#flW2oB4_]RAtc~> "Rl*WoYRR,"TJ;F[HdSf"R3;?qu20HJcDnQ#f?6+p[@!qRAtc~> "Q/\ApPankc3"T$6nr;M9IJcDqR#gN):n))HIRAtc~> "R#CLouF'3"TJ>K_ts--"Soscr;M9IJcDqR#flW2oB4_]RAtc~> "Rl*WoYRU-"TJ>G^%qF&"SoaXr;M9IJcDqR#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouF*4"TJA]]DD4#"So[lrVhBJJcDtS#flW2oB4_]RAtc~> "Rl*WoYRX."TJA[[/0Iq"SoFbrVhBJJcDtS#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouF*4"9&).m.:2Ylb!#lYQ"b'[$7$+qYpPgrf7&Crr3)>Ul_m5s-irna7],skLYNXWdk~> "Rl*WoYRX."9&&&lLXuWl*U9bYQ"asX-B@?qYpP_rf@,Prr3)5TonAds-irn_Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouF-5"9/5X`U`s1rl!gorilD+[]95jPO88I!MJENr;Q]udG;%4JcD2=#flW2oB4_]RAtc~> "Rl*WoYR[/"9/5U^[h=+rk@=grilD+TZ6rcPPG%T!LWBUr;Q]ud,LVVJcD2=#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouF-5"9/2@hspXIhokorZ2Y%-P4JYQ[]oZ/!MJKKrrKR6JcD2=#flW2oB4_]RAtc~> "Rl*WoYR[/"9/2:h!t:EgW'-iZ2Y%*P55.XT]#_I!LWNTrrJeQJcD2=#f?6+p[@!qRAtc~> "Q/\Ap6nN;!;OnWNeL"OiR$U!ET9!TTZ#s-irnc1^l" hp7+HWdk~> "R#CLouHS%!N]hG?NXV?V"+!Q"7`_8`kTOpb3AU!#5=2Ws8UrGqu6elTpht "Rl*WoYU+t!S=lrZidY>WpoQV"7N>*_8!hf`TQpo#2YI@s8T7=qu6edTq&CVr;Qejj+76!rs6L6 o_7h3Lmb8n~> "Q/\Apq!n4`pq#8<^Yo4Kd.RD>qMkLS!VMTPrrq`Mn_'#OrVloYRt:U.rs6mC p@$nbLmb8n~> "R#CLouHS%!G$SlKEHjXY4qJ`"8B+SgqV\Hfuj!f!VDKQrrM>Oqu6iMlL<,^nbrIg[^(JaRff8,ipJ,~> "Rl*WoYU+t!P-mtj9+E!X7u/]"8AkIftZ8Be]%4]!Rm52rrKC6qu6iOm-VTQq>L "Q/\Apq!n4`pq#8<^Yo4Kd.RDCqi(7Ks7)9HrrLTArVloYRt:U.rs6mCp@$nb Lmb8n~> "R#CLouHS%!G$PkKEHjXY4hD^"89%RgqV\Hfuj!f#5=2Ws8UrGp\t8j_#=96[^(JaRf f8,ipJ,~> "Rl*WoYU+t!P-mtj9+E!X7l)["88eHftZ8Be]%4]#2YI@s8T7=p\t8_kl(M^T]:V'Rf "Q/\ApWn%6Za^Wcf+lh(2\Qd#L0igTWA!S "R#CLouHS%!NotI?NXV?V!ddK"7 f8,ipJ,~> "Rl*WoYU+t!SFrsZidV "Q/\Ap "R#CLouF-5"9&)TLXo.RMmJm3lW;lhKo_I.%mJm4br3`j.rIP!=rs6[ "Rl*WoYR[/"9&)7g%"h>fYmXbYl>Q5ao:1]q#CAdhuEB.p@cUkq#CBlr1DpFJcD5>#f?6+p[@!q RAtc~> "Q/\Ap "R#CLouF-5"9&)O_t!L(_VG"dYl=k([$7$+rr37uec5QIQB@omrr2u:rJproJcD8?#flW2oB4_] RAtc~> "Rl*WoYR[/"9&)L^%(h!]\3/[Yl=jtX-B=>rr37ln,N$WQ'A<5rr2tprK%$CJcD8?#f?6+p[@!q RAtc~> "Q/\Ap "R#CLouF-5"TJ;e]&iPX"Q[/_qu3Po!LWh:s,?s`a7],skLYNXWdk~> "Rl*WoYR[/"TJ;eZf:TM"Q?]Uqu3Sp!W8pJs,6m__Y!Kpn)&qhWdk~> "Q/\Ap "R#CLouF-5"oeGqgUcqJp''rsg\LgIJcC<$Z2Y*Mp%@q>f8,ipJ,~> "Rl*WoYR[/"oeGqfsC2@o`afjg%kUGJcC<$Z2Y*Ho^qnHhh[]#J,~> "Q/\Apfe&V%Rp'(!,eF!Rp@dt4c\S!hJ,~> "R#CLouF*4"o\>fcb]/Gp'(!%cg^i1JcC<$Yl>!Lp%@q>f8,ipJ,~> "Rl*WoYRX."o\>fbI[3;o`afqbOGE-JcC<$Yl>!Go^qnHhh[]#J,~> "Q/\Ap "R#CLouF*4#6+StlHd'&q=OsP]$K[ "Rl*WoYRX.#6+StlH6Hlq=FmLZc_S0rVhBJJcDtS#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouF'3'E7q+lIibcg$8+tlIj"bg$8G3rdk*#s0)G.a7],skLYNXWdk~> "Rl*WoYRU-'E7q+lIWATf&uPlkLI2NfBW51rdk*#s0)G._Y!Kpn)&qhWdk~> "Q/\ApDs+13Qrs6mCp@$nbLmb8n~> "R#CLouF$2&cV_)nDMj<]Ds+13Qrs6[ "Rl*WoYRR,&cV_)nDMa3[B-I;_U@B3qY^>Ds+13Qrs6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouF!1&,uP)q!dJ*hVR5SnG2t[rdk*#s/l;,a7],skLYNXWdk~> "Rl*WoYRO+&,uP)q!dJ*hVR5SnG2t[rdk*#s/l;,_Y!Kpn)&qhWdk~> "Q/\Ap)qtg0bq>0sbrVc_Hs+13Ors6mCp@$nbLmb8n~> "R#CLouEs0%K?>)qtg0bq>0sbrVc_Hs+13Ors6[ "Rl*WoYRL*%K?>)qtg0bq>0sbrVc_Hs+13Ors6L6o_7h3Lmb8n~> "Q/\Ap "R#CLouEm.s8Moos8ITLJcDbM#flW2oB4_]RAtc~> "Rl*WoYRF(s8Moos8ITLJcDbM#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouEd+rVhBJJcDYJ#flW2oB4_]RAtc~> "Rl*WoYR=%rVhBJJcDYJ#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8,ipJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhh[]#J,~> "Q/\Ap[LW[+,*Vcr,Gpq>U`Fp@dt4c\S!hJ,~> "R#CLouGP]!C?#7rrIn7p\t8]Vtp>n;W`Q1h>[L>mF;.:LQ-lbq>U`@p%@q>f8,ipJ,~> "Rl*WoYT)W!Bg)>rrH0Mp\t8&h>.'O7J263h>[L;pXK3DU`;o^qnHhh[]#J,~> "Q/\Ap "R#CLouHq/"hS/)4_`(/rrG@Lo)A_VlMUYd7QU>Es4U':rrIn7q#:Ek55P*T!Rb>+s7?6o7Plq^ ?JP)N!C#o#rrIn7qu6[ddt.N)a7],skLYNXWdk~> "Rl*WoYUJ)"f56]7!e(errG7Uo)A_QpAFpp5>D(Us)X+jrrH0Mq#:EV:At"g!J[M's7?6o5;kD_ E:WQ!!B^&*rrH0Mqu6[]m",0B_Y!Kpn)&qhWdk~> "Q/\ApfA*#'i7.s8VLHo`"s=;Y^7mi^W_C!rbg:JcGBB "aOk\ppE!LrrH3.nc&Ugjo5A.;Z$IpH#&!2#gN):n))HIRAtc~> "R#CLouHt0#-U(so(0V.nc&VSlMLS]rV?Ho60eCJ#"DIMs8UeEo`"rINVNMS[VGU;!rY4QJcGBB "\-o;oo_`5rrG=Nnc&Ufjo5@:NVi_V7alqg#flW2oB4_]RAtc~> "Rl*WoYUM*#(B@jp?nubnc&VPpA=jiq>($k4SJ^Q#!YB!s8R.uo`"qmeG0%ECVTZE!qnbQJcGBB "[D;MmTt&+rrG4Unc&Ubjo5?^eGK7H5O "Q/\ApEC&\, "R#CLouI"1!rP-tqu7i0Da$RYs8P9h@8M.Gs(XGa9uHupZf8,ipJ,~> "Rl*WoYUP+!qA;6rVn,@s3tIB:qlu04.B\OQ2^eg2bm-2s#Z]U>lT4B4_3gWs#g#QruaP18,N=- MuWgo<^0a:s8TZ&7u1*ns8USW5Z#2ps$Z,Nrs3j:6lVZA5?ZM9s#9iTs&@VMs#Z]Z8sTDUs11fmLf;h#s!'bp s8P0W8jfr5 "Q/\ApZ@js8QE'rr3F/7eZl^^uYOF1%,'PVu6QGH#U8hs6_lH rap!Dlp[WI@WhY53`?"XH"ZgCE.\*nSH&W]2<4`+d/X-n8qI$7s$h9Ls8BMks8Tmqs3rdks)VT; rRClI=1%9`XT/9-HN!.n;ZHbu7eZl]Ao.A27A9`=fDklrH#*H[ =%_ZN:ghKFOBqnd^uYOF1%,$KHN!.n;ZHcBBD(q:Ju&DPc1^l"hp7+HWdk~> "R#CLouI"1!p;K>qu74%Rf2PDb5XYJrr,d4s8P=Krr3EkD>jM7WpThu3rAqClMUZ57c&6?s4U'E rBd:YffJ-k6*(%64cTLA9q)%H8]q&skl:\I6M1hr^rCN qT&X954-W[eGoJ5YQ*0;NW9#BD>jM56DOP53o^/tp&G&CPlLbIFoMA;_uK[$X8gU2NVi`$7aqD; 5%aKT4BLS?=Ju3!WpThu3rAkAYQ*0;NW9#QRf2PDb,#%Ca7],skLYNXWdk~> "Rl*WoYUP+!hDIPr;RB-6,!9J5jJA2WW2c]kPtQEpAY($4/)ZPs0q\"P#)&V4SJ^Q/3iW"aT$=> s7eass1CGapH6b$Y;t,4rB\-reNiF"48&XRU2Tr/f_YXJ=3Z]a2uEXT<7h0M4/r8U6g+LD4O3u13Rms+,X:Yq s#ZMDeN.O;nO;:6s0q\"P#)&M4OO2<3n43.6,!9J5jG0F#f?6+p[@!qRAtc~> "Q/\ApJcGBB!."Pr!AUGJrrd)0oJ64>s"INB5Igan oJ?LHs0bi*s&Y?_s7A)Es8U/5s#&F.s3=XEs&YZhs40mDoJ?IGs0,Dursa6hs8Q/as8TK-s8V%E qu74BT_(&>s8TN*s7J/Ds8V1HV#L_Fp@dt4c\S!hJ,~> "R#CLouI"1!T6$9rt4NXrr<#5?N34Qs8SF7s8P=Krr3!_jneu[6L"M9lMUYn7c*\ro\)n:k<8hE s*/eO55tQp>)iRI49#9[^L$q#mJm4P4jEs(rrJWrJcGBB!(QrE!BSa-rrb[QkWJhArs(`m6/MYA kf8,ipJ,~> "Rl*WoYUP+!IdoCrrJrqrr3CA^&L1es8Q?Ms8P4Trr3!\oD8Ii4nenQ4X*8(@R8<;un)C;'X,p](8p>2&uSrrHHEJcGBB!'gH@!DMqYrrYFXTN1mh#47iLPS65dj'2m*T2uEXT<7h0M48&XR>gNG>>Q4X'8(@G9%6s4Zs#]iPs$bT?s(94H rrYFXRUQ3q"A%&BV,[Ho!G] "Q/\ApfA*$$gLi^J!uS s6hrHrr_%?mlCCI"OC!GmkF`9"AMJf=e,Kk#fgF4A(gn^d7Suio`#GIC]FCe1s>pB?:.4BN:/b' rrQ7o;?$RrmlCCI$-uNLs&ZT-s6hrHrtF0Os#&F.s3=XEs&ZT-s4L!DmlCCI!RF[@rtfrrs8Q0- s8ToEs8V1Es8U8K6Us+pmlCCI"OC!GmkF`9!DQ.]rs6mCp@$nbLmb8n~> "R#CLouI"1!p;K>r;QfS2uZ_a;-a,bmJm3ZFT;A*lMgea54/@L#ch*#9fD,560eCJ#tEeOI!XL< s5$ "Rl*WoYUP+!hDIQr;QeB6iL'o8uVbOp](8#bl@]*pAY'm488aS#a81]:,qkF4SJ^Q#s[qZ;SR:2 s*'4srrZ]EGE)V%"BEtOGXMI1"A5Wm48&UQ#aJ=YNVibU=3ZG)cM$"BEtOGXMI1!D9;drs6L6o_7h3Lmb8n~> "Q/\Apr;Qij2#[@P$!4M6s4L!Ds'DT%rs`&:s8VjLbl@]\MuR=cr;R=RE<#bsYrMdU 1Aq1Pa\27`rr3/8;ZHAGrVZZrV/#r.#5Xi^s8T96JcGBB!I8J[rsN4MpbL(ns)*be1AUkJ.p&rk E<#t11]IFS[Sm/*=1&#-oJ6@Es2dq65L0 "R#CLouI"1!rP.!r;Qf]5PtHe54/CMTQL565jJ@K%6j1Zs6_u.s8PIIs$>rJrt%ZVs7A=o8cRs: rr<"DGiqBlrrckls6)]ErrH'@r;QukCNogYrs6[ "Rl*WoYUP+!qA;7rVlrtTO[m!#s7n]s'O"Ms#g#Srs_'as8TW.mf3;MoD^rHr;R'fnGgj"ClA=` =oSF';U(\Grr3*neGl1Oqu6[bl2:Pck"Eu!s$c%#s7H "Q/\ApmJ"hDs)r5Ks6@5r=1&#-fh)5DIXD(o%9Kq:s7J5?s6D@ss(&&*s"&G7s8U)! 3 "R#CLouHt0(p?$3o^on1r_8pZrnl-'54/CMTQL568'_,6%6j1Zs6;iIs3ER`s$>rJs"$Xrs8RaM 8cS`UVuGF3i;Gsds6_q-s8G`_qYoC"s0QVBs6\85rHWbirB0\&s7H=\7a_/0`&6iF5Q1W.2<=a. QM^R#s8P:MoLYhXrBIOdeif#ms$#iMs8>9^rnBKls%U6-mlZj7s$#iMs.FK6rB\^.mQ-@)s!1(_ s8P:Ms8Q96s8Tl8s6;iIs3ER`rBIOdeif#mr_8pZrnl,!rs6[ "Rl*WoYUM*(k#9+q!P5eq`qgmqU+a2488dT?d/QM5O8=K%6O=as.j6*s.hUFs#g#Qs"$D(s8Q+b MuWN6aoB(9o(G33s3NdUs8,'orVFq0s(T=Ls171gpJK69pcSA's7H=\5O/1?Uc8"CAcD_*2tQo3 \c)6Is8P1TfKda^p,pe'[lW%=s#]uTs7\Xts1UPbs$>`GdlQ+\s#]uTs'O"Mp,q[@coKVQs!0hq s8P1Ts8PULs8QiKs.j6*s.hUFp,pe'[lW%=q`qgmqU+`,rs6L6o_7h3Lmb8n~> "Q/\ApfA*.sZ+6s8,#? s8V_02a!'!s7'T%A>E-'s7q@43Dc@Jr'frOoO0dB>MB,D5_8t,s!E"D/h]MKs8Srb@rQ[Ns7h%( 3b/3i=1&#'A9n4E@Q.;o<<)u"[/U(FoPZZNN;rqJ>Z>45H#*H[ =1&#-_.*HEjZ`_EVF>!6G`2Uk@Q.;o<<*!oKg%LnT;;Jmc1^l"hp7+HWdk~> "R#CLouHq/*4oQ>6uCs6XYd 6@/\354/C@8#ZIA.Xb6^fLL8L/2N>7caU' "Rl*WoYUJ).&9m)9RuF.en%*8D5s0kg'es8Hq>C8F,cs3P+; 8>H4b488d)5LTS?8OnP6f)Pb3p\t14^f3O#dJs6Q94ETOfDkk4p](8#bl@^P:hY>UeGK7k5OAFM 488dT8)sXLC;9fJDcphO54ef_8OnP6f)Pd$AO&\$l_OOd_Y!Kpn)&qhWdk~> "Q/\App@dt4c\S!hJ,~> "R#CLouF06!LKb\rrH$ZJcF0u!F<1IrrHE7SGrl8p%@q>f8,ipJ,~> "Rl*WoYR^0!FXaZrrGU]JcF0u!Cu1_rrGXMSGrl3o^qnHhh[]#J,~> "Q/\App@dt4c\S!hJ,~> "R#CLouDX`JcGEC"ig*4c8kF1rrpF4s3f8,ipJ,~> "Rl*WoYQ1ZJcGEC"ha[2Y "Q/\Ap "R#CLouDX`JcGEC"KP!Y:U\%<"KP!Y:UZbm#flW2oB4_]RAtc~> "Rl*WoYQ1ZJcGEC"G9'.?/*-o"G9'.?/(kK#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHq/!q+U\J]G4>!m0!\jT"uRJcEUe#flW2oB4_]RAtc~> "Rl*WoYUJ)!pn=RJ\nk4!l`UTjT"uRJcEUe#f?6+p[@!qRAtc~> "Q/\Ap "R#CLouHt0"6.Smr.4murrC+"q#g?TcJe!es8N#rqu$Hls8ITL`W$4ap%@q>f8,ipJ,~> "Rl*WoYUM*"5h5dr.4murrBprp]L3Pb22@^s8N#rqu$Hls8ITL`W$4\o^qnHhh[]#J,~> "Q/\Ap "R#CLouI"1!q+>1JcF4!!6='o!qje*lMgtcqq/[X\-'M!qu20H`r?=bp%@q>f8,ipJ,~> "Rl*WoYUP+!q",,JcF4!!5d^i!qaS$lMgtcqp`1NYlhPequ20H`r?=]o^qnHhh[]#J,~> "Q/\Ap "R#CLouI"1!S-Rgs3goIa5Haokgf#!"TJAQc1q&5"Sg3orVhBJa8ZFcp%@q>f8,ipJ,~> "Rl*WoYUP+!R^4as3goI_Vk1ik0iSq"TJAMaS5H/"S]serVhBJa8ZF^o^qnHhh[]#J,~> "Q/\Ap "R#CLouI"1!Qk7js3goIa5Haop<)_$"9/24p\"OgPe[+pJcEdj#flW2oB4_]RAtc~> "Rl*WoYUP+!QFtfs3goI_Vk1iou67s"9/2.p@\FfQ+?ekJcEdj#f?6+p[@!qRAtc~> "Q/\Aptli.%bqS2_'"HtIQqYfLT!EZYqrrH3.eGfQr;Z$IpA>cd6#gN): n))HIRAtc~> "R#CLouI"1!69ZjdJj3eht[8mli.%bqRH4u"I:mSqYfLT!C#o "Rl*WoYUP+!5a "Q/\Aptm/I1erV=5&rX8[^/hXp7rVlis6CIiQ!T#p+rrH3.mJd2g[+,*V cr0c@!P[9ors6mCp@$nbJ<6CR~> "R#CLouI"1!69ZjdJj3eht[8mm/I1erV "Rl*WoYUP+!5a "Q/\Aptm/I1erV=5,r;jY0rqulqLAie1^\Rj-s8PERrr3#U47<+L=1%Ap !EZYurrE&[rrLJEX8`IMp@dt4cZb,/J,~> "R#CLouI"1!69ZjdJj3eht[8mm/I1erVf6`FEJ,~> "Rl*WoYUP+!5aZ2+@ts8P(Orr3"0V=+?a488.B !B^&GrrDlVrrH0MX8`IBo^qnHhggf\J,~> "Q/\Aptm/I1er;",,rI/Em?LAie2N5,2drrfH/U0BKkq/n_okl:[n:cUn;s8VV!3**Fbs8VnG4?7i> rs6mCp@$nbDg[Fm~> "R#CLouI"1!69ZjdJj3eht[8mm/I1er;!l%r!&NFJGT3@M>f=;OLY,arr_:5s8VV-5"(mi rs6[ "Rl*WoYUP+!5aOg4`[rrT>+GXFf$ pA`WN5Z#2ls$f)C9LG6Is8RL;4_3gWs3Y:?8>6(`488c_9'ZGd8k4\9eGoP1RpB;!_H&m(eGoP- qu?[qfDkk4Rpo!Trr<#08k4\9eGK7i4SJe:V+O+]dT&D^rVunG7m1DIs8TT$7u1*ns8USW5Z#2E rs6L6o_7h3GD;B5~> "Q/\Aptm/I:hr;",*r4N"]!e'lpr[nM;rP/1+rrkT,@m_P=%_ZN:ghKFOBqnd^uYOF1%,$KHN!.n;ZHcBBD(q: K%9l,c1^l"hp52+B7K~> "R#CLouI"1!69ZjdJj3eht[8mm/I:hr;!l"qn;tc!eL-!r\OqDrOD\$rr5)oUB5&L8urBd:YffJ-m 2YI+MJX$375'?l(;8`G46*(%64cT@=,=1Vp5%aKT4BLS?=Ju3!WpThu3rAkAYQ*0;NW9#QRf2PD b16Lta7],skLWU;B7K~> "Rl*WoYUP+!5aT=#Du9Re qY`^nrma:!r;T5JMu;g/e,THWp&1%LrVJjhrV"M9s#]tS;==JX4OO2<3n4304/)ZPpcZXs]K>]a 2uEXT<7h0M4/r8U6g+LD4O3u13Rms+, "Q/\Aptm/I=ir;",)qtbd@/c\TE/ddO8qnMt)rrdCVC7t2Sq#(.G=.):_s8V^Irr<#,;ZHbuOoPIR1Aq1Pa@lOjfDklr fH/PQ1Zj "R#CLouI"1!69ZjdJj3eht[8mm/I=ir;!l!qY>aB1]UAO1^]9@qRHA!rrAD4oYK]G^06Hp&G&C PlLbIkl:[LIfJRprr3"&NVi_a60eJ6jo>?\RK*;n?Mja)6L!Ysrr3:3NW89*rr<#5?If&]a7],s kLWjIDh%~> "Rl*WoYUP+!5adC2?6VR2@>NCqQ]korrT=->2&uU s.r]orrHlJr;Qp^nGiNKDu9P:4nbOKqu6m_Q!*\Xs-dBqrs;6Gs8P1Ps8STkrr3X0c2Ta"s8Q'M s8P1Rs8Q?Ms-m6lrrGX>qu7'epA[5Gs8PO?s8Q]Lqu6a]p6oFhrrbmBs.r]orrHlJec,olo^qnH hcXK.J,~> "Q/\Aptm/I1er;",,q>pJGr%8A.qtg0(q>C6ls$i:QrsIREs8U,L2.P>. 0`FfJ9hG9_%p,t7s7\8Js3"_97lZIr3;`^W=%Z?hrrMRKrr3;N;ZHbu[/^0p3<&pkgck`qfDklr rr3#F;Z$J0A>fH/[/^0B@fQJi56(Z+?:.4BN:/e+rrgYGs6hZ@:'"'\ec,p" p@dt4cXC[9J,~> "R#CLouI"1!69ZjdJj3eht[8mm/I1er;!l%q#UAJr%ne7qt^&tq>C6ls#Tf3rNAJ,~> "Rl*WoYUP+!5aC6ls#K`NrsE57s8S?_7udCj 6iL'd8uV[f%m0Ocs0t]$s-$AU:,qihL&:lO4$CCYrrI;&rr3:)eGoP1p](8;LAq2d@DDh$qu?[q fDkk4p](8#bl;mHrr3"!eGK7]4SJe:p](7`j8]-o^]4=t;b^"Ho6-,mrrc?Os*-p1<<5^jec,ol o^qnHhdLAIJ,~> "Q/\Aptm/I1er;",+q#UAFr[n5%qu6Br^\Rg,s8QqRrr3#@7/d,hqOC1M 2#[4L&6FPbs6qoGpbL(ns)*be1AUkJ.p&rkE<#t11]IFS[Sm/*=1&#-oJ6@Es2dq65L01 "R#CLouI"1!69ZjdJj3eht[8mm/I1er;!l$p]:5Gr\OY.qYp6p\G?(%s8PI1rr3"DB)V`4nS<@4 5PP0h52H8=hEq8146$;?6fdJorqud$53,G1s8V7Grr4*JNW9#BmJm4L4oYK]H$K?Ko`+r,PlLbI mJm3ZFT:Mirr3"0NVi_k60eJ6mJm2i])VfG "Rl*WoYUP+!5a "Q/\Aptm/I1er;",*p]UGF/q*Qop_ppCr;Q`rd5o\Ri(8k,pV6M&X\Ab< D"7Pj]DV[u=%)6MMcKfM2"Ub50T5sOA+KTJs8Q0-qIk$Ora'sNlTS5Hs&ZT-s8HMIr9["Gs,D1$ peXujs&ZT-s4L!Dra;&lpd\6Zs!)'Ps&ZT-s1r1Es5cHEoec:?lS+7r?@2\;5#VF\G&6^KlFYUH #gN):n))H2IuSs~> "R#CLouI"1!69ZjdJj3eht[8mm/I1er;!l#pB:>I1kGK$pDUR;r;Q`rP"t'9d5o_UmF(t3H$fNb SGN6BdJX#65$[jW?'#$N5Q1W.2<=a.QM^R#s8P:MoLYhXrBIOdeif#ms$#iMs8>9^rnBKls%U6- mlZj7s$#iMs.FK6rB\^.mQ-@)s!'hps$#iMs'!#6s1h\8l9G7IcSae^5Ht1=4cTL@9q;(ZhpL!S #flW2oB4_FIuSs~> "Rl*WoYUP+!5a`G dlQ+\s#]uTs'O"Mp,q[@coKVQs!'Z"s#]uTs$u,Ls(]=KUh0Q*Uc7o=4OX8=3n43,5eR'ldI,Qb #f?6+p[@!ZIuSs~> "Q/\Aptm/I1erV=5*pB(/pq>Bt*^\Rj-s8W(q8hiVjs8V_"3]gR"s7q@4 3Dc@Gs!Cg?=ZTs[s8Srb@rQ[Ns7h%(3b/3i=1&#'A9n4E@Q.;o<<)u"[/U(FoPZZNN;rqJ>Z>45 fH/[/^0B@fQJi56(Y[7:U:]MuW9U2c[4as8VnK4ulH3ec,p" p@dt4cZk51J,~> "R#CLouI"1!69ZjdJj3eht[8mm/I1erVs6XYd6@/\354/C@8#ZIAV(5s8VV25f6E(9J,~> "Rl*WoYUP+!5a-Fs8Hq>C8F,cs3P+;8>H4b488d)5LTS?8OnP6f)Pb3p\t14^f3O#dJs6Q94ETO fDkk4p](8#bl@^P:hY>UeGK7j4SJe:p](7`j8]-o^]4:O=_acsoDc6j7u(!ns8UY]5XfPUec,ol o^qnHhfspAJ,~> "Q/\ApNLYM~> "R#CLouI"1!69ZjdJj3ep%\U2q3:s#p%\U.m/I4frV=4rqt0sar:L3\^\Rj-`;]jD\%VeB?+8)Y #flW2oB4_RNLYM~> "Rl*WoYUP+!5a "Q/\Ap.i;_k"_86-TlJV^' 42K2A#gN):n))HBOeI:~> "R#CLouI"1!69ZjdJj3eo_AL1qiq0%o_AL-li.+dqU "Rl*WoYUP+!5a[W^q8*(7]_VT2 55EJ'#f?6+p[@!jOeI:~> "Q/\Ap "R#CLouI"1!69ZjdJj3eoD&C0rKRB'oD&C,li.+eqs)VEpUC@@dd-f0a8Z:C7RBnZ_#FP<7RBnZ bl7shp%@q>f7]BbJ,~> "Rl*WoYUP+!5a "Q/\Apee+rrrE#q "R#CLouI"1!69ZjdJj3eo(`C2Q'KD\q#JJ$rrrE#q "Rl*WoYUP+!5a "Q/\Ap#gN):n))HHQ`,E~> "R#CLouI"1!69ZjdJj3enbN4*nbE1*lMgtcr;-6`p]L?gr;D3Gci3_>#flW2oB4_\Q`,E~> "Rl*WoYUP+!5a#f?6+p[@!pQ`,E~> "Q/\Aptm/R+b!r`&pp%n^cJc*mmrr)lrqu6rHp@dt4c\IjcJ,~> "R#CLouI"1!69ZjdJj3eht[8mm/R+b!r`&pp%n^cJc*mmrr)lrqu6rBp%@q>f8#]kJ,~> "Rl*WoYUP+!5a "Q/\AptmJd=grU/@bJ^)!T"OGfjrVl`p#gN):n))HHQ`,E~> "R#CLouI"1!69ZjdJj3eht[8mmJd=grU&.WJ]GRH"Nf3]rVl`p#flW2oB4_\Q`,E~> "Rl*WoYUP+!5a"NAdSrVl`p#f?6+p[@!pQ`,E~> "Q/\Aptmf*IirSl>or.4m`rrr>fe)L?*rVm/Jp@dt4c\IjcJ,~> "R#CLouI"1!69ZjdJj3eht[8mmf*IirSPodqgnd_rrr;ccJSU"rVm/Dp%@q>f8#]kJ,~> "Rl*WoYUP+!5a "Q/\Aptn,ERjrU/23q187Rp'(9ge*d26rr38Kp@dt4c\IjcJ,~> "R#CLouI"1!69ZjdJj3eht[8mn,EUkrTqi+q"941_"7j(q"i;&rVlfr#flW2oB4_\Q`,E~> "Rl*WoYUP+!5a "Q/\Aptn,EOir7UH1Jb?\K"SV38r;Q]q#gN):n))HHQ`,E~> "R#CLouI"1!69ZjdJj3eht[8mn,EOir71**Jb6VI"SM$0r;Q]q#flW2oB4_\Q`,E~> "Rl*WoYUP+!5a "Q/\Aptn,ELgqTnkdot'eup<`[7rr38Kp@dt4c\IjcJ,~> "R#CLouI"1!69ZjdJj3eht[8mn,ELgqT8D]oXXSqb52)9rs6[ "Rl*WoYUP+!5a "Q/\AptnG`UirV=]hoss`+p "R#CLouI"1!69ZjdJj3eht[8mnG`XjrV=M+Jb-JE&+mp "Rl*WoYUP+!5a%Jb$DC&+d[6rVlis_Y!Kpn)&neW.4~> "Q/\AptnG`UirV=]hoXON'c2%>;s8U@;p@$nbLR4ri~> "R#CLouI"1!69ZjdJj3eht[8mnG`UirV=Kbo=4B%a8,]5s8U.4p%.@uLR4ri~> "Rl*WoYUP+!5a "Q/\AptnG`UirV=]hoXON'c2%>;s8U@;p@$nbLR4ri~> "R#CLouI"1!69ZjdJj3eht[8mnG`UirV=Kbo=4B%a8,]5s8U.4p%.@uLR4ri~> "Rl*WoYUP+!5a "Q/\ApC6ls3:92n))HHQ`,E~> "R#CLouI"1!Qk7js3goIa5Haop<)n)"9/5oa+C6ls2Xg*oB4_\Q`,E~> "Rl*WoYUP+!QFtfs3goI_Vk1iou6G#"9/5o_L_7%nGm"q2?>q9o^NF.q>C6ls2+F#p[@!pQ`,E~> "Q/\Ap "R#CLouI"1!S-Rgs3goIa5Haol.,;'"9/5oa+f8#]kJ,~> "Rl*WoYUP+!Rg:bs3goI_Vk1ik0ic!"9/5o_L_7%nbP-E2kfp7%`8&>rr<#8o^qnHhhRPsJ,~> "Q/\ApC6ls3:92n))HH Q`,E~> "R#CLouI"1!q+D3JcF4!!6='o!qsq.nG`Uir;"Bao$-b*2#[@P1]]J-p@8^6q>C6ls2Xg*oB4_\ Q`,E~> "Rl*WoYUP+!q"2.JcF4!!5d^i!qaY&nG`Uir;"3\nBLJ&2Zb0p@&R/q>C6ls2+F#p[@!p Q`,E~> "Q/\Ap "R#CLouHt0"6.Slr.4murrC+"q#g?TcJe6l"9/5oa7Aa$Oe:S%!DqL(nHE/S2" "Rl*WoYUM*"5q8dr.4murrBprp]L3Ob22Ue"9/5o_Xd0s?.%U"!CZ+)n-*,V2XiU_rUBeE!B6eJ n.*>2r;Q`r_Y!Kpn)&neW.4~> "Q/\Ap "R#CLouHq/!q+U]J]G4>!m9*_mf*Cgr;"D)nH%r>rp^1\3U6/)c:@-h!R=r(nbt?HnME*$nbk9E 3qr.Sa8,Z4s8U.4p%.@uLR4ri~> "Rl*WoYUJ)!q"FTJ\nk4!l`UTmf*Cgr;"5$n-diCnaQ$39C;6 "Q/\Ap "R#CLouDX`QN%'dr;"D)nH#b+rp^1]:l+Z3cq*Bj!B]J!nbt?HnME*$nc&Id2#$MMa8,Z4s8U.4 p%.@uLR4ri~> "Rl*WoYQ1ZQN%'dr;"5$mf@(6rpL%U5f<'ZEJNfI!q&2:L@>+"!q/$*rU9a_s#0W?%`8&>rr<#8 o^qnHhhRPsJ,~> "Q/\Ap@rrph%PB/Rp(j#HW#k\W7@M=U4:P[7-gl14E4Hoj<4rpg)j@tsRR /ctSr0)G/=0)+oHc2%;:s8U@;p@$nbLR4ri~> "R#CLouDX`QN%'dr;"D)n,ZG*rpUmraZ8PRcUdQpf3UR2VXX(>mdT`+CHb+LrpTqh[>+2M 1]m/'2#?_A2#$JLa8,Z4s8U.4p%.@uLR4ri~> "Rl*WoYQ1ZQN%'dr;"5$mf>i5rpM!pY"%aGEJO#O[o5Ika7&IXP@$k@mdKVc>sD)jn*fa7f7rbn 2?N>*2YunB2YZYM_YO-/s8Tt.o_7h3LR4ri~> "Q/\Ap "R#CLouDX`QN%'dr;"D)n,Y`/rpV("e8g$-cUdQo6(e#(3S!U^EqoH,\FAu\QMK`9^[U`IF,'2` 1]m/'2#?_A2#$JLa8,Z4s8U.4p%.@uLR4ri~> "Rl*WoYQ1ZQN%'dr;"5$mf>N5rpM!pk"iYYEJO#H4i7*+3ofZjU\XRLg$e;n\ba]*2YunB2YZYM_YO-/s8Tt.o_7h3LR4ri~> "Q/\Ap "R#CLouDX`QN%'dr;"D)n,YQ-rpV("e*K*WcUdQZ4nS77GBE=;ipcH%HLT]Op$hLa>k%6M?&%kK 1^![Fr;?E\s8;W\%`eDCrr<#=p%@q>f8#`lJ,~> "Rl*WoYQ1ZQN%'dr;"5$mK#<2rpCpoiP\(JE/3kF=7YeM;8MZ^lL+(E`9s-oo'Z$^ZL7-d\q]YQ 2?WjEqtp6Xs82QY%`8&>rr<#8o^qnHhhRStJ,~> "Q/\Apl8VZd8 /cbG60)4rHc2%;:s8U@;p@$nbLR>#j~> "R#CLouDX`QN%'dr;"D)mf>W,rpL.^ddVU+c:IEO8H/&cU/gYFi:$-(EUV:6r_Whp>OV$6FGB8a 1][":2#-MLa8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"5$mK#E3rpC(WiUTmRE/3k&KDt9H@(,JbkjIkF_L_hRUZ 2?<1;2Yc\M_YO-/s8Tt.o_7h3LR>#j~> "Q/\ApC6ls3:92n))HHR&GN~> "R#CLouDX`QN%'dr;"D)mf?A%rpL[mddQN_^e!qK4mqe-G'<=;i:$-(EUVXHrqQ`oq=!cP\;'JP 1][":2#-MLa8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"5$mK#`1rpC(WiU4lQC5;5E=8qUq;8hlakjIkF_=!e%rqQ`oo^;-9fnSqp 2?<1;2Yc\M_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"D)mfBY+rpM"!ddQ[X:e:'D6([Mi3n`sbi:$-(EUW?iPj@bc`:*+Vk_AR+ 1][":2#-MLa8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"5$m/^n/rp:jni9g#65_nao4M:'e3ooZikO%YC_#j~> "Q/\ApXmki+8au6?Jiu(fRIK*!o7lc7 /cbD50)4oGc2%;:s8U@;p@$nbLR>#j~> "R#CLouDX`QN%'dr;"D)mO%hsTp$EUN8\E'?Kk_!]0ImtU91 1]Zt92#-JKa8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"5$m3UO_m-X1)i9fp]3/?nh]i%$pcL1']kO%YC_C6ls2+F#p[@!pR&GN~> "Q/\Ap "R#CLouDX`QN%'dr;"D(mNe$hmdBr@mdBQ@qX3e@q"spZmdBr?mdB`AmdBQ "Rl*WoYQ1ZQN%'dr;"5$lm;(,c0XfnmHj3.qXj.@nbDtUn*KE;mHj37nEfN1p\Oa\mHd:+L$Se3 o/6SBq!8L-q>C6ls2+F#p[@!pR&GN~> "Q/\Ap "R#CLouDX`QN%'dr;"D(mK*"Qi9gXAn:g92_b'MX!D(0(mLI;5r;Q`ra7],skLYKVW.4~> "Rl*WoYQ1ZQN%'dr;"5#liHnLi9UL?m=jm-`(Tb]!D:?+ljgo.r;Q`r_Y!Kpn)&nfW.4~> "Q/\Ap "R#CLouDX`QN%'dr;"BamEt;%nbMkT!Vu9\m1.24r;Q`ra7],skLYKVW.4~> "Rl*WoYQ1ZQN%'dr;"3\m*Y/#nG2bS!Vu6[ljgo.r;Q`r_Y!Kpn)&nfW.4~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"BamC;Nna8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\laZ6j_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"BamC;Nna8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\laZ6j_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bam'uBla8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\laZ6j_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bam'uBla8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\lF?*h_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap;s8U@;p@$nbLR>#j~> "R#CLouDX`QN%'drV=Kbm'uBla8,]5s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'drV=<]lF?*h_YO00s8Tt.o_7h3LR>#j~> "Q/\Ap "R#CLouDX`QN%*erV=S"Ja9o5&*_74rVlisa7],skLYKVW.4~> "Rl*WoYQ1ZQN%*erV=FqJa'c1&*Lq-rVlis_Y!Kpn)&nfW.4~> "Q/\Ap.,JaL&9&*)@=rVlisc1^l"hp7(FW.4~> "R#CLouDX`QN%*erV>"$Ja9o5&)Yq5rVlisa7],skLYKVW.4~> "Rl*WoYQ1ZQN%*erV=jrJa'c1&)>S.rVlis_Y!Kpn)&nfW.4~> "Q/\Ap "R#CLouDX`Q2_!cqWc;hJa9u7"R4.qqYgEn#flW2oB4_\R&GN~> "Rl*WoYQ1ZQ2_!cqWZ)aJa'i3"R!kjqYgEn#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`Q2_'fr:o$]gZX4S_!;3ggV;M "Rl*WoYQ1ZQ2_'fr:npTfB.YK_!)'cf=BQ/r;Q]q#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`Q2_'frVH9Mb.N;8^pjT]b2rBorVlfr#flW2oB4_\R&GN~> "Rl*WoYQ1ZQ2_'frVH9K`3k0$^p+*O`8gUgrVlfr#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`PlCserVH<_p% "Rl*WoYQ1ZPlCserVH<_p% "Q/\Ap "R#CLouDX`PQ(aarVZMCq7cY,qY^f8#`lJ,~> "Rl*WoYQ1ZPQ(aarVZMCq7cY,qY^o^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`P5kR]rr%EG_YjE3s8Moq#flW2oB4_\R&GN~> "Rl*WoYQ1ZP5kR]rr%EG_YjE3s8Moq#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`O8je1^Adp-#flW2oB4_\R&GN~> "Rl*WoYQ1ZO8je1^Adp-#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "Q/\ApmTeVt0igA>b"YcMn0pp@dt4c\ImdJ,~> "R#CLouDX`M>mTBlLOrU60a%$cMn0jp%@q>f8#`lJ,~> "Rl*WoYQ1ZM>mT=p@A4a4SF@+cMn0eo^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`P5bkY1c7I&U](5mYP7Vf!C?"jrrG@Lp\t7YlBhMVa7],skLYKVW.4~> "Rl*WoYQ1ZP5bkR2E4'<])Ma0Xo.bi!Bg(qrrG7Up\t7Vp6Ydb_Y!Kpn)&nfW.4~> "Q/\Ap "R#CLouDX`P5b_UdJWRQ960J#!C?"jrrG@Lp\t7YlBhMVa7],skLYKVW.4~> "Rl*WoYQ1ZP5b_NlMU"T5c*oK!Bg(qrrG7Up\t7Vp6Ydb_Y!Kpn)&nfW.4~> "Q/\ApUpbScHA>fI17QWu3s&YRpq @e0R!pjbLgA,lS>:cUn;s8Q/f?WLY,qu7_?7QWu3`AB_JFoT!K3CBP@`AB_JFoSU64%#bBig?J? #gN):n))HHR&GN~> "R#CLouDX`P5bPPe,K@hm5F8060eK36UFW7s$!JorMN_;K6a8`/Jrr3"LJc,Ne5-&3o I/O$EmVk?VH2mo)90?1os8P9`A6"$Tqu7_!6UFW7C,S[Y_uG`i4B0B$C,S[Y_uGfc6;ZtIZ`'Vu #flW2oB4_\R&GN~> "Rl*WoYQ1ZP5bPIm/I#,_`.;h4SJf"6UFuMs#ZHW:7;+]s#g#TI7HG2l2P>#rr3!uc2@S\4-X>P RK!6dd:,=2U&Y.@7m1DIs8P0FAkncnqu7^^6UFuM>W5DQkPos#4_3gW>W5DQkPoco6 "Q/\ApfICjT!^ame\m%s8Q#rr;R^;7/HqX "R#CLouDX`P5bPPe,B:k8$DqYlKLY-s5s"S5&1)rD34et60eKMmJjdZqt2uFs8>+Gr;R^"CB"3L OT5;PPPY-rs8T+ds1:>hs#t2srb[bprs7jUo`+(Hs$,fJrtDF"s1:>hs$,fKs62lBs5s"SFCCpD #flW2oB4_\R&GN~> "Rl*WoYQ1ZP5bPIm/?r/5N)Q(p7cL&s4I2J4/;iR:"0.B4SJfap&1%LrRXF8s7eYKr;R]tU]:6d e,T;1\,H$Fs8TS$rK9tTs#["Ur(YZ=Fs#g#SrtDm7rK9tTs#g#Ts.XH/s4I2J:rT1/ #f?6+p[@!pR&GN~> "Q/\ApfA*#ATq3UMKnu2Z*L\=,[+Yo/6R? 1ALYE#\p%4=,[+Yo/6IG"84L\pAY'm?DmZ"$>Q76?Dmi'p+j2PSc8u?p@dt4c\ImdJ,~> "R#CLouDX`P5bPPe,B:P:R(lFlK^UXrVlg'52uVBj?inH60eCJ#=@\T=hk!i7Jm)k52uVBj?in1 4T5'T#X[eU52uVBj?ieE"7&+prVlft5O/+F$:="W5O/:KlTNMkSc8u9p%@q>f8#`lJ,~> "Rl*WoYQ1ZP5bPIm/?qi6eD?#p8hHOrr2p(47`FOQ#H^&4SJ^Q#2&tHrs6L6o_7h3LR>#j~> "Q/\Ap>=0MZ(pbDgKA>fIN?:.4BN;r0)s0Z&-rs2]0s8VjK s6hrErs[(W6Us+ps&ZE(s7e>Grs-SS2.P>>?Dmf&#g6OA7lZJ-?Dmf&"NP"0A(dLS#gN):n))HH R&GN~> "R#CLouDX`P5bPPe,B:j8$DqYlMmni4*^Gu54/CMmQ(=I60eKN=\;CHjo "Rl*WoYQ1ZP5bPIm/?r.5N)Q(pA^CV7udEG488dT\4Zf$4SJf=;b^"HoDa9-s%D/Ers1^\s8TT$ s*'1orsY)i9hm\>s#]uTs0t\urs+ff7udEG4SJdS#a81]:,qkF4SJdS"I2nUNVf@J#f?6+p[@!p R&GN~> "Q/\Ap;pbScHA>fG,)Z#srs&XaNs6hiFs(&&&1qu6t(JH,Z< 2?3;(q>L=&pbL(ns)*bp=+L>Nmksq@&c/"is'DT&s7e@ns8Qtps'DT#rrW%e8tZ+hc1^l"hp7(F W.4~> "R#CLouDX`P5bPPe,K@Nml'J260eIL)Y%Tes$#0:s4fs@s$>r<46$;?6fe:F47,'"qu6sdgAh3. 6N?:4rr)j+mQ9G.s$PlI52-&:gd:i:&b0X\s$5lLs6_u.s8PIIs$5lIrrV_+GG"m@a7],skLYKV W.4~> "Rl*WoYQ1ZP5bPIm/I"g`AdMj4SJdS)Wj];s#]]Ls,(aps#g"c;ss\c4nJ^D4QAO"qu6p`n,NEF DuZM3r;R5:;ss\c4nJ\8n,NEFDu'DFk"Eu!4SJgT\Pqqrs#ouR4SJ^Q!p3/#TDo26o^qnHhhRSt J,~> "Q/\Apf1:q#7Bhs&VSMr.e;Ps(&"Ub50T5u2_F?Zaru5$,k5:!7 s8R+Lo)7) "R#CLouDX`P5cn!dJWUU9l^4560djcrV_"gs#sQYpKr85Q1W.2<=f;F`gUYru4.(p@h^N s8GTUqtnJ7l9G7IcSae`5$7OQ=c`L\+77MTrHWbi8'_/7l9G7IcSae`8'_/7mF(t3H$fRtW1s:t a7],skLYKVW.4~> "Rl*WoYQ1ZP5cmolMU(X5c"G[4SHAFrqB:8s#Z,9kXEo!s#g"NAcD_*2tR(L:fa+_ru4%Wr9-Ss s8,'lrV"P:Uh0Q*Uc7oF4,Wt"7FD&5+1gG1pJK695O8@LUh0Q*Uc7oF5O8@L]&EY_;9o36hkL,V _Y!Kpn)&nfW.4~> "Q/\Apf'.3]gR"s&Yjr3ahIWs(&&-VF>!6G`2V%oIb%Xru5%4=ZTs[ s8VkC3]^dNs/&4pE-R<@=.i\W@.=*o+7ru&4'UG=i^u7Js/&4pE-R<@i^u7JoO0dB>MB,"6DFJc c1^l"hp7(FW.4~> "R#CLouDX`P5cn!1c7I'V#C>n60dZ;5!X)\s$"%k4F6r*s$>rML/2N>7caULjYXmOru4/6:cs(% s8VJ'4[OJps+X<`LdpJ*5.aWRHMm^@+6Zll5]HGs[miWss+X<`LdpJ*[miWskZU/8E;' "Rl*WoYQ1ZP5b\M2E4'<]DhgO4SG[N5XgJ*s#ZlI6C@`Os#g#SDcphO54egSTJl!0ru4%m9L>-F s8UGQ5=hRLrbkqSV*=MN4.o86R/Qs_+/`"%7>Ld?O$c7rrbkqSV*=MNO$c7rVc#cKL\q*J`M3A< _Y!Kpn)&nfW.4~> "Q/\ApfO=1%Js!r=Y7qYpRt[-dko=1!PYq>U`Fp@dt4c\ImdJ,~> "R#CLouDX`Jc>fO54.k>!qSDIqYpR[mHsoS54*q$q>U`@p%@q>f8#`lJ,~> "Rl*WoYQ1ZJc>fO4887E!mO45qYpRXp[.t]484=+q>U`;o^qnHhhRStJ,~> "Q/\ApLCr[-dhn=1!SYq#:WEp@dt4c\ImdJ,~> "R#CLouDX`O8neM!C#l>rW/+%q>LCYm-XcQ54!n#q#:W?p%@q>f8#`lJ,~> "Rl*WoYQ1ZO8neM!B^#ErW-3;q>LCVp?hh[48+:*q#:W:o^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`P5kR]rr)Ke!Boc>qucaY;=XJ[!Boc9quJtHK`(iJs8Moq#flW2oB4_\R&GN~> "Rl*WoYQ1ZP5kR]rr)Ke!BToEquc:LB_V?#!BTo@quJkOK`(iJs8Moq#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`PQ(dbrU&.WJ]GRH"Nf3]rVl`p#flW2oB4_\R&GN~> "Rl*WoYQ1ZPQ(dbrThkMJ\o4>"NAdSrVl`p#f?6+p[@!pR&GN~> "Q/\Apor.4m`rrr>fe)L?*rVm/Jp@dt4c\ImdJ,~> "R#CLouDX`PlCpdrSPodqgnd_rrr;ccJSU"rVm/Dp%@q>f8#`lJ,~> "Rl*WoYQ1ZPlCpdrS5Q[qgnd_rrr;ab1usprVm/?o^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`Q2_'frTqi+q"941_"7j(q"i;&rVlfr#flW2oB4_\R&GN~> "Rl*WoYQ1ZQ2_'frT_Q$p[j%._".d&p\;nsrVlfr#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`Q2_!dr71**Jb6VI"SM$0r;Q]q#flW2oB4_\R&GN~> "Rl*WoYQ1ZQ2_!dr6aa#Jb-PG"SCp*r;Q]q#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`Q2^sbqT8D]oXXSqb52)9rs6[#j~> "Rl*WoYQ1ZQ2^sbqSi)Xo==Go`VTQ4rs6L6o_7h3LR>#j~> "Q/\Ap "R#CLouDX`QN%*erV=M+Jb-JE&+mp "Rl*WoYQ1ZQN%*erV=>%Jb$DC&+d[6rVlis_Y!Kpn)&nfW.4~> "Q/\Ap;s8U@;p@$nbLR>#j~> "R#CLouDX`QN%'drV=Kbo=4B%a8,]5s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'drV=<]o!n6#_YO00s8Tt.o_7h3LR>#j~> "Q/\Ap;s8U@;p@$nbLR>#j~> "R#CLouDX`QN%'drV=Kbo=4B%a8,]5s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'drV=<]o!n6#_YO00s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bao!n6#a8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\n[S*!_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bao!n6#a8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\n[S*!_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bao!n6#a8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\n@7rt_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap "R#CLouDX`QN%'dr;"D*nH"cEp@/IJ;a@>D=$W-Lg4AeLnIEV8r;Q`ra7],skLYKVW.4~> "Rl*WoYQ1ZQN%'dr;"5%n,ZhBp@&C$8j_%G9L@#mkCN-Xn.*>2r;Q`r_Y!Kpn)&nfW.4~> "Q/\ApC6ls3:92n))HH R&GN~> "R#CLouDX`QN%'dr;"D+nH%r>rUCK&=?/`slLFCgNViC%Hi*N^>_2G#nIEV8r;Q`ra7],skLYKV W.4~> "Rl*WoYQ1ZQN%'dr;"5&n,h3:nc&"iQVKS9PO7l/;9Je,C6ls2+F#p[@!p R&GN~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"D+nH#b+rp^Js4M^^PFAMAq<57tn>HRnp!B]Iqn_N^Fa8,Z4s8U.4p%.@u LR>#j~> "Rl*WoYQ1ZQN%'dr;"5&mf@(6rpLMF;pkBl;g7Zu7GRA#8D!>!mQBfdn(mFB_YO-/s8Tt.o_7h3 LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"D+n/,'AnF5g,`:NKgp->ik3(6J53C?Htn5crJnD3RDa8,Z4s8U.4p%.@u LR>#j~> "Rl*WoYQ1ZQN%'dr;"5&mheILn*f6rjRVd0mQB'%3(ck<3(cm.n3tr[n(mFB_YO-/s8Tt.o_7h3 LR>#j~> "Q/\Ap?MjHeb"70ToC;mIq(;Z0p$rU;q>C6l s3:92n))HHR&GN~> "R#CLouDX`QN%'dr;"D+n-)#3nF50jr9t/C>5;+7qYFC#qXO'0F+NiPn,SjO1]Wa4n.*M7r;Q`r a7],skLYKVW.4~> "Rl*WoYQ1ZQN%'dr;"5&mfbf9n*cQ(rU16c;mH-ejSJ^Ch>6U/C6l s2+F#p[@!pR&GN~> "Q/\Ap "R#CLouDX`QN%'dr;"D+n-(i1nF4pgr9su^:@M2rnF0S_rpTrU?%MM:n,`3Rq_S>Ap@[nba8,Z4 s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"5&mKGT6md>Btr9ahsRI3Mtmd#j~> "Q/\Ap "R#CLouDX`QN%'dr;"D+mfku1n*f!hm/?AYHf8#`lJ,~> "Rl*WoYQ1ZQN%'dr;"5&mKPc8md?K)mJZGY;R>d[g@"B!eGek: rr<#8o^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`QN%'dr;"D+mfl_*n*fX*]Dh7*m6J&I;n_Yg=fq\l!EHX\n+#iMoq!usR.^(>%`eDC rr<#=p%@q>f8#`lJ,~> "Rl*WoYQ1ZQN%'dr;"5&mKQ)6mdB6ugA^LHjZM2`7G@1t8(@P+!Cb[mmd]]KoUe$"RJ$1>%`8&> rr<#8o^qnHhhRStJ,~> "Q/\ApC6l s3:92n))HHR&GN~> "R#CLouDX`QN%'dr;"D+mfBY+rpLN#4Lj_2E_l2n;n_Yg=fq/]mQB]an*ocJop;$C6l s2Xg*oB4_\R&GN~> "Rl*WoYQ1ZQN%'dr;"5&m20NFmHs=e;TS1K;KqQr7G@.r8(6kmk<%s[mI9KFo9bp;o'Hq(q>C6l s2+F#p[@!pR&GN~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"D+mMP=TlL+*3Z;rqNIdujo;n_Ve=fh&Z`Ehq`mdKTDp$qG[a8,Z4s8U.4 p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"5&m2+PQm-X36RS>e8Q1OD17G@.r8(6kmJYI__md:&Hna-h'q>C6ls2+F# p[@!pR&GN~> "Q/\Ap:'ao'l/@q!deEq=*m.We'Zpn.*_=r;Q`rc1^l"hp7(F W.4~> "R#CLouDX`QN%'dr;"D*mK&QErpCBiq>:$^n*]W>o'YrAoBu$Chgt4NmLI;5r;Q`ra7],skLYKV W.4~> "Rl*WoYQ1ZQN%'dr;"5&liQT^c2R&4oD/7Yo`"1`qX3_:qNfq>C6ls2+F#p[@!p R&GN~> "Q/\Ap "R#CLouDX`QN%'dr;"D*mK*"Qmd:,On:C#_mLI;5r;Q`ra7],skLYKVW.4~> "Rl*WoYQ1ZQN%'dr;"5%liHnLmd'uMm=FWZljgo.r;Q`r_Y!Kpn)&nfW.4~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"BamC;Nna8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\m'uBl_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"BamC;Nna8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\laZ6j_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"BamC;Nna8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\laZ6j_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bam'uBla8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\laZ6j_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap#j~> "R#CLouDX`QN%'dr;"Bam'uBla8,Z4s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'dr;"3\lF?*h_YO-/s8Tt.o_7h3LR>#j~> "Q/\Ap;s8U@;p@$nbLR>#j~> "R#CLouDX`QN%'drV=Kbm'uBla8,]5s8U.4p%.@uLR>#j~> "Rl*WoYQ1ZQN%'drV=<]lF?*h_YO00s8Tt.o_7h3LR>#j~> "Q/\Ap "R#CLouDX`QN%*erV=S"Ja9o5&*_74rVlisa7],skLYKVW.4~> "Rl*WoYQ1ZQN%*erV=FqJa'c1&*Lq-rVlis_Y!Kpn)&nfW.4~> "Q/\Ap.,JaL&9&*)@=rVlisc1^l"hp7(FW.4~> "R#CLouDX`QN%*erV>"$Ja9o5&)Yq5rVlisa7],skLYKVW.4~> "Rl*WoYQ1ZQN%*erV=jrJa'c1&)>S.rVlis_Y!Kpn)&nfW.4~> "Q/\Ap "R#CLouDX`Q2_!cqWc;hJa9u7"R4.qqYgEn#flW2oB4_\R&GN~> "Rl*WoYQ1ZQ2_!cqWZ)aJa'i3"R!kjqYgEn#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`Q2_'fr:o$]gZX4S_!;3ggV;M "Rl*WoYQ1ZQ2_'fr:npTfB.YK_!)'cf=BQ/r;Q]q#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`Q2_'frVH9Mb.N;8^pjT]b2rBorVlfr#flW2oB4_\R&GN~> "Rl*WoYQ1ZQ2_'frVH9K`3k0$^p+*O`8gUgrVlfr#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`PlCserVH<_p% "Rl*WoYQ1ZPlCserVH<_p% "Q/\Ap "R#CLouDX`PQ(aarVZMCq7cY,qY^f8#`lJ,~> "Rl*WoYQ1ZPQ(aarVZMCq7cY,qY^o^qnHhhRStJ,~> "Q/\Ap "R#CLouDX`P5kR]rr%EG_YjE3s8Moq#flW2oB4_\R&GN~> "Rl*WoYQ1ZP5kR]rr%EG_YjE3s8Moq#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`O8je1^Adp-#flW2oB4_\R&GN~> "Rl*WoYQ1ZO8je1^Adp-#f?6+p[@!pR&GN~> "Q/\Ap "R#CLouDX`JcC<$_uC"_p%@q>f8#`lJ,~> "Rl*WoYQ1ZJcC<$_uC"Zo^qnHhhRStJ,~> "5iS@p4:J>c%4-Uc2[J@n))HHR&GN~> "6]:Komt/7a+;:Ia8bf9oB4_\R&GN~> "7Q!VoRXl1_L]S?_Z063p[@!pR&GN~> !T3?sp4;pgp:^/'n))HHR&GN~> !U''*omudeotC#%oB4_\R&GN~> !Uoc6oRZXcoY'l#p[@!pR&GN~> !T3?sp4;pgp:^/'n))HHR&GN~> !U''*omudeotC#%oB4_\R&GN~> !Uoc6oRZXcoY'l#p[@!pR&GN~> !T3?sp4;pgp:^/'n))HHR&GN~> !U''*omudeotC#%oB4_\R&GN~> !Uoc6oRZXcoY'l#p[@!pR&GN~> !T3?sp4;pgp:^/'n))HHR&GN~> !U''*omudeotC#%oB4_\R&GN~> !Uoc6oRZXcoY'l#p[@!pR&GN~> !T3?sp4;pgp:^/'n))HHR&GN~> !U''*omudeotC#%oB4_\R&GN~> !Uoc6oRZXcoY'l#p[@!pR&GN~> !T3?sp4;pgp:^/'n))HHR&GN~> !U''*omudeotC#%oB4_\R&GN~> !Uoc6oRZXcoY'l#p[@!pR&GN~> !T3?sp;6O1p%A$cp%A$cp&"Fdn))HHR&GN~> !U''*otpC/o_%mao_%mao_\:boB4_\R&GN~> !Uoc6oYU7-oC_a_oC_a_oDA.`p[@!pR&GN~> !T3?sp;Qb*os45ip&"I_os45ip&"I_os45ip&=Xgn))HHR&GN~> !U''*ou6V(oWn)go_\=]oWn)go_\=]oWn)go`"LeoB4_\R&GN~> !Uoc6oYpJ&o !T3?sp;Ze/p%7J"caM($ce%CQp&4Rep%7J"caM($ce%CQp&4Rep%7J"caM(,ce%CQp%J+Jhp7(F W.4~> !U''*ou?Y-o^h4nagT4maj]DDo_nFco^h4nagT4maj]DDo_nFco^h4nagT4uaj]DDo_%nKkLYKV W.4~> !Uoc6oZ$M+oCCqe`4!Mc`6[N8oDS:aoCCqe`4!Mc`6[N8oDS:aoCCqe`4!Mk`6[N8oCV\Ln)&nf W.4~> !T3?sp;ck1p%71lmJOEm%K,VBi:Q^9p@\(9eF!1Brsenne)9lkp@e1Oi7./l[f6d6mF1"cp%Ik3 c\ImdJ,~> !U''*ouH_/o^gnblhe-j%K#J:h=L:3p%7k3cg1J:rsekkcJA*ap%@tKh9YEa[f6d5ld">Xo_%h= f8#`lJ,~> !Uoc6oZ-S-oCCVXl2.ph%K#D4g@Fk-o^hY-b3Af3rsekib1cFXo^qbGg !T3?sp;lq2p%7FsqY@Ml$i0YKkk+Q@o]Oa#q6]i'q>/V)o_%nLkLBA([.Xn'qUFa$p$^eaLR>#j~> !U''*ouQe1o^h1iqY9`loF:KgqTe3oo^qb:cMI>/[e(%%q"i:toCV\Hjj*_tosXK$p%\C/jn&-9 kLYKVW.4~> !Uoc6oZ6Y/oCCqaq=jNio*t?dpr_XfoCMP5b5(f([dst#p\;nko(2JDj3%2loX=?"o_8.'j7;g9 n)&nfW.4~> !T3?sp;lq1p%-f%p9O>tp?^E&p%@q.m.RaX$23`;oC_eJfBi4:oa:EZfCS\(hp7(FW.4~> !U''*ouQe/o^^Gqos42rp$'oqo^q_&lLhIT$2*Q2o(;SFdd$M2oEt9Uddm&%kLYKVW.4~> !Uoc6oZ6Y-oC:,ioWn&po]XTjoCMLtkk)1P$2!H,nalABcKOo+o*Y-RcLLN#n)&nfW.4~> !T3?sp;lq0o^U9$Yk87pcggZ"n^$p5o`t3:nauJDch=U9$22^8o^C\`LR>#j~> !U''*ouQe.oC0lpYOi%@nFQ8@an;k0#0HB+oC0lpYOi+BnFQ87f8#`lJ,~> !Uoc6oZ6Y,o'jTiYO_t;nFH/>`:U8)#0$*&o'jTiYO`%=nFH>BhhRStJ,~> !T3?sp !U''*ouZk0o^hRmoW[oloZ-Ilo'j]lYk&+la7/ZjnAk1*o*P'0nFQ87f8#`lJ,~> !Uoc6oZ?_.oCD@eo<@cjo>9tdnaF?dYjr%j_XI$bn&"\#nd4p)n+-5AhhRStJ,~> !T3?sprnBJ-.#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY4Dh;n+-& !Uoc6oZ?_-oCD=dY4;b5md]i8_QNG5_X?sam_Z-t#f?$#p[@!pR&GN~> !T3?sprnBJ-.#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY4Dh;n+-& !Uoc6oZ?_-oCD=dY4;b5md]i8_QNG5_X?sam_Z-t#f?$#p[@!pR&GN~> !T3?sprnBJ-.#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY4;b:n+-& !Uoc6oZ?_-oCD=dY42\4md]i8_QND4_X?sam_Z-s#f?$#p[@!pR&GN~> !T3?sprnBJ--#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY4;b:n+-& !Uoc6oZ?_-oCD=dY42\4md]i8_QND4_X?sam_Z-s#f?$#p[@!pR&GN~> !T3?sprnBJ--#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY4;b:n+-& !Uoc6oZ?_-oCD=dY4)V3md]i8_QNA3_X?sam_Z-r#f?$#p[@!pR&GN~> !T3?sprnBJuE!F_Yeo*EV1o^C\`LR>#j~> !U''*ouZk/o^hOlY42\9n+-&#j~> !Uoc6oZ?_-oCD=dY4)V3md]i8_QNA3_X?sam_[!5!BfT3n-Ho!o(VV1LR>#j~> !T3?sprnBKh\%a&*:3GI(8noSO8o%lTli:7&rnFQ8@c0Fj' c=K$m<2\dI!Fqhhnd*M0o^C\`LR>#j~> !U''*ouZk/o^hOljm`Mn><+uVc-Ytaa7&Tin&O;T%^&no6[e7inO1Ign\I8pi:-ukn+-&W/nHd2(oCM.sLR>#j~> !Uoc6oZ?_-oCD=djmWGP;`R<_im@/u_X?sam_[iM%[TpO9p=u6n35^un=;hqi:$oemd]i8_WpUo SQ%X;FkbsG!BfT3n-Ho!o(VV1LR>#j~> !T3?sp !U''*ouZk/o^hOlk4&ZC3iDW<_9UEt"ip*&o'aWVnIMQ\_"Zo3:[dgBb43,*_t;mW"ip*&o'aWb nHPmP[.!IpA)m([6/V"u#flE*oB4_\R&GN~> !Uoc6oZ?_-oCD=dk3iN13PbCQZJs7""iB]tna=9OmgjYAdJ2 !T3?sp#j~> !U''*ouZk/o^hOlk3rr>2=p>-oCDD?LIjR*]^VM!rpU/?H19j05!tOqn--l$o()7ii:%9E42ga[ nb,5Pn3tI,3lppMn--l$o()7im-lCi42LRZnauYHLIjR*]^YDRWEr>>mdT`)CHb%+nF5IR5!tP' n3Ppsn-I)'oCM.sLR>#j~> !Uoc6oZ?_-oCD=dk3ik]3:cP-oC25;G=F`'g[ALKrpL(i_!f?M5>JQHmfgSrnaZ%ai9q393TTc" na8Njmm#Zk8*9'5>JQR ml]h"mg-euo(VV1LR>#j~> !T3?sp5?Dc1(>rnBL=j!pD<&qskf=i;:nVipp,@o_ODZo($^*mJ5*!noSI5nSWaFA"i5Z #gMl2n))HHR&GN~> !U''*ouZk/o^hOlk3rNA4ab!(rU:Jsl2.qNm-6RrnF&R!n4T)CkXiPOn--l$o()7ii:$d%2Z3%L Hs6#.M`]8VhXC]hn+-&n:q6#`8WWT=_XR%fQMK`9^[OPGlgP2# n+6/6f8#`lJ,~> !Uoc6oZ?_-oCD=dk3iH74-7JIrU1E*nG//?m`@i`n*<(!m6J5Yd6HCJmfgSrnaZ%ai9p]448nUR n5HU\5C6&fnDZ!L>hDmiJe(q2e>=mlR !T3?sp?Pn1A(,,ha$>o"jQQ.oC1#_nH.c+o)8(_ coU]?2*L3[nHI2,oCMIrm-t/<1%P53*q]$no4aW_ !U''*ouZk/o^hOljmX5MJPJ+6i:-7/naQ0;g[S%OnC'_ogcP2un[r,hn--l$o()7ii:$cs3rJIO S5/QB86>?;n--l$o()7im-k&*3r8=ep$qPD6JLumipcH%HLTZOo^MAAnD$+unF=.rn3Ppsn-I)' oCM.sLR>#j~> !Uoc6oZ?_-oCD=dk3a5Xc#lQ;Gj+S`oC),?4lu3#g$Xi;n!m>ImdY"sk3`Dimd]i8_Vjh_H;OP- "^[Vb5#j~> !T3?sp6:NqjnQ)j`n]sesj#Hu,!TGg49E\![nRJ9YnHdD/ o^C\`LR>#j~> !U''*ouZk/o^hOljmNuSpA4)i;=EtI<_5qBf^H7Kmqe-Td5V&%!Dcq^mfgc#o()7ii9pa%2XLD2 #C9SB7ES_Hmb[C9a7&Tin&Oe`!o#X"qsP&h<_5qBf^Cu]n*c`cn'OZ'mfCfpr_Weo>OOl6lgG," n+6/6f8#`lJ,~> !Uoc6oZ?_-oCD=djmEoSp\N]=Npc=n;+jSBjR-fSmS2'rF[H(*!D9'JmKLJqnaZ%ai9gZ7473"7 #?%nr5LW#]mG@77_X?sam_\>Y!gu.;qsFuQ;+jSBjR,+nmd=DtmW=*ZmK%Gsr_`kkU$b&+lg>%q mdg,@hhRStJ,~> !T3?sprnBKn]!q8g*rp^rnBL:h!D7P5nIb%AaSYgNM"+NKnaXpsn`VaprUBsQ2#.%G!qBcolgY8*nFZ2, c\ImdJ,~> !U''*ouZk/o^hOlipRQMffSZ\45Kc06eLkn39<3`n(U)+q#U?fk3iJon+-&h>6t8f^Cu]n*c`cn(^%nrU0dA5Q:H]qYBSGh !Uoc6oZ?_-oCD=dipIKLI8TF8;X+&R4ll%`52\Hdm[I\bq#U?ak3`Dimd]i8_Vjh`k;h8qmKho: f^:u]iBrmemKLJqnaZ%am-Xr<3SFB!&ac`!l2(3=jR,+nmd=Dtm[[>TmK&edrqQ]no^4j)lg>%q mdg,@hhRStJ,~> !T3?sp#j~> !U''*ouZk/o^hOlk3j;MOOELLAQ\EV5O\'Y2;%Bd=,9E:n*`r7lgE3>k3iJon+-& mm5dqmg-u&oCM.sLR>#j~> !Uoc6oZ?_-oCD=dk3X/$U"AVT8t54=A*rZP2rj;o7:_&hmd]i8_VjelmWh^O lci=Omd36pn(^3thsCTamd]i8_X-Y;mX.gFkMDr/SR_'SRQ'9o46Q"u?GZ$t5HX;5_ !T3?sprnBL:g-M#Yt3&b!InY8HYCNbL& !U''*ouZk/o^hOlk3`oHHq6.\FR8GaKM?!/7G$tq`&+CkmKMoq5!N;fk3`Dnn+-&4bmdNnpmG[I:a7&Tin&Ob^-M+`P4%!`*mt=DGJjn;Z4l>\qRW7c`l"W=HG4+eaE'?Kk _!XJClg>&!n+6/6f8#`lJ,~> !Uoc6oZ?_-oCD=dk3Wi3EC;cWM=9j&D,t5?53)%tG;e%Om01pI5=B5@k3W>hmd]i8_Va_kp6n]9 99o,9m6BFon(9mti9^]bmd]i8_X$S9p7P>F8poOeD,t5?53)#lkO%YC_WtZImHr>25=B5@ m6'Osm0LSso(VV1LR>#j~> !T3?sprnBL7f'Ctqqqt]mRp%nLZp\++Po^MA@qYosdp\Xj`rpU0eqtp6_nG2bC n-I;.o^C\`LR>#j~> !U''*ouZk/o^hOljmEcTqYU-`n*]W;q=s[[nF#`8qt'gT"n23^qY9UCmKLZ"o()7ihX1mFq>:$^ n*]W?na>i6q=`b7"ip*&o'aWamNqH!qtg'Wme6JOpA4:HqX&!n+6/6f8#`lJ,~> !Uoc6oZ?_-oCD=dk3N9>pA4[^o`"1apA"CRqX*Y9pA=:WlilkPqYKsRk3N8gmd]i8_VXV^oD/7Y o`"1]qX*Y9n+uV5lik8onaZ%alKfhgq"jgZmd0ZBp[e7Km/$,9m.g):m-j`Gq=Et>n+Z\Tp[.>D mHa*E_X@!hn)&nfW.4~> !T3?sprnBJ-)#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3lJ6n+-& !Uoc6oZ?_-oCD=dY3Z>/md]i8_QN5/_X?sam_Z-n#f?$#p[@!pR&GN~> !T3?sprnBJ-)#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3cD5n+-& !Uoc6oZ?_-oCD=dY3Z>/md]i8_QN5/_X?sam_Z-n#f?$#p[@!pR&GN~> !T3?sprnBJ-)#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3cD5n+-& !Uoc6oZ?_-oCD=dY3Q8.md]i8_QN2._X?sam_Z-m#f?$#p[@!pR&GN~> !T3?sprnBJ-)#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3cD5n+-& !Uoc6oZ?_-oCD=dY3Q8.md]i8_QN2._X?sam_Z-m#f?$#p[@!pR&GN~> !T3?sprnBJ-(#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3Z>4n+-& !Uoc6oZ?_-oCD=dY3Q8.md]i8_QN2._X?sam_Z-m#f?$#p[@!pR&GN~> !T3?sprnBJ-(#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3Z>4n+-& !Uoc6oZ?_-oCD=dY3H2-md]i8_QN/-_X?sam_Z-l#f?$#p[@!pR&GN~> !T3?sprnBJ-(#gMl2n))HHR&GN~> !U''*ouZk/o^hOlY3Z>4n+-& !Uoc6oZ?_-oCD=dY3H2-md]i8_QN/-_X?sam_Z-l#f?$#p[@!pR&GN~> !T3?sp !U''*ouZk0o^hOnl*0IYl,iDbo'a]bYj2PYam\fkn&agulNugtn+6/6f8#`mJ,~> !Uoc6oZ?_.oCD=fkHO1UkJclZna=?YYiuDU`U<9dm_n:mkm?Olmdg,@hhRSuJ,~> !T3?sp !U''*ouZk0o^hS#hluDOhpV#bo'k)bYj2POddZhunC$3ulNuIsnFQ87f8,ioJ,~> !Uoc6oZ?_.oCD@qh6?,Kgs5BYnaFcZYiuDJcL:;nn'9ankm?.jn+-5Ahh[]"J,~> !T3?sp;lq1o^V(lla#maldFqco^q\9dd+4+$1$%%nauJDk0iS$m0`1-k4/*4hp7.JWdk~> !U''*ouQe/oC1ebl*BU]l-/2WoCMJ3c0;P"$0f[onFQ8@j3?holO)n#j7)[3kLYQZWdk~> !Uoc6oZ6Y-o'kVZkHa=YkK)WOo();/aQKkn$0TCgnFH/>iQ12fkmHUpiUHF4n)&tjWdk~> !T3?sp;lq3p%.Y-`np!hm1&@;`n^%Sp%@qFgrA49[d=OhhT"@>oC_eJn(bq>lF-'glJBP9n+65@ hp74NXFL~> !U''*ouQe1o^_G&^Y@t\lOE(4^Y%uFo^q_BfY?2)[d+CdgV;D/o(;SFmb#;/kdKdckhEl)mdg#A kLYW^XFL~> !Uoc6oZ6Y/oC;4u\_#uPkmce,\^g*;oCMM>e[a;o[cn7`f=BH!nalABmFAc!k-jL_k1@/omIBfB n)'%nXFL~> !T3?sp;lq3p%7hDiQT0I^CA'(iU?@0p%@tJn);L-[_E9gbi/$]o_%nLo'bP]_R@2f_T_!-o(;VD hp7=SXag~> !U''*ouQe1o^hV@hT*7:\.-'jhX9q*o^qbFmbZ!r[^ZdYa567SoCV\Hna>8S]=,3X]>rdrnalDE kLY`cXag~> !Uoc6oZ6Y/oCDD+Ymn(Wg[4M$oCMPBmG#Lb[]p:K_V=JIo(2JDnEnuI['m4J[)1SbnFH2F n)'.sXag~> !T3?sp;ck0p%7hDm^2 !U''*ouH_/o^hV@mHh:I%IEKMnalDGp%7kGmd9ALlOE4Jmd]o@p%@tKna>f2[d+@gmI'N9o_%h= f9)c2J,~> !Uoc6oZ-S-oCDD !T3?sp;Ze/p%7kGn[@renH/=Sp&4Rep%7kGn[@renH/=Sp&4Rep%7kGn[@renI"m[p%J+Jhp7R` Z[`~> !U''*ou?Y-o^hYCn@%fcn,i1Po_nFco^hYCn@%fcn,i1Po_nFco^hYCn@%fcn-\aXo_%nKkLYup Z[`~> !Uoc6oZ$M+oCDG@n$_Wen*ol !8i@rJa\0Y]C,m[c^Lf@J,~> !9\q)Jb+Ha]CQ0gf:&YHJ,~> !:PL5JbO`i]CuHshjULPJ,~> J_u%9J`"#q"4*XB\ps~> J`hUIJ`jT,"4s3J\ps~> Ja\0YJa^/<"5fcR\ps~> J^8nnJ^:jP!iE<=J,~> J_,J)J_.E`!iE<=J,~> J_u%9J`!up!iE<=J,~> $^m!,H#[S0?sHi9 $^m!,H#[S0?sHi99Me\k?=R\gG_1j?U9;&GJ,~> $^m!,H#[S0?sHi9 $_s,OLOXSkE,B?'BA$kt2-YWDJS($V!D?Ph>QS,59)`33=]8'p>@;#WDKC&OKoVLnX1#gdJ,~> $_s,OLOXSkE,B?'BA$kt:18]cJS($V!D?Ph>T$aL8ml%8>ZOU!>@;#WDKC&OKoVLnX1#gdJ,~> $_s,OLOXSkE,B?'BA$kt2-YWDJS($V!D?Ph>T$aL8ml%:?s-6(>@;#WDKC&OKoVLnX1#gdJ,~> $a$4pP`:KOJ:1'9Gk?1\?rZ]@!Gb@)G6)eCJTlZhOEU_-BD60CC2$`JE"cnn>@M;bFa8FfL5V4` U8tZ8a3]>~> $a$4pP`:KOJ:1p'Gk?1\Ch<0]!HDQEG6)kfJTlZhOEU_-BD60ZC2$^fE,f])>@M;bFa8FfL5V4` U8tZ8a3]>~> $a$4pP`:KOJ:1'9Gk?1\?rZ]@!Gb@)G6)eCJTlZhOEU_-BD60ZC2$^fE-#u3>@M;bFa8FfL5V4` U8tZ8a3]>~> $b*@=U7@R6OH#/`M=cT)C0U=d"b1T;;1 $b*@=U7@R6OH#00M=cT)H#iP5"b_>SCkI37L]MC>JV\l5OGEpJG5$>$H?itLItE#gBlSBIKSb\N Q("ACY-ks_cI@@~> $b*@=U7@R6OH#/`M=cT)C0U=d"b1T;;1$H?itLItW;qBlSBIKSb\N Q("ACY-ks_cI@@~> *Q#F692%o=TUhTDRV *Q#FTIX?#9`DJk1&R0Ak!AR'/6r0[P%JXM(WO-p#gL%gHBM26&1 O-5EPG(5:-PaJ#7Uo:E%\\Q81e(T<~> *Q#F692%o=TUhTDRV &^6\]]XY=3YHFs'RQ[.?WgmAoWWd*lWiCbnnu;a[6Cn%S!Io0AWe%12WW@O3pR))MQ[A_(':"H- NL$-1WN<>1[^s5lb0\Yli.(~> &^7JG]XY=nYHFsTUNE92WhY7HWWe9JWiDDGnu;b9G,+u8!L8^sWe%12WW@O3pR)ndQ[>?sU7.-q NL$-1WN<>1[^s5lb0\Yli.(~> &^6\]]XY=3YHFs'RQ[.?WgmAoWWd*lWiCbnnu;a[6Cn%S!Io0AWe%12WW@O3pR)ndQ[>?sV4X$* NL$-1WN<>1[^s5lb0\Yli.(~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/eth_toolbar.eps0000644000175000017500000003537711526555200015746 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner %%Title: eth_toolbar.eps %%CreationDate: Sat Feb 12 22:24:14 2011 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 638 66 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 50.992909594165909 translate 622.91338582677167 -50.992909594165909 scale % Image geometry 623 51 8 % Transformation matrix [ 623 0 0 51 0 0 ] % Strings to hold RGB-samples per scanline /rstr 623 string def /gstr 623 string def /bstr 623 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 14070 ASCII Bytes colorimage !rq`Xp]#fgJ]r\hJ]se2!:PF~> !rql`p]#fqJ_#D'J_$LF!:t^~> !rr#hp]#fsJ_5P+J_6XJ!;D!~> !<;`\JcC<$JcC<$T`5#9J,~> !<;``JcC<$JcC<$T`5#CJ,~> !<;`dJcC<$JcC<$T`5#EJ,~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja_1Y!p?qMq1o*3ZKKm/rr@W=Ja`C&!6fr~> !<7WAJb.Ia!pd:Vq2,68[HlK:rr@WAJb/[.!7lZ~> !<7WEJbRai!q*FRq1Sm.[-lT@rr@WEJbSs6!8)f~> !<7W=M=1N-Y)N+2!fX;DhX:KNi:m6Pi3M&)r;_E;Ja`F'!6fr~> !<7WAM=Uf4ZB"[:!fjSMhX^cUiV3?QiO.A1r;_E?Jb/^/!7lZ~> !<7WEM>%) !<:pE!liaXJa]f2!j9K4q=aj]!qF12hX:N*r9F+?!p]]Cg@+n=Ja\0YqX4F.J,~> !<:pI!m9-bJb-):!j]c8q=aj]!qF47hX^f1rTs@D!polIg@P1AJb+HaqXX^ !<:pM!lW[_JbQAB!jBK3q=aj]!qF.2hY.)0r93t;!pKQ?g@tIEJbO`iqY(!BJ,~> !<:pE"1mO1hULuqaOKYWmg."amdKV_]"d[fmg-_?]#!jN]"5]/mf:0"\cBOkmfAC !<:pI"23d8imdQ$bh2Lco*ERmo(2In]u'8o)Q])]`>sqo)XmBrE'!`s69RI !pT68hX^f+rn.5%#MSJ6lIsniMV@\!!<2Ti!.j`moDeC^epm~> !<:pM"1I1(j4*f)a4Bt`pB\gjp@n !<:pE"hOX+f>m(*mgd"e`9-OW]\^Thn%AG3m+^t7])2B9n%/5e]%?BV])2C#p\"7S]&rG^bl@"t% uBpZs8Q*b/hZGS/hZA\Lu.S%M#R>Nrs%H$iW&iTLtV7q!<2Hc!.jTimfDn$J,~> !<:pI"hjj.fuiU2o+&Ona6E3e^Ym/so>(1?nD!O?^&.]?o=ann^";i]^&.^'q"FIW^#nnef)P(-% uU'^s8Q0d1c4L_1c4FhMVdq+MZ3SQrs$5k^]493MV7V"!<2Tg!.j`mo)\I6J,~> !<:pM"h+@&eAgk+pC=ah_X$sj\_P'fpUU(5o@s!F[efm0pU9bg[b(6Z[efmsp\"4Q[c[;bf`1:3% u'^Us8Q$`2E'jc2E'dlL#2P*L&V#Krs"?%MZ !<:pE#I=0em-hp;m+Cb:[J97.ddFL;nA3M^p:BSEmg->ujL+Hap?&d7mg->ujP88;htXVAmfCZ4 lgG.9pJnf9 !<:pI#IXBimI80CnC[=B\bYd7eag6Gn\itipV$(No*Dl'jgaolpZT-=o*Dl'jkn_Giq^+Ho)[GB lgkF?pK,&A=6r(5lhslconqVt!fI!@roXO]JC/oBkl-IloD\gioD8N=o7?K5epm~> !<:pM#Hmj]lL)O7o@WdIZMiL1pB\&#iRuW/h"S)9pArqH lh:^>pJ\N/;sZ_5lhs`_onD8s!epX7ro47W(8M`>jSjkcp\t6mp\OrApOW&=fRN~> !<:pE#cIFPeD'KT[FENptW%@Y4q=dfC'!JptXBOhraa;k3i>p s6K+SM"gjJ$1:AVlrF)c !<:pI#cdXVf\c5^\CfL+%^,E`p=[$[oAfPtZhh-!g[b]Uq;8IKZ2!alfCK9Qq;9i[iop6Dk48W) s6K7WMYI'N$1:P`lrX5e=8%O.o)agKf`'J-o6oMEo'QI8e+ !<:pM#c%+HdFn!M[+F"*%]JpSo[^FJn_WohX89$kg\1uRpt;\AWqYhZfCoQNpt='FguS:2k4\o/ s6KC[L%kOE$1:P`lr3ra;tbq%pB$'Jd/M>rnI`DGnEU%.e+`_>JbO`i!8)f~> !<;rbrsIoW$(UY;f\bi_qlAK*mgc#^jR3!$Sb(q1rR(DBlJ(b5VtJQ;n#-!QVq:ACVtJQlhra>' VrmFKbl@"t%uBuH>$CC`>$C;n]"1o8Lu.S%M#R>Nrs$=4_8XR9W7(/5!.jTimfDn$J,~> !<;rfs"rm0$(pnCgu@PiqlSc0o+%Sgk4&?)TCh:8rR:PFn([F>WqP)Fo;_WYWn6hJWqP*#iooh- WoimRf)P(-%uU,J?=**h?=*##]tIM@MVdq+MZ3SQrs!o.I>*c9LXPem!.j`mo)\I6J,~> !<;rjs&8(S$(1>3e_K6VqPW9*pC(rQt;=o%WmEV"E'1pS@TTUt>>HV"E'bguReu UuqCPf`1:3%u'cE?!Zpf?!Zhr[^K-.L#2P*L&V#Krrs(H&KWbM:X]"9!.jlqpAt$@J,~> !<;ucrE@o%9W(T_nSYfC'!ps6K+WM"g7PD!q+!!VV?+mgk6Rk2l-h`52&]o>1"6`7`i4rW)rdrr@W=Ja`X-!6fr~> !<;ugrA<^/#aFr9ip-4!W6a/g%\!(Yq9l70p$VY'V=pnVg[b]GoA$,4U\jq`fCK9CoA&?hme$IQ k48W)s6K7[MYHIUDsmF&!VVE-o+-`Xki_NLKRMO%h0n%,KXoe-rW)rhrr@WAJb/p5!7lZ~> !<;ukrDVnR#`\B)gue4hUX.Wf%[6PMps5b!o]l4tTCnuMg\1uEn^X3)Sbi2RfCoQAn^ZFUlgk"F k4\o/s6KC_L%jqMD!q*t!VV6(pCDuWjQ#``*YGXh]FhXe*erABrW)rlrr@WEJbT3=!8)f~> !<;ucs#^5qkO/Y2oAK0+W3tmBmgbJa\0YqsOO/J,~> !<;ugs1\MlkOSq8o],N1WjqKLo+$iXn>*kiNr&7?^nLCpmb@==SFba1o:5dZSCd? !<;uks3L_ikP#46o%id%V75sHpC<&Un".;eM#$J1^RXqdn_ !<;rb!BV%Ymfe+8n[G"Df'a*"a->?ImsrHCg[CL#RH`Jp#a4fAP4+S6rK>e$#a4fPq"jshrfZF4 !R1T0mgk6Jl\C8^ !<;rf!PXNTo*'U>o!b1Jf(0B)aHk]So7P,LhXd6.S*eu%#aP&GQ1L:@rKZ"+#aP&Uq"t$irfuX; !S7;:o+-`Pl\UJb=1u:Kl\UJ^onqVt%uUAbs8RN-IF5"NVpgaeJ(sSk!.j`moDJ1[epm~> !<;rj!RK$QpB>g !<:pE"*)J;a40PZQ*BZTmg,/]mI0M9N0Wbamg,;>N0s(%N/X1Vmf8aOMu]:.mfCZ4lgG"5qWmG4 lhsfelKRNsq2!nr%uC5IjnH[cf(\\/n+YW2_V=PU!.jTin,2VSb^]~> !<:pI"*;Y@bLH+bR'Z>^o*C\gnal@GNgK4ho*CeFNgfR/NfKR[o)P6UNW>O1o)[GBlgk:;qWmG4 lhslglKRNsq24&#%uUAMkP0PcU#s_dd,qCfJ(sSk!.j`moDJ1[epm~> !<:pM")Z/3bgc@gPd9u]pB["gp%S3OLm%AapB[">Lm@_"Lkq>JpAgHSL]E_&pArqHlh:R:qWmG4 lhs`clKRNsq1[]"%u(#Dj7a>*:!9*US]Y0R(#/KZ!.jlqp\aacfRN~> !<:pE!fX8IJa^YJ!R1T0mfJ=;rV-B>Oq>c*8Ja`O*!6fr~> !<:pI!fjMQJb-qR!S7;:o)agArV-Pq>c* !<:pM!f=,OJbR4Z!SIGc*@JbT*:!8)f~> !<7W=U$i$+s6K+aN9]'Fe'ZOgc-4AQaNNV&hX:u\aSYu9jOEhlmHs9-o&A-Pn,*0:mt's)mf:R^~> !<7WAU%8<9s6K7eNp>9He'ZOgc-4AQaNNV(hX_8canu):`h;29a2Q!8f"7s9oDAT>o7?N1o)R?l~> !<7WEU%\T?s6KCiM<`aCe'ZOgc-4AQaNNV#hY.Pf`qo]6Q;5&cMhd">WdJI5p\Y#BpOW)9pAiir~> !<7W=U$i$+s6K+SY0R%0$KgI2j5].YiS_bZhX:O/[#P'@!j^#7rq-BckJl`=n,<< !<7WAU%8<9s6K7WZHiI4$KgI2j5].YiS_e_hX^g7[ZLKG$%nJ`hr*GM_MI7*oDS`@o7?N0o)R?l~> !<7WEU%\T?s6KC[YKd(0$KgI2j5].YiS__ZhY.*>[#=p;#rXr1]thFsM'^a+p\k/DpOW)8pAiir~> !<7W=U$i$+s6K+TjfXR:L]WO !<7WAU%8<9s6K7Xkd$6CM?8gDkh,J/o#?iDrdOs7fn&aGo?Qq-epm~> !<7WEU%\T?s6KC\m&u9?K`[+7m+D% !<;rbrsF>GWUBl3s+0Wimt's$mf:R^~> !<;rfs"o;uWUg/As+0cmo7?N,o)R?l~> !<;rjs&4LCWV6GGs+0oqpOW)4pAiir~> !<;ucr !<;ugrA9)sWq-8Bs+0cmo7?N,o)R?l~> !<;ukrDS:AWqQPHs+0oqpOW)4pAiir~> !<;ucs#^5qJa]W-!R1Rpmt'qYn+Q2Mb^]~> !<;ugs1\MlJb,o5!S7:%o7?LaoChbUepm~> !<;uks3L_iJbQ2=!SIF'pOW'ip\+=]fRN~> !<;rb!BV$In#>aVbl<7_Ja\0Yp?r"*J,~> !<;rf!PXMDo;V<^f)L !<;rj!RK#ApSmlff`-NsJbO`ip@eR>J,~> !<7W=U$i$+s+0Wimt's$mf:R^~> !<7WAU%8<9s+0cmo7?N,o)R?l~> !<7WEU%\T?s+0oqpOW)4pAiir~> !<7W=U$i$+s4cuDgFE !<7WAU%8<9s4d,H^`* !<7WEU%\T?s4d8LNXl/bpAb2EpOW)=pAiir~> !<7W=U$i$+s4cuCBR$6>!!%T=Ja`X-!6fr~> !<7WAU%8<9s4d,G*4qp9!!%TAJb/p5!7lZ~> !<7WEU%\T?s4d8K%GINM!!%TEJbT3=!8)f~> !<;9O$1**f"q!DXn*^8Gmf3@PmfEJ)mJZJR!:]FW!:91R!!3Bb`R+&[m!^8c$9FOBmf;55!R1T5 n,<:g#<9]nmf=*`k3r9L!XC^(o'ZPYl0eZR(@D(h!!)TY!!%T=Ja`X-!6fr~> !<;9S$0u4E!tS#1oCDtOo)JdTo)ShNr:9mgnFHV[m.:2V!Xh`dd.7S0B,q'b9!e-\!8d;Jf)P72 rW!!-:$D0>! !<;9W$.i,j!Z>=lp\+[WpAb3XpAk8@r:^0knFln_m.^JZ!YfA>d.[ju<"oBO?IANA!8dGNf`1I8 rW!!6C%Cih!<`&Xp\k-o'P[./pAb3XpAk8@r:^0ko(N+aJbO`is7ZNGJ,~> !<;9O$$\POlJo'Gn*^8Gmf3@PmfEKL9E";Z!:]FW!:9.X!:TC !<;9S#r-8HnDU*'oCDtOo)JdTo)\ndOT"bN!:]R[!:9:\!;#g?>;sq##r-8HnDU*'oCDt=o)[GB nFHe`oCLmE2tHP?!9NeU!;#g?>;u-E!!)9T!WYrVrUU!ho()h]Jb+Has766AJ,~> !<;9W#o&EZp"GNRp\+[WpAb3XpAt=:bl.89!:]^_!:9F`!;H6=.ZVmM#o&EZp"GNRp\+[EpArqH nFm(dp\35gNq2oE!9NqY!;H6=.ZX)o!!)9X!WX=drV$9lo(N+aJbO`is7ZNGJ,~> !<;rbrsJ8a!=IZ[n,37dmgJ,`&-=E!n*^7V,QdoElgFoUloV'Cmf3@emg"ss"?>!$R:6*`!Q?Vg !:K:U!<2EplN?V8@1WJk_=-gmrU0skn*e[a#81tSmf\ap"?>!#mfdmf9@5!q5T?*s=RSn,37Lmf3@emgn^dn*^7V,QdH&HklrShs^LD lgFoUloV'CmgoKfn*YQ=#=ID;n*YK5$!$n'X0#&oW?iNpctlJ,~> !<;rfs"s6:!<_ffoDJ[ho*a/?$3`]XoCDs6(]jR8lgk2YlP/+Qo*YQioC?f5#Z0p[?^Uia!LR6m !:KFY!<2Qtl36e27g]DbkO\9FrUUO"oCK%3"io)O@Z!V>l#'*qG%oDJ[Po)Jdio+1*ioCDs6(]j6s?476Kn+6JX lgk2YlP/+Qo,du(oC#uo$srDooC,oi&q'cOoC?f5#Z0p[o;j>C*KbpENq38%J,~> !<;rjs&8F]!mh3mp@.eWf`1I8!!*#m&(;6epAe\6!Vc+`$kI@Mp\b*TpAb3mpCG^ep\+Yt%fuFf7L']Zp@nLc lh:J]f,F&UpE'D0pZG!N(4c,QpZOjG+0,D9p[M2k%rq79pP9gl/\HZ/NqWP+J,~> !<;ucr)TV-',4=n%F#0rWr9jUcrU13#)9q;a ..?U))U7Dd.e)m-bl@2$!!*#e&aKPfmf4QYn*dq.a6J[/n*^8 !<;ugrA='9""mlolhp>S!<)Ku,e<=-F?oHh!*%tLo)S%H)$'9G,4Y9r!;#f+6egj7;dBoCDtRo4(/HiBh&Go4LJMiBdP9o63RVl!dZao*V_jfO9@&Nq38%J,~> !<;ukrDW7\!u$(,o_eF`!<)X$6I#/a4.Z-?!/9h7pAjIP)$'Dd?2"$e!;H4HFQqd9XS;&ueG!rr p@eRRpAb3mpC#IapHm-sjZB%-pAk0d%fl@u"j?P^488J.FQqd9XR>fb'7A'sr:^0krV$aNGO]pG[3Yi[h2*pBAb4bWCCMNqWP+J,~> !<;ucs#^5qna?eMK/*fI;U+\!!;Z'em02tI!5/="!!)9P)$'-oXYfM8!:TAlNQ_F$1!4!$PH@^n*^8TmgV"Ln*fHE n*^7Tn*fHFnF$D%s7#I`!:TC=L_fIJ!5/="#Wo-Vn*:/Gmf;J<#lsG_k(jfAmf:$"mg(YGn*fHE n*^8@mj%o%n#\G8mf;hF0rOL/kQ^ME1T9d2kQ()?407o>lNQbG1NCThmu6]8b^]~> !<;ugs1\Mlnad(PE$tr2B^53\!;Z3imL&RW!9a@Q!!)9T)$':"DfYI@!;#dlj7Dm-$M3lQ&Vq%_ oCDtKo*#-coAO%5r::'Z$M3ihrUU0moCEBSg&:LG%cd0Pl3ctN$0lIX#97FBoCDt\o*l,foCLoL oCDtAoCLrNnFH\3s7#Ud!;#g@?SqBG!9a@Q#S,ndoBH\So)RnD#lsSgiEnG5o)RtQo*>caoCLoL oCDtHo-=>-o5A[@o)SCR%-$mMi=,>L%-$mMiW/TA%cd0Pl3d.S%$T@qo8N8@epm~> !<;uks3L_inb3@@?Q]J#Jb/X1!;Z?mj!ONp!:p-`!!)9X)$'F*1:R#P!;H3mn+ZS(.ei\Z&T'Mu p\+[SpB:QkpXh!Sr:^?S-MR67rV$Hqp\+lkk5G#X#OhE]d44SY$.`H+"=\onp\+[dpC.>qp\1^E p\+[Vp\1dInFlt9s7#ah!;H6?.uX/r!:p-`#RBhmpX(JbpAj=L#ls_ofIMmSpAjd`pBUulp\1^E p\+[PpETb5pG05PpAjs^#4M<\X#'ME#4M<\WrVng#OhE]d44nb#-$a9pPehHfRN~> !<;rb!BV%_mfh !<;rf!PXNZo**HO0(\Z7rUU<.2[TNb!V>m_rUU!hl155^oCMGpa7B<&o)ejj!!3)j!dap.rpp*i m.:2V$joYio=['i!!!&ko)Sa\$39\h_FP=^Vt9K]r;ZfulLP2*AM3TG!<)Ku!V5jRnH&7Q!:oaQ nH/4O!S7;?oDS^n$;9OQo)Sa\!!<*!!s/#b!9NhO!!N^&k4A0ErUU9qo(2JC!V>m_l15enoCMGp a7B<&o)\FRoC2kQo)\FRoC2hPo)ejj#6FGf_FP=^Vh+H"o)R?l~> !<;rj!RK$XpBL<03-k8m!<)WtR48C@!!;oh!<)Wl!9s4b!;H6Q'B]#hp\+^e!!!'!pB!#Kci3Y= !:9IZ!"9KPnb8G$"onW)p\+[dpBgoppS0hW1=u9p!W;uu!UKIaou/n9p\+[dpAb6npB9pgp\+[e pAs^dnFlt9s7#d^!!O!Inb;bXrV$9mr;Zp#p\+[Lp\k-r&n^\.pAk0d!!3)n"RcNgpAjIP$39hp l4`=S!;H3grq?Qa"o%`lrq?Qa!;H3gr;[''p\1FF#r:+`pQ"tJfRN~> !<;*J"RQ6YmfECU#W$qbmHaiAmf<=T!!2?Q!!*#e#NZfP!:TA7])1q$it\@/XRGTYm-aoSqsOtM Iba>W!:T@^ipZ@%!;u9hap%8&2S/#="RQ6YmfECU%5FdLn)suEmf9?Un)suFmfCZ4nF$>WqX4Ca rU0bF])1pr!9NYL!;c-a!<)?l0rOL/kQ^ME!U9%Q!<2F'jVZJIn*`!/n*fHEn*`'3n*fH?n*`0G q!S7+"bH-&mf:R^~> !<;*N"RcHao)\g]#RmWoo'HGKo)Sa\!!2?U!!*#i#MBmZ!;#dkkPOiUeIB5%hXg=>m.12Wqst7* Vs!X !<;*R"Q]sapAt6e#R8-5pY5cCpAk0d!!2?Y!!*#m#H'o\!;H3mnb`%cU+2TTme?GVm.UJ[qtCO( _=%'Q!;H3gp@n=.!<)Wrp5g`tpBU6MpB9Rap\+^epC.>qp\1^Dp\+[Vp\1gInFlt9s7#a_!;cEi !<)Wm#P%]c!!)-T!!)li!!)ul#R9blpT$(DpAsOQ!!*#m(T0Ul!;H3ln+ZRW1ACMIn+ZRY!;H3m nbMn\p5g_SpQ"tJfRN~> !<;9O$7(Y[m,*g7n*_I)rpL+=L[*iJ!:T@VrU0b2Yj1ZW!<)@$`?>6Mn%BXTm+$+Em7N0&ee?p/ ,-^J'!!)ob*$pC*iI:jrmpo,Rid:apmkVH>b6@A']c+]QeT($G$7(Y[m,*g7n*_I)rpL<#)U@Me -L^C')pd_m.Icd,bl@2$!!)la!!)ud#e_.lm+$+Emf<@U!!)9P!!)la!!)ud$*Y>nkAr!=mio"7 mf3@Vmf3@dmifXn!:TB\)U@Me-L^E/)pd_j!:TBi)Sk^iEUW?O\a.EBJa\Wf!6fr~> !<;9S$9Y'?o%J".oCE:BrppC&ZLQXP!;#d^rUU$rg?S80!<)L(N`6#Mo6NmUn]Fo(mMit5YT`K, $/4e !<;9W$4l5\s!R1T5mf3@amf3@cmg#C3"WDmZmf<@U!!)9P!!)la!!)ud$LN'P#=727n$3N* rpKgen*^5Vr9k5@!:TCDGSCBKh='h#Fq+g^!<2EpSL=X[J+)j>2$4bMJa\Wf!6fr~> !<;9S(:6aG!Z5/'oCI&1!;#fZ*W[14!;#d^rUU)4#ls;_!!)rg$oe7YoC@>N""Bi5<0mOT"c6FS F9qs8o)Jdfo,OVK!?-UkoCL9[!um1!oCJP"""15BoC@>N""Bi0o,G&1%g!SPjn&(c#lsSgmop/- >OV1T!.>Fc=RYbN!S7;?o)Jdeo)Jdho*Fo9*OV1TmoKc,I/rm1npVS].A$/&Sg=IdXb$)(o)R?l~> !<;9W(7mYr"pArqHnFln_qY'sirV$ThA.f).`V9*,rq?Bml1Y/XqY'sirV$Z\6O+ !<7W=\F0CtJa\0YJa_Ia!6fr~> !<7WA\FT\#Jb+HaJb.ai!7lZ~> !<7WE\G#t'JbO`iJbS$q!8)f~> !<7W=\F0CtJa\0YJa_Ia!6fr~> !<7WA\FT\#Jb+HaJb.ai!7lZ~> !<7WE\G#t'JbO`iJbS$q!8)f~> !<7W=\F0CtJa\0YJa_Ia!6fr~> !<7WA\FT\#Jb+HaJb.ai!7lZ~> !<7WE\G#t'JbO`iJbS$q!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<7W=Ja\0YJa\il!6fr~> !<7WAJb+HaJb,,t!7lZ~> !<7WEJbO`iJbPE'!8)f~> !<;`\!8N.LJ]r\hJ]se2J,~> !<;``!9Sj`J_#D'J_$LFJ,~> !<;`d!9f!dJ_5P+J_6XJJ,~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/node_info.png0000644000175000017500000006565111526555200015377 00000000000000PNG  IHDRMPsRGB pHYs  tIME H IDATxw\' AiXAQbg;yvEŮzrP`"B cafC$'$3ofۙ3- 8uPv*0YJ_Pw"),J!X,XZ%crq! vʢe҈Mv^H,eY˱67 +@;̼b000ưr,l*$MWs1ʡ rOQskNT:Y?0SXsӄ%E&< }Z31(cjm/S2-/Z>Gn\vNv~Ӻo cj$?W]˵Ʃ+a q yFfGϷkm=| 4brY$>okcUKcՕ-sjBW,!ʖk YճEvWW.]Zt%$4Uut.C\,&HG:b]qU(Lv\}n] E"0ٰ2MK,evԐVS#0zTTXӉ4mP&h;8`Xe/ &)!TET*E*blb#rpp@"n9#$(fpHB,fnðO|g5 h֢5Zr a?B-#yQ}>oemݥ[7w9!\T~Yi-M5oٚtT'ݽ}3#=!k@^|ЪeW> 򭬭ӵU = *e^JДiIܾU- S%4P[BBP$}[q8z,6O*`2 !$ uacn ?Ǣ\}GLOEݹYoPp'"b[ ]~RХ sRbȱccΟ=uqCh23njoEMe2iQ?9XWpUĿBÈ{o4iu|ݾbhܯ 83kʓB/=˩XIAbb=sʥ̠@ۓ*wAԨ: SM$$ KJ7DBX,pzzz,fqJs,3ҾH"JeUL2Z%" "yDiUy,!ԤY+)nჰ"} ʽo(CgZ!>?ϠRN@˶2!5ob>W/WK]B;v铇~MZZnm<Ϟ{S(p8f.5]\Ncm:pj#xNU31nIU(Vc /R_E#ax~R2 ʐ9!D"Talq8b1~N$)?'UH7B28,Z`X2LV,,G=H˛Oٔzp/+#],.5cjf453C? Bvo'rHUںmwo9b;8iͽC?350]AU3NItcꨜ"?.{P$ɤD bLfcck``;Ef-sUo=~"’Ū+#a2B]DX|B-ؘg 6J3y,4rJaXmiD"W~ܻUTTTT\-?~%<@ (|1 +oXI33ӭmk 8=|u ƲOqET訢.K?C$RÏ Ri %H2})ӦӴAyˁtR"ƿcbbƍ@lז`L&p8؂Oc=T/iVϞDkBh99ʥ:u LZ(gpul6bCI2Uu"BUճ: @] !莓3O2D,Ѵ]]'bzl.alBH&äX*KdʮNYxM y`ۯɻ|-W_d|1|Jxd_ %6hEZX19ܿ~n|rj^}ODSȰ9A8yJt\bTlWsl#<SFfƚU%0n̂IWzIluO#G5G1e2LVwV+dsFC'/,7itŭ@'3ާu0DIQNn3ҟ#:9Y.NDs?w4D s.__J/xKeFH&>}BMs>wť^vpMy%#,jv qC B.2˨[6?!D0>{WmPFFF` 1 45Mjii8g\ا$<<GNJVмqrē?N.c-bX$ֈPxF4sD*+(fs+DZ"W< DRxFC#:?އtPAnAQ܇'#GEԴwl|%xSW_Z Zm'+(ջE'qy}B? OE$4hf@Sś"q;By'޶_va{'fFԩUM 8;9cS&-jJR~ zr%vBX",."<ޥuvv6qՍμUG9qֻv?nx*sTL$jG${Tab4T&Ke9N]$s:}KEMN=gHDFj[ wBV9}M|=#֌W0^>nqM*g[B;'_HU 7웴;*-vn3,E\gj{Ǥe 1L=S5L%>ǔZG<~/19ʼn_Pz员`kg\_&OO^qs8*w@=V"(4|ר1 KdBT,0D*K'^ TH1 ^ sr!WCK\3ɨ_'dKe#ig8fIdTD&aB\2cVк\AInQ!nV*sOf wTU,93xS7fp<˗(RWD 044000LHO ?/+++++kἹJDwX,&HHp$`߁ T1JDoKJDRҗ"bDd0L&"D*th= z sn[sv-dg5vSClUPW`9[k-5oٲeO}o+k`.G^Ç r^xqnU@D*#7aIe2XR]2&ʊ"DkC*ä2L( źhA_-?n@XG9('~{5s(/ 166%\RP~Js~4[V3Ҥ7B_XBgc2wraZ+F utvܾyO.NQT&B7loS?޺__Ԓm P-P[jWRMn-i Yӧcw>u'_ \ft5zlt\a>GЬǨ؏QMS޵[m[6mټkno?Um3@UCg&frP""1K-Mn7qvv.+(a8155[z-Bhтy'OMJ͛C~?sC6!C/[!`B_v>)1!Tƭ{ZIeB6&mV r~˭ PHcPLjרSk9d;ܺ=5uqu?A[-all||/t՚ׯ.='M4xh|rZ|rL?"'UfF#YjfHK$VnF<|FaVãܻ!LAi 7kku~ܦm;ȹgnj:ω&MUW FYG#f͙Gܟ{0ܧ 6#CUYaInKdiMn41KIY1ά? YKVWղ|˘Bֵ-[2N<۰%]nͪvl_xKW)RY#/|~肹]w/]֩eӆM׭WO.yV~]Sf-sH)f˻acnhNVnҀCkVv!궶" U;-y=jܿ^^E %'%5kژ7[QQ!CÆtrvnڨA=ZEE7>ux?yh)UZ8fϡP h5ONjsϴ {覟uw}6@zx sh=? |Z>zszFἐKُϿJLqp˖Cyg4)-!`l~thm!+mhQq`Q~Hfi\v6=5\>22qCk)KSȌ/#=&ͷv's̽Zm-R~'G9_vp ,N׼b=w&VV9yWHV]E{J ,:ސfˌ<:S7{sKS#kA4ǃV! ~4 *zeUS$ ZFzo3TQ`j{_(4,,Q4fm8@2ȳT~nܦ1@*uhk.ˏ,2o]cї z_aāYF#vV 1WӷN%בxjǧtq0mnPR7bC@Bo[DXo} e_]d3vCsZT)[C-u|+h[%F#nN|aHZv-^^i>Okx@;S#=#v&#eٺ'/>H7Ԉ4]u^E2/_rߔw`'Kc}C×`©KX|Vzۚ]Oe+LV9G,\|f,^-AjVY{vqׄnp OW7Vr״(Fs*UҢoY eɌ"p+>Y>4n2UVr?(Ǿzr !t$׏$ҘֻÿjdRK2␿ǙI6k%R~I0\5U l1}ZG CD68#9R?V/i״|I5uMd74Mը(s9#QC6kإ mI&Sk+n2ydZ7"#6*Q !\K=}U&+xoOڒi13N#bc+sBL8 DskO]9ߎ~-k7hr4n2UV9R#qZ |ni~x8!5;ث V;;Pl$. 2t0Y)8fIdTD&aB* W]k65rlLc1tucvM:qճ/i" 3تf79B.}1E$e'Z5onՕmޣKk"4n2U6꼊VR*3~|* L0b#hsh⨬bA֧ecUɪmfhP3+>!'}O` }E }l;\bm;n^Үi8:-XҴ^`S~5/zg}/fհ4kaX[mذvTdqҵQ.T0WeG^ߎKVH&93iLVkEmz5ptk5*i&Ogdusg_Գ3 `/0L-hq (~}(9 ` 9?(LD^`/0 9hcG.Ƙ d$VxQ񽛻ٙ9t'yJ v$N`ZeiW"-]4c ϱKoaƝ28uq0͏s$tՋ9\5,4)Ƙ d$V/xnVg0/KAi N`ZeiWr.y>JigK_$;03A~.'&C絜9ɒ7ܟh! ]ljMz&*`7u\0Jf7\-^U b 2N* N5 T8 ܼgHyi$fk?v0@uv.+Cy)T-Mx ,Xe+o(@gew/;P1MȘ>V0Qw_^ .܀aYu n`_.59Wxae3JV7m4o{U){{zU>#r 3Єq*㌃iԂ=W445tR,]TVbd4N!☢⃛ʤ *"\Np͢c>1}]8/yH5"5 kD:<[.1P2{U)^iyE-Z ;w 3?JƝj23}KLŸz$d>\CZ# !Ԉ4*`7CT 8*θ W.YŘVȘ&V{B{r?mg^.`};A7~zxZv@ gثJ33Z" N5 TK5_gy;M󎋽Cn%#V3kOi¯G&M ũ+%3>ȳ4nnܦ1ӴڊT1 '&w^./ 6qAfitھϔRˎ(&n~ L/? ꍧӄqWOyq0M3 1H!qwgnAR7_Sۼ-}|4*`7CT 8*x Zoe-V"Ui@T qseoMKǚu\;p}}YRA0C_ꮮu,P2Uiq^U~9#Z{;yNq&x:Uw&i⌃i*y !ۛy:+4`rFTSdٛS'N& L|Ռ}nU?h iWs~ f f?‡bFSAV?nk? cz6w5#<*&8`p]ݡ&qO\MYyH|w5{SW+4Pu=3gO\"wH Agl*:-S͌Eo&]{K*CW>pX*f4Uo3©KXO*WFMs1GS;KePgxECL#aO\sWOޤ|9lCUtZ7g"cEoPڄ}NyuL,XĒN1(ČV9ҘֻIA*bˋ̎[< C\>RgxECL#Q#xK5q =\O43Nkijt+5 \|N?w0D jmI%V s3m9 j)1UACܝ~{ֈT,"l͌|re5:ָI.! O~(#UTq\ϑ7yfx*B(-<$@3D!$)5kGmѩ*nQ_+/1(njzseNWv#냝 ̜Go8^T1{iU%M<]!syJCREU*wCnx^Y`{D~&b i7eҥ (Č jHU@;cv0 RQgx%CL~&UenX7cS  P^2q[%B~oq;cW7GX'2lvA3*2B(ee1R(̡!&Lp2ȟ3}kN}^YiF0srՈ랭<}OK< :$sr'_%JTP>noeֽPCcc)5m#)KEmuY4NY):k;HS|Ǚ(7L7}vw &-ἤFdE漲Sݤ%ү9z Bط.׻9 >pa8,)[rq'/p5Ow1T]N尔|LӃ\2i,T񦩿T2T8H/&'fu_3/(ɍ3mӨFz"f<]pxԝa]V!+C㰕Cǧ*B^ޢ>lL6]kgfW~zG*? ;ȰvVn"~.`vl׆G.wJ-ýc)ދI~'Z5p`^k(d蹦wĢ?*%M 9܀{mFVU]:@նlJjt_-A(m,oo_}N=G9r~BwN}=9kM'֟zrnxz>yIU;RJ̡!=D~19d23}v`j?`NjI5u&mCer?~gJ@7_qIIyE%W[yGc| 8kE5R`+7̩f 7'K}K*麟ӼA #۬H-6j%n8O@-e\;a?}9 UZve2m1'f IDAT9ط}K0 ( je?ߨut/&@MP_RirNmuh`u^P tC^mir:,--F\ cB,xT h* ˀ9@aQ=%9J?geeeeeemmXӽi.S/ϐ~ܝ:'|Yg1M_lee%y/P/Nu2Vi慰rr)-vZYXڱ) gqh*~q_POꨱj酂uIHvMJˉ{,m'cӵs'~ܘa9vB$@[ 8|a0 scc^6#Ft Gpiy nf#.}DȜ5L'\/B(3e+>д9Xp"9&eJYy6_"+)esxJ~/jg-μ[o'ɧ_X1ʄkdqrB>Uz卭q]|y*TJ j, ̯c9<¼֦$ӊL6<=C$ %?LKswqg3 :%(_bRyOoiv"_T6 koa5vVe=߂,k`Od=Jthy]q!M[nli/Tvg"&olw:iç'N1Xc,հqN^~V-Qod㷀-)h0flX\uah6+2;"b/iǯC:ԐO^VT?)Eӻ\9ᗈcV/BBHYu|3eqAu8%?O[қ쨡ڍô ۵cGn(NJ-%mۻ <=,v/2GN%ߝ'Ix\NN\_wh<v:#G,tqGrs9,6e2)e_ft]NNR__L=khelx66Uy=9;q5y=Wv %Lx6Sq)ocr=/1teK_I76eZ7 -6TFl;)闲wA%f ]e녊\j`و+ .57#([*}AZ"϶N>v&畔%eӵ] [HE\coWZ.T" ڳSϗך(4y=W~.-:׸1vR{{x;6gf˼:K3*LnA9Q+=6 a"!5|ǡWS†}֜( 3άc0ThͷL 3v3"M!ؕ Xl.}zֳ#zq1toJ!}/@iƶ}2pw.{?e+> cDÔ_[Xlj5i@J`>k?ge-dŒ5!P!j?PCknS+\Ԧܟ=zBوezJM;ghMrrrqm65S=GߑK,dYPֈ͒?LY3o>siK1闿]_7 O'xw׸^_vd `t3&mNL8- G"-&\_3OF%0LW(3X*$$U Me5<X?"ڪ;]R>u2礴gϴ2rS "x/ku {]>x$J3xZWTspa'zxrofHTyv]<Xxb2)?Ør^19AN_j6t>ˆ_R]OeA R0,(PߜޭBg5{) _0hq>|͓=y3_ uJ`>e{s|'J)֎G=K9AN첞.D5,..Ύ\7V8C\72sdȤ?Ĥg}p[S=O~GǨ|*Oa:)¡;Lk4=;]Ú\63D٦6.]z'T9hHJ1 ɲv鹛{q@`>kfoNq唇i Oqs~FC=hggd~ؒl[۞ѯQզ+ L^kGAkð#lz ߄Yʈ+]ͫ`7mY*EJPw{nEc7m\g↫D8szV#d ҳl30v,K, g ? Y}`Q%bЅOFjKj,p<73k!ő(Auk 64𿡗oy %z`,@uT+{yl¸6?}%t# kMwp&Td994v Jb=|-f*sW JJ4cO=`kmĐ E?2]qtѐY(muh~ȟ,@*ql tm~A,8~*X,(4 s9Z]l]l~37[gȸQEbJ0gPR&X_үI0ɾ /-o~JͯK y97̱v;463jt2Mwcm +ϕωG;i|ȈMÃl~5X͋UWzWiQTfaafTh-/mw;:;;._~J7f~4ftqFm;1Gٓyp3+G]h-1s? Doid:bՑ2~X)S=[!z6쾶&&f.N; ;zv&&v֞pw姂a+ܬyVF+"`X m jճqMڔ>͍,.P3 ZH&2ؘ!]bsyؚr,"tOo5k3+}#˚c֝G87_ 3}O#Āki˲!&Y:>m DO1I ]+7lT'LϱX+nb:B(hUۋsNWc3WqR@,.κeCxLA)58xS02I-θOu_\Dz'n kk7iYig]7Ա730j=`ffxj qIwy\P?NWO[қ쨡ڍ x4_'z%㰰B;?[,K,wxzXHCy^$eFqJ;5pOR𸜜p=SfBV%0 C"`HsdR/B׵iJ̷oO{Ef|N0`) ojmкixn aIJL21)_~*G]ٗ ̚ѧ/wsr6=$„a;5bۙ/)'mna?sLr7q%0A%33tT~iknp5פjR өz/}-f>_j^k;J2D˯H!EBKYM5(G5,Cbxbn~σ5j%) AuW6LFPXqfM놡x'D,_~*GP*`YNҽc"4P@T3bsͤ=flW(wwDew`i~48ZtlYXX )X\s4ew3>}>q`}=º!I'K{w:j>Ȝ~  /? -osMӧ[7ȥ̢-Sv#X,.n 7auoéL~vzLmb"//ɴ]{:5eFZǒ f׳"n2yW -Ɨ00 J[ވǽ/F"/{㛖npyVsa3<4'RpYR-hBVX\Q> @,"QqAQ R){]EEGq ZѢ@ӂP BB2$ K5 g8ܹsogn-i Wf-95;MʁCsD=}wwTK|}9GKZ^xc LI۾쇉LiLoNopSkBxiCTZw)/H;;Yewzn 7΂ٹ2䤐)CabtKA%>rd'~?xC+4ǔ!q>쑿\Vٺn\MP&qى۽3ta|rnGI >qa{ۄߋѳAlwzԱ%Cލr[B$s}{ҝʿ<. %gi ]ޖzcRقjAv_uǢ~m0VJaS鮢FAn.}9{D&K] 0 YÄAgC-Ofi l,};j)'C-&5F!/#͚ڕuQֽ=焗ċ5qC=׌JS궿cXo;S goاL2 /R."X O#cp͡`ɤ *JjXbj[.b-'^E Q(4|HiJ~ڼ9 j/iUmC)_3ǂN5ه䀹 7c21aYQ(Wb@ME PG(Ǯe#*轤9ʖ_7(!ߥYhEIU/t]A0ח}gѯ;[M̸Â"s$us[j{+ ݣ$~x]ѓWLuM(?}߈yI\\kNg XrfYz-|vw*kH\=wuR)JѬJ&XE^(1ˏEbY囥yΪ)^G+V o;STW1gą8櫸29E~wE㹢W7i`lGU<ߛ#mZbA w52-JME+J+ XԤrj[RdvmwcV_*,n=RLUMyRER ,p`_c&)Kb]KjMϬ axjGTA.VJ돢"UpjݨEQ[JeKxOxXe4`56_e n9|1&LXk.үXnq22z9Ih9 kTlÜp(³!V1m@*K]N(܍EPP%V(:Y`FDkGݷkk.,5<ˤۻB&#m }u*UyGLhYiɲyQND :jRġ*`$49׾N<=^~8 7?-tϽ䫫8t:aOwwH [ r-&;q3;xC+4ǔ>A W[m+'c2<)%nV@}tVK¿ڑgemM@GV[V92WTMO ]Lޕ˯’w/mKq5EGTW c=NF'Ur[+OҝO-;Fp#!ku#2 ?t߄޿U or.Ow)zlQqiǗ}B=o.}w+8/e-#c2EjF"!-mYgY[44W|U{D&K]MUp??Bx}ӓC s3wjRf4>1dRERHdj;ʖ%Rmb]S!/#ԌʺC9Uhl\-gSU1 +ˆuwrAc{P{ ^ڎaL)d]N̚\o\8kċVUZrgN/*X=ARv8j%bj>,(PV׎5딚z謶4|H.ycs4լ_Ӫچ[fjƳYwW)n;Ɗeb²3wP mYG'Ѯ#ϱbYz?"Hff9zMYb9 oΤt> { ڞ6xv;\"wAe?#ٳgĥgYhEjח}5MMנ$qiy_ _Yc;kؾ0VviEAGIȻ'P"˹4ubpbBݖǥ_mwbqE6;cZ%g柟)o>; 5pHzQ$.Ϟ;z;G)꛳hY#b|IJ7KUS"Vz?-dvHO  ÿcN@G砟8;;u<m,` DEMd_pm@ihsRQ JsSޠTTe'臫@E3xy7Gۚj[2ϕ5rЫK}Rie(P ].]ԞT.QmKʓLn,ڊKYVRdy&גڼh}RiE0Uv(|a,v-U4P06}I5^qJHD@=t-~R[JeKrOxhWqiF0 hxC!?lVNOKFqO޴Ws. /Vdե6OĨ6&:kIW"K=dxzP<ꋽd,aA0-mG5K$O6?b&R7QHPU`O{K:aPV(9Ö#Cشiք#WX.!>#cEdJؗvԘ9~{H{G)5#VǂAk( (;jvz 9)vsY|AgfkGu={ن_b|6}Gs(sd:B?6m9Dʓ) y6&m[nLmlBێ5~*wڧuum-cHul2͊DRe0LlÜp(³J!lVXۮ,DCg[ѲXUb: fn4;+Ot ;Ή'mӑ5ӣMLU8lf˂ŭXsTq9RYq.#.L:Q$2ZֻM`q*jLLc JʫWFLbhLյbLԂ-YX-(k'G}wgչeDX+.ZЧo}юA[\S.WRݞ~zGO+2fkoڱjǖO17-Dd5ܓX*e0 +~B4:.DٍdmOO)-<wζeawiÀ-(k< `4/sS kJ2m ىib42t]\a( &i4;աqRx/C#bl K$I sedIF~٫r?~?[AdPgҏ22g%e$d?R&#S 8u˾BZjBi/@}RF7;B3gGC7[f~yqh>T 9\2s=RPp֐Xj!/ ~OɆ9A'-ApE<y*+ 974 `qN;x`%q 98q 9-k@}IENDB`etherape-0.9.20/doc/C/figures/color_select_dlg.png0000644000175000017500000007167511220500634016735 00000000000000PNG  IHDRUv6bKGDS pHYs  tIME |?tEXtCommentEtherApe link info window screenshot. Created with GIMPY[1 IDATxw|e߳!!@衇QՀ(REAH;zTP "~(MTP,OXBhHB$!ue~$nn&yyk'ٝ|8/y\y:vo R)I'ݻw܏(m.ZűgW%'/E$s;@PyG %** A3gٿ?=/=.;v j?+:FhN_H@v-}i"i4faHe2;q$I*~/~A=e˖\xeK1l07LYFć|ċ;2(],_(:vӧ~L7`ĈlՒ6m΅>Ox FwߍF/G#??|u{ܫ_eȐ!tL D"(&k?w:v*gW(Rq^$$$M}eN__x-/^7(~$qߟC7 ŋu(}/}&>>7,WbVs͛7n/FaÇ)2dウs)(l}}k&?HX4`;Vx%w4V<W@P_Jıɮ5Rq\!mJ}߽?dϞ=|ͷh7n˗'XjV?/ңg(IN.VF~\Ε@]]v_5 J%!6m];w-s$I(nn>O׿TR g>3NNԩ oli )) Я?۵mgjiժ.]رcLz`Ui]es\HW*=NJ[lN%XVwͼ*ᔕkf$K K%lX|j,3Ք,ȒǖO.]nOPGf>3ϰsN !Rb%hR1/ɓ'9q}u(5)o?( ݺwc78^Em]lCcK?uT"F[?R$D@ `{;]ˉ'<:^ղ,[$rss]jjnK@ jIO5O3rH_$^L,_/wDž? K9wK_0`wY /#tBS /+A=A e!A&9%?@ / @ _ @ B@ @ _ @ B@ @ _ @ B@ @ _ !@  @ /@@ !@  @ /@@ G+n@ ֙kۻo  ZéSu&_I__ 0HE\ɒȖȖ\AɤPs"M&ER$ɀIC @!0L7hjJ5ƈWl3uT=Wu/B<: w~WcU7jHtihpCNFˆLq' fgKyd/':<^L5 6t!X߃ CW .]d2Պ)R$''sM~c=E_0JZ9^csTH|""Y~5V D߇࢛ #VdxxFQA!Ո(\_}~5? ʕmݞ+-e"Go\qf-AE A`{88@PK999̝;͛7Ӡ,g7 /{$W5p'?!3IV%{|OJjd <1,Vx؂z/FY3gǬؾc;,T_d*;vkׯO޽P+~*"=-o;~۴+*_WTf$(' Mh̟_Hf Geʧ ..U+WLIT)]O JDDWN1O%( gy #EN+DWlQ)ߝ̀"'R9Ba L~WCEP>|-Z^MHHXFJVFѼzzϜ6o^e^|tҹ 'O&!!BMHH uDqѢEt___˜4iIIIHdk|p|h4o#;Д?w>g؝7-G׳'d7)s)UFߙW& ~ۋl膜gT*/&11/Ő!Chժͫޒ=p:xjS̜1q5t:7ow$''3gFofSVՔ/ W%&kQOB{_x'pU1՞R-ڊ{M,S:=1HMnE I*S !-Z:-8ݺӵKWbPPP`Į9w}'|0ڷoϼyضm[_hPdYLJ0V5@uzZ:'O&S$Z]_x:t(у˗sqrssq[```s wj_ K;fd YIfm*Pc4rrJ| @6TXh׮]O81yglٲEuY 馲z">>ګ .QXXȧ|Jǎ R.\HpP0'.>C ֭f[nhѢQQQlܸܘ|WuIE/x-R-zJNpsʬ̂mF@#6} ]Dᆵ[n\" ˾ `ܹ,\k0x`.^V}tW۽+Sͪe@$I"336+W8p?`翘/e7oή]ٳ'l2Ν;?uD~yI,g̢o+▙ff<2Uvl }$Lf!3|mO3Jdu⫌̀xZMn`N4k̪]ړϷXlz=>>;ˎmZp^J˖-ڵkׯӸ L&y\v_m*~ ɪ]d#L]e$W+oO4YD ,,={ŝa7mT&͛1b>Lٷlaw;y3e{9HLLdӦM̞=گVFsμꫪuӦM8p |9=zj֭[Ǟ={ѣ?..Lٻw/K.eĉȲ2.;-rJ<~w28 _M;n?қ$'eWsT8b-Bղa1 'pslظ BdHƏωpO:y_mAfܹ~_)K.a\|Yճ~mkğgذa7nݻY_%==~`ޮ^Nm۶4nܘ9s0~xWu(q#5-Uz^hAo`KdoDB<qiصhhjlC CG#hdlM)0L04DBBhQfRdtREL5iIjc/򷨽gr_Rn֐Kq ϐv*W.:h O=;0=-ܩ@N*\ 5 ),^Xry߲>[wKנ`t"E3]n- ]Uܾ&%\KC0s$M |"V)UjW6'HQu+W)g3ag pG z zn'ئF  } &E%o?: ?{o*oQ4l Ykv6ƣ>Zv2ÒZo` cp= )C}Z/ $=>("/4H~ EF@R hhXnO$^Vڳi `˖-v vJ|dWMDWeXhFNnԖ_4(7֡;FHEfef*z &)\2IB^bZ\ST ?n_W^-K ]?QbjX;݁PAҞvXzGv_d1';K{ B8jl _oHP >HR4ys EBS25D?g}A|̊`?#`UEbOh5((RzFVv6 jWkKEW~Hr-t6t/=6x=~# ,7歶Y P?J[ԩC/Ԅ/Ի~'&t=FLԏRƼ_:֢YMw}zb*n賶`9A@h}㬇9+ԕ1dvdb$@]G@BQ/f_nhdgUf3v`k6޻z/=ɽra2oEE&@Q!0ixe19 !ż_J @}#&w~ˎ ;8s(; Gq~rsc@q,.90.;d%]Ԕo}s>ÆܸqCx GN22QWVsBhړf7[ \Pgwd';?}в4˛ƿ'1K0%:VLh؍,o"mG@Bhr(h(5R;o}E:L_LLK&ը{uw/_ ) M슧7yrM,o"׸i0 hMTNM@I@Ë1(PqueH]}PPosCYtSSw- KtkLَ?Νϓ0|(\Ik^U&TyӇ0\GCQ q޸۽Uߩ:`mҡx6%_XTK7ICy9v 9?M+,y=:*~ dl & ڲ1LΈkטdf|tUFZm@`0ؾu+c d;6p#4sa&y3 ;v 1)&p!`WWc/Bl%Ƚi+ (޽{!> (Wo#Ri,5oĞYדm_MM=uo1It؉6m5+W:ҥKLPsZhY.77hBBBgŊ(R=ѼzzϜ6o^eM̜1zD6S/fϚO?T뒌Eѽ{w|}} cҤI$%%S$]vVY[`Q93Mys3|9pQ_z= nGdu>mS{Gdc~*//Y‚䑣" d?O~T-4|'Ӽys}/&11/ra~m6o\%Z߾};.]՞|7=/c_)t:7o&##ѣ䘷'O;pUoQo4I‰'[Q_^lt>Wp>tVw|m u*Ee$o%[dIYp$ƎyHI9mv2> >\݅ qf"44nVf͞es&?{бCG>4tLh䖛oᖛo᭷޲["OHH uU_g b w\zY3gѥsw-GY}o=a!3Ν+Į@ս+,,w'$,,3o]w_sJy˯q=:>s~˟0%''e ٳg),,䦛n2zE|||W׶ٳgIJJb=Eq5tc?#==ݪUxe=~uFpp֭[7ZhATT7n,*.ᯨ%Mb2T[oiݠʜ"W<e1ßy?xer6IB2m6R^gk3}*n7Io(&ƣ= ժKz(@>S6lʕ+IJJ_~ҋtp #&& … 3%T{\H`` /`ʕĮ)ic{9l\N肂JnzN=6kŝК4ib}yΟ9]_`ۿΝ… Yv[>l7|7Qڵ={h8x ˖-ܹsp^}։k~6LN22Cّ9'UT%EAc#2d2̌ /Xmۘտ ;h۽4Wf!kvK/ƒǗG8x $o>6nHbbbQFR/"ߓ@V̶V[quN}:yyy f<2[63rHZ-?3cnj-n;oz|||vYYYn=qHII!22)iԨ,Wɽߟx""3?~={V{XmIDD?mlfMݴnW_eڵ|sQ@`0`2pGԖjUqҟm۾/ٷ:g,*F:oɧ,4Oׯ^eBsjuNkrxM^ٳgY~=z/oIpp0zvVE׳0$''mm" cϞ=M69|%M6eРA ƍ0q{n'/Ls=GVVlڴٳgWM+I9x ^z%1\~C95kތ#Fdffξ}TW/^uֱgzAaa!%iczz:qqqdff޽{Yt)'NDeujK$;(`73#`>YmG6ƾne+ڊ yj`F7gP= ŧoK_c©Sth߁FޅG˛oi XMe̘1Lt9s0bv?OZ-6n?#0~7ecˆ0 S/ B>}x'U O:y_mAfܹBUpwɧp)F=vm1tP=v?̆ a!Dvd?:*|!66tG@@yz*:{mҸqc̙#C\Cm) 8@_i^ l1-m}:BRm6lSLY=E@2䇑hsP!ʩS^뭷jɓe"""޽lS:/ XSO=Ŏ;GOx @BrJ2-mips%we>mK%6fOm.m`ewj[ wͭ>}͚@곑ߏA2=~^;G`>گ y,>,jҹ "=iin՚vqjgfAab.Vry<ȀXjx84wU7T^6@1l_Vsjy$?]'h|ĵn`[߹sgd̨G_o-B_ 裏T)gh"|;Ϻ5snß΀vud۳y;8Wue<}þ 0u;E%,UHt܅".]5+ oӮ-[6NNY}|y1{dgL'd\۳u\>qnmL/>z; z$N^J[S/*Z2ճW;aIE؟Ux{3 U#d[ݙ.۬ `ϖxﺛ,!5FnyNKv?-H"_P=%omzׂP6Oi}{&CYwslm/7 E y4[gB3/]nFξ~PkVmdegyom _C> HbqSj=e gTajcnjU=$2U9m+2jTI "Y:9^DehޢN]'|&|) %~ŦT[Qj~KXB@W})fϡܹ&&;(Z܆o-f t?D)P?6yO~Ǜ-snimߑͶfَ_^bl[JǗ'`cl6ox:Ơ`8c ^@uv@2w6,lta;zj\nz;_jl\/@cgK(m0_nTKI :v.|[@uqN{hYףo|ڜ,@@6KZλe!$cM8\7hrB Izn&0v7]6}lPae?h;t(V?MX-o]e` P^B]jۻhPu3JI)^qBf $?GLfѵ[(JKV[jzMd2gvK a>s&} ߐZT3~gT{B2oa _Q_*?GyRʼn۷w60Tkaߦ;#,zWEQ8q?%tF5tbhm%};6=#$RZ/Wr;U>/Ը/xUQӛ6-558sW/@;͑O~_ zKog?Ha.1L7oEQ?cS|Tвnde;CeOs0Pvcsa7sE,3 EX"R4S ^#$pv M57%,6;6FfkWe!PcKݻo%>v 73А/%$|OMV8!t: ^ ^#bHL]淲Wtb2q~V0K+՚&-6M2tTT-ҿL;K<ɱYxKه›Fy$H7\"5c ͛g7lCSYZhYM F$rsssss&$$pVXbчUҞEUn<4!ϝv0kuÇi٢yk߮=O'-ZD%,,I&Z}ݻ9s73GĴiӘ9c&M'~гgO~rrrx˅/^D.^HVVC UVLpwz-IB:aL8@`` ׯ_駟f֬Y+Ŀ>W`0p8z wWDy؏u.!iڴ)|wޥK.׏+W0Iރ:2HHH uU8ݺӵKWbPPP`Įb7ۗOF7o۶mSii.eVKӦMyx"z+|_gСңG/_ǭj[```s KG[nu!(5ju }Ue*cPt*g,]wsh<EAegCL{(u F詼k{;6m$g=vIx'kUe|g={Bn&W^ǣ(p!?d]#J_֭enݺѢE ظqc/x`ֿn^בi\uj0TvN Nر47+mժz{u6n  kKL<_zC79L8p #&&h'##{o>BJ;w. .dڵ 2˩+JK|AMNzt:pUWuEd۶m˧}ꕾe7oή]ٳ'l2Ν;?P[|S?@8}癁u^q#+ݾkϯhE!OjMUcݟ(Bm)`hӹN%͚5cȑؾ(vqciР8So>6nHbb"@~~ߓZpɴiHd.!UٵhԨ9CミpwwԽ~_Ξ;KPPׯ_gUy/l߾K?asN:j5kY|?AkSWha/Ew';+9͸ @'~}ZZE踱 Umi [ _MuJL{xLy~>s 6oȑ#jό39|Rכ2MݴnݺzJODDq{ٳ'$ w>ѨQ#t?My\|M«ڵkׯӸ L&,^}OtJߛs#+cbNt*׸ߝ5Jwgm ` yCcU7{<կ:2͛3sLwN޽qz]jl}}sD ,,={PTTĦM1bkYKff&W' ),,4u:?SL#++D6mٳU'mF+WxiѢE摚իWn:C=̾Qz8233f޽,]'"˲ 5. Z~֓/-3&_`6u4P66GkTz_~!1͛!-ʞSQen9&O uR%Ibԩ\tiO3ۛ7oL}h*cƌa~͇Ve <9b$O7[ٰq!!! _Q$+ QC,w+e\^M&F B׭çg ?'?C6h% "D"%hn}mk<ĔW/kO;~W)p~UKr} U-յُ0jFVi? @@^xr%Q9GBK{ Baw$uqI)˲}/6vT&Ƶc7=;qmf8/%Q4{(|bW#^\@5W3DVdegyo/ _;PUSFoR+U_s{8 PEpƻF2'dVĺ߹YU}{o^m ^/F5ekS+4M PEH;߃>Gc`,pҘ)$ߕ43E[Cq uD<b[CwTXs@TBByyHϬEzmL+W8` ih_gfTC y;+ŗ RtV+C[+$ĭhy<XS*AQRNH53{8~U7mn @W߭?裣)Z?g]FK t"B+B/PBkTgPjT_ ~oGQcfISV폛ndPTjֵ[\%jm 74'w%oPH*;y"U.52\g^uN̂? z LdJ[$_h@ z6(zJW*WB텀lٙ]cGM6d)m'&*lwLzxӧ#NJp0@i&L^v#T-ҮZgvuٳ.c{- /<@^bLaa%cq}72j!ϤW]mȻ 9؞2ު.2 v={2}b9N+~kRE!W BgC"+ߍU`vs@њC7lg%嗸"B+BC 4tׁ- [nNBX@ "l zEص5Y7,JMgjH@E3/bV&upInۯ6~F` ]?lOo /W&L IDATo: -񯴶~^m^EOrc鳺Ijuhj.R @ Ŀ"+5*Wh)%0S gjՒs ʸj&"ը!ļ ۻWPIƧ(De"oGJ8nHR0e2<_JX mZTS&X~u5W%IU_%AYPȣs]pyS˨%c]cf&8 +[,9- *?L2-*14ᯂL̀[WrC߱c\\RWv>cDKj!dD.5%+wLS)%JZjwb*;U4!)2 ^̠|O@`l#_ ~(D(FM{RZ}*Zʮ'0 3v}"$_ W@E鄁DoȷNW{YF7pyӦalT5}&8~gN@eUGЗفyN+Ez:3-}dd>'ߣ)u)@ L9=5:|#?-7C#޳šFQI.ɲC;qm65vO㺲KIr.z*~#gJJrI&~馱4w>}ӧODg̘1<6!!-*ch٢%bIRNٶmۈ੧bV(cb8pV u/뭇9*O5\˴9ڿϏ#ɿY)Ot95=샾[{L}h*?0wUV\~o?Tz||g/]G}ĉLbO?eKKK#((``` Dɿl /;JJ{x?wJ0;v ٦.;m%v ݸvQd>M梤xS0tp%KQ3K.aݳ(((~&?{бCG>4tٷo3ќ;w/ӶM[F=?|Μbн[wvJĮq\qanVEѣr-vl4M k%;TO+3d?]c/WƕV M.U֡ϩwD] ܾOWn}ٳgpdy_8r]g5qSRR9zҨQ#6o=~?;GE$x 8v|''22=g}G?T):w-Zĵk8!|t}Ysxrr2[lqKW6lHhh(ǏgĈp :t@C = BkE-s+5?ɿƍҼ]s2 d{vwWvK[4]eFȝ6O,cy>z*[nE7ww;^ @ӦMƹr ~<'HӦMY0v8… ]5 kbٴqDoIxx8]v ,,<ӄGڵkͶGf<~ ##{ܹsaܸ8s;>.WzskS+[RUo/իrYޢɻ^ M{zԉp8]N:ѾC{}zU.\QPY2rJqWrqqղj*nvz.}YYYxdlfȑhZ~gƎoִ?M֭+6ok׮+իW9tg޽}˖- vxNo*EG }-5C m=jW/Wr{U~VddOk_qܯ/n/%ג$K/{:D <4mڔA/PPP@FF7nd N\kߎ3fK/mzvVE׳z͚7cĈ}f-o>sO:q5kV|_[n+Wf7%D Afpǿmiע^~IQ4 w/CrCyG?CnX{|+ү3n8:޽{2e 6n`4O2x}'{>w߼ysVǮfCS3f D.+6l@HHC!S$ǍD s'>#Ǝ$I|L0AɀőZ?D#O7Q_#[4/`cך[董U﫴[U廰ʷk~GB2W:y XyQlWYGZ0iJ8%uBVv Cxz.^SYhw!ID&2ݟNjkmmjwC=Ey'Faޛfe߱nT8V#Qg^|5^N,RH5/5,`Sjtَ/0M/˲}d#%n݉kΒj56jDwPԮ;xG)V0-' a^%c ٔ;&H+eI_IL`^"ΪBDnছ:( ޝGU|ْLV ,!(BPk h bVTmS}T|]+Uma7D\*V $dɬ#$\׹fr2[}2{9>|Nã[BDҨx?vWZJmWÔ_@K#p!Gǹ}{;m; H?Jc"?.MpϮFC>,6ÆnK/cX,}$ݺu;|$(𯻓yN7(KzVrDф} oJ OoUj?6{iṽ$=ZF#jfrih\.m=!w탱Qu9 _rDZo1pv;GQ9lX׏0-ݨv=UO&#Iȸ17f6Hg Tval]W㛡 vZǻۿ5]alTeeQ1zT=_?VqoD ꝩvhgtH'Ҽ uRfkVmȄoLsom[{=n,NS'!jz-"T?60޳ADǓ\7/R}Q򣓪_˿wR1r$ZWbG#׭ܩ0ww@Y_듘KA~F=!To]vA/~sYysif_/ʫY#\/"ՊI3ʬNw`O+niAD'ʼd4r?@ޡc1죸oԗmwݻ:tGPD݅WB²4}Lr}+D,-Pӭ[I!xӢK6vm5=r?@ٸ6R\0Y룸 7) wt2Q//0J- "]Nj.fu 蔊aT y:WMҢÌ7>k@_PP@5[[",t[X4@VDD8Mv@sCa?YV/K6F t#y5Ψ7_{}<3~}uɝQh~  T܋4(;d9XL4yL^?Kj0 h7үa֍}JL;gBJF '" >?9hnz"3+?z_B<%2HIr ILJ|c-/~:-gy{ _ۣ>?\>-ks.kuuTZq'&sػj&>HeR3p2\"Gd.6Ycab_?G7vII*S\QF7v\>n?_DUV*|_4KcJhj\bGqrT-*7^Sz(Y ڸ"us.yu{q*|I If¿%> EeeeG{UO^ߟ_/ {i㊈t;f3/|6R_[_<_.dኍ46F_K~~>fy/@c?/zn1DWD3j%O DN1kQr"_gjmQlT;+[^w pR#5/" -!ē JH1[<_rp7++AaPb1(p>'BHc7<9P043 f?”~$*|]#8p ϙ{ +mZ*++IY$ ~[iFnlC""9х.Т"-/wgf;ir˯naΜ9YÇs!׿yܰx1 Pgdp9N^h؏`K34oHcxhz P-;w8,廬X$.]eHNJ≧b+/S\ j/' 'ϳaX,V\DՌmhN?bq^| ~JZZ=zg #'-BY $max. -"wqgO$۟LlFKcyp.en7 > >s]x^?ԍ?ǀ HpGJI|EDl˿+Jr=yveuV,}&6n93bޞT^-M0-f#z,9\{]Ս3&r[r)]~~m'$b;~jR~@ V\f]0ֿzu,1_pWuٝȳa87Ⰴ7X넼!# Mc)T(N""Х*dg֟jBW=҃WcRyWp%_CW84MXTgc}-3T}ouG۽_Pi ~&#x`Y`&ce&qr `1pi*s_)sur5.M|?F`tp qn&9,"FΤsG)(,RxQW7>yŸSb֝%ar*ν3:謳~>LbUX}F{93\u 7J%"4׾},^ח-ċN>/z۲ᖀ`q{9nBLQYW1<LJ޾~?z=?c1J,uB݌mF?*Z)HHغo/.cP?KNSaD$#~SP^b_+Y$!dd/cz=K~AwV*y71Z-Ho t7~ Q 0f_&G5o Z- ގobg:O54# <[lT~O혅]f P??ĵB`StR7-K';֭%B跤@]V>{ʿߨ , 7@bBħ".0b3 i^ĂR}{Ђw ^+U;ذGU9iXp_| "X79L/]2۶&YX?[F#?7wVeõV'ݯ HtvJc@a:WحfЏ4ܰ+PB~4FGj72P~)[δ_DD"zL~5obmDQ1FXG f wjCk(U("?qgXbV!aВ.XMGS BK9Te R?SB3.ua$;2ukҷo0l"TM>mf>.7R&"ol6xn%q罥df#|k[ͩ 4G[}[A-Q޹:TDD1&?222mMis}k۬@F]ex7ῼR"" 0 X]<,sEe-ü|EhcU`:""':]ۨ'9f]a1kc [AK+rv++m?(ۚaL8B+o?+8 !ۺ9H!ƀs=8x02t侈¿I2oyl^eqk [h2H P@ <߃UFU"" 'k~Sήo|æwc3}Xo T S8yq [_DD/[ g?,rSYn;>sSm'1<ǿހag0OxpNaMA{"" ig^N&;lϳ-vnQ ׳Bl I<9sA %"" 9665$@!Nn+K^-xK,TW]Aj`7L8SL⺅M -G}K '"vRHzf1DD4ɏ_DDD"""{P֒IDATt'hmyʸ1㴿tے/Qt7wJ@"rz\yMBȉ.U"W\ (ECGC-u :̌L(EN3t|Ir"9BfHADD/]oj"" Q_:PH"" Q_DD")¿ǟ`p`g f֭+"i'BP={ۍQTT""Sklذ:뫪ر}ڰ"L?x`X|Msmk(Evx71c7of֬Y=1cǨ_D:5KhG~K֠,N:$/^̀lL491 CZ"=k.g ,[su "(?oscFO>,[?ɓ'31g"á_C_ c1|r֯_ɓ|dGԯ%"iHW} Ӈ˗ffΜɨѣHGXW} _gW&w/"-uߋ(EDҵ_DD/j_:u_WQK0m4V\)ӎ%3#m|Q @^5 /" rTjÆ:_D0n8ƍ/m"W(/(,Ж9A,""" Q_DDD"""(EDDD/""" QHsy[%EDDaC6eJCDD8hCc""" Q_DDD"""ش DD p\m %%̌Ld'm˯T.WbbWLڨLr"ybVLWM̛;MG/".]cnm+3w].ÆkʤxPHcLm6r3Iە_D$FP_DTT+SeCHO? *O%s.ͭފbє6 QH/4IOOUo`Ao%Q~[JK8_D:P(.`0ȁbX0 k1Һ2i `qE~Wo^S! Ϧ9̼<L>nj?m<111 ëJ K.gϞvmv_j`&Tw28 3fROQC4,'LrڣvZn7`c X1ҷEƵP\\}:r"ˤ5Knn.v;[l^4~FCb|luӵD/"JMWncK0 P,!]}Q]R煿>ƘC>QT¾-\3~}1b\s%os2{5U&Y>c{m5̞GYinP(} ]ؽ'3kg yH2{?E%x`e|(,TN9}>cf̘Azt^z%-׬g‹/$fTۧy^Zo' W_SV⥿?ƚVR3s/a:]7x p/6l<﷑Yzns?j6l F; A3OcS^V9W)p JZjVk.e sw;j%==sr}a&90j(gs(,,4MlB>}ά2e fbۏcKəÐ!=;˹9b$O7Leee3믿/pѕ7RQg三 1\Ozj2e^)c\|`0ȝtʯo5s&rH=yP+o0 LseӦMIqq1/2 44q:z꩘IQQYͭJBBNkUV-@ @/$`xx|A=>JUW/c2YYY?EC_r6q?%G[9U1 T-톐Yg6 ֭[cy={`XTTTJNLL+ 2,13 W^ 95lG~ @y>bx+--yӧcZ&\<:kzaر#{tO=K޽lp^ˤ1zW]ZN'i}`lcxK9 F̨QHNIf=`ddd7vrݫ罹M&MFm=$ϯyh"| ECf-[y'I߿J ޶v۱ןy} KwgExۨT5aO>ͺdfϞ~;vn߉2pWO1CN6{﹗̐ƒ{w]Nd4L8䓹n|=3"S*}(}SZ=yݼ̔f={bX꼮'x_Mb~6l/˰үo?V>-y[kT{"Q~嗼Q]0=|;I`Ɍ5Zep9+9for ^oKWW.Zۇ-`KőX#}hʰ_D:h,ޝ\", $$cZ_À8gs&A|zAjj*V5ˤae1zhܺ@ #GO/tVf]Vfn)A\lYݫ7أGKۖIkmvF뭾䲉H/"]&h³Z &f|0p8Gߎ4яM*l:٫"E.fD"")*H{ieT_DiSbc6JWQ3LJJʤtO/".WjB&3#ůQ2i27fqdH/"ΰp\MX]yG\VLƍwzQ"![I /i5:m;n' iu@:]WDDD/""" Q_DDD"""(EDDD/""" Q_DDD""" Q_DDD"""(EDD䄰ٗO[CDD 0r& """]،}arIENDB`etherape-0.9.20/doc/C/figures/node_info.eps0000644000175000017500000036254011526555200015377 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner %%Title: node_info.eps %%CreationDate: Sat Feb 12 23:14:52 2011 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 604 285 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 269.96607087951026 translate 588.92598425196854 -269.96607087951026 scale % Image geometry 589 270 8 % Transformation matrix [ 589 0 0 270 0 0 ] % Strings to hold RGB-samples per scanline /rstr 589 string def /gstr 589 string def /bstr 589 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 123222 ASCII Bytes colorimage s6g#-s8RZ:amAul#O:X@lKdd$lMTrJlMTuJlMp/PlKdd$qs+LPlg*j%lg!d5lN$5Jli68MlN$5K l]UW5lNc_@lg!g%lK\B7r9XFKrosLJrTXCIrTaFKrp'LKPO&;&o@!]mqs4=9o@!]mqs4=9o@!lr m-OZJDuB'S~> s76;Hs8RZ?aRR.:OR_u4qsjXSp[@nHP48P3oA'E+qsa[GoA'E+qsa[GoA'T0naZSVLA^Xn~> s7ZSbs8RZDaS*LDOS8>>qtC!]p[n7RP4enAoB62?qt:$UoB62?qt:$UoB6ADp@eLbSG`,3~> !q1(-U?_74roi%umcaE0^Zb^^qs+4Gq<7kCZ0M;Pc052lQKeM%a7FZZa4C4S!S5<_Hi_:=rTXF7 a7FZZa4C7T!Qo?Zmsk~> !qV0HU@@[@rpJJ,mdBi<^[D-jqsaXSqq!S3#(o7-~> !r&5bU@n$Jrq$*Z!qZ!Sr:0p\o(2hNrUU3`oCDJDo)81Yo)8._o^h_IoDA.aoCV\Ho^qbLoY:"t o_\=]o_J+YoWe)foZd"-oTo.NlJV94!T<8Ao`=@9o;D]JlM^AVlJV94!T<8Bo`='BrV(g~> !q29OV?lI)OV#l.3e#p@\Fl p3ag0l06d;I.m75#PNP`f'2GAOo=a!~> !qW8gV=4HPmHsr?a6N`l[-dn]s6fsUo^)YH[I=.``pEcoR-t.8d?=:trsAI`dGXK^i6d__p&>?n P0r4Vn)2TVq"=Xlpla%_n*ei(rUYO~> !r';+V"F$Fs745#!:mJfrq,dQ[.M<.R.LLGhl-GFrsAS$hs0k+lJJQ;p&>?qW8Hn4o]k>4qt9so ql&E;o^q.SrV(g~> !H7f3kQ'91dKS%EcHOGZ]''.WlK/-/jN$a!9]d6 !nMbfoD]'RI+INFepQrXrs.J0f')>KI.-\,!oSIWroaC*DuT3U~> !J^LLmJu) !M')co)RG.V`pr]lr:A/'s)7f*!;#^Ng%,L3fo)e3Up[eCin#5OC oBN:KoD]'aW9X!GlDXIKrrVYflMgAUigg#BJ,~> !H7f3k5j$1p&>'k_n5(3jlke*j2g3[j7q[9jlZF&!TrLojSs#ojSs#[j8e>rk5ogBdcorpC\[&n k2jYE!9Ta5!S2Ygrrmf$kNCEDnc&c?f&u5II.@4;I+J;[!Qo?[msk~> !J^LLm/bf;p&>'k`k1Uif#D<^?dm+Uh.H#;0tmJh%umJlOn lN$:?m/c..nc&cUi9fpiP4APUP2P`pi0*X1!KuC?m/bdmrptX~> !M')co)[/9p&>'k^Us(;o&oP`nFuJQo(qtXo%!:1DuK5+Ds?clo%N[:HZ.^(oD`b(oDeC%nGr-K o)\-Tnc&cklLXW4W:BlkW9X!GlDX7Q!N>;_o)[j@rqCp~> !H7f3joX!2\G3<2ZFBkH]]K4Uk2QI$aPd-Yq;VJ9p>uA9f&QdGrT!onki:CZs(gi\s(hAk!TiC_ j-o*2f6m,g"anqak1>"Nrrmf%k2t9Cnc&W;fDan8b&>MJmsk~> !J^LLliPc<\bNH4Zap+O]^,Xak3;s2aQNWgq<@tGp?VeFf'<9PrTaE"kj$mgs)$uds)%Jr!:.\j Rd:(6P4APUP2YcoiKEa2"d7j2m,=,trrJ;Arp0d=L=XrIJ,~> !M')cncI,:[eR$.YdXSB]CP+S!:\(u!:]dRp@?c(s)7l+s)7,kg@G8^kjnalp@?5nRdpLFW:Blk W9a$Fl_s@R"fUbXo'<7ErrK(arpg3OSClKgJ,~> !H7f3j9![-Y5=IgQ^O>4Zi@JHjQ5A%hqQ9+!8IA0!9<_4!9<"s#N;b2D0W)>ir!Tlir `8]e8XF"f/Wo;ssCMU+uCZ=?UCMS*^h;mX4CU\b0H*@5.#32h4D0W,AqW%n$Kl:mg_W9eUC]*8n CC[e#Cjs@ajQ!@hD0W,AjSWfgjT"8]iW/#.j8mn\nc&c?f];,GI/X*@C]48:I+[N@fR3Yts(hT5 s(hT5!IWQ!j93VDs8VP<~> !J^LLlN5Q8YPXUiR%'V:[K!eMlfI@3kMs\D!9F"@!:'4B!:&M,#O&FADgS\Ol25Dul2PTH\peOJ am&'RZ$pV``" D%=1-DLp!slftd)DgS_RlhkVpli67kklC"jJ !M')cnH-o6XS\1cQ'[o,Z2_/Cn`B6@md/']!:9ONo^Ui.#Of*OEIG1^nGI5)nGdDQ^O^BXcg^Gm [X`@GZg[DQDf<17Dt*8*DfC&tl1+:^Do%*II^oCI#4T'OEIG4`qXFg;Mfa$'bjk6$DuB/*D[sR6 EJ2^/naNu;EIG4`nbd>"n]1-fnH%sSnc&cklgaN2W;ZblDuK\>W9a!Dl_sd^s)7l9s)7l9!N>>` nH@jAs8VhD~> !H7f3ir[@&Vu;Y^PEqT*S=QtcYeB&sioT,"hqH3(!8@;.!93Y2!92qq$E@m-gneeeiSeQfrSdcl ':@OdCO>%!Wb[pUV/*-jiG34tg]$.KW6O2+CRF/BCMT'cg6$0Tj5[1UQenTTXSUr\GAFnK`K'rX s(hJks(`47h7RNMj5[1UQenTTXQ/>VC\?]filL'Yig\s/fmN>i"ao"`j4ShYs7pI/rrmf'j5\g? rVuk4s8W(6rVlnGg&C"4b&@:JJ,~> !J^LLl2o30WVqnaPa@i/SY!1fZb>W(l/h+0kMs\C!9!9s.@!9rG*$En<8j/Qt#kicl#rTO8u ':e'tD11X3YAK`gWbo!(k\Y1.ir8-YXjcCBD4KnVD/GQri0A/elKYTjS)p\fZ23_hH#:I\bE;eh s)%Vts(r@=jM>\^lKYTjS)p\fZ0LUkD>!/ol,`&gl'pr=if`j3"d7m1lJe!*s7pO1rrnSFlK[Al rVuk6s8W(8rVln]ir83DeqX1qJ,~> !M')cnH-]0V>ZAZOd29%S"$Y^XM+-(nE'*>md/'\!:0LM!:]XN!:\q8$FF`Cl)ns4n*b15rU9c) ';4R.Dh. !H7f3iX`s,To+_dOHc-%SY)O`s/Ncl!8QYg!8#?D!8%,$!8I)(!8HJc$@$@.g!XY]g"C.VrRq3d '$]+\CMVVVG\bFSdVF-]fkYBMqq2b>i+mGoibN>Xio8C%HfF%1CXM.qCO5j:"*&5$hYcC5C\m&j CD#+VheR#eid#=einA0oio4`hp#6#0gWA+KgRI1'g3iGj"ao%`inAeYrr?j3rr?j5rrmf(io8[> r;ZY0r;QeFgA^(4b&@:JJ,~> !J^LLkmtf6U5OqhOd2?)T:hjes/j!!!9N;$!9)&X!9*h7!9E_8!9E+u$@?X;inA6sio4flrSmio '%Q"!D/J:lHYq0ig225sib`Pbqr/CPkA>D,l"t:il06i;Id-*ED:e%2D129F"*8G.jo"BCD>NMs D%YOek&"u"l$R@"l/?K-l03&%p#uM?j2p9\jI>B7j-&s4"d7p1l/Rs*rr?p5rr?p7rrnSGl075k r;ZY2r;Qe\j8S9DeqX1qJ,~> !M')cn.3;6Sqr2[Nfo]rS=Q4Ys/*L!!:Ak5!:%\j!:'II!:9:G!:8\1$@ZpHlf2o5lg&J-rTjK% '&Dm;Df=t-IW*p*j)9G5lYg_#qs,$amVdC?n8E7&nF5:QJFN&XDr'pGDh%WQ"*JY8m/6AQDu/u' D\;!um;Hq4n:,B4nE4_>nF1@7p$`"Mm)ePnm$mJFm&9IS"fUeWnEd+Prr@!7rr@!9rro@fnF5eC r;ZY4r;Qerm/HJTigg#BJ,~> !H7f3i=EU$Rtcc[PF%f3Tph7Ns.m?e!8?Mc!7o9B!7q&!!8R/(!8QPb!,VOJs4@9drR_'brn%0c s476eqeQ5`s(hSb!kj8+rG2Gls(_ntiSi[0D;jGiqeQ&e"g)]YCkKS'iW!]iiW!]miW!]ni;d]k C]EAnC\?WehqH3(!8 !J^LLkRYK/S;<&`PaS)8URRRSs/*Kn!9!)nkMs\C!99R4!T]F6rrnSHkih)jrVlk7qu6Y5rVm%ajQPggP5G:XD>X>6P2uW+!S3#) o7-~> !M')cmglu/R"U3POHl9*T9thFs.I'o!:/_2aQ`Qd!:B@G!:Ab1!-%gRs6BW&rTaE$rp'N%s69T' qeuN"s)7l$!mHUGrGV`)s)/21n*fU]EUW@9r,2RSqX4TsF)Q#Sbl7)2Du/r&DuT5*Du]8+EVs_X E:<76DtWQ"md/'\!:--C!UZiUrro@gn*fYBrVlk9qu6Y7rVm&"mI0N2W;HVnDu9P8W9sTQ!TKXK pOE~> !H7f3fakOkP_=mRPa@VoKS#N!s.-jV!8$;_!7f3@qUPZ!o%=#qiRS'TCWu\,s(hSas(hVbs(hYc !dJM)qptd_rRM^+CUVaCCMVVVCMV)Gfue)Vg"CXdch5roe\S(tFT0tnC\l`aC]<#eC]E&hH#(b' g&Gj[f`9XGec= !J^LLiX`X#QA1N8lD>rPpD?&SsHu7L4 irX>5D>jJ !M')clOU?%Ob&:HOd2&eJU`ols-gXe!:&Y0aQWKb!:'.@!:&P-!e,(Dqs"-!rTX?#rosH$s60T6 Dr(IrF6;lNH@sZ#=peli1o"li1o&li1o'lN2QShtua> DtN>qlH/8jlC7)?mATRT"fUhSlg:YLrr@!7rr@!9rro@glg*r:qu?V5qu6\qmJcDPigg#BJ,~> !H7f3f*AP[Ne<+BKR`uM"HK7hs-LFN!7p8^!7]->!7^kq!7p_m!7p,Z$`7^&cHiqTe^\YT`r=Ng C];laC]DolVJD@?caJY[eSAt!eK&aI]?m!^CY.0RCQ6WbNGGKEf;EDJd*]@Zf@OeRrmq=5^sp/8 GQ-4oC]E#dC];rcC];rcC]DuoVe_LCdC>"af5YTIp"'2pajgCBS(@_tI/ig8#QK2-f@Si+s8Mlq C]!u/C]=29s*WYSfA1iSrVQJ-rVHZrI,4eR!Qo?[msk~> !J^LLirGmD?&K#X_jEVftNF&hed6/h]6lW_qL`"D;jGjD3EN'P&7D]iN@$bg"X9#iSeWjro"$CaPP!T HN)n'D?&SpD>rMoD>rMoD?&Q&Y&0QZgV8^+iH&k`p#,o/akm*VS)FG1P5k.O#QKtKiSim]s8Mor D>X52D>sG !M')cl3FHkMh-V;JpmWG"HB.es-14^jQQ[.al`ZfqW[M7iTU`VDk,eG`fTHLG&Q%4l2P]$l2P]% kmFb8SDiJIOQl"JDuJo@H#LmdV/L;;l>LU,i8Bo>[Hd%aDk,hI`fTKNDf>X?"d[KtcYn72lMkf& lMkf%lMkf%lMkf&l3jt;SDrSKOQu+SDqXgKaQ]/Y!q*#eoDJpoW:&s9m\p0br;^d5r;^d8r !H7f3ecVrPLk#;M"c-u*Q*61\ec=7^e,[t?dK%\je,\%iec=7Ye.8R-D/b?@eC:=7CMVGLCMWq! s(hV`$*&DjE/D'Re8&jue.9'9Cj2joCY%'PCT`#$GGb>i$*/MlE/D*Uen](#eciL9DJk*?rmq*b s473crmq*brmq*brmhIXIVj%\\CT6.EGK@`ec=7Be=+qihL,A&q"\_)p]phHhU^97I/j3@!,MK, !,MT/#QK2.f%/]*s8MfmC]F2/C]=)1s*W]&ecEp3rpP@~> !J^LLhug+]MLkYS"c@20Q`uL`huMZrhT=RRg\K\+ht#\*hr*?%Y^p_6NP=9+X)r2qhVN*drndZl rn[scJT#Uh^>@^`D>i<%^OL-IY\e78i,*>=IW'P6rSS!fJT#Uh^u4-fD>rGs^56fKLW08Ns)%eo s)%bns)%bns)%bn$aP>%F,duni2h$;D>)lfhoX`Dhu`&(s8MljD>sA:s,uO&i9$4&rqZV3qt^;0 rqZm"P31]\k*#cDqYk@3qYk@2q?$\[k5O9>eqX1qJ,~> !M')ckl[g_Km`cD"bg]#PHB_Tl/h-Nk5aW>kj[ipkRY.UEHRD`kif9pDf=k'Df>X=s)7o#$+GS- Fcj]-k\kDklo%cEc[,_rosH$s69Q%rosH$ rosH$rojg#KlM6ta6DioG&MAMl0bMMrqc\6qtgA3rqcs#W:&p7 m\p0bqu1O6qu1O5qZ?ermf)GOigg#BJ,~> !H7f3eH2QHM#2`-LRVhoMN#3\e`P?\d`^#e=+nhhgGJ' p%`D&o`tMEhpp97I/j3=q.p!&#QK2/e^`Q)s8M]kC]3r+C] !J^LLhZB_UMYi#1M4J8$N/kihhrW\9h"]\*hX]P(hRMAAhYZ41D7SO(hT=RRhO<='kE>lEp\A\* pBU_]kMP1[P5kOUq/--*#QKtMhr!U[s8McmD>j5/D>s82s,uREhZ;;_rptX~> !M')cklROXL&6<'KUH8cLPa*bl/h*Mk4n*>kjms(/ q?R&!n*0**W;lknq/?9/#QLakl07Z8s8MlpDuKP4DuTS7s/>DcklKe6rqCp~> !H7f3e,l6APl-=AM4Cf-P(UH[e,[t\dK%\=d/VMfdK%bee,[t.dK%\keGjdds*WbSeDP`SoC<.dI,NN(i-bRrncJi=i;V4,b&@:JJ,~> !J^LLh?'AMQMcUEMk724Q%[&dhWN\pgs"OQh"KRphRMAAg\Te,D7SNFh#Q2th?)l's7>mgs,uR% hWL(%oCW@gP3:]YkE>l:o`G/VkPj<=eqX1qJ,~> !M')ckQ74QP5L"DM kjPJMoCrRjW:/s6n#69Xp]CJon,DMOigg#BJ,~> !H7f3dfGg7q#:DpN4c^M!7L/[s3UJco?dE]rQt>epX&NZ!7LMg!7K'[as*WeSe)>]SoBub\I,Y(R!Qo?[msk~> !J^LLh#WuDq#:DrNl/E`l.l!pGgIoCE4e P3C`Xk`Yu;o*>;YkhY(YP5k.F!rnGIrnRV+LApdp~> !M')ck5ghHq#:DnM9*6jkiVKuqW@J4n`Ki4n`KE*b3&`en`KZ1s)5I2al\uR!qQBYp':VrnE9!(W;lJ_!ro4groX=ASGr85~> !H7f3dKQM0Nf8mQr.kB3]!p)fdHf0XcbRm-dIbiedEU& !J^LLh$'jBOH,l.t1[P4S;7#Nq97h;.=YoCMGQkE>*/h#Z)]rptX~> !M')ck67lFMi!7Er.P0-a1(43k,.5?k4Ig:k0<#fk5FHCk4[p:k-*qJk02rek*P64n>Q*Qo`sra nE9!(W;#oV#OeV\kND?5p[e%Zn#5aTk5jS4rqCp~> !H7e0dJqRkcN)>cdEBo3dJ;.ldJqSech#N]ci)5cdJ)"Pd0&.]I*M?H$-dkUgX4F'i-`fBjpB:[ i7lZ,gYdJ(p#ZA$I,NcYd/hC.rpP@~> !J^KIh#H-,g&Tn$grnIIh"f^-h#H.&g@O(sgATe$h"TQfg]QX#P1fNp$/(L)jP8POkE=Nklj;@. kN(FRjQD]Zp$;e6P3:p*g]>u\rptX~> !M'(_k,%25k5XQ@joFN@k5XQ3k5XQ@joFN@k5XQ3k5OJCk4@^2k4Rj+k5OJ*joau=W9!XB$08&R m,mHsn#5=?nd4BUn*K3!m-gn6p$r4GW:0*PjoOJ3rqCp~> !H7e-d.#B5d,WH'd+cqGc[jI$ciMhTo6^Sog&97ug"c1H!SlB,ciMhTo6^Sog&97ub&@:JJ,~> !J^KFg[NqKgZ."=gY:K]g4A#:gB$>gB$ !M'([jo=DNjo=E>jT+@mjalO"jT4]7o;D]Wli#oGlg=;B!U]4OjT4]7o;D]Wli#oGigg#BJ,~> !H7dbc[jDnc[jF?cN)hnirIs5cN)hnirIs5cN)hnirIs6cN21,rpP@~> !J^K&g4@t/g4@uUg&U:,l2]uDg&U:,l2]uDg&U:,l2]uEg&]cZrptX~> !M'(=jalNEjalOkjT+`?nGr"SjT+`?nGr"SjT+`?nGr"TjT4A2rqCp~> !H7dbc@O8lc@O9Qc2l(+rpP@~> !J^K&fn%h-fn%hgf`BZYrptX~> !M'(=jFQBCjFQC(j8n81rqCp~> !,mFFJVer7JVgpo!,ql*J,~> !/?&rJY%FaJY'ED!/CLEJ,~> !1\VHJ[9p6J[;nn!1a&_J,~> !H7f5mt&9*^k':P^r!ncmfCRLrpP@~> !J^LNo7>>@dXfhtd_aH2o)[EsrptX~> !M')epOUtJfR_\+fYZ;>pAs9DrqCp~> "E4,)n%aMS^AeH;r;$*]q>C5Cs+130rrp4 "GZgFo?r3i^AeH;rVH?cqYgDEs+130rrpjNoCLOfrptX~> "J#DapXk&s^AeH;rVZQir;HVGs+130rrq'Tp\3[;rqCp~> "`O5*n%esSmt'rEmfDtMrq?Hbn\=MtnFH8Hp\"+Hq "bupGo@!Yio7?MMo)\OXrqQTgotU)'o_&"Tq=sXTq==X[pAXjgp@X".iq!?%s7>j5LApdp~> "e>MbpXoLspOW(UpAt'brqc`lpqQP.q"ad`qtg-`q=apbq>U6lq=oO8iqEW/s7c9ISGr85~> "`O5*n%esSmt'rFmfN%Tqu6Tsqt]d0mfDtMrq?HbnbDPZnFcYVs8W&op$hkI!qH*`rr<#t"8MQZ n:C&jmfgN,n*eD;rpP@~> "bupGo@!Yio7?MNo)eU]r;Q]tr;-*6o)\OXrqQTgp%\+bo_A=^s8W&pq"4IT!qlEfrr<#t"8_ca oRZVro**SBoCLOfrptX~> "e>MbpXoLspOW(VpB(-frVlfurVZH "`O5*n%et_mf3@Rmf3@#mf3@QmfL,+R,m];Zl9#*n,E?WmfDtSqYpTln^Hq.nbN(]rrW)nnbV\U nFc_VrrW,knGVeVnbMt[!rM]]]C,djoD\IboC93V"i10,n&fSJmsk~> "bupGo@!Zuo)JdVo)Jd'o)JdUo)c\6RcO&A[i>D.oD\c[o)\O\qYpTmp!`L6p%nUcrrW,pp%n7] o_AC^rrW/oo_n@^p%nI`!rVic]CQ'rpAXjgp@Yfa"k*GBo@AZqo7-~> "e>MbpXoN*pAb3ZpAb3+pAb3YpB&4@S`KMH\f:_1p\t2_pAt'eqYpTops\s=q#(*irrW/sq"j^d q"jsdrrW/qq#0pfq#'pe!r`#k]Cu@$q>U6lq=q>k"k`kLpYq_BpOE~> "`O5*n%et_mf3@Rmf3@#mf3@1mf>2@ipZmHSF6INq#:?eeF*G.q>1*lq=4@N!V6*_rrMuerU0aZ p&>'en\+AmnbN(]rrW)nn[7fh_#Nllb&@:JJ,~> "bupGo@!Zuo)JdVo)Jd'o)Jd5o)UYHiq*0LSFZaUq#:?heFN_6qYL3mqXsaW!VQ?crrN#irUU$a p&>'goY'htp%nUcrrW,posOApdf8q1eqX1qJ,~> "e>MbpXoN*pAb3ZpAb3+pAb39pAm(NiqNHPSG*$[q#:?jeFs"=r;-Eor:p0`!VuZhrrN&nrV$'ipq?D'q#(*irrW/sppKi"f`1^?igg#BJ,~> #&j>+n%etlrW!!(/Z.e$!!)?R!!)ob!WX#'rU0^dcgLi6rU0^db3o?:lKms>!;Q$^s.&NXqtU0k qpb'7p%\Oep&"1Yp&4^d!WD]imf<7WrrMi_^[D3nq>1*lq=1o^"i10,n&fSJmsk~> #)<$Ho@![1rW!!+4jrTd!!)?V!!)of!<>+Wo)Jd:o)Jdho)Jd5o)T-bm.12Wq"+LbSFZaYq#:?l eFN\8q#:?hqssj`rV?HorV6?_!;uKh!Vl<%o)\O\qYpTmosXGqdf8q1eqX1qJ,~> #+YVcpXoN?rW!!1;X*H?!!)?Z!!)oj!<@KEpAb3>pAb3lpAb39pAkQjm.UJ[q"OdfSG*$^q#:?m eFrt>q#:?jqtC-frqZQprqcTf!<)Qi!;jM)!VlThrrN&m[eBsXs7c9ISGr85~> $ubt1n%etl!:TC?UC6>T!!)?R!!)ob!W\6RrU0^dcgLi6rU0^db3o<1lgFfRq!\4^SF?1OeF*D7 q#:?kqsOOZp\t6frU9@X!W)?$mf<%UrrD`#mfgN,n*eD;rpP@~> %#4ZNo@![1!;#gFKG`tF!!)?V!!)of!WYrVrUU!hcgq,:rUU!hb4>T5lgk)Vq"+LbSFcISeFN\< q#:?lqssg`p\t6hrU]X\!W2N(o)SR\rrDi&o**SBoCLOfrptX~> %%R7ipXoN?!;H6H:g<2Y!!)?Z!!)oj!WX=drV$9lch@D>rV$9lb4bl9lh:AZq"OdfSG2aWeFrtA q#:?mqtC*fp\t6jrV,p`!W;`-pAk'brrDo(pBB4Lp\3[;rqCp~> #B0G,n%etl!<2F-mK)eFOWO]cf'i(U3!U(7n*f[l('d4an*^8B(6+Qh!s%[LV>fou!:TC9@1WJk_=-gmZ7H1uOLm4P*23B#"Hac/37e)t!!)f_#4-:C#ZB^Or;cld .KGJL"YIU[n*G!-#ZB^Omf8%[!Un?*$O9&Qn*^7,'a\+.n*fU^'F7UsqsO]h-j:WRn,37bmg]>X * #DW-Io@![1!<2R1n,i4PD\ECQmITqN-j1QQoCMEW$k-J2oCDtI$L7W^&F'Vgno#0I;!mlGn6-,2 I/s09!s%X$g]$db!;#g67g]DbkO\9FN#r0N^6TrG/(4%\no#0I;!n8R!!)fc#4QXI#ug$Yr;clh .KGPO"YRdcoC-c7#ug$Yo)OOb!V=c3$O9,WoCDs7'ae44oCMHl'F@_$qssun.0UcWoDJ[fo*tb^ *X+18oCMHl'F@_$oDJ[coD\c[oCi46oCi4]o)SU\rrDlnoCDn]otU(ur:p9lr3l2#df8q1eqX1q J,~> #Ft_dpXoN?!<2^5kQpqQ<"':Wo_8*9*j)u4C6L"7=nPfo-EV08)!!)fg#5!!O#up3ar;cll .KGVQ"YRpkp[iPA#up3apAg'i!Vb/<$jT8]p\+ZA'ae::p\4<%'F@b(qtC8u.KplZp\b*jpC71d *X+1 -u\qMn%etl!:TC?UC?V))TV-',4FtHKBM-An*dM!c/s$pn*^8FX#BtG&B6$b]c+rVN[!r\Zl73O EWH"*,QR;g''8TN!:T@gT&f4,)Xm+p+i`lP"=2%SY79sh]c+rVN["Jk!!)f_#^Seej'#p\mf<=T .KEAtj`rWMms7:Mj'#p\mf68?n*_X/kM^)Sn*^6Gg=eu6n*bQge`0hBqsOb'U$0s2n*^8RmgoIs f&_04n*bQge`0hBn*^8On,E?Wmf<7[rrDrGn+QeYmfE+[q>UKop&4=Zqt'gfo"XYes0hA"_#Nll b&@:JJ,~> .#.Wjo@![1!;#gFKH0T-6egj7rf]QILqst%+V!QZ=oCDtZo+1n# g$*i>oCI>rf]QILoCDtWoD\c[o)S^`rrDuHoCi4]o)\Xbq>UKoq#0dar:BpgotU+ls0hM&df8q1 eqX1qJ,~> .%L50pXoN?!;H6H:Lj,XFQqd9XS;GmbOj"?p\-.]mF3&`p\+[^,L$/]&3./n2g"UKpqYg-grU^$hq7l[ts0hY*f`1^? igg#BJ,~> #&j>+n%etlr;[92ZL9lVn*fQGn*`&PbPglO0rOL/kQ^ME!:T(WkjRt$ZL9lVn*fQGn*`'2n*fH? qsOain*dA8n*^8RmhY9on*^7tn*fZEb4"fe!q5S>XRGWD"n_6h*Qmj>fbX&F!<)?u!8d25jok/A *Qmj>fbX&F!8%)9&`sermf:W$n&u^=miBR>n(AKRmfFGcec"q:!;l3r!8d25jok/A*Qmj>fbX&F !;Q$^s.&NXp%\Oep!iF1qtU0kqtog_o(r1^!W)Bcmf<%QrrN,i^[Lmr[dOC8s6oF!DuT3U~> #)<$Ho@![1r;[97g%,^6oCM5SoCEBSg&:La%-$mMi=,>L!;#+Znal8^jmruBoCM5SoCECMoCLrA qst$moCHm@oCDtZo+pa$oCDtHoCMGOlLXW:"7u*oj7Dm-$Mj5LApdp~> #+YVcpXoN?r;[9\m.UbRp\3&bp\+lkk5G#r#4M<\X#'ME!;EERp\4(dnFm1Vp\3&bp\+m\p\1]g qtC21^!<)X(!9X%Mm0*1X *ms`Vi>21^!8dSH&a^;,pAi_;pX:)UpE%`VpYcnbpAu=ph#6sI!;lL%!9X%Mm0*1X*ms`Vi>21^ !;QrV6BmrVQC'g!W;clpAk'^rrN,o^\@I%[eBsXs7c9ISGr85~> %WD13n%etl!:TC6ASpl>r;[3+n*f(7*>!\gmfhqSmgT %YjlPo@![1!;#g526ZTQr;[fm_rUU!hrUU*koCE+` !!<8no)Sa\&A1"1!!!&ko)S:OoBuhRo*#!l!!2ug#J`nD+KG&)!;l?f!<)Kk!;#dbr;Zp#oCDtW oD\c[o)\O\qYpTmp!iR5q"Xjhq"sXao_AC^rrW/oo_n@^p%n@]!W)H'o)S^`rrDu*o**SBoCLOf rptX~> %\3IkpXoN?!;H0.(#8Nar;[0*p\1FF#r:-,pAt9f%dsSqpAjs^']/RiT(hs[r;Zp#p\+^fpAs^_ qtC^'p\3qdk4\lMpR*K8!!!)ppAk0d!!)ul!s&)i!W;uu!VH*d"T8<&!Vc #B0G,n%etl!<2Eikn)E(](k_1ap%8&0rOL/kQ^ME!:TC4%e"1rn*`0GqsO\EWUK<>!;l3b!<2Es jVZJIn*`&]h!OG.n*^8Tmf3@dmfWXZml%cHmf=BYqsOLbrU0^drU0jhn*_4HqsOLbrU1=9S`0"r !:T@Vc0t,G)=R#5f(JJ8m]%&kmf<7R!!)ud"9@oZ)qOoT!!)f_rr8JV!qH*`rr3&sq=2r&!V-!^ rrMrcqX4a[p%nXes8DfenGDYUnbN.YrrW/knA"Dlp%\OeosX;m_#Nllb&@:JJ,~> #DW-Io@![1!<2Qmjp^VdkP4Wb[L2Wt%-$mMiXGGM!;#g'+S-`/oCEFSqsst"iq)d$!;l?f!<2R" fbWoSoCEBgkOS!?oCDt\o)Jdho)o'bo*smPo)TiaqssdfrUU!hrUU-loCEsTqssdfrUUU>T]Pb, !;#d^dIZtW)Y/!VQ #Ft_dpXoN?!<2]q^F8^ZnbMnrp5g`tpBL*\pT$(DpAjs^F`-palhC,Ynb`%a#4M<\XT87m!!*#m% ];Yc!;H3l_=%'Q!;H3frV$9lrV$Epp\+p_nFlr'h>?pH!<)Wl!<)Wp!;H4-h>?pH!<)X()PcNik lCJP!7^c;e/J)U*8U;^"no,9p\+[bpAb3lpB1KjpDi#dpAb3gp\t2^pB(-frVlfurVZH>pAt'eq YpToq"j^kq"jpfs8W)rqY9s^!r2]mq#:BoqS)\(qY:'jqR6,%f`1^?igg#BJ,~> #B0G,n%etl!<)@(PsrA)_!KTkn*`$BlcTJ#n$!_UkAr!=mf<@U!`OL\rpL<0)Sk^iEUWA%)pd_j !;l3b!<)?q`?>6Mmj3bSiI:jrmf<=T!!)ud#QX>^]c+]QeT(TW!!)f_$%57flbucjmgmS?mf3@d mgB-amsRXMlbucjmf<=T'bR;+cVac3mf5o5gIH/MmsRXMlbud$mg9'`mo%6kW>"ah!<2Eh!:T@V rU1-pn*bZncKiGIn*^e0q="=_RdU:IoD\IboC:5s!qH*`rr3&sq=47K#Oq #DW-Io@![1!<)L,3hgpieFC[^oCH#-n[Jqto3arFi^.&Eo)Sd]!Z&9srppSF7b$tNhah\Wo7'9Yn&SH,o*PKho2Np#X:t3s!<2Ql!;#d^ rUUEtoCIH%ddP7UoCEL'gYo_J(\p%J:] r;QlurV,ruo)\O\qYpTmosXGqdf8q1eqX1qJ,~> #Ft_dpXoN?!<)X6(tL`hjRKl=p\/jgnrP3mpF(:SeJbmjpAjs^p'ZG%rq?j_F6)l(1\^VnI.,W* !;lKj!<)X$9q).WpBAh7cRAkgpAk0d!!)ul#QXVn3cjBP]JKQ]!!)fg$%YXto?1,-pCPaOpAb3l pBpuqpOPlco?1,-pAk0d'bRJ8el2YDpAdkHj%==cpOPlco?1,4pBgoppJoN/XqUR(!<2]p!;H3f rV$^#p\050eaps`p\,6Hq=jmgReHjXq>U6lq=rA3!r2]lrr3&ur:p']#Pe,kqtp6cq"aXdq"amf r;Zfr!;aD'!VlThrrN&m[eBsXs7c9ISGr85~> #B0G,n%etl!<)@(h$ibC-j:N=n*dqI!ucj]n*P?6#=727mf<@U!mh!frU1/c-j:N=n*f[f%LH;= qsOLbr9k&;!:TC'/cu\p!:T@VrU0^drU0^drpKu\-j:N=rpKgeq!S[ZIN8S@SaZ#p$NTYa!<)?o !:TCDIN8S@SaZ"IrU1Js+9NU?!:T@VJ/&AnkjS!-IN8S@Sc8'b!:TBI,m5Wtn*^8UmfNRYmf<=T% 05kcm=$&Z.@oqrHj]rNn,E?jCmg8LRo_87\r:fgP]^Gplq>:0k!rMf`[I4:7s 6oF!DuT3U~> #DW-Io@![1!<)L,aW'f"*rppTiIN8M>T(DRBT)S<]!;Q-pnUMYa.\QD)IL?/Io)Sa\ $NTeinUMYa.\QD)!<)L(V]Z'^MZEA?!.u!n>O1nPnUMYa.\Qe4$39\hT-XUhYOh>crpp3loCDt\ o*k]koC7>P"Y-2:o6q&IqXa^dJb.mm!VQ0cq#U3^jn&NE#P\&lrVcQcoXsbsp%nUcrrW,posOAp df8q1eqX1qJ,~> #Ft_dpXoN?!<)X0Eb4iQ&dCG:p\04S#!(E3pZ4aI'RfZKpAk3e!_`[Wrq?lnA.f).`V9,h4p2q- !;lKj!<)X$obRW&pO;o"Y6ABpOEYPp\+[d pBpuqp[s+Z"Y6ABpAk0d'riDZ*K:'npAfm^$=*&op[s+Z"Y6AIpBgoppS&u;.^JgC!<2]p!;H3f rV$a$p\4?4*X+'hp\01H!;cHhs+0q(pAt'brqc`lpuM/Sq"jmdrr2fj]CuC%r;HWp!r`&l[J'jW s7c9ISGr85~> "`O5*n%esSn*'3?!8$Z?jmM^.rr7Q "bupGo@!YioB>cG!8$fCl14E:rr7Q@Jb/@%!VQ0cq#U3^[.=ILs7>j5LApdp~> "e>MbpXoLspZV>O!8$rGm.U#Err7QDJbSX-!VlKiqZ6Nf[.aaVs7c9ISGr85~> "`O5*n%esSn*'3?!64L,s+0Win!ibL_#Nllb&@:JJ,~> "bupGo@!YioB>cG!64X0s+0cmo:,=Tdf8q1eqX1qJ,~> "e>MbpXoLspZV>O!64d4s+0oqpRCm\f`1^?igg#BJ,~> "`O5*n%esSn*'3?!64L,s+0Win!ibL_#Nllb&@:JJ,~> "bupGo@!YioB>cG!64X0s+0cmo:,=Tdf8q1eqX1qJ,~> "e>MbpXoLspZV>O!64d4s+0oqpRCm\f`1^?igg#BJ,~> "`O5*n%esSn#Z!Ws+0Win!ibL_#Nllb&@:JJ,~> "bupGo@!Yio;qQ_s+0cmo:,=Tdf8q1eqX1qJ,~> "e>MbpXoLspT4,gs+0oqpRCm\f`1^?igg#BJ,~> "`O5*n%esSn#Z!Ws+0Win!ibL_#Nllb&@:JJ,~> "bupGo@!Yio;qQ_s+0cmo:,=Tdf8q1eqX1qJ,~> "e>MbpXoLspT4,gs+0oqpRCm\f`1^?igg#BJ,~> "`O5*n%esSn#Z!Ws+0Win!ibL_#Nllb&@:JJ,~> "bupGo@!Yio;qQ_s+0cmo:,=Tdf8q1eqX1qJ,~> "e>MbpXoLspT4,gs+0oqpRCm\f`1^?igg#BJ,~> "`O5*n%esSn#Z!Ws+0Win!ibO_#Nllb&>MJmsk~> "bupGo@!Yio;qQ_s+0cmo:,=Wdf8q1eqVc,o7-~> "e>MbpXoLspT4,gs+0oqpRCm_f`1^?igeZRpOE~> "`O5*n%etQmf3?=n(R70s+0Win!ibO_#Nllb&@=[msk~> "bupGo@!Zgo)JcAo@ig8s+0cmo:,=Wdf8q1eqX5)o7-~> "e>MbpXoMqpAb2EpY,B@s+0oqpRCm_f`1^?igg&KpOE~> $#fY.n%etl!#Fu#mf3@6mfEJ)mJZJR!7^K:!<)?hhbXUmGQ.%7X?Hn% #_r6Jo@![1!''oJ!!(@:!<>+Wo)Jd?oDSago*")N$57^ao*)9]#SC.pqXa[dr::?:6OF]soCL9p $49,GqXa[dq=>&u56qj&hXg?A56qj&hX0q6s+0cmo:,=Wdf8q1eqX5)o7-~> #b:hepXoN?!.4Y!<@KEpAb3Cp\k0kpB9YW$57dcpB@fe#SC1uqY0shr:^WA6jjm"p\3*' $49/KqY0shq=b?'5R7s(iqN2P5R7s(ipHL>s+0oqpRCm_f`1^?igg&KpOE~> $#fY.n%etl!00_Nmf3@6mfEKL9E";Z!7L<9!<)?q;H_l5=-W1B6*')#@m9\V!!)ud%Ef`ck0mQ' mk&bAi,gUHmf3@`mgVR`jP"*-n*`QCjP"*-mI1&SJa\0YS*pWus6oF!Du]k+J,~> $&8?Ko@![1!)8RRo)Jd:o)\ndOT"bN!7LH=!<)Ku;d88@=dSaO6ETJ.AO#t]!!)uh%F6&kl.0,2 o.G=LjE<3Oo)Jddo*n$gkh]l8oCG;Nkh]l8mIU>WJb+HaS+?p6s7>j5LB%;FJ,~> $(UqfpXoN?!$BG`pAb3>pAt=:bl.89!7LTA!<)X$<*\SJ>+,-Z6a5n9B0c7d!!)ul%FQ8qmFkn@ pF^gVk]ecUpAb3hpC0Kolf)PBp\.%Zlf)PBmJ$V[JbO`iS+d3@s7c9ISH&W`J,~> $?,b/n%etl!:2eDrpKphn*^8TmgT9cmf9XE"r`T80aA\lrpLM_*s=RSn*^7V,QdE7n*f\%*!]dH mfNRV4/MrF'`d^kiaEB"/A^fD!4"-[)N_Qc#99H:mf\ap"?>!3mf3@Zmf3@dmfa*Vn*f*mqsORJ #Pd`f!<)?e;j7+I"UO>\n)t&Pmf3@\mfDPUqsORJ#OV!Zs+0Win!ibO_#Nllb&@=[msk~> $ASHLo@![1!:(?Rrpp3loCDt\o-=>-o)O^k"=V!M+p9FEoCMNk'*qG%oCDs6(]j4.oCMKf&IjBi o)f!Y'\iWY*<>^&f1-/O5j.b1!/r!&.)(uk"=qploC?f5#Z0pfo)Jd^o)Jdho*#N^oCLs%qssjQ #Pdlj!<)Ki $Cq%gpXoN?!7r.Vrq?Kpp\+[dpETb5pAf(G#X%-j(C!4jp\42W$kI@Mp\+Yt%fuD)p\4#O$lZGK pB(EI)X[Ou*<>j.__VK)>k7X`!,`MW4QCT$#"%SKp[M2k%rq7@pAb3bpAb3lpB:ugp\3f2qtC-Y #Pe#n!<)Wm &T@L6n%etl!:S\UjmVXJ#&!!)]\!MqpUmfB7ImI1&SJa\0YS*pWus6oF!Du]k+J,~> &Vg2So@![1!;")Pnal>PoCDt\o-=>-o)MS>mZ%NMg$XkAoCI/ngZ`0IoCDr]iq)aAoCHi`g#m8M o-=>-_]nXBo)SCR,e<=-F?oHh!)M;9NX&J8mZ&@[o63RVl!dZlo)Jd^o)Jdho*#K]oCLrPqssie 4o"UK!<)Ku(4R/.;<.9>:j_WJb+HaS+?p6s7>j5LB%;FJ,~> &Y/dnpXoN?!;D7Sp@n:]p\+[dpETb5pAfR(lqn^Nkj2/_p\-Ugl/F7qp\+ZAmJ$>Tp\-@\l.eZ' pETb5LL'WJpAjs^6I#/a4.Z-?!.3qr;&auJlqqTnpG[3Yi[h21pAb3bpAb3lpB:rfp\3e]qtC,k 55=jP!<)X$(4d;0;WmfK;17ZlHVsS4!!)]d!NJ?\pAq9XmJ$V[JbO`iS+d3@s7c9ISH&W`J,~> &T@L6n%etl!:TBY2"0l5n*^8Tmhl,omf:Gtn*U1un*fZGn*`?>n*fQGn*^7hrpKsin*`*0q!SFf n*dA8n*^8RmhY9on*^7tn*fZEb4"fe!q5S>XRGWD"n1m[!<)?i:L)f7>6Olm!l?&&q!S1_rU10t ?/FF@;Xa)**<6'[fD+e7!;>j__B6u!mfL?JbO+cts+0Win!ibO_#Nllb&@=[msk~> &Vg2So@![1!;#f#EqAl&oCDt\o,.Q"o)S%HoC)bFoCMGRoCEIPoCM5SoCDtFrpp6moCEFMq""^j oCHm@oCDtZo+pa$oCDtHoCMGOlLXW:"7u*oj7Dm-$LdQd!<)Km:gN,A>Qjur!lZ8-q""IcrUUI# ?K0sK;tKV6*WQ0]gA(7>!;?!c`?3G(o)clQcgC?'s+0cmo:,=Wdf8q1eqX5)o7-~> &Y/dnpXoN?!;H4C\+fUsp\+[dpDEu*pAjgZpZ_bMp\3q[p\+p]p\3&bp\+[Yrq?Nqp\+p]q"G!n p\-GPp\+[bpD2d9p\+[Zp\3qQoCr"E$MX9"n+ZS(.e!*3!<)Wq;.&ML?3L3#!m)S5q"FagrV$a' @-6TV<;6.C*WQ0]hY?gF!;?-gaWT%0pB&GZdd?f.s+0oqpRCm_f`1^?igg&KpOE~> &T@L6n%etl!:TCE &Vg2So@![1!;#gO+ij0SoCDt\o)f!ao)Sa\!!)uh!s%ra!rW*$!V>m_rUU-loCE"Qq"#*uoCMGp a7B<&o=['i!!!&ko)Sa\!!)uh!s%ra!rW*!!V5gaZ01]YrUU3N9aMS^(]Eq,[N30Xo)Jdho*l/h oCLrLoCG7ljQ(JMq""Icp[\Hp*PhUE!k',bm.:5VJb+HaS+?p6s7>j5LB%;FJ,~> &Y/dnpXoN?!;H6Q'B]#hp\+[dpB(EipAk0d!!)ul!s&)i!W #B0G,n%etl!<2EsjVZJIn*^PAn*fQBn*^8Tmf3@dmfWXZml%cSmf3@dmfWXZmkps:mf3@emgeFr e,\t+1Oe-Hli?MC!<)?d!<)?h!:TA7]'f"jjaW3h^=rST"P)Z'P>qPM!hC1Bp?qt]rU11Ths^$j% .EWikjS!(#Pd`f!;Q!cSJ])[>5mslSJ]*,n,E? #DW-Io@![1!<2R"fbWoSoCE%QoCM5IoCDt\o)Jdho)o'bo*sm[o)Jdho)o'bo*s[Ro)Jdio+'Fh li?YK%&`:Zm/ZbL!<)Kh!<)Kl!;#dkkO.pFfl;rN`p3Qp"Ng-(Q<+"V!h^FIp@A7arUUIYj7Dm%% .j&qm.9i7#Pdlj!;Q-gTGbSe>Q43qTGbT3oD\c@o7?M&o*EeEoCLOfs8V\@~> #Ft_dpXoN?!<2^&VaC"Up\+^^p\3#7p\+[dpAb3lpB1KjpBU6cpAb3lpB1KjpBU0^pAb3mpC=)f oDnX[#/Ta%g]7*C!<)Wl!<)Wp!;H3mna?,T[qLa$cL_&0"N^<2Qrj:]!i$XPp@eOerV$a^kP+`5% JTT%nFu\G#Pe#n!;Q9kUD_%o?2jR"UD_&:p\t2DpOW(.pB]FOp\3[;s8VhD~> #B0G,n%etl!<)?q`?>6Mmpo,Rid:apmf<=T!!)ud$NTYa]c+]QeT('H!<)?k!:TBd(rtp'qsOLb rU137+TV!"-&:dEIfSs+!<)?d!<)?l!:TBi)Sk^iEW5D,!;#XZ!<)?n?.J,6*6Ra=KH/,2mf3@c mf3@dmgYIchqqR8n*_lQi8A`3rpKger9jUcr9jdhn*boLao(T/KH/,!n,E? #DW-Io@![1!<)KuN`6#Mo,ESUgJ\+Do)Sa\!!)uh$NTeiH:HESb#\-*!<)Ko!;#f!5MP@>qssdf rUUJY;ulO]$F93U=oe0c!<)Kh!<)Kp!;#f.7b$tNrpp*ir:9mgr::'loCI\Wbl%&6L)nM'oD\c@o7?M&o*EeEoCLOf s8V\@~> #Ft_dpXoN?!<)X$9q).WpC4J%cQiMbpAk0d!!)ul$NTqq3cjBP]JKpAb3k pAb3lpC3KskN?)Np\-=fkid:Hrq?Bmr:^0kr:^?pp\0Lbci!M=M&jq-p\t2DpOW(.pB]FOp\3[; s8VhD~> #B0G,n%etl!;u9oFo_""iB[\[C&m_k!<)?d!<)?d!<2ElSL=X[J+)h+rU0skn*f\")$aOGmf3@c mgO@>n*eUU!teuBn*^8Tmf3@dmf3@emf]10"WDmimf3@\n,*1cmf\gk#slE,n,!(ejR;O;rpTab rpL8='+%Iln*e@]#REW:rpKgerpTabrpKmgn*g,R!T`_H!!)*Jn,E? #DW-Io@![1!;uEs2urRAcRf5T(DORrUU6ooCMKc%h43ho)Jdg o*dSYoCJh#!?-UkoCDt\o)Jdho*>?foC@>N""Bi@o)Jd`oDAUgo)t?s$:;]1oD8Likk"BGrq$$f rppPC'+.RroCL0i#miiArpp*irq$$frpp0koCMhZ!U0.P!!)6NoD\c@o7?M&o*EeEoCLOfs8V\@~> #Ft_dpXoN?!<)X$obRW&pS/c3._#KQpAk0d!!)ul$NTqqo4/I<42psg!<)Ws!;H6S:'qrHqtC'j rV$co(BF4(IhMl2YlOOm!<)Wl!<)Wt!;H6ZA.f).`W#T3!;6*a!<;crQl-5uaStr2!!DQ]pAk3e quH`j%!iQo; "`O5*n%esSn#Z!Ws+0Win!ibO_#Nllb&@=[msk~> "bupGo@!Yio;qQ_s+0cmo:,=Wdf8q1eqX5)o7-~> "e>MbpXoLspT4,gs+0oqpRCm_f`1^?igg&KpOE~> "`O5*n%esSn#Z!Ws+0Win!ibO_#Nllb&@=[msk~> "bupGo@!Yio;qQ_s+0cmo:,=Wdf8q1eqX5)o7-~> "e>MbpXoLspT4,gs+0oqpRCm_f`1^?igg&KpOE~> "`O5*n%esdn!O-+mt'qsmg-`/n*eD;s8VP<~> "bupGo@!Z%o9fQ/o7?M&o*EeEoCLOfs8V\@~> "e>MbpXoM/pR(u3pOW(.pB]FOp\3[;s8VhD~> "`O5*n%esdn!O-+mt'qsmg-`/n*eD;s8VP<~> "bupGo@!Z%o9fQ/o7?M&o*EeEoCLOfs8V\@~> "e>MbpXoM/pR(u3pOW(.pB]FOp\3[;s8VhD~> ")n#(mt&9*^k':P^qd_js6oF!Du]k+J,~> ",?^Eo7>>@dXfhtd_O99s7>j5LB%;FJ,~> ".];`pOUtJfR_\+fYH,Es7c9ISH&W`J,~> !H7f5mt(Lis+13$s2"a7mf^dOs8VP<~> !J^LNo7?pms+13$s2"a7o*!X!s8V\@~> !M')epOW?qs+13$s2"a7pB9KGs8VhD~> !H7f5mt&9*^k':P^r!ncmf^dOs8VP<~> !J^LNo7>>@dXfhtd_aH2o*!X!s8V\@~> !M')epOUtJfR_\+fYZ;>pB9KGs8VhD~> "E4,)n%aMSJcC<$JcEUe#f-K/n&fSKs6kI~> "GZgFo?r3iJcC<$JcEUe#h&bEo@AZrs7:a~> "J#DapXk&sJcC<$JcEUe#h]1OpYq_Cs7_$~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSn(-q-!.jS=!8[)D!/g4F!8[)D!4)&!_#Nllb&@=[msk~> "bupGo@!Yio@EL5!.j_A!8[5H!/g@J!8[5H!4)2%df8q1eqX5)o7-~> "e>MbpXoLspX]'=!.jkE!8[AL!/gLN!8[AL!4)>)f`1^?igg&KpOE~> "`O5*n%esSn(-q-!.jS=!8[)D!/g4F!8[)D!4)&!_#Nllb&@=[msk~> "bupGo@!Yio@EL5!.j_A!8[5H!/g@J!8[5H!4)2%df8q1eqX5)o7-~> "e>MbpXoLspX]'=!.jkE!8[AL!/gLN!8[AL!4)>)f`1^?igg&KpOE~> "`O5*n%esSn+#lC!;c-a!;5d\!0$@H!;Gp^!8[)D!2/cai)L9j0VnF2!!)ud!!(jD!!'=n#f-K/ n&fSKs6kI~> "bupGo@!YioC;GK!;c9e!;5p`!0$LL!;H'b!8[5H!2/oeb "e>MbpXoLsp[S"S!;cEi!;6'd!0$XP!;H3f!8[AL!20&iX"a_f=6K;O!!)ul!!(jL!!'>!#h]1O pYq_Cs7_$~> "`O5*n%esSn*]WE!;Gp^!;5d\!0$@H!;Gp^!8[)D!28idk8eNqkc>Dpp[8(^rU0^dh "bupGo@!YioBu2M!;H'b!;5p`!0$LL!;H'b!8[5H!28uhh?oJ1k`cG1p[\@brUU!hh=CUHZL\@M s7>j5LB%;FJ,~> "e>MbpXoLsp[7bU!;H3f!;6'd!0$XP!;H3f!8[AL!29,lX:hf-icQ:/p\+XfrV$9lh=gmLZM+XW s7c9ISH&W`J,~> "`O5*n%esSn*]WN!:TCEHklrShs^LDs6g6Q@1WJk_=-gmN:.\cn*^7^-j(K\n*^7R* "bupGo@!YioBu2V!;#gN?476Kn+6JXs76NJ7g]DbkO\9FN:RtgoCDs@)ZqY:oCDs1&IDY1oCMEW $k-J2oCDt\o+1ono)O^g""_ahoC,oi&q'bRo)V(8rUU/O54e@GrUU$ioDJ[ho+1nM&IDY1oCMEW $k-J2oCDt\o+1ono)O^g""_ahoC,oi&q'bco*EeEoCLOfs8V\@~> "e>MbpXoLsp[7b^!;H6N7L']Zp@nLcs7Zf:1Bn4lo(VkYN;"7kp\+Z*&-bJbp\+Yn$P7d\p\3i? #8Vj`p\+[dpCI?!pAf(B#"%PJpZOjG+0,C8pAl2VrV$FZT_J0\rV$ "`O5*n%esSn*]WP!:TB])9q;a..?U)rU1"(T&f4,)Xm+pN:.\cn*^6%b3Z2 "bupGo@!YioBu2X!;#el6fHujA+T9lrUU:?\aA[(5kFRIN:RtgoCDr^g[0h;oCDrMiSd12hSo4LJMiBdO2hSo4LJMiBdOMo*EeEoCLOfs8V\@~> "e>MbpXoLsp[7b`!;H4;GO "`O5*n%esSn*]WP!:TA2Vsj*<#4M!\q "bupGo@!YioBu2X!;#djiq)d#%.j&jq==aW$M3ihN:RtgoCDtIoCMGRoCDtAoCLrNoCECMoCLoL oCDt\o+1ono)S(IoC)kRo*jXMoATbDo)Sm_rUU0_!qZ!`rUU*koCDt\o+1o]oCLrNoCECMoCLoL oCDt\o+1ono)S(IoC)kRo*jXMoATbUo*EeEoCLOfs8V\@~> "e>MbpXoLsp[7b`!;H3ln+ZRW1\^VDq=b$P-MR67N;"7kp\+[Zp\3nYp\+[Vp\1dIp\+m\p\1^E p\+[dpCI?!pAjgZpZW"YpBL*\pT":fpAb6lpB:'kp\+[dpB(EipAk0d&-21npT6=IpBL*\pT$+E pAk0d&-2J!!;#sZkm@+Y#4M<\WrTI"#h]1OpYq_Cs7_$~> "`O5*n%esSn*]WI!:T@[kl1#Q!UoIWrU1$G7h5S"!UoIWN:-iKn*^8TmfWXZmf;SNmfW[[mfhqS mfNUZmf<=T!s%fY!<)?h!:T@[kl1#N!28i^.)#TJ"R60Zmf<=T!s%fY!<)?e!9jFN"9Iu["mGsS !s.lZ!<)?g!:T@VrU0jhn*^GDrpKgeZL8(7s6oF!Du]k+J,~> "bupGo@!YioBu2X!;#d_o(2JC!V>m_rUU<.2[TNb!V>m_N:R,OoCDt\o+M,qo)S@QoC2nRo)\FR oC2kQo)Sa\!s%ra!<)Kp!;#d_o(2JC!28ub$L%H["R$3ao)Sa\!s%ra!<)L#!:oaQnH/=R!V5jR nH&7Q!<)Kk!;#d^rUU9poCE"RoCMJPZL\@Ms7>j5LB%;FJ,~> "e>MbpXoLsp[7bX!;H3grq?Qa"o%`krV$Sc.L#kQ!r)EhN;!DSp\+[dpB(EipAk3e"RcNgpAt9f "RcNgpAk0d!s&)i!<)Wo!;H3grq?H^!29,f"nMWd"N2kcpAk0d!s&)i!<)Wl!<2]qmfiI[!WMfr mfiI[!<)Wo!;H3frV$Bop\+^fpAs^_ZM+XWs7c9ISH&W`J,~> "`O5*n%esSn*]WP!:TA2Vsj*<#4M!]rU1"JIba>W!:T@VN:-iKn*^8Tmi)8qmf9?Un)suEmkLa/ n)suEmg.qAn*9uBmf<=T#QX>^1TBj3kQ%=F!LZ+LmgR5Sn*^PAn*fQBn*^;Umhc&(n*fHEn*`!/ n*fHEn*^PAn*fQBn*^8Tmg&p^mk^s3n)sbWmg-`/n*eD;s8VP<~> "bupGo@!YioBu2X!;#djiq)d$%.j&krUU:'Vs!XIo)Sa\#QXJf%-$mMiW,\D!BcA?o*gXBoCE%QoCM5IoCE"]o,%JeoCLrMoCECM oCLrMoCE%QoCM5IoCDt\o*>?fo*jXMoATbUo*EeEoCLOfs8V\@~> "e>MbpXoLsp[7b`!;H3ln+ZRW1ACMDrV$R%_=%'Q!;H3fN;!DSp\+[dpDX,,pAj[VpT?@IpBL*\ pT$(DpAt!^pWrp7pAk0d#QXVn#4M<\XT5'h!?',[pC'9Yp\+^^p\3#7p\+^epD "`O5*n%esSn*]WQ!:TB\)U@Me-L^CIYl=(s-&:dEIfSs+!0$@K!:T@VrU1[*n*^5qcffU&n*dJ! cKB6qn*ad\jl1Xfn*^8Tmg&p^n$3nYk]Hm!mh=h%ESBZY&u>!bA5)+EHiWX(,-_(8(]YN$k]eQF n$!_UkAr!=mpo,Rid:apmf<=T#QX>^Z5_-RFTA`9#f-K/n&fSKs6kI~> "bupGo@!YioBu2Y!;#ei6fR)l@.WsrgA^[L$F93U=oe0c!0$LO!;#d^rUUs.oCDrPj5WX@oCH?W io3:4oCEoYn(Ub@oCDt\o*>?fo41AOi^Ej@o+TjcPj%=r$Jb7E)iF+=;ZQF\$/5CM(][(dj%!\P o3arFi^.&Eo,ESUgJ\+Do)Sa\#QXJfA4P\>70'Xb#h&bEo@AZrs7:a~> "e>MbpXoLsp[7ba!;H49Gja*#[eKM!m/H_b"jQ_d.00,:!0$XS!;H3frV%62p\+Z8n(&Jhp\-(\ maW5ap\,-'p!4l`p\+[dpBUcnpF:RZef+U_pCjM=Z16gs)X[:n%C>`R,QRT5"RQ-^(]\sPef;6p pF(:SeJbmjpC4J%cQiMbpAk0d#QXVn.X^^9)Z[2<#h]1OpYq_Cs7_$~> "`O5*n%esSn*]W]!:TCDGSCBKh='g<&HM:gcn5D4@K>lc!0$@K!:T@VrU1[*n*^7R*<\O^n*fXg 'F-q[n*f4$#7tVMn*^8Tmg&p^n*Y?/$!I>%mfhTI%0J5VrpM/l5mIs9!:TB^&HM:g!2^b>4l5Yr m "bupGo@!YioBu2e!;#gN>71gCn+6-m#lsSgVB,aVKE1W8!0$LO!;#d^rUUs.oCDs1&IDS.oCMET $O^2-oCL9[!um1!oCDt\o*>?foC#`d&UaYPo**0"#RFc=RYkQ mop/->OV1TcRf5 "e>MbpXoLsp[7bm!;H6L6O+)f`1^?igg&KpOE~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8V\@~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8VeC~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VnF~> "`O5*n%esSmt'qYmt'rFmfgN,n*eD;rr7K~> "bupGo@!Yio7?Lao7?MNo**SBoCLOfrr7K~> "e>MbpXoLspOW'ipOW(VpBB4Lp\3[;rr7K~> "`O5*n%esSmt'qYmt'rFmfgN,n*eD;rr7K~> "bupGo@!Yio7?Lao7?MNo**SBoCLOfrr7K~> "e>MbpXoLspOW'ipOW(VpBB4Lp\3[;rr7K~> "`O5*n%esSmt'qYmt'rFmfgN,n*eD;rr7K~> "bupGo@!Yio7?Lao7?MNo**SBoCLOfrr7K~> "e>MbpXoLspOW'ipOW(VpBB4Lp\3[;rr7K~> "`O5*n%esSn%eAl!.jV0mf3?=n+#iH!2f2g_#Nllb&@:ZJ,~> "bupGo@!Yio>'qt!.jb4o)JcAoC;DP!2f>kdf8q1eqX2(J,~> "e>MbpXoLspV?M'!.jn8pAb2Ep[RtX!2fJof`1^?igg#JJ,~> "`O5*n%esSn%eAl!.jV0mf3?=n+#iH!2f2g_#Nllb&@:ZJ,~> "bupGo@!Yio>'qt!.jb4o)JcAoC;DP!2f>kdf8q1eqX2(J,~> "e>MbpXoLspV?M'!.jn8pAb2Ep[RtX!2fJof`1^?igg#JJ,~> #B0G,n%etl!:]FW!:B4T!1E9Z`_?dI4hUd_rW)c_quH`b"ia7D$9c'!mf3@emf_W&=76-_n,<=a mfMf"!;c0^!<2EjaAE?Q5fEQg!!*#e"QD%8mf9$LrW)ocqu?^"qX4QJ('dS#rpTgdq #DW-Io@![1!:]R[!:B@X!1EE^X?$Os;<%THrW)ccquH`f"fs`h&5hHao)Jdio*!DNL%>;% u'TTVXju>s7>j5LAq4'~> #Ft_dpXoN?!:]^_!:BL\!1EQbP:QhSD".GurW)cgquH`j"d:J?)/Sg>pAb3mpB7K'[eBcqp\k0i pB&Y`!;cHf!<2]rPqE1XE:Wo#!!*#m"KDg;pAgl\rW)okqu?^:qtC6b:'VT#rV-9kq=ajhrq?Pq $F][/VY:8Hs7c9ISGrP=~> #B0G,n%etl!:]FW!:B4T!1E9Z,a-jHW=Jjp!!)i`!!)la"XK8al_tBkmg&p^n(f4-n*^7Kmf3@b mfKLL!;c-a!;c-f-(3WQO:qHZ#QX>^h'6n-mf8sJ!!)i`!QlhfmfgrKaQ6i&r9jUcq #DW-Io@![1!:]R[!:B@X!1EE^5,[Q.L`u]f!!)id!!)le"[8jHlA-V\o*>?fo>:s-oCDsSo)Jdf o)`6N!;c9e!;c9j6EfY6D(>GS#QXJf_[E(-o)PBR!!)id!Kh'mo*(O4hVKcPr:9mgq==jloCKj- T(DORVXju>s7>j5LAq4'~> #Ft_dpXoN?!:]^_!:BL\!1EQb=h=%a;eZ+'!!)ih!!)li"^/G)k>Q'kpBUcnpR2W:p\+Z[pAb3j pAu\`!;cEi!;cEn?Gc6e3d1Dp#QXVnRLdX:pAgfZ!!)ih!C4 (N9-c&-=E!n*^7^-j(K\n,37dmg\8b&-=E!n*^7^ -j(K\rpLA[*s=RSn*f[l('d4an*^8Tmfrj]n'X0#&oYeY!U^$emf3@`mf3@]mfDhXqsOXfn(&A3 rpLO$VB#h)iU?48VB#h)iU?6`3!U(7ZgRkor9jaM&)RB`mf3@]mfDeWqsOXfn(&A3rpLO$VB#h) iU?48VB#h)iU?6`3!U(7ZL7bnqX4LR2nStU"`ADMn)+ZQmf3@`mfWXZees8Bmh>c!* (P_hYo@![1!;#d^N#MjMcL^Y/-j1QQoDJ[ho+'AB$3`]XoCDs@)ZqY:oDJ[ho,uXT$3`]XoCDs@ )ZqY:oCMNk'*qG%oCMEW$k-J2oCDt\o*59eo;j>C*KeA5!Up3ho)Jddo)Jdao)\=_qsspjo (S(EtpXoN?!;H3fD@d"=kkFh-*(s"q+],p\+Z*&-bJbp\b*lpE7@0"q+],p\+Z* &-bJbp\42W$kI@Mp\3i?#8Vj`p\+[dpBL]mpP9gl/\K*t!U1!ipAb3hpAb3epAsLdqtC3npPU$H rq@*,>mh3mp@n:]>mh3mp@n<;*mh3m p@n:]>mh3mp@n<;*!qY('W'(Pkn"V'\ipNLZUpAb3hpB1KjM]COOpCmU5$P7d\p\+Yn $P7d\p\0Ia""h0spBB4Lp\3[;rr7K~> )/o?>n%etl!:T@V,g,JT%.EX2KBM-An*^8Tmgp)&jQi9Rn*^6%b3Z2a? c/s*tn*^5pc/s*tn*_QTkMLd#mfgN,n*eD;rr7K~> )2A%[o@![1!;#d^j(# o)euj&BatC'ECP[iC%ANo)M2;iC%ANo*V_jfO;,X!!)rg"#d4O!;c9j!"f>XI.@+*!P0]Vo)euj &BatC'ECP[iC%ANo)M2;iC%ANo*V_jfO;)W!!)le!M`?bo*#BcoCM;Rr:9mgq==[gV\%#Lo+V0m iSd1 )4^X!pXoN?!;H3fJa)GpB_V6)bOj"?p\+[dpCK[9o]80*p\+Z=l0;#Wp\+[dpE2fIo]80*p\+Z= l0;#Wp\-Ugl/F7qp\-.]mF3&`p\+[dpBL]mpBAb4bWEl>!pNg;r:^0kq=b!l$O8>TqtC0V=Fg;C !s!X"kPb,h!-mn\)nPeTqY(#2Fo1n8!.$9\ rV%!+GjX!"](bq!GjX!"](bq&bOj"?ZM+>!qY("cVu$,k"SDH_fc9qa!!)ih!s!X"kPb,h!-mn\ )nPe 'Q n*:/GmkLa/n)suEmf<=T"T\#[1NCUXn,E@g"fD4d!!)c^"7FWK.fJi9!!*8#qsORd#\ 'ScMVo@![1!;#d^lLXW:"7u*mPM,p+!!)id%.4Joo)S(IoC)kRo)SUX*:=1*o)S(IoC)kRo+'gP oBH\So*jXMoAL,Lo)Sa\"T\/c%$TAaoD\dk$JbRN!!)cb"7XDr@K#ft!!*G^qssjh!k%st&cgq_ oAU5No)ReAoAU5No*gi9Z1@qqrUU00+nP:*q""UWaZa/2o)d2Kg\^RD!!9S+o+D&_oCLrNoCDtA oCLrNoCEBSfs(&J!;l?hne9mVo*#0coCMMRr:9mgq==Xf!k%st&cgq_oAU5No)ReAoAU5No*gi9 \FU!Ss7>j5LB%;IJ,~> 'V,*qpXoN?!;H3foCr"D$2=/uWTO0R!!)ih%-&]/pAjgZpZW"YpAk$`*9/C?pAjgZpZW"YpBU0] pX(JbpBL*\pT$+EpAk0d"T\;k#-$b)p\t3o,OPF'!!)cf"7`u@YPn4q!!+>3qtC-l!T*bK&chCp pT6=IpAj[VpT6=IpBIVZZ1e4urV$GBB(u$"q"Fm\],@gMpB%0;mJHVZ!!1sSpC[Jpp\1dIp\+[V p\1dIp\+lkk-4R[!;lKlndOs_pAb6npAsjfr:^0kq=apj!T*bK&chCppT6=IpAj[VpT6=IpBIVZ \G$9]s7c9ISH&WbJ,~> $?,b/n%etl!:T@VrU1'nn*f(7*>!\gmf<=T#hhcZ!!!&gmf<=T!s%fY!<)?lg.)YR!!2QW!<)?g !:T@[r;Zs$n*^GDrpKpin*^8Tmfrj]n(h(d&:V[g!pZWnr9jUcp$VqH"T7]ilD>*hmfNR)$]b2S ! $ASHLo@![1!;#d^rUU?roCKgi'-F.Do)Sa\#e`/(!!!&ko)Sa\!s%ra!<)Kp]f-8u!!2]_!<)Kk !;#d`r;[3+oCE"RoCMJQoCDt\o*59eo>4$3+/d0N!pYLbr:9mgp%&4K#Q4/pl@pP\o)euZ$G??/ 'EI^qoC2nRo)S@QoC2nRo>4$3+/cI:!!)uh"<5SVo)SLU!U0jfo)cN6`qo9/!1+&*rUU^'o(2JC !qZ!`o(2JC!qZ$#8/!)CZL\%rqssiq2>QhI#OM'Rlj*I[!!)id!s"Yp]`%F9!:oaQnH/=R!:oaQ nH/=R_FP=^Vn2I*df8q1eqX5)o7-~> $Cq%gpXoN?!;H3frV$X!p\1FF#r:-,pAk0d#am.H!!!)ppAk0d!s&)i!<)WtR48C@!!;oh!<)Wo !;H3gr;Zp#p\+^fpB9pgp\+[dpBL]mpS0hW1=sS@!p3?rr:^0kp%JL/*;oO4k##slpB(D2+6!1m !!*#m"RcNgpAk3e#k%rkpS0hW1=rl,!!)ul":aPgpAjp]!Qc>[pB$L$k5+fS!,E\8rV$9lrq?Qa "o%`krq?]e"o%bd4:*dpZM+>!qtC+uNVW;P"8)?^fc9qa!!)ih!s!*YiViKN!<2]qmfiI[!<2]u mfiI[UHAi $?,b/n%etl!:T@VrU0^dr9jd2"n1m\rU1"JIba>W!:T@VrU0ggn*^;Umg(^uh!OG.n*^8TmfWXZ ml%cSmgV"Ln*fHEn*^PAn*fQBr9j[/"ig!3mK*7S!!)]\!UBjbmfDhWqsOXfn';YprpL9rWUK<> #4M!\WUK<>#5mojap#-?!!)udqZ-BZ!UBjemfLQDRecCT!:S5II/`RD!3,GUkQ^ME!3,GUkQ^tR !QkSOmf3@bmf?XDq $ASHLo@![1!;#d^rUU!hr::'"$M3iirUU:'Vs!Xc&kOS!?oCDt\o)o'b o*sm[o*l,foCLrMoCE%QoCM5Ir:9rt$HDZ $Cq%gpXoN?!;H3frV$9lrV$KhO=Bqu!WD`u#/Ta%g]7*C!<)Wo!;H3grV$R%_=%'Q!;H3frV$Ep p\+p_qtCO(n+ZRW1ACMDp@n=.!<)Wnp5g`CpAsF`r:^0kp%JL4)#O%.k6_%["9A1H'A!0W%05kk pT?@IpAj[VpT?@OpB(&M.C8aK!<)Zh!;H3gc5?QT!d?'Uq=b!lpOEq.rq?j%n+ZRZ2#$_En+ZRZ 2#[.Mp5g`/pAb3kpB($skkXrV%I!Q\GB3WU!!)ih"9A1H'A!0W%05kkpT?@IpAj[VpT?@OpB(&M .D#6Zf`1^?igg&KpOE~> $?,b/n%etl!:T@VrU1*on*`$BlcTJ#mio"8mg(4plJ[3mn*^8TmfWXZmio"8mg(4plJ[3mn*^8T miMPun%BXTm+$+En$!_UkAr!=mpo,Rid:apmkVH>b6?&W"ZF!WifauPmf3@cmgoKfmk_H;gi+A( ml%fBifauOmi2>rn(Jmtn*^5qcffU&n*^5qcffU&n*`$BlcTI $ASHLo@![1!;#d^rUUBsoCH#-n[Jqto*O.Mo*>]/n_..HoCDt\o)o'bo*O.Mo*>]/n_..HoCDt\ o,du(o6NmUn]Fo(o3arFi^.&Eo,ESUgJ\+Do2a-+\-gCM"^K@ChK11Do)Jdgo+1ono2j*)eO`O- o3BT2hK11Co,Ic%o=YKuoCDrPj5WX@oCDrPj5WX@oCH#-n[Jq4o)Jddo)Jdho*k]ko2j*)eO`O- o7n"0q"#I*oCKX&R.KnL8)rW"Ab5Kn8)rW"Ab5Loc1/:NZL\%rr:9s+,5^s;!;#fM/)T57Rf)aW !;Z4+!;#fq$CLGV!(Z)07qM;`!(Z)07qM;` $Cq%gpXoN?!;H3frV$["p\/jgnrP3mpB9j^pBUrIp!5&ep\+[dpB1KjpB9j^pBUrIp!5&ep\+[d pE'D0pH!BVn[p[PpF(:SeJbmjpC4J%cQiMbpNGHbO=&-E"ao5#ej=HUpAb3kpCI?!pNPEc`uh&M pO(lkej=HTpDa2-pQH$,p\+Z8n(&Jhp\+Z8n(&Jhp\/jgnrP3)pAb3hpAb3lpC.,spNPEc`uh&M pKTWAq"Ga.p\0j[aS5E/I.,W+\bGguI.,W+\bGiAhsujUZM+>!r:^53Du987!;H4\AaReVeGT%@ !;Z@/!;H5O%*82;!.=7d*4bh $?,b/n%etl!:T@VrU1O&n*dqI!ucj]n$3N*n*eUU!teuBn*^8TmgoKfn$3N*n*eUU!teuBn*^8T mf3@emi.fG"WDmZn*P?6#=727n)6P;&8D46n%CR\)MH9%"i!/'$pql2n,*1cmh+Ihn*e"R"V4Ga n*e"R"Um`8qsOLbrpL]_03%B?VB#e&hXBn5VB#e&hXBpH2$4bM[I="nqsOLbrpL6Q&F])&49Z6l g[FV.!!(^Mmf3@emhk":<:9ga*<\O^n*^7R*<\O^n*dqI!ucj"n,*1bmf@?4l5Yr!2^b>4l5Yr]eom1KY$UX_#Nllb&@=[msk~> $ASHLo@![1!;#d^rUUg*oCJP"""15Bo5k9=oCJh#!?-UkoCDt\o+1ono5k9=oCJh#!?-UkoCDt\ o,du(oC@>N""Bi5oC#lk$X<)ko?Suj)iOdgo:@61-`tP_"edFJ'3F>qoDAUgo+B:ooCJY+!Z,P< oCJY+!Y\YtqssdfrppuQ%tsNSI1Zcfn+6,NI1Zcfn+6.B,m,Ns[Ia:rqssdfrppND,kLW$.fpN# mdp&I!!)Eao)Jdio,,daK_#1l&IDS.oCDs1&IDS.oCJP"""14XoDAUfo)U/Nr::3?,kLWuC'tDb rU]peqssdfrppuQ%tsNSI1Zcfn+6,NI1Zcfn+6.B,m,Ns](63Us7>j5LB%;FJ,~> $Cq%gpXoN?!;H3frV%*.p\04S#!(E3pJ(klp\0.N![k5Qp\+[dpCI?!pJ(klp\0.N![k5Qp\+[d pE'D0p[_o.#!9fupZ4aI'RfZKpS/c3._#KQpOO(a3SMXM"bdot*H1KIp\Y$kpCW7#p\0@]"!`Qn p\0@]!Zc4LqtC'jrq@8/$+0F,>m_*hp@n:]>m_*hp@n<4('ZeQ[J0S!qtC'jrq?eWDtj![*!7F? p%S4X!!)]ipAb3mpDBk9[.aQ+$4hLWp\+Yn$4hLWp\04S#!(DEp\Y$jpAkiar:^JRDtj"t9a2At rV-3iqtC'jrq@8/$+0F,>m_*hp@n:]>m_*hp@n<4('ZeQ](ZK_s7c9ISH&W`J,~> "`O5*n%esSn)3X8FaDg2!!&JV!Hi_Cmf3?Umf@QWg[>+BY3uY3s6oF!Du]k+J,~> "bupGo@!YioAK3@/'6Q;!!&JZ!@u:Ho)JcYo)UA`g[bCFY4DqIs7>j5LB%;FJ,~> "e>MbpXoLspYbcH''@sC!!&J^!>=PLpAb2]pAkohg\1[JY4i4Ss7c9ISH&W`J,~> "`O5*n%esSn$qfd!.jV0mf3?=n+#iH!3Ybr_#Nllb&@=[msk~> "bupGo@!Yio=4Al!.jb4o)JcAoC;DP!3Yo!df8q1eqX5)o7-~> "e>MbpXoLspUKqt!.jn8pAb2Ep[RtX!3Z&%f`1^?igg&KpOE~> "`O5*n%esSn$qfd!.jV0mf3?=n+#iH!3Ybr_#Nllb&@=[msk~> "bupGo@!Yio=4Al!.jb4o)JcAoC;DP!3Yo!df8q1eqX5)o7-~> "e>MbpXoLspUKqt!.jn8pAb2Ep[RtX!3Z&%f`1^?igg&KpOE~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%etImf3@Lmf3?Gmf3?=n+,oI!.jV7mf3?bmg-`/n*eD;s8VP<~> "bupGo@!Z_o)JdPo)JcKo)JcAoCDJQ!.jb;o)Jcfo*EeEoCLOfs8V\@~> "e>MbpXoMipAb3TpAb2OpAb2Ep[\%Y!.jn?pAb2jpB]FOp\3[;s8VhD~> "`O5*n%etImf3@Lmf3?Gmf3?=n+,oI!.jV7mf3?bmg-`/n*eD;s8VP<~> "bupGo@!Z_o)JdPo)JcKo)JcAoCDJQ!.jb;o)Jcfo*EeEoCLOfs8V\@~> "e>MbpXoMipAb3TpAb2OpAb2Ep[\%Y!.jn?pAb2jpB]FOp\3[;s8VhD~> "`O5*n%eu&mfLQ437@6q!;Gp^!:]FW!5n:'!<)?pNtqspm-jD_9aV4j]_h.,jAlcp0!4U2`_?dI 4hU[\!!*#e"QD%8mf;tJ!!'Ls!p_'2rU9^cr9sUbq "bupGo@![<9o)Jd"o)e.d!<)Ng!;uHf!;Z3qf0K]L6.b`"X?$Os;<%KE!!*#i"OI[5 o)SCR!!'P#"RAnl%s.aA"g1#o&67ojo*"W"$k-tOo*"W"$k-tKo)Jdio*!DNL%><9o)Jcuo*EeE oCLOfs8V\@~> "e>MbpXoNFpB!AXcI2Fe!;H3f!:]^_!5nR/!<2]qo1fN,Q2^L]P:QhSD".>r%C@bl%p8/lpQI-2 )/Sg>pAb3mpB7K'[eBdnpAb3&pB&Y`!<)Zk!;uTj!;Z?uZnDRn=R5_UP:QhSD".>r!!*#m"KDg; pAjgZ!!'P'"P#R<)k?p%"dL\C)K>9EpB:(_#8`[)pB:(_#8`[%pAb3mpB7K'[eBdnpAb3$pB]FO p\3[;s8VhD~> "`O5*n%eu&mfPq%#OBk-!!)c^!!)NW!!'q*!!)la%F#O,j^CdMmj+(Ll_tBkmgWDmgZbC>n*_Nb g$>UIqsOdjn*f'WE:<5qoBuYZ\*jBu3<8sF!!)la!!)i`%9Z?Yl(JLRmj+(Ll_tBkmg&p^n(f4- n*^8Jmf3?tmgYI/eEDZ`n*_QjhWKt5qsP!='$00C9(25n'$00C9)J&_!:TC4,B3,?!;#XZ!4D8$ _#Nllb&@=[msk~> %#4ZNo@![1oC?fo>:s- oCDtRo)Jd#o*n#ljQ'R=oCG;Pl/QV1qst8b/)K,5S+H6>/)K,5S,;d_!;#g"$_Ht]!;#d^!4DD( df8q1eqX5)o7-~> $_7.hpXoN?p[\ZE7FLo1!;H3f!:]^_!5nO2!;cF!9P!M8'%H[M=h=%a;eZ(&%1K3*j%WeQpK>)q k>Q'kpBUcnpR2W:p\+[ZpAb3&pAu\`!;lKj!;cEi!;Z?u%&i^V9jIGe=h=%a;eZ(&#QXVnRLdX: pAjgZ!!'P'%3(5ogF:_JpKk`,gH'NTpC0f,m*66np\.?lm*66nqtC?rp\1*ebkLi3oCi4b[J'sZ s7c9ISH&W`J,~> $ubt1n%etln(\??B57G7%do2o#@6femYVth?174^rU19tn*^7^/-[#S].jO1U$qFMrU1-pn*^8F n)@ae!\D1Vr;cic%$;V737dQemWoEO>6)S0!!)la"`ADMn)+ZPmfDhXqsO[riU?7'!rMEemK3:S "9@oA)2J4[#QU_B"[Cu7E*E80!U16q!<2EpOWO]cf'i(U3!U(7amT>o&)RBamf3@amf3@`mfa*X n*fZGqsORR!rMEh!:SJVL]6`J!2^b?5N2'M>5mskkn %#4ZNo@![1o>DU>*Q7sK%e449DnS8^GKCe[7rUUR#oCDs@*s="+Q6HG^de!&1rUUEtoCDtR o@HJ>"[M8Br;clh%J"EN#Z0p[oC,oi&q'bto)Jdeo*$)ZoCL9JqssjX"8hZn"7YpRmfWIY!Up3g o)o'b[0sA@o*>>E&IDY1o-U^@o)[t^r;clh%.\C*KeJ8"5XXY!;l?f!;c9e!;Z3i "7YpRmfWIY!Up3go)o'b[0sA@o*>>E&IDY1o-U^@o)[t^r;clh%.\C*KeJ8"U=8` oBI@no)\:^qst79ch$bS*:rb@ch$bS*;f=1!;!T+[/TY&!.>Fc>4D,1Yl=4pjp_1gs76ZiD\ECQ mITqN-j1QQ`q'Jas7>j5LB%;FJ,~> %%R7ipXoN?pMFF7%cmW`%d[%$)RB,3lqn00ZM4(nrV$j'p\+Z*'aQq^Fr(?Ll1aoPrV$^#p\+[^ pVSck$XE8sr;cll%ImC+%rq79pZOjG+0,CZpAb3ipB;#ip\/lPqtC-U$iBZ%!quB_kR@@_!U1!h pB1KjM]COOpBUb)$P7d\pCQ-ZpAqoRr;cll%.R:*%rq79pP9gl/\K4""/nEW!;lKj!;cEi!;Z?m !quB_kR@@_!U1!hpB1KjM]COOpBUb)$P7d\pCQ-ZpAqoRr;cll%.R:*%rq79pP9gl/\K4""U"Aj pX40\pAs@`qtCO/kkFgqEqf;;kkFgqEr5S6!;DBkh#@$R!*osDIeNLIh#@$K]I*RWs7Zrl<"':W o_8*9* $ubt1n%etlmtOO)dhMfM%_*@ql&Y<%\/<6MO72N;rU19tn*^6"`pBl3,ff8T%I``crU13rn*^8F mh)/Pl^Jg]mf<=T%D<\#lAd(Wn$F"Xk&LI>mgT77!Z,>0n*_1Cn*fTGr9j^RXVLa%"boe.lD,9p mfMjX(&RG%!6l1JrU16s)U7Dd.du.!lL4293:?kGmgQlJa6J[/n*_QTkMLd2mfS,Emf<7R!!)la !!)i`"boe.lD,9pmfMjX(&RG%!6l1JrU16s)U7Dd.du.!lL4293:?kGmgQlJa6J[/n*_QTkMLd2 mfaEMn*fQFqsOR=&c;#+)Ue*CliceG)Ue*Clid4S!s$RZSc/!f!#j,EF=Qb7$0q!JU,_TArU10. )TV-',4FtHKBM-A`pX2Ks6oF!Du]k+J,~> %#4ZNo@![1o.[-7X>'YF%W4J`kAKn_DEcb:DY*H"rUUR#oCDrXg$Xk*;VCJu*qSt'rUUL!oCDtR o-Cm6l?#;_o)Sa\%f)6tl22(%Utf;hX`BrUUGA 6egj7j5LB%;FJ,~> %%R7ipXoN?pCuI%PVkdgdCi10Q?:36hg)pB1I(#;;VHpB:]lp\3>\r:^9W=Fg;C"W=B3jA(X2 pB'S]JG]'C!.$9\rV$QtGjX!"](^AFrq?L=b4bo7pC'!&l/F7qp\+j7oZTD=pB)5cpAk*b!!)li !!)ih"W=B3jA(X2pB'S]JG]'C!.$9\rV$QtGjX!"](^AFrq?L=b4bo7pC'!&l/F7qp\+j7oZTD= pB:Zkp\3/XqtC,3Fo1nB"SDH_fc9b\"SDH_fc9n`!s!X"kPb,\!-mn\)nPce;?$:l,0KW[rV$^Z FQqd9XS;GmbOj"?`qKbks7c9ISH&W`J,~> &T@L6n%etlkQp&6mNo"(mkgm=mf>8Ar9jUcrU19tn*^7tn*fZEb4"fe!q5RXrU0ggn*^8Rmf`"] n*^8TmgV@[n*fQGn*`'2n*fH?_=%WsdpsrsmfVnTmf3Cen,E@g"fD1c"m@Z@!!g%4n,E@g"fD1c !WWL:r9k-rW:03=#Oh+k=RYG_g@#%?mg;.Xn*fQGn*`&PbK0,Tg^``?!;l3b!;c-a!;Z'ekV3&; #Isa$rr<''VYff`!!m-5mgfDsn*fHFn*aagn)t57mf<=T$9P?Xn*:/Gmk\t,a6s1l/(WpA!W;Bf i?tT$mflNQbG1NCUV mg-`/n*eD;s8VP<~> &Vg2So@![1isP8HmgA+Ho*s[Vo)T &Y/dnpXoN?ZR>J@k6^YPpBU0bpAkNfr:^0krV$j'p\+[Zp\3qQoCr"E$MX8prV$Bop\+[bpB9M' p\+[dpC.Arp\3&bp\+m\p\1]g_=n0(],@gHpAt9f!V6Elp\t3o,OPC&"hk6B!&F'Bp\t3o,OPC& !WW8Xr:^^%n+ZRY2>?hTg\7g(p%JIbpBh/op\3&bp\+lkk/d9"HtN-I!;lKj!;cEi!;Z?m^'F]= 1@Y8:rr<'EmJHVZ!!1sSpC@8mp\1dIp\,0PpT6.BpAk0d$4$%opX(JbpBIVZa7f`TO7:sX"T7uq V'YO+pAb6npB:'ip\+^fpAsjfqtC-l!T*bK%fl(mpT6=IpC>sPXYBGB!<)X!#OhE]d44nb#-$b' pB]FOp\3[;s8VhD~> #B0G,n%etl\GQ=0..?U.kkslM"mGmQ!!)ud!s%fY!<)?d!<)?g!:T@VrU13rn*^8Fn(L8B!!!&g mf<=T!!W<$"9Iu["mGsS!!'e&$0hZ^mhsRBn*C2TmfMdO&,Yf!E_>*NTb@:l!pZWnqsOUe^C-)# mf*NTb@:l !pZWnqsOUe^C-)#mf #DW-Io@![1C&@r6C%LosnbhtZ!V-*Z!!)uh!s%ra!<)Kh!<)Kk!;#d^rUUL!oCDtRo=['i!!!&k o)Sa\!!<*!#QaPg!V5jRnGp>q$0_]do*=XRoBZ_[o)e33,Q%'9.tQsLJLgZi!pYLbqssmiQO:D( o+(iloCMJRoCKX0nj\f6o)Sa\!!<*!#6FGf_FP=^VonT6)pIpF!;l?f!;c9e!;Z3i.tQsLJLgZi !pYLbqssmiQO:D(o+(iloCMJRoCKX0nj\f6o)Sa\!!<*!#6FGf_FP=^VoeN6ktDBsIgZ/G!kSr^ qXY.$m.9i8#P7Nlm.9i8#Q+)p!1+&*rUUO"o(2JC!qZ#s'_4_VoCDt\o)Jjj!!`Pro>4$3+/d-M #h&bEo@AZrs7:a~> #Ft_dpXoN?.f98K^A%@&qtC'kqtC'jrV$Bop\+[dpAb3lpB(EipAk0d%KQ7t!;H5U.L#kQ!r)Eh rV$9mr;Zp#p\+^fpAs^_^\8&V*;B10o_8+5*;oO4k##slpB;2-n`*>fr:^9T;/H.(!s!*YiViKN !<2^#mfiI[CJOUEdJ*A8rV$9mr;[''p\1FF#r:,TpB1rgp\+[bpAb3ipAb3hpB;2-n`*>fr:^9T ;/H.(!s!*YiViKN!<2^#mfiI[CJOUEdJ*A8rV$9mr;[''p\1FF#r:,SpBAl%"`4:*dp`qKbks 7c9ISH&W`J,~> #]KP-n%etk-*R=:"m?6Lmkps>mf>;Br9jmsipZ@%!:T@VrU0^drU1L%n*^PAn*fQBn*^8Fmk]FJ mHaiAmfECU!B.OdmfbMHn*fH?^[DKp"7P\qF78SU%K#SpmK*4R"UO)Un*U5RmfDhWqsOXfn';Yp rpL!jWUK<>#6+&q=@rq[n*^;Umf>>Xq!S7+"j6<2!;u9c!;c-a!;Z'e#iY7@mK*4R!U^!cmfWXZ cP(^*mf`]jn*fHErpL%n8daSHmfECU!B.OamfCQ7`U#6+&q=@rq[n*^;Umf>>Xq!S7+"ig!:_#Nllb&@=[msk~> #_r6Jo@![-$KV3X"lp$Zo*s[Vo)TgQmfWIY!Ug-fo)o'b WsPj+o*#-RoCLrMrpp=4Oq7'Ro)\g]!=e5eo)Z9,`Ua,-4T=pRTaf*=o*lYboCL9JoCEpIoCL9J qsspjo;`1urpp9niq)d$%0#i&)NkX#oCE"]o)T<`q""Np$HDZCdf8q1eqX5)o7-~> #b:hepXoN/$Ln&h"gfZNpBU0bpAkNfr:^Htp@n=.!;H3frV$9lrV%'-p\+^^p\3#7p\+[^pBJJ% pY5cCpAt6e!=//lpB:cip\1ci^\8&[)#*b6kkFgqEr5S3k6_%["Te>kpZMq\pAsF`qtC3npOEq. rq?p'n+ZRZ2#$b;%"^V8p\+^epAkNhq=asaO=A?HqZ-Qg!!)li!!)ih"Te>kpZMq\pAsF`qtC3n pOEq.rq?p'n+ZRZ2#$b;%"^V8p\+^epAkNhq=asaO=A0C!D]6cpB#OekP=i]%I!Q\GB3HP%I!Q\ GB3TT"9A1H'A!0W%fl(mpT?@Ip[nrH4SJOD!WD`n#P%Wa!qq^)`qKbks7c9ISH&W`J,~> #B0G,n%etP(&[MJ'f3>`gi+A(n&uEdk$^jMml%fBifauRmgoKfmorK@ lCn^Uml%fBifauOmgT9cn(Jmtn*^5qcffU&rpKp>!)EO^!@"cImgQlJ_!KTkn*`$BlcTIOmf3@b mf3@amf3@cmgoKfmorK@lCn^Uml%fBifauOmgT9cn(Jmtn*^5qcffU&rpKp>!)EO^!@"cImgQlJ _!KTkn*`$BlcTIRmg;(sm(=[=n*dLhWVc,q!:TC#'$99E8al,l'$99E8c.rc!:TC1+DC64!#s8J GU`X\!nI?HrpKk3Yl=)"]c+]QeT('H1:c_o"ig!:_#Nllb&@=[msk~> #DW-Io@!Z>1Ap_]0<=\]5MP@>oCHf`gZNMHo,ESUgJ\+Do)Sa\!!)uh(BF'u)iF+=;ZQF\!;#dh ZLQXP!;#dggA^[QH:HESb#\-*A4P\>70(6s'j&QJeO`O-o9h,dh^b/eo3BT2hK11Fo+1ono,<;H l%9rHo3BT2hK11Co*k]ko=YKuoCDrPj5WX@rpp2t!29D`!=@KZo*fq7eFC[^oCH#-n[JqGo)Jdf o)Jdeo)Jdgo+1ono,<;Hl%9rHo3BT2hK11Co*k]ko=YKuoCDrPj5WX@rpp2t!29D`!=@KZo*fq7 eFC[^oCH#-n[JqJo*Sp\m&CQMoCI_NebeqL!;#fM/)T57Re--=/)T57Reu[c!;#fq$CLGV!(Z)0 7qM\k!j_m#rpp-sgA^[PH:HESb#\-* #Ft_dpXoLBN;WDf'\`:7EU)@Jp\-=\lJ4l&pC4J%cQiMbpAk0d!!)ul(BF4(%C>`R,QRT5!;H3k c1TC3!;H3jm/H_g3cjBP]JKccf`1^?igg&KpOE~> #B0G,n%es7C]*W=gCLD^>(n*f\")$aO;n)6P;&8D46mf<=T!!)ud(]a$niB[\[C&m_k!:TC' /cu\p!:TB^&HMh!%%SdM)Lq5EmWK'H=ocJ/"i!/'%oD$[mi[W+##+CPn%Usg$pql#n)+cGn)I1O ""C2;n%Usg$pql/mf3@emg7r+<:9ga*<\O^rpKpA#jD9V!jWC2$4bMamTAA-NbokrpT^a"53/$&H;,$NYVgmm/HGVNYVgmm/-5O!<2Eni@e1!!2^b> 4l62,!ndkCrpKoo&HMh!$_8[L)Lq5E]eom1KZ #DW-Io@!XZ`Vffo?S]Ro@,f* #!:?+o:[Z9'3F>no)Jdio*N_RK_#1l&IDS.rpp3+'Cl(n&TeT(DQF,m,Nsan#Y!(C!%@rq$!e$LRH2,kLWuC'tDbrpp9`C'tDbqXX[erppHB%tsNSI1Zcf n,Dn[^D$/:o+?'N!;#gQIN8M>T(DQF,m,Ns`q'Jas7>j5LB%;FJ,~> #Ft_dpXoKUjS\`iC2*G/:'qrHp\4#L$6->GpS/c3._#KQpAk0d!!)ul-ij#9UE0Le\,c9t!;H5; '*9Pd!;H4_"T\;ko4/I<42psgjurnhWrU'3%##Z',DPmcp[_)`(6ngm)20%3*H1KBpPEh_pT,kI $rQ "`O5*n%esSn(@(0FaDd1!JjpLmf@QWg@#&u>,1NeFaDd1!Jjp`mg-`/n*eD;s8VP<~> "bupGo@!Yio@WX8/'6N:!B70Oo)UA`g@G>(Y+tRh/'6N:!B70co*EeEoCLOfs8V\@~> "e>MbpXoLspXo3@''@pB!>jL\pAkohg@kUagS=KD''@pB!>jLppB]FOp\3[;s8VhD~> "`O5*n%esSn$)6^_$]LZn+?&M_$]LZn,)PT_$]M4mg-`/n*eD;s8VP<~> "bupGo@!Yio<@ffS/CgJoCVVUS/CgJoDA+\S/Ch$o*EeEoCLOfs8V\@~> "e>MbpXoLspTaGoojUjNp[n1]ojUjNp\X[dojUk'pB]FOp\3[;s8VhD~> "`O5*n%esSn$2<_!"4s@n+?&M!"4s@n,)PT!"4snmg-`/n*eD;s8VP<~> "bupGo@!Yio "e>MbpXoLspTaGo!%[5`p[n1]!%[5`p\X[d!%[69pB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSmt'qYmt'rFmg-`/n*eD;s8VP<~> "bupGo@!Yio7?Lao7?MNo*EeEoCLOfs8V\@~> "e>MbpXoLspOW'ipOW(VpB]FOp\3[;s8VhD~> "`O5*n%esSn'pe+!.jV0mf3?=n+#iH!0ZdV_#Nllb&@=[msk~> "bupGo@!Yio@3@3!.jb4o)JcAoC;DP!0ZpZdf8q1eqX5)o7-~> "e>MbpXoLspXJp;!.jn8pAb2Ep[RtX!0['^f`1^?igg&KpOE~> "`O5*n%et>mf3?Qmf3?=n+,oI!.jV/mf3?Nmg-`/n*eD;s8VP<~> "bupGo@!ZTo)JcUo)JcAoCDJQ!.jb3o)JcRo*EeEoCLOfs8V\@~> "e>MbpXoM^pAb2YpAb2Ep[\%Y!.jn7pAb2VpB]FOp\3[;s8VhD~> "`O5*n%eu&mfLQ43.^PlmgmE4$48r/n*fUY&I;>&n*g/S!!N2f!!)WZ!!&PX%,Xql$uk\(jAlcp 0!5-A"HO<':$hcG!!)WZ!!&MWrW)oc%E;*L$9c&jn*Fg%#ZL-fmf3@Zmf3?]mg-`/n*eD;s8V\@~> "bupGo@![j5LB%;IJ,~> "e>MbpXoNFpB!AXc@P``pC*6:";u%Fp\33""rj*3p\Y!k*;fI1!;#pb!1`csW%S9&^A%B/0*Mkg lhC/F:'VT#qY'sioCi4bS+lm^rV$_a/-Hi,nFu\-3sHXoqY'sioCi4bU%\iFs7c9ISH&WbJ,~> "`O5*n%eu&mfPq%#O?s0p[8P:P1f0#%e&kM.+II9:]'S]asd/U!!)WZ!!&SY($6KniS]1Rmo`<< l(JLRn')Kdj^CdYmf3@Zmf3?Umf3@dmgUP*g$>UIn*cGgeEDZ`qsOLboBuYZU$i0#s6oF!DuTce~> %#4ZNo@![1oCj5LAq4'~> $_7.hpXoN?p[\ZE7=k4,pC19:mcRM^p\,Vbn(T;BqtC+V]_hF'!;#pb!1ij!W[>RRb;o=k%&i^V 9jIGe9P!M8'%HgQ!!)Wb!!&G]!!)ul%9^:1k>Q'gpD]%ZgF:_NpAb3bpAb2epBB4Lp\3[;rr7K~> %r_:4n%etln(\??B56`Jbl7&OlP@b6OWO]cf'i&-W[%Z7iaEB"/A^fDmWT0K=TJHi"Hac/37duq $.:d<&o[7-!:TCS!<2EiOWO]cf"CGXmK2kG(!$n'X0#&oXrA!LZUXmgTZ`n*fZGn*b.8n*f0DqsOdjVB#h)iU:_hrpKmP')_h0mgG7" "?>!$n'X0#&oXf=!!)i`$17l`mhX.9n*:G[mg&oj* %u0uQo@![1o>DU>*Q74MlMgB$l3ckJD\ECQmIToLJf"O[f1-/O5j.b1moTl/HN<[/no#0I;!n/O $*5NX*Kfsb!;#g[!<;Wono#0I;!kpe$1J&go*4LOoBI@oo)eCmkPOiV!.>Fc>4D,1Yl=4pjp_1g s76ZiD\ECQmITqN-j1QQY4DZVV>Kin"7YpRmfW1Q)pe-IcQ)iR#QT8b$!Qii-F!L@!Tjgh!<;X! no#0I;!mlGX=+2lOfJ!Q!;Z3mn,r:R#3tgOl5fcn#QT8b$!Qii-F!L@!Tjgh!<;X!no#0I;!mlG X=+2lOg=Q^df8q1eqX2(J,~> &"NRlpXoN?pMFF7%cl(ToD\J1di7rL<"':Wo_8([@h/V7__VK)>k7X`k!'"jWW;efnPfo-EV0/& $&BT(/\LiP!;H6c!<;csnPfo-EV-p<$0_ilpB1$]pX40]pB'Xnnb`%d!*osDIeNLIh#@$K]I*RW s7Zrl<"':Wo_8*9* %r_:4n%etlmtOO)dhM8O2ZE.k`[1)e)TV-',4Ft#,1,fI&YA(LRi:baZQ.?TGQ@4$]c+rVN["Ah #:5#chgb+`!;u9l`Z"=7]c+rVNZu1*$LFl0n*^t8n*fQFr9j[5*r>=9!#j,EF=Qb7$0q!JU,_TA rU10.)TV-',4FtHKBM-AY4!)RN[4lgbjY"T:>P32)"6o3ddQYk"T.Wu!#j,EF=Qb7$0q!JU,_TA rU10.)TV-',4FtHKBM-AWp]ofqX4dXXVL %u0uQo@![1o.[-7X>'6HL]6lkL10[t6egj7k!(>f)6tl22(%Utf;hX`B rUUGA6egj7f)6tl22(%Utf;hX`B rUUGA6egj7.t8o2C>6!<)KtG=1-L @TE$k$F'!O@C#J.df8q1eqX2(J,~> &"NRlpXoN?pCu_34JW@FQqd9XS;GhL$eX/6I#/a4.Z-?.t-j:*!#a-2g" +)guDn%etlkQp&6mNo!u$0^jH3jS39XRGWD"n1m[]__(/m02tI1TU!5kQ()?407o>lNR1S!]+i> rU0^drU1*H(=qsC407o>lNP#krrlNQbG1NCU>mh#[Re`_i-n*fHp!!!86n*^AErpKgfqsP$qW:03=#Oh+k=RYG_g@#%?mg;.X n*fQGn*`&PbGak0!;l6b!!rh+n*c8ef'%tlqsP$qW:03=#Oh+k=RYG_g@#%?mg;.Xn*fQGn*`&P bHUF=_#Nllb&@:ZJ,~> +,9[ao@![1isP8HmgA+5&+T8]&EWKnj7Dm-$M3ihkPFc^mL&RW%--sNirJ]B%cd0Pl3dF[!Xt:G rUU!hrUUB-+RSdl%cd0Pl3b8srr +.W9'pXoN?ZR>J@k6^XV488L;&+K;un+ZS(.eiZ;o(r(mj!ONp#4M<\Y5n=k#OhE]d45%f!X>Xd rV$9lrV$YQ;=sVW#OhE]d42m)rrmO7:sX"TA&rndOs_pC@8mp\1dIp\,0PpT6.BpAk0d $4$%opX(JbpBIVZXS38,O7:pUQM:-f#QOi[nFuYXrq?Hb"8hg'!:T[VXYokI%bp`[0_P/?rV$X( n+ZS(.eiZAWTL/R!!)ojrrmO7:sX"T.p(!:T[VXYokI%bp`[0_P/?rV$X(n+ZS(.eiZA WTLGZ"k`kLpYq_Bs*t~> #B0G,n%etl\GQ=5..;gmn(/NImfiXi!s.lZ!<)?mg.)YR!!2QW"mGsS!s%fY"oSE$!W2!\&mhHbcn*fQEn*b9hgZbCEn*_.Bn*fTGqsOOckl1#X!UoL1$0daBn*^8Tmf3Oi !!`Pnn(h(d&:UYJ!!)la$L4K!n*fRR%gu_JqsOOckl1#X!UoL1$0daBn*^8Tmf3Oi!!`Pnn(h(d &:UqR"i10,n&fSJs*t~> #DW-Io@![1C&@r;C%F$doQhS!:oaQnH/=R]bL$,P4S8FrUU!j r;[''oCKgi'-F-To+_MroCM8PoCFJ`l03aLoCE4RoCM;Rqst4$3+/c.1!!)le$L3?joCM3?#nqdqqst4$3 +/cF9"k*GBo@AZqs*t~> #Ft_dpXoN?.f98Q^@r>upKaBbpAt3m!s//j!<)WtR48C@!!;oh!WMfrmf<+V!W;uu!W2TrUHAi< fD#">rq?Jo0(8f6!!3#u!!0e-$Kb3%p\2um""NVW;K!<2^#mfiI[CJOUEdJ*A8rV$9m r;[''p\1FF#r:,8pD!i'p\3/Pp\,;un`*>fp\+d^p\3>\qtC'jrq?fh"o%b,:A5dVp\+[dpAb6m !!`Q!pS0hW1=rQ#!!)li$Kb3%p\2um" #]KP-n%etk-*R=:$g7lRh%&mhP4.it])1pr!<)?u1Oe-Hli?MC19Bs5kQ()?2S/PL$-EG?mf;hF l9:4+mf>>X\F0Id!W2#6+&q=@rq[n*^;Umf>>Xq!S7+"g[S#_#Nllb&@:ZJ,~> #_r6Jo@![-$KV3X$fhZ`a<:'sg%4eEkPOiN!<)L$%&`:Zm/ZbL%--sNirJ]B%HmBT$+:34o)SCR knh>;o)T<`\FTai"8hZjVEFhK!?0A]o*#-RoCLrMrpp=4Oq7'Ro)\g]!=e5eo)Z9,Y4EAKlgs`5 #4qEfnFQ8?"7u+'ch$bS*;f=2!93VAiXGhX"r`X8nFQ5PrUU%!kP4WL[L0&+!!)id!Ug-fo)Y^N qssskiq)d$%0#i&)NkX#oCE"]o)T<`q""Np$F97,df8q1eqX2(J,~> #b:hepXoN/$Ln&h$a_;TF`-palhC,Ynb`%\!<)X(#/Ta%g]7*C#4M<\Y5n=k#P%K]$MKQ1p\+[^ pWF?6rV$ #B0G,n%etP(&[M(Khh)8I1uVK#e_.lm+$+Emf<=T'd\Y#iI:jrn$*kZk]m0sn%BXTm+$+QmgCn] lcTJ#mf;hF?XWg#"hbhim+$*kmgV1el/Im=n*`9Ym(=[=rpKmB&,>Ss!#s8JGU`X\!nI?HrpKk3 Yl=)"]c+]QeT('H1:c_o"g7;/cRRN0MAksP>>3i;U($MZbS&%[@7g@b"TTLfk]eQUmfM&?:B'\_ ,-_(8%)!Rpm+$+EmkVH>b6=p7!!)ud%5ti_ifauCmlAMV]I'?Lmf`\1cffU&rpKp>!)EO^!@"cI mgQlJ_!KTkn*`$BlcTI;mg-`/n*eD;i;`h-~> #DW-Io@!Z>1Ap_I0<=[[\1IXN#^Stin]Fo(o)Sa\'ah8:g0+LJo3t;Oj%'1Ao6NmUn]Fo0o*\UD n[Jqto)SCR/=ZS/"aWYfn]FnJo*nsMn_S@9oCHDFm&CQMrpp0-,5Ca5!(Z)07qM\k!j_m#rpp-s gA^[PH:HESb#\-*T)MIA>K,aFRR4I1P/"6A,"TV'Qj%!\[o)c5uU&OWa $/5CM%!kCmn]Fo(o2a-+\-f8-!!)uh%:%3KhK11;o3pD?WXde\o*#+aj5WX@rpp2t!29D`!=@KZ o*fq7eFC[^oCH#-n[Jq3o*EeEoCLOfi;`h-~> #Ft_dpXoLBN;WDR'\`6gJUmao#Wd%fn[p[PpAk0d'a;kTcRAkgpF1R[f,XkcpH!BVn[p[TpBu0% nrP3mpAjs^'%-XO"Zg_cn[pZnpC2N-p!uHNp\0C+l&ZkNrq?G5Dts&1!.=7d*4c(C!aPfWrq?Er m/H_f3cjBP]JK #B0G,n%es7C]*W)gClcm;rgE=98Ei"J$qE)LqYQ$,&1u )MISJ!:TCS!<2EiSL=X[J&(L]^H;Z.6Gr9\[jM8/T)J*YDe8_4"TYD?"?kW@mfM/Jkl1#PZ4R*9 mgG[7"WDmZn%CR\)MG6]%$hb62TtRXj%g$b.B*77"HF6%9^MZF"TYD?"?kW@mfM/Jkl1#PZ4R*9 mgG[7"WDmZn%CR\)MG3\quHcc%)4n.$pql#n$aYH/=u_,"TYD?"?kW@mfM/Jkl1#PZ4R*9mgG[7 "WDmZn%CR\)MGEb"i10,n&fSJs*t~> #DW-Io@!XZ`Vf<2_B&6C#0-Z6#kEEb""Bi5o)Sa\'rE#Q)MA+^oC#Zb&U=HLoC@>N""Bi=o*M!7 ""15Bo)SCRquHcg"nI*_""BhWo*hT(DQF,m,NsXn*3H%LGkpoCLHm"pR0=oCMNf$O^bHo*#,B&IDS.rpp3+'Cl(n&Te #Ft_dpXoKUjS\`UC2*E9!p0FU#kMR>#!9fupAk0d'n6ku-a<[GpZ+I?*i')9p[_o.#!9g$pBcBd #!(E3pAjs^quHck"nQ7;#!9f>pC)`q!Zc4Lp\/_<%8um_*hpAXde>Y=th&P`K0 p\48i&dCG:p\04S#!(D?pD!:##S1bCp\1a>!t8&lp\48R"r "`O5*n%etUmfDSVJa`=$!Jjp1n+5uKLg#Auo'ZU8>+G$b_#Nllb&@:ZJ,~> "bupGo@!Zko)[b[Jb/U,!B704oCMPS2m.`'o()l@Y+5(edf8q1eqX2(J,~> "e>MbpXoMupAq0WJbSm4!>jLAp[e+[(YaN8o(N/$gRS!Af`1^?igg#JJ,~> "`O5*n%etXmfYr+j`Df"n+Z8P_$]LZn+?&M_$]LZn+5uL_$]LumfgN,n*eD;rr7K~> "bupGo@!Zno)rsnha:b%oCqhXS/CgJoCVVUS/CgJoCMPTS/Cgeo**SBoCLOfrr7K~> "e>MbpXoN#pB6`MdMo]Ip\=IaojUjNp[n1]ojUjNp[e+\ojUjhpBB4Lp\3[;rr7K~> "`O5*n%etXmf]g9"$+q`n+c>Q!"4s@n+?&M!"4s@n+5uL!"4sZmfgN,n*eD;rr7K~> "bupGo@!Zno)sg\#Z0o>oD%nY!#Ne/oCVVU!#Ne/oCMPT!#NeIo**SBoCLOfrr7K~> "e>MbpXoN#pB5%7%rh/lp\=Ia!%[5`p[n1]!%[5`p[e+\!%[6%pBB4Lp\3[;rr7K~> "`O5*n%esSmt'qYmt'rFmfgN,n*eD;rr7K~> "bupGo@!Yio7?Lao7?MNo**SBoCLOfrr7K~> "e>MbpXoLspOW'ipOW(VpBB4Lp\3[;rr7K~> ")n#(mt&9*^k':P^qd_gs6oF!DuTce~> ",?^Eo7>>@dXfhtd_O96s7>j5LAq4'~> ".];`pOUtJfR_\+fYH,Bs7c9ISGrP=~> !H7f5mt(Lis+13$s2"a7mf^dOs8V\@~> !J^LNo7?pms+13$s2"a7o*!X!s8VeC~> !M')epOW?qs+13$s2"a7pB9KGs8VnF~> !H7f5mt%-_TRibeTY[<#mf^dOs8VP<~> !J^LNo7=2uZ@T<4ZGEjGo*!X!s8V\@~> !M')epOU,2^k':P^qmhcpB9KGs8VhD~> "E4,)n"BIE!R1SRmfCZ4ddI4\s/k_jbl=(!!R1SPmfCZ4VXFQ0s0M/!T^V?lDu]k+J,~> "GZgFos0M;%ZLd\=LB%;FJ,~> "J#DapV?Ru!SIF^pArqHde "E4,)n"BID!R1SRmK(Q3dd@.[s/k\ibl='u!R1SPmK(Q3VX=K/s0M+uT^V?lDu]k+J,~> "GZgFoAdddFis/khmf)M-.!S7:Znc@>AVXac=s0M8$ZLd\=LB%;FJ,~> "J#DapV?Rt!SIF^p&WhGde3^os/ktqf`.?4!SIF\p&WhGVY1&Cs0MD(_"[T_SH&W`J,~> "E4,)n"BIB!R1SRliG?1dd."Ys/kVgbl='s!R1SPliG?1VX+?-s0M%sT^V?lDu]k+J,~> "GZgFo "J#DapV?Rs!SIF^o`<_Fde*Xns/kqpf`.?3!SIF\o`<_FVY'uBs0MA'_"[T_SH&W`J,~> "E4,)n"BIA!R1SRlN,60dd$qXs/kSfbl='r!R1SPlN,60VX"9,s0M"rT^V?lDu]k+J,~> "GZgFoddI4fs/k_jf)M-+!S7:ZmfD#>VXFQ:s0M/!ZLd\=LB%;FJ,~> "J#DapV?Rq!SIF^o)[MDddmLls/kknf`.?1!SIF\o)[MDVXji@s0M;%_"[T_SH&W`J,~> "E4,)n"BI?!R1SRklK$.dcgeVs/kMdbl='p!R1SPklK$.VWe-*s0LqpT^V?lDu]k+J,~> "GZgFo "J#DapV?Rp!SIF^nc@DCdddFks/khmf`.?0!SIF\nc@DCVXac?s0M8$_"[T_SH&W`J,~> "E4,)n"BI=!R1Sgk5YMLk5ig,dcUYTs3^!6d38SRd3J_Qk5ig,]]TLH+opfR,QQog!R1SPk5ig, ]B9.omH4Mos6/VG!6s[3T^V?lDu]k+J,~> "GZgFo "J#DapV?Rn!SIFsn,NIUn,_2AddR:is3^ "E4,)n"BIDKjoN^+dcLSSs3]s7@s[;"@s[;"!9WDEbl>?<#\/2Ck$r`"joFQ+!R1St jo>D "GZgFoAlP[D%lN$)5!S7;) lMpqAlN,T:]B]FsmHXf(s6/bK!6sg7ZLd\=LB%;FJ,~> "J#DapV?Rm!SIFsmf3@TmfD)@ddI4hs3^9@%,(+<%,(+ "E4,)n"BI:!R1TCjSf,\"ua-bj8]2Bj8]2Ij8mL)roF%Y!X:Qqo&KcNlf8)js8M'Z!:]%L!;bdQ !;5CV'A2C,'A2@+!R1TAj9!$t2V7$d!;5CV'A2C,'A2@+!R1TAj9!$t2XBE.iHQXP$9+($j8mL) ro=%Zm,S-Hq;_MUqr@_Wjl?CAmGn;ls8M*Y!!3?_]^b%_!;#7O!8QW?T^V?lDu]k+J,~> "GZgFo19"m=q2!S7;Kl2l\FL=b_e!;5U\"m>19"m=q2!S7;Kl2l\FL?n+/j's&2%nNhWl2fK9 rosI`m-4QNq<@q[qs".]jlugGmHO`'s8M<_!!3O#hsot3!;#IU!8QiEZLd\=LB%;FJ,~> "J#DapV?Rk!SIGOmJ[(e'P-Fum/R.Km/R.Rm/bl>rpB[b!Yf2/o'HDWlg4`*s8MBc!:]@U!;c*Z !;5^_"75FB"75(8!SIGMm/f6L`n0VS!;5^_"75FB"75(8!SIGMm/f6L`p8W(g>&9m/bl> rp9[cm-OcQq<\.^qs=@`jm<$JmHjr,s8MEb!!3jFkje$?!;#RX!8QrH_"[T_SH&W`J,~> "E4,)n"BI8!R1TCiWT>Ain/Yoo&9WLk2H@@r8RJOqr.Y#s8M!]!93"jI22>4!!)?E!R1TCiW&uJ iW&uQiW&uLiW'#YiW'#=iW7:'r8IfCE=b/bl@\%!!)BF!!)iS!!)oU!!)-?!!)EG!R1TCiWT>Ain/Yon_sNKoAT`Mgu8R3n*eD;s8VP<~> "GZgFof[6!!)?L!S7;Mkl:_Q kl:_Xkl:_Skl:b`kl:bDklKB8rTOIK&?uf1e`d&6o'$,TrojC`iopKps8D0bkRb!1kj7O<05&Pl fUFnUklKB8rojC_m-+KMq<7kZqrn(\jllaFmHFZ&s8M6d!9rb"=>fX5!!)WT!!(g=#I "J#DapV?Rj!SIGOlidCUm*-r7o'?>Vk3N'Jr9X1Yqs4@9s8M?g!:9's.#@H\!!)?O!SIGOli7%T li7%[li7%Vli7(cli7(GliGc=rTjXM#Cf(ili7%Vli7(cli7(GliGc=rTjXM#Cf)+lin,Zf]phA ,2;Gbf`1s;!!)BP!!)i]!!)o_!!)-I!!)EQ!SIGOlidCUm*-r7na$5UoBZGWh!>9]p\3[;s8VhD~> "E4,)n"BI7!R1TCi;`lWi=F`HiSad0+p-`]F;+pEdc(-)s5=dPF;+pEdc'0CJf4hpiSi^:'F$hN iSae6iVEQNi;q1&ro!hWro"CD"6&4sF;+pEdc'-bTHXI9!:A_Gbl@\$&-1\J!2q4H)jK=?`\du5 B]8miq;De`iSad0+p-`R>7Uca[c-r\s5=+=Jf4hpmGS)is8CmZcO8]?AH(Nti.;jO=5i,rJf4hp iSae8i=,eGi;ff*"W<-#/d<5]q;De`iSad0+p-`R>7Uca[c-r\s5=+=Jf4hpmGS)is8Cm]cO8]? ADJ!9ro".='uAgI%LQ/8qr%P_d/)]&!9)o7!<1p[M&c^VamJ$fbl@\$!!)oT%FnYn!\(S:iPm_[ &SU/%!;k^T!;k^T!<1ppM&c^Val24/>7Uca[c-0FTHXHri,]D9 "GZgFo" kN;jBkP>2Tk5j06roX7]roXgL"m>(/=ptgCj6,S*HPZ_]!:AqMf)Pa4&-1nV!/29m.`CN5UF$*_ MWap9ck%YM69]G6ubsMd@4ko/_!.,L_kN#VK&U+6Bk5j06roX7]roYB\"m=,t #mEKHkNCr<&.O$Mk5a].^(5hYk%YM69]G76!<;3bUF$*_MWO"+ZLd\=LB%;FJ,~> "J#DapV?Ri!SIGOlMpqalOV)Nlg"OW%KYnM63\0NlKeBKs6CKU63\0NlKdcp9a_i=lg*:l"r2IL lg"QJlhUVXlN,ZEkj\Q "E4,)n"BI5!R1TChZ*ZUh\"WGhqnDU_Va7I(r4^<-K!\\rSJEf(r4^<-K!^](V/7Shqt7I^t*9J hqnG1hu!KMhZ:t$rnd\Urne=C"5i"4(r4^<-K!\\+2Zpm!:/MCbl@\"&cghH!$T#1TaTc8,'qkf GMh9XpYQM^hqnDU_Va5^Ph"QN(uO3Nrnd\Urndq\hqtIN\_;f*hZ:t$rSIa+8)M8urne3d(V/7S hqtIN\_;eqhZ3W4%05;C!$Ac,U]VdNgnYASh[feFhZ+b8hqo!0e_H6'hqnG5hZ*ZUhZj/=hl@R( g4o"P!R1TBhZnR"ho-5cT/6K(#e;2;V]*G(Dufdm")KWbdequ&!;t^\\JX5]Yo(%+KHKU=!R1TC hZ*ZRh[^9_e_H6'hqoW(f?ea!hZ3K0!!)oR*<>!SYo(%+KHK+/& "GZgFoD\jq6JSk2lY>f&l+$5Ln:J?KUAMrT4o&5Ln:J?KUB`43lPnk2ou7e^Zii k2l[?k555TjoO'5roO1\roOgM"m4rR5Ln:J?KUAM:Y+[j!:/bJf)Pa3&ch(V!)V##Jfit/KpZ<"ek2lY>f&l*=YMn>U4Qbc+roO1\roOFck2p>=cIut!joO'5rT457TB;k"roO](43lPn k2p>=cIusojoGAB%05PQ!)(VrL'CDuiJ&?Jjq%OTjoA3.k2mkkiSJH7k2l[Cjo>D\jp(nKk%Hj% g1]m9!S7;Ljp*K1k+XHi;1SZ.#_-+A?q&Yt6id,H""RK\hu)U:!;tscN]uUfEBhe*>u9qN!S7;M jo>DYjprZ>iSJH7k2luJilt`jjoG5>!!)oY*<>6aEBhe*>u9\G,-Tt^DER(D!)M2.k$^O*eNO!# joO'5roO1\roPB]"m.#4iSJH7k2p>=cIusojoFP=$D?PDEBhe*>u9\G!<)$_$)ce->ik)QZLd\= LB%;FJ,~> "J#DapV?Rg!SIGOkl:__kn1uLl0/1ri9BJRE8\eTXm,'MrTP+GE8\eTXm,(&C>@-"l00R7i5ce< l0/3El21PWklKH:rojC_rok$9''\X.E8\eTXm,'MIGjAS!:/kMf`1s8&ch1\!.*GV8n.&L"i09: 39fZ-pZW4hl0/1ri9BJi_WKK1Pj.E4rojC_rojXfl00g8gs84PklKH:rTOFuc07oSrojnFC>@-" l00g8gs84LklC\H%05YW!-HrP9cA60hb@\Xkn!jZkl?.il01CKk1DYXl0/3Ikl:__km%4Qkq6`+ cTgg]!SIGNkm%mHktH`o+i40B#W8aK.!FRl)?B[!!toank5=HD!;u'f=`run1iD+!.AQ:p!SIGO kl:_\kmotpk1DYXl0/Aek.s%AklCPD!!)o\*<>?g1iD+!.AQ.l5/QI730`[l!.Eeikp^W1a;G!F klKH:rojC_rokTI''VTsk1DYXl00g8gs84LklBsq( "E4,)n"BI4!R1TCh?a2=hUR&hhVJ79rn[o4S)3#R"lA)9rS@i4S)3#R"lA)jRJbnI/XtVRf*1$f !;YLN!;PCObl@\!&HL\EeUA4hhCY5RhU_qfh>jbYh>dQAh>tk#rn\(ahVJ7FhVR&hhVKo"^&?df !;G=Q!8cQ4YPR)Yg]ZKj!<1gT!<1gX!8cQeRHiW0bl@\!$J5X0hVBEMhVKuTr8%H/RJbnA!<(a` !8cQ4\_c3!!5%+Eh#dE/"9@<8!3c7U"Pa.:h>mQ3!!*#T"9@<80q%=`!R1TChA"TJcJIA%U"0P% hVL/ehCkJWhU_c)h?hq_/d`1b^Y[fIrS@n('ZT"d2kSs`gB?p#!R1TCh>dQMh?MajbYh?>R&hVQiamG7lfs8LjY!8cS_IMD_:"l'7;hD(Grh?*bW $]k;D#WJC4hV/1ih>mN2!\\9$j5($6n*eD;s8VP<~> "GZgFoL:% _;T##S#AHjkU:*jT,8@!Xst2j5gNOoCLOfs8V\@~> "J#DapV?Rf!SIGOkQq7QkfYB,ki`$,roaUkiTTL!0^.^#rTFOkiTTL!0^.^)iV_mF"l\\/TeP]o !;YjX!;PaYf`1s7&HM%Yb:&#,kQTr/kb0]okQ'ZBkPtVKkQ0?9roadkki`$-kigb,ki`2Af_t"6 !;G[[!9iVHj8.sBeKa;A!<20^!<20b!9iVNiTfV-f`1s7$E,65kh-7$ki`60r9+.ciV_m>!<)*j !9iVHjQPg_!9EA-g^3f?"9@ZL!9"P"a\kQ(VG!!*#^"9@ZL#3"k2!SIGOkS0s@kNLS)igi$l khls1kQTr/kbS:VkR#@6*X!g8jQPe-rTFT:9]bL%#3"e0`@(':!SIGOkPtVWkQ]Q^ki`2Af_t"6 !;YjS!<;6d#3"e0`@(QH"k=j]kQ'ZBkQM.Kkie]?mH=T's8M3c!9iXi."hH]"k=j]kQ^#DkQ:fk .bF[`#R98Okf"q5kQ(SF!X51Jj6-``p\3[;s8VhD~> "E4,)n"BI2!R1TCh#79W"Z!C=g]7<.!Y!rnRJQ"pHcfgtW%`rnISVgtVo.g].??g]>Y!rnISUgtVo.g^4&:grrV7%s6U^!;G7N !8Q?0rS.\#64Ntq!SlH1rnIJRrnIVVgtW%_lJ)Eas8LdRWVc`!-/@8Yebn2'"P*G*!!)uQ!s%-3 !<([Q!<([Q!;YCP!8Q?0rS.\#64Ntq!SlH1rnIJRrnIVVgtW%_lJ)Eas8LdRWVc`'-/ "GZgFog*Lu0M!;GLU !9<)>rSn0f1^O-^!TW2?ro3tYro4+]j5U1!lJhors8M$Y@f-3/@cQJLiV_^:!TEt:!!)uX!s%BA !<(pX!<(pX!;YXW!9<)>rSn0f1^O-^!TW2?ro3tYro4+]j5U1!lJhors8M$Y@f-39@cK&>j/G9' irS0"j5C"4is!8*/*#Xiro4(%&^p[=!!<*!!!2KI!S7;MirB)Vit&@N#ljr+j5[R9&fmM&irJo8 !!)oV!s%BA!rW*,!TW4E1^O-^!TW2?rSn%^ioB(X!:AeIf)Pa0rW!B77b?\)1^O-^!TW2@iV_^; !#9GNirB/Z!!<8^irK&<"L^]2*Lu6O#I "J#DapV?Rd!SIGOk5G>a&RXMZjoGAB!!3)]"Q'CFjoGAB!!3)]"Q'CFjoPAA!!3)]"Q'CFjoG2= !!)cU!SIGOk5G>a&RXMZjoPJD"Q'CFjoGAB!!)?I!SIGOjoYVGjoGAB$395NQoG@)aQDUbpZ;PX k2l[Bjp7"q"TSN(k2l[Cjo>D\joYVGjoO`/!SIGOjo?e,!!BLgjoPAA!!2uZ!!)u[!s%KG!<)$[ !<)$[!;YaZ!9WDDrT4BH-NsJM!p8VFroO1\roO:_k2l^/joO-7roO2.qu@&.jqH)'=-Me/!WM3^ hZ3H6#3<6METZB`roO9S/)U?g!!3#u!!2KL!SIGOjo>DYjq!M#"TSN(k2r$j#VX9]joG5>!!)oY !s%KG!W "E4,)n"BI0!R1TCg&M-Lg&M-Og'B6sg=k!Zg=cT+g'K/FdfnIZ!<(UO!UJG?bl@[r!s%'/!<(UO!;tOR\-1O>!Vb:M!8?-,rRqN0F33(d !8?-,rn7>Prn7JTg=e9IlIlHds4Z2[,,"qh"k3h$g+eokg&Wpor7VD^cJ%"(!8?-,rRq5OrRq5O q:YoNg=cQ*g'B "GZgFo-p!<(mW!UJ_Gf)Pa/!s%??!<(mW!;tgZWEbio0t;iW&uXiWK8@iXF6"iWe!6io8f%eGeGQD8"6/;?io8T*\,G:e%+a\&!S7;MiW&uUiWTa[f&>Ebr8IjY$0'qFq;MASqr._Yio1Btqr.ki S(?QS!92u "J#DapV?Rc!SIGOjT#;WjT#;ZjTl%HjlN*fjlHOAjTu+IjlN*fjlH^'r8e1fhWg?%E"hWL\e-P0t!9N=U("E3D!=%KHjT4$6roF+[qrItbZea`e!<)!_jG##CjT52=!!)oX"9@QF#2oC? #R.Qjjid_djT,8@"U3cEje2\AjT4$6roF+[qrJ+fZea`e!9N;HhYcI;!43*6roF.bi;;U9!W1s[ jG##CjTiTqpYq_Cs7_$~> "E4,)n"BI/!R1TCf`2$Kf`2$Nfa4;g]?t=;g"@I?rn/*\(q\10,MCbJ(:;VEg"E#8]?t=;g"?Am f`B=srn.8OqUl.I(q\10,MC`MrRh2nT^:>4bl@[q!s%$-!<(RY!86$WW7JK^g"@I?pt5`Lg"?B( fa&aJe]`+8g"?B)f`2$Of`qN1fr#UmeV!8B"jI#"ftS3ufbo'*fr#UmeUuQ.V\ZYiKA"p^7F9:u !86$*rRh/NrRh/Nq:PiMg"?B(fa&aJe]`+8g"?B)f`2$Of`qN1fr#UmeV!8B"jI#"ftS3uf`cXk fh?Atrn.IK)SOR:!;kFY+Fq5XbCL/Vf`9^Y<`f4P"frQDf"l"df`B=srn.8Oqq2N(He$>^!86$W W7JK^g"@I?qUkiKqq2V_g"EGDY1CF%g"@Nqe]`+8g"?B(f`e)f][CNpmF_Nas8L[O!;kFk+a_b` F9("IV\ZYiKA"oXg!`)Sg"EGDY1CF%g"@I?rn.E+W7JK^jk0m3n*eD;s8V\@~> "GZgForS[b_b3\'ff)Pa.!s%<=!<(ja!9)m4^>GpsiSb'bpu);TiSae8 iF/;iFP'nen3n"ANJ#cB&V\dJDJCC !9)l:rS[_VrS[_Vq;DDUiSae8iGpsiSb'bqV_DSqr&1giSecA`8A1&iSb*>ho\jtiSae8i<Gpsjl$HMoCLOfs8VeC~> "J#DapV?Ra!SIGOirB)UirB)Xis?uKgVar,j5U9qro4e?DVN)HVrQegB\1Ekj5VD&gVar,j5U., irRg4ro3tYqVqi,DVN)HVrQe;rSmn]g$I`"f`1s2!s%BA!<(pc!9<*Vc/44"j5U9qpu;GVj5U.< is5e$iP-Z=j5U.=irB)Yis,SEj"+lqbrSmkXrSmkXq;VPWj5U.)"Z:&BhQ8HuirRg4ro3tYqr84j^#?^P!9<*V c/44"j5U9qqVqPUqr8=ij5W"3dGCuYj5U9UiP-Z=j5U. "E4,)n"BI-!R1TCf)PgIf)PgLf-Jm_&dCD;f@QZ+!8#iQC_?q5a4JqoGo$Zbf@SPh&dCD;f@L#i f)a+qrmq,MqUZ#'C_?q5a4JoCrRV+D%fl"K!R1TCf)l$)f)Yd$$ino2W\=MlGLtH>%flFW!s$s) !<(LT].!gm=TI(*!<1RM!<1RT!8#iRGo$ZbmFMNcs4>k,@/SUo`=1ALGo$Zbf@ST!(C!mkf?-,Y% UT4ff)Yd$!!)uL!!)iH!s$s)!<(LT].!gm=TI(*!<1RM!<1RT!8#iRGo$ZbmFMNcs4>k,@/SU[` =1A1!bMA_"k@;r#YtKuf*f#c('+q2YLhA+f@Tp#rmq:5,Qns)mFMB_s8LXI!#!nq.0C)`!8#i&0 EW/9f@QZ+!;k@J!;k@J!<1R\N[+`EEnApT.0C)`!8#g&rRV5(C(1GG!:AA=bl@[o!!)oJ-bCf0% p8naf@G3`#$':,!8#iN5XX/TN[+`EEnAp9%fk55W\=MlGNIEZT^V?lDuTce~> "GZgFo3s5+":EuG--OmV$,f)Pa,qZ%8dQlH,DH2uj[ OWjlQTASOA#QXbZ!!)oR'*-qIhK'S;-B[3CQlH,DH2uj[!<(dYge\4eErbUb!S7;MhZ*ZRh^=d2 !>p+_hr!6s%Ld[@hZ2Qkdi "J#DapV?R`!SIGOiW&uTiW&uWiZuo7"qu%8io3K3!93"c4U)R?i8WbK8-p00io8?K"qu%8io0t* iW7^3ro*nXqVhe.4U)R?i8W_rrSdlL"9@iK!SIGOiWB2?iW/r:$io;HFqb*:a5Z)L"9A8W!s%?? !<(m_F:nX"U&a34!<1sX!<1s_!93"j8-p00mG\<%s5N#Hd/;l@@:8*I8-p00io8T]#oTPuiftGb -E$q(iW/r:!!)uW!!)iS!s%??!<(m_F:nX"U&a34!<1sX!<1s_!93"j8-p00mG\<%s5N#Hd/;l, @:8(`!n%#,"jf43)jUa+iX:i-#m;>ah;[Doio9k9s5F4=>7h#s[-ciRf`1s1qZ%8gF:nX"U&a34 Fqb*:a5Z)L"9A>Y!!)oU'*.%OhHLQq2RMK'F:nX"U&a34!<(m\dQ%FLSH/':!SIGOiW&uUi[8g\ ![FE>io8T]#oTPuiW.ut[g\tihHLQq2RMK'8-AqPicZ">1rn_;"Mjd+igg#JJ,~> "E4,)n"BI,!R1SRecF"pdaeHCs/jiQbl=']!R1T0ecF&$cIN$?s/+?Jbl>$#"JG5Pb&@:ZJ,~> "GZgFou4-dbY#Us/k,Yf)M,o!S7;:h>tk2cJATQs/+WRf)N)5"L@XjeqX2(J,~> "J#DapV?R^!SIF^huVL1dbk/Ys/k2[f`.>s!SIG "E4,)n"BI*!R1SRe,dendaS "J#DapV?R]!SIF^hZ;C0dbb)Xs/k/Zf`.>r!SIG?hZS\e^)3`mhZ;C0VV_F,s0LSc_"[T_SGrP=~> "E4,)n"BI(!R1SRdK.SldaA0?s/j]Mbl='Y!R1T3dKH!X!]%F6dK.SlVU>Lhs0L,VT^V?lDuTce~> "GZgFo!FkgB#n*VV;.&s0LG_ZLd\=LAq4'~> "J#DapV?R\!SIF^h>u:/dbY#Ws/k,Yf`.>q!SIG?h?7$h%V=D?h>u:/VVV@+s0LPb_"[T_SGrP=~> "E4,)n"BI'!R1SRd/hJkda8*>s/jZLbl='X!R1SPd/hJkVU5Fgs0L)UT^V?lDuTce~> "GZgFo "J#DapV?RZ!SIF^g]?(-dbFlUs/k&Wf`.>o!SIF\g]?(-VVD4)s0LJ`_"[T_SGrP=~> "E4,)n"BI%!R1SRcN28ida%s "J#DapV?RY!SIF^gB#t,db=fTs/k#Vf`.>n!SIF\gB#t,VV;.(s0LG__"[T_SGrP=~> "E4,)n"BI#!R1SRblQ&gd`hg:s/jNHbl='T!R1SPblQ&gVTf.cs0KrQT^V?lDuTce~> "GZgFo "J#DapV?RW!SIF^f`Bb*db+ZRs/jrTf`.>l!SIF\f`Bb*VV)"&s0LA]_"[T_SGrP=~> ")n#(mt%-_TRibeTYI0"mfCRLrr7K~> ",?^Eo7=2uZ@T<4ZG3^Fo)[Esrr7K~> ".];`pOU,2^k':P^q[\bpAs9Drr7K~> "E4,)n"BFT[dJ_HJcC<$QN%)\n*eD;rr7K~> "GZgFo "J#DapV?P'[dJ_HJcC<$QN%*'p\3[;rr7K~> "`O5*n"B^V!!*&-mXbChs+139rs,4cn&fSKs7:a~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8VnF~> "`O5*n"B^V!!*&-mXbChs+139rs,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8VhD~> "`O5*n"B^V!!*&-mXbChs+139rs,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8VhD~> "`O5*n"B^V!!*&-mXbChs+139rs,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8VhD~> "`O5*n"B^V!!*&-mXbChs+139rs,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8VhD~> "`O5*n"B^V!!*&-m\Bd^!3H2#!3?,"!.k0Ers,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dKpj!!',#!!')"!!%TMUAkJ6p\3[;s8VhD~> "`O5*n"B^V!!*&-m\Bd^!3H2#!3?,"!.k0Ers,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dKpj!!',#!!')"!!%TMUAkJ6p\3[;s8VhD~> "`O5*n"B^V!!*&smf*7i!='fQ`Vo3.hc10i0VeX8!WWPnrU'\^!<)SOqu6om>S%&n\c;^-!!!0!rr<&urrhjH?2joSs82is"T&/t !<)rq!!!0!rr<&urrhjH?2jorrr<&ErsemH&d__>s8W";&d__>qu6WroD\djfDkgMrVlp!rrB8& qu?^"rVlrr,lkm`#GCPSb&@=[msk~> "bupGo "J#DapV?P'r9jRb"9K)jJEQn!"f3mU%TM "`O5*n"B^V!!*&smM5fjmchuL$*N^ajrJEokGo5mmd:'`BE%<#fF7iZmK5e"#O;P!<<)c-$TCh!7:`Hf.6Xr !!)ip!S8k!rs/W)s6M%Us8N)jrr<&ErsbMLiqJO6s8SW?iqJO6qu6WroD\djec,ULrVlp!rrB," !S8k#rrTSk!6"mBT^V?lDu]k+J,~> "bupGofaB@diboW;lld@diboW;HSp!;$3j!7h)L!<)p!!<3&" rrJL(rVlq/M#bKo#I "J#DapV?P'r9b=#mdB)D:FbPqm\UVtkLjhpjmMO:%GCaK!b>a?rpBmR#Co/>mKEUYmJndKpOS@`ah>@3P!;$3j!7h)L!<)p!!<3&"rrGI' rVlpHcN(o`#Jg*.igg&KpOE~> "`O5*n"B^V!!*&smJm7bmKL0>md?N,rU'm/)=HnmedqcJ!bbm?rpBpD%.7bBrpBsjmd:)@4/DlD !!)HTj8T)ZpAY0m!qZEmr;ulr"Uso#s8E)trrW0]a8>l>!<;+!OT,7o!3mUL6h(-U!3mUL6h(-U i&h8YG3/`*r]A0qrr<&qrrW0]a8>l>!<;+!OT,7c!3mUL6h(,#@/g0,q%N],rr3@q+Tspgs8V"> #SVC=rs]dus8Vs+s8Nnhs8Vs+qu6p%Yoa-:nGd`@rr3#p'E%q1rsP;>"?bcFs56!F'6`OD0r]A1"rr_p*mJt3*#GCPSb&@=[msk~> "bupGoLr"8Mprr<&qrrW*1o)&Fi!<9bA^&J$;!.tmj?MsgO\c2U0nI>Ess8NN,FVG*\q>^K% .Kgf[hu=,ipAb0d*rl6EpAb0d*rGsC!.tmj?MsgO\c2U0nI>Ess8NN,FVG*\q>^K%.Kgf[k5PD] rVlp!rrDrr(#hgm"[hk\s8-%-'7g/`s8-:8%:f:VrrW*1o)AXkkn "J#DapV?P'r9aObr9a_GRI9J\`Vo3/4dtg,!*sI@mK*mM!<2BhBj^9;g]$UF!:K7TcPbjDmJm7T mc4N#i'R _VbA&"8i,ufm*Ps"8i,ufm*Do#QS6?&VC#^&``lj!Q$5_!<<'-q,[t8Fo;:>N#i'R_WLju!<)p! !<3&rrtWX5"q+f7s8VIP"WsrKs8VLX#8`'maSu>5'D_Y-"0Fif!6"mB_"[T_SH&W`J,~> "`O5*n"B^V!!*&smJm7bmKMeXmd;O;rU(*Y"n(dYmRMoth?`BHrpBoC9^^=CrpC*nmd:)CgCiT8 mJu\Cj8T8_)Zgmkp\b$mr4*U7rrM9qqu6h\;sa@a)Z9U9hB;[p!s%'iW;Z`1!$'bdHnGBu!$'bd HnGBu-]IceLunX;hB;Rm!!)lq!T"sqrrW8U'WD!1%fdU(omA@klO*Lgs/eE`!<)p+arJq-QR)V2 -]IceLu84A(#/cgqZQs!(#/cgqZQfr%fdU(omA@klO*Lgs/eE`!<)p+arJq-QR)V2-]IceM!"^; !<)p!!<3&rrtQ0GoD>@(s8ThThY)I"s8TbOg\#kCaSu:t+T; "bupGo "J#DapV?P'r9aObr9aa"..6L,l2C#Y]IN@;!9sjJmX%Lm!<2Bh'[c>CL&UKI!:K7TmXeX0md:)C mc4$_hs8OTrp"LG!aSu9 "`O5*n"B^V!!*&smJm7amK "bupGo "J#DapV?P'r9aObr9a^Q"n(dZr9bco"n(dYmRW3&'[H+Hmd@2'mI&g:kO.a*s4Ak%rs#XnjSo2[nGa*c-ia2Np ](9$!<<''p](8u29Gk"q@*)srrdjds8N);rs-@6pYq_Cs7_$~> "`O5*n"B^V!!*&smJm7bmKMeXmd;L:rU(3\"n(dYmd2]m#N5"Mmd@R^!"C@EmJu\C!:K:Bas8N)trr<6$!!`Q)s6O&6&VfHJ!!)Zk$0b+p !!!'"rrr2srr`?%rrr2srr<)ArrM0srVm")N;rnX`;^(8n*eD;s8VP<~> "bupGo`"15krrk!0o^mnjrVlo33;NRV!1jP:rVmQ3rr<#s!rr9#rr<#s!rr;E 9GAYRk5PIq3;3@P!;lcs]f>if!s"o"`VofI!<3#ur "J#DapV?P'r9aObr9aa!.dl^.l2C#\]diIb$3 "`O5*n"B^V!!*&smJm7bmKL3@md?H*rU(6:)=HnmmdA$s2t$)6md2=(rpC$S#i=tLmd:)SmK;Me dfAh(hu<`S"8i*!rW2`m!nA!\q>UU)nGiOf!WE$!@>am\"9AJX'SQJc%03d8s7Z`trrBG+s7Z`q rrL^Tk5PHjMY@&M!;lcs@>am\"9AJX'SQJc"TYq0s7Z`srrue*$h=8s!WE$!3l^sp!S7M0rrM!q qu6]S)Z0OrrHPcrVu`p`W$19n*eD;s8VP<~> "bupGo`7K^S7.mck/:rpC$K$L7$Zmd:)SmK:uS k5arUU"r;Zfo"9&6#)r(2g"9AJ.$+'X2%05eqs6U9qrrDHds6U9n rrKkAk5PH$g\1XI!;lcs)r(2g"9AJ.$+'X2"T[ris6U9prrsF1&H)S.!WE$!%eBDp!P\urrrK8e qu6]"5PtHa!:Bgdm1''p"risAr;ZctrVlm.o(`4c^C'-'!!)Zk'b.A;rqQQorseDrs6]merseAq s6U9;rrF(nrVu`p`W$1KoCLOfs8V\@~> "J#DapV?P'r9aObr9a_GRdTS\`Vo394dka+!:K86"NBfs!:J\MkPjlSXsNK'!:K7TrpBl^5O/=; mbe$FeJ\8a!U^9frrRNrmeQkd!WN-!mg9!n!r`Vtq>UQts+D*Brr3E-p](9#2ZNdWp](9#2Z "`O5*n"B^V!!*&smM#Zhmcr)O$EigbjVi-lkc>Dlmd:)OmK3IWdM;]J#),e>!:K7TrU'a*+TUru j8TQH_tiVC+ohR'a8,7r')2D-]aV:Frs/W)s'\djqQ15+rrMBrq#;<6s8V=-Du]h;*SpI?/H>_M *SpI?/H>`-`V\Wrs[$ic2?UIs 8Osqqq2/8rr<&krtQoCqXB:@s8TbRhY2R$s8T_Oh"H(Db5VM-&GZ8*!6"mBT^V?lDu]k+J,~> "bupGoCB+;6 9()+>CB+<;fDWMmkPkS,,l@TA!;uis!;uitbTuu`%06G.`X8@[ZmRh6nrrTh5WW)nu$0D0d% "Lq+rR>$Ns'"%Q_$]*"%;+btZ4H*ts(:EgZ4H*prriBpmd<\^rr3&4!3,tt!=@lersXELhYkr-s 8Q9SrP8j'rr<&krtPmQrT.>cs8Q_+mdRb5VLd,l%B>!6"mBZLd\=LB%;FJ,~> "J#DapV?P'r9b7!mdB,F:b(Yrm\1>pkh0tojmMO:qX+FcmS/K7mKOBRmJu\C!<)JEHgd7!JD*!adqXqu6p%s8NM2qWgpdrr3"AF85bT!<<(d%*nnQ!.ah"*P_XS!.ah" *P_XSHKP'h-g1L1F`[H[!!)rs!!)rs!HiJYrs\u.s-O5?s8N(LpY?k)rr3%-!8[YS!jk5PD]o`#X0eG[rJ!<<'KK(n+C!<<'JI.l>7]ZU6TF`[?X!!'t;#Jg*.igg&KpOE~> "`O5*n"B^V!!*&smf!1g"s@*erU'jG;[ig]U&OH[!;c*c!:FE5r9adC%IO5amK!1Q!HnJ2mc45nT-*s=msrr3&`$2=H!!ko9Irr3A) .g6oJs8U5%"!! "bupGoO;4W@\/c>OhIfqZ%$"s4Jb!s5#mC#!UoCrrFLeq#: "J#DapV?P'r9jOa!tI,9kPafPTe6HW;Vh??!!)l`!s%`ug\gIDAnCB1md:)RmK2_j!:K:8rsaf* "!id&s8Ror!ZlFYp](*j$iU*bF8u9G/-?;[o)AXi&a9#i!!*#u(p41Vrr?F6&:a]Zrr?F6&:a]Z s+M6n45oB&!>4PnrrJ+#rr;lrrr3!2kkP/X!<3!)XpM]>!+6-FJ,]HI!FJP!rt/*3!<<)rB+kJ4 bQ%Tr(But[hu(rr3+F%1Q>(qYp^!?j[Hprr2ou?VLFu&Q&]3s8Vt/'*^VCs8Rch#!:f- s82ljrtU/#![tMXs8VCL" "`O5*n"B^V!!*&-m_f&*I=g5R!!(OK!I]RRrrJ6iXT&<`@(-(9p'?6Lq>U\mn*eD;s8VP<~> "bupGoU]*oCLOfs8V\@~> "J#DapV?P'[dM'5!>FkTrr<&KrrEf#gA_0jiiN.\(ui"(!N\V=s7u["_"[T_SH&W`J,~> "`O5*n"B^V!!*&-m[O4V!3H2%c3sNOrrUIRqml_07H3re."VEors,4cn&fSKs6kI~> "bupGo "J#DapV?P'[dKXb!!'/$!rZ\2XoAJ$AQH>@"I]&<*57"(q>U]8p\3[;s8VhD~> "`O5*n"B^V!!*&-m[O4V!3Q8&!">C"rrN0/S@JS%]-.8>jFR@,rs,4cn&fSKs7(U~> "bupGoM]NY2Usq18SArs,k$o@AZrs7Lm~> "J#DapV?P'[dKXb!!'/$!WXe>XoAG&/FL%J"DA,RFSp^iq>U]8p\3[;s8VkE~> "`O5*n"B^V!!*&-mXbChs+139rs,4cn&fSKs7q0~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8W"I~> "`O5*n"B^V!!*&-mXbChs+139rrf"`n&fSJs*t~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%*'p\3[;rr7K~> "`O5*n"B^V!!*&-mXbChs+139rrf"`n&fSJs*t~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%*'p\3[;rr7K~> "`O5*n"B^V!!*&-mXbChs+139rrf"`n&fSJs*t~> "bupGo "J#DapV?P'[dJ_HJcC<$QN%*'p\3[;rr7K~> "E4,)n"BFT[dJ_HJcC<$QN%)\n*eD;rr7K~> "GZgFo "J#DapV?P'[dJ_HJcC<$QN%*'p\3[;rr7K~> "E4,)n"BFT[b663JcC<$QN%)\n*eD;rr7K~> "GZgFo "J#DapV?P'[d/MEJcC<$QN%*'p\3[;rr7K~> "`O5*n"B^V!!*&-fn'0Ss+139rs,4cn&fSHs8RT~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_As8RT~> "`O5*n"B^V!!*&-fn'0Ss+139rs,4cn&fS;s8RT~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_@s8RT~> "`O5*n"B^V!!*&-fn'0Ss+139rrf"`n&fSJs*t~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rrg.3pYq_Bs*t~> "`O5*n"B^V!!*&-fn'0Ss+139rrf"`n&fSJs*t~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rrg.3pYq_Bs*t~> "`O5*n"B^V!!*&-fn'0Ss+139rrf"`n&fSJs*t~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rrg.3pYq_Bs*t~> "`O5*n"B^V!!*&-ft[Oe!2TVp!13]c!.k0Errf"`n&fSJs*t~> "GZgFo "e>MbpV?h)!!*&-lbEH"!2TVp!13]c!.k0Errg.3pYq_Bs*t~> "`O5*n"B^V!!*&-ft[Oe!2TVp!13]c!.k0Errf"`n&fSJs*t~> "GZgFo "e>MbpV?h)!!*&-lbEH"!2TVp!13]c!.k0Errg.3pYq_Bs*t~> "`O5*n"B^V!!*&sf`2$Lf`;*+o)JdDrW!!(1UHl0!jr+drRh/Nrn7,Jo\&j9"nPt1"YmRersY;4 #?(L"s79J,"YmRerre`,#?(Knrre`,#?(Ksrr<&/s82lqrrhal%Lm[[rr<&jrr<&1s82lqrrhal% Lm[[rr<&jrr<&OrrpqR%1>SOrVlrr,lmrE!W`6#[f?=,]Di#,n*eD;rr7K~> "GZgFooCLOfrr7K~> "e>MbpV?h)!!*&slMpq^lN%"Oo)JdVrW!!5AEN[Q!]L5"rTaF`rp0C\o]u,K%(\.s&6nc+s8,Xu (n1I(%(\.s&6nc+s8,Xu(n10u"T)%$(n1=$!!'P/quH]q"KaB].`D5a!!)Wj!!'V1quH]q"KaB] .`D5a!!)Wj!!([O"e%+J)g(rTrrUap!<3!"!<3&-s8E#1rrg.3pYq_Bs*t~> "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Nf`_B/g!FsXpt5a3D$SYkf`2$Lf`2$Bg%54a?Vp%` X:5./gCr-0B2AR-?Vp%`X:5./gCr-0B2A:%"ks^@oOgtsrr<&/rr<&qrrr':POS$qqu6WroD\dj ])Ma1qYp`l*g?*^LAUuN!;$3j!8.;T.&62'RM5Z"!jt/krr3$"rrBG+!!'Y2#GCPSb&@=[o7-~> "GZgFofc]rr<&jrr<&Orrkj$o^6`NrVlq/M#dPT!W`6#[/U++]Di,AoCLOfs8VeC~> "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`lNI:Slc^c4q "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Nf`2$Of`BY+q:Pnl$e\iorn.8Oqq1rLn_*O6*=VH; s8E*"s)i\gs6gHtrs\Dss8E*"s)i\gs6gHlrrmOls8VNtqu7?1Yoa-:nGiLgYoa-:nGiOH49uUD bl7YCqYpSk;"stq!3mUL6h(,#@/g0,q%N],rr3@q+Tspgs8V">#SVC)rr<&qrrJlkp\tL!Yoa-: nGd`@rr3#p'E%q1rsP;>"?bcFs56!F'6`L;!W<*!rr_p*mK!7d!W`6#qu7E$B+Y1ucN!qDIh2up !<<)uKGOkama1t6!5&79T^V?lDu]k+J,~> "GZgFos8Vru s8O(ls8Uams8N3!s8Vrus8O(ls8Uamp\tC:g&M***W,jN!.tmj?Msj'!.tmj?Msj'Zml2"R*>R1 !;c]r5HX\[#QTJi$"!Q0.(T?W!V$Wt!<<'-rcJn\<;HRoZml2"R*5L0!;c]r5HX\[#QTJi$"!Q0 .(T?W!V$Wt!<<'-rcJn\<;HRoZml2"R-">KqZHit"6gHq!<3!"!<3&rrtXNc$3`ffs8Vt$#nqji s8Vt+%1QhEd/O(G]Di,AoCLOfs8V\@~> "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`lMpqalN,*@q "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Nf`2$Of`BY+q:Pms7G5Egrn.8Oqq1rLn_*O6*KO.c qQCh;ruBtss83$"s,U+FqQCh;ruBtss83#orrjD#s8W!"qu7?1*8C.6/cYhN*8C.6/cYhuN:u[q bl8+P)Zgmkp](7DQR;u!gACm\!$'bdHnGBa$Msf&XZZU`rVm;K*7XhO,ldllN:u[qbPr"O)Zgmk p](7DQR;u!gACm\!$'bdHnGBa$Msf&XZZU`rVm;K*7XhO,ldllN:u[qjo5AE')qn5MI?Garr3$" rrDrr'b[M;qkY;4s1]W3p4*/Cs1KB+om/.8rr<&2rs,4cn&fSKs6kI~> "GZgFo "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`lMpqalN,-@q "`O5*n"B^V!!*&sg%bXHf`2$Lf`2$Nf`_B/g!G'[qUl2(#g1iQ,+[E?!;kFL!:eb6rsAHW!!!;C s8N2urr3B-s8VjN!!!;Cs8N2urr2s!p\t6rqu6Tq!W2m0!42_*pBU`u!42_*pBU`u2L3usrsShb CG#Sd">Ag1OrO;u%fis9s7Zcus(Ym?pC?Hf!<)p)5I^[mqZ[$"2L3urrsShbCG#Sd">Ag1OrO;u% fis9s7Zcus(Ym?pC?Hf!<)p)5I^[mqZ[$"2L4!:rsA0EZiC'k&,lM.nc'4""onT\[f?C%!<<'UZ N't!#13AM!5&79T^V?lDu]k+J,~> "GZgFo!s6UA!!'Y2#I "e>MbpV?h)!!*&slhLPZlMpq^lMpq`lNI:Slcpr5qWeHf-0jgN#j(C/XuY;%flA(s0FZarsn&gZSMLZ!<)p)#P\8ufIR"%#-R@6rsSY=)R]VF!L3B>/XuY;% flA(s0FZarsn&gZSMLZ!<)p)#P\8ufIR"%#-R@Srs>\Pp&G&BC&e25nc'3d-ia2Np](9$!<<''p ](8u2:2@'!5&79_"[T_SH&W`J,~> "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Ng&:sS"Ym46g&;!Of`7rJ!!=P#f`:p&!!)QBoD]hW :[7bW'EA(Oi;`iT"TSLJ:[7bW'EA(Oi;`iT"S_p")rUbrqulos! "GZgFous8Vftqu70,rr<#s!rr;?(&gdms8N)trr<-!!!`Q)s3+.N+g8rd$1nK&rs/;us7Z`p rso,/s8W$!s8U(Rr^iOXrrE#t!!<*!#6Fl)bY/]oYNPoe`"15orra=ms8N)lrtWO7$31&,s8N-! s8W#ts8N-!s8W#ud/O(G]Di,AoCLOfs8V\@~> "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`li$ke&n0nfli$nalMr@2!!BXplN$hJ!!)QToD]gE XSM-WHiO*Jr;ZfT*WQ-QXSM-WHiO*Jr;ZfT*V]R;"8r3!i#V^p!!*#u"SW*"rrE&u#knN&s/8*f 1u?=R$.'^mrri9"s4\=drr<&ursSQ)s8Qt6ruThmrrE#t!!3#u#6Fl)W'1MEhT,X&clN/d"T8<" gD9\d!!*#u$hji)s)(^6*n^Mm!<)ot!W "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Nf`2$Gf`KeMTDmLHdg4.M!;kFL!:eb6ruDF8s8W'! s8R1fs8VNts8NDps8W'!s8R1fs8VNtp\tD=HiO-7%f?88!4;e+pBLZt!4;e+pBLQq!S7LrrsAQ) s8R>us8Vruqu6g"[/^1##6+W,?;Ct!s8N,urrG1#q#:BH"ipWLqZHluGh`8uqZH`q"TYq0s7Z`s rrue*$h=8s!WE$!3l^sp!S7M=rrU^bV#C>j!;?F-2MUPrquHcs27NVcpAk6n1p[/]pBK"E!!'Y2 #GCPSb&@=[msk~> "GZgFoQ/1$Io(7"Ome8iW/l8!!)QKoD]g4r;Zfo"98B@ g&M***WQ-@r;Zfo"98B@g&M***V]R;*81AlfcBti%05eqs6U9qrrDHds6U9nrrKkAaSuS>#64]E p](9e#5eE(!:Bgdm1''p"risAr;ZctrVlm.o(`4c^C&$]$2"N&ruUq7s7QZorriDis8VHqrr30A R1T;rrrN)u!=n\qrrKkAkl1^`%at=UqZ-?i'b.A;rqQQorseDrs6]merseAqs6U9Brr<&2rs,k$ o@AZrs7:a~> "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`lMpqYlN5fIjo4QKX!R&s!;l'^!:fCHruD.>s8VNo s8NPss8RFhs8N-!s8VNos8NPss8RFhp\tC+n,NE7G5M:K!;HNnZo7sa!;HNnZo7m_!reH7aSuRs )?9^Hqu?]M(]44C!;HNnZo7sar="EErr($lrfntRrs@3ns8NT+s8Udhqu70,p](9# 2ZNgU%#-tFs8N,urrEB#q>UNqPq)"t!dcBarVu`ppAYj3a7fPn!<<''p](9$!<<''p](8u1sl7& !5&79_"[T_SH&W`J,~> "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Nf`2$Gf`Ai$r7M0t8(dn>f`2$Bg%54a@8Z@eXUY=1 g(W'1BMSU-@8Z@eXUY=1g(W'1BMS=%"kjX@ok7+trtGGRh=lFNs8N'>h=lFNs8Osqqq2.srs^m( q!$0niJ1U^"!os>[rr3!E]`.p>arJ\(j*C\)29#IG"mQ$g]aV:Crr<&lrtQoCqXB:@ s8TbRhY2R$s8T_Oh"H(Dd/O(G]Di,/n*eD;s8VP<~> "GZgFoQ+F0)X]2/"bf$qr.SUn`'0?*?0q0ona[gs.M%0 l7Jb1ru6mhona[gs.M%0l7Jb)rro)JlKTsqqu7?19()+>CB+;69()+>CB+<;fDWMmbl8,VeG\9! ;ZHcpB(>D&6i6le!(u\I8o"A*!k\N4rr3!*jo58gJ4\Vre6;nP>1`_h$HrGY>L`W/9iD#kVe5Jh AOH@p"TV0_mRh6nrrTh5WW)nu$0D0d%"Lq+rR>$Ns'"%Q_$]H,!fduPq#:a6]D^ht!<<(3 :%%FC!<<(17d]S3A^LGW!5&79ZLd\=LB%;FJ,~> "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`lMpqYlN'\6r9FFucg(T.lMpqTlgt,s%'TNn:LaA( 9ka4N'ANQe%'TNn:LaA(9ka4N'AN9]"\i\'ee?g8rtGH`pY?k)s8N(LpY?k)s8RE-qNWGPrsa>8 rQQI_s8Q&_puEurqu6g"JG7k?^]+67?i]$^rrE8prr3BhGO,(A2?3]&k5(>jbPr#uj8I4FVuQcr Pka;jSGW "`O5*n"B^V!!*&sf`2$Lf`2$Nf`2$Lf`2$Nf`2$Gf`>>dr7M.l%,(LX!SIJCg%54Inl-#"/@5?U%%% h8;>gIonl-#"/@5?U"IKu0;>g.f"IKu0;>g=k'EGB["@;GTrrB;G"@;GTs2m>(*0&2B"jB48&68 #prreu6"?P65rriD-*s=msrr3&`$2=H!!ko9Irr3A).g6oJs8U5%"!! "GZgFoQ)l\,>4e[2\-&!!2'Zn`'0?%,O,O#!UoDs8HpF $ul4G%,O,O#!UoDs8HpF$ukq?"TE "e>MbpV?h)!!*&slMpq^lMpq`lMpq^lMpq`lMpqYlN%IJr9OAn!:0L^!UBaUlgt,bZ7H(d<:^(h qbRJ5RK!3pZ7H(d<:^(hqbRJ5RJ-X`qbRJ5RJQpt!+6-FJ,]KJ!+6-FJ,]KJKbjqTiQV<2M&c[D MZ*STrE'=:Du9G3"TVp;&:a]YrrHJ#rVmI,"T\T&qe$QH4j3m*KbjqTiQM61M&c[DMZ*STrE'=: Du9G3"TVp;&:a]YrrHJ#rVmI,"T\T&qe$QH4j3m*KbjqTiT^C>!!)uqrr<&lrtU/#![tMXs8VCL "Qp\3[;s8VhD~> "`O5*n"B^V!!*&-fsgt]!2KPpO^ORV!KgcmrrMg!Jc>tJn*eD;s8VP<~> "GZgFo "e>MbpV?h)!!*&-laQlo!2KPp(ugq_!>sh!rrK2fJc>tjp\3[;s8VhD~> "`O5*n"B^V!!*&-fsgt]!2TVrc3sN;rrUIRqm$/(7H3re."VC'T^V?lDu]k+J,~> "GZgFoa)?-o@"EX+u7V%)M#I "e>MbpV?h)!!*&-laQlo!2]\srFK#trrW.1GT^4H:h_"[T_SH&W`J,~> "`O5*n"B^V!!*&-fsgt]!2]\s!">BcrrN0/S?W"r]-.8>jFR=9T^V?lDu]k+J,~> "GZgFoei"HF*#<;D+F#I "e>MbpV?h)!!*&-laQlo!2]\s!%dQ+rrN0Om]c]oBF5;mr.4kQ_"[T_SH&W`J,~> "`O5*n"B^V!!*&-fn'0Ss+139rs,4cn&fSKs6kI~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_Cs7_$~> "`O5*n"B^V!!*&-fn'0Ss+139rs,4cn&fSKs6kI~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_Cs7_$~> "`O5*n"B^V!!*&-fn'0Ss+139rs,4cn&fSKs6kI~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_Cs7_$~> "`O5*n"B^V!!*&-fn'0Ss+139rs,4cn&fSKs6kI~> "GZgFo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_Cs7_$~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;s8VP<~> "GZgFo "J#DapV?P'[d/MEJcC<$QN%3*p\3[;s8VhD~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;s8VP<~> "GZgFo "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;s8VhD~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_Cs7_$~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_Cs7_$~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_Cs7_$~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_Cs7_$~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_Cs7_$~> "E4,)n"BFT[dL@!!!',#!!&Yk!!%TMUAkIkn*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOm]ZWj!3H2#!2'8k!.k0Ers-@6pYq_Cs7_$~> "E4,)n"BFT[dL@!!!',#!!&Yk!!%TMUAkIkn*eD;s8VP<~> "bupGo "e>MbpV?h)G6%ZOm]ZWj!3H2#!2'8k!.k0Ers-@6pYq_Cs7_$~> "E4,)n"BFTr9aUd(@;"f!SOs8UPG$O]8Bp](-k#R(2- do$P]6-9-+"R]A%%=%dM!!(+?"k-?W$UMo6rs\ s8UVM%1>SOqu6WroD\djfDkgMrVlp!rrB2$!rF8D]`/50n*eD;s8VP<~> "bupGo "e>MbpV?h)G6%[@mK!<3r9aRcmeQn`mf!1f'P6OWmcsiO!<)p,RP4j`FSc%;Qn8FZDts),qu@!C s8SH<"<)4Rrr3,'0a&uEqu6WraSuF2/Hcu1q#::%XYBr.`;fkK0a/+moDAOf!;$3j!5ea=gcYi] U&P&qRP4j`FSbn7!!)Wj!!(XNrW)os!W`6#XoAIR+TT1T#Jg*.igg&KpOE~> "E4,)n"BFTr9aUdN_B?=!!)uc!!)uc"T[uYjFe;smcaZN!<)p,.&62'RM5`$-Cj8rZk)d.&_AQ5 s!F9!qm6n6s7IFsnF),/rr<&?rtQlNkPMUss8Va5POS$qs8QG&lM7Liqu6WroD\dj_Z((9/)p;b <<)tHU[@cD'Dqe0!;$3j!7h)L!<)p!!<3&$rrTSk!5/=:T^V?lDu]k+J,~> "bupGo`9YOV=I,P1pI Qu2m'6*KhPO!F])k7=fjjCJ/f!!(+?'g]%np5^Hus5sosp>fcaru6ddoS4C_rr<&jrr<&9rs_D+ n*a\`s8PNto^6`Nqu6WroD\djec,ULrVlp!rrB2$!b7&e]`/5BoCLOfs8V\@~> "e>MbpV?h)G6%[@mK*A0`Vo3)!<)ep($ "E4,)n"BFTr9aXelT:pAmJm7cmJm7cmJm7dmK)STddH?!!!)ip!W<)srrN*#o`#!l43.6u"o\T' s.`EbrtGI<*sG%$s8N)(*sG%$s8V">#SVC6rrrB's8Sijqu6g.nGiOf!rN!'!3mUL6h(,#@/g0, q%N],rr3@q+Tspgs8V">#SVC1rrj4ms8Vs+qu6]q!rN!'!3mUL6h(,#@/g0,q%N],rr3@q+Tspg s8V">#SVCDrr<&trrN3#!;ld2nRiF80@'UtrdPIe?NC-+re)'m8FFY#"8*5n!5/=:T^V?lDu]k+ J,~> "bupGoEss8NN, FVG*\q>^K%.Kgf[k5PD]rVlp!rrDrr(#hgm"[hk\s8-%-'7g/`s8-:8%:f:Xrr_KuqZ+;/#I "e>MbpV?h)G6%[@mK3I8):0q nI,Bs)rLDi'EDMK&VC#^rr?F7&VC#^s,8!$0#H9@"nrriN%s8Ubsqu6]`$iBr0!+60HK)Yc^j8T&Z_C,9^s8NN' "E4,)n"BFTr9adimb8B8md:)RmJm7cmJm7dmK)STddH?!!!)ip!Tt*nrrW,/(A.V-hB;^q$N.FM s8OU9-O)Zdqu7?1*8C.6/cYhN*8C.6/cYhuN:u[qg&D]_\JG5F/!hUf450`7O&PEAY8[<<%fdU( omA@klO*Lgs/eE`!<)p+arJq-QR)V2-]IceLsuA-(#/cgqZQfr!Tt*mrso)Lg\#qGs6C$gs8T2` rrE#t%*BR>qNiK-s!Nd!mYL$*!!)ut!W`6#qu7BDWUp"`*<6&R*o?U@!<<)4)r(%3/'@koMI?Ga ]`/50n*eD;s8V\@~> "bupGoo`"rm;#C8" q3Eo-n2?3[aM&$FspAb.YN:uq%62UZm !(ZDB7rA:P(B4@6=,[(YrVm:S7csAV=o\L/\bkE!e,KRTp](9f#Q+N%_^bQ`%ff,dlpkpmcPHN[ s&Y-Y!<)p+I7EAlB3G97$G$&oB'0*n!<)p!!<3&rrtQltq=],%s8Qh.mHmOHs8Qb%m-I/Sb5VQ( Zi:$ "e>MbpV?h)G6%[@mKWa[Jm.R0mK!4R!!)uc!!*#d!R)5*mcaZN!;ZWqG'X#c!qBKJo`"qhXS`#) nQU\Hrrm-H&TIXErtGH\p"LJ%s8N(Hp"LJ%s8N8Nr6mg^rt=j+K`D&UC(1boqu?[7Z23c`O8Jq_ !.=Io*5MT#<;un",LQMkrVm9dGk(#MZN'q.deqQWe,KRRr;ZfO*rGs$_hs8OTrp"LG!b5VP\ iVrnjrs-@6pYq_Cs7q0~> "E4,)n"BFTr9adimd@25md:)RmJm7cmKEUYmcB3=ddH?!!!)lq!q7\GrVult!s8N3Tj7ncVs8VjN!!!;Cqu70, ZiC("#QOg=?N9a0l2Lb^rsD!"s8Vs"s8P!&g!Tg'QnIIpP6(U]!q7\Gqu70,ZiC("#QOg=?N9a0 l2Lb^rsD!"s8Vs"s8P!&g#W/5!:^"#r<<6$2R`YcpAk6n1p[/]pBJh@"R?TsrrB_3"JG5Pb&@:Z J,~> "bupGo!s8VHrs8N)ds8VHrs8NOsjOjM4!"fS$s8N+3nF1!Us8VO$!!!]$ qu70,mJm4R%fcPP[f>\(qYpQorsB;)s8Vd#s8NOsjO*u25A'HUAHD`/!n\+Iqu70,mJm4R%fcPP [f>\(qYpQorsB;)s8Vd#s8NOsjQ-=@!:^"#q?m9&%IX8rmK!:e%IO2qlj_/<"O/1krrB_3"L@Xj eqX2(J,~> "e>MbpV?h)G6%[@mKWa[mP1s6mK!4R!!)uc"T[uYcma^tmcaZN!;c]sW[@E;s8N'",k^j1!r+s8TDas8N)ns8TDas8N;+mF_I=!"gLLs8N+apu?rVllrrsB#*s8U_%s8N;+mEtq;)O1$X0*M4Q!idU?qu70,p](9"2uimf ir?>?rVllrrsB#*s8U_%s8N;+mH"9I!:^"#l6lW3#5A/t[/g7,#5A/tYr0`)"Ft4drrB_3"Mjd+ igg#JJ,~> "E4,)n"BFTr9adimdBICL[G0@mJm7cmf!1f"ua9FmcaZN!;lctk9Q\srrW&%&G?&(j;7[m$Mq"= s8O(ns8Vruqu6Zsq#:9r!WW0"q#:9u!WW2d?69c6g&D]]Yn6s8*8CMnqZHluH;Ei%X:tL2! "bupGo'+3;WX^ p5LBurs/;us7Z`prtGJ4s8W$!s8N)us8W$!s8U;:'Hs[5rt>$b-3*uMp](9f#64]TL\14o/c5PY !<3#ur "e>MbpV?h)G6%[@mKWa[mc"o9mK!4R!!)ucrW!!4@d)8.kl1V_qu6_a,45:-!prs*p&>&%P5>1c m8S$(rri9"s4\=drr<&urri'"s8N)urs8?&s8T#]#rLMlrt=]uDu]h?r;ZfO(B=CJXSM-WHi*gC !<3!+pBCTsDGgETf`1sOrVliur;[''s8T#]#rLMfrrpt6"='-^rVlqc,457,!!*#u$hji)s)(^6 *n^Mm!<)ot!WtR!rr9$rr3,q!<<'"rr3#n"j?oK%IX8r!5/=7 _"[T_SGrP=~> "E4,)n"BFTr9aObrpBmL(t/K`mJm7cmJm73mcaZN!;uiueJ+hTrrN*"p&>&$MY[8YrW3'!Gh`8u qZH`q%03d8s7Z`trrBG+s7Z`qrrL^Tf`)Q_!WW1Eg]. "bupGoUcu"98BB p](9e#5eE0!:Bgdm1'*q!:Bgdm1'!n!P\uort5,1s8O/7s8Vcss8N/us8Vruqu6g"mJm4R%K?A3 )jq98s8N,urrEW#q#:B0$IA_QY!;pc!iZ[Xq>UTumJm4R%K?A3)jq98s8N,urrEW#q#:B0$Kh?g !;-:+%Bo@%q#LHp%IX8rmK!:e%IO2qm1%8=qZ+>0"L@XjeqX2(J,~> "e>MbpV?h)G6%[@mJm7dmK9.IlN$nO!!)uc!!(:3kl1V_r;QhF.IR$3!U^9frrW0.nG3(jmKrpn% f?;+g)'Yd%06/&s0O]arrDfns0O]_rrW1b.bOb5mKrpn%f?;+g)'eh!WN-!mg8mk%flA(s0O]as 8<@\55tT^!WE$!#Pn2q!reH7ci4#CU]18pHR\CYrso,(s8TGas8W$+L-GV:rrN)u!=/GrrrW1b. d$a2!;-:+#06H;irK,Z#5A/t[/g7,#5A/tYr'Z(qZ+>0"Mjd+igg#JJ,~> "E4,)n"BFTr9aObrU'a*+TVK/!!)uc!!(:3kl1V_rVlr4%(,s4"Zj^"nXU "bupGoCB+;69()+>CB+<;fDWMmh#A*tf_t&\.f]OHB(>D&6i[0*MtQb" *;fa>!(u\I8o"A*!k\N4rr3!*jo58gJ4\Vre6;nP>1`_h$If"^B'/lo&*EolNYLCGrriBpmd<\^ rr3&4!3,tt!=@lersXELhYkr-s8Q9SrP8j'rr<&krtPmQrT.>cs8Q_+mdRa8Z,> ]`/,?oCLOfrr7K~> "e>MbpV?h)G6%[@mJm7cmK-"G!<)jh#A+>k5F+(GQ7\BPka;jSH&TtYPRQ\ @f-0/!.ah"*P_UR!al#arr3!%o`"k!4Ep,e_DVAnHKP'h-e&)&M=L,$*;':2?T@WOrriCQpY?k) rr3%-!8[YS! ]`/,Mp\3[;rr7K~> "E4,)n"BFTr9aObr9aT/!<)(*0&bR"jB48%7\_DrsYP>"?P69s70+t""^eUrriD- *s=msrr3&`$2=H!!ko9Irr3A).g6oJs8U5%"!!`!3mUK61+[O!pBsb rr3&6&chq2$`GQZ*/FRoauKPDNTgE?!;?F-hD#*FB`S25rHo+_?31*+rI>Uf7I8(p!!'\3"JG5P b&@:ZJ,~> "bupGol4R$!.tmj>l4R$VC)Hp[bUldW@\/c>Oh^m%!W9h;>1%ihE;&I52Q2: "TX/f$!dB,rrU7UrVlg/H3jTOs8IZm""U8Ks/%.G.CR_*"I^/35gKB/qZ$Wlr;Qp#K+\Jqqu6Ts a;"UPrt0P`!<<)uKH:4GVZ6[n-Nbg+kl:P\pAYl1+9!<<)r=U5Xi!rr;t?jmHOqoA^:!5/=7 ZLd\=LAq4'~> "e>MbpV?h)G6%[@mJm7cmK2_j!<)k9rE'=:Du9G3'EDMJ&:a]Zrr?F6&:a]Zs+M6n45nup'o]`/,M p\3[;rr7K~> "E4,)n"BFT[dL'n!!')"!Kgc_rrJ6i[f6C%#_E$Orrf"`n&fSJs*t~> "bupGo "e>MbpV?h)G6%ZOm\g'b!3?,#(uh4g!>sh)rrK2fJcGQG"Mjd+igg#JJ,~> "E4,)n"BFT[dL'n!!',#!mV2NU&P2>$i@L7"@_>BHmjRGq>U\mn*eD;rr<"K~> "bupGo "e>MbpV?h)G6%ZOm\g'b!3Q8&rFK$'rrW.1GT^4H=[rs-@6pYq_ "E4,)n"BFT[dL'n!!'/$!WWY!U&P/o%%Oj-"M5fZ4lh1oq>U\mn*eD;rr<"K~> "bupGoM]NY2Usq18SArs,k$o@AZqs8RT~> "e>MbpV?h)G6%ZOm\g'b!3Q8&!%dQ3rrN0Om^W9"BF5;mr.4nDrs-@6pYq_9s8RT~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;rVlhI~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_5p&BO~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;rVc><~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_5nbI\~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_5nb7P~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)G6%ZOmXbChs+139rs-@6pYq_5nb7P~> "E4,)n"BFT[dJ_HJcC<$QN%2_n*eD;rVc28~> "GZgFo<~> "J#DapV?P'[dJ_HJcC<$QN%3*p\3[;naZ@(~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "GZgFo<~> "J#DapV?P'[d/MEJcC<$QN%3*p\3[;naZ@(~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5nb7P~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc8:~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5nb@V~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVcPB~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5oDF+~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVlhI~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_7qYu'~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rr<"K~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_:s8RT~> "E4,)n"BFT[b7/M!!&hp!!'A*!!%TMWrE "bupGo "e>MbpV?h)!!*&-l^RnS!2TVp!42\*!.k0Mrs-@6pYq_>s8RT~> "E4,)n"BFT[b7/M!!&hp!!'A*!!%TMWrE3pn*eD;rr7K~> "bupGo "e>MbpV?h)!!*&-l^RnS!2TVp!42\*!.k0Mrrg.3pYq_Bs*t~> "E4,)n"BFTrn.A(%F"h)!)rmM"5"Llbl68q;uYGPfGXb6rn.9Mrn.A**jj_Uj8T;S>S%&n\c2U3 R2?0,r:g3reQ*+e7+)&7qu?^"qu7-'EY8[]rVuoJL!8@GSq]u7Arrr=@ &d__>rr3,h=:Pdbqu6iM "bupGomZ7ro*o'ro+%:!95mJ!)o)Ja!5mJ!)o)A[g!7UrNZLd\=LAq4'~> "e>MbpV?h)!!*&ulN4pHlMg)L;uZ(bgAi8Zrp'P_rp'[@!$1A(lMsl_lN5fNkM5C`rsZIn"V=o0 s8Vsn#8ip'rs+uH"<2IZs8Vus!$1t:"Pc-E*23B3"e%+J)g(rRrr<&urrfM4]`.ucrrUap!<3!$ gcYi]U&FuoXYBr.`;BQ:qZ$Sa0E`>:qYpNo!7UrN_"[T_SGrP=~> "E4,)n"BFTrRiUSL`^oOAu8[.&62'RM5Su#QXo)lm6lUrrCdQ!jt/krr3Fu/)p;b <<*!k*g?*^LAUuS.&62'RM5Z"!jt/kqYpg$s8VF3GQ7[CoD\djh#@G`4TPBZ!!)ut"n`q#nF),/ rr<&jrr<&WrsIKoeb!KMs8N*!!3H2#!<)p,.&62'RM5`$.&62'RM5W!!!(LJ#GCPSb&>o3s*t~> "bupGo`=\Ff30/H#MJ!7UrQZLd\=L=cJ* J,~> "e>MbpV?h)!!*&tlQ?qmlg)XokNhG5N>:"0lcB4klg%N0("MX9aTCYklVrkulf8!S%'B?j:LF/% :1s4L'AN9]"_#LJi]MParrGI'qu7*FOS@`ah>dL`aSFgXHMd^J!<<(k&C^[Z!8@GS-dMelrs]s0 pYm[Ys8T8Ma8=:Hqu6h.aSFgXHN!jF-dMehrs/W)s.9kOs8N)jrr<&SrrORo!;lcr!<)p$Y:%Bf dQ@@+!!)Wj!!(sW$;P7+eJ$^;rrE'!XT&8#rVm=8aSFgXHN4"RaSFgXHMmdC!7UrQ_"[T_SCmlA J,~> "E4,)n"BFTrRi=5'A;']!)qS(G?Diug"FLJ;q]iJ=N2$-fua:ng"CROgY(We%1Mb+s8E*"s)i\g s6gHhrrN'"r;Qit43.6u"W,nms8*<'rrN'"qu6d!s5Y,\rr3Z4Yoa-:nGiLgYoa-:nGiOH49uUD n,EL_&FKPtrs9Lqs8Vs+s8SijoD\ji!ri3%oapNkqYpZus5Y,\rr36(Yoa-:nGd`@rr3#p'E%q1 rsP;>"?bcFs56!F'6`gD"8*5n!;lcr!<)ouUJU^b#QV+O"[heZG[UON!VmE-!<3!+RiqnsjT#8< 49uUDnc&r=HiO-7%fcP/rrDrr(%GoK!\_k!s8IKZ$XWo6s8IZf#>":(rr<&prrN'"qu6]q!rW&u !7UrQT^V?lDqG$hJ,~> "bupGoY'i[D.fioC%J"8r3!qZHlu *81AlfcB\a!W)usrrW*1o)&Fj#58)sp)a,2!W)urrr`?%^'q^SrtGHc&d_nBs8N(O&d_nBs8TGU "UKm"8i*! qZHcr!!(LJ#I "e>MbpV?h)!!*&tlQBPjlg%mXg$@r:f3a@"lX'YFlg#28?\n%6?NAdFlOqh(lf8!S!ri6"mgT6r% Ia>sHZo#\!UL3lrrVd*q>:0q"8i,ufm*Do!UL3krr`?%Nud9[rtGH@$PA!is8N(,$PA!is8S$!" "qIZrr]AgrW)rt#m:))s4MYsru9kerrMHorr3)&5lLc[rr`?%Nud9[rs/U4$PA!irt4;jrrKtar ;clt%/Es5%s@gMs,8!$0#I&V"0Fif!;lcr!<)ou)rLDi#QS6?&VC#^&``lj!Q$5_!<<'-q,[t8F o;:>N#i'R_X[X5%Ia>sHZoGh!<3&rrtWX5"q+f7s8VIP"WsrKs8VLX#8`'maSu5?q>UK^$iBr)l jNak!!(LJ#Jg*.igeX#s*t~> "E4,)n"BFTrRi=G-F2=*/g]3#$..TgY(We%?FHSqQCh;ruBts s83#krrM9qr;QfS+Su*A(#/cgqZQfr!Tt*mrrW8U'WD!1'EB--omA@krr=%nomA@ks!Nd!mYL?3 ",^Ld!<3!-(#/cgqZQs!/!hUf450H/!Tt*prr\-drrDoq!s%'iW;Z`,!$'bdHnGBa$Msf&XZZU` rVm;K*7XhO,ldllN:u[qmf*BH@/g6(rr<&trrjp>-O)Zdqu70,*8C.6/cY,DqZ$St4T>E[rs[$i eG>LWs8OI*p?mb,rsBb(s8W!"s8N*!!;ld2&ukL"V&]O8^E28*J,oWL]c5`!H7R):!!)ip!Tt*m rrM9qr;Q`se,KQDn*eD;rr7K~> "bupGo$riad%:imnLqi!e8tA8u#:edLEjioC%J6&bO1MF%:B #Pe?!p]pEj!Q-DbrrK/sqYp^&p](9f#Q+N%_^bQ`!s#M:eG]C]!(ZDB7rA;+!(ZDB7rA;+$G$&o B(,a%3OA_crr3E2p](9f#QOf3M&$Fsp@nRf_^bZc"$*^f!;c]t!3[!arVmB.8*oS4D?%otrr<"" MuNeUrsX "e>MbpV?h)!!*&tlQG-qk3FHN\EgUQlJW37lR=QulaJ>.i=4r8.5A?u[jgUslf8!S)R9/);31bW "T8<"i#VFh!HrbdrrGuuqYp^$r;ZfO*rGs "E4,)n"BFTr7N-d2VDoA%,&!3g"E,YfkdDlfsDsVfqUIYCnhElZm+5Wj8TG\1]RL]`;fi>qu6Tq !VHBnn1(dBrrGloqYp_d0')ek!W;s!n1(dArrN0,C]+2F!42_*pBU`u!42_*pBU`u2L4!DrrhWu rVllsrsb>JjS4o>s8N3Tj7ncVq#:Zi.^T0TlOWso!;c]s!"!H=rso+9s8Vfus8Qh?s7[#frrE#t $9u$"s8*!"s#,/UmJd=T&,lM.qu6WrrVm$(0B;hj)uKXG!42_*pBU`uC0pr7%dEunrVm3h\,ZL* "onT\H.hZd!<`5urr<)jrt525s8P!cs8Vfns8Op]s8VftaSu5?qYpWd.^T'Q!q7\Gr;Q`se,KQD n*eD;rr7K~> "bupGoD&!W;s!fFd9CrrN0%^AS!D!:Bgdm100r!:Bgdm100r%@ZAG rrgRks8N)urs_2)naU/ks8N+3nF1!Uq#:ZQ&a',nbp38g!;c]s!!9n4rso+ss8VHrs8O7Ns6L6l rrE#t$4lS)s7Qj#rsbFXmJd=6,QIcDqu6WrrVm$%B(5;$6Mpcn!:Bgdm100r+h%F;%f62*rVm38 mf3=\$ig59RcNr;"TeW&s8E&irt5)7s8NPrs8VKes8NPqs8VEpaSu5?qYpWL&a'#k!n\+Ir;Q`s e,KQVoCLOfrr7K~> "e>MbpV?h)!!*&slQ.@mlOL%:lSGg3lQsU;%]sa:1U693--,<]X`*s4Ak%rs#XnmJd<>C&e25qu6WrrVm$%Pka8jS,<3r!;HNnZT%pa%c[Mp1B%4QrVm30 p](9G/-#VRY3k]X!!3*!!W)uirt4NDs8N;ts8TJ,s8N;ts8T>]aSu5?qYpVs-M@<:!idU?r;Q`s e,KQdp\3[;rr7K~> "E4,)n"BFTr7N.<$J60J4j?HNg"F^ZfGE4(bsmH@g!C)Y(YLsr7Y]XMj8TR7:[7bW'EA(Oi;`iT "SMcrk9Q\trrM0sq>UWqC_."d"o\H&k9Q\rrrW8F%%."n!E&U^!;c]t!6bk=rVlluq#::#!WW2`$Mg>a s8N)trr<6$!!`Q)s6O&6&VfcS"C$ibrrDrr!!)ut"WZ:ss8)oqrrE,prr3<+s8V9iq4L4WrrE#t !!W<$#6Fl)ls:bGL@P9I)rUbrqul`n$0b+p!!!'"rrr2srr`?%rrr2srr<)@rr<&rrrV@/TD\]j k9Q\srr<&Jrs,4cn&fSJs8RT~> "bupGo[h\>&`h\+2nilr7r']Ke`'$]Fqbnf1NiY12^c._1;rs^Q8o^mnjs8N?! s8Vj!p&>*3&((7S!PLJgrrr'l#o&($rVlr;&((1Q!s"o"`VofN!<3#ur!!)or!lPVr r;Qi:&((4R!!(LJ#I "e>MbpV?h)!!*&slQ20ni(*)Jkm?>7l]GH18*^oS$/t49O^-g7lP8XjiS*VXrs]XCq)[,45=.!Fh5frrpt6"='-^rVlqc,457,!s!3]kl(M]!<3!$pBCTs!<3!(pBCTsW'1ME hXLOJ%IX8r!<3!-ei "E4,)n"BFTqq20PIi@"/Ad\Li##g!ifpZL[rRhBRIi@"/Ad[5Ej8TPpnGiOf!WW1AHiO-7%efo( eJ+hVrrHPcp&>'M)ZKa "bupGo7^-rs]&-s8Vrus8O(ls8Uam pAY2n%at7S!?9edrrK8err3&!%at1Q"9AJ.$+'X2%05eqs6U9qrrDHds6U9nrrKkAnGi@cqu6u* 5QCa)p](9e#5\?$W=IATs8)fnrr`?%ZO*u;rriDis8VHqrr30AR1T;rrrN)u!=n\qrrKkAn,N7b r;Q`srVm$Bp](9e#5eE(!:Bgdm1''p"risAr;ZctrVlm.o(`4c^C'N2"WZ4qs4JFdrtQ!Ho)AFb s8NPrs8VKes8NPqs8VHqaSu5?r;Qht%at:T!iZ[XqYpNqe,KZYoCLOfrr<"K~> "e>MbpV?h)!!*&rlNR`>Wp:XI>5dak$[&K8*-GH`lNR`>Wp:XI>1r6%rs]#.s8VNos8NPss8RFh pAY2@.IR-6!r`Vtp&>%iU]18pHR\CYrr`?%KG<8Ars\u&s8TGas8N)ns8TGarVlruPq);'qZ-Nn #uRJtrsnr+s4S:crrRNrmf!1_!;ld!!<7]dh>[Eb!;HNnZo7sar="EErr($lrfnu% s8)forr<&trrio0s8Udhqu70,p](9#2ZNgU%#-tFs8N,urrEB#q>UNqPq)>("V'r#s*Jq_rtPaY pAa.Qs8N;ts8TJ,s8N;ts8T>\aSu5?r;QhF.IR-6!dcBaqYpNqe,KZgp\3[;pAb/C~> "E4,)n"BFTqq21`$q8jc#WDY7#.P(1ftdqPrRhCb$q8jc#WCAhj8TQs;="(\%KHI^'@uhi:A=bi ]aV:FrrMBrqu7**s8P75r5gChs8Tb@[.sY@!<<)`,&dM]!$0niJ1Ua#!$0niJ1Ua#29#IG"ml6h !<3!-4kBPQ.BNRLh(@^_P8sT%"T\T&]aV:Crr<&qrs\u.s61_Gs8N'>h=lFNrr3&\!)rms!@5>W rs[$ic2?UIs8Osqqq2/=rr<&rrr<&trrq41jS4oYqu6g"*SpI?/H5YNj8`-XrrFCXrr3DL*6nEA H2mn%`V\ "bupGoCB+;69()+>CB+<;fDWMm m/I%crr3F>k4l4mk5YIZB(>D&6iR)h!<<(Z']8]c!!)lq%06G.`X8@[ZmRh6nrrTh5WW)nu $0D0d%"Lq+rR>$Ns'"%Q_$]N.!!)or!!)ut"fGu&nRY)brriBpmd<\^rr3&4!3,tt!=@lersXEL hYkr-s8Q9SrP8j2rro)JlKTsqpAYj7]D^ht!<<(3:%%FC!<<(17d]S3A]XlO!<)p!NYLCKrrS2p htd9P!7UrQZLd\=LAh,OJ,~> "e>MbpV?h)!!*&rlNTBZe*BL0a8P<.3XsR(7gR06lNTBZe*BL0a4]e=rs]C?qWgpds8Pf,p!sf2 p\t;%3:ctH!HiJ\rs\u.s,$:9PoTGrs'IbVq#;<6s8SGpcN!nEJG7k?^]4<6JG7k?^]4=[k5(>j m/I%crr3FanaVkao`+qjPka;jSGrNl!<<(+3:ckE!!)lq%06G.Qjh:?rr@TDh&X90rrQR.h>[ET "SD]n$p8b"q8,#hs*Ei(Ppbnt!!)or!!)ut"]U`]j=HhurriCQpY?k)rr3%-!8[YS!7]ZC*Q!<)p!?T@WSrrQOe o(i:c!7UrQ_"[T_SFcUWJ,~> "E4,)n"BFTqq22)$)lP+!jqpZ#1a*Zg!^#0rRhD+$)lP+!jpY6j8T;R<"&j[Zi9t-Qkos(r:g6g !!MKbs)r5Vrs8'*s8Ttd"#$YQs8)crkPY>[!<3!8n1n2I!3mUK61+^P!3mUK61+^PauKPDNU6ZF !<3!$_^YaAWVui(TGn"pg&M*@&c_n.!!)3[rr<&qrr<&ursA0M>5nT-*s=msrr3&`$2=H!!ko9I rr3A).g6oJs8U5%"!!s8Vrr!U'L[!!;?`s82lI rs,4cn&fSIrV:s~> "bupGo^IB`r,iBfd?b!RMZ5ocMmk@!!)imrr<&urtsE#MZ3[/&d_h?s8N(O&d_h?s8SrD""C\F rr<&urrec-#!gK4rsEu]#uUErs4Jb!s8)crq>C6m!;c]q!<3!)fas&@!.tmj>l4O#!lu)Srr3RV #lt#*re)

l4O#!lu)Srr3RV#lt#*re)

^Km !7h)SZLd\=LAh)IJ,~> "e>MbpV?h)!!*&rlNY3-jm0)WkPa]N_?/ibY6sIklNY3-jm0)WkLo1]rsZ1a!t80"s8Vsm"rE^$ s8)d!rVum0kktGdNH>."G7>!]m/I%^!!)uqrr<&urtqmF])Mb<$4q^ds8N(,$4q^ds8Rch#!:f1 rr<&urrdNT%9;corsSd-#S:qOs8S("s8Vrr!<)iq!!)lq!!*#u$*FTGrr?F6&:a]YrrHJ#rVmI, "T\T&qe$QH4j3m*KbjqTiTpLD!<)rq!<<'&rE'=:Du9G3"TVp;&:a]YrrHJ#rVmI,"T\T&qe$QH 4j3m*KbjqTiUQpNqbRJ5RJ$RpK+nA8[fHI.lTYLoW "E4,)n"BFT[b8:m!I]RSrr<&CrrIP"gA_29@'oq7O^Pp'!VQeMs7u["T^V?lDuKY)J,~> "bupGoU]*oCLOfrVcD>~> "e>MbpV?h)!!*&-lb!/t'CFQS!!(7C!>FkSrrEtr[/U.DikGEnX?qLU]8p\3[;naZC)~> "E4,)n"BFT[b6lE!!&hp!mV2N[JpBHmjRGq>U\mn*eD;rVc28~> "bupGorrSu6rk\U;F7JNbA:adVrs,k$o@AZprUYO~> "e>MbpV?h)!!*&-l]_>K!2]\srFK$;rrW.1GT^4H=[rs-@6pYq_5nb7P~> "E4,)n"BFT[b6lE!!&kq!WWY![Jp:.%%P-5"M5fZ4lh1oq>U\mn*eD;rVc28~> "bupGo "e>MbpV?h)!!*&-l]_>K!2]\s!%dQGrrN0Om_Ji*BF5;mr.4nDrs-@6pYq_5nb7P~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5nb7P~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5nb7P~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5nb7P~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "bupGo "e>MbpV?h)!!*&-l[f(es+139rs-@6pYq_5nb7P~> "E4,)n"BFT[b663JcC<$QN%2_n*eD;rVc28~> "GZgFo<~> "J#DapV?P'[d/MEJcC<$QN%3*p\3[;naZ@(~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> "E4,)n">73JcC<$JcERd#GCPSb&@7Wmsk~> "GZgFo "J#DapV;@[JcC<$JcERd#Jg*.igfQ/pOE~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/all_nodes.png0000644000175000017500000004004111320074550015355 00000000000000PNG  IHDR8}~sRGBtEXtCommentCreated with GIMPW IDATxwx\ڥҨJo&(R,T*" l?b4iAz BIG$KH;{!UKADDDT<;btykV"02k*DdUǣ{\ݽ+dA5вP,=NXDܼyDA~؀,&%lߏt8zVCLJb̠Hgw`W[q-d3+8 FTV<38J"O^b5$XhJ勦S NFZ jF e`4!&Fgg=1;|2M?|Yr8],<4?ikf`eRa:k[/ç0/ܐ_>y@^9ߞA@XZWm_-u2}Y_R/ lXQaϋ!?bU)M6{ ,,o{#^l nF69_ [vUPةP( z( U**T3{=v 6nq^4 ׹ˬZs0vj`Ac 9gV/uMxp~ F(x 05%EA^?KyY7򰴼|-a˶e NN@. F eNP<)%&[##"j<&u9_V8C: 3!cy]kfg]f^L&J5l'}y K8?}M|nL,ʹXU0T|s70߾''Y d.[BsRavIQ#_@RR2 =#@?c/ qPbYzqPÐuٟriƩ4=Υ9ghЧ-WG5NueXzOQ9%swRQ8y>Ki'17o@RT| v3`k[pF(s#JR/S 󯆓O";ۀ]c{}#ZU ŞA o8m? ||!wWm7݂yo> w$a'_k_E&\87o[ ;<߿ժw#2{n1ɿRd=_kSI<3tTn|m:xOP.np" F#<(j׬{<ڀ=p/hVl*˱0L8zTEAos4LׯnkS=aW'cX&`EMѳe&v_/ƂHDKop\ *WSؓNfZ}NYo+-kac5lڼnBQf ~1=eOCfcː|ǵR>/E ]33-1G4= {Ca>S鎢FDe<=%Γ,]J|ϟVM)j'zx/Q{#N^R1-㮳wUPNPѪ]'xzW- q7q1z z=t o&Ω""J;{m|bQxշeAUaSTDDDT1dggU3Z5 p8CDDT$">_%=h""""8DDDD pJ9gg!=5濌$.]-ӽ._y""B] e!>&XJzj =5 rUAytW냈B8 juZmqL]<߿~6EnDL;8d=\}|h[ } 'G?ddÉR*13ǚoV %%y ΞBPZhѪ}6Բإ ݳ FHH(L旷ZioғCf(]sQx8zMu .pYnNt2!,AHH~0Y1ڢN@HfXt ͱYҲixp0"=- gp#PuxkHOIK`d8 (U@zZkIMDD$%5}g=}JB{# |"^h43}q/NjdVDrBՀP9HB{h@ 0TnP;׃ʩ"G;ҡspRfU`HO+8CGw#%-`K+bcIˎOWzj4p:6Un 8ѧq2 *W<UDD'Mٵ߮,f-^-YiW68Wz4CbBJbWr3qR+7AcY@1P] {%#:= 4*4 KS%R }n̓coDXZD vyOMgꏚ3tػ:޼MDDSdܸ#Ź&Ǐƭ]کj3`4dHGP9 93Z8\6F[ gsPRapKAn@v CpeR^3N<Q D1czD8oEF89ud@ptMDDX x%iP17q ;#\ܥĘfS:wQշ6Z~ƬDCЇE.~0A F{3-ٰa=ل :j _lnuEqlqRϝZQ3: !'v!=S;'OiGWdĠNi:h=PyWƷKUTeɸrgSp>p2l`C~#XT'88:NR 0dg"#5%%Kkp. i))=9P:ɱsT/2⢡3Y~*Ji *b2 ;# Zo^\7 msҽ`oٙIw2SGGT HFVVvN'g-*%L=⑕md'"J%>&nZ[pG 8oVOP"V]GmMG?LLCf!) 1y#Ot)H֥eqElݖ='=,==#ۓ) D'3J#d3 >XlŖٰkc\&^iUeo*s{g-Lelj5CtC6L OleXxYm"XtOE`{y+2be0ARBI^:}\ds둼`8~Y2Oa'PF-T N&t,"Բ9Ax_ϿvW Zz|ׯߠ\+m',Xbp2,X"w7ǟG6q6 T,~s0jWzm???VMJ 9ϕӡ k/?@W ͺ /RYKI-kQǤo D-eSV֭:-1mQ,CJ4=mb3,#o-}8y8yaԂՈ?Mfk?J]UiaWܱGe׾ ÛKq:, 7.›0fˌ;[F%otoce"'ϻs?p  š=<7wWgΤXh)fϝscxgxL~{]m itO6||v:~?ӊSVO{#fM<`<<>\vG} lJ&7;ƵX:Z/s_E6pXv.kS[\mQ}+ϔ:6>ٗ-m'شok;?GǓ#Yگcbq2n2}=Zuc|s7׬>?/I="4xǡkx{> Pm=z? 7wU۳8Ĥ$[QpS%[L%E3q6l7< !mjy'ϡУv-L:~k]ҟRn??/#X{Bsڵqڭ jWs7+sQiZ=|qZ8U#z2uLYfz̻^S㎞Go{KU,Gz/Vڳ8Ǎ5n#k;/琥vߖQ~ Xza.}vl7 0ce?w Wǯ)3֡1Xy>`%[OtC*` 7[ rw.IcP:SU;Ð_o$&%Yʸ:A #edas9n@g;޵YƎߵ%j샏~)~_1˜^m9&mo]`K-wo؞6~0[8p:ee|]-t{j?_[a6훵~`'7Kg|ڡ<  huwSvEځ 9_RbH"12:i'Cf pW+Yuy#eY>KΞM{ 0yjZyUTһ)4fZ;NݗE4F7.ݷ} YWǑ$Rq,6sdm߬uahxE5V:~K=8NOԛ׸SGg-\4Hu MvוkMҨ8I!G0{n6@_ )f`3j'b_3Ĥ?$tIX:ڱs q$,J<_ZPTZyUTkثfFl4YƤW4nYE]o*Qiê:!`BK䭗۾V,ޫTv)8YZ?wo5/ᅏ\گc}0<>k' _M?6Q߻yz|* 5r\z~Ȧ |:y/-yb%}gs7`?Ҥj~ѭ-k-$#{oo{_`SZyUT?z;^jݰT(c xU dW+T-Ey!:AWz}=  k{#kSIڥ$dys#{& ~/˦:~mɘn6#vln2&"""*""""8TxZ8uOl;""""8DDDD77"""u)vΩK%Ь4sD$d"Zls[۷3~wSH?7uW*l kmCeZ|3H>iH nielj$!!_ll7NA'׮]`w{xb Z-5ۦŋRJ K/_}%*Xy;wY(2[رc=*~~~6o3,X@Μ9cq [4fnj篿 9|$''| :t(tmʅ BqٲS|#پN[^'Gz38l뭕u2JgJ;񙹯3㷊kk[hdʍ_uR(ܤBUP+tg%YIumE'?i23JΒ(tdSQ(eVcjʈ9iq[5Xne Nn[Bf3b۪ܰXmS skVy'3Wnᢑ-y/nh\ZVk1+qr^-dbV]e=cSRDTRBar-@Jo&mڴ''B/澎1 ,m3Ν;W^!իW5kgڵ'G-vg{{{AUvFl^2@[2iDmxۋyq쫷DTC8pbzV*c(v6[+#(սţf +V*u!ź.y'?}f4>6>t[qwTֻ97*y-qOt&ozI/;P(J6Eu+y]Cqw)('~[JW(*Mc?Nk%OYbtK=%^U.9{l?-Wg~m\` V[6Ek墑GbS2h1"AKٌ͢qi!UTƮrq΋/#<<ϟ/ꊰb]%ppp=]Xf鈋C\\Mؼg+x"z=rq.,-y呿'""" 40{L0--O>$ GGG4mXnKp(M&\3[魇sQ6wAO,-6{|2~q|oq+Q%sgb7O~n$f!+ <7?Væ0 P*=,|wF/LŅ d^_ܑŪu?rAO<3vStХD㋱ϠZ6uWu)8sv6: ;RA]hBK z=єs0mX2i+[ƚdI7g{޸#{35^}~#F1CrB&2.c1=x~Z\/.ی{p~YՆk*ɻロTPeչӧOggb]{^(J fާ,ׯ_/6WZ%uJ%Փ~׻}TzJ6{PإcHƁbTw6QN%,ĽjB>3%D'"N]yBk-(C$ݥ#kJۺRi$~{YZսاWW[!bE77Sݥ])kmodiPETiy;Wu/"rd=x:s^A^bH@2oRk|[Vƚ+gKޢR(ӿ^2cH'qsPgu1s(yzHkHfIXi-k1Сh5*QiҨz%~('f,þףQ:pO/ &ް[wU/T(1*Q'GcXʌχ>Gf.ЃgQտ:~ݴjVQ8VL8kI*opsJ|]Pcwؕ"Bj#|s/ԕ?N5#"CvOבNSDSE111%ΏHD V\{ܹs8{,ك/-tRL4 p0dȐW+пchGAp$AgqݢK[g)?; ӭmB3F,)\d+?jppVX$F  7G;VkƬ˘8#Ӿ34Y}dž)|Yip@Gd]].yG~:<==q @hh(yR[&L=[.>cxzz{zz⫯B&Mノ;̙3fYzﶬ,;իWG1n8dee矣QFX+oܹs???̝;|}[?@޽jE%ί, Rl bbjl/^芺~9('Anbr_?K񈿴 UvNE]*q]d܄f[#"!d۾KNFBAϮRanXk㹕Fg}BcӐпw5v3f;IBBB#G%KHBB,^XeҥGUj믿.{P ^z tү_?9{DFFʔ)Syf^CBBBŋҵkWy7 l/442?[ۂ\]]%999uRROY/ߦMsΥ_qVoy ɢT9kndH^ODy{k]7~A{:t$L6_ݶXm$jx5w[juvLI}2]\)q]|_ns򷵯F%q R&u?RW)NV֊MD VrǓ#˫'(휥iDJ]N6g'Ȝ_{w^# zTV4;VMDQ2v;ICl8y{8x {^}Uر~t޽Ԗoƍ;w.퍹sXf󃳳3x >}A߆ J*ae̙oobAVmN:cŊ_L gϕc</-Tv{(cf,Sl/#iڸhJ{i&K] ?;CcymoD{mN5h*^ :'Z}]Ȉu1X z]Zzwģ#,`s[$%֔IOq4?7<'F=}tfg&FF|(y@I[m Stt5"3KwZ_A~ks _'wƉdĆF#oכ<O@B~G,G7438UG[>#gߓDGGK5$""B$<<\%**J륶Lm+J}S`XڞJ*r]ke N_$.ҜQ}lTG6Hpkg׻IQ )[zkeݭنR!.4}k|fbV.rDŗzݫ 1;!7EP. 4D&eIVR|2w]es[OL$+9J>T u2b{DNZVqu [B뫓97,*V1;Fꚕw{Ll[hdK,fZJ/-rW ٟU*cWqttDڵzj ͚5ʕ+Qn]8882 222uDDD8J E.k׮9zUTݔ"iذ!;hذ}[֭[aÆaÆ hժ]Wdg|i* uIJqz{u> oXqw]N;asCгYvS N`8_&mek%柯dFpBJCfXn4=fGϼSfZS?ĤK&|38e1v7o| 2k,quu2g>ƌ#?IXX{piڴL2Eٳҷo"=zSBBB$$$Du&cƌ)r{ ,_\ڶm+-m۶UV^Y/d ϗ}(TωJS.g0,qyv9[/Hf6M4.lN[ 95(d=8Ŕ W {B4%nįeV"FᯕV|(%9 ڹ"A*mE#Ħd$bE.)38EB*Q(pNi]e=Sѣ@' w^ ǎ+eQQQ2p@qppooo1cj={HƍERI@@,^'::Z &ZVZ 6Lܞ2V'͇?4L&.2yd1L~Ȕ @RSSm^8^|_x]tF$ߺ,_N. &M}g#Eg4Jlqd ̏62smq3rZK/l~!2f遏/2%3᲼x4-Nޘ-!%oƯtI9/5߅.{lJt[ms[w@_OCVR-@~Vfu/" יGuղ3|GTzOWb`Iٽ2uhRo+[ƚNvџg%h2D:j z) WdAf;G֗3R|d_=ȝ&_JEHlzdʆOKK*DS^:$AAAnF_[u+ õغҹq)$=MS: *qZGPbO"vx<Gf.ЃgQտ:~ݴR蠠 h:{ԩSYF4>8J`ݗ 'x ;"W nzNZ/{k?|j 0k^{e$"Bj#|s/ԕ?N5#"CvOב)>>~9_ΊdcDDD=fv&""gp""""8DDDD p""""8DDDD p1!"""8DDDD p1!"""bCDDD p1!"""bCDDD1!"""bCDDD"""bCDDD""""8DDD""""8DDDD p""""8DDDD p1!"""8DDDD p1!"""bCDDD p1!"""bCDDD1!"""bCDDD1!"""bCDDD""""8DDD"""RbY#DDD8 cmQ 8f\lNcQ `,F!bۻc}I 7 ?U)OLuvܵ˖,RY)B 8  pDaN!3= j"+=Bу/q_8R+LҾm,Y17 /-Y h7.BjruYfwhD p1)$nxI6>0c1-,F$nEGvfHh2T8N,D㋅ {_B61xЀB׷0s*~O[*Kc"f|,ILJ`A_-xGP#P+2%*JU/&ILJgC6tѼ'lprOX!D]F @w>ED}a'A^ybIX`.[TrJ^Aoqck@cl]fhd2׳u*GvEt"OD-)dzvdx%"PǫJ5\tnnRb2 fUR+cMrbT+jx~cP`CDDTiRD%bцh4"DG]CN 8в]kB֧< Y-KDDTN=Pjy}lj wy mD{?V""" vp|4g IDATxw|elIt ;t`bE='^~{xbGO:ldIH2I`C|߼3<3;>WBDDD'!""Y[X@"""SrnNI=J5AHcj^գ)]6XfY7mmp88hL2cHp!nyos{7KdW#vgxeqzD6'&;O*#e̚O_'z8lk,5/,e0[NEUKY'P(N0<+r@էxmQ[޶vYIYygO}ɎɈs5:g'571u}w0C>xwk-ҞnуK^mt'oo!..2R1V5Ʋ,|GUI :eac.#ûz /(4>a$Ooycqu0=Ks`U_Mԏ1m`yfttzn֋$>)~1Ձ0'g{8_ARձMf2>;#doONUdZҞczpXU\ʦf]骫I01{Wz$uۋNM9cܶ9tz_To7cog Y۵m[vRٷg֯8o"YINA>mk@ӆ%산I/%<]yvd٥rk:{fyj6&[h(h2$}>/׬o֛f@@Պ8 L+:MxArsˈ0K,~"f.ěǍOGcF/7a>3ȘaȮ+~MàcuP''۔O3x>}8G'Ps5q'zNߏ\D }T*sr&ՇfGoCס-jOg=wׂmw鯌ާWP,)vyXV&gJ,!Z~[uyk6wمBr7S5xX?NS=,^Æp2Cu?IܓaX&?~112s8d1-ؓeWscKx`<%jie0tp\+Xv5l0= nW6JmyW3)b[+lr6wK 2=98r%+XJ7}fƫ;93z, k=xV̽p%O Z1En:uKkZ߳z oYW柈MEec0pђk2VR5ͅS9q3SZy߱f`YM]n޷PCL()e+_͂JM_ܘ^ͶIGe/5a3k۶dun|#5܏Ipּ"!ŕ!zÆ`kv9?/T)3pݏ8KRտmC̹{vZs\7<`Y`?TR\Ly>}j***x qk"Z'{x3>IY=ustz+f]#m1@kP3-L=u&ٮmeG f)>T yNsq=h/*fs( &#h^JXW&{<{.~v]螕R.gap(֗fXukp8 :wdլYCh0ɮ/Yyi7͝v.g0"IU^"%>@5',+` ++SSFKHM95tM^~AE\Ow0\N- 弡E陜@K?n5 ',ľhrbb7nۖ.vU$>X :1T0>\_Y}ɘ 9C1~x&cHb)qiv_5xӺs :(]wƆ^ 򩬬QeEE9Eo7U'^aHz1G̚ ë5#.#OWz.γ%kY7卸ës2ЃtG, w'R߻kqvgl7n"[gqTb ݛ3Wpv;|&_pRZn.ڙ5^YpztJWP֢tOK#Y^Cq~N9&-k/ffE_]sa]s[书 _i_.r?0w֮%55 f6 vig~(mm_w!e+"mf)nںzAa8]z֪5<N[Q9AɉtO?蒴U=~eP/`} $j˹ rאt .{8R;$xҤL&V??^•<_ij5۞.IOe/s_m]M=F5~-mީt]vqZ߆q3bCxSc8Gjv9q=ll@$ tr;1>\Ȇ]_(M#olLif׿o(Qm" ѵk7٫>_9ɀ?H Vr7TW77u\~\eϑT|W~>qjZz>(דpsS^C c[ōav|u:+xpM >{ .EYB6-[EmWn\S=um{̿kX9Ѓ7b {K9r|,Ozu!rѷČ~92b\ ,(('~\=o`& kyXϘ1|SPn9S-ŕxHu]LMkjZڞ?ÞĜZζo홿k +u, J 0RIx8.aw$"U[CAbbb^EyE9Ku]( jD:zgMѡוlp0'e Ix~?>?Y'o=("#ZeU͗${j{^iL_8 """Ռ_rr""" @jj*8b餤4*""bt,!"" &?)k6FDDdgRhUDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDFڞL ?O&`Ys )w6PHǷCs|JQp⎉%%55) cG6oR-Ͽ)-[C:ua8)h29̦|!De?Ծ,KW!&)ä͛֒ccpXgoekssBE\ h29~21pж`/NRR3-0}YDTeڰeY:KX/ 8doF᪅?Ȧ "95AÆP|z~m9ŕ!R:e/xI:CF[3/X7đmw>1#l*ۓ>~X*;Nq rß,O<:wM.nxg<EAVL=Lѹz+_;T{9氱'YH~${rU'ֹ#6GƍW} GgXmi [Qxİ^2IJ;r_ߟ-rsbc!@;$FES=Whkce2VC+. );GF %黅Xf[LOlj'e2Yd'4[w].HB3g͒ǥRqYa 7,g~{7GTx7`0쌉:do +T5'?A\Q<~W._Gy lM74M/(O̤ƑXš*¥dtFaR)6WoǖAR#JgW*dv~ÝX@Y?}41{fӯ) $V,MAW34?}wUm(nm/,pл^[gY 8G=c|/rbm.7s^fٚp%ХkOzٗzN5aIn]bC%d(k~W <]2dԗifxLnl bBVm*j߂XoK Mefꮫ[bJt: hf,j"w، p)Fһ䱑#B|6oW#HO>#G_7;[bԘ[v}kMYg\^kj O V_U/;.1%EvE Yꆸ0} Y#qcDzcq\AhYT_8Om7=U7jg7vsA]IJ,xkBu#oTY,P3 0!K:[Q>ֱeDyſs㕜<y5QY}hpZKgp1|>yXd*eVCD.=ʢEa0- IQhxI, Qq5:)4$g">W2U6~uwDw7s"<9k>{| $6jcϿ"iNc`oQgt?S||:psyq}3)X}.!+ֿk-_+钞D|Rowz"m]z2J+|1t}`HwNTP>.XJYL%# { %#1i!2[|4wQep:_O1_ -pQ3It4n"|d.ə kmZts2Ox/cAӸ\%Õgú,]f3=.2~ɵRSSI~g`>2sZ.\Y?oaؿұhiy2|4~IIE%%%1O4 +;)9Y> 3=5YiٹA) cS&K7 LNz";]"(Sڻ"ѡYd?-""Ҧ"""6"""6"""6"""6"""6"""6"""6v/ؕ fXMݔz"""6Qmܑ&m?H{i2(Gl4ᇽۻ; my PPPPPPh(:)"҅ZyyOHlf7 zO>I؂cN=ж~QJ-u A'8h/-~6ÑNw,]3z Iٮy9 &noSEDdj7tx/cmAwݺv&ƪdo?෬h.iV2͈ʦW$;C_k6(,ODDv^QQZa/j '0!8knZIQݝ y77?iŰ=z+_;xQbJ)۵.Ȥ.<컘bz ϲ*_` e6, ]Oe">)GNfw^zM "! &w Ii:Mٚ_~52)ۼǂǍ.v2NM>p{FfJޟVn ߙ)>m)""&j=ʠG@glwfN9#*o73m.c8wtzRkyG6rׅ-m\<ަXnFy\~˴ 9JwEmZoDLH4Lrr+RmSDdW%U$) 7^+^For38cƲ-Zim"_+ăABML3C{nmqsI{^m*"+^++(7U%wJxcW TU(`ymYfZmZM(/ w!3c"">(-R95yA8\ R=9&r+wSDڝeYuێ|0̉ccGr&J:fs B' **?.|dBlM\3[î{==糖aTY_)( H' +1!np*K 0)+ߘ-M[ʤtN㩣[5庈GvS=Ғ"7mWQi6NvDYHNM&,3iI +0a> 0al.GL^*MHdWQRV\DHӥC, QZRĺչݳ^`& IDATk8<ߕGhU;4dLn2 H"=Bʊ8liaIJfа,]OR )iY*'Drgn鵭)Hrg+5-JwUH,duI($ U(3,P(D(kvO69e㗜\+55TOx΂{?3?FH]o^Љ˧\"уW6z,4M0#;xCGtp8 >餤 |,'![{i+(;& {M5dՖQPRDvkz"Q9 JŤ4AmюFoEv_9ttRDV0螿񗇖nm:H,joF""5ԩ8`i_r`8NcoaaSN*(ED`/h6t1H4a;Ou" ? .vi#^lϖ*);-|Ɨk89Ӄa8N2 .5|fe?t GCJXVWa<[NOirN0eަzq=YRgYERۻ"RUlz*½ӈIA~ o, #Q y$.iesӷ-<^&GP7>rJHe&_2>*};|{eI߮#v1O_ 7{OdzS'?^cSܟeD+~J˞.<=EIvϹqY)Yͬ6ќ%̸(4iR[G;N gߋ •$V(Hɑv67}[ȷX`, 3RW0Pu]{P[gKvX;d۞TP2N\.,WbP*s_c>)ĺH9^1oqH=.Ew]y m 6.9ez,̯FiE=ruO3uL1{uEAWBB?ZF@q% ]DEx$ܮYue]xTl|~'ܭ^ÙuG2_)-,7/UWݽq7מKo>:38/"9LXa~^y9^y9^{ N+/,'t yzAEܻ8o/>c&s_P2 |0RHz}{>!ˢ(n&igkKֺڊ n*VV&ps K_\]ݬU?RvI:3M/˽JczvǦzo9Y-k";pKB\ q10X٣Lw>r )!'YM,랽o1iLq~Gt;㋇tԱ|ՋzLتfmFtիž  fSHwEĦ1>3c|s;v+{$Tok„ko?e۞Cyiz'\9iĎ7CW{_o{.,sKruٶ3&y?^=>{`vԱku$J5>НA'ރG2u֓u=| 7qӹu8rѧ5H9z6\+>fivzpzfz/>έ_Oy؂r{r5_rm=M)ga52O/o=^CDDچRD.v DRD$BI) s"[3HT=Jpq8LtI#DD*SyO4_pGiua ja`Ya9 krKHT1Mv٭UOr T-^@iIp_';p8LiI/'9ás""V]">!MWnJ!}^ygtHJNwjjet&%-C>\S;p8p88N PRD$ꆥ4MdQHC{U`FmqO]89Ôy=wsCIM%ΓF;.>/כiSrt]sXXӈH{Cm5Ze#r<uNe{3^ӅtR=h!(v6}c\0g]#Sz\ {rs͜n!ݫb3:[1\{ ^>n"w%*[0m ʟ| W\DdW{#%~L:N_cą7ҠlbqԳ)"";x1s#g\3.nqZpʉHǠW J J J JU&""(EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDl((EDDlZ=aA3v|ٱԣj q:xEDdSRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDFUDdw`Yf06_RDFm8 IΩ6 -ˊoTPP},Ғ"7mWQiۻYbp9ɩ@ۄRDv{!~M.eEtы8]:D¡%E[KJY)=K"[$ )+.bXI U{7Od E $RDv{e= :/QXP0ݓ $EGnͲ,LWQABG!YEBb" Lӌk^j ʎ0^h,""5ԛkuPj7݉z"[QraWPPD(&1 JE4ԲtmQGfAՎ_vQRDF47wTOLB FWEp00vz""߭qxO_!Esk@] JZʈ`JLы?~,&M=æ-#ڷoSfq,_GL bsЌmN9'G_y>GI6z̼f۰-PۮO>ogIH+KI>0|0gt#_ p`7+?8~|;L~ϵﭭsٷ`t_}oy:sWWȳ)PBrJ9Ž`aQyVp|Zlm[0yqTLڣ׮ -,7Q髌ʶo eDXߓrT~Yw7+I/ sɧmYYE8^es;H"$U$# UG y 3!70X>%i6߆Z! bG`cvu^[RjahPPDƐse(0 P TW'0;͕0 8kpQ)>tw.J;s@LBmNB!A [}MsoMeHzښL3HaWm^)?VrWV[š%͑ɪNZϵo'dY~1XXLW,7pɓg׆3q`R>?!pG [ږ\4y[*(EDjE׺8nV-䥢)VGEycMOY~uiiRDVDv<HR<"""6ԣ>';RD$BI) >(/o;[ "[#kp8 8t#2M&uk<|-|t|^=mRRDv[Cta9Llf.٘Iqa꽦Ѣݚa8<)xRRYx%Egv)-)bxRR$lW5G(EdW]">!MWnJ¡P3Kq\$%gPR;IHRDvs A2:UJK)bu88N'aG)"mup` ڀTRD=*0wNu_.Hڀv룠iRj!"""6"""6"""6"""6"""6"""6"""6"""6"""6"""6Zv]؁nmHG                    Wx Z!""RRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆRDDĆ3\mюHԣXM0 ͗QuCRs H˲"*4""Tp-ˢMUT`np8$z@R{"=Bʊ8li_;')AÆt3XYW^΍ăE?~K/ȔQ,gWƴ|,+a۰-GA)"Rk; s_q_/cRØ2lߩyHs>G_ei{ͽלF*e$dcWqN>u o&?%y$;޼嫾છ 0DA33^\g  X{n}/!Na1ʿJs\xW{n2wRSrgM\;ZN:޾߆tRD$J* Gx|ӏ FBൗ?GϾ/?垿k/$T ;/7xkYU\~]dp_>5pM}q2̙/݈;+b+Yϼ|u?jϚ[0:>7<9\ī+WL9|O>[y:Z/APP԰_(3q6e&]w ~V2'Mf98 Kq%|X\'\奲t5?U <}%}#k+xK2}{sEC橜mfnygD/U,P7>rHiaɗLJ_vo-ˎ> c+f+JCΦ?ab&$1+Ñe4Qxl,rU"3M3rߊuF W&&q(@u Yw)fN>mU{wȷX`mIPuU$# ,'D)TRղrV8Uv??p[Ml _r2GM:A-q%#R` V}?&a BfȖD+@/P.w Z*] x lA{Ex$\G"$ ?G,w_p0snW"J_ ~_`cÅP1W]x嬝s65o| 5Vpˇ1(X*3}:%'>$5KᏛG|4LgrGmoP*IiqfW!s3J^oKv6۩DtR=_18wkRj>ھZ-[V4+-xJ,S:M~Ndۊە;2`ԪE;p}ڧ6"w`#(`h'#/oMϥN|q[& 3J6T"(Ħ9eF lۑymCr'Iu<e'L(Z J+DgYZF}{-֯mU=R!(T4˲d۶bM55kjqa9D2( $3,OQo)FP@7\ CP@/HqzJ (@P A @%J (@P A @%J (@P A @%J (@P A @%J (@P A @%J (@P A @%J (@P A @%J (@P A @%J vc eA Xfy1Bu i*)[`ێc1K ', J/uׯӘǫip9r湮+ަ(aQfת}:MCLkz3P%ϐ0nkg}yUƱ3u{˱e9Vϻ@cd$s!gttKmz׿jӶ$*yJw^}$ޯPIBoLFWZιU SpFaꞕ1O'п3IeMؖ_pg2zc5/&nՋQ=\ETMWcEOږ?ΜaSNʹsug_^_@Ŕ?wa_v<,}IkM!G[>22JyJKqЉJ%:8`]2G޸鄌$/P2٩ALN*JЙ?i&eJ%SJyJoLCյ8J|xEmmh}Z ;F*P:kv/k_+R= ( c?]vi.lWG%#yTSli._$˓;F6lc9;KqlSK}ܮ\5ޤ$zm3h{7r;ݯni;%^ ]FvZcu%|k3T MG=n/PneKTvIb;6fUM\/]쯝n\s3w&(:Xf[edi[9~qoDDGYڕYrjۋ8V{F>H1Z%~i:c^ >rްF{^/M7٬vJ[u^ |%k_T}PB߿U?Ru5䯏//:;g}Oynڨ^֦;Ks gՏ[mUUhq]:qTrf-9:[TE5hSzݕYͱZ].^_rߘfdѫin%i&֨6Y%:S$ˮRmV2$_QI*F匑]UښjYt# Jjm[݌ҩL!Fr_-J55rl[\&l ^ڨ"-J2S"(TeYj9Z׶7 ʛZU-#GxNKP,˒mۊ56)ԬK-N v_K+ԬXct]x@ˇ嘱|?\!ukD"jhlҎvSDPp5Fa-#4EJɕexնmٶ-qdY3J(ⰴm[CD>(ɌBRrS%^@P A @[|Qto1f0XES-G÷95&(Q c) 2} 6xPmN JT$c1h5J}5dضhFFI2xPmN%(?\mq~ˉ밹CSIf 5z8|8zݕYͱZ`0MkW} <ϓX|%qdٖ-Y(c[/YQ3x<Ό5=v\vc亮,ҘiͪOUc[(Q:T]}e+cTW_t*%7zRҡy%*Ɔ`e=I#(Qqx;}iVOj\Z8|A<`FGGCGPb1Dc 55QrKM|z5=5fF4aݒk=OiOm;nM;2sd tZa1[Hf}:N.Ij}}Gu̮ |OqT}Y:d!7ے,k+l~|wκv=={>ζyMK+}`:yu+[R͹ZgNXOϻL1ےmYmI2_>So|LՠW<{θsιr])'=:dCis qEPr Z ]vT9nZƩ.SƓwuODs_|SSN<*#] ^_q`޺ 蝯'.\2;Wդ+O\2Iu;_o|Jߚ(7Ruö>-v]~zO^zDg~Vg߽N9CRx:'uMr=Oj4yt}eR^ǫ$~!:*t4EKeۖ궛ׂwVsQ$㹿%0ӄZGg8W Y[IIOw{R _6}ŊF=Wm_squ׋tv놳/תOֳ)ͺ2Z[}uz^?ښQZ¶N4Gtuye fO)znNTW :^%ɖ߾ڬ{_O=\[]ښ7;J}1~.<[.㙠D2euz;O4w,{:VMnUC^TO_R_Yc7W6|uzK'Jet7(v]PU6t{.#Q^Qt`:Y:/mH|]qѿٹIKud-w43iٓt}/I{Kv8:Q6L^'|چeY}Ԍ.PkTm[Yh#zlJ5Y^kwF~Ƒ$#U]?E&+vR7xW(S62ZtS5NS]|˺瑟ih,uėg(3,H,jՌ+ޅY]7AڵznX,dJfzRõ]Z}oai22#4~xDD>zZ؞-ߊyk48M;228VhX UJ&{jtʡ}ͮѭrQԾf=C6Y_ۦh|eFp}O+k{LQvnYϿuɌRɸꪙ=^7Wq_-G ktɼܤ}㝮9>ŒkoъN|Q}SUu£;o8F2ZN>դظ}u`sM2gL>)3/VF~3{}mYU.:̙eY}Ѷ@>״ʎGNUM#r]?^]vٚ~Sp9BѶ]GcOҼ[>m֗&LI眡~Wm?|]3tec4g͸8@7]iU l2t-NwmU*q>=^NtZ7V֩ʱ2dX:E;`9Uq$W.wllvu}TW˶Ye3BkbRJf9L2`؎ԨJcwrٌ\<^Fr/nWT뤕L]l9*ؒ|/T*St[s4(7ѡ\H8(*;ӊ(Q?22[dI{nmܤ:;zN%!( e7/Q23lS*e${nF)ɍje;5ҩ 87~܁BPr(Dc 55z 3JT,>>|8|8|%*#LqqXz 3JT$۶yl+n-{#5.jj,1D,K:yPN&T뺐B7j\Z8|8D `iX֯m9~mHdYVwqPm\(eɶ-Ec5hjq-y|bɶ7 xQոQX%qԲhUUWkͪ3lqTkv㿤rgeAjuqqA%ȿh<\ M i[²dwlǑmEK]V qQ JTⰴ,KoEy/n<ۑ֠y=2;? r;D19JOY2[JOZ8$r'Z&~> r:,>AJQdV.JQe[Lr1&9~> rqujA+b:2U&:kCD&>'L7+X6n/J,~> rqujl@=bA.W.CmuW1U!h@86_hJ,~> rp^##KRs#OqgnWqqk*`dKOt.QJ,~> s1\UZ&.jC&JI[5@JI^KG!#>)@!#>A@!#>)@!#>A@!#>)@!#>GB![8d2J,~> s1\V0W2P99JXV.YJXYD`!0$N+!0$fD!0$N+!0$fD!0$N+#E5+?VP['U7">~> s1\VHqtks,J`_OGJ`beN!6t,U!6tE'!6t,U!6tE'!6t,U#L2Dnq>"TlS:C~> !rjGUJI[5@JI[5@g^X?")Y5-R)AW2\!>QOE+orSsr=/iC)Y5-R)AW5]!Yut'J,~> !rkunJXD"UJXD"UgmA,"IIg/6I>[uj!K)\#k!f9W>J,~> !rlj/J`MCCJ`MCCguJLYZh%`/Zc`7-!Qqb?AHB-[rT""%Zh%`/Zc`:.!lnlBJ,~> !rjDTJId;BJId;Bh%'T&)^5sg&.'!o)\iko'cS>1oahEC+r_7-%i$$-'D2nB'-\A1%hBF!+b0~> !rl]-JX:qSJX:qSh3S5$Hqf[pW!SMZI#=8WML8-Zor&1X9mhhbQ\p/bO7fFWO%k"ZQ^~> !rmrNJ`;7?J`;7?h;SOZY[u;Vq[(__Yfbtbb-5I+p%o'EA['>:il\K:e+NSDdq,c+io8"3S:C~> !?r!N%fi@!dKS%EcHOG!JId;BJId;BnIG[;+r0\Y#9+j'%hBI#(%Vk>)^6(/%i6E)o*ka?+rC4h !>m#2~> !CiXXQ2nu#ecjUQdEp1QJX1kQJX1kQnWj619oS\7#CK7"QBm5!N:WSFHqf<\QA&%lo:5r19niS4 !JEpm~> !F"jfhuM7$c3;J9b/hTIJ`)+;J`)+;n_aJcA^0i5#I%dVi8DI`c1C9,Y[t]0i50'MoBZO_A]"H) !P_fg~> !?r!N&-:5Yp&>'k_grB)&H !CiXXPl]J8p&>'k`dsD\Q2b*IQ2b*?Q+E4^L/"61Rg4mHL6\$Y9qCmF#E2B3Q'I(uSb& !F"jfh>tq$p&>'k^Ob7IhZ%t]hZ%tShR_PF_e&3+km,IE_qs7fAaK$Q#L-hthVQ.]m.9HCc"4fl h>tApJ,~> !?r!N&-C;[\G3<2ZFBkHJIoX/qBGqNs!%FR"![dF,3f^A'-\V@i"5f1![&Eon.>UDj:DD;s8O9o &A&JT(*X4Z%LEjo((_#m+q5"lpEKVI#8JEu&.fU$%K6k;,5i#O,5r&R'd=Fm&-3UlJ,~> !CiXXPQKG9\bNH4Zap+OJX"!8qHX&bs'5Pf"'km+>j@OUIp?6.i0=1F"'oDZPOOh:>i_+O>lXh/ JX!d2!f'L@o9foD9o"stLJ=>-RJ0tdR0S[FLQn$Y9qD9Os'5Mjs'5Pk!fTj/rfdG:7Xt~> !F"jfg]Ge$[eR$.YdXSBJ_\)sqL&=us*Xh$"+:.KI-TJhQ@+))i8"9Y"+H39g[O"uI,s&bI/j4o J_[lm!l\a;oB$A(A](?~> !?r!N&H^;YY5=IgQ^O>4Zi@Ib&],+[,5V?>,6.ZI+qYD2s8O;/&Hrh8s8U"YiXl/7rVm$"m&i#T ndtsJs8O;)&Ha6Ws!!"+]+G)Z+q=,R$5Fa"&J5a%%1Wjlq8F9s%Ls3t'bM#m+q5"l,/qMF%Ls]% `?Gd%'d=Cl&HN^mJ,~> !CiXXP6055YPXUiR%'V:[K!dgPJWL`>l+L#>lXg.>a(@Vs8Q?iP6HE(s8SO:ifa@IrVm$!la1;f nrj/\s8Q?cP65(is'1,=]9<;P9qCmC$B.]8PEUesSX>dLq;WE!R$`h,Lm+$Y9q@Z=>iXjLR$_.= j'7t=N(o--P6$>+J,~> !F"jfg&fItXS\1cQ'[o,Z2_.]g;;PDI/,AaK$K$I*/&g=jSYm,R,Rq=>PQj5\Bqa4f7fAaJI;I.QrWj5YOY o6fTYc"4rpg&\rlJ,~> !?r!N&H^)SVu;Y^PEqT*S=QtcY^mD'&HX0Vs84&N&L.8T+sIUCs8O8b+WqX$&Himl+Wqa'&cX$^ (*Fe5&KJ=[q"?!4&cX$X'd"SA)Z:6N(EXeC)u^HL,5Mll,6.Ze+tJ3Di?&XU+r2:F&J5g$+s@p= &L.8T+sR!u"W&7)+WM-o&Hijj+s@m(&J5g$+s@p=&L.8T+qYG/+X%mCJJ#a2!Ylmgo+)0C+r(\% 'd=(t%jLhg%3c;n'd=A)&JZK!%hBl``W%.]`<@Fr%i$9'rXf/J,(K~> !CiXXOoil-WVqnaPa@i/SY!1fZ[n:VOoengs86+3P$J%e>[3Fss8Q>7?"JciOp$&??"80ZP5ebo H=:*BP$mk[rpjIrP5ebiI:QVmHMs!0H"1,iH2a!,>l'U1>lXh/>\LkOa)@,G>^BgaP*'ru>[ho> P$J%e>[3GTO`t;?@X!t6Or8[[?"&,DP*'ru>[ho>P$J%e>`seR?=%B!JWdm5!f9XBo9K`B9o5$r M+sP,Q !F"jffE0%lV>ZAZOd29%S"$Y^XF]$@fE-I#s876[fR3`!I!jRos8RJ"IZ`"0f[ljNIZ1l;f`-=+ Uk4$If73Yorm[>7f`-=%WePq\]`-Oef:mqIN4T#@s*X[q-%,amI!gq:s/iTrn%7d>(?~> !?r!N&eDn[To+_dOHc-%SY)O`s/LV__@cqps8O;A&ca-Rs8O;Cs#!d'qWNAG&fGE7qsL:)&gIAU >ho9%'/KUPH2j-K&gIAU<6kC/Tcas\)/7\!m\M*?,6.Zeq[s_is8O8U&gdSU+sR'e>ho9%)K4C. n#.KUr;S)f&fP]Cr9pR0'+u-ebP(Oq)A3s,g\gN=,SMC%rur+7_=[ZRGSkuE_\*"b+q=,T$Paj" &eYm&%1j'p`VUhe`?Gj)'d=>)&elN!rX]&Rqo&OZrX],G+r("h!>m#2~> !CiXXOUoJ3U5OqhOd2?)T:hjes/gj7_N=q*s8Q@&OT8Yas8Q@(s#$;0r8iQbO_gr\rTpM!O^.qd U[S1fM0K!Qg&H8QO^.qdRcaS8V/29VCo?Rsm&=c_>lXh/qiM_#s8Q>dN+)b`?!RF0U[S1fCTQn% mB(,.r;S*KODCrarp?h&OHFIPir&8;H]W$Em/HCSC62^#s'151h>6rsNIueE_iY"X9qCm@$]If; OcbMqSX#IFj83'hj'7k7N(o1lObul(rfmIgqr7Z]rfmPD9oAq4!JEpm~> !F"jfedoOqSqr2[Nfo]rS=Q4Ys/(@u_U\g:s8RKFec:*qs8RKHs#%R_r8EX\eVD69o)FEjepRMt^@D0cUTi>"LWK,cl)1Z7I/j4oqplU3s8RJt^lJHcKm`q#`qTL]L !?r!N&eDYTRtcc[PF%f3Tph7Ns.k2Y_@cnos8W!@58#1?rurX",6.\q1.2*:+r*fOh(W+6`?$6' s4/tM&fH,tN\US!+VH"!s5Q&crak%J(,> 'd=>)&elN!&.g&),5i&],/k`;&/?B'&eYm&%K-h<,5oI\,5i&S'd=@k&cignJ,~> !CiXXO:T/,S;<&`PaS)8URRRSs/(@/_N4h(s8W"%5EK.Ms'/fj>lXi;@u:6W@!JXM^gO&>Vg)JH s1;fIOD!>JFERWl0UN>lXh/OGdQIqd!J,s1;fIG-(_J ?a9X5G$P(I>[3A6XT,M3Z2^qLHD:GeBkbM,G-(_J?a9X5G$P(I>[I1(LLPthCk7\cO91>7Sb&$R N(o4lOGci(PET83>lBip>iT(QPDi4oOH>ApSc+`P>lE[_>lBifN(o60O9(#(J,~> !F"jfe.9+iR"U3POHl9*T9thFs.Fqm_UJX7s8W"E5Lb)\s*T4DI/j5MK"q?>Q':&(Y^kO/Pf.tL s0%!%e:R;lKY@DkY1.k!s1Z=I/WX:I/Ve$c"50!e,d !?r!N'b@bQP_=mRPa@VoKS#N!s.+]U_A*%pqZ$R>s8P,('bqqms%=1Rs8F2aaT#Qj-3*`a,6.[5 (_mc6q=PpQYPqZA,6.[L)&4S"p`^g$s'?lqs7dcQ+sQju6R)R1+sJLds5>(Es8PS+'d(Tu:)PDY q'%$_rur0m+3OUY)(,CZ+s+c(@N#t"'d(Tu:)PDYq'%$_rurTLrE(Tn++Y0D'`o'n%It5A+qtb, 'I!u$'dCU@r=oAX`?P9r"sO`r'bhi$r=o;VrP\a\r"T5V'`JgJ(a=J~> !CiXXN"lXh5 M2[:'rpX<'nG[$V>lXh9Kna4>oNttus(5MDs7K`X>[7,a6X9Zk>[1pUs2]"]s8QPbN*l8XA;4Xp oj:u(s'1MA?hOG0L1L>W?XNL+BS;4^N*l8XA;4Xpoj:u(s'/k,r-i$`B7Z#XMucYDnr*QCrJUqT SW&M4j';PA!aObjrephOrJUbOSc+KI>lE[_>l9N\:&U"OKLUI~> !F"jfbn%/\Ob&:HOd2&eJU`ols-eM`_T`(.qZ$SCs8P--c-:Y9s*r%>s8@@qqu;1oMZ;LpI/j4q bK[Sgrm7!\q>5feI/j4sa0;39gl[*`s+#KSs4rg^I!ke86[\q6I!gk8s/<5Ns8RPkc%#WjJ%1jF i/`9cs*W)9J,B7q\ !?r!N'aLuCNe<+BKR`uM"HK7hs-J9O_A*+rs8W!@&JZMirur0m,6.Ze'dE\X+sHj]ruM(_,6.Ze 'bqN`s1KU#5QB@Y,6.Zj()8%nrZWN_r;Qfs,52fP,5qNgrpHsF(*`eY+r(h9qu7rX,6.Wd,6.Ze 'bqnhs!8F)s8F2cqYquB'bhhgs!8F)s8F2ds8O8Z;t'bci.2hu'uLah'-[l#(&&pO'al3!'bqB+% 2BU%`?P6q![>T-rY5V]',;5q+q=Md!$_ !CiXXM[-TgOG/OJKn95R"H]Fls-eLs_M\J#s8W"%&W9oos'1J?>lXh/Md6;^>[7:+ruM)E>lXh/ Mi2V`s-$\mPQ/%1>lXh0MMb^>r`i_-r;Qfs?2'6W>lF[Mrp7%(MHp2]>`4MFrr68\?2sn/>lXh/ Mi1j>s':Ies8H8.rr68]rehIqrr68\?2sn/>lXh/Ff50;rniN\JW%F("H?-HMMh.5s,%5D9oY'h ND5t$MHo1HrJD"gj'7J!N(o:iMiCH%re^\\qr7Z]re^c99o].1!JEpm~> !F"jfb6P0LMh-V;JpmWG"HB.es-/)X_TN".s8W"E&^,S%s*W#5I/j4obC'?iI!u"lruM&dI/j4o bKGb+s,DDRf`.>LI/j4obK,56r-j(nr;QfrIJ:nbI/X'lrTU\Xb'a6hI*9]]rr7AfJ,fFqI/j4o bKG>5s*Vq !?r!N'a(K9Lk#;M"c-u*Q*6!p'uC[f,6.Zer"Thgs8O8X'dE\X+r)=%rurN(s%NA8#SeQ`rur0m +klhn&,S"(s8QCC'e'+W+s+c(9`618(&oKS'`oTZs8F3++W_C6,6.Ze'bqh9s%XFYs7mi_s8O8X 'd(a$:)PDYq'$m"s'cl])AO@>s%XFYs7mi_s8O8X+!aI!s8!mi'uLai'-[l$(*`Rn%O)Z('d=;+ 'b_c#()A+5q]ZNh+r1q/+qk\+'-[l$(*`ass!%H]"X4]t'd==j'`f-qJ,~> !CiXXM?C!\MLkYS"c@20Q`uF"MSb5Q>lXh/r/)+ls8Q>]MHp2]>`)eds'/q(s'u"4#`;mes'1G< @/0X!&,9O;s8Q\bKP(8V?XNL+A,T[4MZ6rXMF:_Ls'/f7@<%-]>lXh/MMbd7s($gos7K`(s8Q>] MI6)WA;+Rooj;)!s(I%?EJe,ss($gos7K`(s8Q>]A70n]s7foOMSk;TN_Q(#Lg9c9%U=gGN(o=i MN1E%Lko_n2p9ob*gN_Q(#Lg9r>s'5Q`"^Hk>N(o?3M?/B"J,~> !F"jfaTJF?Km`cD"bg]#PHB^nahl.%I/j4or5fS!s8RJgaaF-gI*$d9s*T:ms*t#q$%9pCs8RJg `.e-drt"@MI/j4s`35g5gl['_s*t#q"F\D6I!ke47"#%7I!g@!W6!).s8RJgaaa3fJ$t[Ci/W3b s*Vr1J,B7q[[-sONdgm*JAf6caaa3fJ$t[Ci/W3bs*VqDLRZ9_kDFi4_oW)1AaIIXI/3@DI)j:P A^\]BdUhdca*dLUHk,aqa2cG9d`KVZAaIIXI/`a;I/`^@I)j:PA^^S"!P_fg~> !?r!N(':<3M#2`-LRVhoMMsZK(;^gg,6.]@+s@^Fj8W%%(*`eY+r2C&rur:Os4]O^;PtQ[s8O8Y (Hh`dr?<,9s0O!Ms5Q6iMZ:I5(eOb^3@Ie'*[:Xa,5W,X,6.Zeq\D4:s8O8Y()^-PcRNT-bo\+h s&1*W)--^_.VJe+*uIQKk!:G=)AuQTcRNT-bo\/0rurQ6?R[i3q'(A*_\NCg+q5;',5K1e+r1q/ +qbY,&g@c#(*`Rn)^6%5'd=8+((qf#()A+5`?H'5,/qMF()@W/')iXI(a=J~> !CiXXM#sUTMYi#1M4J8$N/idHM8G)N>lXj%>Tnr0qYt87M-U)\>_u_cs'0]Bs1i/VN7_fKs8Q>\ I#J$crEL6$s,1.^s3#(fb5\8[Feo&QA7^_PBO(T;>l0?[>lXh/qh[@=s8Q>\M/fs'Y[=X7Y&dnF s(P_pEOGhN?a0R5F*48XctI(,E,i;cY[=X7Y&dkJs'0?fJ7*R#p0WB-_hePX9q@&p>l!Ch>_e)n 9ok-fO%l1#LKsZ8)dJ/RN(o@iM2tB%LPK-pj'7@p>iXjLLPLg_O8at:KLUI~> !F"jfa9&%7L&6<'KUH8cLP`tM1#@'I/CteI/j4oqoCgGs8RJfaGT-[V1I\,QahJB s+#L.iJiE0_oN#2AaI@RI/3@CI)NtJ A^nfBe7J!b`-hCP)goTBc"5DGaOFef`5I&po6eKpI.QrW`5Ko3eGdMi^KQ-~> !?r!N(':*-Pl-=AM4Cf-P(Q#N(;Uad,5V=(+rODGs8O8es8O8Y,6.Ze()gT*q"W-Y)^>=^+r22m s0*O[()K"2o-457<7:^6UELBg)IUhbps+(&,6.Zeq\B8Xs8O;?('>c\s!%FX1ED#)rUHs8(E$6< s8O8Y*J!,InZ4#Q()pQ'q"'mn(*.qarUHs8(F&nZ+rEhZoDI?f)M&[A('G6o%2TiT,6&Gc'd=8+ ((qf#(DlfirtbnT+qbY,&g@ea(]P]X(]P]Y(BP !CiXXL]X7LQMcUEMk724Q%Y'HLr"lI>l+Ib>]Zq=s8Q>/s8Q>[>lXh/Lh`UDrV+]uHsH^O>_lhT s+YoWLjXsWlWjJiS*9k=VeLsCC7sYdpX+qI>lXh/qhP>Zs8Q@$L]^o^s'5PZ1M4)brpI"'LNBKh s8Q>[B"%4.m]^>ZLhiUCrU6A%Lh=*brpI"'LKslZ>^ML_qYT&uItlTKaN(oCi Llb?%Kn]8+s+L]:9ot0eOA2;FL&YEVL&YEWK`[3-OT(%:KLUI~> !F"jf`WDV/P5L"'Pa*dpe^[qEgV5D8PL;NHZo[/u8I/j4oqo/_cs8RKD`]AMIs*Vi+_M6M5rp-\[`g>'L s8RJ`L=5hql`Hl#`eV@urop#^_M6M5rp-\[`dIgdI&OF8rV5')^k'MC`WXk(m(pO4I/h"hc"5JG `n"_f_85kns1nrbA_+l@en+4I_>eo]_>eo^_#hkmf)EYi^KQ-~> !?r!N('0d$q#:DpN'Mq0^D?YirtYhW+X/*G(*Xt%(B5TX('tj#+sJ-K()A)PU+s-[u$5Xm0 ,6.Ze+!DdJr>#\W+!MmO)\s25,5E#S,5E#S,5`2a)^$=J*>]J,)'L1JrY>YV+]J,+sId<(`rZ"!#gD(_A31b+q=,\#8JEp()@K+%J(DA'd=5*((h`"o,%ND+qaei !>m#2~> !CiXXLB3kCq#:DrNf&CC^PDYjs+^i"?reCP`>^ZL*$@H)e >lXh/@U*>`rJ(]%@pNDSH\[A]>ks0T>ks0T>l9?bDdZjZEJB7(EaE!UreCYq?sR2\LAlr2F^n]b FoI..DdZjZEJB7(>[3&>H=gGgAU]2c_M82T9qCm.#E2B>LPM!dSb%I=N(oFiLQP<%o7I+'9p,F1 !JEpm~> !F"jf`;u5&q#:DnM6_]O^W$%ss2>5/IXHO^`I*(4`W(>b` !?r!N(BnrCNf8mQr.kB.4Fn !CiXXL'"'km+>_.W\L?4-kP"go,Jd6ZtP(n^S9oS[q#CK7/L5(jcN:VW& Hqfe'L&lrsJ,~> !F"jf_Zc]mMi!7Er.P0,YCXTO_ZP;ds*TC8J]$Te!nq51o=G73A_P&>g1AP#]*GQOg;Ch^A^0hY !jH7irkecO>(?~> !?qu((P*D#(BYl]s!!"1JJ[Da!u)@l*q^EX*[242(Ddbu+s-Cq#p(9''GhQ"&gACi)?V$)&et<] !>m#2~> !CiW2Kn4sUK`bT[s'1,/JVE3>"-/L !F"i@_L]T%_?52cs*TC7J\pNc"45V1T_5`"TOl^$_SX[NAYA_)$(tk\d)*ZHen(NI[KE16f$OE5 !P_fg~> !?qu((P*D"(]P\1(P*C_(BG6ao-+2K(&\pL'bg0_!>?4H(BG6ao-+2K(&\pL(a=J~> !CiW2KRngRK`>;.KRng:KE7$mo1]7HN;\D1N0!R)!KW3/7Xt~> !F"i@^k';u_#Je5^k';]^]D^/o47sOc2GEYc-u8q!Ro !?qu((kENT(kEOX(]Y3?&-*@?(]Y3?&-*@?(]Y3?&-*@?(]Yb1~> !CiW2K7SZ+K7S[/K)h&*Q2m'EK)h&*Q2m'EK)h&*Q2m'FK)pWpJ,~> !F"i@^Oa.N^Oa/R^AujVhuM@*^AujVhuM@*^AujVhuM@*^AqGf~> !?qu((kENT(kENk(]Yb1~> !CiW2Jq8N)Jq8NAJcUNoJ,~> !F"i@]n*kJ]n*kb]`GlOJ,~> !*t."JKfXhJKgF)!*t*~> !,[9lJR!b2JR"OH!,[5~> !.KKHJUE#rJUEf3!.KF~> !F>a)mt%-_TRibeTV%nVmfCR:J,~> !H%l9o7=2uZ@T<4ZCeH%o)[EZJ,~> !Ik(JpOU,2^k':P^n8FApAs9&J,~> "C;&rn"BIE!R1S/mfCZ4ddI4\s/k_jbl=(!!R1SPmfCZ4VXFQ0s0V4tT^V?l?%;~> "E"21os0VA#ZLd\=D1D~> "FgCFpV?Ru!SIF;pArqHde "C;&rn"BID!R1S/mK(Q3dd@.[s/k\ibl='u!R1SPmK(Q3VX=K/s0V1sT^V?l?%;~> "E"21oAdddFis/khmf)M-.!S7:Znc@>AVXac=s0V>"ZLd\=D1D~> "FgCFpV?Rt!SIF;p&WhGde3^os/ktqf`.?4!SIF\p&WhGVY1&Cs0VJ&_"[T_IXh~> "C;&rn"BIB!R1S/liG?1dd."Ys/kVgbl='s!R1SPliG?1VX+?-s0V+qT^V?l?%;~> "E"21o "FgCFpV?Rs!SIF;o`<_Fde*Xns/kqpf`.?3!SIF\o`<_FVY'uBs0VG%_"[T_IXh~> "C;&rn"BIA!R1S/lN,60dd$qXs/kSfbl='r!R1SPlN,60VX"9,s0V(pT^V?l?%;~> "E"21oddI4fs/k_jf)M-+!S7:ZmfD#>VXFQ:s0V4tZLd\=D1D~> "FgCFpV?Rq!SIF;o)[MDddmLls/kknf`.?1!SIF\o)[MDVXji@s0VA#_"[T_IXh~> "C;&rn"BI?!R1S/klK$.dcgeVs/kMdbl='p!R1SPklK$.VWe-*s0V"nT^V?l?%;~> "E"21o "FgCFpV?Rp!SIF;nc@DCdddFks/khmf`.?0!SIF\nc@DCVXac?s0V>"_"[T_IXh~> "C;&rn"BI=!R1Sgk5YM)k5ig,dcUYTs3^!6d38SRd3J_Qk5ig,]]TLH+opfR,QQog!R1SPk5ig, ]B9.omH4Mos6/VG!7'a1T^V?l?%;~> "E"21o "FgCFpV?Rn!SIFsn,NI2n,_2AddR:is3^ "C;&rn"BID(joN^+dcLSSs3]s7@s[;"@s[;"!9WDEbl>?<#\/2Ck$r`"joFQ+!R1St jo>D "E"21oAlP[D%lN$)5!S7;) lMpqAlN,T:]B]FsmHXf(s6/bK!7'm5ZLd\=D1D~> "FgCFpV?Rm!SIFsmf3@1mfD)@ddI4hs3^9@%,(+<%,(+ "C;&rn"BI:!R1TCjSf,\"ua-bj8]2Bj8]2&j8mL)roF%Y!X:Qqo&KcNlf8)js8M'Z!:]%L!;bdQ !;5CV'A2C,'A2@+!R1TAj9!$t2V7$d!;5CV'A2C,'A2@+!R1TAj9!$t2XBE.iHQXP$9+($j8mL) ro=%Zm,S-Hq;_MUqr@_Wjl?CAmGn;ls8M*Y!!3?_]^b%_!;#7O!8Z]=T^V?l?%;~> "E"21o19"m=q2!S7;Kl2l\FL=b_e!;5U\"m>19"m=q2!S7;Kl2l\FL?n+/j's&2%nNhWl2fK9 rosI`m-4QNq<@q[qs".]jlugGmHO`'s8M<_!!3O#hsot3!;#IU!8ZoCZLd\=D1D~> "FgCFpV?Rk!SIGOmJ[(e'P-Fum/R.Km/R./m/bl>rpB[b!Yf2/o'HDWlg4`*s8MBc!:]@U!;c*Z !;5^_"75FB"75(8!SIGMm/f6L`n0VS!;5^_"75FB"75(8!SIGMm/f6L`p8W(g>&9m/bl> rp9[cm-OcQq<\.^qs=@`jm<$JmHjr,s8MEb!!3jFkje$?!;#RX!8[#F_"[T_IXh~> "C;&rn"BI8!R1TCiWT>Ain/Yoo&9WLk2H@@g#Dc,qr.Y#s8M!]!93"jI22>4!!)?E!R1TCiW&uJ iW&uQiW&uLiW'#YiW'#=iW7:'r8IfCE=b/bl@\%!!)BF!!)iS!!)oU!!)-?!!)EG!R1TCiWT>Ain/Yon_sNKoAT`Mh;SR1n*eD)J,~> "E"21of[6!!)?L!S7;Mkl:_Q kl:_Xkl:_Skl:b`kl:bDklKB8rTOIK&?uf1e`d&6o'$,TrojC`iopKps8D0bkRb!1kj7O<05&Pl fUFnUklKB8rojC_m-+KMq<7kZqrn(\jllaFmHFZ&s8M6d!9rb"=>fX5!!)WT!!(j>"L@Xjenop~> "FgCFpV?Rj!SIGOlidCUm*-r7o'?>Vk3N'Jg$JJ6qs4@9s8M?g!:9's.#@H\!!)?O!SIGOli7%T li7%[li7%Vli7(cli7(GliGc=rTjXM#Cf(ili7%Vli7(cli7(GliGc=rTjXM#Cf)+lin,Zf]phA ,2;Gbf`1s;!!)BP!!)i]!!)o_!!)-I!!)EQ!SIGOlidCUm*-r7na$5UoBZGWh "C;&rn"BI7!R1TCi;`lWi=F`HiSad0+p-`]F;+pEdc(-)s5=dPF;+pEdc'0CJf4hpiSi^:'F$hN iSadhiVEQNi;q1&ro!hWro"CD"6&4sF;+pEdc'-bTHXI9!:A_Gbl@\$&-1\J!2q4H)jK=?`\du5 B]8miq;De`iSad0+p-`R>7Uca[c-r\s5=+=Jf4hpmGS)is8CmZcO8]?AH(Nti.;jO=5i,rJf4hp iSae8i=,eGi;ff*"W<-#/d<5]q;De`iSad0+p-`R>7Uca[c-r\s5=+=Jf4hpmGS)is8Cm]cO8]? ADJ!9ro".='uAgI%LQ/8qr%P_d/)]&!9)o7!<1p[M&c^VamJ$fbl@\$!!)oT%FnYn!\(S:iPm_[ &SU/%!;k^T!;k^T!<1ppM&c^Val24/>7Uca[c-0FTHXHri,]D9 "E"21o" kN;itkP>2Tk5j06roX7]roXgL"m>(/=ptgCj6,S*HPZ_]!:AqMf)Pa4&-1nV!/29m.`CN5UF$*_ MWap9ck%YM69]G6ubsMd@4ko/_!.,L_kN#VK&U+6Bk5j06roX7]roYB\"m=,t #mEKHkNCr<&.O$Mk5a].^(5hYk%YM69]G76!<;3bUF$*_MWX()ZLd\=D1D~> "FgCFpV?Ri!SIGOlMpqalOV)Nlg"OW%KYnM63\0NlKeBKs6CKU63\0NlKdcp9a_i=lg*:l"r2IL lg"Q'lhUVXlN,ZEkj\Q "C;&rn"BI5!R1TChZ*ZUh\"WGhqnDU_Va7I(r4^<-K!\\rSJEf(r4^<-K!^](V/7Shqt7I^t*9J hqnFchu!KMhZ:t$rnd\Urne=C"5i"4(r4^<-K!\\+2Zpm!:/MCbl@\"&cghH!$T#1TaTc8,'qkf GMh9XpYQM^hqnDU_Va5^Ph"QN(uO3Nrnd\Urndq\hqtIN\_;f*hZ:t$rSIa+8)M8urne3d(V/7S hqtIN\_;eqhZ3W4%05;C!$Ac,U]VdNgnYASh[feFhZ+b8hqo!0e_H6'hqnG5hZ*ZUhZj/=hl@R( g4o"P!R1TBhZnR"ho-5cT/6K(#e;2;V]*G(Dufdm")KWbdequ&!;t^\\JX5]Yo(%+KHKU=!R1TC hZ*ZRh[^9_e_H6'hqoW(f?ea!hZ3K0!!)oR*<>!SYo(%+KHK+/& "E"21oD\jq6JSk2lY>f&l+$5Ln:J?KUAMrT4o&5Ln:J?KUB`43lPnk2ou7e^Zii k2lZqk555TjoO'5roO1\roOgM"m4rR5Ln:J?KUAM:Y+[j!:/bJf)Pa3&ch(V!)V##Jfit/KpZ<"ek2lY>f&l*=YMn>U4Qbc+roO1\roOFck2p>=cIut!joO'5rT457TB;k"roO](43lPn k2p>=cIusojoGAB%05PQ!)(VrL'CDuiJ&?Jjq%OTjoA3.k2mkkiSJH7k2l[Cjo>D\jp(nKk%Hj% g1]m9!S7;Ljp*K1k+XHi;1SZ.#_-+A?q&Yt6id,H""RK\hu)U:!;tscN]uUfEBhe*>u9qN!S7;M jo>DYjprZ>iSJH7k2luJilt`jjoG5>!!)oY*<>6aEBhe*>u9\G,-Tt^DER(D!)M2.k$^O*eNO!# joO'5roO1\roPB]"m.#4iSJH7k2p>=cIusojoFP=$D?PDEBhe*>u9\G!<)$_$)ce->it/OZLd\= D1D~> "FgCFpV?Rg!SIGOkl:__kn1uLl0/1ri9BJRE8\eTXm,'MrTP+GE8\eTXm,(&C>@-"l00R7i5ce< l0/3"l21PWklKH:rojC_rok$9''\X.E8\eTXm,'MIGjAS!:/kMf`1s8&ch1\!.*GV8n.&L"i09: 39fZ-pZW4hl0/1ri9BJi_WKK1Pj.E4rojC_rojXfl00g8gs84PklKH:rTOFuc07oSrojnFC>@-" l00g8gs84LklC\H%05YW!-HrP9cA60hb@\Xkn!jZkl?.il01CKk1DYXl0/3Ikl:__km%4Qkq6`+ cTgg]!SIGNkm%mHktH`o+i40B#W8aK.!FRl)?B[!!toank5=HD!;u'f=`run1iD+!.AQ:p!SIGO kl:_\kmotpk1DYXl0/Aek.s%AklCPD!!)o\*<>?g1iD+!.AQ.l5/QI730`[l!.Eeikp^W1a;G!F klKH:rojC_rokTI''VTsk1DYXl00g8gs84LklBsq( "C;&rn"BI4!R1TCh?a2=hUR&hhVJ79rn[o4S)3#R"lA)9rS@i4S)3#R"lA)jRJbnI/XtVRf*1$f !7p$+!;PCObl@\!&HL\EeUA4hhCY5RhU_qfh>jbYh>dQAh>tk#rn\(ahVJ7FhVR&hhVKo"^&?df !;G=Q!8cQ4YPR)Yg]ZKj!<1gT!<1gX!8cQeRHiW0bl@\!$J5X0hVBEMhVKuTr8%H/RJbnA!<(a` !8cQ4\_c3!!5%+Eh#dE/"9@<8!3c7U"Pa.:h>mQ3!!*#T"9@<80q%=`!R1TChA"TJcJIA%U"0P% hVL/ehCkJWhU_c)h?hq_/d`1b^Y[fIrS@n('ZT"d2kSs`gB?p#!R1TCh>dQMh?MajbYh?>R&hVQiamG7lfs8LjY!8cS_IMD_:"l'7;hD(Grh?*bW $]k;D#WJC4hV/1ih>mN2!\\9$jPC$4n*eD)J,~> "E"21oL:% _;T##S#AHjkU:*jT,8@!Xst2jQ-NMoCLOMJ,~> "FgCFpV?Rf!SIGOkQq7QkfYB,ki`$,roaUkiTTL!0^.^#rTFOkiTTL!0^.^)iV_mF"l\\/TeP]o !7pB5!;PaYf`1s7&HM%Yb:&#,kQTr/kb0]okQ'ZBkPtVKkQ0?9roadkki`$-kigb,ki`2Af_t"6 !;G[[!9iVHj8.sBeKa;A!<20^!<20b!9iVNiTfV-f`1s7$E,65kh-7$ki`60r9+.ciV_m>!<)*j !9iVHjQPg_!9EA-g^3f?"9@ZL!9"P"a\kQ(VG!!*#^"9@ZL#3"k2!SIGOkS0s@kNLS)igi$l khls1kQTr/kbS:VkR#@6*X!g8jQPe-rTFT:9]bL%#3"e0`@(':!SIGOkPtVWkQ]Q^ki`2Af_t"6 !;YjS!<;6d#3"e0`@(QH"k=j]kQ'ZBkQM.Kkie]?mH=T's8M3c!9iXi."hH]"k=j]kQ^#DkQ:fk .bF[`#R98Okf"q5kQ(SF!X51JjQH`^p\3ZrJ,~> "C;&rn"BI2!R1TCh#79W"Z!C=g]7<.!Y!rnRJQ"pHcfgtW%`rnISVgtVo.g].??g]>Y!rnISUgtVo.g^4&:grrV7%s6U^!;G7N !8Q?0rS.\#64Ntq!SlH1rnIJRrnIVVgtW%_lJ)Eas8LdRWVc`!-/@8Yebn2'"P*G*!!)uQ!s%-3 !<([Q!<([Q!;YCP!8Q?0rS.\#64Ntq!SlH1rnIJRrnIVVgtW%_lJ)Eas8LdRWVc`'-/ "E"21og*Lu0M!;GLU !9<)>rSn0f1^O-^!TW2?ro3tYro4+]j5U1!lJhors8M$Y@f-3/@cQJLiV_^:!TEt:!!)uX!s%BA !<(pX!<(pX!;YXW!9<)>rSn0f1^O-^!TW2?ro3tYro4+]j5U1!lJhors8M$Y@f-39@cK&>j/G9' irS0"j5C"4is!8*/*#Xiro4(%&^p[=!!<*!!!2KI!S7;MirB)Vit&@N#ljr+j5[R9&fmM&irJo8 !!)oV!s%BA!rW*,!TW4E1^O-^!TW2?rSn%^ioB(X!:AeIf)Pa0rW!B77b?\)1^O-^!TW2@iV_^; !#9GNirB/Z!!<8^irK&<"L^]2*Lu9P"L@Xjenop~> "FgCFpV?Rd!SIGOk5G>a&RXMZjoGAB!!3)]"Q'CFjoGAB!!3)]"Q'CFjoPAA!!3)]"Q'CFjoEro !!)cU!SIGOk5G>a&RXMZjoPJD"Q'CFjoGAB!!)?I!SIGOjoYVGjoGAB$395NQoG@)aQDUbpZ;PX k2l[Bjp7"q"TSN(k2l[Cjo>D\joYVGjoO`/!SIGOjo?e,!!BLgjoPAA!!2uZ!!)u[!s%KG!<)$[ !<)$[!;YaZ!9WDDrT4BH-NsJM!p8VFroO1\roO:_k2l^/joO-7roO2.qu@&.jqH)'=-Me/!WM3^ hZ3H6#3<6METZB`roO9S/)U?g!!3#u!!2KL!SIGOjo>DYjq!M#"TSN(k2r$j#VX9]joG5>!!)oY !s%KG!W "C;&rn"BI0!R1TCg&M-Lg&M-Og'B6sg=k!Zg=cT+g'K/FdfnIZ!<(UO!UJG?bl@[r!s%'/!<(UO!;tOR\-1O>!Vb:M!8?-,rRqN0F33(d !8?-,rn7>Prn7JTg=e9IlIlHds4Z2[,,"qh"k3h$g+eokg&Wpor7VD^cJ%"(!8?-,rRq5OrRq5O q:YoNg=cQ*g'B "E"21o-p!<(mW!UJ_Gf)Pa/!s%??!<(mW!;tgZWEbio0t;iW&uXiWK8@iXF6"iWe!6io8f%eGeGQD8"6/;?io8T*\,G:e%+a\&!S7;MiW&uUiWTa[f&>Ebr8IjY$0'qFq;MASqr._Yio1Btqr.ki S(?QS!92u "FgCFpV?Rc!SIGOjT#;WjT#;ZjTl%HjlN*fjlHOAjTu+IjlN*fjlH^'r8e1fhWg?%E"hWL\e-P0t!9N=U("E3D!=%KHjT4$6roF+[qrItbZea`e!<)!_jG##CjT52=!!)oX"9@QF#2oC? #R.Qjjid_djT,8@"U3cEje2\AjT4$6roF+[qrJ+fZea`e!9N;HhYcI;!43*6roF.bi;;U9!W1s[ jG##DjTNBnpYpXP~> "C;&rn"BI/!R1TCf`2$Kf`2$Nfa4;g]?t=;g"@I?rn/*\(q\10,MCbJ(:;VEg"E#8]?t=;g"?AJ f`B=srn.8OqUl.I(q\10,MC`MrRh2nT^:>4bl@[q!s%$-!<(RY!86$WW7JK^g"@I?pt5`Lg"?B( fa&aJe]`+8g"?B)f`2$Of`qN1fr#UmeV!8B"jI#"ftS3ufbo'*fr#UmeUuQ.V\ZYiKA"p^7F9:u !86$*rRh/NrRh/Nq:PiMg"?B(fa&aJe]`+8g"?B)f`2$Of`qN1fr#UmeV!8B"jI#"ftS3uf`cXk fh?Atrn.IK)SOR:!;kFY+Fq5XbCL/Vf`9^Y<`f4P"frQDf"l"df`B=srn.8Oqq2N(He$>^!86$W W7JK^g"@I?qUkiKqq2V_g"EGDY1CF%g"@Nqe]`+8g"?B(f`e)f][CNpmF_Nas8L[O!;kFk+a_b` F9("IV\ZYiKA"oXg!`)Sg"EGDY1CF%g"@I?rn.E+W7JK^k1Km1n*eD)J,~> "E"21orS[b_b3\'ff)Pa.!s%<=!<(ja!9)m4^>GpsiSb'bpu);TiSae8 iF/;iFP'nen3n"ANJ#cB&V\dJDJCC !9)l:rS[_VrS[_Vq;DDUiSae8iGpsiSb'bqV_DSqr&1giSecA`8A1&iSb*>ho\jtiSae8i<Gpsk2?HKoCLOMJ,~> "FgCFpV?Ra!SIGOirB)UirB)Xis?uKgVar,j5U9qro4e?DVN)HVrQegB\1Ekj5VD&gVar,j5U-^ irRg4ro3tYqVqi,DVN)HVrQe;rSmn]g$I`"f`1s2!s%BA!<(pc!9<*Vc/44"j5U9qpu;GVj5U.< is5e$iP-Z=j5U.=irB)Yis,SEj"+lqbrSmkXrSmkXq;VPWj5U.)"Z:&BhQ8HuirRg4ro3tYqr84j^#?^P!9<*V c/44"j5U9qqVqPUqr8=ij5W"3dGCuYj5U9UiP-Z=j5U. "C;&rn"BI-!R1TCf)PgIf)PgLf-Jm_&dCD;f@QZ+!8#iQC_?q5a4JqoGo$Zbf@SPh&dCD;f@L#F f)a+qrmq,MqUZ#'C_?q5a4JoCrRV+D%fl"K!R1TCf)l$)f)Yd$$ino2W\=MlGLtH>%flFW!s$s) !<(LT].!gm=TI(*!<1RM!<1RT!8#iRGo$ZbmFMNcs4>k,@/SUo`=1ALGo$Zbf@ST!(C!mkf?-,Y% UT4ff)Yd$!!)uL!!)iH!s$s)!<(LT].!gm=TI(*!<1RM!<1RT!8#iRGo$ZbmFMNcs4>k,@/SU[` =1A1!bMA_"k@;r#YtKuf*f#c('+q2YLhA+f@Tp#rmq:5,Qns)mFMB_s8LXI!#!nq.0C)`!8#i&0 EW/9f@QZ+!;k@J!;k@J!<1R\N[+`EEnApT.0C)`!8#g&rRV5(C(1GG!:AA=bl@[o!!)oJ-bCf0% p8naf@G3`#$':,!8#iN5XX/TN[+`EEnAp9%fk55W\=MlGNRK[T^V?l?%;~> "E"21o3s5+":EuG--OmV$,f)Pa,qZ%8dQlH,DH2uj[ OWjlQTASOA#QXbZ!!)oR'*-qIhK'S;-B[3CQlH,DH2uj[!<(dYge\4eErbUb!S7;MhZ*ZRh^=d2 !>p+_hr!6s%Ld[@hZ2Qkdi "FgCFpV?R`!SIGOiW&uTiW&uWiZuo7"qu%8io3K3!93"c4U)R?i8WbK8-p00io8?K"qu%8io0s\ iW7^3ro*nXqVhe.4U)R?i8W_rrSdlL"9@iK!SIGOiWB2?iW/r:$io;HFqb*:a5Z)L"9A8W!s%?? !<(m_F:nX"U&a34!<1sX!<1s_!93"j8-p00mG\<%s5N#Hd/;l@@:8*I8-p00io8T]#oTPuiftGb -E$q(iW/r:!!)uW!!)iS!s%??!<(m_F:nX"U&a34!<1sX!<1s_!93"j8-p00mG\<%s5N#Hd/;l, @:8(`!n%#,"jf43)jUa+iX:i-#m;>ah;[Doio9k9s5F4=>7h#s[-ciRf`1s1qZ%8gF:nX"U&a34 Fqb*:a5Z)L"9A>Y!!)oU'*.%OhHLQq2RMK'F:nX"U&a34!<(m\dQ%FLSH/':!SIGOiW&uUi[8g\ ![FE>io8T]#oTPuiW.ut[g\tihHLQq2RMK'8-AqPicZ">1rnb<"Mjd+idQC~> "C;&rn"BI,!R1S/ecF"pdaeHCs/jiQbl=']!R1T0ecF&$cIN$?s/+?Jbl>'$"JG5Pb$BM~> "E"21ou4-dbY#Us/k,Yf)M,o!S7;:h>tk2cJATQs/+WRf)N,6"L@Xjenop~> "FgCFpV?R^!SIF;huVL1dbk/Ys/k2[f`.>s!SIG:"Mjd+idQC~> "C;&rn"BI*!R1S/e,dendaSLhs0U2WT^V?l?%;~> "E"21o!FkgB#n*VV;.&s0UM`ZLd\=D1D~> "FgCFpV?R\!SIF;h>u:/dbY#Ws/k,Yf`.>q!SIG?h?7$h%V=D?h>u:/VVV@+s0UVc_"[T_IXh~> "C;&rn"BI'!R1S/d/hJkda8*>s/jZLbl='X!R1SPd/hJkVU5Fgs0U/VT^V?l?%;~> "E"21o "FgCFpV?RZ!SIF;g]?(-dbFlUs/k&Wf`.>o!SIF\g]?(-VVD4)s0UPa_"[T_IXh~> "C;&rn"BI%!R1S/cN28ida%s "E"21o "FgCFpV?RW!SIF;f`Bb*db+ZRs/jrTf`.>l!SIF\f`Bb*VV)"&s0UG^_"[T_IXh~> "'trqmt%-_TRibeTUhbUmfCR:J,~> ")\)0o7=2uZ@T<4ZCS<$o)[EZJ,~> "+L:EpOU,2^k':P^n&:@pAs9&J,~> "C;&rn"BFTPO=#%JcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_m_Ac%!0I3\!2KPo!.k0Nrrf"`n&epd~> "`=;2o "FgCFpV?P'PO?3c!!&,\!!&eo!!%TMX8`= "^V/sn"B^V!!*%_m_Ac%!0I3\!2KPo!.k0Nrrf"`n&epd~> "`=;2o "FgCFpV?P'PO?3c!!&,\!!&eo!!%TMX8`= "^V/sn"B^V!!*&smf*7i!='fQ`Vo3.hc10i0VeX8!WWPnrU'\^!<)SOrr;rtq>UEprr3,k0jXeZoD\dj cMn'u "`=;2o"L@Xje nop~> "FgCFpV?P'r9jRb"9K)jJEQn!"f3mU%TMUEprr3,)$G?B=oD\djcMn:qZ$Tm;$Rr,rr;lr!$1t:!!)Wj!!(pVrW)os$CECJ)K5ENrrE'![f6K40a&uE^Ae>Op\3Zr J,~> "^V/sn"B^V!!*&smM5fjmchuL$*N^ajrJEokGo5mmd:'`BE%<#fF7iZmK5e"#O;U^#s8VF3GQ7[C oD\djcMn>%U[@cD'EA*e'@l_f:](.mf.6au!!)Wj!!(jT!!)ut$7;;+qm6n6rrE'!\,QX)*g?*^ L;*ZjT^V?l?%;~> "`=;2ofaUUe\Ff30/H#MJ!;ZX#!<<)D%&X() !;$3j!7(TR7C`!XE\.7jTe5Nn/Yi4C!LRa$rr<&jrr<&Trr<&trsD&qnb/"gs8N*!!4Vt3k7=fj jCH")"L@Xjenop~> "FgCFpV?P'r9b=#mdB)D:FbPqm\UVtkLjhpjmMO:%GCaK!b>a?rpBmR#Co/>mKEUYmJnUV,aSFgXHMmdC!;ZX#!<<(k&C^[Z!;$3j !7(TR@EA9(4F7&-:1s4L'ANEa!CF[#rr<&jrr<&Trr<&trsE#Hp?ksss8N*!!4Vt3Y:%BfdQ>2C "Mjd+idQC~> "^V/sn"B^V!!*&smJm7bmKL0>md?N,rU'm/)=HnmedqcJ!bbm?rpBpD%.7bBrpBsjmd:)@4/DlD !!(41j8T)ZpAY0m!r)]uFaO/gmgf6p'EGB["[heZrrB;G"[heZs56!F'6_Lt!!)]l!W<)trr<&p rr`?%j;X3[rs/V0*sG%$s*.rNrrMp/r;cis$_&:B4QQPBi&h8YG2*$'r"?bcFs56!F'6`gD!!)ip#6"](rrE'!qu7E$B+Y1ucN!qD Ih2up!<<)uKGOkamaM1:UJSQ%"JG5Pb$BM~> "`=;2oEss8NN,FVG*\q>^K%.Kgf[mf*7eq>UZs"98B$rrDrr(#hgm"[hk\ s8-%-'7g/`s8-:8%:f:arrG?d])Mo=oCLOMJ,~> "FgCFpV?P'r9aObr9a_GRI9J\`Vo3/4dtg,!*sI@mK*mM!<2BhBj^9;g]$UF!:K7TcPbjDmJm71 mc4UQt s,S2\rr36(?jdQurr3Sjrr3#9-iF&Frs\^)$kILYs8S$!""qIFrsA$"s8NPss8RFhr;Qii'D_P* #QS6?&VC#^&``lj!Q$5_!<<'-q,[t8Fo;:>N#i'R_X@F(!;ZX!nI,Bs!<3&rrtWX5"q+f7s8VIP "WsrKs8VLX#8`'me,KFfhn&gj_"[T_IXh~> "^V/sn"B^V!!*&smJm7bmKMeXmd;O;rU(*Y"n(dYmRMoth?`BHrpBoC9^^=CrpC*nmd:)CgCiT8 mJtGuj8T8_)Zgmkp\b$mr4*U;rrjD#s8W!"qu7?1*8C.6/cYhN*8C.6/cYhuN:u[qao;>@p&>'U ')_b0!;ZWs!8A3drVmB.*8C.6/cY,DqZ$St4T>E[rs[$ieG>LWs8OI*p?makrs@j$s8O(ss8W!" r;QfS+Su*K!$'bdHnGBa$Msf&XZZU`rVm;K*7XhO,ldllN:u[qmf*7eqYpfu\JG5F!<3&rrtQ0G oD>@(s8ThThY)I"s8TbOg\#kCe,KS%QR;u!g:mRiT^V?l?%;~> "`=;2o@p&>'1 .fB;H!;ZWs!3[!arVmB.8*oS4D?%otrr<""MuNeUrsX "FgCFpV?P'r9aObr9aa"..6L,l2C#Y]IN@;!9sjJmX%Lm!<2Bh'[c>CL&UKI!:K7TmXeX0md:(u mc4@p&>&9H2R[B !;ZWs!.HThrVm-'I.c56_#J^[rr3'FdJj4FrsUo4n`_X2s8N8Nr6mg`rsD3%V!<3&rrtRrOr9QS@ s8OX$p>$_hs8OTrp"LG!e,KRTC(1boqnE(5_"[T_IXh~> "^V/sn"B^V!!*&smJm7amKZi'h' !;ZWr!"!H=rso+9s8Vfus8Qh?s7[#frrE#t$9u$"s8*!"s#,/UgA_BH.^T0T"8i)t!!3#t!D]Wj rso+9s8Vfus8Qh?s7[#frrE#t$9u$"s8*!"s#,/Um/I%cqu?Zr! "`=;2o!s8VHrs8N)ds8VHrs8NOsjN%9#!;?EofFd9D rr<&prrN0%^AS!A!:Bgdm100r+h%F;%f62*rVm38mf3=\$ig59RcN3&$J5sQs8N-!s8W'!rVlru '^>Jo%fl"ss6UAoCLOMJ,~> "FgCFpV?P'r9aObr9a^Q"n(dZr9bco"n(dYmRW3&'[H+Hmd@2'mI&g:kO.a+s8TDas8N)ns8TDas8N;+mDo5,!;?EoW[@E:rr<&p rrN0$jo#,h!;HNnZT%pa%c[Mp1B%4QrVm30p](9G/-#VRY3jsC"f`pBs8N-!rrN!!rVlrq%/0Pt% flA(s0FZarsn&gZSMLZ!<)p)#P\8ufIR"%#-R@[rr<&rs8N'",k^a.&aCbDrs&5ts0Vk,rs&5ts 04H1rriFfpuOp\3ZrJ,~> "^V/sn"B^V!!*&smJm7bmKMeXmd;L:rU(3\"n(dYmd2]m#N5"Mmd@R^!"C@EmJu\C!:K:BUNsbRBm;rrE,prr3<+s8V9iq4L4WrrE#t!!W<$#6Fl)ls:bGL>Dk2k9Q]!rrjA"s8W!"rVloZ (]"(3!;QQn$3C2,kR.-Y7fWJgrVlj$r;[''s8VFl*ta7qrr<&qrrW&%&GH,1ktDWg!!3-""o/)s "9AK%"o/)s!!1RK"WZ:ss8)o4rrf"`n&epd~> "`=;2oUNsSdNI8rso,/s8W$!s8U(Rr^iOXrrE#t!!<*!#6Fl)bY/]oYMK3[`"15orriZ&s8Vj!rVlo3 3;NRb!<3#ur "FgCFpV?P'r9aObr9aa!.dl^.l2C#\]diIOp\3ZrJ,~> "^V/sn"B^V!!*&smJm7bmKL3@md?H*rU(6:)=HnmmdA$s2t$)6md2=(rpC$S#i=tLmd:)SmK;Me df@SZhu<`S"8i*!rW2cn"a#+ks6gHprs\t8s8Vfts8N)+s8Vftr;QfL"j-cE!;QQqeJ+hUrr<&p rr`?%h%YPArriD0s8Vftrr31/:CH^mrrN)u!BS6qrrL^ThZ!Z-'Vt^-"a#+ks6gHrrrHPcq>UTu [/^1##6+W,?;Ct!s8N,urrG1#q#:BH"n)Bj!;ZWqrW2`m'fLg4rVQZqs#%:cs7ZNns"q%]s7Z`H rrmZ%s8Vru^Ae>/n*eD)J,~> "`=;2o`7K^S7.mck/:rpC$K$L7$Zmd:)SmK:uS k5`]nhu<`M#5eE$qZHTm"WZ4qs4JFirs\tqs8VHqs8N)ds8VHqr;Qf4$H`;J!;QQqW=IAQrr<&p rr`?%ZO*u;rriDis8VHqrr30AR1T;rrrN)u!=n\qrrKkAhZ!YV%at=U"WZ4qs4JFkrrF(nq>UTu mJm4R%K?A3)jq98s8N,urrEW#q#:B0$L[oo!;ZWqqZHQl'b.A;rqQQorseDrs6]merseAqs6U9E rrjJAoCLOMJ,~> "FgCFpV?P'r9aObr9a_GRdTS\`Vo394dka+!:K86"NBfs!:J\MkPjlSXsNK'!:K7TrpBl^5O/[Eb!;HNnZo7sar="EErr($lrfntirrRNrmf!.h%Ia>sHZoDg!r`Vtq>Us* p](9#2ZNgU%#-tFs8N,urrEB#q>UNqPq)5%!!)ip!U^9frtPaYpAa.Qs8N;ts8TJ,s8N;ts8T>\ e,KR]qu?]M(V]nP_"[T_IXh~> "^V/sn"B^V!!*&smM#Zhmcr)O$EigbjVi-lkc>Dlmd:)OmK3IWdM;]J#),e>!:K7TrU'a*+TT^R j8TQH_tiVC+ohR'a8,7r')2D0g(W'1BMSI)'EB00pOFgprr=(qpOFgps#%dmf`fLt!!)rs"T\T& ]aV:Drr<&prs\u.s61_Gs8N'>h=lFNrr3&\!)rms!@5>Wrs[$ic2?UIs8Osqqq2/1rrTkB[/Bq- g(W'1BMSR,!U:6krriBCh=lFNrr3&\!)rms!@5>Wrs[$ic2?UIs8Osqqq2/@rr<&trrkI(q=1!g pAYjTOS\I&!<<)4*o?XB!<<)3*8L77.F\;#h(@^_P8q=:"JG5Pb$BM~> "`=;2o[ZmRh6os'"%Q_$\ "FgCFpV?P'r9b7!mdB,F:b(Yrm\1>pkh0tojmMO:qX+FcmS/K7mKOBRmJu\C!<)JEHgd7!JD*"\i\'ee?g8rtGH`pY?k)s8N(LpY?k)s8RE-qNWGMrr<&srriE&s'IbV q>UEpq>Um(s8SGpcN!nEJG7k?^]+67?i]$^rrE8prr3BhGO,(A2?3]&k5(>jhujmf*7erVm%Ok5F+(GP;%O "k "^V/sn"B^V!!*&smf!1g"s@*erU'jG;[ig]U&OH[!;c*c!:FE5r9adC%IO5amK!1Q!HnIdmc4g=k'EGB["@;GTrrB;G"@;GTs2m>(*0&/AquHcs"7Hj%s8)ct kPtS[!;lcr!<3!)n1n2I!3mUK61+[O!pBsbrr3&6&chq2$`GQZ*/FRoauKPDNSjd5!!h]es-OT, ;>gFn!Hr;SrriD-*s=msrr3&`$2=H!!ko9Irr3A).g6oJs8U5%"!! "`=;2oO;4W@\/c>OhIf"TE^Km!;lcr!<3!)fas&@!.tmj>l4O#!lu)Srr3RV#lt#*re)

AoCLOMJ,~> "FgCFpV?P'r9jOa!tI,9kPafPTe6HW;Vh??!!)l`!s%`ug\gIDAnCB1md:)RmK2_j!6afjrsaf* "!id&s8Ror!ZlFYp\tBn:^.`(qYq60?j[Hprr;uu?j[Hprr<"P(But[bQ%J?s8N1\F8u:;!!<-! s82lorr<&urs>h7])Mb<$4q^drr3"+9`=u';$?t"s8-FB#!L00s+M6n45o)sqZ$j!s8,Us(Rb7% !>4PjrriC1$4q^drr3"+9`=u';$?t"s8-FB#!L00s+M6n45o]/quHcs"c46$*cq/NrtU/#![tMX s8VCL" "^V/sn"B^V!!*%_m^N2r!4`%0I=g2Q!KgccrrJ6i[f6C%#_N'ZT^V?l?%;~> "`=;2o "FgCFpV?P'PO>p[!!'P/!>FkSrrEtrV#LH4ijSjfX?qO="Mjd+idQC~> "^V/sn"B^V!!*%_m^N2r!0I3^c3sNGrrUIRqml_07H3re."_I%T^V?l?%;~> "`=;2o "FgCFpV?P'PO>p[!!&/]!rZ\2V>gVqAQH>@"I]&<*57%)"Mjd+idQC~> "^V/sn"B^V!!*%_m^N2r!0R9_!">BorrN0/S@JS%]-.8>jF[C7T^V?l?%;~> "`=;2oM]NY2Usq1AVLZLd\=D1D~> "FgCFpV?P'PO>p[!!&/]!WXe>V>gSs/FL%J"DA,RFSpaj"Mjd+idQC~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "`=;2o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "C;&rn"BFTPO=#%JcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO!f"JcC<$Qi@3(p\3ZrJ,~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM)`2!!'P/!!&Yk!!%TMU]1Iin*eD)J,~> "E"21o "b-LGpV?h)!!*%_l_FI[!4`%/!2'8k!.k0Frrg.3pYpXP~> "C;&rn"BFTPM)`2!!'P/!!&Yk!!%TMU]1Iin*eD)J,~> "E"21o "b-LGpV?h)!!*%_l_FI[!4`%/!2'8k!.k0Frrg.3pYpXP~> "C;&rn"BFTr7M&Mrn.Y'<>,HVG1kOK$.o./"%WFFg&:sQ"uETnfusC!eQ*+e7+(o3#LcQY$UMo7 s82lnrr<&urrhjH?2joSs82j&"TSMn>S%&n\c)O0q]u7=rr<&jrr<&9rsemH&d__>s8V[q&-Xf! qu6WroD\djfDc/F(^Et:s8N*!!3cD+o3;h10tG$u"JG5Pb$BM~> "E"21o "b-LGpV?h)!!*&slMpqalNsOL#7<`0lg"OIrTaUN#ls;WrW!!5AEL;cbPqa70E`>:qYU9tQn8FZ DtsA4quHTn!!*#u"Kr0FrrCRKqu@!Cs8TYb"V=o0rVlrM+TVB=!!)Wj!!'n9"Pc-E*23B3"hHDl &6nc'rr<&jrr<&Orri3r#8ip/rrN3#!3cD+\hO@">P#T/"Mjd+idQC~> "C;&rn"BFTr7MP[g"FamBuJT4@bKE7=^M*\$H3DRg"?AYg!FsX[Frb'"Xp/5p6lZlrs0sAkPMUs s8N)mrs/W)s6M%Us8N)Grs@:-s8QG&lM7LirVlr,4TP?Y!!)Wj!!'n9%@o$/pQ/ASs'JUfq5b#% rr<&jrr<&OrsIKoeb!KMs8N*!!3cD+?Vp%`X:2iC"JG5Pb$BM~> "E"21o'0s8O$oo^mnXrVlq/M#dDP!!)Wj!!'n9%7OapmpW0pru6ddoS4C_ rr<&jrr<&OrsGGOl00dps8N*!!3cD+)i4.YLE!u-"L@Xjenop~> "b-LGpV?h)!!*&slOEp\l_P>ojPm0llg"N[fDb(C@poB'lN$8:bUA7Slc];3@EA9(4F6o)#[G1= mT+-'rrDcm#QXo)T+KKOrrCFG#suN/rsZ%*l;(dcrrORo!;c]q!;$3j!5eaF*0BpS.c(.)%'B?j :LF#!!!)Wj!!([O$;P7+eJ$^;rrE'!YQ"b7Xnh6X?bZOC_"[T_IXh~> "C;&rn"BFTr7M2Qg"D#SVCCrsJ`ea8c/JnGiOf!ri3%oapNkqYpg$Yoa-:nGd`@rr3#p 'E%q1rsP;>"?bcFs56!F'6_k)%2[aus8*<+rs\Dss8E)srs/V0*sG%$s*.rNrrMp/r;cis$_&:B 4QQPBi&h8YG3T#6FaO/gmgfBt!<3&rrtY':&HXW2s8W(J&.;hFs8W(O(C*M!bPq_SnGiOf!l"[; T^V?l?%;~> "E"21o "b-LGpV?h)!!*&slN@4RlP[_=lN.&kD#W`(%b(LElN$qM!Qc"_lc9#+ljNRf"Rum"rrDcm"9AI_ *TR/!'EDMK&VC#^rr?F7&VC#^s,8!$0#H`M$M+r,s8N0"s8VNrrr3)&5lLc[rs/U4$PA!irt4;j rrKtar;clt%/Es5%s@gMs,8!$0#H*;%0QM-s4MYsrrW3"s6gBnrs/U4$PA!irt4;jrrKtar;clt% /Es5%s@gMs,8!$0#HlQ$4ZJ(s*JqhrrE'!qu7DQ2$OFqqZ$T_5m8@7!<<)e8-]rarlb "C;&rn"BFTr7M2Qg"@[TqUl5Vfg0i8b6ZZ!g"?B)f`BY+[FrV#!Tt*jrsJ\7(B=C7)Zgmkp\Xsm !8A3drVmQ3*8C.6/cYhN*8C.6/cYhuN:u[qjo5A<+TDBEO&PEAY8[E?",^Ld!;c^+!$'bdHnGBa $Msf&XZZU`rVm;K*7XhO,ldllN:u[qe,Kjlg]./n*eD)J,~> "E"21oAoCLOMJ,~> "b-LGpV?h)!!*&slN@4RlNQGIlO*^U#i4fm8*^0@lN$qM!Ql%_lc9#+G'Wl_$1V5Qs8N',#;MqK rrW7M0CJf='EEORgDn$/rr@H>gDn$/rrpjKdllgm!E#rtrrj=GqWh">rr3';iVroSrs/UPp"LJ% s*@ZDrrXLnrrE#t$orS&kq04@rrpjKdll1[%0QP.s4\Upru/0=lVW`?rs/UPp"LJ%s*@ZDrrXLn rrE#t$orS&kq04@rrpjKdllsq$3^;,s54ptrrE'!qu7C!eGSYrUAt6EJbIn?!<<'LHhH,4^!$EZ )R9/);3/Hk"Mjd+idQC~> "C;&rn"BFTr7M2Qg"?JYqUlD[ft8$PF[Fa]g"?AYg!G'[[FrY$!q7\Gq>^Hp! "E"21o!s8VHrs8N)ds8VHrs8NOsjQ-=BrY4Vrrs\?0!!!]$s8U=gs8N)qrso+ss8VHrs8O7N s6L6lrrE#t$4lS)s7Qj#rsbFXdJjY?B(>D&!WW2g'*&"Gn,*+q!:Bgdm100r+h%F;%f62*rVm38 mf3=\$ig59RcNZ3"TeW&s8E&irt5)7s8NPrs8VKes8NPqs8VEpbPqb7'*&"Gn%Sf)ZLd\=D1D~> "b-LGpV?h)!!*&slN7.QlN-hI&-2#dL[,VtlN$8:!:/sr.>>1qaSu=A-M@37rr<'Fp&4mmq8!uW qu6]t!Tj7Z&ch\+s0FZarrDfns0FZars#XnjSo;X%/0]#%)`DO!&XKNs+"h`rrDoq%flA(s0FZa rsn&gZSMLZ!<)p)#P\8ufIR"%#-R@@rs]m2puF(2s8U"C!!"kNqu70,p](9"2uimfir?>?rVllr rsB#*s8U_%s8N;+mH=KL!WN*"qZHEh&aCbDrs&5ts0Vk,rs&5ts04H)rrp=H!!"kN^Ae>Op\3Zr J,~> "C;&rn"BFTr7M2Qg"@[TqUl2Ug"7g1#0ba#g"H?)!X1<^[Fs44rW)Wk!p:i$p\t "E"21o "b-LGpV?h)!!*&slN@4RlNQGIlO!XXh$AiklK\H9li$kc&n0n0le)7:!;6?nQQkhkrrVReDu9P8 clN#`!s!3]kl(M]!<3!$pBCTs!<3!(pBCTsW'1MEhWFh=@Zp]i$ko`_`XSM-WHi*gC!<3!+pBCTsDGgET f`1sOrVliur;[''s8T#]#rLN'rriN&s8V!tpAYDi.g>tR!rr9$rr3,q!<<'"rr3#n"j?oL' "C;&rn"BFTr7M2Qg"D1=\g"?A0fuj "E"21oprr<#e$2a`5!;HNnZo7sar="EErr($lrfnttrril# s8RFhpAYj3a7fPn!<<''p](9$!<<''p](8u1s>n&!WN-!mg6`."Mjd+idQC~> "C;&rn"BFTr7MJYg"F^lCrP#:A(fN8qUkrNg"?A0fusBs]aV:Frt#21s#S3rnXUh=lFNs8N'>h=lFNs8Osqqq2/9rrMBrr;Qq/;="(\%K$/*!;c^!!$0niJ1U^" !os>[rr3!E]`.p>arJ\(j*C\)29#IG"k3J\4kBPQ.BNRL@8Z@eXUY1-"TTS!pOFgorrV6];uZdt ,eX-V%*BR7r8W)&s#%dmf`gX?"kjX@ok7+ortQoCqXB:@s8TbRhY2R$s8T_Oh"H(DbPq`S;="(\% DMiFT^V?l?%;~> "E"21oMtQb"*;fa9!;c^!!(u\I8o"A* !k\N4rr3!*jo58gJ4\Vre6;nP>1`_h$If"aB'/lo&*Eol)iOC^M&cEm"TV0_mRh6nrrTh5WW)nu $0D0d%"Lq+rR>$Ns'"%Q_$]H,"edO5l7Jb(rtPmQrT.>cs8Q_+mdRbPq_bMtQb" *5;FUZLd\=D1D~> "b-LGpV?h)!!*&slO3dZl_G>rjl39nlg"QIlN7.QlN"0TbPqWN3:ctH&-2b1JEHgd7!J\2HfP(L +K,,:*!$$=Qjh:?rr@TDh&X91rr@TDh&X91s*Ei(Ppbbp!HiJ]rrih7qWgpdqu6WrqYp^!JG7k? ^]+67?i]$^rrE8prr3BhGO,(A2?3]&k5(>je,Kl6naVkao`+q"YPRQ\@f-0/!.ah"*P_UR!al#a rr3!%o`"k!4Ep,e_DVAnHKP'h-gCX79ka4N'AN6\'a<+ceg^\"s!iWphAu[ss!`?hg`*oLrrih7 qWgpd^Ae>Op\3ZrJ,~> "C;&rn"BFTr7M&Mrn.S$<"]9TFkPFJqUkrNg"?A0fusEm!#+Pqmh,U"bWl=@7aV28bWl=C(*0'.]!Hr;Wrrqsm$j/&equ6WrqYp^!Yoa*7mJd+e kR%"_rrTnI!<3!+W%/#kL]@Cs3Uf7I84t"nGV$""^dm rrf"`n&epd~> "E"21oOhanW@\/gD>O/0 !!*#u(tfIXrr@Za$!dB-rr@Za$!dB-s/%.G.CSF>!@Pnbrrq7B"pR9Jqu6WrqYp^!K+\Jqqu6Ts a;"UPrt0P`!<<)uKH:4GVZ6[n-Nbg+e,KQ>(^<7Nrr3/Y4U)*ShY[l4O#!lu)Srr3RV #lt#*re)

"b-LGpV?h)!!*&slMpqalNjFH"pmQ-lg"QIlN7.QlN"0TbQ%G>'E.rjF8u8s*^JO*!+6-FJ,]KJ!+6-FJ,]KJKbjqTiTL4A&a9/m"gTZ]$rlfprr<&qrriC1$4q^d rr3"+9`=u';$?t"s8-FB#!L00s+M6n45nZg"Et:a,rro\Z!t80" ^Ae>Op\3ZrJ,~> "C;&rn"BFTPM*kR!I]RSrr<&.rrJ6iT`5%T@(-(9p'?6LqYp\kn*eD)J,~> "E"21o "b-LGpV?h)!!*%_lbi`''CFQS!!'M.!>sghrrEtr[f6B06@o15rrg.3pYpXP~> "C;&rn"BFTPM)H*!!'P/!mV2NU&P2>$i@L7"@_>BHmjRGqYp\kn*eD)J,~> "E"21o "b-LGpV?h)!!*%_l^RnS!4i+2rFK$'rrW.1GT^4H=\rrg.3pYpXP~> "C;&rn"BFTPM)H*!!'S0!WWY!U&P/o%%Oj-"M5fZ4lh1oqYp\kn*eD)J,~> "E"21o "b-LGpV?h)!!*%_l^RnS!4i+2!%dQ3rrN0Om^W9"BF5;mr.4nErrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO!f"JcC<$Qi@3(p\3ZrJ,~> "C;&rn"BFTPO=#%JcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_m[O4V!3H2#!3?,"!.k0Nrrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_m[O4V!3H2#!3?,"!.k0Nrrg.3pYpXP~> "^V/sn"B^V!!*%_m[O4V!3H2#!3?,"!.k0Nrrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_m[O4V!3H2#!3?,"!.k0Nrrg.3pYpXP~> "^V/sn"B^V!!*&smJm7amKim]mJm4f#9mBkrpKac!XC^'qX+=`qsFUfmd:&jm/?>S!:K7TrpC!L /m%H@(@;"f!!*#d$/\_n">HV=l42bOmJpJjmKMu$`;g\?rU'Xcr9h`-rW)lr"R]A%%=%dM%J*g9 "YmRfs86mM$!I6(rr<&urrhjH?2jo[s82lprrW'D!;c`n!!!0#rrW'D!;c]q!<3!$nM+>L!;$3j !7h,K!<)p,do$P]6-90,eQ*+e7+(o3!!)Wj!!(pV$(2V8;Z-Rp!<3&$rrW'D!<3!'eQ*+e7+)&7 quG"A"JG5Pb$BM~> "E"21o'&QS5us0k9!&R"]%rr<&jrr<&Wrri=?%1R=VrrN3#!3Q8&oa_'%rs-#!#8(,0s8Vusc2RpPo CLOMJ,~> "b-LGpV?h)!!*&smJm7amKim]mJm4g%lAh"rpKac!Yf51qX+=`qsFRemd:(!r9aXemd:)SmKK?l YO2C7r9aObrpC)h0E_kbhX8?,mJcMR<;u:gh@AfNGPpk/!;u9-s8E#rrrfGY"=h@ersZIn"V=o0 s8Uk;"rs?5rr<&urrfM4]`.ues82lprrUap!;c`n!!"& "^V/sn"B^V!!*&smJm7amLfNfmJu\Cl-4kfY3t]XmdB.h(AdG!!;l0f!:K7TN_B?=%05ha!:K:1 ,B*# "E"21o!:K:0=uQ6F!!)oa"T[uY!)/CNmL90amJu\C^C-P! mJoq?rU(R(mdAa8OQ5A`$JFi&[dNSG!Tib;Z81hJ9TB#=!!)rbaSu5?rVm&a&$YcgAGcB9)i4.Y LE$9n7:P`S@As)'#QXo)bm^KLrrCjS!!)fo!b7&epAY/\D>jJ9@u13^rs/W)s31tLs8N)jrr<&J rr<&trs_8tnb/"gs8PNto^6`Nqu6WroD\dji;X.X/a;LOU]:>orrB2$!b7&err36m\Ff30/H>_M ao;LLoCLOMJ,~> "b-LGpV?h)!!*&smJm7amLfNfmJu\CijV]5kO.aHW?!;l0f!:K7T*l\*G%05ha!:K9> &&mu)!$9,XmMZ)nm\UVtkLjhpjmEl9mdA7"lL+(?O6uuh`Vo3)!;u9+rr<&trroSRa8=:Hqu7*6 Xnh6X?iU-GOS@`ah>@3X!<<(k&C^[Z!8RSS!;QQq-dMedrrGI'rVlpHcN*hA#QXo)T+KKOrrDZj !!(LJ!!)ut%:$^BmT+-'s'a"Ei]MParr<&jrr<&WrsDM6o[OW0s8N*!!3Q8&-dMelrs3&Sq;OM_ s8N)@rrg.3pYpXP~> "^V/sn"B^V!!*&smJm7amK3IWmK!1Q"M,K=mK!7S!U9d`mJm7amKN[ZmJuQ7V#Kce!:K7TmaW20 rpBjglT:pAmK^8mJuQ7V#Kc^!;u9+rr<&trrJlkp\t[2nGiOf !rr9:gAh3M%f?8/!<;+!OT,7o!3mUL6h(-U!3mUL6h(-Ui&h8YG4>M3!;ZWsoapNkp\t#SVCBrr<&prrN*#qu6]q !rN!'!3mUL6h(,#@/g0,q%N],rr3@q+Tspgs8V">#SVCOrsEmqs8VNts8N*!!;ld2nRiF80@'Ut rdPIe?NC-+re)'m8FFY#"8*5n!;c]ur "E"21oR;'p!<<)r@grlWqo\p@kn "b-LGpV?h)!!*&smJm7amK3IWmK!1Q">uV8mK!7S!Qu2RmJm7amKN[ZmJtQNjo4ZQ!:K7TmY)V0 rpBjgcPbjDmK0qu?]LGl.LD!<8*#j8T&m!+60HK)YfM!+60HK)YfMN#i'R_XRR*!;ZWsX[)jcp\tUKc$iBr)l jN^j#QS6?&VC#^&``lj!Q$5_!<<'-q,[t8Fo;:>N#i'R_X[X5%Ia>sHZoGh!<3&rrtWX5"q+f7s 8VIP"WsrKs8VLX#8`'mb5VRG5lLc[rrhZrs8N)@rrg.3pYpXP~> "^V/sn"B^V!!*&smJm7amK3IWmK!1Q"R$$WmK!7S!U9d`mJm7amLTBdmJu\0''/KK!:K7TbS-QG mL'$_gCiT8mJu\C.D>]J(?l"jm4-$A]J:o'kR-D=!:JSSjR2F9r9hZ+!!)ut"Y5oe#!:Q9rsb#f m/!n(s8Nhgs8Vs!qu6`ugD$UbrtGGQg\#qGs8N'=g\#qGs8OI*p?mb+rriBA!Z>_Hrr3(X@/g6$ rrLt!rVltW@/g6'rrW8U'WD!1%fdU(omA@klO*Lgs/eE`!<)p+arJq-QR)V2-]IceLueR9!;c]s r4*U?rrM9qqu70,*8C.6/cY,DqZ$St4T>E[rs[$ieG>LWs8OI*p?mb,rsBb(s8W!"s8N*!!;ld2 &ukL"V&]O8^E28*J,oWL]c5`!H7R/<",^Ld!;c^%k7[gp!#ktWC%opQ"JG5Pb$BM~> "E"21o qu6]7.f95V!(ZDB7rA:P(B4@6=,[(YrVm:S7csAV=o\L/\bkE!nc&q$q#CBh#QOf(rrDrr'dgfn p3K++s(Y9qm7RHZs(FmglpYU1rrY9frrDoq$,\7mrr "b-LGpV?h)!!*&smJm7amK3IWmK!1Q"M-#LmK!7S!R)5RmJm7amLTBdmJu[,>4(bG!:K7TFtDMK mL'$_Jm.R0mJu\C"mQ!R(;)-bj:1AA.5AI&\gm+8!:GGBmI'BBr9hZ+!!)ut"U/WM&TIXErs]mO qWh">s8N3!s8Ugpqu6`uIP:-frtGH\p"LJ%s8N(Hp"LJ%s8N8Nr6mgurr`<0#;MqNrrX+srrDfn !E#rsrrX+srrDoq!s!d'mf!.k!.=Io*5MT#<;un",LQMkrVm9dGk(#MZN'q.deqQWjSo2[qYpWe >D2nR!Hrbcrs/UPp"LJ%s*@ZDrrXLnrrE#t$orS&kq04@rrpjKdlm7$$3^;,s54ptrrE'!qu7C! eGSYrUAt6EJbIn?!<<'LHhH,4]up?W(ubJpqYphEH2mmE$O8D[c2Rp^p\3ZrJ,~> "^V/sn"B^V!!*&smJm7amK3IWmK!.P#QaA]!:K::LDB[R!!)oa%fl%c!:K9W1[aZ2md:&\AGkj' !:K9W1[aZ2md:8Dr9b:#md@DCmWYrGm_pL?mJu\CXY]D5!;u9+rr<&trriNYj7ncVqu7-#1]RL] `;fk)0')ek!W2lu!"!H=rt5=Zi0n+ro%WEcMn$?n*eD)J,~> "E"21o!s6U\(qYpQorsB;)s8Vd#s8NOsjR<*P!WN-!rW2Ti&c)k7rseDrs6]merseAq s6L3 "b-LGpV?h)!!*&smJm7amK3IWmK!1Q$0h]^mJu\Ccma_GmJm7amLKC 2#.+N)O1$X0*M1P!WW8_r;RB0p](9"2uimXp](9"2uim^Y3kTU$MhLV[K$8WC&e25q#:El%/0]# "Ft4drrDoq!WW8_r;R9-p](9"2uimfir?>?rVllrrsB#*s8U_%s8N;+mGe-G!;lfr!!+A "^V/sn"B^V!!*&smK!FSr9aXfmd:)QmK;YVmdC&S"9pd"mdC&Ss6]mil29r\!Uf@UmdBICL[G01 mJss/NrAAR!:K:B$gei"6fCb'md:)Cmd4&1mK!1Qf`1pNo`"mkrVm$@ g].E&U^!;QQpj;7dp"C$ibrrDoq!s$ORR/R$c!;QQn$3C2,kR.-Y7fWJgrVlj$r;[''s8VFl*ta7g rr<&qrrW&%&H2V1k9Q\rrrE,prr3<+s8V9iq4L4WrrE#t!!W<$#6Fl)ls:bGL@P9I)rUbrqul`n $0b+p!!!'"rrr2srr`?%rrr2srr<)CrrcPbs8N)srrV@/TDJQgq?5+D"JG5Pb$BM~> "E"21oPZLd\=D1D~> "b-LGpV?h)!!*&smJm:cmKDbVmd:)QmK:!LmdC&S";52-mdC&Ss6]jfr9b0]"7GRWmdB'Jh "^V/sn"B^V!!*&smK#>7rU'gM#O_![r9a^")Xd"np$Mi@Qi6=TjTk5A!<2Bnj;?>Gmd:)Cc4bR( mJm7dmK_eidfAh(Qp(E9!QH#VmKQmR*U]nG$i]Po!<2Bgj;?>Gr9hZ+!!)ut"aJf%s8)oqrri_u s8W'!qu6]S)Z0O;!<:jhK`:u\!4;e+pBLZt!4;e+pBLQq!S7MArr`-#s8Vrrq>UJ(MZ*SP!;ld! !<:jhK`:uT!4;e+pBLWs#$t(5nc/UirVlmZ`q]Q7f*178!!)ip!WE-!rrU^bV"t#o!4;e+pBLWs #$t(5nc/UirVlmZ`q]Q7f*1^E"a#+ks6gHkrtRGHli$_]s8Oscs8Vfns8Op]s8VftbQ%G>rr3&M 'VtR)!W)uErrf"`n&epd~> "E"21ogrpBad rpC$A($>SbmQ6=)mK&5.rpBt,^IIWX[MSr2!!*#d"4\.L!;u9+rr<&trrjJkqZ-Nn"9AJ. $+'X2"T[ris6U9prrsF1&H)S.!WE$!%eBDp!P]!&rr<&prrN!!rr3&!%at1Q"T[ris6U9prrsF1 &H)S.!WE$!%eBDp!P]!3rrjCqs8UampAYj:YO_\g!<<'.mf3=T!<<'.mJm4R%EneK!<3!"W=IAP rrMcscMn$QoCLOMJ,~> "b-LGpV?h)!!*&smK!RSrU'fR47;M:r9a\FRdTSDp$Mhcjo+TMPrnF%!<2BnTg.iCmd:)CHP=^( mJm7dmK]FMlN$A@(rcIA!BlkMmKO&CXR7'P>Q4$j!<2BgTg.iCr9hZ+!!)ut"V1G0s4S:drriH& s8VNoqu6[oU\k&o!<7]dh>[E`!;HNnZo7sa!;HNnZo7m_!reH7m/I1<)?9a6!;c]srXA;ps8)fn rr`?%KG<8Arso,(s8TGas8W$+L-GV:rrN)u!=/GrrrW1b.cgU0!;ZWqmKrmm!dcBaq>Us*p](9# 2ZNgU%#-tFs8N,urrEB#q>UNqPq)>("V'r#s*Jq_rtPaYpAa.Qs8N;ts8TJ,s8N;ts8T>\bQ%G> rr3%H.IR$3!S&(5rrg.3pYpXP~> "^V/sn"B^V!!*&smM*AIX6/fmh=lFNrr3&\!)rms!@5>Wrs[$ic2?UIs8Osqqq2/6 rr<&trsCg-q=1!gs8Tb@[.sY)!$0niJ1U^"!os>[rr3!E]`.p>arJ\(j*C\)29#IG"nDTrg(W'1 BMS:$'do+>n;%)Es1KK1pON>Es1B?,p3S7/rr<&urrTkB[/Bq-2T,@VGTkB4"JG5Pb$BM~> "E"21oD.!<)p$Ve5JhAOHIs&-2b1 )iOC^M&cQqB'/lo&*Ech*!$$=`X8@[ZmRh6orr>[ZmRh6os'"%Q_$]]3"^BLThb@#Grr<&t rr<&urrL=hq#:CB"57]E"r1rrEGfrr3CW8`'Eq>6"V+fDWMmjSo2[ rVm45f_t&\.f]O/']8]c"TV0_mRh6nrrTh5WW)nu$0D0d%"Lq+rR>$Ns'"%Q_$]`4"edO5l7Jb( rtPmQrT.>cs8Q_+mdRa8Z,>rr3%[']8ig"^BLThb@"orrfY!o@@c/~> "b-LGpV?h)!!*&smM%``bO+Gm&\mc%!:K:8\54[HfP(L+K,,: !!)ut!!*#u!HiJYrr<&qrs\u.s-O5?s8N(LpY?k)rr3%-!8[YS! "^V/sn"B^V!!*&rmKfRE#Qbu\m-a<@!!/U@-!!)ZZ$)9<_!ZYtAmd:)QmK@\5md:)SmKDH$ <:0bamK%J2rpBsH;[ig]U&FB`l3b&hk5rX%mJm7bmK%J2r9h`-quH`r(SD]M3naQ5mh,U"nl-#" /@5BV_^YaAWVZVp!<3!8n1n2I!3mUK61+^P!3mUK61+^PauKPDNUZrObWl=CZs8N>J 5QqTdd/X.C!!)3[rriD-*s=msrr3&`$2=H!!ko9Irr3A).g6oJs8U5%"!!rr;iq#Nu-25Qq^!lH]D4T^V?l?%;~> "E"21o!!JmW!!)ZZ"be9+"=Jp&mJm7bmK>HKmd:)SmKC]DJaNO9 mK#6HrpBs-56hEW_Yrm,jTFK0hui*?mJm7bmK#6Hr9h`-quH`r(O-Gs;>1%ifd?b!hE;&I52Q>> RMZ5ocMIP@!<3!8fas&@!.tmj>l4R$!.tmj>l4R$VC)Hp[da;#W@\/gD>O/0!!*#u!SJh!rrFLe q#:Zs8N>'/HQVj nc/Xd!!)imrriCT&d_h?rr3&@'`J%2&UF``s8W(O*Wmpis8SrD""C\Krri=>$k.+JrtV[Z!?6ps s8Vt!#SMUgs8Vt($k-P@a8Z,>rr;iq#PnD!/HQc+qTf*DZLd\=D1D~> "b-LGpV?h)!!*&smKW#m*!-C&V#Kf]!!<]eIcp^u!!)][#4-(E!XLWYrpBadrU'jU('*dj!<2Bh U'Rpi!<)!+6-FJ,]HI!FJP!rt/*3!<<)rB+kJ4bQ%Tr(But[k5Y>Z s8N=\*^Kl!!)uqrriC1$4q^drr3"+9`=u';$?t"s8-FB#!L00s+M6n45o`0"T)""(Rasr 'n[2%.(93Vs6DlP+/oPGs6N/Z'nQ>(rr<&us8)d$rVq]p"!id&cMn$_p\3ZrJ,~> "^V/sn"B^V!!*%_m^rK"I=g5R!!(OK!I]RRrrJ6iXT&<`@(uXAp'?6LqYp\kn*eD)J,~> "E"21o "b-LGpV?h)!!*%_m^rK"'CFQS!!(OK!>FkSrrEtrXT&; "^V/sn"B^V!!*%_mZ[YN!3H2%c3sNOrrUIRqn`:87H3re."VEprrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mZ[YN!3Q8&rFK$3rrW.1GT^4H=\rrg.3pYpXP~> "^V/sn"B^V!!*%_mZ[YN!3Q8&!">C"rrN0/SA>.-]-.8>jFR@-rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mZ[YN!3Q8&!%dQ?rrN0Om_Ji*BF5;mr.4nErrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "^V/sn"B^V!!*%_mXbChs+13:rrf"`n&epd~> "E"21o "b-LGpV?h)!!*%_mXbChs+13:rrg.3pYpXP~> "C;&rn"BFTPO=#%JcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO=#%JcC<$Qi@3(p\3ZrJ,~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO!f"JcC<$Qi@3(p\3ZrJ,~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM*/>!!&Dd!!')"!!%TMX8` "`=;2o "b-LGpV?h)!!*%_l`^ "C;&rn"BFTPM*/>!!&Dd!!')"!!%TMX8` "`=;2o "b-LGpV?h)!!*%_l`^ "C;&rn"BFTrn.A(%F"h)!)rmM"5"Llbl68q;uYGPfGXb6rn.9Mrn.A**jiK2j8T;S>S%&n\c2U3 R2?0,r:g3peQ*+e7+)#6"R]A%%=%jO!rF8DqYpNqaT)/ "`=;2omZ7ro*o'ro+%:!UiM63nEts8W(;%1R=R rr<&urrh$eN;inLrr<&KrrVj(!<3#r!!ii0s5HEQ#t3eMrr<&jrr<&WrsH5$#8(,0s8N*!!3ZA$ !;ulr!<)rq!!!8LrrfY!o@@c/~> "b-LGpV?h)!!*&ulN4pHlMg)L;uZ(bgAi8Zrp'P_rp'[@!$1A(lMsl_lN5fNkIKp=rsZIn"V=o0 s8Vsn#8ip'rrniF"<2IZrr3,'0a&uErVlrM+TVB=!!(+?quHZp!nJLpq>Ui)0a&uEs8Vsn#8ip+ rr<&urrfM4]`/!'rr<&KrrUap!<3#r!!jVFs10og&6nc'rr<&jrr<&WrsG2K"<2IZs8N*!!3ZA$ !;ulr!<)rq!!"%brrg.3pYpXP~> "C;&rn"BFTrRi "`=;2ofc_rrQ\e!;c]q!6G0?!;QQq@u13^rse-%YkI-gs8ScEl00dp qu6p%s8U=PVZ6YroD\djeGfS[M#dDP$(,T0ru6ddoS4C_rr<&jrr<&WrsD3)o^6`Ns8N*!!3H2# !;c]q!;ZWqQu1.K"L@Xjenop~> "b-LGpV?h)!!*&tlQ?qmlg)XokNhG5N>:"0lcB4klg%N0("MX9aTCYklVrkRlf8!S%'B?j:LF/% :1s4L'AN9]%:R?Ri]MPes0!fjqpIS)rrORo!;c]q!6G0?!;QQq-dMehrsc.Za8=:Hs8Pi,o[OW0 qu6p%s8S]&e,TFJoD\djeGfRtcN*hA#suN/rsZ%*l;(darr<&jrr<&WrsE2Uq;OM_s8N*!!3H2# !;c]q!;ZWq6Gh%J"Mjd+idQC~> "C;&rn"BFTrRi=5'A;']!)qS(G?Diug"FLJ;q]iJ=N2$-fua:ng"CRO\CopB%1Mb+s8E*"s)i\g s6gHhrrr?&s8SijqYpZj&FKPprtGI<*sG%$s8N)(*sG%$s8V">#SVC:rr<&prr_p*mK!+`!M`Kg rrmOls8VNtqu6d!s5Y,\rr36(Yoa-:nGd`@rr3#p'E%q1rsP;>"?bcFs56!F'6`O<"8*5n!;ld' r]A1#rs\Dss8E)srs/V0*sG%$s*.rNrrMp/r;cis$_&:B4QQPBi&h8YG4#;6r "`=;2oY'i[D.CioC%J"8r3!qZHlu *81AlfcB\a"oAE%s$*X^rr_KuqZ-Km'EEau$"!Q0rr@Za$"!Q0s0O6Y*gka_!!)ip"6gHq!;c]r 5HXh_"WZ4qs4JFirr`?%^'q^Srs/UW&d_nBs!YGWrrMX!r;clt%/tA`#ZUX"s0O6Y*gl*i"6gHq !;ld'r"8N"rr`3!s8)oqrs/UW&d_nBs!YGWrrMX!r;clt%/tA`#ZUX"s0O6Y*gl?p#5\N&rrE'! qu7Dj8dY_ho)Jae>R;'p!<<)r@grlWqoJd;!;c]q!;c]sr"8MFrrfY!o@@c/~> "b-LGpV?h)!!*&tlQBPjlg%mXg$@r:f3a@"lX'YFlg#28?\n%6?NAdFlOqgZlf8!S!ri6"mgT6r% Ia>sHZo#\"mcWsru9klrr]AgrW)fp'EDMK&VC#^rr?F7&VC#^s,8!$0#HED!!)ip"0Fif!;c]r) rLPm"V'r#s*Jqdrr`?%Nud9[rs/U4$PA!irt4;jrrKtar;clt%/Es5%s@gMs,8!$0#HcN"0Fif! ;ld'o+Us"rrW3"s6gBnrs/U4$PA!irt4;jrrKtar;clt%/Es5%s@gMs,8!$0#I#U#4)`trrE'!q u7DQ2$OFqqZ$T_5m8@7!<<)e8-]rarlG*>!;c]q!;c]so+UrFrrg.3pYpXP~> "C;&rn"BFTrRi=G-F2=*/g]3#$..T\CopB%?FHSqQCh;ruBts s83#krs@j$s8OU9-O)Zdrr3(X@/g6'rtGGQg\#qGs8N'=g\#qGs8OI*p?malrriBA!Z>_Hrr3(X @/g6'rs^KF-O)Zds8O(ss8W!"qu6`ugD$Ubrso)Lg\#qGs6C$gs8T2`rrE#t%*BR>qNiK-s!Nd! mYL$*",^Ld!;lcshB;gt"clUKqQCh7rso)Lg\#qGs6C$gs8T2`rrE#t%*BR>qNiK-s!Nd!mYL91 #3QX!rrE'!qu7BDWUp"`*<6&R*o?U@!<<)4)r(%3/'._j!;c]q!;c]rhB:)C"JG5Pb$BM~> "`=;2o$riad%:imnLqi!e8tA8u#:edLEGioC%J6&bO1MF%:B #Pe?!p]pEj$,\7mrsOZ!$<-ZtrrY9frrDoq'ECYilpkpmrr>RUlpkpmrsH=6j(@*H"TT/<,_H!o rrY9frrDoq%1A".$<-Zurs/?!s7cirrrW8)&_-dZ%ff,dlpkpmcPHN[s&Y-Y!<)p+I7EAlB3G97 $G$&oB'0*q3OA_cqu6\t;#^Iu6&bO1MF%.>%ff,dlpkpmcPHN[s&Y-Y!<)p+I7EAlB3G97$G$&o B'oU&_^b]d!<3&rrtQltq=],%s8Qh.mHmOHs8Qb%m-I/SaSu5?qYpNqqYpSs:sK"CZLd\=D1D~> "b-LGpV?h)!!*&tlQG-qk3FHN\EgUQlJW37lR=QulaJ>.i=4r8.5A?u[jgUPlf8!S)R9/);31bW "T8<"i#VFh$$LUorrm-H&TIXHrrX+srrDoq'EEORgDn$/rr@H>gDn$/rrpjKdllLd"98f70qnRG !uU"s!;c^)"_nJYE;T\8"T8<"i#V^p!s!d'mf!.k!.=Io*5MT#<;un",LQMkrVm9dGk(#MZN'q. deqQWk5PN#iVroTrrGuurr3-?Z23c`O8Jq_!.=Io*5MT#<;un",LQMkrVm9dGk(#MZN'q.deqQW mJdB6H2mmErrDrr'h$RLloh*Cs"&`ph&QLqs!rHhgDdiIrr<&qrr<&qrrGuuc2Rp^p\3ZrJ,~> "C;&rn"BFTr7N-d2VDoA%,&!3g"E,YfkdDlfsDsVfqUIYCnhElZm*!4j8TG\1]RL]`;fi>qu6Tq !VHC(n1(dErrb"8plZTrs6C3orrDoq&cf9 "`=;2o\(qYpQorsB;)s8Vd#s8NOsjQ6CE bp38g!;uiurY4Vrrrqj)!!!]$qu70,mJm4R%fcPP[f>\(qYpQorsB;)s8Vd#s8NOsjQumJfFd9: rt5)7s8NPrs8VKes8NPqs8VEpaSu5?qYpNqqu6`s'^ "b-LGpV?h)!!*&slQ.@mlOL%:lSGg3lQsU;%]sa:1U693--,<]X`/Xue?J8,&`!;c^.!;HNnZT%pa!;HNnZT%pa#-R@GrsJS<)R]VFJ8,&` !;c^$!L3B>/Xue?!WN*"qZH`q!WW8_r;R9-p](9"2uimfir?>?rVllrrsB#*s8U_%s8N;+mH+?N J8,&`!;uiuq@*)srrp=H!!"kNqu70,p](9"2uimfir?>?rVllrrsB#*s8U_%s8N;+mHjiSW[@E0 rt4NDs8N;ts8TJ,s8N;ts8T>]aSu5?qYpNqqu6`o%/.sG"Mjd+idQC~> "C;&rn"BFTr7N.<$J60J4j?HNg"F^ZfGE4(bsmH@g!C)Y(YLsr7Y\D*j8TR7:[7bW'EA(Oi;`iT "SMcrk9Q]!rsTn%s8Vrus8Q;^s8N)qrrE,prr3*%s8N)orr33(s8VFl*ta7[rs8H(s8Q;^s8N)q rs]t&s8Vrus8O%rs8W!"qu6`ubRBm;rrE,prr3<+s8V9iq4L4WrrE#t!!W<$#6Fl)ls:bGL?JR> >E&U^!;uitj;7dp"aWu0q5b8,rrE,prr3<+s8V9iq4L4WrrE#t!!W<$#6Fl)ls:bGL@>-Dk9Q\m rs@p`&-)\2s8N8trr3*$s8N8trr2s!aSu5?qYpNqqu6]X(X2m^T^V?l?%;~> "`=;2o[h\>&`h\+2nilr7r']Ke`'$]Fqbnf1NiY12^c*u]mrs^Q8o^mnjs8N?! s8Vj!p&>*3&((=U$jZP,s7Z`truBVirrDoq'EJ.4s8<$!rrE&us8<$!s3+.N+g9Pu#kSB%ruBVi rrDoq%0uY-s7Z`trs/?!s7cirrrW7m$H;uD%flV/s8<$!s2GfQ8X]VY!<)ot!rW*(!WW2D9GAYR kPkZ)f)PaMr;Qf23;rj\/ViujLFrE'%flV/s8<$!s2GfQ8X]VY!<)ot!rW*(!WW2D9GAYRn,EI- &(("L'ui9A!!!'"rrN-!s8;rtrrN-!s8;u>rr<&qrr<&rrrKembl7gOoCLOMJ,~> "b-LGpV?h)!!*&slQ20ni(*)Jkm?>7l]GH18*^oS$/t49O^-g7lP8XjiOA.5rs]XCq)[,45C0$j?M.s4\=hrseDrrrDoq!!*#u"SW*"rrE&u#knN&s/8*f1u?mb#gaUlrseDr rrDoq%0ZV/s4\=hrr`3!s54pprrW7=+R&e(!!*#u$hji)s)(^6*n^Mm!<)ot!W "C;&rn"BFTqq20PIi@"/Ad\Li##g!ifpZL[rRhBRIi@"/AdZ!"j8TPpnGiOf!WW1AHiO-7%efo( eJ+hXrs*f's8Vrus8Vrrqu7**[/^1##64]'[/^1##5nK%f*0h,"8`3#s8)fnrsa5-s8Vrus8R1f s8VNtqu6d!s4nBBrr3-%[/^1##6+W,?;Ct!s8N,urrG1#q#:BH"m>p_!<)ou@>b$`"UX\us8E&r rriD0s8Vftrr31/:CH^mrrN)u!BS6qrrL^TnG`R?'VtC$'fLg4rVQZqs#%:cs7ZNns"q%]s7Z`= rr<&qrr<&rrrHPcbl7g=n*eD)J,~> "`=;2os7QZss8)fnrs\tqs8VHqs8N)ds8VHqr;Qf4$J>@\o`kHrqZ-Nn%3G9Ds7QZs ruB_ls4JFirr`?%ZO*u;rriDis8VHqrr30AR1T;rrrN)u!=n\qrrKkAkPtDZrVlm;g\q-U!rW)u qZH`q"T[ris6U9prrsF1&H)S.!WE$!%eBDp!P]!2rrT/0de*PS%Bo@%q#LHp%IX8rmK!:e%IO2q m1%/:!!)lq!!)or!?9e;rrfY!o@@c/~> "b-LGpV?h)!!*&rlNR`>Wp:XI>5dak$[&K8*-GH`lNR`>Wp:XI>.3bWrs]#.s8VNos8NPss8RFh pAY2@.IR07#7gY2s4S:hs8)fnrs\u&s8TGas8N)ns8TGarVlruPq(Gd"4\:hs8)fnrs]J8s8Udh s8NPss8RFhqu6d!s+D*Brr3K/p](9#2ZNgU%#-tFs8N,urrEB#q>UNqPq(tsqZ-Wq!r`VtrVm$% rr<#e$2a`5!;HNnZo7sar="EErr($lrfnu&rrRNrme$Mo#06H;irK,Z#5A/t[/g7, #5A/tYr'Q%!!)lq!!)rs!r`Vtbl7g]p\3ZrJ,~> "C;&rn"BFTqq21`$q8jc#WDY7#.P(1ftdqPrRhCb$q8jc#WB-Ej8TQs;="(\%KHI^'@uhi:A=bi ]aV:Grrq41jS4oYqu6WrqYq60*SpI?/H>_M*SpI?/H>`-`V\!<)p/!<<)T /`c\j*<6&m'@uhi:Ab&#!<<)`,&dM]!$0niJ1U^"!os>[rr3!E]`.p>arJ\(j*C\)29#IG"loU_ !<)oul4Emn"^t9oqQ15(rriBCh=lFNrr3&\!)rms!@5>Wrs[$ic2?UIs8Osqqq2/CrrTkB[.F;4 -]n2oL]IJT]cQ&)JH5`M]H#`#HR[&9!!)lq!!)rs!U:6>rrf"`n&epd~> "`=;2oCB"57]E"r1rrEGfrr3CW8`'Eq>6"V+fDWMm j8T)ZrVloB,lIZG)iOC^M&cEm"TV0_mRh6nrrTh5WW)nu$0D0d%"Lq+rR>$Ns'"%Q_$]`4!fduP oD]O4]D^ht!<<(3:%%FC!<<(17d]S3A]XlO!;c]q!;uitbTtC3"L@Xjenop~> "b-LGpV?h)!!*&rlNTBZe*BL0a8P<.3XsR(7gR06lNTBZe*BL0a0tj j8T)ZrVln@F8Z%A%'TNn:La5$"TX)Ih&X90rrQR.h>[ET"SD]n$p8b"q8,#hs*Ei(Ppc,%!adqX oD]O/eG[rJ!<<'KK(n+C!<<'JI.l>7]ZC*Q!;c]q!;uitF`Yb+"Mjd+idQC~> "C;&rn"BFTqq22)$)lP+!jqpZ#1a*Zg!^#0rRhD+$)lP+!joDhj8T;R<"&j[Zi9t-Qkos(r:g6g !!h]es.C;63naE1!!)lq'EGB["@;GTrrB;G"@;GTs2m>(*0&bR"jB48&68#mrr<&urrMR#rr3+o )[&4Trr3+g(C!b7qu6Wrrr3;o10X\XYoa*7mJd+ekR%"_rrTnI!<3!+W%/#kL]@Cs3(*0'LgqZ$WZp\tub 0`r&&!<<)tHk-Qj!WW2uJ/&;Xm)oA+!<3#r!<3!!G&5A%"JG5Pb$BM~> "`=;2o^J>%gc,,qu6WrqYq60K+\Jqqu?ZrK+\Jqqu?\n-Nbg+h#@PW/HQc+qYU9m!<3!!fd?^u $[<0g;>1%irbi2RE;KS7!<3!)fas&@!.tmj>l4O#!lu)Srr3RV#lt#*re)

"b-LGpV?h)!!*&rlNY3-jm0)WkPa]N_?/ibY6sIklNY3-jm0)WkI0^:rsZ1a!t80"s8Vsm"rE^$ s8)d$rVugu#S:qOqu6WrqYq60?j[Hprr;uu?j[Hprr<"P(But[h#@P7*." rE'=:Du9S7qbRJ5RJQp`!<3!)XpM]>!+6-FJ,]HI!FJP!rt/*3!<<)rB+kJ4bQ%Tr(But[j8T)Z rVlm1kktGaZ7H(d<:]qd"TVp;&:a]YrrHJ#rVmI,"T\T&qe$QH4j3m*KbjqTiUQsF!!)ulrtU/# ![tMXs8VCL"rr;lrrr3!2kf`u/_"[T_IXh~> "C;&rn"BFTPM)l6!!'h7!I]RRrrJ6iXT&<`@(uXAp'?6LqYp\kn*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l_ja_!5SU8'CFNR!>sgtrrEtr^Ae586@o15rrg.3pYpXP~> "C;&rn"BFTPM)l6!!&Dd!mV2NXoAIJ$i@d?"@_>BHmjRGqYp\kn*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l_ja_!1EigrFK$3rrW.1GT^4H=\rrg.3pYpXP~> "C;&rn"BFTPM)l6!!&Ge!WWY!XoAG&%%P-5"M5fZ4lh1oqYp\kn*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l_ja_!1Eig!%dQ?rrN0Om_Ji*BF5;mr.4nErrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "`=;2o "b-LGpV?h)!!*%_l[f(es+13:rrg.3pYpXP~> "C;&rn"BFTPM(NeJcC<$Qi@2]n*eD)J,~> "E"21o "FgCFpV?P'PO!f"JcC<$Qi@3(p\3ZrJ,~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> "C;&rn">73JcC<$JcDAB"JG5Pb$BM~> "E"21o "FgCFpV;@[JcC<$JcDAB"Mjd+idQC~> !F>a)mt%-_TRibeTV%nVmfCR:J,~> !H%l9o7=2uZ@T<4ZCeH%o)[EZJ,~> !Ik(JpOU,2^k':P^n8FApAs9&J,~> !F>_Vmt'qYmt'qqmfCR:J,~> !H%jfo7?Lao7?M$o)[EZJ,~> !Ik'"pOW'ipOW(,pAs9&J,~> !F>_Vmt'qYmt'qqmfCR:J,~> !H%jfo7?Lao7?M$o)[EZJ,~> !Ik'"pOW'ipOW(,pAs9&J,~> !F>_Vb(7]db(7^&aoG^t~> !H%jfeq)D'eq)D>ec9Q;~> !Ik'"idp*?idp*ViW+FX~> JR*h4JR*h4Q!Jn~> JSfsTJSfsTQ#2$~> JUW0!JUW0!Q%"5~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/protocol_edit_dlg.png0000644000175000017500000002425414016714367017135 00000000000000PNG  IHDR3CbsBIT|dtEXtSoftwaregnome-screenshot> IDATxwxUfK6tB(EAQ"("*~vD""/ X,(EB&!ԭ3&!I pnΜ9s晙gϙ"=쐎 YвItMCwҗ\n"P![A3NOfg&-)zf yF`HUAĸK='}oht]ybaMbHL=8eՃy\FnVeL-x\yLd6W`Uu9b;<$)0Ҧ J%RiΦ:?.\T]lۛ3iQ2vygڕhEޅy:$Њ\h(B|W[[q{1#+7UV`Uu㷲M!S 8aMxٹH$Y>RvzNkPIl[sٷqW7El!{nݢ1^~'|$sI7 %6T7W0~h3ZHxQ\L#.I&$qӿ]iOË2 3)K]n H0eQ0+!y&+6eʏk.pyr[3lgyeۣCg<'sn lDAbS<cgL$52c?77dۅ\JU`nL'ū3|pӠU.o?JtC$)cy eQ[Z4qnf>% v_0l f|Mdyy$oߊ*1O$nwjQtDW6ƝD_fӦMlڴǶēvxl wE$c2%~er{pCT] "R2IS96>X.Na'?S~ِWfv82a~̖wMÁri;(|͛IV/b].em=9Nlˣh!_tҢOzoEno`]^6n L*iѻG4䑷bc1M;[bz7W6b`0l(mvr\W]{5,uY%=1F:](ǯݏ-sE5.{{{F^4{{{偂d{x<{V#;+CxJWӏYd<<7nϛw!py`'{u4岛3`VCz7&:j<$ct[]ޢ)}p_˭+6I\WKA|C&-4B:3)k.ZOкS n9Wvۑ$m`膰r'3-?6~Wl]Ownz./1i>/tي 8Wr]}pCכr˜_ttpzG+o4mۆ.R亇Պ-{m5IK䩚 ]ei~77EtS躎-"9~'q%}.mWfݣӴ ].E^C8e5!8%b[biѳZZe! k]u&{Fٹ4i҄V|Yc)&9ZOg\5~0Ml醨xd7v$tTzt$ B8Juܤ-}ʯg{ޜxɈQq3Hh &~yM ώ"&_Ǿ%+1FEׁ#s热l_3)W{d9lO>Ft%M6cݱ -{ opAtnwp6k7?RKo;;l_"iܲ1^(bN1#^hAl>Y|*O,tk_הU2ZL_3np Yp\4m]/eFzfѹ[Zvšk6bl?}F5(6me. !— JUz8:|Y*Lq&La lW|t%m[%aedIΟ=%qeP(sCbe:vCeQGm橞^ĴF5G\֗ 7003--Á\ZZNN6DE+\PtoK'yJ_X3X$AF*2~0$5Mt*I@}ſme0kb H*Lf珹П5F#;9?'32ӰyimO[x׭SyK$v&н-$`m 2Rضc1F+׌+iJd+8儓qgځ_ۘHEXK쟂r*O,~sguYD䛿eAuUyͰ|^p_wf*em1e{6P,ji?S`c0Hf/kƑ#޽MH:DddRh(~Bִ&/uJ5 SP"AK͕ıq$;F+cE2k|6dPdQIpf4NwΓ|~< VF|$%qhEY`ک˒7ՙ΢]<'sA'I"$ڿ6'Au lU3h: "C}\ZFO =uySM)A Ԟىq ]FKnnjjQ.I 6"+sA$DmgI|'()2߬<ijsgZG};لRVӹyAQv{~ dw;0v%[(~nnwn9xeۤI^N:n",:zxw>#$9`l,2_'ޝ;>Mv(כ0r@Vp` 9 1'2P ķ͵7@ cY`M|a?d$ELI*_\}3Wf kH/;9Yl* op8ڻo#a>m066Ilך׭I λ;M%hЊE?CRo]QR,I\^<!!a((J9lߵǑ`0,&Tsk׍HeO\I=CO=t+RK\3Ƙk) TLRl+7\Ow>d|B(1ZWA5 AjXdR|t$a;k;/O#uxbd*}k6|]gه; L{{R0'rɌ5N/ƍ}Yvi\nV^~~.ًXhV|j0@˕WN01Xd6}7g:|,ָzߓ _wuE~0cT#y~~W2ӎ f֠曠x6̧?Y,zo ݳb9̱փ|Z$҂/x]> aܷX[蚋 o~~>8%/ϣط鲥L4^!4OpumJ_>ά9opyrc~W^_;ƣ{53ynX9o7?:5_-{Zr'3w7Rxyc 8b-1( _Ջp}wz<Yݒy[/X]>?W#!yaP ;O\.fplЦs2+"W% ~i?t1g*#(Z2:J^T߆lZꂀ`zי3+Fq4BB ]M: kg؈9du@saӽ=Cے?  ]9_d1H󧻞S%ߊEAuh,IY 5ʄ6?7 N/pfഒYLf<װ-'\e/K3̩,]F*P$`4ÓUǟhҷfb;/HY\卡-}[׋:)}-΅ILZt8X B]pZǻ1k Ͼ(jP. - Nՙ]GF~,ZOGKt] ;#<&T2ȴR_llRH>W֘\aKkjh^l.zΔMC6D<1-9}Fu-/`鯅z.g~p )1o8!\svן9I$7n[-QGu &f8w:n{hW*uhz_w~8^zy}z07V'k=g3 WY2Ny`/~+qu*+#;W}e=W>=22H<COWo,̅#au'aY uKS83l/T, Դrмv?zvתl i;a BmQa Bm$ uiiVs~&$$YF$3AJz&6$`da?]$Ptйƕq,^dYl %*:[X88Mf ~'JB pNue[ L~YiO8y%%Zd~/8t,<K=bÔ@EA ]zd}o_$lalמnl` (Q,`2p- b;n ME$z(a%zfߚ|ÞT[ Nz5@u84M=161!_ @4@ V5Cr V A3|j0g3Y| KZFA(3Lݹb7)56WVi@跱{+׎$Ig8m8.0-9&g^5̬P2;w~힜?Y^KŦ}dh|MUZtIHjdbq>lص?pt7\y@MYYvsH'qoLFi*-&f>g( v)mI3j j:5P2(:Y\;qi] )*-_4O"Yn K!Sc% %>Ûs/,\{;ltbOm߶zV^~IHH ʖR|rK-~F Ƅ{Z߸;0vӮ7 l:3gq^-x7ڌjLk8`ɉUobP%$ʸ͛6H+E!NRGCQRߚMĸd& N b\53wGRFRqݓjU3k֯;a c3J? j6^O3C8^}6_ןbpE^YĠV9C*::i+1;78¶}Z{49`9&EbP1LV 3 hdzu•߆7[};;=&i~muxwVmX,㡱iuPAoBB;{< мޞ;w7ۇ*<͉ŖQKU@$3V0Oq!:cttRh5x<=F>¢1Y b)ǺzRǕ›⢆QL)3Ɲ%6$+7ph'Iq+agH 3*A6Ğ|;>ٸW%+uO 9\Wdo FO_[-Ћb,x偫XC,]y.yv %7Ezrs9=~rkkXoGX*#۫zH޴7/f 2/9M^7)EP+S'o^«NgiȖzt:/Iu6St 7i qidmռ*N>ضYK`͑4mщwīf؈ie\i*>Hf(Ie K kh7iOGUGNdٕkhP\D+%$IBQ0v'iPP[8IYEQJ 3E+Up0\GXDZW/ $I0EQeGĸJq0dv+$IBt|ߨ!OuCS{f b\eŸ@d vi+")3R=YmA2^Ahb>IENDB`etherape-0.9.20/doc/C/figures/all_nodes.eps0000644000175000017500000017652011320074550015374 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner %%Title: all_nodes.eps %%CreationDate: Fri Jan 1 16:42:48 2010 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 583 222 %%EndComments %%BeginPreview: 256 93 1 93 % 1555555555555555555555555555555555555555555555555555555555555554 % 4000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000001004 % 8000000000000000000000000000000000000000000000000000000020080200 % 178000000000000000000000000d008000000000000000000000000000002040 % 8e8000000000000000000000000932aa00000000000000000000000020082200 % 158000000000000000000000000b54bb0000000000000000000000000a804080 % 8f4000000000000000000000000932a000000000000000000000000020080200 % 1000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000015454150 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000080020000000000000000000000000000000000000000000000000000 % 0200000000000000000000000000000000000000000000000000000000000000 % 8400208081021000000000000000000000000000000000000000000000000000 % 880200050008a000000000000000000000000000000000000000000000000000 % 0000200001000400000000000000000000000000000000000000000000000000 % 9514000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8889249249249249249249249249249249249249249249249249249249249249 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 00000000000000002000000000000a0000000000006000000000000000002000 % 800000000000000420000000001c000000180000e08000080220000000c02001 % 8426980000006c00edb2600067837f600019b0f836f20008cb219b6000adaac8 % 023058000000100e2132400014006100003e008026840008ca21da8000cc2708 % 8150400000000001ad04a0001200a1400024b4802284000852214aa000953510 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000001 % 8000000000000000000000000000000000000000000000000000000000000000 % 2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 80a000000000000000440000820404a00011102a100000088000000000900000 % 82aaa354a168000010800000838440ca501001881968b4028554000000158000 % 06a38f1c40780000204e0000800408c20810000b1840e8020d04000000d04000 % 80a28354a040000c71a0000082a480aa501124a81150b4080454000000144000 % 0000010000000000000000000000000000000000000000000040000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 80000000000000048110a8009b8ddc90003371931400000c8000000000cd8000 % 056d14a8550000042404020082044084c81000081086c8028cd8000000100000 % 87bb8428140000042404020088840882101000921068300201040000008c4000 % 00005c18d300000ec35aec0082a480aa501124a81550b4080454000000104000 % 8000140001000000000000000000000000000000000000000000000000000000 % 80000000000000000000000000000000000000000020000000c0000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000000000 % 8000000000000000000000000000000000000000000000000000000000000000 % 0000000000000000000000000000000000000000000000000000000000008882 % c000000000000000000000000000000000000000000000000000000000008000 % 0000000000000000000000000000002000000000000000000000000000008001 % c000000000000000000000000000000000000000000000000000000000000209 % 0000000000000000000000000000002000000000000000000000000000008810 % 8000000000000000000000000000000000000000000000000000000000008001 % b6ddddddddddddddddddddddddddddadbbbbbbbbbbbbbbbbbbbbbbbbbbbb2ad4 %%EndPreview %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 207 translate 568 -207 scale % Image geometry 568 207 8 % Transformation matrix [ 568 0 0 207 0 0 ] % Strings to hold RGB-samples per scanline /rstr 568 string def /gstr 568 string def /bstr 568 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 57587 ASCII Bytes colorimage r9SuqJWGACJWJ9@r8rM~> r9/]aJV/N+JV2F(r8E/~> r8N9HJT-0ZJT0(Wr7QT~> rp0ZS[t4R1s+13$s3puK\!m roaBCXF^D&s+13$s3puKXH*; ro*s+S:U]ks+13$s3puKS:(=hJ,~> s6KfUs8RZEJbO`iOS8b?oB$& s6'NEs8RZCJb=TeOS&V8oABW1qt0sNoABW1qt0sNoABi7p&G&Pi8B+~> s5=$,s8RZ?Jan<]ORW>-o@O'"qsa[Co@O'"qsa[Co@O9(nc/W:f[t]~> !plBUJbFZgJbG/u!U/2-RK;()rUp9Uf^kO4f]`;-!U/2-RKhF.p@d@3b('~> !p>UDJb4NcJb5#q!TVT!NWIPfrU^-NdIWA!dGt2t!TVT!NX!nko^paq_12~> !o\P,Jae6[Jae`i!SbTbHi_4@rU9jB`UeHX`S:@\!SbTbHj7REnF4\MZ[`~> !pd>qJbFZgJbG3!"6e=)n+H\en!_hkp@d_$Rd]qL$1F>6kk=`6esc(#rs/"]f')ha\,Us~> !p?ZbJb+HaJb+up"67[em.LAbm#KBOoCM"fNpQH=$1*\tj7Dm&cAq8ars.nNcK"NJXT*e~> !o][LJa\0YJa\]h"5C_@k4S`\k'Y)$n*f#KI-1,%$0HWQg[FUc_gLV>rs.\6_qXY)SH"*~> !K[9Zo`1ZVL]F&uomudeoqV0]igT0(r!25Miq !JCFNo)PNVM?'?$o7?Lao:tmYglCLfqZko:h"1-mNofm0#Mb?poCLatjn&?RglC1]o@&>B~> !HA);mJrgLK`IWomXaeWm\B1OdsU$Dq?PJse*cYQI,=Jk#Le(LmdAPOhXgRJdsTX4m`9?t~> !K[9Zo`0g>rr@k+omudeoqV0]j-p#>q?Qb`j7W**RfE!U#PX\Ip%@@6s7?'kpR:.8p"GIW~> !JCFNnc4R=rr@q-nq$@_ntYaWhN%X-q$6SQhX^6oNrS_H#PF,6o((Xts7?$joo@o"o$`5A~> !HA);mJqt4rr@b(mXaeWm\B1OeU7Dgp]p>:eaDkUI/ig5#P!2lmdAVQs7?!inU/mTm`9?t~> !K[9ZoDsdJr/L]9rJ^jWLk52Yo`%(*oU,7PjdQ5@q$Heajn/3,RfE3ZpQkjT#PX\Ko^q76s8Mio QMpXZQN$[apR:49o\,@V~> !JCFNnc=XJr/^i=rJq!YMLk>Yo)Ch'nsJtLi/[j/p^-VRi:?HsNrSnLpPT"G#PF,8o((_!s8Mfn MZ*>MMZ3AToo@u$o$`5A~> !HA);m/_q@r/1K3rJCXTKn8WOmJf8!m?m8BfR3_jp'L8:f^8(YI/ip6pNQZ2#P!2omHrPRs8M`l GQ%78GQ.:?nU0!VmDs6s~> !K[9ZoFHcXLb:D=2`E]T2)-_=r.oprW:^*Q!DW.ao`%)Do`%(*oU,7PkF2GBp^6bakOeE0RfE0X QMLP&QMC7LRcj>8kF2GGpm1s[QMC6@s8SD[q"L6?o^pjuJ,~> !JCFNnILNWMDR7Q4?Ykk4#]!Qr/-'qW:BmM!+Poss#ff@s#bl&R.17;NrS_E$MBG=naYV!s7Z/D q>VOop@e0>iplQuNrShHMZ<^6p@aCDs,-ODooA&%n^E,@~> !HA);ljngMKf1qQ4[)(o4ZPERr.T^gW9jOG!0@*Fs#]`:s#YeuR-Xn/I/ig1$LrMum-NJSs7Gr- q>VO\o^q[$g[+:]I/ij2GQ7\eo^mA-s*+,-nU0*Xm)X-r~> !K[9Zo+-ZWLc.7W5X@\#4?56Rr.opqW:U!O!-\A5s#olCs#kr)R.CCDRfDsQ$(C,MoBD_Dp\1!L rrAAapBd;QoCM48s7c8Rrr<"arr2tarq?Sbl1=N#O+7~> !JCFNn.1EVME=$i77Ka769[Der/-'pW:9dK!3#nds#ff?s#bl%R.(1nF5M!s7Q&Brr<"Urr2tUrq-GTjRDZfK7E~> !HA);ljngMKfq[g7Ros;69dPcr.T^gW9jLF!71Z2s#]`:s#YeuR-Xn2I/ig/$LrN#m-NSVs75`) q>UnJo() !K[9Zo+-ZWMEO9q8P;WE5s.)er.opqW:U$P#+7]joCG+.rpp<"> !JCFNn.1EVN'g*.:/=SW7R92!r/-'pW:9gL%qe2enF/P&nF5n5:d.[@n,De\T2@dSX?8WEn-#:\ 5#@^In--a>6:,M&JafZ.!p>UDoCE@_Np#p$kDoT6o8nF4nZJ,~> !HA);lOS^LLI4U*:/=SW7RB7sr.T^fW9aIF%STOWlg$Volg*bc8Ng1WrTarJ8O$Y$4$2col%Vep =L.ql"f#*_7X340l`'1Oi-bRrn-ec6i9T^eI/i^*GQ7Pa$ibG?nF:nalg*JVs8MKfGPhC?GQ.(9 nU09\lc=$q~> !K[9ZndgQVN'p95;GTbH4?G`qrJ6$qW:KsO.dgM5n+&V)o(('hA*^WfB_(`C4]C/%RQWh)o$9I% kJBB!o($6RU$g?cJb#f2!puHVoCNIcRdK\:m@+(IoToNCrU^Mas-E !JCFNmgk !HA);l48UKM+LE= !K[9ZndgQVNCZc>84#X/5X&,BrJ6$qW:KsO..Z4XE:Q.To($HWcLUBd6Ls\b4i6d\m6*W'nnL>) o'ee0o(#XB`p/-GVt'oWRfE!H%/64Yo()4;s6]3>s-EWN%$ppZmHsY:mdfr:RfE?R!1*T`!1*TN #5=SSo((LqJ,~> !JCFNmgk%#Y(Bl07l$lgO<.NrT(B!/gaT!/ga> #5+#Bn*e_XJ,~> !HA);l48UKMG-lF91;9;6UFhJrIogfW9XCE.-c[Oam(rLlKUSqk3BrJAa8PG46Ghn]/r+>l9@Am lIS+3lKUN&cKKiEVs4?GI/ifu%.S`-lK[MZs5W-`s*+G%%!V_qj5]ZWk3D6oI/j0*!-eDA!-eD% #4[*'lKZH0J,~> !K[9ZnILHUNCl]/77Ka86rRa"rJ6$pW:BmNs7$`,5IWd=naSn.md]g154S/04m`1pQkjF%/64[naZ+;s6K!:s-EWL%$ppZlg+;6nF?& !JCFNmKJLJO%i8;rCI/_=)+o:MLk2omf,ELmM^LMZ;iJooAG-md6&7kN@a&MZ)]HMZ8RskOjl&mdBJ&s8M0]MYmDR MZ2cCooAG-maHf=~> !HA);kmrLJMG6Z37n?0@7TF3'rIogeW9O=Ds61+q8)cTll01;ll07:k5O%Dp49"IJjZ>Qgkrel* #X.G:HTaGTC"@k"W9FD3s5Dr2GQ6V&nU1<"#(6I0iHP !K[9ZnILHUMaKp'8P2TH;n8m+Z&!u$W:BmNs7%)tDFcoRnaU0Rc110a6LjS_4i-[YlodN%nS:;6 qXF^WdBGc#Jao`0"nJ,^lKX]2rsk@[lM$b"VlM$b !JCFNm15*SNCQN39MJ5Tbqi]K?jm70;$ qX"FLaIt^`JaKH("n.KOjlMBqrsjqJjn4Z&mHsA&s5i@"s8.Z`s,,q"ooAM.mI-)8jlMC!s8RuU rs=SEjn4Z&mHrATJ,~> !HA);kRWCILdjm+8kVfL<4/U"YD%PkW9F7Cs6(HS6%:sXkib5mjQOTFAE`5B465Vh\N;n:kWh5j qWJ(:^P=mSJ`s)s"mgX:hqrYRrsj81hsl*\kihA\s52^Xs8.!Ms**AXnU0]ekj3]shqrYWs8R !K[9Zn.1?TLdXa*9MS>]Au`b3N6QqCW:9gMrpV;r69RL$nA[V%lF8uhnF4gg;qgN*4[&<(d61^j lcFbJn6`opiB9MYn>Ym\oU>gDka)&E%@65ApR:aDnFW1Lkie?.ru[QjkkCP !JCFNm15*SMFU95:JjthBW]=>Nm!"@W9sUIrp;)[5!1spm>O/jl&e)lmHpN.FlMD&4?W#uT0.Yb jh,Htm<-M8d6'mLmA]IVnrEb2jGNd5%>s6-ooAV1mIH;;jQ)3oru[-ZjRnQ(mHsJ)s5`6us8Ru; jGO!;MWEjkNq2T)dt !HA);kRWCIKgnU+9MS>]B;WG(MT152W9F7Crob`'4?GXgkZp9Uia=jdkichEQK-Fk4$2ZiCce9M gT"?=k_RRJYrcHHkc*bLmX5&jh08\p% !K[9Zn,\@FqhPH5Q_gIGNm3.EVss^LrU:364[&<(n"`uK8:^(+n-6C,5>IG+4oXp[^1K`"AZP=i dW\2H>-!5DWUL&aRfDR6pQkjB$29n^nF6.?s6&S>QN-+QpR:gFnFi=Nroa !JCFNliE"DqhbT9RAQjQOii7AVsOFGrTjoU4?VuslAJ>!:6OrBlirnS5#eFB4T=[VUKTiMDS,9% \S"2n@`3iaWU'c[NrS+upPT"1$2'>Nm-OA)s5N&4MZ;Z@ooA\2m.?> !HA);k5g;:qh56/PbXq=MoL>2Vs"(ArT=Mt4$2Wgi-.XR !K[9Zmf817mt'r$mfN9Qs7>@XpR:mGn+`@OoB$;PReZ@?pmV6Sjp(RKq![\*O+7~> !JCFNli;q;rrTEbbCT#2m"+MsliQm@s7>.RooAb4m.QJ>oABlHNqVi+p5]1Ei!/k7p?_.pK7E~> !HA);joC,0rrT<[`I[0&k(2ZgjoY1&s7=nKnU0ukk4F'$o@XB=I.ZR`oR-]1f`ptoo]G;WE.@~> !K[9Zmf9'TL]G\Nmt'qYn"B+NqO6^@j9O\5qX !JCFNlN!XPM?(eMl[eAQl_*PFpl=J-hZqqsq!78@Nofli#Mb@7lg+>+jn%@6glD0qldLK:~> !HA);joCtGK`K)Ck(2ZGk+Li'dsUoPk/_Ll~> !K[83mXaeWmZ6c !JCE'l[eAQl]:?6o(S0cp"TkpNq`,1lgje1aS"VjK7E~> !HA'ijalNEjcAL*n+;">p!X5ZI.ZmhjmVhh]CjVZ]6s8>jlPt'I(T(##J5BUn)`ZPE.@~> !K[83mXaeWmZ-]9oCqjF!Vc3amK)qRo9o^SoDS(XoCqjF!Vc3bmK)%&J,~> !JCE'l@J5OlAk-1nFcC5!VPs\l2gDIo8WkEnGVVQnFcC5!VPs]l2f@dJ,~> !HA'ijFQBCjGr:%m.'[p!V,OTj8nW;o6^T/m/>uGm.'[p!V,OUj8m>@J,~> !K[83m=FYUm>^K5q"+Ibq"sFYq"+Ibq"sFYq"+Ibq#0R\g5ga~> !JCE'l@J5OlAb'/p[e=`p\X4Up[e=`p\X4Up[e=`p\j@Xdt !HA'ijFQBCjGi4#o^i"]o_[\Lo^i"]o_[\Lo^i"]o_mhOaDcY~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> "HWTMmHF9'!9 "G?a=l/VHlnEBqLh<>$ "E=D$j4j7U!9E\1!0l=""-hj+Pih!+P_%kGj+66rirR5?J,~> "cr]NmGlOfYQD,Vq!m_PZ2`\J"L8!oZ2a"S!O;ZUm=FYUmBc0\g5ga~> "bZj>l.j;RV#mO8p@7AJV>oE:"Ju._V>o`C!N#gIl%/)Ml*KUTdt "`XM%j3tX8PQI/`oC:iAPlKV#"I/rHPlKq,!L3V8j+66Aj0RbHaDcY~> #*8fOmGbG:qs=OJ_!86#qX"XVdCZ`k^t7u@Z2`\J"L8!oZ2a"S!O;ZUm=FYUmBc0\g5ga~> #(us?l.i/tqrn7B\`K^_qWS@M_QB]8]%?32V>oE:"Ju._V>o`C!N#gIl%/)Ml*KUTdt #&sV&j3s=Oqr7h5YMYZ "cr]NmGbAIm02C/JC:[sqX"X9_!Cjol-&_dZ2`\J"L8!oZ2a"S!O;ZUm=FYUmBc0\g5ga~> "bZj>l.i-4klodrG0HfWqWS?n`9dBri48=@V>oE:"Ju._V>o`C!N#gIl%/)Ml*KUTdt "`XM%j3s7iis!nXB>]u+qVqpP`9mKndA#gaPlKV#"I/rHPlKq,!L3V8j+66Aj0RbHaDcY~> "cr]NmGbAJm0;^6J@k3Qq"j@fZgmq^mI'Q@mBPuhZFJQdm1.LOZbkto_q4;CfBqtkZi'2!lH6N? ]]&8FZ2a3rs8;6fZ/3*u\CgfJ"OOT`_Wh'e'@=.naKbd4mFAbQ^ZY"Ok.e41c%585m=FZ@m/bq% J,~> "bZj>l.i-5km$+$GI?\3p\O+sVY]uPl0Ij8l)!(8VQo"Bl0,m]WP@Z]WT<=._s-FHWVkuhijl"c \)ll=V>oeVs8;+,V9H'=Z/4a0keF*r^ZaqHke "`XM%j3s7jis+7_BWL0Xo_RSjQ2L+4j6#h-j-7KMQE&j&j5-f%S%[kBQf-oacf='+X8Ludd\N1r ZJsp)PlKd.s8:mcPdd'HWo)jshPum2^&I%+hl2m3bEW%eiNJW9\DlQ/^n-gcd"15.j+67,irR5? J,~> #ESoPmGbA;kl0rRX+7bJmBHB^m/tYNhWat*(pUd>=qUW@JhSf$OZgI/A])MZq%(=m^ rStKYmBQ]YZ2aah-*b/IqrtN[mG>>=qUW@JmG>A>qpr%PmGYS>qqo$SmCLdAq:bRom=FYUmDA5k g5ga~> #D<'@l.i-"jSnBJUNX!.l)".Nkl\64gZSM!(o>19qq/+=l+sn!pV"T2]\r,;VXs'#^&@oo%'SF[ qp;t?l)"FEV>pJX-)JQFqq/+=l+sn!pV"T2l,'t#pUm@&l,L7#q8pM=l)<>4ouQ]Tl%/)Ml,)Zc dt #B9_'j3s7Qh>ZF=QtNAXj-934irbamf&HVf(mN83ppRouj.X*Vn"8:nTCCphS*At3fD#7(%'&(W p9)j)j-9T(PlL[A-'ZX@ppRouj.X*Vn"8:nj.a0Xn"5jEj/0BVor$C$j-AR"mB,Z)j+66Aj20gW aDcY~> %$1GUmGb@cNo06PJ=cc-!O2@qm31iJ^pLPijmDH?oDJ+FZ2X.(hYls2Zi'$rqW#!)n(>e\r9Xmk oBttOrU$limBQ]hm3T%/r:'*Yrp@DUrUB3\r9_5TrUB3Zs6[VZrUB0[r9_5KlL+*5JaJ$UJaL>A !SWTb~> %"nTEl.i,HK\Pb8GF&6m!N#Pekoo67Z_sqBkNV6-r:fOAVYo\XnbMM4WqP8XnB8&plEoUGr94Ue mcs#8q<=aUl)"FXkp<2(pZq(@r9:3Nqs66NOq $ul7,j3s6sG1>QjBSl`K!L36Qj!!*gTU):biT&s_rUAq+R.K@(p[R=hWTpkBkGF[9j.#T(r8S1[ ki:NpmGjH2j-9TAj!BrgnE&PpoAc/2n`7rolJn3)n`7rZs5TF=o&\Q$lf4;dioB7tJ`D=AJ`FW- !Q]51~> %$1GUmGb@cJ;rHOKAQUp!O2@om2u#up=m(GmBQ]\mHq1YmBcWZmHq1Ym'cl4g:$jkmJ-YI!pIP0 ril\-mBQ]YZ2aah(pX,1mHq1YmBcWZmHq1YmBcWZmHq1YmBc_q#64)Sc+170JaJ$UJaL;@!SWTb~> %"nTEl.i,HGD+\0HJ8A_!N#Pdkof9aqshe8lKP/FlKRQ0s66BZlfmW0rog?XX66\UWVGlZklTSG W;`Utrop9Zl)"FXknp8slKRQ0s66BZlfmW0rop9YlfmW0s66EYV$?q`gVBkme:Hk8l%/*8klK7c J,~> $ul7,j3s6sBQhjTCX`:C!L36PisFo@qWY&sj5ZC(ro4ZVro97BjQ#3bq:qq9R+B4=Reu4Fis`o# QB[W!qr #ESoPmGbA;_#AiaXo7VfYk[nY"n&YpmBQ]jm1Zc)mCh]MmHh1ZmEsq#ps.m,qsXLN%)10^rVj)% mBQ]YZ2aah!O;\(m1ci*mCh]MmHh1ZmCqfOmHh+XmD&)es8VHhmeH=Yp4;U^m=FZAm/bq%J,~> $\SKDl.i-"\p&=@VZ#`[V>'ZI"m`&_l)"FZknBonl)FLCl/eoEl)sKVrN5Lkrp'IH%&qkOrr&\n l)"FEV>pJX!N#hqknKuol)FLCl/eoEl)FLCl/ecAl)FOWs8V $ZQ.+j3s7QY\7Z^S,M@JPk=V."IS`>PlLaC&sWFVQMfe'bG>-tRErAARF/_Hr8S3Og\1X $]k>TmGbA;mD+7&hu2pCYk\(^$G+aLm-3$-s6[)krp:?'s6\[Sl0HX,s6\jT_Z&Z*_#F9!%(b3c lHum:mBQ]YZ2aah!O;\(m3&\6mG>G=ld!-BmG>G>m*;m9mGYY $\SKDl.i-"l+2%]gAU7:V>'iN$F\CDl/KXcs66B[rok&ls67>5k2j(groqV7e,7P$cM[V)%&i=W j1_Ail)"FEV>pJX!N#hqkoci&l+k$qjgW)*l+t-sjg_/el,UQtkha#;l+Ps;fVne#l%/)Ml,)Zc dt $ZQ.+j3s7Qj030/e,A;-Pk=h4$Eq_3in(0>ro97Cro4WUs5TcniRj[Nq;\ "cr]NmGbALm/b"lr9XNhq"j@bjNb9?[_q;-mBQ]jm1Q](mHi60Zbc20mH_%HqWkKGqu#gijhJ+0 b-D!6Z2a3rs8;6bZ2agj+L1t6m*W;K_=@HjmF&GLaKbd4mG#@]\C1* "bZj>l.i-7klJAYr946Yp\O+]fY=G`XMFB(l)"FZkn9iml0-'bW5&-$l/SZ8n`H_>o)._\e$,[N bGG7'V>oeVs8;*^V>pPZ+Jo,&kesI!^\INekea9uaef%%l-?K0YgiF3d^#aRg&?QeJa%aM_W_*M K7E~> "`XM%j3s7lirQB^kLGgmkksHL]pt@] d$4RjPlKd.s8:mXPlLaC+I)odh6<68^AI3Uh6*'8c'87giOkYGW7^q+]q(IejSOMgJ`D=A_W([< E.@~> #*8fOmGbG:rp9^GrTs[OZM=7_$1R`gs8MlamHsrPm/[1cm1&dgs8)0NmI(#DmHsoFqs=d[r;Zck s6]4RmHsrNm/[1bm/[1cm0*.^s8)0_m0*.^rqQNmm0iO`s8DWXmIC)RrUka/JaJ$U_X.BXO+7~> #(us?l.i/trojF>rTOCFVYBoN$1IZgs8D]Wl086HklCb_kl^\ZrqHEV#4) #&sV&j3s=Oro4"2rSmt:QLt"5$17Nes82BJj5^1j5^1:irK,Xis5VEj5p%7rUKmI"m,OZr9XI_isYMXrqPa #*8fOmGlNuq60q+d.mM*pp#D;JaJ$UJaMgk!SWTb~> #(us?l.j@Wq5".iaS,Mqpn`Q+Ja%aMJa)Oc!Rl[O~> #&sV&j3tZ,q31rH^%;-]plp?iJ`D=AJ`H+W!Q]51~> !K[9[mIg5SoD7kLs+0Qgm=FYUmHs9Ag5ga~> !JCFOklCGOpAt!WqW[eTJa%aMJa%aMmHFZ#K7E~> "`XM%j5fh+oE"RMqW%ANJ`D=AJ`D=AmGe5gE.@~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83_L]RT_L]SK_?&AOJ,~> !JCE'\:M/@\:M07\,k'2J,~> !HA'iWI_%"WI_%nW<((ZJ,~> !g!AuJbXfkJbXfkchIRYg5ga~> !e^N_JbFZgJbFZgch7FMdt !c\1=Jb4NcJb4Ncch%: "- ",$W`p4;IZl%/)Ml-SYr\C6(\~> "*":>oRZ%Rj+66Aj3ZffWQ9%/~> "- ",$W`p4;IZl%/)Ml-SYr\C6(\~> "*":>oRZ%Rj+66Aj3ZffWQ9%/~> "- ",$W`p4;IZl%/)Ml-SYr\C6(\~> "*":>oRZ%Rj+66Aj3ZffWQ9%/~> "- ",$W`p5/#7deL36!Rgb=klK6-Pj&4spnI!RdeLoJ!k?^3J,~> "*":>oSMT/a7cn#!QXo0irR3oPiDebp7gRJa7dU7!ia7[J,~> "- ",$W`p5/#7deL36!Rgb=klK6-Pj&4spnI!RdeLoJ!k?^3J,~> "*":>oSMT/a7cn#!QXo0irR3oPiDebp7gRJa7dU7!ia7[J,~> "- ",$W`p5/#7deN4o!!)l[!!(F2!Rgbgkm"C*!9p[$!8cr@deLB;#-ed@l)td$j66TmppfPg!:8qN deMqg!!)-F!k?^3J,~> "*":>oSMT/a7eo\!!)lU!!(F,!QXoZis'f:!98>5!8c`:a7d((#'pUVj*;%5j5U0\p:0,_!:8_H a7eWT!!)-@!ia7[J,~> "- ",$W`p5/#7deN4o!!)l[!!(F2!Rgbgkm/0=l00(tl0/3+klK6-\`jA;]BSPt]BSP[jllfoppfPg !:8qNdeMqg!!)-F!k?^3J,~> "*":>oSMT/a7eo\!!)lU!!(F,!QXoZis6(>j5UQoj5U-tirR3o\`3r(cf=$ocf=$cjl6B^p:0,_ !:8_Ha7eWT!!)-@!ia7[J,~> "-'CZ`WJ3PmJ6hUm0+3_mHkVHip?d"q>9OZ!:9(Q!;Z!^!;l-`!9NSJ!:9(Rg%kO4rW!!) 35b:R!!)WX!!)ZY!lEZPJ,~> ",$W`pAF.U!&jc>!!&>L!Rgc=klQPDL%sm4!;bp[!7C$3deN_(!!)NQ!!)l[q>g3Q"U4&Qklp5* klK6-q<7s7#DLdoq>g3Q"U4&Qklp5/klK6-qrn(\m-+KMq<7kZqrn(\jllaFm-+Q!q"s=T!!3O# hXTh1!;#FT!;,LW\C6(\~> "*":>o_d_M!-.qs!!&>F!QXp0irV(?^A-^g!;b^U!7Bg-a7fDj!!)NK!!)lUq>g3K"U!cEire;s irR3oq;VN6"2g3K"U!cEire<#irR3oqr7YVm,J'Gq;VGTqr7YVjl6=@m,J,epA "-'C[6?`\!ea3>:o'HDXrp9[diU$[!q>9OZ!:9(Q!;Z!^!;l-`!9NSJ!:9(R g%kO4"T[rWj+A-;m/R.Xm/R.Ym/k/YO+7~> ",$W`pAF.V!(r.Ikl:^\l2Po'l2Po'klK6-qWS.H&?uf1q<7kZqWRt[dHL\[q"s:U!:]4Q!;G^X !:o@S!WM<`!Slo?deN\'"R$E%&Eq[/!!)TS!!3)`!!2'C!Rgc?kl:_Mkl:_Zkl:_\kl:_Fkl:_M klK6-qrn7al06f%2=]o2!;#FT!;,LW\C6(\~> "*":>o_d_N!$&ZMirB(Vj8X/sj8X/sirR3oqVq\8#C8W0irB)UirB),irR3oqr7YVnDaKKpYu5R o&B]Nro3tZguAFUpA3eOhZnHleDgN/o&B]Nro3tZiSssZpA "-&-=DtmHjnY/-[#R\hF@/T`4<]O<4TbeALYTFoZabm/hJ3G5LY- g%kL3"PO:OAnh83.-u3j$"!*p!mEdft&oR+8!;Z!l!:B.RW$;B2i*[)t/ALTH!<;Ehm"l\e>j(JTg%kL3"PO:O Anh83%d]#l#@-Z`m"l\e>j^nYrTt$omHjnY/-[#R\hF@/T_[sb!:B.RW$;B2i*[)t/ALTH!<;Eh m"l\e>jUhYg%kO4!!)o`%H(V*!\D+RmEdft&oR+8!;l-`!;l-`!<2@'O<4TbeEuY]?k ",$W`pAF.W!9+[?rokF'l06M^#mEKJl0/2&*X!guO!+WTam&'RCD$kHjMU3`F9$I^klPu-FSk;' deN\'"M>Z;)nc17.-=P9&U4Z; )nc17%d.F8%=RL*k@P87IHftrrTOakl0/2&*X!guO!+WTanb02!9r_JHkuhJcU8'C4l,As!<;9d k@P87II-2!deN_(!!)o\%F7EK"[1]+l(fX/)iNtZ!;l!\!;l"$!9rb3CD$kHjQYpT6jX#[h "*":>o_d_O!6,l0ro5"!j5[I!"U\8ej5U,N'F-SDD&!4;fAkoJ9a_DDi5=RVE<(%XirX6$EVnbs a7fAi"D(ft%+5(7.+UH_*1d/jj469p*1d/jirE9m!TW$2$Ope-j5YP,""CA4j*_jK.BVss!QXp2 it)4NirEX$"[1Gsj*_jK.BVY/!;YXb!9<)>>7CVnZS)Ih>7CVnZS)Ih 7CVneiO!SScJ-;!QXp2irB)Yiuc,Oj0LBB$ "-0I]KhLg\'`RJJZ5UsJE<,CnZ5UsJE<,Cn!$TYTmCX@Vk_p\Pm3I;Fh1"bY,_G.6IdHG&g%kO4 &ch=d!$fSMWsnC_,_G.6IdQM&p[&LlmHjlscL(!2S`8n%)XZnlrp9[crp9pjmHq>!`930Dm/bo9 qX"E>9C:+@rp:3((rYTtmHq>!`930Jm/[+P%05e_!$T;GXoouglE1Tlm199bm/SKo]GecQ N$7TU&Y7qGR2YJ[!$TYTmBRYSjDb1dm/bo9qs=@`rp:ln"76\kioujLmHq>!`930Jm/ZP!(jkZ; ]GecQN$7TU!<)9f,_G.6If8X8_V1'$~> ",$W`pAF/#!9q*=kNV42l00FtjPb#?l0/1Ad,]ue:XJ0Y*9l^.5gnRs;8VQ&F9$4?j_b'?qWS%/ q"j4X/tqO*0)k)`@mSc"560s4@mSc"560s4!)VA5l#K&;i*K:Fkm=?NcX#f"$*!%4?0peVdeN_( &ch1\!)_2*KGs+>$*!%4?0USRpZW4hl0/1Eg$.`GZ/jk^4mD22rojC_rojXfl02nDd+rF!klK6- qWS,8U$8@*rojo,44)etl02nDd+rF#klC\H%05YW!)1c#L^$Z%jG4fOkn!jZkl=Q5l00FtjPb#? l0/3Ikl:__km%4Ql"N6+h.c6?!Rgc?kl:_\kmo#DjPb#?l0/MRjj.5sklCPD!!)o\*<>?gE^8(2 ?;]tO,I-=gDa!@L!)VA5l!m$3fKTB&klK6-qrn(\rokTc"mI8:jPb#?l02nDd+rF#klBtE$DQeL E^8(2?;]tO!<)-b$*!%4?2a!h\C6(\~> "*":>o_d_p!98H,ioB&!j5W;9i6jNFj5U,Ze_*S5FOf&;A)lT*CY-l\T#0LmE<'e3heN43qVqUs pA3eP'?B-*J,\IV-uRbV(]`UV-uRbV(]`UV!.*AZj"kK&cR>CFirm!P]Jeg1"Mh3V^#7irR3o qVq\la5]dAro4J?B@k9hj5V_(f?-8:irK&<%05GK!--QB9,Vj%fh5iNit)4NirFDZj5W;9i6jNF j5U.=irB)Yis,SEj"4oqb!#+O!QXp2irB)Vit";di6jNFj5U9Si4Lu.irJo8!!)oV*<>-[1MbUg .%]JZ4h]e%2NZtZ!.*AZj!\g!_\`C?irR3oqr7YVro50>'&u-gi6jNFj5V_(f?-8:irJ+b'uT(l 1MbUg.%]JZ!<(p\"M "-0b"mt[W`pN0[!6FQpliQSA40%]8klnoj"a0kX&HI"Mm/bo9qs>9Odjp9c0lm8b#m51X: m/]&>r9XIarTt$omHjnnmHs6?aR/B]!r;3d!:B.R]DCmtlNQ\C!<2?c!<2?g!:B/1V!77Ig%kO4 !!)c\#3uH[m4rY'rTsRbq ",$W`pAF.[!9r`_DX$BcqrnmW$0g[Si9BLg!9*2,joal4%b^+2i6@=j9b)8!<23_!<23c!9r_Wf]hW$deN_( !!)cX#36*TkmWQurTO:^q<@\Ts60[sg$.b[$N'&kj9b)8!8[Y="Us)Kl.H('klK6-qrn7al06i) 1ApA?j9b)8%G:UC!s")e]`..$%b^+2i "*":>o_d_S!9<)lW8lnr8RbWrSn=ej5U-sj5\_khrEbK$2NTa!9<)>htl@9cm.T2!<2!Y!<2!]!9<)Dh!*i"a7fDj !!)cR#1+UTirtq$rSmkXq;_8Ns5O7eguIG1-Mug,cm.T2!8me9"U3]Aj.68;irR3oqr7h[j5\0- JGeF2cm.T2#2K.:!ruRTdf/84#2J8!^aA+%!<(pZ"e4! "-!Ycm/bo9qs=IcmHjoPm0Wj\ mFt\_&:Ns5!;Gj_!:B.RrTsmD7h5S"!U]7Srp9[crp9ggmHk)>jR!!$q>9OZ[ep+...-C*k5=TI "m5aM!!)ub!s%`U!<)9b!<)9b!;Z!a!:B.RrTsmD7h5S"!U]7Srp9[crp9ggmHk)>l0SN)q>9OZ !;l-ofgcPQ!!2KSgK,C,II6D%q<\.^qs=IcmHk)U!"/hpmFau?!!!&em/[+P! ",$W`pAF.f!9rb1+M[.@l05T5#ljr+l0/3Hkl:_^klUqMklUe`!!0n""*=MCFSP)$deN_(!+l'. '4pFm!U/e4k5ac2!U/e4k5ac2!<)-^!rW*/!U8j[71pZ7l05cJ&g!_4klK6-qrn1_l0/3Hkm@FT l+0:r*h_c^!;G^[!9r_JrTOTq2$j6_!U8hKrojC_rojOcl0/63jQQ]nq"s:UAc)N2Aa/F[kPXQF !U'CF!!)u^!s%TM!<)-^!<)-^!;Yj]!9r_JrTOTq2$j6_!U8hKrojC_rojOcl0/63l0/5sq"s:U !;l!k[5A6j!!2?K\j[5QT]t\@q<7kZqrn1_l0/9J!"/hll*WAT!!!&aklC\H"TdiOl/r'5klK6- qs"([%15Y]l*WAT!!!&aklKuFklLi#ErG5&!rW*$!U8hKrTOHr71pZ7rTOBndt "*":>o_d_^!9<+k'%>k@j5Z+G"TSN(j5U.rSn0C-3XAL!or;@ro3tYro4(\j5U1#irR3oqr7Z'qu?i%j5U1;irB,W irB)Xir];AirK& "-BU]lm8h6m02VXh9OZ!;l-e14@mB l2^bL"NUc6m/d%M!!)o`"9@iV2RrYO#Vph^lfnK;m/[+P"Z!"CmH+E8m/bo9qs=@`qs=\FIG4#P !:B/2V#9T^!9QODrp9_E\GPXn!W)0aa9DP0!lEZPJ,~> ",$W`pAF.T!<23mckYR@l0/VLh<!p8b3 i;i-,!<)-^!<)-^!;Yj]!9r_JrTORrT\\hm!9r_JrojC_rojOcl0/Z0l0/5sq"s:U!;l!a%%uG? j8f,B"Kr-rklLVE!!)o\"9@]N%GgpG#RmB^ki;a.klC\H"Us)Kl.H('klK6-qrn(\qrnCqT\\hm !9r_Wf_jt9!8/6=rojFmh>?F:!W)$]Y6k0l!k?^3J,~> "*":>o_d_L!<2!gR6BI.j5U3is"5uj.?>3irK&Uj5U.r8S%` ioB(6!9<)>rSmkXrSmkXq;VPWj5U. "-!`TWBGm/bo9r9XO4'`@>9KMCjB(rb^" mHq>!`TWBMm:/fLi-PIkm/[+P!!)ub!!)i^!s%`U!<)9j,_kO?IK8d&!<2?c!<2?j!:B0^(rb^" m-Oi,q>9OZ!;l-p,_kO?IK8d&0t6Di"mt\#YPRVd!;l-s!:B0d)SbRdE:*$,u!:Ao9:$q>\)SbRdE:*$9YQ!nl0t6Di"o[fi _V1'$~> ",$W`pAF.T!<)-kLen*9km=ERd8g83klC\H!!)u^#QX,RF[O@8_G[`)!Rgc@klIS6r94kHV!28T g"A[ll02SDg"A[ll0/3HknA2,bNH`?l02*akHG9Wku,I_YR0[\!Rgc?klUqMklC\H$NTGU;T.b& $0g[[dJ2r.!9r_JrTORoX67l2!9r_JrojC_rojXfl02kDdbS[$klK6-r946X0`:/Q/YqWE4OW&# l02kDdbS[&ko,6:dSBl-klC\H!!)u^!!)iZ!s%TM!<)-f$*37: "*":>o_d_L!<(pe7ZIK/irm'S^Eim?irK&rSn.d^#?^P!9<)>ro3tYro44`j5V\(f?6A@irR3or8RfMJc+OG'?K2bB\1Ek j5V\(f?6ArSn&. EnnVO!:8_Ha7fDj!!)oV*sB:9^Eim?j"+lqb "-f_!<)9b!<)9b!<2?gS1"OZIC&;Ag%kR5!G#sCm1\.^mHes* $!@8qmHes*$!@8qm/[(O&tC?R)L_#?]JTd0KC/'=2$4bLm-Oi,q>9O]!:B.RrTt!nmHqPD!ucgZ mBI6'q<\7amHjoPm0Lui!teuBmHjoQm/R.cm09OZ!;l.2c7T22@K>f_m"QA_?L@+[mHs(,8aYo8-j:N;mHq.j!:B0d2$4bLrTs['g 5ga~> ",$W`pAF.T!;u'i2?<"+T,dqMIfS`t!<)-^!<)-f!9rb3GoHi5R'Z#XdeNb)!?8`MknCWIl/bhK &9n3>l/bhK&9n3>klC\H'Bj]\""0K#l'N^u-)TqkQm;b[VX3OJdeN_(!s%TM!<)-j!9ra8,Qf?i l03*l!;Yj]!9r_JrTOT[*<@%-!9r_JrojC_rojXfl07AA%h4$OklK6-r945$^&7+4\f9nsA.K-! l07AA%h4$Ql,G4U)MS7VklC\H!!)u^!!)iZ!s%TM!<)-fT,dqMIfS`t!<23_!<23f!9rb2A.K-! m-+Q!q"s=Q!#"Og*<@%-!9ra8,Qf?il03*l!;l!\!;l!o!9rb3GoHi5R-Ek-*<@%-!9r_JrTOLI ;[3kY!:8qNdeN_(!!)o\-_DC[)1MYNl/uRf%=dX,!9rb'*I$c3GoHi5R-EjR#QX,RQm;b[VZ#`\ \C6(\~> "*":>o_d_L!<(pei=u@Qj)kt9,bkA"irK&.E!QXp2ir];AirK&<$io>JFqb*; aQ);O"9A8X!s%BA!<(p`FV4a$UB'?7!<2!Y!<2!`!9<+m8-p01kMlT`pAEqO%+5"5).?q5fglDe V;pUh8-p01j5ZFF""'uIj5U.Z!!)oV'*.(Qhcp`s2RVT*FV4a$UB'?7!<(p] dl@ONScJ-;!QXp2irB)Vj!Ss^![ON@j5\f`#oTT"irJ-"\.#+lhcp`s2RVT*8-AqQj)u+?29>aV !ia7[J,~> "- ",$W`p5/#7deL36!Rgb=klK6-Pj&4spnI!RdeLoJ!k?^3J,~> "*":>oSMT/a7cn#!QXo0irR3oPiDebp7gRJa7dU7!ia7[J,~> "- ",$W`p5/#7deL36!Rgb=klK6-Pj&4spnI!RdeLoJ!k?^3J,~> "*":>oSMT/a7cn#!QXo0irR3oPiDebp7gRJa7dU7!ia7[J,~> "- ",$W`p5/#7deL36!Rgb=klK6-Pj&4spnI!RdeLoJ!k?^3J,~> "*":>oSMT/a7cn#!QXo0irR3oPiDebp7gRJa7dU7!ia7[J,~> "- ",$W`p5/#7deL36!Rgb=klK6-Pj&4spnI!RdeLoJ!k?^3J,~> "*":>oSMT/a7cn#!QXo0irR3oPiDebp7gRJa7dU7!ia7[J,~> "- ",$W`p4;IZl%/)Ml-SYr\C6(\~> "*":>oRZ%Rj+66Aj3ZffWQ9%/~> "- ",$W`p4;IZl%/)Ml-SYr\C6(\~> "*":>oRZ%Rj+66Aj3ZffWQ9%/~> "- ",$W`p4;IZl%/)Ml-SYr\C6(\~> "*":>oRZ%Rj+66Aj3ZffWQ9%/~> !g!AuJ['d2J['d2c`mPgg5ga~> !e^N_JYdpoJYdpoc_U]Qdt !c\1=JWt_MJWt_Mc]eL1aDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmmJd.dU]1;oJcEIa!lEZPJ,~> !e^N_L@0WmmJd.dU]1;oJcEIa!k?^3J,~> !c\1=L@0WmmJd.dU]1;oJcEIa!ia7[J,~> !g!Aumd:&Tb3f>#'`cbOqu?Wqq#:N,63n3.l21Ja[6=g.=60/V!BpLRrr<%orr<%Ms1\L7_V1'$~> !e^N_md:&Tb3f>#'`cbOqu?Wqq#:N,63n3.l21Ja[6=g.=60/V!BpLRrr<%orr<%Ms1\L7\C6(\~> !c\1=md:&Tb3f>#'`cbOqu?Wqq#:N,63n3.l21Ja[6=g.=60/V!BpLRrr<%orr<%Ms1\L7WQ9%/~> !g!AuoBlSYrU'Xcb3f9K\*WM_!9rqIrr<&orrkj"oBC!Vqu6gcY4(q73Vi[VTK3)-s8E#srs."N $O]8Bs8Vusq>^EorVucq!X/Q'qu?^"qu6Wrrr3,k0jXeZirAuXr;Qth(^Et:s8Vus!!N/u'^f'5% =%pQdo$P]6-90,r,NDV=oJ6t!!*#u"S"3PrrDZj!!)!X$(2V8;Z-Rp!<3&"rt#$J&d__>s8V[q& -Xf!s8Vusir9(sg5ga~> !e^N_oBlSYrU'Xcb3f9K\*WM_!9rqIrr<&orrkj"oBC!Vqu6gcY4(q73Vi[VTK3)-s8E#srs,qp "qal&s8Vusq>^EorVucq!XJc*qu?^%qu6Wrrr3,T&<-VhirAuXrVm$"E"*7rrr;lr!!iB#'@B,P (n:R*[64^+!<3&"rri'r$4qL^rs.OO #mj#Zs8Vusir9(idt !c\1=oBlSYrU'Xcb3f9K\*WM_!9rqIrr<&orrkj"oBC!Vqu6gcY4(q73Vi[VTK3)-s8E#srs+oC "<)4Rs8Vusq>^EorVucq!Zh=@qu?^;qu6Wrrr3,)$G?B=irAuXrVm#t;$Rr,rr;lr!$1q9' !g!AuoBlSYrU'Xcb3f91mHj6@!9rqIrr<&krrMctp\t9f#l=Q'mN1!\g&D$PrVm-MSEKdV&-)Y0 oD\djq>UKI/,T>If.6au#QXo)lm6lUrrD!W!!)ut"ks^@oOgtsrrL_%qu7E(*g?*^LB%9#SEKdV &-)[#/)p;b<;Z\$!<<)c-$TCh!;$3j!94"cgCr-0B2AR-!<3&"rt(_OiqJO6s8QG&lM7Lis8N)U rrU'kO+7~> !e^N_oBlSYrU'Xcb3f91mHj6@!9rqIrr<&krrMctp\t9f#l=Q'mN1!\g&D$PrVm-hYOV=I,QIcD oD\djq>UJ_D>X>6Qu2a##QXo)bm^KLrrD!W!!)ut"edO4kq/\-rrJL(qu7Do&$YcgAH2ZqYOV=I ,QId4@diboW;HT#!<<)D%&X()!;$3j!94"cTe5Nn/Yi@G!<3&"rt%V.n*a\`s8O$oo^mnXs8N)U rrT^ZK7E~> !c\1=oBlSYrU'Xcb3f91mHj6@!9rqIrr<&krrMctp\t9f#l=Q'mN1!\g&D$PrVm.._"R1sC]FD7 oD\djq>UI^_Ya?66GiX"#QXo)T+KKOrrD!W!!)ut"\r_&eJ$^7rrGI'qu7D7-cc,449,=c_"R1s C]FDSOS@`ah>@3X!<<(k&C^[Z!;$3j!94"c:1s4L'ANQe!<3&"rt$03pYm[Ys8NM0q !g!AuqsF[SE"`LSiU6XEs6_?:N#VsO_=$aWE"`LSiU6+6KGjjYc:86H6eUnq!.P[h>3G>AlYmLC ;;qE?"fWmQ*0BUe!<)hq#:EfLJ.LD")!Pl!87AP !;ZWtrW<-"!;$3j!;c]sr]A0urrW0]a8>l>!<;+!OT,7o!3mUL6h(-U!3mUL6h(-Ui&h8YG4be7 !<)p$FaO/gmgf9q!rb:%qu6\l;"strrW<-"(Y\ohq[WN'"9AJ_)j((!#QV+O"[heZG[UON!VmE- !<3!+RiqnsjT#8<49uUDoD]/?HiO-7%fcP/rrDrr(%GoK!\_k!s8IKZ$XWo6s8IZf#>":'rt$"# s8Vs+s8NMss8W'"s8N)UrrU'kO+7~> !e^N_qsF[SE"`LSiU6XEs6_?:N#VsO_=$aWE"`LSiU6+6KGjjYc:86H6eUnq!.P[h>3G>AlYmLC ;;qE?"fWmQ*0BUe!<)hq#:EfLJ.LD")!Pl!87AP !;ZWtqud!!!;$3j!;c]sr"8MtrrW*1o)&Fi!<9bA^&J$G!.tmj?Msj'!.tmj?Msj'Zml2"R.UCY !<)p$*81AlfcC"j!rNZ$qu6[]XnVi%qud!!#58)sp)a,2"9AJ9%))Z?#QTJi$"!Q0.(T?W!V$Wt !<<'-rcJn\<;HRoZml2"R.L=b*81AlfcC+m!<3&rrtXNc$3`ffs8Vt$#nqjis8Vt+%1QhEa8Z\T pAb0d*rl6Br;Zfo"98B$hZ!Yedt !c\1=qsF[SE"`LSiU6XEs6_?:N#VsO_=$aWE"`LSiU6+6KGjjYc:86H6eUnq!.P[h>3G>AlYmLC ;;qE?"fWmQ*0BUe!<)hq#:EfLJ.LD")!Pl!87AP !;ZWtnI,Bs!;$3j!;c]so+UrtrrVd*q>:0p!<8*#j8T&m!+60HK)YfM!+60HK)YfMN#i'R_Y!j. !<)p$%Ia>sHZo>e!qR*$qu6[9htR-WnI,Bs"8i,ufm*Do"9AI_*TR/!#QS6?&VC#^&``lj!Q$5_ !<<'-q,[t8Fo;:>N#i'R_Xmd7%Ia>sHZoGh!<3&rrtWX5"q+f7s8VIP"WsrKs8VLX#8`'ma8Z\Q qu?]LGlRdFrr<#e%0->-hZ!YVaDcY~> !g!AuqsF`85h"[p@d`XarU)-8;:OWN1%+IT5h"[p@d`Xa;;1I+-a;^jB2nqNiK-s!Nd!mYLK7$68"(s83$"rrE'!qu7BDWUp"`*<6&R*o?U@!<<)4 )r(%3/'%Z)(#/cgqZQs!O&PEAY8[H@!#ktWC%pZf!lEZPJ,~> !e^N_qsF`85h"[p@d`XarU)-8;:OWN1%+IT5h"[p@d`Xa;;1I+-a;^jB2n !c\1=qsF`85h"[p@d`XarU)-8;:OWN1%+IT5h"[p@d`Xa;;1I+-a;^jB2nD3%V!"0#dU%eQe!;c]r;69Zp!E#rprrW7M0CJf='EEORgDn$/rr@H>gDn$/rrpjK dlm@'!!)ut"U+c's54pqrrGuuqYp^&C(1boqu$I$nQU\Hrr`3!s4\UlrrW7M0CJf=#QT8FgDn$/ H;snD"!c4n!<)p+3I()Y/[GEV"k*=t4nJ[\"T8<"i#Vjt!<3&rrtRrOr9QS@s8OX$p>$_hs8OTr p"LG!a8ZhUr;ZfO*rl6YZ23c`O8o4[$O8D[ir9(ZaDcY~> !g!AuqsF_0amSTL(%1JirU(6thqu6]t$#BJ=%fis9s7Zcus(Ym?pC?Hf !<)p)5I^[mqZ[$"2L4!GrrE6!rr2s!o)B=#"onT\[f?C%!<<'UZN't!#06`QQnIIpP6(^`pbVsN #fQ]A"9.7p/`Zj4_V1'$~> !e^N_qsF_0amSTL(%1JirU(6thPq!r`nuqYpTs!l"U4&ch>!s6UD&!WW2g' *&"Gn,<7gr6mrDj8T1jdt !c\1=qsF_0amSTL(%1JirU(6th]a8ZSePka;m"TSM? #QOi]q#13pq8!uWj8T1[aDcY~> !g!AuqsF^l!WiB&!:K7TrU'XcrU($nmd:/Y!W`9$md:)RmK0jW$N:&*mL90^mdB?Bmd:/Y!W`9$ qsF^%7hHi?md:)PmJm7cmL'$_mK3Ll!<<,fmJuM>q>UEpp\t;n)U%gR!VQcqs8)fMrr<&qrrW&% &GuJ.q?6Tn!!)or!TY'orrM0sq>UNsbRBm;rrE,prr3*%s8N)orr33(s8VFl*ta8"rr<&trrjA" s8W!"rVloZ(]"(7*8CMnqZHcr$Mq"=s8Vt4&.E+Rqu6`ubRBm;rrE,prr3<+s8V9iq4L4WrrE#t !!W<$#6Fl)ls:bGL@bEK)rUbrqul`n$0b+p!!!'"rrr2srr`?%rrr2srr<)?rsejA&.E+Rs8RC@ lM7Lpqu6]n"QTL`_V1'$~> !e^N_qsF^l!WiB&!:K7TrU'XcrU($nmd:/Y!W`9$md:)RmK0jW$N:&*mL90^mdB?Bmd:/Y!W`9$ qsF^%7hHi?md:)PmJm7cmL'$_mK3Ll!<<,fmJuM>q>UEpp\t;n)U%gR!VQcqs8)fMrr<&qrrVnR -2[]CoEY0k!!)or!PLJirrKemq>UNsSdNI8rtGJ4s8W$!s8N)us8W$!s8U;:'Hs[Prr<&trriZ& s8Vj!rVlo33;NRX#P\8upBLQq$MKH*s8Vag#o&($qu6`uSdNI8rso,/s8W$!s8U(Rr^iOXrrE#t !!<*!#6Fl)bY/]oYOhbt#Pe?!p]pNm'ui9A!!!'"rrN-!s8;rtrrN-!s8;u=rseWt#o&($s8O[+ o^mnjqu6]h#NPgc\C6(\~> !c\1=qsF^l!WiB&!:K7TrU'XcrU($nmd:/Y!W`9$md:)RmK0jW$N:&*mL90^mdB?Bmd:/Y!W`9$ qsF^%7hHi?md:)PmJm7cmL'$_mK3Ll!<<,fmJuM>q>UEpp\t;n)U%gR!VQcqs8)fMrr<&qrrVRe Du9P8clMo]!!)or!Fh5hrrHSlq>UNsDBS0Arr<&urri'"s8N)urs8?&s8T#]#rLN2rr<&trriN& s8V!trVln-P55+]"T8<"gD9_e$LLf2s8UY1"='-^qu6`uDBS0Arr<&ursSQ)s8Qt6ruThmrrE#t !!3#u#6Fl)W'1MEhXgaN"8r3!i#VOk#bEON!!!*#rrN-!"SVorrrN-!!VZc"='-^s8Nb6 q !g!AuqsFJ(eGJY6!<)as^!F^l]rr`?%h%YPArs\t8s8Vfts8N)+s8Vftr;QfL"n_fp!<)p$FF4&f mgf !e^N_qsFJ(eGJY6!<)u!<)p$*81Al fcC%k!?9ehrrjJ !c\1=qsFJ(eGJY6!<)O43!;uiurXA;orrW0.nG3(e!<7]dh>[E`!;HNnZo7sa!;HNnZo7m_!reH7o`"mkrVm$1 n,NE7G5hLCrXA;lrrio0s8Udhqu6]b$2a`';5=$g"9AIT']&cg%flA(s0O]as8<@\55tT^!WE$! #Pn2q!reH7oD\t'n,NE7G4tqN#06H;irK,Z#5A/t[/g7,#5A/tYr'Au#uRJtrrN-!s6g9krrLXf j8T1[aDcY~> !g!AuqsFc<7Et,9;=7Et,9 ;=h=lFNs8N'>h=lFNs8Osqqq2/Frr<&trrq*if(E]Orr3#a&GuJE!<<)T/`c\j*<6%"a8,7r '*%tpf)3W=XS`#,!<<)`,&dM]!$0niJ1U^"!os>[rr3!E]`.p>arJ\(j*C\)29#IG"nV`tg(W'1 BMS:$'do+>n;%)Es1KK1pON>Es1B?,p3S7/rtR]Jr5gChs8QM)lh[^ms8P!pq !e^N_qsFc<7Et,9;=7Et,9 ;=D&6i[0pf_t&\ .f]N\k4l4mk55/f!<<)=$D7@u!(u\I8o"A*!k\N4rr3!*jo58gJ4\Vre6;nP>1`_h$M49$Te5Qp /Y_t='ahSOj^%res(>'omS!W\s(+[em6tU,rtT/.pp(Fms8O$rp%=.]s8Q !c\1=qsFc<7Et,9;=7Et,9 ;=k5F+( GQ7]"naVkao_\Xt!<<(d%*nnQ!.ah"*P_UR!al#arr3!%o`"k!4Ep,e_DVAnHKP'h-hI?A9ka4N 'AN6\'a<+ceg^\"s!iWphAu[ss!`?hg`*oHrtUC\nWb*ds8NM2qWgpds8RH+rQQI_j8T1[aDcY~> !g!AuqsFp[I2iA=SF5fl$NTV_!<)m]?Hd!<<'2bWl=@7aV28bWl=C Uf7I8(p"N)\k 0<+sN%J!I,""^eYs3*_3&68#UrrU'kO+7~> !e^N_qsFp[I2iA=SF5fl$NTV_!<)m]?Hd!<<'2W@\/c>OhanW@\/g D>O;4fd?^uquH`r!@PnarrFLeq#:1%iW@\/c>OhanRMZ5ocMIP@!<3!)fas&@!.tmj>l4O#!lu)S rr3RV#lt#*re)

!c\1=qsFp[I2iA=SF5fl$NTV_!<)m]?Hd!<<'2M&cX=F8>k9M&c[D MZ*STNH>+!quH`r!>4PmrrE_qq#:."rE'=:Du9S7M&cX=F8>k9G7>!]m/$_^!<3!)XpM]>!+6-FJ,]HI!FJP! rt/*3!<<)rB+kJ4bQ%Tr(But[oD\sj:^.`(p&>bZ'ET\l!<<)b56N(-#ljqk70aQYrQ"p@G7>!] m/I"oZ7H(d<:^(hM&c[DMZ)T8!ia7[J,~> !g!AudI$u7\*fO]!I]RKrr<&JrrIP"df0?1@)2dCp'?TV!lEZPJ,~> !e^N_dI$u7\*fO]!A2dLrr<&JrrF_#df0>/\%r"ElO]!S!k?^3J,~> !c\1=dI$u7\*fO]!>FkLrr<&JrrEf#df0=bikYQpX?qjF!ia7[J,~> !g!AudI$u7\*ehIjo5;\U]1D@$i@jA"@_>BHmjpQ!lEZPJ,~> !e^N_dI$u7\*ehIjo5;\U]1Ck)?.PR"EX+u7V%GW!k?^3J,~> !c\1=dI$u7\*ehIjo5;\V#LMpAQH\J"I]&<*57@2!ia7[J,~> !g!AudI$u7\*ehIjo5;\V#LJr%%P37"M5fZ4lhP$!lEZPJ,~> !e^N_dI$u7\*ehIjo5;\V#LJr(t?G&"HF*#<;DIP!k?^3J,~> !c\1=dI$u7\*ehIjo5;\V#LJr/FLCT"DA,RFSq's!ia7[J,~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmmJd.dU]1;oJcEIa!lEZPJ,~> !e^N_L@0WmmJd.dU]1;oJcEIa!k?^3J,~> !c\1=L@0WmmJd.dU]1;oJcEIa!ia7[J,~> !g!AuL@4p71rql^)[mC?5>Nu1frcShbGlFlG!!&eo !!%TM^Ae8Og5ga~> !e^N_L@4p71rql^)[mC?5>Nu1frcShbGlFlG!!&eo !!%TM^Ae8Edt !c\1=L@4p71rql^)[mC?5>Nu1frcShbGlFlG!!&eo !!%TM^Ae86aDcY~> !g!AuL@4j:!!)rs"dh:2jZ&b,rrncLjlJIkqu6he39B6]S,<3p7CMgPC-qt#QoO3h31K=8rW)os #LcQY$UMo7s82lms8E#ss82iu"TSN"!!!0!rr<&urrhjH?2joas8E#rrs"l.#?(L"s82is"T&-4 mT9r.GlRfm;@L!;$3j!9*qaR2?0,r;ZcsrrB,"&,^G\$!I6, s79J,"YmRfs82lVrrU'kO+7~> !e^N_L@4j:!!)rs"dh:2jZ&b,rrncLjlJIkqu6he39B6]S,<3p7CMgPC-qt#QoO3h31K=8rW)os #IQ]!&QS5us82lms8E#ss82iu#QOi%!!!9$rr<&urrh$eN;in;s8E#srri=?%1R=Vs82is#Q"H6 d6\*US,`Mr4U)KumJm4\<=0:_qYpNqrr3,T&<-VhoD\djir9/\E"*7rrr3$"rrB,""SYn'&:+9T #NA,X#t3eQs82lVrrT^ZK7E~> !c\1=L@4j:!!)rs"dh:2jZ&b,rrncLjlJIkqu6he39B6]S,<3p7CMgPC-qt#QoO3h31K=8rW)os #FI(G)K5ENs82lms8E#ss82iu*WQ0;!!"&:rr<&urrfM4]`.uks8E#srri3r#8ip/s82is*W#dL XYBr.`;fk)/Hcu1q#CBL4U)n"qYpNqrr3,)$G?B=oD\djir9/Y;$Rr,rr3$"rrB,""Pc-E*23B3 #J)Vn&6nc+s82lVrrT1@E.@~> !g!AuqX,7FamRXYeaCL%+j'0%!7gMY+X+tqe,\%ea%CWmK!4R!!)oa '' !e^N_qX,7FamRXYeaCL%+j'0%!7gMY+X+tqe,\%ea%CWmK!4R!!)oa ''fcas$ !c\1=qX,7FamRXYeaCL%+j'0%!7gMY+X+tqe,\%ea%CWmK!4R!!)oa '' !g!AuqX,85NUD`1Np_jl;UJU^b$2t#+rtjDhs8*<'rr`?%j;X3[rs/V0*sG%$s *.rNrrMp/r;cis$_&:B4QQPBi&h8YG4Y_@FaO/gmgfBt!<3&rrtY':&HXW2s8W(J&.;hFs8W(O( C*M!a8Z\egAh3M%fcP;nGiOf!rr9#hZ!Yog5ga~> !e^N_qX,85NUD`1Np_ji!"9AJ9%))Z?'EEau$"!Q0rr@Za$"!Q0s 0O6Y*glU"!!)ut"WZ4qs4JFjrrW*1o)&Ff5HX\[$2ao*rs&2ss7RN2rr`?%^'q^Srs/UW&d_nBs !YGWrrMX!r;clt%/tA`#ZUX"s0O6Y*glR!$67b!s4JFmrrE'!qu7Dj8dY_ho)Jae>R;'p!<<)r@ grlWqoA^J#58)sp)a86"8r3!qZHlu!8d_W\C6(\~> !c\1=qX,85NUD`1Np_j:0m)rLDi$1SE'rr`/us4MYorr`?%Nud9[rs/U4$PA!ir t4;jrrKtar;clt%/Es5%s@gMs,8!$0#I5[$4ZJ(s*JqhrrE'!qu7DQ2$OFqqZ$T_5m8@7!<<)e8 -]rarl>$M"8i,ufm*Ps!ri6"mgT6r!8d_WWQ9%/~> !g!AuqX,9$;sm%k7da*QWDi4QDFX%jWi8qb6uGK^:oaK^&/id]m`Y\!mJu)2mc4K@(s8ThTh Y)I"s8TbOg\#kCa8Zkhg]. !e^N_qX,9$;sm%k7da*QWDi4QDFX%jWi8qb6uGK^:oaK^&/id]m`Y\!mJu)2mc4KRU lpkpmrsH=6j(@r`!!)ut"UFi&s7cisrrK/sqYp^,M&$FspAFptq3Eo !c\1=qX,9$;sm%k7da*QWDi4QDFX%jWi8qb6uGK^:oaK^&/id]m`Y\!mJu)2mc4KD3%V"8r3!gE-7l!s!d'mf!.k !.=Io*5MT#<;un",LQMkrVm9dGk(#MZN'q.deqQWoD].#r;ZfT*WQ->rrDrr'h$RLloh*Cs"&`p h&QLqs!rHhgDdiHrtGS5s8Ugps8O"BqWh">s8N',#;Mq3rrT1@E.@~> !g!AuqX,9`+Q[mcjf?mK!4R!s%cW!<)Ks"V1)&s6pTqrrTqVao;;D% e9T!n.=pc!!)orrr<''Z2O\)ro%WEq#:qu6]t$#BJ=%fis9s 7Zcus(Ym?pC?Hf!<)p)5I^[mqZ[$"2L4!GrrE6!rr2s!o)B=#"onT\[f?C%!<<'UZN't!#06`QQ nIIpP6(^`pbVsN#fQ]A"9.7p/`Zj4_V1'$~> !e^N_qX,9`+Q[mcjf?mK!4R!s%cW!<)Ks"V1)&s6pTqrrTqVao;;D% e9T!n.=pc!!)orrr<',kPbD_r6mrDq#:Pq!r`nuqYpTs!l"U4&ch>!s6UD&!WW2g'*&"Gn,<7gr6mrDj8T1jdt !c\1=qX,9`+Q[mcjf?mK!4R!s%cW!<)Ks"V1)&s6pTqrrTqVao;;D% e9T!n.=pc!!)orrr<'Fp&4mmq8!uWq#:]a 8ZSePka;m"TSM?#QOi]q#13pq8!uWj8T1[aDcY~> !g!Auqh5^l,hmR)FhmQc4hr9ah-cL1,E!:K7TrU'pkmd:2 !e^N_qh5^l,hmR)FhmQc4hr9ah-cL1,E!:K7TrU'pkmd:2if!s"o"`VofN!<3#ur !c\1=qh5^l,hmR)FhmQc4hr9ah-cL1,E!:K7TrU'pkmd:2tR!rr9$rr3,q!<<'"rr3#n "ipWPei !g!Auqas^!F^l]rr`?%h%YPArs\t8 s8Vfts8N)+s8Vftr;QfL"n_fp!<)p$FF4&fmgf !e^N_qu!<)p$*81AlfcC%k!?9ehrrjJ !c\1=qO43!;uiurXA;orrW0.nG3(e!<7]dh>[E` !;HNnZo7sa!;HNnZo7m_!reH7o`"mkrVm$1n,NE7G5hLCrXA;lrrio0s8Udhqu6]b$2a`';5=$g "9AIT']&cg%flA(s0O]as8<@\55tT^!WE$!#Pn2q!reH7oD\t'n,NE7G4tqN#06H;irK,Z#5A/t [/g7,#5A/tYr'Au#uRJtrrN-!s6g9krrLXfj8T1[aDcY~> !g!AuqqgJm`PUJm_StJmK!7S#intk'RU&OmK!4R$NTV_^b#X.Mu`;6 !<2Blj]`-%>NP;@!<)_M*SpI?/H>`-`V\ !e^N_qqgJm`PUJm_StJmK!7S#intk'RU&OmK!4R$NTV_^b#X.Mu`;6 !<2Blj]`-%>NP;@!<)L`W/9iCuj!!)rs!!)rs!R)hdrrL=hq#;<6 s8U(GTE"ok9()+>CB+;69()+>CB+<;fDWMmo`"mkrVm%p/aDUQUAk/nbU!)c(]aU9Ve5JhAOHLt @G(PCH7JspB'/lo&*Ech%06G.`X8@[ZmRh6nrrTh5WW)nu$0D0d%"Lq+rR>$Ns'"%Q_$]f6 "edO5l7Jb(rtPmQrT.>cs8Q_+mdRa8Zldk4l4mk5YH#MtQb"*<6%CeG\9!;WIcY \C6(\~> !c\1=qqgJm`PUJm_StJmK!7S#intk'RU&OmK!4R$NTV_^b#X.Mu`;6 !<2Blj]`-%>NP;@!<)jo`"mkrVm$qB_Bpig]%3RF`[H[(]aU9<0[1=/=cb? JEHgd7!J\2M=L,$*;'..%06G.Qjh:?rr@TDh&X90rrQR.h>[ET"SD]n$p8b"q8,#hs*Ei(Ppc2' "\i\'ee?g3rtP^erRNFus8OR#pYHqks8ONqp=pV"a8Zm2naVkao`+q"YPRQ\@fQITj8I4FVrRdY WQ9%/~> !g!AufBr[\*rPF,kj%-p!QZ>:m]?Hd!<<'2bWl=@7aV28bWl=CUf7I8(p"N)\k0<+sN%J!I,""^eYs3*_3&68#U rrU'kO+7~> !e^N_fBr[\*rPF,jltal!QZ>:m]?Hd!<<'2W@\/c>OhanW@\/gD>O;4fd?^uquH`r!@PnarrFLe q#:1%iW@\/c>OhanRMZ5ocMIP@!<3!)fas&@!.tmj>l4O#!lu)Srr3RV#lt#*re)

!c\1=fBr[\*rPF,iT]=h!QZ>:m]?Hd!<<'2M&cX=F8>k9M&c[DMZ*STNH>+!quH`r!>4PmrrE_q q#:."rE'=: Du9S7M&cX=F8>k9G7>!]m/$_^!<3!)XpM]>!+6-FJ,]HI!FJP!rt/*3!<<)rB+kJ4bQ%Tr(But[ oD\sj:^.`(p&>bZ'ET\l!<<)b56N(-#ljqk70aQYrQ"p@G7>!]m/I"oZ7H(d<:^(hM&c[DMZ)T8 !ia7[J,~> !g!Aug?o)WhUb21h !e^N_g?o)WhUb21h/\%r"ElO]!S!k?^3J,~> !c\1=g?o)WhUb21hFkLrr<&JrrEf#df0=bikYQpX?qjF!ia7[J,~> !g!Aug?o)u&dq[uhBHmjpQ!lEZPJ,~> !e^N_g?o)u&dq[uh !c\1=g?o)u&dq[uh !g!AuL@0Wmjo5;\V#LJr%%P37"M5fZ4lhP$!lEZPJ,~> !e^N_L@0Wmjo5;\V#LJr(t?G&"HF*#<;DIP!k?^3J,~> !c\1=L@0Wmjo5;\V#LJr/FLCT"DA,RFSq's!ia7[J,~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuL@0WmJcC<$b5VO[g5ga~> !e^N_L@0WmJcC<$b5VOQdt !c\1=L@0WmJcC<$b5VOBaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !g!AuJcC<$JcC<$ci4'`g5ga~> !e^N_JcC<$JcC<$ci4'Vdt !c\1=JcC<$JcC<$ci4'GaDcY~> !K[83_L]RT_L]SK_?&AOJ,~> !JCE'\:M/@\:M07\,k'2J,~> !HA'iWI_%"WI_%nW<((ZJ,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> !K[83m=FYUm=FZLm/bq%J,~> !JCE'l%/)Ml%/*DklK7cJ,~> !HA'ij+66Aj+678irR5?J,~> "HWTMc&7.+JV8T-JV "G?a=a+8efJU2lnJU6j4n"'/u"abjAl-k98~> "E=D$^2\^=JSKaNJSO^imu6sT"`&+lj2c1i~> "cr]4PK`apqZ)>$qgnWqqgnYDqZ)?=dK#!qqZZ],PLJ6HJ,~> "bZj"M8o5_q>bknqgnWqqgnYDqZ)!3aoHe_q??Q"M9XM%J,~> "`XL\HG/nDp],&[q18?mq18A@q#G0u^&VpBp]^5eHH!sEJ,~> "HWSRh"LI5!J^K&oRZXcoRZZ7oDjX7ecCO%p@AC "G?`=fC\e+!IOZonq$@_nq$B3nc4%*cN/Cgp@&13Pgb88~> "E=Bqd.$bp!GhI]mXaeWmXag+mJq%k_uXZJp?Mh&L<+=a~> "-p@[qVL\cSmJb"B_Jb&j3!/L$r!JgLEnH809g5ga~> ",$W&p%@_RI//?^Ja\0YJa`X-!.=7`!IX\9mK;d(dt "*"9Xo(D2ID"iMGJa.gOJa3:#!,V,E!GqK'kQBpaaDcY~> "-B[_m`ODbmfA7?Ja\<]#I4 ",$W%p\a@ZlbV9QliDP0JaJ0Y#GqIfV>oqZs+0Qim/VS'dK+djrp0]Z?0_=R!e&OMJ,~> "*"9Vp&*qRjge`rU#LroO9P>3,SC!c5qsJ,~> "- ",$W&p\j@Zl+j_"rTXE4pOVXalNa9dl_XXIV>l,4KBiMdn'V5cp\sF[fe-Ilr9=?4dt "*"9Wo_mhQj0PZRrT!uromu4YjTh%Mjcof,PlH "-q#9X`m)Zg3meuMRMYMbiL$],Ms6[)kmBQ\Bm=Xd+MXT4!MYR/;"5G&(li$2PMV=,A~> ",$W'pAX:ZkeOIrli$&KJ+eHXL$8i=s66B[l)"E2l%A4#J+(edJ+ij*"5+i$kPaWHJ('%#~> "*"9Xo`!kRij, "-p\sL]f!3`nr9OHApOV[blj'fqm'6TWZ2]CAKBrSqn(@`!p\a@ZC&jLsliN'uO+7~> ",$W'pAX7Xc_\qQr9+02p4;F]kQdsakb\=CV>l,1KBN;bn'V5dpAF+UBE44okQ67_K7E~> "*"9XoD[_O`K\='r8I`po7>nTiWk_JifsK&PlH "- ",$W(p&=+Vk/FXfr9"*2omu:[k6Ij`kGA4AV>l,0KBE5bn'V5ep&4%Uf-"5XrT=64dt "*"9YoD[YMhmfHhRi!5MHi0=9"PlH "- ",$W)p&4"Tji"UgrT4-3omu4YjThX^je`"=V>l,.KB3)an'V5fp&=(Ueh("br8n'3dt "*"9Zo)7GJhRKN=rSIWpnq#YOh?T;FhN\&sPlH "-j2(M!fbopJ,~> ",$W*p&*nQjM]sSjT0u*J`DIE#GqI\V>oSPs+03_irF]"dK+smroF3N>3#MA!eSmRJ,~> "*"9Zo).>Hh7;1qrn[ZpnU]GKgBWuCgQ_`mPlHh?%Z;E.@~> "- ",$W-nG;)Dkl'H@KCXTMJ_kt7J_pF`!/'ag!JC";i "*"9]mJ>K9ir.O2EUSJ0J_#D'J_'kP!-.JJ!HIW&f`TlJaDcY~> "- ",$WBbk9cmKCFHFJ_>V-J_C(V!/'ag!JBq9h#klidt "*":!_Y)CZEpSA(J^AtpJ^FGD!-7PK!HRW%e-!RHaDcY~> "cr]7S@@;JhZ8i/J_Yh3J_Yh3s4dU9n(@`'o(_)Ggp`g)g5ga~> "bZj%Ofd4/f`?coJ^o>%J^o>%s4%+&n'V5inG(Z?eub(]dt "`XL^J=k'[cN/(OJ]`PdJ]`Pds2k=^n&GHLm.em1bb'F+aDcY~> "cr]Nd?]rHOb&XGOb&YcOmf:COTgo6dI#YKJ,~> "bZj>bDM%*Kn4r/Kn4sKL$tT+Ka!3gbN[K.J,~> "E=D$_0LTQJTHB`JTL@&mu6p\"F7iDaDcY~> !K[83g4@t/g4@u%g&R1a~> !JCE'dt,u!dt,uldf>#N~> !HA'iaFVE`aFVFVa8g10~> JWGACJWGACacCr~> JV/N+JV/N+ab,*~> JT-0ZJT-0Za`)b~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/link_info.eps0000644000175000017500000031012011532503240015364 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner %%Title: link_info.eps %%CreationDate: Sun Feb 13 13:31:55 2011 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 634 243 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 227.96925699311819 translate 618.91653543307086 -227.96925699311819 scale % Image geometry 619 228 8 % Transformation matrix [ 619 0 0 228 0 0 ] % Strings to hold RGB-samples per scanline /rstr 619 string def /gstr 619 string def /bstr 619 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 101446 ASCII Bytes colorimage qu;4cJT$*XJT%6#r;V9~> qu;5%JVJ`1JVKkQr;V9~> qu;5;JXh:]JXiF(r;V9~> rVln:Ob*O`s+13$s.TGnO`17!J,~> rVlnQV1JYts+13$s.TGnV2#!LJ,~> rVlng\q0m4s+13$s.TGn\t&d"J,~> rr3% rr3%Ss8RZ?Jan<]JaqXf!93V+!93nG!93V+!93nG!93V+#NG:DrV_KNs*t~> rr3%is8RZDJbFZgJbJ!p!:07?!:0OU!:07?!:0OU!:07?#OD*Wrr/Gfs*t~> s8N+ s8N+Ss+0Zjn:C([nD s8N+is+0ioomudep"o?BlJV94!T<8Ao`=@9o;D]JlM^AVlJV94!T<8Bo`F-Cs*t~> s8N+^s+0Ecl%/)Ml/1_-f#2t0p&>?lI)OV#l.3e#p@\Flp3ag0l06d;I.m75#kiYaf'2GAOoKq~> s8N+rs+0Wimt'qYn)*R9i6d__p&>?nP0r4Vn)2TVq"=Xnpla%_n*f2^P5+_M#l'S1i:$-cV>l&~> s8N,2s+0fnoRZXco\]9ClJJQ;p&>?qW8Hn4o]k>4qt9sqql&E;o^qG+W;H8f#lCRXlLa`.])R9~> !rm37r9+.5psK>ncd'bWdXgV5k^hrKkk"!>epQrXrs.J0f')>KI.-\,#N1!\kigTFn+6P\i-a,T kQ/hEJ,~> !rn#Pr9aR@psoW!e'ZOfeq*7?mXaeWmdoiJi0*^'rs._Mi9p$kP4S;F#Nq9.mdB"roCMt`kE=d& mK(mnJ,~> !rnegr:9p@ps'&fbK@oGdXh"@o7?LaoCMPTlDXIKrs/"klLXW4W;#o`#OeVVoCM7Gp[eCdn#5ON o)[j@J,~> !rm37r9"+/rq69lrPO3LJ`hUIJ`lXf!S2Ygrrmf$kNCEDnc&c?f&u5II.@4;I+J;[!Qo>2~> !rn#Pr9XO9rq69lrPjEUJaJ$UJaN'r!T9.2rrnSDmHrhpnc&cUi9fpiP4APQP2Q?,!S3!U~> !rnegr:9s7rq69lrP*pTJb+HaJb/L)!U?WRrro@doCM7Gnc&cklLXW4W:BlgW9XBR!TKW"~> !rm37r8n(/s1%j/"1#E9]Rf5;jo`;BCi"[bgZJNPR-"LaH#.;bjoO(]nc&c?fB25II.@4?I+RNC f6m,g!IWMujoNVCJ,~> !rn#Pr9OL9s1.p1"1,Q<^k(kEliY+QDf:3ng[+rYR-XplI;a%lliH(.nc&cUiU#piP4APUP2Yco iKEa2!KuF@liG[lJ,~> !rnegr:0p7s0h^+"0f66\Uj>DncQsbFEE*)g[bAdR.:@#Jol+&ncA'Tnc&cklgjW4W:BlkW9a$F l_s@R!N>>`nc@a?J,~> !rm37r8[q*s/u6a#+(aIS$W.'J`QIa#'Xn0jQ(,n`oR/9lfA(^\`Ed,rT*upR,e2~> !rn#Pr9FF5s0)jM7D>jJ8P2cK,!S3!U~> !rnegr:'j3s/c*]#*kOCRBcduJarC&#(LaLnaU^C`ps(Nlgb!s\af]ArUKo0R.16-FPFh*s)cf] !UH]Srro@enaYqDrVu\3rVm&"lgaN2W;ZbrDuK_9DuK\:W9aHQ!TKW"~> !rm37r8Rk#s/5gV#a:RAS"-%Ts0.(7o],sfro=#p`oI)8lf8"]\`<^+rT!ooR,e3_`T-u7e`-\` I.@4?I+dQ?fmNbuq.os/"ao"`j4ShYs8Hg6s8Hg4rrIN#ro4%%Dh%~> !rn#Pr9=@-s/GsY#aC[ES=Q7Xs0I:Ao]lHprp'N%`p3SBlg"Lg\a'35rTaE$R-O]i`TmJAe`m1p P4APUP2bclifa9?q/-*1"d7m1lJe!*s8Hm8s8Hm6rrJ;BrosO8L4B~> !rnegr:'j-s/#[R#a(C=R[]eNs/^eAo^Vs'rpg#1`ps(Nlgb!s\af]ArUKo0R.:2u`UWtMeaW\, W:BlkW9j'Em&9m_q/?63"fUeXna*4Qs8Hs:s8Hs8rrK(brp^$KS:C~> !rm37r8J7)s.P=-N0'9kS"61D\,WJEiZ`bdb2TpI\DkYII,]Nib2TpI\DkYII,]Nib2TpI\DkYI I/Dq'C`p-6D1BL`io-n`D0`,>io7n1E,^cPio8psH>Rr,iSrkkC^]6MCs(bICq/KICjc6A*Nj3p GFI:GibWG8H#2L!XaG#3Wo;ssCi$P0DL&D`iWcQ%Cj2?&ir!WmiXk(NHu=50iSrj5Cpe\.J&L@E D#`Ju`.`/LN5>>L)mk38GdHDhiMq3@H)]c^ibWG;HZ"AKUNg[.a7/'niN7KFH)fi_r+uDms(j!h I;OJPio8q!Hu=50iSrj5Cp82$io7+WCj2?&io4cj[XW1?Y5[DbiN7KFH)fj"iY'1`E,^cPio8ps H>Rr,iSrj5D#WGoD#`MpC_X+!CuXH]Jo>n?io8q!Hu=50iSrkpC`q`rWd8N-WSujrCi$>$CuXHX H>\5@Ci&+jiN7KFH)fj"irr;ZY0r;QeFgA^(4b&;e~> !rn#Pr94a3s.YF0NKKKoS=cII\Gr\IkotUqdHSA`^?O!_JE_Q%dHSA`^?O!_JE_Q%dHSA`^?O!_ JG\U2D]lZBE.cMDnCO=K?EHV Du]&*b)(1\ON71])nL`DHar>)kc]DRIBMeul#1LMIW:%[W-`NMDmat2l05NmDgJ&8l03,)]Rt3PZi91nkd#\XI'Di2kn;-qF*!G`l07E8 I;jV;kiq>MDuT#$Du])%D\TU,Ds?MtKlVOMl07E;IrTk?kiq@0D]n<.YC1A-7Df<%2Ds?Mn I;snPDf=n)kd#\XI'Di2l2PZ3]7=jQb3A0SZ@?kAYit?LDqF4Sj-&s4"d7p1l/Rs*rr?p5rr?p7 rrnSGl075kr;ZY2r;Qe\j8S9DeqS\~> !rnegr9t63s.5%&MN3jcR@Kh=[K!,?n03R.fC6_#`:2B#L%'eF&uKm&'Vn*oggFMWZRLsYYh FT:h6d>rNsQHf6p)o.AUJ\LXCn$RdjK!b"9n8rcdKQ`3qY(1\ReF;r4n$n'pK!t.;r,hu.s)]R' Klr3unF5nVKm&'Vn*oggFM!-HnF3u1FFU.OnF1OA_MEAe])M1'n$n'pK!t.En.O-0G^,P!nF5nS K6;dQn*oggFT1e0FT:k1F;2?=FR\e8Mg'`dnF5nVKm&'Vn*oiEF !rm37r8A1!s-nb"Ng#g"T:q^=YlCN8i?Fh/Xl5FZP2WNZT&H5VXl5FZP2WNZT&H5VXl5FZP2WNZ T)7LHC`\tu]52lRiMgXegn8J_iSeus]\LGciSgbPU"l;WWW(lVD#WDnD#WB#SSYFeP&-r9gnnnhiSeTh R+o5hI,X%#D#N;rGAOqI`/a]Q*3O+"g]$.KWQj8+Cma2?Ci#6cfTC!RiSghRQe\HSXSUlg GAOqI`/`g8WGJ9`TPUUdiG !rn#Pr9+[,s."n&O-H''TVJ!BZ2^];kTZa>ZKRTmQKYVmU?J=iZKRTmQKYVmU?J=iZKRTmQKYVm UAO0SD]YJ/_/FhekcSj$j/$[skidA3_W/e%kif0fVW4LkY5[YbDuSu#DuSr-U2R@$Q>`)QZ>ZK: kT6nVjLK3!kicr'TAo(uY]$&lX)G9,k\kC)hVON9[Jo@rY12OCDk-%TDf>U<'(fDkH%Qkd58mhVOH7Ds6DhDk,jgDmB0&s)/L?ik]P_kif6hSE$YgZ0:CiDq4%PjHB'5"d7s1 ki@p*rr?p5rr?p7rrnSHkih)jqu?V3qu6\[jSn?DeqS\~> !rnegr9k0,s-SIoMia3mSY):5Y5b02min]P\F5r0SF"jf%Y:[WJ5.Z#mJSn,IM/miSoYXQlg- [.!I*FJ\6jn%*V0jQ)_NFRS\,FJ8!)FLV,8s)\jJl,Rn!n*d],U$An)\*rd-FOfg\mATRT"fUhW n*R(Prr@!7rr@!9rro@gn*fYBqu?V5qu6\qmJcPTigbN~> !rm37r7MUhs-/1nNg,lpNJ)nL\,W#8fcmqBNn&)jE7Bqb\_4K/Nn&)jE7Bqb\_4K/Nn&)jE7Bqb \bk([C_P(Henf0Ufm%>Yg!+>Yg"C@__q+e>#'at0g!+>Yrn7*YHJ-tfCsCYaCi%eX Ci'('"*&4rf(do"H>Lb%fbA[IcIpHYH.gkeCs^kdCi%GNfPGC#g&5aafa<"@ak>*YHJ-tfD#N&e C_G"Genf0Ufm.DUg!X\_g"C1Xd/)E1f5,Q^fkbKIg"FMaHJ-tsCrtAYCjPs2"*&4rf)=8/G\k[Y c"q[YfkbO)g&Gmgg&Gjgd/M]"H>Lb%f`l_*YHN)UtD#W)qG\k[Yc"q[YfkbKOrn.j/Cs(Ga a_YeHfm.DUg!X\_qUtmb&^B"[Ci%eXH#1UUdVO6_fkbKTf`BlUnc&c?gtCB9I/X'FC]",3C]48: I,*E.gjK#!rG2<1!IW]%f`B66J,~> !rn#Pr8J6us-ACtOHl6!O+r=T\Gr5[rimr$qio5'#bMN3W#(1@@imr$qro3rrro3rrro+:#Dj0!uG]V])Dnu80 #N0NFio4lpf`'kAI;dNmg2DE!ibrbaio8C)If&+/i,U6"*AS,hY?(3I;dR3iY6cYfAbA"I,a.(DqO(,Df=7eiGWZ2ir*fmiX1*PdGikuIH'7)DuJ\q D\CU[hf!GmidGaminA=!io4lpf_XSBi,X>5D>jJ< P2tW^jHBE?rGDH3!KuOCiW7VbJ,~> !rnegr9Fm"s,hkfN00BfMh-AB[Ju]3lQXDlRHAdCGikH:aQpohRHAdCGikH:aQpohRHAdCGikH: aSY<'F;*Nsk]Cq4l[j69leZ`8lg&k@e*$\q#(gsSleZ`8rp0T+rp0T+rp'p4FID9:IYlg&Y7iVr-SJoo`4j)fq>lZ@7'lg*;IK_t'>l#_@>lZ@7IlP"klg?[d@KBqiFFPc?IFEHj7 FEIKI"+#1?kP4?EK65iFlP+qmhs9-@K'V`EFQ)QLFEHI,l?%.Elhtr&lO&5cg?[d@KBqiFFT(P* F;!Hrk]Cq4l[j64lf3)>lg&Y7iVMjTl#_@>lZ@7'lg*;IK^7rUFP?'@FG'GU"+#1?kPa]RJooo9 hK4A8lZ@:Kli2),li2&,iVr-EK65iFlNVr_g?[d@KDt3:FT1S6Jooo9hK4A8lZ@7-rp(,KFPH-I g2qH&l[j64lf3)>qWn0'&`2j;FEHj7Joo`4j)fq>lZ@7!lN-COnc&ckmHa**W;Z_rDu9P7DuK\> W9rp:mATp^rGVT5!N>DblN-"8J,~> !rm37r7;1Xs,M_eLP10VIKY\+]Dn56f-8X\FL>qpCpS8&e(<#cFL>qpCpS8&e(<#cFL>qpCpS8& e,.bsD#W&dD#`*'D/@eTeSK*Sf;NV(D1T:Mf55?Tf@=\Srn%0drn%0drmq\/DKN:&\88KoDq!=i ]nLJ)D#`,eD#MrcD>S/LfDfXoe^rF'Ci7kV]nLJ)D#`,eD#MrcD>S/LfDf[dfDf[efDf[cf*/*k Ci+a7qUYdcCt8I8$>jV1f@=\Sf@OhTrn%0drn%0dqUb[^qptgbqeZ;as(qYcs(q\ds(q_e!,_UL s4@9erRV+aKlR'-s4@9e#h@PYeSK-Tf5:D$qUZ@YDes9A]%>PNCt@4gCi.eUCi01's(q_es(qYc !c;c(r7:pcqeZ8`s(q\d$>jV1f@=\Sf@OhTrRVBnCt7.heSK'Rf5:D$qUba`rn%0ds476fqeZ;a s(p6;!o88(oD8dmI,3E+h0f8%qZ(F/qZ(F2qZm.Kh:L97I/j0BqeQ0-!rmZ(rmq1nDh%~> !rn#Pr8@mes,_qkM1pN[J-:t0]`4G:i?I&tGe@t1DnC77gu7%/Ge@t1DnC77gu7%/Ge@t1DnC77 h#$(1DuS_qDu\c4E,X[nhf!JmiNI<@E/)6giG`_niSSQmro*lqro*lqro"CCEd568^i-i0EnoX4 `JSd9Du\erDuJVpE;OSRiW!g'hr3PODfOap`JSd9Du\erDuJVpE;OSRiW!iqiW!iriW!ipi !rnegr9=Nhs,2G_L4XjQHj#G'])S#2l6>>6IDg6KFMiQOjm(rOIDg6KFMiQOjm(rOIDg6KFMiQO jnn?CFT1S*FT:VBF`cm5k]Ct4lF(qZFc=K.l?.45lKE>4rp'N*rp'N*rot$UGC@DOaE5=KGNJ,T c&d8MFT:Y+FT(J)Fo-:\lMkr5kj%HsFEZs7c&d8MFT:Y+FT(J)Fo-:\lMku*lMku+lMku)l34V@ FENPbqW\-)FQiYf$?^ITlKE>4lKWJ5rp'N*rp'N*qWe$$qs"0(qfMl's)e5)s)e8*s)e;+!-S0\ s6BW+rTXI/OF$kIs6BW+#jCR=k]D"5l?2uGqW\^%G]\(eb3J87FQr)SFEQm6FERTJs)e;+s)e5) !d/VKr9=9)qfMi&s)e8*$?^ITlKE>4lKWJ5rTX`4FQi#Tk]Cq3l?2uGqWe*&rp'N*s69T,qfMl' s)cfV!q*#eoDJpoW:&s9m\p0br;^d5r;^d8r !rm37r71tMs+l1%I0GFCAs1%FW"eCj"=[GAPLSbA;G&f)KRcf)KRbed.(JJqMX,JS^2Bed?S:[aWZ@ Ct@0RD#ModH#1_%f)KP!aO\q_CjO[`G&4V9dVNaNenf1$ecL,5bkoukD#W#cD#`)dD#Died_DSo Fo'YjH#1P!ed?V;bgssRGh1G^D#W#cD#W#cD"-!WH#1_%f)KRbf)KRcf)KRdecL,5bkoukD#Mp" G&4V9dVNaNenf0Df%.lXHIgYmCs;S')UcBrCj"=[GAPLSbA;FSenf0Qf#hfFf%+YRrRM$qCrcJ) !dSV+qUY[_rmhF#Cs:JRCj=O^Ci'($%!la3f%.lXCt@0_Cs;V(s(q\cs(q_d!dSV+qptd`e^afY I/j3@q.p!)#QK2.f%/]*s8McnC]!l,C]=)6s*W\Sf%tfSrqQJ.s7lS/rqHQpI,=kR!Qo>2~> !rn#Pr87[Zs,)C)Ig(^IAs]`^^u,KXDha&*LkTc-rnn'ADha&*LkTc-rnn'ADha&*LkTc-qV_Bl ro!fps54*.Dq3dqDg_QB%G]%*Dg:3uHZ.Hme8Ka6i;[`pi;[`oi!><\L54]CKl<"Ni!OdK^>7R_ DrBPlDuJSqI;d[5i;[^.dGWs0DgpX&H>gORgi%,hi,"I;dL1i!OgLe_nqqI,Nq$DuS\pDuS\pDt)ZdI;d[5i;[`oi;[`pi;[`qhu\=Febe;)DuJT/ H>gORgi%,hi,U4%"<-Ci8Dt#DrBQ%Dq4R>s)7nps)7qq!e#";qr%Kme_gMk P5kOXq/---#QKtLi8Ea\s8MipD>X/0D>sA:s,uO&i9$4&rqcV2s8)_3rqZ]rP32c%!S3!U~> !rnegr94<\s+PjtH3K";@[!pO_!),gFGu4DNf/"Droj]PFGu4DNf/"Droj]PFGu4DNf/"DqW\$% rosH)s60`AMl0bMMrql\5s82e6rqccsW:'ZL!TKW"~> !rm37r7(kEs+pQ'#)A[Y`eo_f^sr^fCi$*$WGHCJrm_:OCi$*$WGHCJrm_FSCi$*$WGHCJe^\JP rmh$brmh$bs4%pWCn/nBCnfJ1NPb_p:Re^^R6PKqL_Lt1$lD#VubD#VubD#`#nVehRBcaJY[eT,KHf$siZ I/j3=q.p!&#QK2/e^`Q)s8M]eC]2~> !rn#Pr8.RRs,-]+#)Sm_b)DA!^u#F"Df;l;Y]"H^rne!`Df;l;Y]"H^rne-dDf;l;Y]"H^hqr?j rnm`ornm`os5+WgDkc![DlDRNP/l@uDg^I"Ui3!^Tl6n/hu@WohZ@q=d/Mo.X`&-^hlq$;Xo@2b G]1ORTPnc+hf!H3h]Aq=R+L$*NSiW3Dj/c'PAdY^hfs(Xfq<8%hqrQpd/Mo0Y&B]ZftNI'hf!H4 hu@WphZ@q=d/Mo/P/l@uDg^I"Df>X4'!H58eCUDOhkY1bgS&Pahqr?jrnm`ornm`onD=VVDj]/0 ^5_%-F`5Y+hu@Wohu@Wph[6N)R+L$*NSiW3DuJQ6G]1ORTPnc+hf!Fsf%-%'YM\6?Dj]/0^5_%- Df>X4)j87sa)?@_hkY1bgS&Pahqrj#]\8fmDr9GjDuJQ'YA]NPf:h*ZY&B]ZftNIFhu@Woh[6/t U>)A[W8HKNDuJQ-YA]]XerXfghqtSTR+L$*NSiW3DuSYoDuSYoDu\]&Y&B]ZftNI'hfWkaf&$Pl P5kOUq/--*#QKtMhr!U[s8McgD>s87s,uR&hrg1&rqHG0rV->/rq?KoP3;i%!S3!U~> !rnegr949Us+U?!#)&CQ_MiQH?@j>l2Pl)l2Pl*kmFk@TAehNPj.FSFT(GEIWWipVf[%Fl#_$8hr'oE[d!%bFJ%OPa->iQ FEINH)k#(8cuaj'l)Sp*jf!:*l03hB`8dP5FQr%3FT(G6[WIhli2Go)[WJ/#j2[D`l2Pl)kmFJ5 WTC(#Yj(CoFT(G<[re+thj8G,l05WuTAehNPj.FSFT1P)FT1P)FT:S5[WJ/#j2[DKl$@I)f'*8) W;lknq/?9/#QLakl07Z8s8MljDuTSDNl0kSNrqcY5rVHP4rqZ]rW:0`M!TKW"~> !rm37r6te>s-3G;#)SkSMNWV*^XNP,Ci7JHc#.@8rmV4kCi7JHc#.@8rmV@oCi7JHc#.@8eC8;N rm^sarm^sas3qk4S9JgoU!qN@[>&UDtGG3LbeGj@ae./esQ\9r.72%D#VojWd\i*M7;!aCi'+# s(q_b&#F;_Ct-tBL2V!_][YGID#MiqX+,#2X45YHS9JgoU!qN@Ci'+#s(q\as(q/R&#t(rEJ_0S e>72%Ct-sND#VraD#VojWd\i*M7;!aCi'("&%I"(Gc>LqeC8;NXa=r0V>\mMWd\i*M7;!aCi'+# )mtE=DhG^PeBse1D0M]&eC;$VD0`4!Ct-sND#DccX+,#2X8^TPWd\i*M7 !rn#Pr8%LJs-ES?#)f(XN0T(6^YT7?DfO=aeo>WPrn[q)DfO=aeo>WPrn\(-DfO=aeo>WPhVN0h rndZnrndZns5"RHU3^d*Vqp4d]o$iNLrA0,gS0"5H`,^!hZ%Nnh@?W0Df=Lhb\qLOhUZ[bbl6H+ ^jpBOY]"I:hJ[?1h@?fCEHR;VhVN0h["!(BXT%&b^jpBOY]"I:hQ1jX3 s)7qo&$0nlDr0?aMK3`n`89?hDuJN)Z@d.CZJOHmU3^d*Vqp4dDf>X3s)7nns)7A_&$^b,FcO5n hQ1jhDuSVnDuST"Z%I%=NkaH-Df>U2&&<^7I'@O-hVN0h["!(BXSpu^Z%I%=NkaH-Df>X3 )nh,LEeqZjhV4cNE-nM=hVQ,"E.,'2Dr0>hDuAGpZ@d.CZMr\aZ%I%=NkbSMs)7nn$JV;$E-nM= hVN0hr8%X[HuXYBDfG^4$*f,&FcO5nhJ[?3hZ%NnhZ%Nnh@$T@EHR;VhVP>VDf=7a!p>aHoCW@g P3:]YkE>l:o`tM[kMG(YP5k.H!rnGHrn[\,L4B~> !rnegr9+3Ns-!;6#)8SLLld//^ZYsRFEZR*i-'4mroaXulkhpW+ec+b> abFqh\9)iVk]CqEkRP.ZG']Fpkid,1]S1N[[/T7tabFqh\9)iVkd5\YFT1J1\VPETQ,r1QFEING s)e;)&%$\*FQhr.O`u&1c04A5FT(D8\qtT\]'/A>Wdo5CYNP-5FEINGs)e8(s)d_n&%RL>HBlS8 kd5\YFQhq1FT1M(FT1J1\VPETQ,r1QFEIKF&'9QKJ[ffDkid,1]S1N[[/K1p\VPETQ,r1QFEING )oe"aG`L&4kiJgpFb-aZkig0DFb@;JFQhq1FSt>*\qtT\])Lms\VPETQ,rsgs)e8($K\: !rm37r6k\5rqQKpWJnK@e&0Z7Ck:'ue,O6WdfRF'Ha2$$iI([smg&l?iR?97I/ig,#QK21e'm9' s7>[\s*Wf)dfIU0J,~> !rn#Pr7qCBrqQKpX,b)Kh8A(KDh6a-h>_Ddh#bf=J$If2k`Yu;o*>;YkhY(YP5k.F#QKtNh;.:X s7>g`s,uUFh#Z)]J,~> !rnegr9"*FrqQKpVhrKGkJQK_FFiWQBYp':VrnE9!(W;lJ_#QLalkND?5 s7>pcs/>Gdk5jS4J,~> !rm37r6bbGOH,9XM>W/1Mn4Jf_UAI#J^W`0s(nLZ#)p7B`/&62Z-i^5I.-[n#N1!hdaI-&n+5lN i-aP4dc,ZCoBZP:I,b.R!Qo>2~> !rn#Pr7qOWP)t]`Mu8G5N5:)$_VP61J_fMFs)4^h#*R$\cAcbLZ/#KGP4S;7#Nq97h;.=YoCMGV kE>)ch !rnegr9"6`NJiXLLAZ`+LrY)0_WUr@J`l4Zs)b("#+3cufT^KjZ0)2XW;#oV#OeV\kND?5p[e%_ n#5a=kO>GEoCW1RW:9fL!TKW"~> !rm37J^L^Ls(m86kL' !rn#PJ_[Kbs)3JDkM6)UUtc-`KQ2*k\ZjikjQD]Zp$<" !rnegJ`a3!s)`hSkN;edUuhirMKX<-_Q`/)m-gn6p$rFMW:0*8k3VQ8jRr'MjJ_P6k2u%!W9!XB "6?ELm/H,JigbN~> !rm37J^AtpJ^Atph9Z2Uh",mogtDYQ!SQ9"Hi`$UrQkSuh",mogtDYQ!Qo>2~> !rn#PJ_Pb1J_Pb1h:htijn"W9jl66n!TN54Ooa\(rS%A4jn"W9jl66n!S3!U~> !rnegJ`VIEJ`VIEh;n\'mIR7WmHa`4!UK.EVuc;OrT+(GmIR7WmHa`4!TKW"~> !rm37J^8nnJ^8nngs5uWoA]i-qp,9!oA]i-qp,9!oA]i-r6GDdDh%~> !rn#PJ_G\/J_G\/gtDbjoBH> !rnegJ`VIEJ`VIEguSP(oC2hKqrIhGoC2hKqrIhGoC2hKr8dt=S:C~> !rm37J^/hlJ^/hlS'D&WDh%~> !rn#PJ_>V-J_>V-S(RhnL4B~> !rnegJ`MCCJ`MCCS)aV0S:C~> !WR(hM1LM7M1LMOM#_IE~> !WRn*Sq3JaSq3K$ScFLq~> !WS[@Z[oH6Z[oHNZN-MG~> !rm37rpPERJ\ZiPJ\\"qrU0d0Dh%~> !rn#Prpt]hJ^T+tJ^U:@rUU'@L4B~> !rnegrqCurJ_5P+J_6^LrV$?PS:C~> "oiN:n*e&Cs+13$s+13Errp4 "oj>SoCLC]s+13$s+13ErrpjNoCLOfJ,~> "ok+jp\3 #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa`I(!!%T=Ja^VI!!)'Jh>aJC"i10,n&fR!~> #60GToCLE1Jb/a0!!%TAJb-nQ!!)'Nh>aJG"k*GBo@AYH~> #614kp\3>?JbT$8!!%TEJbR1Y!!)'Rh>aJK"k`kLpYq]n~> #6/W;n*e'lJa`I(!!%T=Ja^VI!!)'Jh>aJC"i10,n&fR!~> #60GToCLE1Jb/a0!!%TAJb-nQ!!)'Nh>aJG"k*GBo@AYH~> #614kp\3>?JbT$8!!%TEJbR1Y!!)'Rh>aJK"k`kLpYq]n~> #6/W;n*e'lJa`I(!!)QX!ltI'Ja\0Yg$\n@oC)YY!s&ZdZhX"Fs/GGj_#Nllb&;e~> #60GToCLE1Jb/a0!!)Q\!fI>BJb+Hag%,1DoCMq]!s&j&g\CBrs/GSndf8q1eqS\~> #614kp\3>?JbT$8!!)Q`!]gG/JbO`ig%PIHoCr4a!s'0GmJ-G3s/G_rf`1^?igbN~> #6/W;n*e'lJa`I(!!)QX"%.; #60GToCLE1Jb/a0!!)T]"S*,7&FtDDJb.Ue!!)W^!!*#i!oSGGq"*>AWUg;As7>j5L4B~> #614kp\3>?JbT$8!!)Ta"7leP7=k2apY#9@!;#ph!;H6\fL]EEpYGkKpBB4Lp\3[;J,~> #6/W;n*e'lO7*e`Z7#eqSaZ%8HklrShs^%%H4UEf!<2EiOWO]cf)"h6+Zk"Hac/37duq!!)ud!U^!`n(n#CmfgN,n*eD;J,~> #60GToCLE1O7O@lN#MjMcL^Yr?476Kn+6/?=pYgi!;#gQD\ECQmJ?DW`#J:g`.@N2oC)8k!/qj! /C*kYmp6D2?LRLWn6-,2I/rm1no#0I;!n/O!!)uh!Ug-coA0GGo**SBoCLOfJ,~> #614kp\3>?O7sXpD@d"=kkFi77L']Zp@n=F5Qr71!;H6X<"':Wo_S:bD.E;MjFR&Vp[@hs!,`>P 6Kn1 #6/W;n*e'lO7+(h,g,JT%.EYi)9q;a..?W3)U7Db!:TBi)TV-'`;8p*L.q'b@Y+!!n*f]c!$o_R X:4RdYo1gKE[^DFZl73OEWGRs]c+rVNl:h`!!*#e!p,saq![&=WUC#+s6oF!Dh%~> #60GToCLE1O7O@lAWUg;As7>j5L4B~> #614kp\3>?O7sXpJa)GpB_V6NGO #6/W;n*e'lO7+(hb4"fe!UoJ3Vsj*<#4M":W:03=!:TAn*fQGqsXF_! #60GToCLE1O7O@llLXW:"7u*miq)d#%.j'!iq)d$!;#dlj7Dm-$N'E!isP8HmgA*+o7?N&o,Rhr oCMGRoCECMoCLoLoCECMoCLrAoCEIPoCM5Sqt'^c!=79OoA0GGo**SBoCLOfJ,~> #614kp\3>?O7sXpoCr"D$2=/un+ZRW1\^VJn+ZRW!;H3mn+ZS(.f8rEZR>J@k6^X/pOW).pDj8* p\3nYp\+m\p\1^Ep\+m\p\1]gp\+p]p\3&bqtL!g!?:>!pYGkKpBB4Lp\3[;J,~> #6/W;n*e'lO7*&KrU0jhn*^GDrpKsjn*^GDrpKphn*^GY!!!&smf9lq!!"Eumt'rsmf3@dmfWXZ mfhqSmfW[[mfhqSmfNRYmfiXi!!2uc!!*#e!p?9hq![&=WUC#+s6oF!Dh%~> #60GToCLE1O7N>OrUU[&oCE"RoCMJQoCE"RoCMJPoCE%^!!!&so)NM&!!$_ao7?N&o)Jdho+M,q o)\FRoC2kQo)\FRoC2hPo)ejj!!2ug!!*#i!p#"]q"*>AWUg;As7>j5L4B~> #614kp\3>?O7rVSrV$Bop\+^fpB9pgp\+^fpB9pbp\+^e!!!&spAc]@!!'`apOW).pAb3lpB(Ei pAt9f"RcNgpAt9f"Rc?bpAt3m!!2uk!!*#m!oHdqq"NVEWV6SKs7c9IS:C~> #6/W;n*e'lO7*&KrU1F#n*`!/n*fHEn*`'3n*fH?n*`0Gq!S:P-*R=:!pBpIJa\0Yna?GXrU1F# n*`!/n*fHEn*`'3n*fH?n*`0Gp[8(^rU0dT!Vl->s/GGj_#Nllb&;e~> #60GToCLE1O7N>OrUU^'oCECMoCLrMoCECMoCLrAoCEFSq""RU$KV3X!os^WJb+Hanac_\rUU^' oCECMoCLrMoCECMoCLrAoCEFSp[\@brUU'Z"8MKDs/GSndf8q1eqS\~> #614kp\3>?O7rVSrV%!+p\+m\p\1^Dp\+m\p\1cip\+p_q"FjQ$Ln&h!jj?KJbO`inb3"`rV%!+ p\+m\p\1^Dp\+m\p\1cip\+p_p\+XfrV$?V$2F8Ns/G_rf`1^?igbN~> #6/W;n*e'lO7*&KrU1R'n*dJ!cKB6qn*dP$cffKOn*dq._!KTkr9j[8U&=?[Khd3fJa`-t!!)ud (]a$nYStgMF!gAEZ5_-RFTCn!]c+]QeT(KT!!*#e!pHHgq![&=WUC#+s6oF!Dh%~> #60GToCLE1O7N>OrUUj+oCH?Wio3:4oCHK_j5NK-oCI8teFC[^r:9riXo.bk0<9ZqJb/F'!!)uh (]a1!?pir56=BEVA4P\>70)rNH:HESb#\E2!!*#i!p54Tq"*>AWUg;As7>j5L4B~> #614kp\3>?O7rVSrV%-/p\-(\maW5ap\-.bn(&EXp\-^ijRKl=r:^4gdJW_>'\\-4JbS^/!!)ul (]a=).!Y11)RfD7.X^^9)Z]X,3cjBP]JKHZ!!*#m!o[$[q"NVEWV6SKs7c9IS:C~> #6/W;n*e'lO7*&KrU19tn*fXg'F-q[n*f[f%LH;=rpKu\-j:N=r9jYtC]*W%gC8`&Ja`-t!!)ud &-21fmaJC"i10,n&fR!~> #60GToCLE1O7N>OrUUj+oCMET$O^2-oCMEP#SDIboCMO%*OV1TmoKc,I/rm1npVS].A$G.r;Zm*5h5Z$h>aJG"k*GBo@AYH~> #614kp\3>?O7rVSrV%-/p\3c:#8DUZp\3f6"aJK"k`kLpYq]n~> #6/W;n*e'lJa\0YJa]6"h>aJC"i10,n&fR!~> #60GToCLE1Jb+HaJb,N*h>aJG"k*GBo@AYH~> #614kp\3>?JbO`iJbPf2h>aJK"k`kLpYq]n~> #6/W;n*e'lJa\0YJa]6"h>aJC"i10,n&fR!~> #60GToCLE1Jb+HaJb,N*h>aJG"k*GBo@AYH~> #614kp\3>?JbO`iJbPf2h>aJK"k`kLpYq]n~> #6/W;n*e'lJa\0YJa]6"h>aJC"i10,n&fR!~> #60GToCLE1Jb+HaJb,N*h>aJG"k*GBo@AYH~> #614kp\3>?JbO`iJbPf2h>aJK"k`kLpYq]n~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa_"T!j`gGJa\0Yq #60GToCLE1Jb.:\!k'$JJb+Haq==RdVXjkt)Z[SC"k*GBo@AYH~> #614kp\3>?JbRRd!kB9NJbO`iq=ajhVY:/&*!!\H"k`kLpYq]n~> #6/W;n*e'lipQjIlgFfRM!k@!V1J)dn+c>O!2f2c0r;PO"i10,n&fR!~> #60GToCLE1iq!-Mlgk)VM":X&W.FPkoD%nW!2f>g18qkW"k*GBo@AYH~> #614kp\3>?iqEEQlh:AZM"^p+X+C"rp\=I_!2fJk1TS1_"k`kLpYq]n~> #6/W;n*e'lipQjIlgFfRM!kHOlL40AcgLi6mI(#TJa^\K!!)ud!!&nb!=.o8mf3@WmfgN,n*eD; J,~> #60GToCLE1iq!-Mlgk)VM":`Smdp#Mcgq,:mIL;XJb-tS!!)uh!!&nf!=/& #614kp\3>?iqEEQlh:AZM"_#Wo(VkYch@D>mIpS\JbR7[!!)ul!!&nj!=/2@pAb3_pBB4Lp\3[; J,~> #QJ` #QKPUoCLE1oDS^k#sH`$o)JdVo)Jdfo)ShNr:9mgQLb(Vrpp*icgq,:mIL;XJb-tS!!)uh!!&nf !!(:8!!)N["k*GBo@AYH~> #QL=lp\3>?p\k-o%oVZVpAb3ZpAb3jpAk8@r:^0kQM1@Zrq?Bmch@D>mIpS\JbR7[!!)ul!!&nj !!(: %KCABn*e'lmf;hFkbAOMmf3@Rmf3@bmfEKL9E";Z!7^HU+NEm=Q1+1]+<\\mn!3A1`ZQDDn*cP1 n&?LKmi;Cf*<[q1n*fFF%1QY,n*d8)"^`.@CQmfr,t'*qIpn,37dmj\n%6LkO7j>rU1I$n*^71)?B6kBbCo. n*fU^'*qIpn,35*n)msc%:85dmf8%[!:T&P#o.sjn*fU^'*qIpqsP!pN?&-Q_XHs[E"`LSipZgG o'Zats6oF!Dh%~> %KD1[oCLE1o)SCRkCa]:o)JdVo)Jdfo)\ndOT"bN!7^TY+j0EJR.Kpl+X,#"o9f.@arqqNoCJ@@ o?&6To,Rgl*<[t5oCM9T%1Q_2oCK(4"j5L4B~> %KDsrp\3>?pAjs^iD #lei=n*e'lmf<@U*UWssmu\[p37dQedPqIEDt!/_HklrShs^"6lP@_Dmh"e#c0pc:"?>!$n*YK5 $!3mf3@\mi#\pn'hd*mu(^d N:57)ipVe9@uTm+%-$`6AGts=!)_;-GVS[UCIQt16>Z,Z&u"O;>jq,s7G?E]D"$fmrpKgerpMLM N:57)ipVe9mjGC&i+Q-Zmf65>n*bNeeDaV?n*^6Gg=eu5n*_X/k29oQn*^8Tmgsb0eDaV?n*^6R e`:s0n*^8TmfX8skgE`5mhp.3eDP$/mqYAGfg9NDmf6&1ja7J4e)bs6Ja`F'#^J\bi`TaZmf<=T .KE>rjENEJms.1Ji`TaZmf65>n*_X/k29oQn*^6Gg=eu5n*bNeeDaV?qsP%.U$0p0n*b$\g=\f/ n*^8TmhYummf65>n*b9_eDP$/ms.1Ji`TaZmf<@U)J_dqfg9NDmf65>n*b$agY57!n*bNeeDaV? qsP'r;:X`P1%4RV5h+dr@diacnF$Ors6oF!Dh%~> #lfYVoCLE1o)Sd]*Uj.%no#0I;!mlGX=+2lOn825?476Kn+6,Nl3chUo+:0olges-#Z0p[oC,oi &q'cWo)f!Y'\iWY*<>^&f1-/O5j.b1!/r!&.)(uk"=qploC?f5#Z0pfo)Jd`o,;2#o@OK6o8R*`D+j5L4B~> #lgFmp\3>?pAk3e*U!e'nPfo-EV0#"L`HRL]_D0`7L']Zp@n:]dhhWTpCPdmo^Plh%rq79pZOjG +0,D=pB(EI)X[Ou*<>j.__VK)>k7X`!,`MW4QCT$#"%SKp[M2k%rq7@pAb3dpDRY+pY-,ApQ0$" On[T=lM$BQAs)iB%-mSKBDqQH!*%b?Ho(NkDb&dE6u_np';k9P?ha;58)`AoE;0),rq?BmrqA'X On[T=lM$BQpF*N=k\F;ppAe1Pp\0)&gZi$Tp\+YYiSd:Ip\-)Fmc\Fgp\+[dpCMa>gZi$Tp\+Ye h!BDEp\+[dpB2/,nC_1GpDJ-AgZNDIpMWR\i'_PYpAe"Cm=5UCg?jDKJbT!7#^o%ol .K=>^n*e'lmf;hFkbART]c+rVNl:DT-%kCfbNuE!8d25jTFu? !<)?f)i<)?mf=?Mr9k78bjY#D)=R"oh='go!8[,4jTC)&qfbODQ!ZR!GrU1"/bjY#D)=R"orU0jhn*^8-rpKk+ bP^f7*Qmj>fbNuE!<2En(sMI;b8Kd;!7q/<%2mL\n'(k$miBR>n(AHQmgoKUn*f??n*_:>n*epE n*^8GmfgN,n*eD;J,~> .K>/"oCLE1o)SCRkCaiHG=1-L@aal>$F'!O@Is)#6fHujA+T9lo2^YGo+6Xbo63RVl!i*4o4LJM iBdPAo-=>-_]nXBo)SCR,e<=-FT:t(!)M;9NX&J8mZ&@[o63RVl!i*?o)Jd`o,=Q*o77U>o22Kc ;Y,GRPOhYNW)E5<'U/,cWVuE$!9*P@kl^PK(shgFc5H6F)iWGJo*?2ZoCL6FoCDt]o)Jdio*D9m o77U>o22Lbo*+@moCDt9rppR>c1CP_(%_"sd.?kT)Z0+/knNa\!<)L#*R43Ih%fPQ!9*P@kl^PK !<)Kj)iWGFo)TcTr::O!G"i:HR)!9!J?klZM.q==k4c1CP_(%_"srUUU$iUc[*"7u+) c1CP_(%_"sgA:CQknNa\!7:?/cPlEH*R43Ih%fhY!ZR*NrUU:3ch$bR)>!G"rUU-loCDt9rpp./ cM[8>*R43Ih%fPQ!<2Qr(shgFc5H6F!8@GD%2mUco?[L/o,Z*IoA(/Yo+1o\oCM2KoCF!IoCLcQ oCDtOo**SBoCLOfJ,~> .K>q9p\3>?pAjs^iD3tX2g"apETb5LL'WJpAjs^6I#/a49,'L!.3qr;&auJlqqTnpG[3Yi[j?npAb3dpDU)3pOa0GpJ\/o <;2"ZQM4=ZX&ShG'UJJlXSql+!9NtLm0!+W):S?SdMhlS*0/ePpBVYcp\3)Sp\+[epAb3mpB[g! pOa0GpJ\0kpBBpup\+[Drq?jCdJ*Cn(AIP'eG&^d)uK@4m1f6jXm1fdp\4%Wp\,`Vp\3S] p\+[WpBB4Lp\3[;J,~> #QJ`$0^jH3jS39XRGWD"n1n9W:03= !;l3i!:TBY2"0l5qsPlNQhI)WMh+.]>8o*9?-"mjb7omi:EK *:GAU2X_XHrU0^drU1X)n*^>En*fQEn*dq\&Kdn=mfMkEn*:)Emf<@U!!*#e%-&>r.]>8o*9?Ru 3"#Wbs6fpfrU0^gquHcc$39G]n*:)En$k=arW)ue!!)ud!!E-!s6fpfrU0ggn*^8Tmf^ #QKPUoCLE1oDJXu$eb+]j7Dm-$M3itPM,p+*t70#oAL,Lo)SC?&+T8]&EWKnj7Dm-$M3itiq)d$ !;l?m!;#f#EqAl&qstTk$M3ihl1=N9!:'1In,r:R%cd0Pl3d(Q)Wr+3.]YN"*9cQ*o.$e"o,QuW *:kY\2tJ$QrUU!hrUUp-oCE%QoCMDQoCKah&g41Fo)eFQoBueQo)Sd]!!*#i%-JW%.]YN"*9d"+ 3=>`cs763jrUU!kquHcg$39SeoBueQo=I!irW)ui!!)uh!!E-!s763jrUU*koCDt\o)uj#&g41N o)Sp]r::0qnFQ8?"7u*arUU!hrUU!hJb/^/!!E-!s763jrUU!hrUU*koCE(^!<;Wj!<)Kj]/^5t !<;Wr!:]UOmfW1Q"8i/ro+/W.&g41Fo)eFQoBueQo)Sa\!s%ra!<)Ki!q6'Y!!E-!s763jrppBs nFQ8?"7u*arUU9rnFQ8?!;#daquHWc!!)uh!s%ra"8i0!o)Jd[o**SBoCLOfJ,~> #QL=lp\3>?p\b($0^SN=n+ZS(.eiZAWTO0R*sV3.pT$+EpAjrd488L;&+K;un+ZS(.eiZAn+ZRW !;lKq!;H4C\+fUsqtCld-MR67oCr"E!;#sZl3d:[#OhE]d44\\)XAF &-$SDn*e'lmf;hFhdpZn"oSE/!UoL5=<.s%n*^GDrpL9sn*^8Fmt=m5fDk=."oSE(!UoI\kl1#N !;l3t!:TCE^(sVO=sk(sVO &-%C]oCLE1o)SCRehsZ&!rW*=!V>p"8/!)CoCE"RoCMJQoCDtRo.[TD[K#ji!rW*)!V>m`o(2JC !;l@#!;#gO+ij0SoCKXS$31&,oCDt\o)Jdho)f!ao)ejj!!2T\(d+KJo/!:-oCG)<1\3E#4nJ8- Tel9rV`jtL!!)uh#QXJf(sqmGc5?NO%J$S9oCEgGoCL6EoCDt]o)Jdho+=*Y1\3E#4nJ7_T]G\* !;#d^rUU%/g&(@P!7:?/cl)HH)5-']jT+oD!<)Ki)qk,[!!)uh!s%ra!;l?hnuNW(o)TcTr::12 d.?kS)"[>!rUU!hrUU!hJb/^/!?9_ho)Jdho)Jdho)o'bo,HB[o)Jdho+;k5jRVC4oCDt/oCLj5L4B~> &-&0tp\3>?pAjs\aVEV*!W`4:*dpp\+^fpC?Wqp\+[^pCuKY?2sZn!WEk*rV$9lrV$9lJbT!7!?BnlpAb3lpAb3lpB1KjpDhucpAb3lpCS=jWj8erK!<)Wm)q+ZY!?BnlpAb3mpBVYdp\3)Rp\+[dpB__g p\3/;p\,Z_p\+XfrV$Epp\,Z_qtC'jnFm+=s7c9IS:C~> #lei=n*e'lmf<@U"R-KK2S/\P(WlpMmkLa/n)suEmf;hFh%&mhP4.it])1q"1TBj3kQ(MK!!*#e% cnPW!:TA4Iba>W!:T@VrU0^drU0jhn*`0Gm-c!F)2Ra:)M%;FIi4(2LDk^3msc42mtVg3n*^8Fm f<=T)?B6pBh$h16Yc)Y;TJ%#'(>:'7bZQ`C@CTkrpKjtb5UiAIi4(2LDk^3mgu;YcVX]2mf<=T) 14lulblZhmf5o5gIH,Lmgu;YcVX]2mgdM>mg+;0cKiDGn*^8TmfWXZmgdM>mfZP/l)56omh,Whm rLeEi+VTJBh$h16Yc)Y!<)?d!<)?d!.jV7mg4A1cKiDGn*^b/rpKgerU1*on*bWmcKiDGn*^8Tm hHD0kg**+n*^6IgY558n*bWmcKiDGrpLa*n*a/pl)56`mqG8Fg-]WDmk8qIeP6,5mf<=T%s(%di +VTJHpu?H`)6!l!<2EmBh$h16Yc)Y!<)?qC.d::8-&,IHpu?H`)6O&!s%fY!<)?p!:TB(7F(5;; =Er`b44p(_#Nllb&;e~> #lfYVoCLE1o)Sd]"Qg-[%HmNX(Ua\Bo*jXMoAU2Mo)SCRa<:'sg%4eEkPOiS%-$mMiW/lI!!*#i% bVWa!;#djVs!X #lgFmp\3>?pAk3e"MZAW#P%Wa)"s%?p\+m\p\1^Dp\+[^pN:BJ&*rua#P%]c"U=GipT4GmpAb3m pC=)foDnX[#/Ta%g]7*C!<)Wl!<)Wp!;H3mna,ukK,TaDN#RHEpOaBDpP^&Ep\0:YNVAANK_P3@ p\+[dpDO&+pMEI[iC.YYpJoN/XqUR(D+NXE7;hko!<2]n&(1CN&VD!]pP^&Ep\,9"nCCP=p\+[d pDJKOeaps`p\+Y[io3OLp\,9"nCCP=p\,3Grq?\K8(I4S<;6+erV$Epp\,3Grq?OqcLJ%Nrq@$* p\/l!gZNDIpMEI[iC.YYpAk0d!!)ul!!%TEq=b2G8(I4S<;6+tdJik?!<)X"!;H5<8(I4S<;6+e rV%$=WpnS=!;H3f9&ei%EVK3X8(I4S<;uV1!;H4fcLJ%Np\/MqiSd4Cp\-CimG(P=p\+[dpCDI8 gZNDIpOGcao?1,-pAk3e#]3,kiC.YYpAk0d%;no#j%9=GpOGcao?1,4pB(EipAk0d$ip%rJ4J/] b>e61&(0qA"k`kLpYq]n~> #lei=n*e'lmf<=T)3mY()Sk^iEUW?O\a.EBn*dJ!cKB6qn*^8UmfHF9'E7G0]c+]QeT('HZ5_-R FTD=-!!)ud%E79+n*_QXlJ[3mn*^8Tmf3@dmg&p^n%BXTm+$+Tmf3@[miK=Jg[Ehu_XHs1"5E:u "2aNq_?8Q]g&o4\mf;hF!<)@)!:TC=>7:pEk3qc/,QfHrn*fCC$k-A&n*^8UmhU6X!:TBn"5E:u "2aNqU`TXXL]Ho4!<)@4mL%"Km>7:pEk3qa=rU0^drU0^dJa`F'%IJQa"=]o1ms>EBn*^8T mgB-an*PND"=]o1mf<=T'r2oQ*/FU`mf7kP$!HH[n*PND"=]o@mhu2pn!kX*.'2n+k$&6&>NYDC _(>a0Mu`>8!<)?sl=^_>L%"KtI2rG>SaZ"IrpL-T>7:pEk3qa=rU13WSc8'[ !:T@VrU10qn*fXl*<[g^n*bT2!:oR^_#Nllb&;e~> #lfYVoCLE1o)Sa\)*4L<7b$tN 70*5V!!)uh%?BWPoCE?fo6NmUn]Fo3o)Jd_o,bjQhXfS+`q/f@"5`Y+ "30s(`<4ugh?1dho)SCR!<)L-!;#gI>mq-IlLXV>,m,R!oCM6Q$k-G,oCDt]o+l`^!;#g$"5`Y+ "30s(VB>p[MZEA?!<)L8nUDP^.A6;(!.kmk>3keOVB>p[MZEA?I1$&HoC7;N"=^#8o)Sa\$ionj I1$&Ho:I<2.'NXA&chOpmV*7EL\(-&>mq-IlLXTIrUU!hrUU!hJb/^/%Inog"=^#8o6guHoCDt\ o*YQioC7;N"=^#8o)Sa\'rE)T*/aggo)O@V$!QZdoC7;N"=^#Co,7W#o:I<2.'N76lmq-IlLXTIrUUK_ #lgFmp\3>?pAk0d*uNQiF6)l(1\^WehsujUp\-(\maW5ap\+[^p\"uGJH#9P3cjBP]JKjqF]W?;6_N<&_IIgZ8Np[s(Y"=g/?pAk0d$ip%r IgZ8NpRrl8.C/sI&ch\#nnSgKM>-c4?476Kme?GUrV$9lrV$9lJbT!7%J>8n"=g/?pO.M!<)X&nnSgKM>-c;JK=qDUA+B^rq?]d?476Kme?GUrV$cg=U5am"S_Z`JK=qDUAjlh !;H3frV$a$p\4?3*X!sep\0.F!:ojff`1^?igbN~> #lei=n*e'lmf<=T);P_iSL=X[J+)j>2$4bMn*fXg'F-q[n*^8UmfLi;E;f56SL=X[J+)joFq+g^ !;l3b!;u9oFo_""cn5D4@K>lc!<)?d!<)?d!<2EiSL=X[J,\m:!0HXL!.jTimf3?jmfCNOdI.7S s6oF!Dh%~> #lfYVoCLE1o)Sa\)9EigIN8M>T(DQF,m,NsoCMET$O^2-oCDt]o)bZk`r>Q=npVS].A$/&moKc, I/s09!!)rg$oe7Yo;3Q0)MA+^o)Sa\!!)uh#QXJfnpVS].A$P1!!&,P!!%TAJb&jAY4D\<+49Z` df8q1eqS\~> #lgFmp\3>?pAk0d)00<[A.f).`V9+X('ZeQp\3c:#8DUZp\+[epB""ijo4u`o4/I<42psgjurnh WrW%k!!)ul%J:M;p\0.N![k5Qp\+[dpAb3lpBUcnp[_o.#!9g'pAb2TpAb2EpOW&=!3Z%scl^[0 "k`kLpYq]n~> #6/W;n*e'lJa]W-!!%T=JaWR=Z0qg/hq1A3dI.7Ss6oF!Dh%~> #60GToCLE1Jb,o5!!%TAJb&jAZ1A*5inR"=dIROis7>j5L4B~> #614kp\3>?JbQ2=!!%TEJbK-EZ1eB;k2/[GdJ!gss7c9IS:C~> #6/W;n*e'lJa]W-!!%T=JaWR=Z0qgM&dq\!dI.7Ss6oF!Dh%~> #60GToCLE1Jb,o5!!%TAJb&jAZ1A*T'+7h'dIROis7>j5L4B~> #614kp\3>?JbQ2=!!%TEJbK-EZ1eBZ'+7n-dJ!gss7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'leF*A;]C5_!rU0mH:C.YXrpL#k4U2NugA::;!;u9o_EeMGPOIt`5R@`^bPL],!;Q$^ !.jTun,<=cmf_ND#nhI]mffaT#7snhqX=C`r9k'25meHmn*eFb#mil?qX=C`q #60GToCLE1eFNY?]CZ"%rUU0O;$dn]rpp;r4pM[#hYQjC!;uEs`^1"LQ1OUm5m[i`cMI/3!;Q0b !.ja$oDSago*"&M#nqU`o*)9\#8("nqXa[dr::?:64+QpoCL6n#mioCqXa[dq==aK;$dn]rpp9P ;$dn]U@SQ:s7>j5L4B~> #614kp\3>?eFrqC]D):)rV$HW;@+"`rq?T$56hd&iVN $NG&?n*e'lmf4-jrU0^dcgLo8(@D(h!!(=5!!)ud%8g9bhH,s1mm*o5g1*;@mf3@dmg[G[U?0g, n*_fOi8A]/q!S1_p?qt]Ja\Nc!!)ud%8g9bhH,s1mm*o5g1*;@mf3@dmg[G[U?0g,n*_fOi8A]/ q!S1_q $3,bWoCLE1o)LcJo)Jd:o)ShNr:9mgcLV#9rUUIr>2eFBQLj]6XlnPP55=^L!<)Kuc5`YEem.h< /U?C:FtWR]!!)`a!!%TAMt6oKrUUIr>2eFBQLj]6XlnPP55=^L!<)Kuc5`YEem.h $3-Onp\3>?pAfRpAk8@r:^0kcM%;=rV$b#>ik'NRJ6GBYj:7[5PXsQ!<)X$dN,7Qfj4@H /pldEGVAjd!!)`e!!%TEMt[2OrV$b#>ik'NRJ6GBYj:7[5PXsQ!<)X$dN,7Qfj4@H/pldEGVAjd !!)ih%9-Toj]\)HpJbDZj]\(IpBB4Lp\3[;J,~> $NG&?n*e'lmf8A@rU0^dcgLo8N_B?>!!(=5!!)ud"Uj5Vn(p&$mfDMSq!S1_rU0bcPPaeP#O(XF k6UkO!!)`]!!%T=MsgWGrU0mths^$j3;`.FjTbMK!!)ud!E53Zmf`s[n*fEFq!S1_qpG_#Nllb&;e~> $NGkXoCLE1o)MLHrUU!hcgq2<9p#>F!!(=9!!)uh"Uj>]oAM_,o)\([q""IcrUU%hQ2C.V#OM'R lNm:W!!)`a!!%TAMt6oKrUU1#iq)d#3W&CKkm$qS!!)uh!E>?]o*#BcoCM8Rq""Icq=>%'iq)d# 3V2hMiq)d#3MZ0Ldf8q1eqS\~> $NHXop\3>?pAc;ZrV$9lch@J@+3a]X!!(==!!)ul"UjJepZ4I5pAsXcq"FagrV$=nR/?U]#OqK^ mg/^_!!)`e!!%TEMt[2OrV$I'k4eW33rAXPm0<@[!!)ul!EPTbpB:fkp\4+^q"Fagq=b=+k4eW3 3qr@Vk4eW33huEQf`1^?igbN~> $ib/@n*e'lmf;]9V>foc!:T@VrU10qn*^7^/-[#S].jO1U&OKoOWO]cf'i&-W[%Z7!:TCEMAuk, qsOUeloV'CmhGikn)@ae!\D1Vmf9XE"r`T80aA\lrpKuP*s=RSrpKgen*^5VrU0mshs^$j%f>\q Uc\A?!!)ud%2F7,#uBIImnS,ci-.rkmf3@]mf3?=mu-W7!<)?i$K(=@h@BGO!MhgPmf3@dmgU"Z (C $ibtYoCLE1o)S(jg]$dH!;#d^rUV97oCDs@*s="+Q6HG^de!)$D\ECQmIToLJf"O[!;#gPCCq#. qssmilP/+Qo,Ri&o@HJ>"[M8Bo)O^k"=V!M+p9FEoCMNk'*qG%rpp*in+-MZrUU1"iq)d#&,Yr! V`abG!!)uh%2F=.#uT^Ro2'boj*=Jro)Jdao)JcAo8E2?!<)Km$KC[Ki=GhW!N/'To)Jdho*lF` (C%&iq)d#&+fB"iq)d#_"df8q1eqS\~> $icapp\3>?pAie`mJch^!;H3frV%Q;p\+Z*'aQq^Fr(?Ll1arB<"':Wo_8([@h/V7!;H6S;%+AK qtC0mf,F&UpDj8.pVSck$XE8spAf(G#X%-j(C!4jp\42W$kI@Mrq?Bmn+Qe^rV$I&k4eW3&,Z)% W]g.O!!)ul%2OI2#u]p[pJH>%kBg)$pAb3epAb2EpP\bG!<)Wq$Kh*WjU_7_!NJ ')unGn*e'lmf;h3''8TN!:T@VrU2!3n*^6"`pBl3,ff8T%I`c!)TV-'`:*-p,1,fI!:TBd(rkg$ qsPd1n(\Q;n*^8Fmh)/Pl^RqCmf4NNm&pO;a6]u=n*dq.a6J]'rpKgen*^5VrU0nb>Mn=A"8qTh _B-nqmf3@dmgT>'hVMC4n*edI!!"%jq!S1_p?qt]Ja\Nc!!)ud"\r:Zhc^-[mfL?IbP:N+!<)?q !aOU==]+YVeK"Vi*S1#S!!)i`%8L-bhc^-NmnR*Ehc^,WmfgN,n*eD;J,~> '*!^`oCLE1o)SC",4Y9r!;#d^rUV97oCDrXg$Xk*;VCJu*qSuI6egj7de!&1<9!N@!;#f"52#+: qsu'5o>;dBoCDtRo-Cm6l?*'to)MS>mZ%NMg$XkAoCI/ngZ`1qrpp*in+-MZrUU1h?/jjK"8q`l `?3D#o)Jdho*kb-iSds#Ot`fc:%m*SU;[!!)id%8^?ii`lTWo2&`Pi`lS\o**SBoCLOfJ,~> '*"L"p\3>?pAjrC?2"$e!;H3frV%Q;p\+Z7kj2.cId$,qD"mZ_FQqd9l1aoPL$eX/!;H4AE9Z.F qtD?9pP3&Jp\+[^pHm-sjZEM:pAfR(lqn^Nkj2/_p\-Ugl/F8Yrq?Bmn+Qe^rV$Im?KUBU"8qlp aZCIlg`?Fq*o6Vc!!)ih%8gHok$8)`pJG8Zk$8(apBB4Lp\3[;J,~> ')unGn*e'lmf;hFXYfM8!:T@VrU1U(n*^7tn*fZEb4"fe!q5S>XRGWD"n1m[]`.@&!:TA5V>0Ka !:TBY2"0l5qsPlNQVC!!)ud"l)`V'mLMmmfKg8]_Cjp!<)?q% H$XCh@&f@5BYoBF?fQh!!)`]!!%T=MsgWGrU0pF9*c8W(B*\'ZQ-XPmf3@dmgT``n*f*@n*`J`i 8A]Aq!S1_q '*!^`oCLE1o)SCRDfYI@!;#d^rUUm,oCDtHoCMGOlLXW:"7u*oj7Dm-$M3ihkPk&U!;#dkiV'Q9aDJ[(A%.T9aDJ[(8LI)df8q1eqS\~> '*"L"p\3>?pAjs^1:R#P!;H3frV%00p\+[Zp\3qQoCr"E$MX9"n+ZS(.eiZ;o)A@d!;H3mn+cV^ !;H4C\+fUsqtCld-MR67oCr"E!;#sZl3d:[#OhE]d44JV!!)ul"li>`(46qspB%lG_Y ')unGn*e'lmf;hFmT,/4!:T@VrU0ggn*^8Tmf3@dmfNRYmfiXi!s.lZ!<)?h!:T@[kkOTZ!:TCE n=G"i10,n&fR!~> '*!^`oCLE1o)SCRn0,jD!;#d^rUU*koCDt\o)Jdho)f!ao)ejj!s/#b!<)Kl!;#d_nbD\g!;#gO +ij0SoCKXS$31&,oCDt\o)Jdho)f!ao)ejj!!2EW!!)id!L6[ao)bR%_=mI#!<)Ku3TBZ%i=,>L #41sQlN[.U!!)`a!!%TAMt6oKq==WPoCLoLoCE1QoCM8Pq""Icp%&3L '*"L"p\3>?pAjs^l4`=S!;H3frV$Bop\+[dpAb3lpB(EipAt3m!s//j!<)Wo!;H3gp\,:#p\3qd k4\lMpR*K8!!!)ppAk0d!!)ul!s&)i!W;uu!UKI[!;Z?iQrj:]!hpRNp@eOerV$a^k4eW3%/9K# nFu\G#5Iom!;?-e!.jm&pAb3hpApX_rq?Jg)8u7C!!)ul%6EYGpZ2hXpBL-]p[8=]pAb3dpApX_ qtC,Y=/5Knf`1^?igbN~> #lei=n*e'lmf<@U%cnPW!:T@^ipZ@%!:T@VrU0^drU0jhn*`0GqsOLbrU0jhn*`-1q!S1_rpL?Y (t8QSmk]FJmHaiAmf<=T!!)ud"9@oZ2S/)?!!)ud$=)*CU`@PGmt;\%qsOLbr9jUcrU12Z>Mn=@ ;t'0,GMqD%0E1D?!;u9c!;u9c!;u9c!.jTsmf3@dmg<=Lk+j!>n*boLaSYE+!;u9c!<)?qP?Zr% =]=eX/U-.2FYEa_!!)rc!!)rc&-21f>h%o3*6Ra=>h%o3*6P&F"i10,n&fR!~> #lfYVoCLE1o)Sd]%bVWa!;#d`nFQ8:!;#d^rUU!hrUU-loCEFSqssdfrUU-loCEFMq""IcrppWQ (@2%mo*hP[o'HGKo)Sa\!!)uh"9A&b%HlpG!!)uh$=;BMVB!kPo7e7.qssdfr:9mgrUUJ`?/jjI <:f]6H/mq/0`LYD!;uEg!;uEg!;uEg!.ja"o)Jdho*SgVlD>QGoCI\VbPUl2!;uEg!<)KuQ!ND/ >#b+b/pZL;G;0$f!!)rg!!)rg&-2=n?J+P?*6n*H?J+P?*6k8M"k*GBo@AYH~> #lgFmp\3>?pAk3e%];Yc!;H3gp@n=.!;H3frV$9lrV$Epp\+p_qtC'jrV$Epp\+p]q"Fagrq?o# 6M(9PpBJJ%pY5cCpAk0d!!)ul"9A2j#P%!O!!)ul$=DQUW?'C\pP9j9qtC'jr:^0krV$bg?KUBT AHfsR;1&gnI!;uQk!;uQk!;uQk!.jm&pAb3lpBk9^m\q5Sp\0IachmG:!;uQk!<)X$QsSq; >ZUUn072mFGqo #lei=n*e'lmf<=T%E79+n*ad\jl1Xfn*^8Tmf3@dmgB-an%BXTm+$+Emf<=T#6=5]\/<9OOSeJH !<)?q`Sggcmj3bSiI:jrmf<=T!!)ud#QX>^]c+]QeT(TW!!)QXquHcc"HsZ/5f*HgqZ$`Yn*^8U n,*1bmgO@P#u9CHn&RTs#X-?0mf3@en,*1bmf3@en,*0:muQr8!<;KjP8FTk_>`p#!!D9Mmf<@U quH`b%!E6i:>bO/a?0_64j*cm!!*#equH`b#6=5]P8FTk_>`m+P8FTk_4pB%_#Nllb&;e~> #lfYVoCLE1o)Sa\%?BWPoCEoYn(Ub@oCDt\o)Jdho*YQio6NmUn]Fo(o)Sa\#6=AeD*Qeo8iM@!<;WnPo'fn`;]B*!!DEUo)Sd] quH`f%!WEl:u_* #lgFmp\3>?pAk0d%8HBnp\,-'p!4l`p\+[dpAb3lpBpuqpH!BVn[p[PpAk0d#6=Mm06-:57/Q]Y !<)X$:%A;YpBAh7cRAkgpAk0d!!)ul#QXVn3cjBP]JKQ]!!)Q`quHck"IL&56HB*"qZ$`ap\+[e p\Y$jpC)?]#uTjZpWl#/#X?`9pAb3mp\Y$jpAb3mp\Y#BpQ,(H!<;crQl-2sa8Yi1!!DQ]pAk3e quH`j%!iQn; #lei=n*e'lmf<:S%!DX>n)6P;&8D46mf<=T!!)ud!!*#e#G!7H)Lq5E!<)?k!:TCELD^>(qsOLb r9k&;!:TC'/cu\p!:T@VrU0^drU0^drpKu\-j:N=rpKgel0eU`hsUR3Ja\0YJa^MF"i10,n&fR!~> #lfYVoCLE1o)S^[$oe7Yo?Suj)iOdgo)Sa\!!)uh$NTeinpVS].A$/&!<)Ko!;#gPBFbQ*qssdf r::=V!;#fZ*W[14!;#d^rUU!hrUU9poCMO%* #lgFmp\3>?pAk0d%J:M;p\1F(""Le\p\+[dpAb3lpBpuqp[_o.#!9fupAk0d#6=MmlqRm,ZhsIs !<)X$obRW&pO #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> #6/W;n*e'lJa\0YJa\0YU[JB%s6oF!Dh%~> #60GToCLE1Jb+HaJb+HaU[nZ;s7>j5L4B~> #614kp\3>?JbO`iJbO`iU\=rEs7c9IS:C~> "TNE9n*bhCJ\ZiPJ\[qo"TRrZb&;e~> "TO5RoCIO]J^T+tJ^U4>"TS)beqS\~> "TP"ip\06kJ_5P+J_6XJ"TS5jigbN~> !rm37rpPF !rn#Prpt^@JcC<$JcDGDrpp0AL4B~> !rnegrqD!DJcC<$JcDGDrq?HQS:C~> !rm37rpPERJ\ZiPJ\\"qrU0d0Dh%~> !rn#Prpt]hJ^T+tJ^U:@rUU'@L4B~> !rnegrqCurJ_5P+J_6^LrV$?PS:C~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa^nQ!!%T=Ja\0Yf'`aWs6oF!J,~> #60GToCLE1Jb.1Y!!%TAJb+Haf(0$ms7>j5J,~> #614kp\3>?JbRIa!!%TEJbO`if(T="s7c9IJ,~> #6/W;n*e'lJa^nQ!!%T=Ja\0Yf'`aWs6oF!J,~> #60GToCLE1Jb.1Y!!%TAJb+Haf(0$ms7>j5J,~> #614kp\3>?JbRIa!!%TEJbO`if(T="s7c9IJ,~> #6/W;n*e'lJa_jlq>gB\!!)]\!!%Z?rW!$$#WK*WmfLQ43/$`%a9+Ehn,<:h!=1WjNUI"cs6oF! J,~> #60GToCLE1Jb/-tq>gB`!!)]`!!%ZCrW!$$%8#=Ao)agUMhL['M[57.oDS^l!=_WTNUm;$s7>j5 J,~> #614kp\3>?JbSF'q>gBd!!)]d!!%ZGrW!$$(1HUtpB!AXc@kon3Wm[pp\k-p!>],2NV #6/W;n*e'lJa_ai!!)c^!!)]\!!%Z?!!*#e!p#dYqX4J(F3F=H"%.; #60GToCLE1Jb/$q!!)cb!!)]`!!%ZC!!*#i!oSGGqXXb?LuA(""S*,7&FtSI"S*,7&G#Yg!\K5d q==Rdrpp3LHlS.;"Od>Ao@AE~> #614kp\3>?JbS=$!!)cf!!)]d!!%ZG"p"Dlp"2iBqY(%WSacFK"7leP7>:I #6/W;n*e'lJa_ai#lsG_mX,cT6f7A2!<;KniaEB"/A^fD!/'_?!<)?emK*1Q"i=sg23-_omf_DS mq6Bimf_DSmq6D2mfgRB'fD$3r9jUcrU0dT!KHON_#Nllb('~> #60GToCLE1Jb/$q#lsSgmp6D2?LRLa!<;Wrf1-/O5j.b1!/'kC!<)KimfWFX"g_><8YkkQo)uuN o,Yc(o)uuNo,YdFo*)I'#t^r^r:9mgrUU'Y"-)mTdf8q1epm~> #614kp\3>?JbS=$#ls_ok=,[lJG/a9!<;d!__VK)>k7X`!/("G!<)Wmk6_"Z"f"Ts?+K\+pB5>C pC?8=pB5>CpC?9[pB@<_$sgF;r:^0krV$?U$'"Z^f`1^?id_~> #6/W;n*e'lJa_ai$NTYaYo1gKE[^DF!<)?l&YA(LS,_sG!/'_?!<2EgjdctXmfi'V:C0murU0lD 9^gG>L@58"9^gG>p[8:PW)!^sWrDGe!<2EgjdcsBmf^H+n*eDL~> #60GToCLE1Jb/$q$NTei@mf566=]WY!<)Kp,e<=-FT:t(!/'kC!<2QkiI<0Ko*+HI4qD5?rUU.G W:R*5L@YO%W:R*5p[\RSQp)$l_#Ep*!<2QkiI #614kp\3>?JbS=$$NTqq.X1:0)RoJ8!<)Wt6I#/a49,'L!/("M!;H6]gIuP\pBBN3/0B/frV$F/ g%S=KLA(fbg%S=Kp\+jMLb'Wnec,:I!;H6]gIuOFpB9.Kp\3Zt~> #6/W;n*e'lJa_ai$NTYa0rOL/kQ^ME!;Z'dm02tI!/'b%<-*?k/!nT1-rpTab! #60GToCLE1Jb/$q$NTei%-$mMi=,>L!;Z3hmL&RW!/'n@!!*AVp%&6s'EJ.(#3-'ZoC!%HM":i2 $LdTT$KLgN!kT-Hrq$$f!=789o*!MAoCLO`~> #614kp\3>?JbS=$$NTqq#4M<\X#'ME!;Z?lj!ONp!/(%D!!+&(p%JNU#lsu!#.#]NpZDkPM"_+[ -hd;t$1RW^!gs>prqH #6/W;n*e'lJa_ai"9@oZ"mGsS!s.lZ!<)?lg.)YR!!2QW!/'_?!<2EikFrOVn,<=cmfi'W:^Bms rpKisqu?^FM!k>Rqu?dHn*g5UrU0pVWDEjsWW)>d!<2EgkFrNImf^H+n*eDL~> #60GToCLE1Jb/$q$NTei!V5jRnH&7Q!<)Kp]f-8u!!2]_!/'kC!<2QmjFelOoDSago*+HJ57V5= rpp,(qu?_2M":U\qu?e4oCMq]rUU3YR6M0l^]*g)!<2QkjFek>o*!MAoCLO`~> #614kp\3>?JbS=$!s&)i!WMfrmfiI[!<)WtR48C@!!;oh!/("G!<2]qhbS@gp\k0kpBBN4/K]5e rq?CBqu?`2M"^m!qu?f4p\4XerV$KSM(KfoeGf1B!<2]ohbS?RpB9.Kp\3Zt~> #6/W;n*e'lJa_ai$NTYa0rOL/kQ^ME!WDHm1Oe-Hli?MC!/'_?!<)?emK*1Q"iG'j1lgSomfMo' YQ!tlkQp('mfMo'YQ!tlkQp)CmfgUD(,V'2r9jUcrU0dT!KHON_#Nllb('~> #60GToCLE1Jb/$q$NTei%-$mMiXGGM!WDTq%&`:Zm/ZbL!/'kC!<)Kin,rOY"ghG?8>G\Qo)e@f jSn`Pj9k@5o)e@fjSn`Pj9kAQo*)L)$:pr]r:9mgrUU'Z"-)mTdf8q1epm~> #614kp\3>?JbS=$$NTqq#4M<\X"sGD!WD`u#/Ta%g]7*C!/("G!<)WmkR%+["f+]u>e'M+pB'Lb nG`.`ZmYR)pB'LbnG`.`ZmYSEpB@?a$s^=9r:^0krV$?V$'"Z^f`1^?id_~> #6/W;n*e'lJa_ai$iobbYStgMF!gAE,-_(8#UP8kiI:jrmf8"/!!*#e!pHHgqX4J'Em"7I!Rmb? mfA,;MXLSpU&=?[KhhO6!Z?%$q #60GToCLE1Jb/$q$ionj?pir56=BEV$/5CM#R[m-g0+LJo)OF7!!*#i!p54TqXXb?LYqt"!NW@# o)UMFMXpkLXo.bk0<>!A!\K2bq==Rdrpp3RL)H!B"Od>Ao@AE~> #614kp\3>?JbS=$$ip%r.!Y11)RfD7"RQ-^#R/KGcRAkgpAfj?!!*#m!o[$[qY(%VSF?=K!Dq2A pAku^MY@-JdJW_>'\`HY!^N:Eq=ajhrq?KQ;H]"R"PEbKpYp]~> #6/W;n*e'lJa_ai(]a$nm #60GToCLE1Jb/$q(]a1!mop/->OV1TF9qs=o;3Q0)MA+^o)OF7r;Zm*5h5Aq!?K/Wo)Z]KMXpih `Vf<._B&.;r;Zm*5h1kc"Od>Ao@AE~> #614kp\3>?JbS=$(]a=)j[07eIJ*@/:'CXlpO"PEbKpYp]~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa^DC!!%T=l0eTPJa`:#!!%oF"Mk'+n&g.~> #60GToCLE1Jb-\K!!%TAl14lTJb/R+!!%oJ"Od>Ao@AE~> #614kp\3>?JbQtS!!%TEl1Y/XJbSj3!!%oN"PEbKpYp]~> #6/W;n*e'lJa^DC!!%T=l0eTPJa`:#!!%oF"Mk'+n&g.~> #60GToCLE1Jb-\K!!%TAl14lTJb/R+!!%oJ"Od>Ao@AE~> #614kp\3>?JbQtS!!%TEl1Y/XJbSj3!!%oN"PEbKpYp]~> #lei=n*e'lmf;kG!!)ET!!&/M"ia7D$9c&umf\[e#>ORamf_NG%1I4Qmf3@emf_W&=76-Omfgd0 $jo8 #lfYVoCLE1o)S:O!!)EX!!&/Q"fs`h&5hHao*"W"$k-tNo*!)u#T&a&o)Jdio*!DNL%>;,o*)9\ #7snuqXY*856r'ioCMNg$k-tKo)Jdio*!DNL%>;*o)e.d!<)Kla$0hGPl:1Tkmd^io)JcJo*!MA oCLO`~> #lgFmp\3>?pAj^W!!)E\!!&/U"d:J?)/Sg>pB:(_#8`[(pB7EJ"=_(^pAb3mpB7K'[eBcapB?g7 "<)7MqY(Ar0*E` #lei=n*e'lmf;kG!!)ET!!&/M"XK8al_tBkmg[MSaQ6i&n*fBYMW*KBqsOdjn*f'WE:<5qOm`H" RGR+g')V,,jrB9;i-t.`bnA+Z@7pFc#QX>^h'6n-mf8F;!ie6\rpL$Q*/`_5If8^:W]:(Umf3?F mf^H+n*eDL~> #lfYVoCLE1o)S:O!!)EX!!&/Q"[8jHlA-V\o*q* #lgFmp\3>?pAj^W!!)E\!!&/U"^/G)k>Q'kpC0f,m*66np\1[7_=Pi1qtC?rp\1*ebkLi3OnT#c _XZAAG5M"CW[>RRb;o=k9P!M8'%HgQ#QXVnRLdX:pAg9K![c"hrq?Sr-Gf;s3W8[R-HQ8apAb2N pB9.Kp\3Zt~> )#nOMn*e'lmf;hF!4"!T*M)ZfdPqIEDt!W)s6gHW@1WJk_=-gmZ7#eqSaZLWs6gEV@1WJk_=-gm Z7#eqSc8'gOWO]cf'i(qHklrShs^"6rU0skn*e[a#81shmfDhXqsOi/F78SU%I`bR9D@lX!:SJV L]6`V!2^b?5N2)"!2^b?5N2)"dPqIEDkZV#m/m1R!LZUXmfdTMn*f0DqsOXfn(&A3rpLO$VB#h) iU?48VB#h)iU?6`3!U(7V!eEJ&)RBdmfAhLqX4OK&)RB`mh>c!* )#o?foCLE1o)SCR!/qj!/C*kYX=+2lOn8MOs76`P7g]DbkO\9FN#MjMcL^u7s77Ab7g]DbkO\9F N#MjMcL^YuD\ECQmITr'Qa!;!T+ [/TY2!.>Fc>4D.T!.>Fc>4D.TX=+2lOeM@ImfWIY!Bd4Uo*$)ZoCL9Jqsspjo )#p-(p\3>?pAjs^!,`>P6Kn1+C!;DBk h#@$^!*osDIeNO1!*osDIeNO1L`HRL]V5'#jU:t[!?0VfpB;#ip\/lPqtC3npPU$Hrq@*,>mh3m p@n:]>mh3mp@n<;* )ZOaOn*e'lmf;hF!$o_RX:4Rd-%kC )ZPQhoCLE1o)SCR!*.e@M&c-Y$F'!O@Is'jrUURG\aA[(s7>g^g^ f)6tl2`!(>f)6tl2`$F'!O@A38n\g[II%17_&$;]sYo*=XRoBZ_Zo)euj&BatC 'ECP[iC%ANo)M2;iC%ANo*V_jfO:TI"#d4O!<2Qn$A0'#:[7rN"#d4O!;c:$!(>f)6tl2`!(>f) 6tl2`$F'!O@@m&ndf8q1epm~> )ZQ?*p\3>?pAjs^!.jD":2'Cr"j?P^488ILrV$jic1L*Zs7c6fJa)GpB_V6$rV%F$c1L*Zs7c6f Ja)GpB_V6[FQqd9l1ap%GO (&r4Jn*e'lmf;hF!6Xd!mK)eF1NCV:mf3@`mgSRen*^8!n*fZFn*^8Pmi:]un*^8!n*fZFn*`?> n*fQGn*`!/n*fHEn*^8Tmf`^[mk\t,^@2(%! (&s$coCLE1o)SCR!:'1In,r:R%$TBCo)Jddo*k$ooCDtIoCMGRoCDtXo,R0*oCDtIoCMGRoCEIP oCM5SoCECMoCLoLoCDt\o*#-co*gi9^@V@)!=IWZo*k`koCMMRoCDukjlKnMqssjh!k%st&cgq_ oAU5No)ReAoAU5No*gi9T^r61&DR*R%09o!j^A,[o)\FRoC;qZo)\mn[J]V/!93VAiXPMN!93VA iXPMN%$TA>o)urSoCDt]o*bY.jlKnMoCKjCoCDtYo+D&_oCLrNoCDtAoCLrNoCEBSfpqX:df8q1 epm~> (&sg%p\3>?pAjs^!;#sZkm@+Y#-$b`pAb3hpC-(/p\+[Zp\3nYp\+[`pDi3?p\+[Zp\3nYp\+p] p\3&bp\+m\p\1^Ep\+[dpB:QkpBIVZ^A%X-!@."/pAb6npBgEnp\+]LnD#SpqtC-l!T*bK&chCp pT6=IpAj[VpT6=IpBIVZT_AMa-11U(#Q^"UgarL"pAt9f!V6EjpAt $ib/@n*e'lmf;hF!<)?n!:TC4=<.s%n*^8Tmg.W;%fcS1n*^8TmfNRYmf<=T#hhcZ!!!&gmf<=T !s%fY"oSE(!UoI\kl1#Q!UoIWrU0skn*f(7*>!\7mfMdO&,Yf)):J!BliceG)U7a>lN@%Q!s$(D NrADI!9jFN"9Iu[!9jFN#6F;^h,k[/I\Z?5fcl^XmgU2[n*fQEn*_.Bn*fTGqsOUe^C-)#mf![rmfZXCn*^8UmgL,Zn*fQEn*a8/n*^8Qmf![kmf^H+n*eDL~> $ibtYoCLE1o)SCR!<)Kr!;#g!8/!)CoCDt\o*E#g$31&,oCDt\o)f!ao)Sa\#e`/(!!!&ko)Sa\ !s%ra!rW*,!V>m`o(2JC!V>m_rUU6ooCKgi'-F-eo)e33,Q%'A#OM'Rlj*.R#OD!QlN[7X!s"Yp ]`%F9!:oaQnH/=R!:oaQnH/=R_FP=^Vk`hb]+2jWo*krjoCM8PoCE4RoCM;RqssmiQO:D(o+V2q oCMJRoCDtQoCMJRoCKgi'-F-Ko)p#VoCDt]o*blioCM8PoCEpFoCDtYo+V2qoCMJRoCDtQoCMJR oCKgi'-F-Do*!MAoCLO`~> $icapp\3>?pAjs^!<)X!!;H5_4:*dpp\+[dpB[0:"onW)p\+[dpB(EipAk0d#am.H!!!)ppAk0d !s&)i!W\qtC0mCEMO6pAb3m pB9pgp\+[epB^3kp\1FF#r:,/pB1rgp\+[epC%2sp\3/Pp\,-[p\+[apAb3mpB9pgp\+[epB^3k p\1FF#r:,(pB9.Kp\3Zt~> $ib/@n*e'lmf;hF!<)?d!;u9gap%8&!WDHm1Oe-Hli?MC!<)?g!:T@WrU1"JIba>W!:T@VrU0jh n*`0GqsOtKVsj*<#4M!dipZ@%!;u9dap#NJ!U^!cmgX,Tn*f0Dn*b5?n*fQEqsOXfn';YprpL9r WUK<>#4M!\WUK<>#5mojap"U0!lu%Dq#4M!\WUK<>#5mojap"C*"Mk'+n&g.~> $ibtYoCLE1o)SCR!<)Kh!;uEk[L2Wt!WDTq%&`:Zm/ZbL!<)Kk!;#d_rUU:'Vs!X%9lgs`5#4qF*ch$bS*;f=1!;!5tX8_]"!93VAiXGGM !93VAiXGbV!O`?3oD8Ofo*6<%oCM5OoCMhZqst6siq)d$%.j&jiq)d$%/f\t[L/Vt"Od>Ao@AE~> $icapp\3>?pAjs^!<)Wl!<)Wqp5g`tpAt6e#R8-5pY5cCpAk0d!s&)i!WD`u#/Ta%g]7*C!<)Wp !;H3mnb`%i#4M<\X"sGD!VZ9^ciF%=!qq^)^@qZk$2aH+%I!Q\GB3HP%eKGhdh_iT"9A1H'A!0W% 05kkpT?@IpAj[VpT?@OpB(&M.AZ\>G:;YMpC.W(p\3,Pp\,-\p\/lPqtC3npOEq.rq?j%n+ZRZ2 #$_En+ZRZ2#[.Mp5g`"p\OsjpBM3"p\3,Pp\4ObqtCO"n+ZRZ2#$_En+ZRZ2#[.Mp5g_ppB9.Kp \3Zt~> $ib/@n*e'lmf;hF!<)?o!:TA3\a.EBn*_I)rpL+=L[*iJ!:T@VrU0jhn*_I)rpL+=L[*iJ!:T@V rU1g.n*dq._!KTkn*dJ!cKB6qn*ad\jl1Xfn*`$BlcTIKmfbV]l/Im=rpLBun*eI5al[#'n*eRP f'&"kqsPL)n*esQB^bBi)pd_m.IZ^*)pd_m.IZ^\\a.EBV=+Jj$`X$l&-21fcRRN0MZb6=U.!!*#e"j\[Lk_fE;mf3@amh>a@cffU& n*^5qcffU&n*`$BlcTI'mf^H+n*eDL~> $ibtYoCLE1o)SCR!<)Ks!;#e_c1/:NoCE:BrppC&ZLQXP!;#d^rUU-loCE:BrppC&ZLQXP!;#d^ rUV*2oCI8teFC[^oCH?Wio3:4oCEoYn(Ub@oCH#-n[JqCo*&CEn_S@9rpp[$oCJA#hqorQoCJS_ k2p(Oqstd-oCKX&R.KnL8)rW"Ab5Kn8)rW"Ab5Loc1/:NV=ObD'@m!O&-2=nT4-mE@/oiiR4I1P /"6A,*!#U%]aC.uo)M;@j%!\Po)M;@j%!\Po2a-+\-er$!!*#i"eT5ck$\5do)Jdeo+V0pj5WX@ oCDrPj5WX@oCH#-n[Jpto*!MAoCLO`~> $icapp\3>?pAjs^!<)X"!;H52hsujUp\+gWrq?[%c1TC3!;H3frV$Epp\+gWrq?[%c1TC3!;H3f rV%B6p\-^ijRKl=p\-(\maW5ap\,-'p!4l`p\/jgnrP38pB>s%p!uHNrq?s(p\. $ib/@n*e'lmf;hF!<)@&!:TBi2$4bMn*dOo!:TC'/cu\p!:T@VrU19tn*dOo!:TC'/cu\p!:T@V rU0^drpLes-j:N=n*fXg'F-q[n*f4$#7tVMn*dqI!ucj0mg6`k"Um`8n*f0GrpKuM('[J!rpKuU )$Dk@qsOLbrpL]_03%B?VB#e&hXBn5VB#e&hXBpH2$4bMV=49]"53/$&H;,$Q5Kf`bPpr5NYVgm m/-5O!<2F(i@e1!!2^b>4l5Yr!2^b>4l5Yr]eom1KV@i7!<)?hQ5Kf`bPU`.!;c-u!2^b>4l5Yr !2^b>4l5Yr]eom1KV%W8_#Nllb('~> $ibtYoCLE1o)SCR!<)L*!;#fR,m,NsoCI&1!;#fZ*W[14!;#d^rUUR#oCI&1!;#fZ*W[14!;#d^ rUV*2oCMO%* $icapp\3>?pAjs^!<)X.!;H5=('ZeQp\.Dd!;H5;'*9Pd!;H3frV$j'p\.Dd!;H5;'*9Pd!;H3f rV%B6p\48i&dCG:p\3c:#8DUZp\1F(""Le\p\04S#!(DSpCN#u!Zc4Lp\0M_p\48R"rm_*hp@n:]>m_*hp@n<4('ZeQV>'ie'(u!UDtj#!<m_*hp@n:]>m_*hp@n<4('ZeQU%\Nerq?Th< #6/W;n*e'lJa_Oc!Hi_Cmf3?Mmf@QWg[>+BJa`:#!!&2N"Mk'+n&g.~> #60GToCLE1Jb.gk!@u:Ho)JcQo)UA`g[bCFJb/R+!!&2R"Od>Ao@AE~> #614kp\3>?JbS*s!>=PLpAb2UpAkohg\1[JJbSj3!!&2V"PEbKpYp]~> #6/W;n*e'lJa^,;!!%T=l0eTPJa`:#!!&2N"Mk'+n&g.~> #60GToCLE1Jb-DC!!%TAl14lTJb/R+!!&2R"Od>Ao@AE~> #614kp\3>?JbQ\K!!%TEl1Y/XJbSj3!!&2V"PEbKpYp]~> #6/W;n*e'lJa^,;!!%T=l0eTPJa`:#!!&2N"Mk'+n&g.~> #60GToCLE1Jb-DC!!%TAl14lTJb/R+!!&2R"Od>Ao@AE~> #614kp\3>?JbQ\K!!%TEl1Y/XJbSj3!!&2V"PEbKpYp]~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lbjPN3jmN0LPOAJOJa`:#!!%T=h #60GToCLE1bjtf7jmrHPPOebSJb/R+!!%TAh=CUHQLb7-s7>j5J,~> #614kp\3>?bkD);jnA`TPP5%WJbSj3!!%TEh=gmLQM1O7s7c9IJ,~> #6/W;n*e'lbjPN3jmN0LPOAJOJa`:#!!%T=h #60GToCLE1bjtf7jmrHPPOebSJb/R+!!%TAh=CUHQLb7-s7>j5J,~> #614kp\3>?bkD);jnA`TPP5%WJbSj3!!%TEh=gmLQM1O7s7c9IJ,~> #6/W;n*e'lrpKp0"$"`t!!)c^!!)NW!!'Y""isOL$:)Q,mfgd0$jo8 #60GToCLE1rpp2L#`I.&!!)cb!!)N[!!'Y&"g1#o&67ojo*hcc#7snuoCMNg$k-tKo)Jdio*!DN L%><9o)Jc`oDARn#P7QXCCCVfrpp;p3X--miqr #614kp\3>?rq?IT"4#?h!!)cf!!)N_!!'Y*"dL\C)K>9EpC*<>"<)7Mp\48S#8`[%pAb3mpB7K' [eBdnpAb2dp\Y!r*;B4!:'VT#rq?S[/-Hi,nGDq[!;#pb!0d0V!;ZBe!<)Zk!;Z?h!<2]qWX?3/ !;#pb!2]Dmf`1^?id_~> #6/W;n*e'lrpKqVGR*Q`mf3@^mf3@Wmf3@"mfb#*hWKt5qsOt?RGR+g'(>;6'$00C9)J&_!:TC4 ,B3,?!;#XZ!1`Kiasc`IbnA+Z@7p"W,a-jHW=Jgo!!)WZ!!&/M!!)i`!!)c^!!)i`#QX>^h'6n- mf;tJ!!&ka"Mk'+n&g.~> %KD1[oCLE1oCMMa\Ie>\o)Jdbo)Jd[o)Jd&o*%Ial/QV1qst7`YNb(a.eE8"/)K,5S,;d_!;#g" $_Ht]!;#d^!1`WmO_F@XR4I.N/"?/%5,[Q.L`uZe!!)W^!!&/Q!!)id!!)cb!!)id#QXJf_[E(- o)SCR!!&ke"Od>Ao@AE~> %0)jqp\3>?p\47bKgjGa!!)cf!!)N_!!'Y*"^](9gH'NTpC1HGn_6*Jp\.?lm*66nqtC?rp\1*e bkLi3oCi4bSG*U\]_D.oAF.SSeG&]?]'e`[B`%N(!;#pb!0R!U!;Z?h!;H3f!;Z?p!;H5V&'XeB !;#pb!2]Dmf`1^?id_~> %KCABn*e'ln*f$?mq6D7mgecC*!]d!$n*YK5$mfDeWp[8FU!q5SqF78SU%K#Ss!:SJVL]6`J!2^b? 5N2'M>5mskkn!$n'X0#&oY5I"Mk'+n&g.~> %KD1[oCLE1oCKm>o,YdKo+(;+&IjBaoC6T.%>49D!<)L#!;#d^N#r0N^6TrG/(4%\!<)Kt!;#d^ oCLR($3`]XoDJ[ho*t8/'*qG%oCMHT#nhXd\+9Xh"8DBnmfW1Q)pe-IcQ)iR"9A&$$afp)#QT8b $!Qii-F!L@!Tjgh!<;X!no#0I;!mlGX=+2lOfn9_n.=dSo,H$Io?SERo)\=_qst'nI1ZchnFJ!2 rpp0Q%/g2+o*k2.'*qG%oCK%3">E&IDY1o-U^@o)[t^ r;clh%.\C*Kdf%"Od>Ao@AE~> %KDsrp\3>?p\/N7pC?9`pC?Oe$lZGGpZt`c)RB,3!<)X'!;H3fDAj)u4C6L"7=!<)X#!;H3f p\2Q]"q+],p\b*lpC6Xl$kI@Mp\3l:"WscF\+]pb$hsB%jU:hW%I!Q\GB3TT"9A1S*8LPf#QS-< &:X?I&D[9Z!PBcX!<;d%nPfo-EV0#"L`HRL]WUu9lOra^pC6?\pNLZTpAsLdqtC?r>mh3mp@f-R rq?H+-N*rEpC-Rk$kI@Mp\0Ia""h0[pAb3hpAb3fpAb3hpB1KjM]COOpBUb)$P7d\pCQ-ZpAqoR r;cll%.R:*%rq79pP9gl/\JOd"PEbKpYp]~> %KCABn*e'ln*c!)n'bbFmgciE`p&QQn$j4Sl&Y<%!<)?t!:T@V+i`lP"=2%SY79sh!<)?r!:T@V n*^j[jQi<8n*^8TmgZrKa6J]'n*dV%c/s$H\*j@N&bk`#fb*]A)Ue*Clid4S!s$RZSc/!f!#j,E F=Qb7$0q!JU,_TArU10.)TV-'`:*.@KBM-AY3uD0r9jUcq %KD1[oCLE1oCFZ7o;m*6o+#Y%g#m8Eo56bFkAKn_!<)L#!;#d^:YG/r#?'7CNZRf`!<)L!!;#d^ oCF6\g[1A#OM'Rlj*FZ!s#51b5LoB!(>f) 6tl22(%Utf;hX`BrUUGA6egj7de!&;Yj^4QY4D[hs8MTn#OM'Rlj*I[!pu%)qstMI8 oCGn6o)Sa\%!P(nl!i*4o*V_jfO;5["Od>Ao@AE~> %KDsrp\3>?p\,BTpJA0ppC8lrl.eZ#pFpRNgdCi1!<)X'!;H3fHg'fn)h.#;;/H"$!<)X%!;H3f p\.#!o]817p\+[dpC0''l/F8Yp\-4`mF3$S\+]oDFnbV:Ecq-N"SDH_fc9n`!s!X"kPb,\!-mn\ )nPce;?$:l,0KW[rV$^ZFQqd9l1aoUbOj"?Y4hrls8M`r"SDH_fc9qa!pNg;qtC?rGjX!"](^AF rq?L=b4bo7pC'!&l/F8Yp\+j7oZTCkpAb3hpB1I(#;;VEpAb3hpB(DA0'E3-#QT,:e/Q!nG#A85 "!Yn^!<)X#2g" ')unGn*e'ln)t&6n*VL(n*`*0r9jYCV>Tc^!<)?t!:T@VaRATc!6Xd!mK2kG!<)?g!:T@VqsO[T "n1m[rU11WXRGWD"n1n9W:03=!4_J!i?tT!mfq_uW:00Wli->Q!W2 '*!^`oCLE1oA^2HoC!%HoCEFMr:9puiV`9I!<)L#!;#d^l1=N9!:'1In,r:R!<)Kk!;#d^qsssY $M3ihrUUI.j7Dm-$M3itiq)d$!4_V%c4Jb*o*WbSg[k";o(2JD!W2Hi!!9S+o+(i\oCLrNoCF'+ oAL/Ho)Sa\$4c+foBH\So*gi9Xn)Vb'Ai`["Te2coC;q\oD\dk$JbOM%fkV\oAU5No,k++i=55H !<)Kr%cd0Pl3d.S%$TA;o)Jdbo)nL(5%4B\!!)id!WW;0r::F!iq)d$%J005Xn1K\mdgGWo*Puf oCM5SoCEBSfsL>Rdf8q1epm~> '*"L"p\3>?pTl7@pZDkPp\+p]r:^3sn,2n[!<)X'!;H3foCr"E!;#sZl3d:[!<)Wo!;H3fqtC6R -MR67rV$a+n+ZS(.eiZAn+ZRW!4_b)V'YO(pB@B>mJ$>Urq?Hb"8hfo!!1sSpC@8mp\1dIp\,0P pT6.BpAk0d$4$%opX(JbpBIVZXnMnf%.=,h!!3)n!V6Elp\t3o,OPC&%fl(mpT6=IpC>sPXYBGB !<)X!#OhE]d44nb#-$aXpAb3fpB0rt)6`u4!!)ih!WW8Xr:^^%n+ZRY2>?hTg\7g(p%JIbpBh/o p\3&bp\+lkk-Xjcf`1^?id_~> #lei=n*e'ln$r8q"=Wa-"mGmQ!kmfhqSmf3?umfM/dQ2'eLfcl^\mfaTWn*fTGqsOUe^C-)#mfbWn*C2TmfMdO&,Yer!9jFN$3BVafa6o/6LX@C rU0^ir;[''n*f(7*>![omf3@\mfD\Vr9jUcq #lfYVoCLE1o4e+&"DRK!!V-*Z! #lgFmp\3>?pF?(@"2=O(!W2Tk!W2Tk!<)Wo!;H3frV$9lrV$Bop\+[dpC72tpAjs^R48C@!!;oh !<)Wl!W!;6'eaW16Q!!)ih!s!*YiViKN!<2^#mfiI[CJOUEdJ*A8rV$9mr;['' p\1FF#r:,@pB9.Kp\3Zt~> $3+r>n*e'lmNo(9mfhn\hsWG!r9jYDV>Tcf#ib=AlN$DB!<)?d!<)@%!:T@^ipZ@%!:T@Vn*`&] h!OG.n*^;Umf>>XqsO\EWUK<>!4qV#a:k$;mfLQDRf2[YD0,17i!oSP"9@o:'7BfJ"TYOjn)suT mflld$KCOC!WDHf2S/\P!QkSLmf?XDrU0o,F78SU%K#SpmK*4R"TYOjn)suTmflld$KCOC!WDHf 2S/\P!QkS?mf3@\mfD_Vr9jUcq#6+&q=@rq[n*^;Umf>>Xq!S7+"h*k& _#Nllb('~> $3,bWoCLE1mgA.To*+1^n+."Ir:9puiV`9Q!q>gQl2^GI!<)Kh!<)L)!;#d`nFQ8:!;#d^oCEBg kOS!?oCE"]o)T<`qsst"iq)d$!4qb'Taf* $3-Onp\3>?k6g_XpB@oOp@eg\r:^3sn,2nc!VZ9^ciEh7!<)Wl!<)X-!;H3gp@n=.!;H3fp\+m. me>K:p\+^epAkNhqtC6un+ZRY!4qn+G:;YLpB#OekPb,Y%I!Q\GB3TT"9A1H'A!0W%fl(mpT?@I p[nrH4SJOD!WD`n#P%Wa!qq^)YkJ4m%-[Za"V'\ipNLZTpAsF`qtCU$n+ZRZ2#$b;%"^V8p\+^e pAkNhq=asaO=?pu!!)]d!R;P[pAb3hpB1KjJ.pN5pC@8mp\1gIp\4=hJirc$pAt6e!=//jpB(&M .CSsRf`1^?id_~> #lei=n*e'le"Q^.)21iS\/<9OORMYJ(rtp'n*ad\jl1Xfn*^8Tmf3@dmhYummpo,Rid:apmf;hF -&:dEIfSs+,-_(8%D<[qm+$+En$3nYk]Hm;mfKa%WVc,f!:TB]$`X'm"j@V$k$^jYmgT9cn(Jmt n*^5qcffU&rpKp>!)EO^!@"cImgQlJ_!KTkn*`$BlcTI9mfD/Rr9k*='$99E8al++]BS==&c;## !#s8JGU`X\!nI?HrpKk3Yl=)"]c+]QeT('H1:c_o"etGc!;u9k!:TA4\*;[es8; #lfYVoCLE1X0)oCEoYn(Ub@oCDt\o)Jdho+qDuo,ESUgJ\+Do)SCR $F93U=oe0c$/5CM%=1Lnn]Fo(o41AOi^EjZo)a[\ebeqA!;#f;'@m$P"dpmuh^b/mo*k]ko=YKu oCDrPj5WX@rpp2t!29D`!=@KZo*fq7eFC[^oCH#-n[Jq1o)Z]Pr::Ac/)T57Re-,UcLKb5./WT> !(Z)07qM\k!j_m#rpp-sgA^[PH:HESb#\-* #lgFmp\3>?:so48)&1g!06-:57/-F/EU)@Jp\,-'p!4l`p\+[dpAb3lpD3i(pC4J%cQiMbpAjs^ "jQ_d.00,:"RQ-^%6ARkn[p[PpF:RZef+V$pB"SXlML;Z!;H4m2X:57"\WFocP"b)pC.,spQH$, p\+Z8n(&Jhrq?J"!7q/D!PeF8P\8 !.=7d*4c(C!aPfWrq?Erm/H_f3cjBP]JK #lei=n*e'lAS_54);>VhmY;Yb?gmIOLD^>(n*f4$#7tVMn*^8Tmf3@dmhc&nn)6P;&8D46mf;hF cn5D4@K>lcZ4R*9mgPa8"WDmZn*Y?/$!I>@n,!(gg$di1n*g,R#MJS7NYVgmm/-5O!<2Eni@e1! !2^b>4l62,!ndkCrpKoo&HMh!$_8[L)Lq5E]eom1KWsnGDe8h7%#u)-9^M6:^H;Z.6Gr]h"TYD? "?kW@mfM/Jkl1#PZ4R*9mgG[7"WDmZn%CR\)MFpTquHcc$/cB`n%Usg%oD$[n,*1_mf3@emg7r+ <:9ga*<\O^rpKpA#jD9V!jWC #lfYVoCLE1*Q@sJ)8[EcnRrFBK_+g*BFbQ*oCL9[!um1!oCDt\o)Jdho-aV1o?Suj)iOdgo)SCR VB,aVKE1W8F9qs=oC@>N""Bi5oC#`d&UaYkoD8LkmISXLoCMhZ#4;$QC'tDbqXX[erppHB%tsNS I1Zcfn,Dn[^D$/:o+?'N!;#gQIN8M>T(DQF,m,NsYk%lA^&7I)nnJO?C]N""Bi5o:@61-`s39quHcg$-smgo:[Z9(MN79oDAUco)Jdio*N_R K_#1l&IDS.rpp3+'Cl(n&Te #lgFmp\3>?%cmQ^)/m_*hpAXde>Y=th&P`K0p\48i&dCG:p\04S#!(DApAkiar:^?c9a2Atrq?SM*!..!nb`%a!*opB HhRI5!F/7qpCU.(!;H6ZA.f).`V9+X('ZeQV"aces7ZhVDtj![*!7F?p&=^`!;lKj!<2^!W #6/W;n*e'lJa_Oc!Hi_BmfA5JJa`=$!Jjp7mf@QWg@#&u>+k #60GToCLE1Jb.gk!@u:Go)UeQJb/U,!B70:o)UA`g@G>(Y+Y@hdf8q1epm~> #614kp\3>?JbS*s!>=PKpAl)bJbSm4!>jLGpAkohg@kUagS"9Df`1^?id_~> #6/W;n*e'lJa^,;!l560Ja`@%!l560Ja_Lb!l560T^N$!s6oF!J,~> #60GToCLE1Jb-DC!h:+uJb/X-!h:+uJb.dj!h:+uT^r<7s7>j5J,~> #614kp\3>?JbQ_L!qg#$JbSp5!qg#$JbS'r!qg#$TD&K@s7c9IJ,~> #6/W;n*e'lJa^/ #60GToCLE1Jb-GD!WX%ZJb/X-!WX%ZJb.dj!WX%ZTCW36s7>j5J,~> #614kp\3>?JbQ_L!WXb6JbSp5!WXb6JbS'r!WXb6TD&K@s7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> #6/W;n*e'lJa^hO!!%T=l0eTPJa_jl!!%oF"Mk'+n&g.~> #60GToCLE1Jb.+W!!%TAl14lTJb/-t!!%oJ"Od>Ao@AE~> #614kp\3>?JbRC_!!%TEl1Y/XJbSF'!!%oN"PEbKpYp]~> #6/W;n*e'l_=%@(NUHiIJa_jl!!%T=l0eTPMXL\`s6oF!J,~> #60GToCLE1_=IX,NUm,MJb/-t!!%TAl14lTMXpu!s7>j5J,~> #614kp\3>?_=mp0NV #6/W;n*e'lrpKp0"#tl#mdCn19aV4j]^P=1;%*ds`:*09;%*ds`;B!'!;#XZ!0cmN!<)Ba!!!0$ mf_NG%1I4Qmf3@Zmf3?Pn,*1an,<=cn,*.c"T.Wf!;#XZ!1E9Y_#Nllb('~> #60GToCLE1rpp2L#`F9*mdh0p3X--miq)cE4pMX!kO\;J4pMX!kPOiN!;#d^!0d$R!<)Ne!!!9' o*!)u#T&a&o)Jd^o)JcToDAUeoDSagoDARg#Q+)m!;#d^!1EE]df8q1epm~> #614kp\3>?rq?IT"3uJlme7H[/-Hi,nFu[B/d*)3o(VmD/d*)3o)&.]!;#pb!0d0V!<)Zi!!"#< pB7EJ"=_(^pAb3bpAb2Xp\Y$ip\k0kp\Y!k*;fI1!;#pb!1EQaf`1^?id_~> #6/W;n*e'lrpKqVGR*Pcn*f][,a-jHW=JCc-(3WQO:q$N-(3WQO:qHZ!!)WZ!!&/M!!)i`$-F[b n)bUIiS]1^mf3@Zmf3?Pmf3@^mf3@`mfCQZqsOLboBuYZRI:9os6oF!J,~> %KD1[oCLE1oCMMa\Ie=_oC)8c5,[Q.L`uB]6EfY6D(>/K6EfY6D(>GS!!)W^!!&/Q!!)id$'Aom o@shSlIfPAo)Jd^o)JcTo)Jdbo)Jddo)XteqssdfoCDq^RI^R0s7>j5J,~> %0)jqp\3>?p\47bKggReme7H!]'e`[B_V7-_XZAAG5(`;_XZAAG5M"6!;#pb!0R!U!;Z?q5eQjc W[>RRb;oIo!!)Wb!!&8X!!)cf!!)ih!C4 &H?\En*e'ln*f$?mq6D$(!0 mg7E%#81tDmf;hFquH`b"Hac/37bJ*!U^$dmfDeWqsORQ!rMEl!2^b?5N2'M>5mskkn5mskkn5mskkn &H@L^oCLE1oCKm>o,Yd7$L7W^-0bj'no#0I;!mlG!.l$go@HJ>"[M8BoC#cf&pjWMoC?f5#Z0pc o*MKH">E&IDY1o-U^@o)[t^r;clh%.\C *Kd2i!!)cb!!)le!q6caqst'nI1ZchnFJ!2rpp0Q%/g2+o*k2.'*qG%oCK%3" &HA9up\3>?p\/N7pC?95(\@Y#-.P#%rq6KpAsLdqtC-Q$iBZ!jU:t[#QS-<&:X?I&D[9Z!PBcX!<;d% nPfo-EV0#"L`HRL]V>-#!;cEolOra^pDV]YpBUb)$P7d\pCQ-ZpAqoRr;cll%.R:*%rq79pP9gl /\IqS!!)cf!!)li!p^KhqtC?r>mh3mp@f-Rrq?H+-N*rEpC-Rk$kI@Mp\0Ia""h0cpB9.Kp\3Zt~> &H?\En*e'ln*c!)n'bb7X#BtG-,q8"]c+rVNl:DT!$]eYmh)/Pl^RqCn$="\kBI!qn%BX[lAig[ mft.kkMLdXmf<:S$-!nPn%BX[lAifjmfMjX(&RG#fb+,M!SJ(^mgfC:c/s*tn(\67n*cu1mf<=T% )!S"lAigOmj3VLhg_Bh!!)la!RUlGmfb,",mH0r9jUcqX4I3s8)0p!#j,EF=Qb7$0q!JU,_TArU10.)TV-'`:*.@KBM-AW p^)+s6oF!J,~> &H@L^oCLE1oCFZ7o;m*+!*%tLo-Cm6l?*'to4:MQi^X"?o63RVl!i*< o*5W,n(;(?o)S^[$'mpLo63RVl!i)Ko)eMI8oCGn6o)Sa\% !P(nl!i*4o*V_jfO:NG!!)le!Mf\oo*#JR'adb%qstf)6tl22(%Utf;hX`BrUUGA6egj7de!&;Yj^4QW q-AAs7>j5J,~> &HA9up\3>?p\,BTpJA0i,L$/],riC.2g"[pBUbDmF3)dpNBF5pB)V^pAk0d $o`:mi[j?gpBAb4bWDQn!!)li!D`[opB:_5%1m@IqtC?rGjX!"](^AFrq?L=b4bo7pC'!&l/F8Y p\+j7oZTCnpB1I(#;;VEpAb3ipAn%hqY(6qGjX!"](^AFrq?L=b4bo7pC'!&l/F8Yp\+j7oZTCs pB9.Kp\3Zt~> +THBUn*e'ln)t&6n*VL(k6^A@mlIcC407o>lNQbG!5/0s&a]bjmk_$5n)sc?mlRW>n*:/SmfG:b bPgl0!<)?nfbW0-mlRW>n*:.cn,E@g"fD4d!oYN*r9j^G-`Hq2%fiQsn)t#FmpfJgkRH87!<)?n 407o>lNQbG1NCU2mf3@amf?"OrpL!n/Cis@s826q!3#ATkQgSF@p&3`%GL7NrU1(TXRGWD"n1n9 EQb'E"7FWK.fA`8!;c-b8Y5eI%fiQsn)t#FmpfJgkRH87!<)?n407o>lNQbG1NCU:mf^H+n*eDL~> +TI2noCLE1oA^2HoC!%Hi",ALnIXgR%cd0Pl3d.S!9a4M&ag"to*j[NoA]iBo+'gPoBH\[o)]>a g&:LB!<)Kr\fgD3o+'gPoBH[koD\dk$JbRN!mVA3r::!8&DR*R%fkV\oAU5No,k++i=55H!<)Kr% cd0Pl3d.S%$TA;o)Jdfo)eIrhZ!*M!Fb*O@/p,q%fkV\oAU5No,k++i=55H!<)Kr%cd0Pl3d.S% $TA +TIu0p\3>?pTl7@pZDkPW&sbJmLSg]#OhE]d44nb!:p!\&`Y54pBL*\pTFSkpBU0]pX(JfpAtPu k5G#S!<)X!Ki.L:pBU0]pX(J!p\t3o,OPF'!i741r:^8h-11U(%fl(mpT6=IpC>sPXYBGB!<)X! #OhE]d44nb#-$aXpAb3jpB'momf)qa!KZa*/H>VA%fl(mpT6=IpC>sPXYBGB!<)X!#OhE]d44nb #-$aYpB0rt)6`u4!!)oj!qHcfqY(L#n+ZRY2>?hTg\7g(p%JIbpBh/op\3&bp\+lkk,A"Wf`1^? id_~> #lei=n*e'ln$r8q#q57q>4:)Cn*^GY!!<8jmf<=T$/.l[!!!&gmfhqSmfNRYmfiXi!!2uc#MiK& &:X*:!<2Egj![omf3@bmfD#>rU0n.c0t,e"8hNf!9jFN$3BVafa6o/6LX@CrU0^ir;[''n*f(7 *>![nmfD\Vr9jUcqsOR:s7u*a!9jFN$3BVafa6o/6LX@CrU0^ir;[''n*f(7*>!\"mf^H+n*eDL~> #lfYVoCLE1o4e+&$#/ub[I^g+oCE%^!!<8no)Sa\&A:"0!!!&ko)\FRoC2hPo)ejj!!2ug#Js"F +/e`%!<2Qkf+R'Ao)Jjj!!!&-o)e33,Q738]+2jYo)cN6`qo9;!:oaQnH/=R]bL$,P4S8FrUU!j r;[''oCKgi'-F-Ho)Jdfo)Z5urUU0tlgs`6#5e!&!:oaQnH/=R]bL$,P4S8FrUU!jr;[''oCKgi '-F-Go)\(\r:9mgqssiqs7u6s!:oaQnH/=R]bL$,P4S8FrUU!jr;[''oCKgi'-F-Po*!MAoCLO`~> #lgFmp\3>?pF?(@$,6-JhY1=Up\+^e!!<8rpAk0d#am.H!!!)ppAt9f"Rc?bpAt3m!!2uk#GXBf 1=u9p!<2]oW\3c>pAb6m!!!&-pB'JSD#O)0Os/ucpB$L$k5+fP!<2^#mfiI[CJOUEdJ*A8rV$9m r;[''p\1FF#r:,,pAb3jpAnY$rV$Huo_8+0(&R_*!<2^#mfiI[CJOUEdJ*A8rV$9mr;[''p\1FF #r:,+pArAUr:^0kqtC+us7uBh!<2^#mfiI[CJOUEdJ*A8rV$9mr;[''p\1FF#r:,4pB9.Kp\3Zt~> $3+r>n*e'lmNo(9mgJ=bhq\e2CQe/T2S/eS!!)ud&MnmkmHaiAmkV!5n)sc?ml%cLmg7,?n*^8F n*3)rrU0bF]!1W(mK*=U!lu%Dr9j^.':Sac"TYOjn)suTmflld$KCOC!WDHf2S/\P!QkS?mf3@b mf?XDrU0o/c0t,e"8hNj!3,GUkQ_%T#$=J)ipZ=:rU0bF](k^pap"L-!UBjcmf3@bmf?XDq#6+&q=@rq[n*^;Umf>>Xq!S7+"fh"o_#Nllb('~> $3,bWoCLE1mgA.To*aUdn&QXC+PHAX%HmW[!!)uh&IbT#o'HGKo*j[NoA]iBo*smTo*Mi4oCDtR oB@(1rUU%!kHOOYmfWR\!hg(Er:9u`%ESA:"T[QRoAU2Xo*-+r&+K2^!WDTj%HmNX!O`?0o)Jdf o)TcWrUU15lgs`5#5duq!93VAiXGhX"r`X8nFQ5PrUU%!kP4WL[L/`"!U0gdo)Jdfo)TcWq==ai iq)d$%0#i&)NkX#oCE"]o)T<`q""Np$EE\#df8q1epm~> $3-Onp\3>?k6g_XpC">Up2t9I&*rua#P%]c!!)ul&I-)>pY5cCpBL*\pTFSkpBU6]pBpVU.JNQ: p\2iHjo+oS#P#%m!TsdgpB#OekPY&UG:;YMpC@8mp\1gIp\4=hJirc$pAt6e!=//jpB(&M.AHP: !;uQmp'g0`pB;&up\3,PqtCU$n+ZRZ2#$b;%"^V8p\+^epAkNhq=asaO=?mt!R;P[pAb3kpB($s kkXr`!:T[VXu,nIoaHF7p@n:^rV$ #lei=n*e'le"Q^."bf_?;gf>Ymg-TF_!KTkn*^8TmhI.(lJ[3mn*dM$d-,`Tn*dq._!KTkqsOnJ \a.EBn*^8FmpBK#mfgBC_!KTk\F0b_]BS==&b#1n$`X'm!jN-4q!S@d)pd_m.K8c;ec8JEmf=W: rpL9/)Sk^iEUW?O\a.EBU@/'^r9j[@&,bl"cRRN0MZb6=a2"Z*XPgi3;kmf3@cmfD/Rq!S@d)pd_m.K8c;ec8JEmf=W:rpL9/)Sk^iEUW?O \a.EBWp^)+s6oF!J,~> #lfYVoCLE1X0)q""Xh8)rW"AcD9&ZN-]uo)T0O rppPE7b$tNj5J,~> #lgFmp\3>?:so48"Vf\a$\Xht>PeF8,E62X:57!aIYKq"FplI.,W+\c2=)>l`ITpAkE` rq?g^F6)l(1\^WehsujUUA"Wfr:^53DuB>5;315&/-#M@"TWr=ef;7"pB"V#f)GCE"RQ-^$p&Ij n[p[PpNGHbO=$gu"aAbp`uk?ZpAb3kpAo8Pq"FplI.,W+\c2=)>l`ITpAkE`rq?g^F6)l(1\^We hsujUWqQYKs7c9IJ,~> #lei=n*e'lAS_54"ksLTciS1bmg#C3"WDmZmf<=T%F?^0&Rkb/n*P3,$!76-mf]10"WDmfmg6Zb !ucj]mf;hFquH`b"J$qE)Lo9c#JWA)$pql#n,!(cg$ee4l62,!ndkCrpKoo&HMh!$_8[L)Lq5E]eom1 KW=JD_#Nllb('~> #lfYVoCLE1*Q@sJ"i;;OUB\a;o*Fo9*T(DQF,m,NsV"=Karpp.:^&.C(EXiCMlML/V!.>Fc=RZ7\!l#E=rpp_D#lsSgnpVS] .A$/&Sg=IdXekUmTdp0\B^YlkquH`f!@>GSo*#,B&IDS.rpp3+'Cl(n&Te #lgFmp\3>?%cmQ^"_qcG9EO>TpB^A$&dCG:p\+[dpD&/k![k5Qp\3`3"m_*hpAXde>Y=th&P`K0 p\48i&dCG:p\04S#!(D5p\Y$jpAkiar:^Bf< #6/W;n*e'lf^Ak(#D)@3mfA5JJa_mm!Jjp1n*9?BLg$&3"Mk'+n&g.~> #60GToCLE1f^f.%%tX??o)UeQJb/0u!B704oBPoJ2m/D:"Od>Ao@AE~> #614kp\3>?f_5EE5_8[tpAl)bJbSI(!>jLApZhJR(Yb2K"PEbKpYp]~> #6/W;n*e'lg[>82eE(cuJa`'r!l560Ja_pn!l560Ja_pn!l560Pj\ajs6oF!J,~> #60GToCLE1g[bPck2/O5Jb/@%!h:+uJb/4!!h:+uJb/4!!h:+uPk,%+s7>j5J,~> #614kp\3>?g\1i8nBr8cJbS[.!qg#$JbSL)!qg#$JbSL)!qg#$PP544s7c9IJ,~> #6/W;n*e'lg[>9K*s4OSJa`*s!WWUkJa_pn!WWUkJa_pn!WWUkPOAXis6oF!J,~> #60GToCLE1g[bQ'&I;5#Jb/C&!WX%ZJb/4!!WX%ZJb/4!!WX%ZPOeq*s7>j5J,~> #614kp\3>?g\1h^$4h+JJbS[.!WXb6JbSL)!WXb6JbSL)!WXb6PP544s7c9IJ,~> #6/W;n*e'lJa\0YJa\0YU@/6#s6oF!J,~> #60GToCLE1Jb+HaJb+HaU@SN9s7>j5J,~> #614kp\3>?JbO`iJbO`iUA"fCs7c9IJ,~> "TNE9n*bhCJ\ZiPJ\[nn"97iYb('~> "TO5RoCIO]J^T+tJ^U1="97uaepm~> "TP"ip\06kJ_5P+J_6UI"98,iid_~> !rm37rpPF !rn#Prpt^@JcC<$JcDDCrpp-@J,~> !rnegrqD!DJcC<$JcDDCrq?EPJ,~> !rm37rpPE2JY7ReJY8[/rpKj0J,~> !rn#Prpt]HJ[0j4J[1rSrpp-@J,~> !rnegrqCuZJ\ZiPJ\[qorq?EPJ,~> "oiN:n*cqEmfCZ4\F0IBs3g?:bl=g6!R1S2mfCZ4[dO7@s/,5cbl "oj>SoCK9_o)[GB\FTaPs3gK>f)MlD!S7: "ok+jp\2JupArqH\G$$Vs3gWBf`/)J!SIF>pArqH[eBgTs/,Mkf`.-/"2O[*id_~> "oiN:n*cqEmK(Q3\F'CAs3g<9bl=g5!R1S2mK(Q3[dF1?s/,2bbl "oj>SoCK9_nc@>A\FK[Os3gH=f)MlC!S7:A[djIMs/,>ff)Lp("1%Oiepm~> "ok+jp\2Jup&WhG\FosUs3gTAf`/)I!SIF>p&WhG[e9aSs/,Jjf`.-."2O[*id_~> "oiN:n*cqEliG?1\Ej7?s3g67bl=g3!R1S2liG?1[d4%=s/,,`bl "oj>SoCK9_nH%5@\FBUNs3gE "ok+jp\2Juo`<_F\FfmTs3gQ@f`/)H!SIF>o`<_F[e0[Rs/,Gif`.--"2O[*id_~> "oiN:n*cqElN,60\Ea1>s3g36bl=g2!R1S2lN,60[d*t "oj>SoCK9_mfD#>\F0ILs3g?:f)Ml@!S7:[dO7Js/,5cf)Lp%"1%Oiepm~> "ok+jp\2Juo)[MD\FTaRs3gK>f`/)F!SIF>o)[MD[dsOPs/,Agf`.-+"2O[*id_~> "oiN:n*cqEklK$.\EO% "oj>SoCK9_mK(o=\F'CKs3g<9f)Ml?!S7: "ok+jp\2Junc@DC\FK[Qs3gH=f`/)E!SIF>nc@DC[djIOs/,>ff`.-*"2O[*id_~> "oiN:n*cqEk5ig,c0#',mH4Mos3g'2bl?)R#14UpkKtOTjQ?Qfs1IM!d38SRd3J_Qk5ig,[c[\8 s1@Fo!:AqMbl?ni!!'+`"/,,Ob('~> "oj>SoCK9_m/bf "ok+jp\2Jun,_2Ac0t]5mI1//s3gB;f`0@g#([*]n:1oIjR<3&s1Ih*JI2DHJ.)G=n,_2A[dX=M s1@b#!:B7Vf`11)!!'+i"2O[*id_~> "oiN:n*cqEjoN^+c/o!+mH+Gns3g$1bl?)Q#\/2Ck$r`"joFQ+!R1SVjp5ICk2p0"k2l[+joN^+ g?&A8hW=j_s1@Cn!:AnLbl?nh!!'+_"/,,Ob('~> "oj>SoCK9_lN,T:c0G?0mHXf(s3g36f)O.`#T:>AlP[D%lN$)5!S7:`lNeBAlg#G%lg"Q5lN,T: g?S_=hWk3ns1@Rs!:B(Qf)Ot"!!'+d"1%Oiepm~> "ok+jp\2JumfD)@c0kW4mI().s3g?:f`0@f#RoDTmgRn "oiN:n*cqEj8mL)roF%Y!X:Qqo&KcNk2ZLBmGn;ls8M*Y!!3?_]^k+`!:/\Hbl@\'!!)NL!!)lV q>g3L"V]PLj:g2+j8mL)r8[pn"#eclq>g3L"V]PLj:g2+j8mL)r8[pn"#fK+#2seQ"U[2MgZ/CZ s8M'Z!:8bH!;Y[U!;kgW!9N8A!:AhJbl@\'rW!!(2SAS@!!)WO!!'Xl"/,,Ob('~> "oj>SoCK9_l2fK9rp'I_!XhWXo'-2Tk3;pHmHO`'s8M<_!!3O#ht$%4!:/nNf)Pa7!!)NR!!)l\ q>g3R"U4)Sl36A2l2fK9r9=?<#DUjqq>g3R"U4)Sl36A2l2fK9r9=?<#DVR0#3025!tRr)gZegj s8M9`!:8tN!;Ym[!;l$]!9NJG!:B%Pf)Pa7rW!!-9&K1(!!)WU!!'Xr"1%Oiepm~> "ok+jp\2Jum/bl>rpB[b!Yf2/o'HDWk3W-KmHjr,s8MEb!!3jFkjn*@!:0"Qf`1sg3U"U",Ym/u_8m/bl>r9XPF"3/s[q>g3U"U",Ym/u_8m/bl>r9XPF"30Zo#0p'[!Z5+_g[,$o s8MBc!:9(Q!;Z!^!;l-`!9NSJ!:B.Sf`1s "oiN:n*cqEiW7:'ro+(]io8U=A+JUZ!9W8@!;tjO!;kaVbl@\%"T[QAfR79#iW&uEiW7:'ro*nX nDXEJpYl/Qo&9WMro*nYio1!_s8:jY5B-qbe`$Q/o&9WMro*nYio1!_s8:jY5B-qbm,A4h34n%u VG>n*!R1TCiW&uFiW&uSiW&uUiW&u?iW&uGiW7:'ro+(]io8U=A+AOY!;#1M!5%4mT^V?lJ,~> "oj>SoCK9_klKB8rojRdl06f%Gk1)!!9WMG!;u*V!;l!]f)Pa6"T[fOf3!:gkl:_LklKB8rojC_ nEBoQpZVYXo'$,TrojC`iopKps8D0bkRb!1kgent!:o@S!WM<`!TN>Ef)P^5"R$E%&ErKF"tsW6 k1H.`gZ\ais8M6_!:8qM!;YjZ!;l!\!9NGF!:B"Of)Pa6"T[fOf3!:fkl:_Tkl:^qkl\6_o@AE~> "ok+jp\2JuliGc=rp0dgm-MtFYk%,\!9WVJ!;u3Y!;l*`f`1s;"T[oUbp]geli7%OliGc=rp0Ub nE^,TpZqk[o'?>Wrp0Ucip6]us8D9dkQcT(eEd/8o'?>Wrp0Ucip6]us8D9dkQcT(lg+fhLtM"> M^$pB!SIGOli7%Pli7%]li7%_li7%Ili7%QliGc=rp0dgm-MtFYjq&[!;#OW!5%S"_"[T_J,~> "oiN:n*cqEi;q1&ro!hWro"CD"6&2=THXHri,fY;5gnWi!<;!oi,fY;5gnWMi.;jO=5i,rF;+pE dc'-bqr.AOqV_J!s8LsW!<1pfh#lWpi,fY;5gnWM!2(M;r;c6D!R1TCi=H"Ji;ff'!umK`iPm_[ &SU/%!;YR`!9)l:THXHreQWOc.CS40!<;!\i.;jO=7+rIbl@Y#"O@J7@:]Ar%cDpW#$9dBi.;jO =5i* "oj>SoCK9_k5j06roX7]roXgL"m>%KHPZ_Gj&uj">3"fE!<;3uj&uj">3"f/j^eu4I-9\Q=ptgC j6,S*qrdeUqW@n1s8M0]!<2-lhZ`3+j&uj">3"f/!.,L_r;c6J!S7;Mk7@XVk5^2R""M7PkG'@, )iEhW!;Ydf!9`MFHPZ_GbsMd@4ko/o!<;3bj^eu4I-p(tf)P^3"M5Q7)nZ+4%cq75%=I@%j^eu4 I-9YmrT=UikN;i!*X!gsNZeNSa8+m.!9`MFHPZ_GbsMd@4ko/o!<;3bj^eu4I-p(tf)P^3#J1l: )nXu7hu;dEh[8<%;[F.Ek5j06roX7]qr\F56OF.?kKQ@#"[1W'k5]iF!U&ND#SD7\mH4N$s8M0]!<2.'hZ`2f 6OF.?r;cl\"J[:H)iDSs"1%Oiepm~> "ok+jp\2JulN,Z!;Ypj!:/qN?4I#%\M49q=Q\rD!<;?fiCs[tWpT*Qf`1p9"DD--%GCaH%cL+i)63#giCs[t WpAsNrTammlg"Ob'F-YNE#&XBhYHII!:/qN?4I#%\M49q=Q\rD!<;?fiCs[tWpT*Qf`1p9#A@H0% GAi=kPjcQaVsBs49Zb"!;l'_!pTRI!W_QPquHc_"m&Pg%W(@rlN,Za* !7[slhph\lMpq^lQ#uklfCqN%W(@pla\_S$ "oiN:n*cqEhZ:t$rnd\Urne=C"5hu9+2ZpmV&7#!CF7rr!<(dkV&7#!CF7rrWu&>#L>Umb(r4^< -K!\\qVV2Nq;24ss8LmU!<1jfg]QHkV&7#!CF7rr!$B)8hZ3!"!R1TCh\#qHhZ+h4gn>,5h]dBu d!+C)!;G@^!8lZ6+2Zpm&# L>Umh(V/7ShqnG4h[KSChZ+b/gnY#q\_Nthq;2_`hqnDU_Va5^Ph"QNs52]6rnd\Urndq\hqtIN \_;f*hZ:t$rSIj.8)M8uhk)_(h[$b;hkqC0f5L`ehZI[JU=/ts!!)rS$+Uo1hm"$/gP#UohZ:t$ rnd\UqqhnqPh"QNs52]XHIpMfhqnG0hZ*ZRh]2^Shm"$/gP#Uah[l%&glVQnhZ+b8hqt@L^t*9$ mG@rgs8LmU!<1k!g]QFFPh"QNs52_7(V/7ShqnFk_A@:Nhm"$/gP#UahZ3W4" "oj>SoCK9_joO'5roO1\roOgM"m4qI:Y+[j?9cuj5$mC6!<)$r?9cuj5$mC6BKOMnB]eG`5Ln:J ?KUAMqW@\Uq;q_/s8M-\!<2*mhZ`0)?9cuj5$mC6!)M2.joF`0!S7;Mjq7[VjoA6(iIW!1jp@sF c!9Dn!;GUe!9WDD:Y+[j,-Tt^DZAk]!<2*\!<2*c!9WEW43lPnmH+H#s8D'_/YD1"/cOlBBKOMn B]eGj43lPnk2l[Bjp_=QjoA'"iJ%P3cJaKtq;r4gk2lY>f&l*=YMn>Us5rGDroO1\roOFck2p>= cIut!joO'5rT4>:TB;k"k#$[.jp6HAk$UX/ejKN8jo[,9[,:fD!!)rZ$'%43k&EW3h-L'JjoO'5 roO1\qrSD5YMn>Us5rGMVrGs+k2l[>jo>DYjrFHak&EW3h-L'Cjs%"fhJWAUjoA3.k2p);e^Zh` mH+H#s8M-\!<2+(hZ`-dYMn>Us5rHW43lPnk2l[+UC*[Vk&EW3h-L'CjoGAB":;!cc!83L"1%Oi epm~> "ok+jp\2JuklKH:rojC_rok$9''\W\IGjAS-ZJ"b)6N/f!<)-u-ZJ"b)6N/f/o'1f5O%D[E8\eT Xm,'MqW[nXq<7q4s8M6_!<23pa:db%-ZJ"b)6N/f!.EeiklC&6!SIGOkn4!\kl?%bh+D/@klnlb _)U]D!;G^h!9r_JIGjAS5/QI73@-"mHFZ(s8D0b'@#c8KDt*F/o'1f 5O%DbC>@-"l0/3Hkm[XWkl>hZhb>#5g>>V9q<8Fjl0/1ri9BJi_WKK1s68bJrojC_rojXfl00g8 gs84PklKH:rTOP#c07oSkomnBkm0/KkpU`6ar19WklVQ@_WLd\!!)r]$!DE8kqm;5eLCOcklKH: rojC_qrnVT_WKK1s68bO^uiHml0/3Dkl:_\koBcgkqm;5eLCO_kruuHfJroqkl?.il00X:i5cc9 mHFZ(s8M6_!<24+a:d`$_WKK1s68c#C>@-"l0/34Hksffkqm;5eLCO_klC\H"9lU'_)TBt"2O[* id_~> "oiN:n*cqEh>tk#rn[q]hVQe3'].[HYQ!Aa/XtVRf*1$f!<(a\/XtVRf*1$f0q%sr#VDP&hU_qf h>mB.rW)`M!R1TCh@TbEhUR&hhVKiRhVQifhVJ79rn[VTleVZds8Lja!8cQ4]\_N$!T)ZdBtaK% !!)cM"9@<8!3c7U"Pa.:h>mQ3!!*#T"9@<80q%=`!R1TCh?qm@cJIA%U#+W\RJbnB0q%sr!!)uS% 058A!4gtCh#P(DhVA8/h?3i8h>jbUh?;U:hVJ83h>dQTh?3i8hD(G`h>tk#rn\@A#gV;_,GEZpf A>@BV;tk#rn[VTpYH,0"Q%ugBtaK%! !)iOq#LHO"ZN(1hV/21h?D[;hVJ79rn[f3SDN,S!:AVDbl@\!"T[E9eUA51h?D[;hVKuTr8%MUW =+ddh?Z'4hVQuihVJ82h?#?E]u&V.T^V?lJ,~> "oj>SoCK9_jT3s4roFFdjlOuq1$.Ksg&C(=%+XJ$e-tI#!<)!c%+XJ$e-tI#%Fk=;#Ro8FjjX_# jT,, "ok+jp\2JukQ0?9roaXgkig2"P"a\kQ(VG!!*#^"9@ZL#3"k2!SIGOkR+76kNLS)iooS1iV_m?#3#LD!!)u]% 05VU!9EA-g]6F!khHL?kQCnLkQ'Z>kQKE\ki`$GkPtV^kQCnLkQ^#2kQ0?9rob&p,j4CE#i_C6k igq7iogR)kieiCqre@.=WR\mH0"2Q!<)*gI8&bdkQ^#0kf"q:kQ0?9roa=^pZMh3,O"=pT%O#*! !)iYq#LHY"U "oiN:n*cqEg]>Y!rnRJQ"U-ZegtVo.g]7Q/rnISVgtVo.g]7Q/rnIVWgtW%_r7h;Uf)FG,!SlH1 ptPiLpY5ens8LgQ!!WT^ZJ=4Y!rnIJRqqM_(64Ntq!SlJS;&^$fgtVo* g].?Og]IQ3g][QU$N]& "oj>SoCK9_irRa2robGj5])!j5U1!r8S%`ioB(X!TW2? pu;>SpYu;*s8M'X!"B9)fAkllioB(X!TW2?rSmkXlf/#ss8M$\!9<)>rSn4bj5[R9&fmM&irJi6 !s%BA!<(p`YVZXd!!2-?!<2!Y!<2!]!9<)?iTfG(f)Pa0!+Pj+"CgEO!TEt:! "ok+jp\2JujoO-7roX1["VG,#k2l[Bjo>G]jojQFk2l[Bjo>G]jojQFk2l^Ajo>G]jojQFk2l[= jo>DUjoO-7roX1["VG,#k2l^DjojQFk2l[Bjo>DIjoO-7roO:_k2l[BjpD+Nk*S+60?E;GZjo>D[joYVGjoGAB !!)u[!!)iW!s%KG!<)$cO!b)2!!;G\!!!&ejoO-7roO1\qrSEM-NsJM!p8X43!_1Yk2l[>jo>DY joYVGjoPD\$N]DPO!b)2!!;h&RXMZO!b)2!!;G\!!<8ajoGAB"IM.S0?D)o"2O[*id_~> "oiN:n*cqEg&]Ftrn7>PqUtoLrRqN.R+g9C"kqZ2rRqQ/R+g9C"kqZbQMfGB/=>/FdfnIZ!:AJ@ bl@[r!!)lL#V;@sg=$5Zg&V**!!2E>!R1TCg&h?/g&V**!!)rN"LnTgg&^s%!s%'/!<(UW/p#.e f)XOY!<1[P!<1[T!8?-]QKm0.bl?DNfcm*gg',t3bM"\:r7V0+QMfGB#gV/Xf)XOY!<(UO!<(UO !;Y=N!8?-,rRqN0F33(d!8?-,rn7>Prn7JTg=e9IlIlHds4Z2[,,"qh&(Cm.apm'5L"b64SD)]G !;>+QfE'^[!8?/X3.Ut]!A^Y=g&]Ftrn7>Pqq;3+F33(d!;tOR\-1O>!VtFL!;kIQ!8?-^WVbBT /p#.ef)XOY!<(UT/t1MJdfAdh!R1TCg&M-Mg'KBQak52Fg=e9Ir7V5Qe2p;%g&Wt.qq;#NqUtt[ "N9!rT^V?lJ,~> "oj>SoCK9_iW7X1ro*nXqVhJTrSe(kdc097%-$7IrSe+ldc097%-$7TdJVu0%+=.pdL>-p!:AbH f)Pa/!!)lT#Ro/@imJ7piW/r:!!2EF!S7;MiWB2?iW/r:!!)rV"K;^eiW8f5!s%??!<(m_%%Gi, h#QHo!<1sX!<1s\!92uHdH]]qf)Oahh?qd3iW[g=hVnskr8I_cdJVu0!oN"sg&U-l!<(mW!<(mW !;YUV!92uCYh?2cs!93"j't=/$!=[QDiW7X1ro*nXqr.bfS(?QS!;tgZWEbio1Bor8IeYdhmE1iW0J=qr.SVqVhOT$, kg*ZLd\=J,~> "ok+jp\2JujT4$6roF+[qW.\WrT+:ghWMEjT,8@!!)uZ"ltCbjlHO;jT>MEjT,8@#R.Qj jid_djT,;A!!*#["9@QF#2\Y,#2&t;jjjaqroF<],in%khYcI9#2]:>#Qa#JjhUrYjT,8@!!)uZ !!)iV!s%HE!<)!b"gd%HbQ-bd!<2'[!<2'_!9N;HhWj2,f`1'ped:75jU\77jDAMj%bg%+"lAA& UB(#L$.K7BjT+E(]bT&qjT,SDl/_rus8M*[!;kj]"gd%HbQ.V'"ltCbjlHO=jT#;XjTGSFjTaZ? jTl$rh;ui\jlHL@jTPhEjlN09mH"B$s8M*[!;kja"gd%HbQ-bd#2]:>!s#\8X8_2]#2oC?!!2uY !p#(_`8q*:p\3Zt~> "oiN:n*cqEf`B=srn.8OqUkiKrRhLM(q\10:YFDCT`3U\TGY;gBi!F8V\ZYiKA"qN(q\10:YFD$ mF_Nas8L[O!;b@STGY;gBi!F8!<(RO+/%uR!R1TCf`M6-f`;!($NSl5/Z@72"PMHMT_R1B!86$* rRhH"He$>^!86$*rn.8Orn.MVg"E8=[+0frf`fV"g"F+Rr7Ms58(jdU[+0f^fr#UmeUuQ.>=Ho` DueSE!<(RN!<(RN!;Y:M!86$*rRhH"He$>^!86$*rn.8Orn.MVg"E8=[+0frf`fV"g"F+Rr7M7! 8(gRU&cUGeTc1VmD?0Re%3U29f#rUSg"?AYfiD2Pf`eGoY1CF%mF_Nas8L[O!;kF\+a_b`F9("I /Z@72"PMHMT_d=A!;kF_!86&,(p;H+BA(r]He$>^!86$*rRh@K)8+C4!:AG?bl@[q!!)oL+!H!] b]Ej "oj>SoCK9_i;qO0ro!hWqV_DSrS\&c51.b@HK!fgb5U?9=[(6\4aQ)GANJ#cB&V]O51.b@HK!f_ mGS)ss8LsW!;bX[=[(6\4aQ)G!<(jW#g2Mm!S7;Mi<')=i;ii8$NT/E:VP_d$/shKb4sot!9)l: rS\"gV;KEo!9)l:ro!hWro"(^iSe?/bLU:mi<@g4iSg@\r8AMDT&F6AbLU:aiFP'nen3n")1^Pd 9`X/2!<(jV!<(jV!;YRU!9)l:rS\"gV;KEo!9)l:ro!hWro"(^iSe?/bLU:mi<@g4iSg@\r8@f0 T&CB`.K890>=?of6NI#B%60[!i6#[ViSadqi@0ldi<=3d`8A1&mGS)ss8LsW!;k^d$)QP%;ZPe8 :VP_d$/shKb51&s!;k^g!9)mV5fDQl:Z:7=V;KEo!9)l:rS[oc6.4.G!:A_Gf)Pa.!!)oT*sne$ b#8 "ok+jp\2JuirRg4ro3tYqVqPUrSn20DVN)H\`;]Qg&C"J,];AT(qJ\e/83YY53(ZKDVN)H\`;]M mGe6"s8M$Y!;b^],];AT(qJ\e!<(pY"PN/%!SIGOir];AirK&<$NT5ID9^sl,NIeeg%aS0!9<)> rSn.d^#?^P!9<)>ro3tYro44`j5V\(f?6AFis"*8j5Wa_r8SY.aQ"gbf?6ArSn.d^#?^P!9<)>ro3tYro44`j5V\(f?6AFis"*8j5Wa_r8Rqo aPmPMG5gM*-$7q^)Z]cq%8WkQi4qEcj5U."it9*)irq;TdGCuYmGe6"s8M$Y!;kdf"MNd/,lluc D9^sl,NIeeg%s_/!;kdi!9<)sC=1n?0B;'q^#?^P!9<)>rSn&.EnnVO!:AeIf`1s2!!)oV*sB:9 ^Eim?j"+lqb "oiN:n*cqEf)a+qrmq,MqUY]IrRW=FC_?q5a4Jq9%fk55eSGj&3lfk(ep/&9@@B\)9!$9ep/&9@@B\ "iUo%])lRCf*0]=%1#`1qpu4a;\fBE5d/ek!8#j#!<1RQN[+`EEp_HZbl@[oqZ%8\].!gm=TI(* W\=MlGLtH>%flLY!!)oJ!!*#M%uqn<(in6[].!gm=TI(*!<(LQenPX";#p"8!R1TCf)PgJf-e0Z !tSN7f@ST!(C!mkf)XFSdQg1Of8_*Z(in6[TFV%Sf;^M,(jEpM"/,,Ob('~> "oj>SoCK9_hZ;=.rnd\UqVM8QrSJmUgf+Uf<8?Bgh-UX#HJdW8hZ3Z5!!*#U#6hZ3Z5!!*#U#6Aa(jZ2> hiT)b,bNuOCBsq;hZ*ZRh\-"IhqiDm""'/fhj>Aa(jZ2>hZ3W4"l)oZ&9@j=hZ;=.rnd\Uqqicg *!$n&!8l\i?OdKjhqnFkhpWQchqiDm""'/fheNJthqsP?"!jMWhZL1Uo@AE~> "ok+jp\2JuiW7^3ro*nXqVhJTrSf*M4U)R?i8W`e"9@H@d6.[IEo>s:fLQ;dUuLC]4U)R?i8W_r mG\0!s8M!X!;b[\d6.[IEo>s:!<(mY8-Aq[iW7^3ro+"[io0t:iX>hHicZ">1rnV88-AqgiWB2? iW/r:#]p[\,GG1tiW/u;!!*#X#61rnV88-AqiiW&uUiY)=OindlO"ZEaIicGe7,GG1tiW/r:"k#C6)k?uriW7^3ro*nXqr/uF &cs;P!93"j8-p00io0stijT>iindlO"ZEaIi^a1Pio5+q"Z49 "oiN:n*cqEecF"p\CL])s3fI!bl=fr!R1S2ecF"pldc*^#L:m$bl=Qk!R1S,ecVT6n&g.~> "oj>SoCK9_h>u4-\D@8;s3fa)f)Ml/!S7:u4-leVZe%aNo3f)MW(!S7:6h?1(To@AE~> "ok+jp\2JuhuVL1\DRD?s3fg+f`/)3!SIF>huVL1lehf13mQXaf`.i,!SIF8hugdhpYp]~> "oiN:n*cqEe,den\C:Q's3fBtbl=fp!R1S2e,denmaMA"]ZXrEcI;m=s/+9Hbl "oj>SoCK9_h#Z+,\D72:s3f^(f)Ml.!S7: "ok+jp\2JuhZ;C0\DI>>s3fd*f`/)2!SIF>hZ;C0mb\/%ftJ "oiN:n*cqEdK.Sl\C(E%s3f "oj>SoCK9_gB#n*\D%&8s3fX&f)Ml,!S7: "ok+jp\2Juh>u:/\D@8=s3fa)f`/)1!SIF>h>u:/mbS(N#nCP$cJATSs/+WRf`.,k"2O[*id_~> "oiN:n*cqEd/hJk\Bt?$s3f9qbl=fm!R1S2d/hJk[a>-"s/+0Ebl "oj>SoCK9_g&]e)\Cpu7s3fU%f)Ml+!S7: "ok+jp\2Jug]?(-\D.,;s3f['f`/)/!SIF>g]?(-[bLo9s/+QPf`.,i"2O[*id_~> "oiN:n*cqEcN28i\Bb3"s3f3obl=fk!R1S2cN28i[a+uus/+*Cbl "oj>SoCK9_f`B\(\Cgo6s3fR$f)Ml*!S7: "ok+jp\2JugB#t,\D%&:s3fX&f`/).!SIF>gB#t,[bCi8s/+NOf`.,h"2O[*id_~> "oiN:n*cqEblQ&g\BP&us3f-mbl=fi!R1S2blQ&g[`niss/+$Abl "oj>SoCK9_f)aJ&\CUc4s3fL"f)Ml(!S7: "ok+jp\2Juf`Bb*\Cgo8s3fR$f`/),!SIF>f`Bb*[b1]6s/+HMf`.,f"2O[*id_~> "TNE9n*bh#JY7ReJY8U-s6fs1J,~> "TO5RoCIO=J[0j4J[1lQs766AJ,~> "TP"ip\06SJ\ZiPJ\[kms7ZNQJ,~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> "oj>SoCK9^s0h?Hs+13$s+14Crr]Ruo@AE~> "ok+jp\2Jts0h?Hs+13$s+14Crr^(2pYp]~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?jrr<&#rr<%orr<%Ms,$aXT^V?lJ,~> #60GToCK9fq#CEp[dKpj!!',#!!&eo!!%TMM>m[`oCLO`~> #614kp\2K'q#CEp[dKpj!!',#!!&eo!!%TMM>m[np\3Zt~> "oiN:n*cqDs0h?jrr<&#rr<%orr<%Ms,$aXT^V?lJ,~> #60GToCK9fq#CEp[dKpj!!',#!!&eo!!%TMM>m[`oCLO`~> #614kp\2K'q#CEp[dKpj!!',#!!&eo!!%TMM>m[np\3Zt~> "oiN:n*cqDs8MEfl42bOmJpJjmK;hs!9!kE!*fHj"77*/i;W-E>Q4$lm30I(mc4SOqu6iML!;$3j!7(TZdo$P]6-90,eQ*+e7+)&7eQ*+e7+(o3!!)Wj!!(pV $(2V8;Z-Rp!<3&&s82is"J#JoT^V?lJ,~> #60GToCK9fq#CEprpBjL$L@]Z!%.^5"6omfli-;P-N #614kp\2K'q#CEprpBj,,45Bt!*&sc"5X#!mJcMR<;u:fh>eVarpBbcrpBjE%dMj;j8TP!0a/+m oDejf;$Rr,pAY;`/Hcu1q"t'oqb[S8Rf36hXYBr.`;BQ7!<3!$Y6qrB!7_#PRP4j`FSbn7%%8jQ )g(rVs8,Xu(n1=$!!*#u"Kr0FrrDZj!!(=E'ppQU)K5ENs-bVE)g(rVs-bVE)g(rRrr<&jrr<&W rri3r#8ip/rrN3#!3cG#!!"%0rr^(2pYp]~> "oiN:n*cqDs8D@.O'1o=l3#)pmae(m=mk_C"39itetJ.-mdB?Ba6rBHU"f"qrs`=3lM7Lis8Uge eb!KMp\tCDSEKdV&,ZA9gCr-0B2AR-ocB=dmtU`>#QXo)lm6lUrrCRK"Xp/5p6lZlrs^BOmIlt^ s8Ugeeb!KMqu6p%s8VF3GQ7[CoD\djcMnV+SEKdV&-)YXU[@cD'EA(\U[@cD'Dqe0!;$3j!9!ka gCr-0B2AR-!<3&"rrL_%SGr\an*eDL~> #60GToCK9fq#CEprU(d`[dNSG!Tib;ZE5mjmdB3orrB,"!LR_orr]Ruo@AE~> #614kp\2K'q#CEprU(dCf^A1N!p]4A "oiN:n*cqDs8D@.fgP8rh#L[ImXnp#7.0L!!*emZK4*A#mdAm2>OLp3@,(,0rs]D+s8W'"s8R4g s8VNtoD\jj!rN!(FaO/gmgfBtUJU^b"9AJ_)j((!'EGB["[heZrrB;G"[heZs56!F'6`I:!W<)o rsAW*s8R4gs8VNtqu6d!s5Y,\rr36(Yoa-:nGd`@rr3#p'E%q1rsP;>"?bcFs56!F'6`.1!WE/t rrN'"qu6]q!rN!'!3mUL6h(,#@/g0,q%N],rr3@q+Tspgs8V">#SVCOrsEmqs8VNts8N*!!;ld2 nRiF80@'UtrdPIe?NC-+re)'m8FFS!!rb:%SGr\an*eDL~> #60GToCK9fq#CEprU(fA=mk^u!6"Ess8NN,FVG*\q>^K%.Kgf[nc&q9g&M***WQ-> rrDrr(#hgm"[hk\s8-%-'7g/`s8-:8%:f:VrrW*1nso^^ZLd\=J,~> #614kp\2K'q#CEprU(e9U$h>V!8Hr0'A6cemd=H_g[=JCfjLNAmU-%Lmd:bAg[=,%%0HP/s6gBr rseGss*Jq\rrMWtqu6s3n,NE7G5qR]htR-R!<8*#j8T&m!+60HK)YfM!+60HK)YfMN#i'R_W:^t ljNRf$1&'"rseGss*Jqdrr`?%Nud9[rs/U4$PA!irt4;jrrKtar;clt%/Es5%s@gMs,8!$0#HBC !V$QprrMHoqu6]`$iBr0!+60HK)Yc^j8T&Z_C,9^s8NN' "oiN:n*cqDs8D@.m4-$A]J:o'kR-D<.`:\e1+;SS$KUS(_sY/m..6:+jP0+_rreB]m/!pbrrjD# s8W!"o`#!j\JG)B%34=+s83$"s!sE`#!:Q9rrW8U'WD!1'EB--omA@krr=%nomA@ks!Nd!mYKs( !Tt*irs@j$s8O(ss8W!"qu6`ugD$Ubrso)Lg\#qGs6C$gs8T2`rrE#t%*BR>qNj#B`rsc^ahY)I"s8TbOg\#kCaSu:tiLBiLT^V?lJ,~> #60GToCK9fq#CEprU(fp%-6hjG@g4%$gd3gjR-`+Aa\Ocm-G/AmV-lVmc"W@g[=,%"@8"?onrbK "UFi&s7cikrrW"^2>dC_#Pe?!p]pj!$],W+;tg+g!s#M:eG]C]!(ZDB7rA;+!(ZDB7rA;+$G$&o B&rsm_^bE\$,\7mrs/?!s7cirrrW8)&_-dZ%ff,dlpkpmcPHN[s&Y-Y!<)p+I7EAlB4V&B$G$&o B&*Cfq3Eo8rrL"equ6]7.f95V!(ZDB7rA:P(B4@6=,[(YrVm:S7csAVAH2Z:\bkE!nc&q$q#CBh #QOf(rrDrr"=D"]p3Q`<%;JW)m7RHZs(FmglpYU/rrK1aS,WSroCLO`~> #614kp\2K'q#CEprU(fh%I*:00tZkb.dc:+l0]uT]C*6[mGn`@mO9m&m^an8g[=,%"<+QAlV[Z] "U+c's54pirrV^pK_tcY"T8<"i#Vjt"_nJYE;TP4!s!d'mf!/"!.=Io*5MUS!.=Io*5MUS"k*=t 4llVDG'Wi^$$LUorri9"s54pprrW7M0CJf=#QT8FgDn$/H;snD"!c4n!<)p+3I()Y/[tc["k*=t 4l$&=nQU\DrrI:gqu6\?H2IUI!.=Io*5MT#<;un",LQMkrVm9dGk(#M\,ZI3deqQWnc&q!r;ZfT *WQ->rrDrr"@Uc;lok@J%4m)(h&QLqs!rHhgDdiIrrH!hS,WT+p\3Zt~> "oiN:n*cqDs8;:+ZTIT!Z466@-1:3-477Ag1P5>1[!"!H=rt5= rs%sBZiC%-qu6Tq!W2lu!"!H=rso+9s8Vfus8Qh?s7[#frrE#t$9u$"s8*!"s#,/Ug].9R!Zi'h)n1(dArso+9s8Vfus8Qh?s7[#frrE#t$9u$"s8*!"s#,/Un,ECjqu6Tq!V67&r<<6$ 2R`YcpAk6n1p[/]pBJ_=!D]V`rr\q_n&g.~> #60GToCK9fq#CEpr9bV3P3s@?*:AJcmd=ADmN'dsmY"m6mTl"D*Rl(sKO*="j8TSW'*&"Gn,NCg rr<#t!VQKm!!*Giqu7'*rr<#t!WW0#B(5;$qYpTs!l"U4&ch>!s6U #614kp\2K'q#CEpr9bUPb3fbCF7(ijmd;CDmLHFAmPD3;mNp$D%^0sA1UGg'j8TD'#QOi]q#C?p rr3#r"82]o!!+A "oiN:n*cqDs8;:+j9t>mmR,r-PO@l"$gei"6fCb'mdB-Dm2>=ZiD#Nimc4as8N)trr<6$!!`Q)s6O&6&Vf*@ !rB/5rVlr^,bP#7!p:i$qYpQrq#::#!WW2`$Mg>as8N)trr<6$!!`Q)s6O&6&VfiU"WQD"s83#n rs@p`&-)\2s8N8trr3*$s8N8trr2s!ao;A%RK!A^n*eDL~> #60GToCK9fq#CEpr9bWY([Dh('^HFbmdA^DlP8h%lP%q=mar?A(%)e%'A2%,j8TQ?L\14o/cYhU q#CBh#PA#tp5LBqrs]5.s8Vj!s8N>us8Vftqu6`uSdNI8rtGJ4s8W$!s8N)us8W$!s8U;:'Hs[B rrU+Ld.mVB`"15orriZ&s8Vj!qu6`uSdNI8rso,/s8W$!s8U(Rr^iOXrrE#t!!<*!#6Fl)bY/]o YMB-Zp5LBsrrU+Ld/ #614kp\2K'q#CEpr9bVi?/nKD($l7fmd?9Ej%/SQlj;b@mZUr:8F@5Z$09h.j8TQ%XSM-WHiO*J r;ZfT*VB@5m8S$$rs]).s8V!ts8N6"s8Ughqu6`uDBS0Arr<&urri'"s8N)urs8?&s8T#]#rLN$ rrSN2mJ-\_QQkhrrriN&s8V!tqu6`uDBS0Arr<&ursSQ)s8Qt6ruThmrrE#t!!3#u#6Fl)W'1ME hVA,4m8S$&rrSN2mJQtcQQkhnrr<&ursSQ)s8Qt6ruThmrrE#t!!3#u#6Fl)W'1MEhXUUL"8r3! i#VOk#bEON!!!*#rrN-!"SVorrrN-!!VZc>rr?Mrrr^(2pYp]~> "oiN:n*cqDs823g>DqJ.WGi7DmKQmRiU3[a$iTJt>DqJ.WGi6umc4us8Vruqu6d!s4nBBrr3E-[/^1##64]'[/^1##5nK%f*1@;!nA!\q#:EG 'Vt^-"a#+ks6gHprr`?%h%YPArriD0s8Vftrr31/:CH^mrrN)u!BS6qrrL^Tg]% #60GToCK9fq#CEpqsFY)^ZOrN[MSo1"rG&:mR">urU'k+^ZOrN[MRWbj8TPir;Zfo"98B@g&M** *V9:3qZH`q%34($s4JFmruUq7s7QZorr`?%ZO*u;rs\tqs8VHqs8N)ds8VHqr;Qf4$KqEjW=IAO rrT/0df'1L*81AlfcBti"9AJ.$+'X2"T[ris6U9prrsF1&H)S.!WE$!%eBDp!P\urrrN!!rr3&!% at:T!iZ[Xq>UTumJm4R%K?A3)jq98s8N,urrEW#q#:B0$M"-"*81AlfcBed'b.A;rqQQorseDrs 6]merseAqs6U9;rrF(nRf #614kp\2K'q#CEpqsFXrGP(;CG?b%6"q,YImMpFTrU'jtGP(;CG?`bgj8TPhrr<#e$31#7n,NE7 G4Y_7mKrdj%1Ve+s*Jqhrsnr+s4S:drr`?%KG<8Ars\u&s8TGas8N)ns8TGarVlruPq(ts!dcBa q#:DB.IR07"V'r#s*Jqdrr`?%KG<8Arso,(s8TGas8W$+L-GV:rrN)u!=/GrrrW1b.bjt(mKrmm !dcBar;QhF.IR$3%flA(s0O]as8<@\55tT^!WE$!#Pn2q!reH7nc&b%n,NE7G4tqN#06H;irK,Z #5A/t[/g7,#5A/tYr'W'!r`VtRf "oiN:n*cqDs823gaph&4e-J/7mKUfC9^^C948nROaph&4e-J.hmc4 !kf#Lqu6g"s8Tb@[/Bq-g(W'1BMSI)%06G.kot'Grr=(qpOFgorrV6];uZdt,eX-V%*BR7r8W)& s#%dmf`g:5$9H6'nXU #60GToCK9fq#CEpqsFZO,I?gA(m=jc#*L4;m]RIjrU'lQ,I?gA(m1`_h $L%KkNYLCJrriE&s,IfNr;Qqo/aDUQUAOs"!<<)=$D7@u!(u\I8o"A*!k\N4rr3!*jo58gJ4\Vr e6;nP>1`_h$K(jj@G(PCH7JspNYLCKrrS2pht[3T!(u\I8o"A*!k\N4rr3!*jo58gJ4\Vre6;nP >1`_h$M"-"Te5Qp/Y_t='ahSOj^%res(>'omS!W\s(+[em6tU/rrL=hRK!ApoCLO`~> #614kp\2K'q#CEpqsFYM%G'r<#g3,6#!3:FmRRW+rU'kO%G'r<#g1igj8TPsYPRQ\@fQI&B_Bpi g\:^OJEHgd7!JY1%flY09ka4N'ANQe<0[1=/GfAd!<<(d%*nnQ!.ah"*P_XS!.ah"*P_XSHKP'h -g:R3?T@WRrriE&s'IbVr;QppB_Bpig\_![!<<(d%*nnQ!.ah"*P_UR!al#arr3!%o`"k!4Ep,e _DVAnHKP'h-f=q2JEHgd7!J\2?T@WSrrQOeo(`4g!.ah"*P_UR!al#arr3!%o`"k!4Ep,e_DVAn HKP'h-h73?9ka4N'AN6\'a<+ceg^\"s!iWphAu[ss!`?hg`*oKrrI7`RK!B)p\3Zt~> "oiN:n*cqDs823gl3b&hk5rX$mKVq`\F/M]`Vo3/l3b&hk5rWUmc4g1g $-YX<%7\_Es6gR!rre]*##Y5nT-*s=mss8N)(*s=mss8U5%"!!`!3mUK61+[O!pBsbrr3&6&chq2$`GQZ*/FRoauKPD NUZrNQkos(r:^.*hD#*FB`S25rHo+_?31*+rI>Uf7I81s!Hr:Irr\q_n&g.~> #60GToCK9fq#CEpqsF[M"6&\+"6KLL#3>sGmbe3/rU'mO"6&\+"6J5(j8TPE4U)*ShZ*WTD[[%n pAY]'/HQVjnc/XB-NF,FD[[%nrVm"F%gc,,qu6Wrrr3hg&;pJfK+\Jqqu?ZrK+\Jqqu?\n-Nbg+ kl:M["o82O-NF,C!!`9!rbi2RE;KS7!<3!)fas&@!.tmj>l4O#!lu)Srr3RV#lt#*re)

OhanqZ$Zms8)crq>C6r!.tmj>l4O#!lu)Srr3RV#lt#*re)

#614kp\2K'q#CEpqsF[-!pK'W$L7TX#/pZ-m]d,arU'm/!pK'W$L6=4j8TOn/-?;[o)Jae:^.`( pAY\\*^JSF8u:;:^.`(rr30#=9oIVqtpBn!<3!8XpM]>!+6-FJ,]KJ!+6-FJ,]KJKbjqT iTU==!!W?$NH>."qZ$j!s8,Us(Rb."!!*#u$*FTGrr?F6&:a]YrrHJ#rVmI,"T\T&qe$QH4j3m* KbjqTiSXY?M&cX=F8>k9qZ$Zqs8)crrVZ[!!+6-FJ,]HI!FJP!rt/*3!<<)rB+kJ4bQ%Tr(But[ nc&ah:^.`(p&>bZ'ET\l!<<)b56N(-#ljqk70aQYrQ>-@&a5Y_"2O[*id_~> "oiN:n*cqDs0h@5rrIP"g]%6ReGfPtK%g5*O^P!b!Kgd(rrMg!JcFC&"/,,Ob('~> #60GToCK9fq#CEp[dM'5!A2dTrr<&KrrF_#gA_17\"s$)3k)j'!UC;Js4I>RZLd\=J,~> #614kp\2K'q#CEp[dM'5!>FkTrr<&KrrEf#gA_0jihZST(ui:0!N\V=s4I>R_"[T_J,~> "oiN:n*cqDs0h?brr<&#rrUIRqka;oc3sNcrrbdMoR&'RT^V?lJ,~> #60GToCK9fq#CEp[dKXb!!',#!i-_5V>gUm)?.JP"EX+u7V%)Mf`)&ZoCLO`~> #614kp\2K'q#CEp[dKXb!!'/$!rZ\2V>gVqAQHVH"I]&<*57"(f`)&hp\3Zt~> "oiN:n*cqDs0h?brr<&$rrN0/S>H5e!">C5rrfqW"$P^rs4I>RT^V?lJ,~> #60GToCK9fq#CEp[dKXb!!'/$!WX(eV>gSs(t?A$"HF*#<;D+Ff`)&ZoCLO`~> #614kp\2K'q#CEp[dKXb!!'/$!WXe>V>gSs/FL=R"DA,RFSp^if`)&hp\3Zt~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> #60GToCK9fq#CEp[dJ_HJcC<$JcGEC"1%Oiepm~> #614kp\2K'q#CEp[dJ_HJcC<$JcGEC"2O[*id_~> "oiN:n*cqDs0h?Hs+13$s+14Crr\q_n&g.~> "oj>SoCK9^s0h?Hs+13$s+14Crr]Ruo@AE~> "ok+jp\2Jts0h?Hs+13$s+14Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> "oiN:n*cp#s+13$s+13Crr\q_n&g.~> "oj>SoCK8=s+13$s+13Crr]Ruo@AE~> "ok+jp\2ISs+13$s+13Crr^(2pYp]~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/eth_toolbar.png0000644000175000017500000001040611526555200015725 00000000000000PNG  IHDRo3NxzsRGB pHYs  tIME $VHIDATxyX3$H\PjŪPb.׽nگu^u^{{mk]Z ~*BYeؑBQL铼f2C0 c ˹xB!L6WMs^kBVˢ.ڒB=B)B!!jBa5E!P0l6d\xj]@,tлL&+HjL_ߛ"gg4N:Ztf9;;>;Q׵KDH'(_?R‚PsWKnxtlzb:44 3򴓧Oo f;䩣z&~\j Ge^$پc/մq)ebAE~NC}6aU*7g}}BC# Rm4ݻA-i\fY,H{1o\`MEW O7MeWQAunUS" U0lP(T+2lWS4Q;N"O56LtRyIddG܇P Pp:**Vmb&M :}fhOڲXȁGb f7o\`4CՒb;ƎJl#3 HJveC3wD"ۡP Z|5kEbG}]`;5h!OWSLQڪ M6$|72PP ՅUygʠ6Qf̶;F Ym4M#< e @kا<3[f,.$c{oMܩ}>sl|l˙ǦjU`uLhC6/XP⡚ MV*uh4WJAx%֭]>*UWeY=U)_KSV"K%CRTӰc]^M)b?EBdOIJivTфx~ FA";#G5nX,4MYH+G9%I E̤$-SAH$R)n`\)JB{`z3f +-2Mfzީ4:E%pTJ?pؔ~[oᥔh$L&W} sIZ;C4iolJQ" TcSj\J%@UjU0'F+iDv [=vyYyi}C]/Em5@\7^Y3+X֩R"TTP,ٯ=hOl..]#A2L 9eXtt _o4%bP ޼ucU~pmmڲVoQ4͐$ Mۨ "7TS60J?E5eF P)/)lNZ&&&&&&fUVW7-{P&)T CwL~|kLXJbٙL} 'uvT*g+-+ w CNܜkB6\R,ilJT"k<6i)AP BP 0 Ք {xvkglnl@[ .i6sO`ohBc CoQvlfəJǰ03xR0 MnBPzrxڡClNnv'^z-:Pf3VmcFX[tD;kr/G[MQTteF)Yc%}|eܵ;]F<1Gj(9]9jϼdqARPsx\ueA S:smC P)Bq@ ?WS7]!)BcʣWo@!Iv7hҘB%M3^Wo@!) !26E@U~1ZSD"!tϒ1s}]SoT <]M)}sOXxԐW&m:TؚcX䝞v>*VZmWg]0Xppyoz~Ԛ$o0NmQyrq5[J~qowV7\;^F ^ xI0ݬ ?ln⬵%57 g>qmԨ󢶝*76V"c5M?s,̏tjٍ#{N //?(\3쓟@O_\#ܳ{ىW AMIpgC5L*18@amtxNw2};g]c\7S'Q{ L_nqAsRsfۇ_|;cot"`EIQ~HzvzӽvUpM]'i$ AWM[zhp@vUdw+Eѫz@֢k>f/>}Ⱥ+tSMM`0ןB^+q ;ƞ> +|%MS}$]UDG9 `3]WL_5ڧ_|"Ɋ7w1u>ݸ)w='cQJ=G8 GܨO7vR=.>7!8PRUO1V>5}Lx[f> K_M (B_ϰ?r-zOݨhKŬOZ1)Y3$aFMJRkvF7_Z6%kO7Ta{snz;o.Vk2-~cfdK&,7k_N~?u9lɽ4KhdrԍQN>\enj?n>+ũ>s2Ԫ5gn]qwo&.6;%VLnܯKdDžw쓥zE^0c.(#o#tj=S_7vR=xpFn!"B`5E!"/Ӽ!!jBa5E!"BXMB!!Q n/B,[=@IENDB`etherape-0.9.20/doc/C/figures/color_select_dlg.eps0000644000175000017500000404150211220500634016726 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: (ImageMagick) %%Title: (color_select_dlg.eps) %%CreationDate: (Sun Jan 22 19:03:35 2006) %%BoundingBox: 0 0 511 341 %%HiResBoundingBox: 0 0 510.936 341 %%DocumentData: Clean7Bit %%LanguageLevel: 1 %%Pages: 1 %%EndComments %%BeginDefaults %%EndDefaults %%BeginProlog % % Display a color image. The image is displayed in color on % Postscript viewers or printers that support color, otherwise % it is displayed as grayscale. % /DirectClassPacket { % % Get a DirectClass packet. % % Parameters: % red. % green. % blue. % length: number of pixels minus one of this color (optional). % currentfile color_packet readhexstring pop pop compression 0 eq { /number_pixels 3 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add 3 mul def } ifelse 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for pixels 0 number_pixels getinterval } bind def /DirectClassImage { % % Display a DirectClass image. % systemdict /colorimage known { columns rows 8 [ columns 0 0 rows neg 0 rows ] { DirectClassPacket } false 3 colorimage } { % % No colorimage operator; convert to grayscale. % columns rows 8 [ columns 0 0 rows neg 0 rows ] { GrayDirectClassPacket } image } ifelse } bind def /GrayDirectClassPacket { % % Get a DirectClass packet; convert to grayscale. % % Parameters: % red % green % blue % length: number of pixels minus one of this color (optional). % currentfile color_packet readhexstring pop pop color_packet 0 get 0.299 mul color_packet 1 get 0.587 mul add color_packet 2 get 0.114 mul add cvi /gray_packet exch def compression 0 eq { /number_pixels 1 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add def } ifelse 0 1 number_pixels 1 sub { pixels exch gray_packet put } for pixels 0 number_pixels getinterval } bind def /GrayPseudoClassPacket { % % Get a PseudoClass packet; convert to grayscale. % % Parameters: % index: index into the colormap. % length: number of pixels minus one of this color (optional). % currentfile byte readhexstring pop 0 get /offset exch 3 mul def /color_packet colormap offset 3 getinterval def color_packet 0 get 0.299 mul color_packet 1 get 0.587 mul add color_packet 2 get 0.114 mul add cvi /gray_packet exch def compression 0 eq { /number_pixels 1 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add def } ifelse 0 1 number_pixels 1 sub { pixels exch gray_packet put } for pixels 0 number_pixels getinterval } bind def /PseudoClassPacket { % % Get a PseudoClass packet. % % Parameters: % index: index into the colormap. % length: number of pixels minus one of this color (optional). % currentfile byte readhexstring pop 0 get /offset exch 3 mul def /color_packet colormap offset 3 getinterval def compression 0 eq { /number_pixels 3 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add 3 mul def } ifelse 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for pixels 0 number_pixels getinterval } bind def /PseudoClassImage { % % Display a PseudoClass image. % % Parameters: % class: 0-PseudoClass or 1-Grayscale. % currentfile buffer readline pop token pop /class exch def pop class 0 gt { currentfile buffer readline pop token pop /depth exch def pop /grays columns 8 add depth sub depth mul 8 idiv string def columns rows depth [ columns 0 0 rows neg 0 rows ] { currentfile grays readhexstring pop } image } { % % Parameters: % colors: number of colors in the colormap. % colormap: red, green, blue color packets. % currentfile buffer readline pop token pop /colors exch def pop /colors colors 3 mul def /colormap colors string def currentfile colormap readhexstring pop pop systemdict /colorimage known { columns rows 8 [ columns 0 0 rows neg 0 rows ] { PseudoClassPacket } false 3 colorimage } { % % No colorimage operator; convert to grayscale. % columns rows 8 [ columns 0 0 rows neg 0 rows ] { GrayPseudoClassPacket } image } ifelse } ifelse } bind def /DisplayImage { % % Display a DirectClass or PseudoClass image. % % Parameters: % x & y translation. % x & y scale. % label pointsize. % image label. % image columns & rows. % class: 0-DirectClass or 1-PseudoClass. % compression: 0-none or 1-RunlengthEncoded. % hex color packets. % gsave /buffer 512 string def /byte 1 string def /color_packet 3 string def /pixels 768 string def currentfile buffer readline pop token pop /x exch def token pop /y exch def pop x y translate currentfile buffer readline pop token pop /x exch def token pop /y exch def pop currentfile buffer readline pop token pop /pointsize exch def pop /Times-Roman findfont pointsize scalefont setfont x y scale currentfile buffer readline pop token pop /columns exch def token pop /rows exch def pop currentfile buffer readline pop token pop /class exch def pop currentfile buffer readline pop token pop /compression exch def pop class 0 gt { PseudoClassImage } { DirectClassImage } ifelse grestore } bind def %%EndProlog %%Page: 1 1 %%PageBoundingBox: 0 0 511 341 userdict begin DisplayImage 0 0 510.936 340.957 12.000000 511 341 0 0 566BD4566BD4566BD4393A39393A39FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF393A39393A39566BD4566BD4566BD4566BD4566BD4393A39FFFFFFFFFFFF E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9 E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9E9EAE9FFFFFFFFFFFF393A39 566BD4566BD4566BD4393A39FFFFFFE7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D 7D807D7D807DE7E8E7E7E8E7E7E8E7E7E8E7CACCCA393A39566BD4566BD4393A39FFFFFF E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5 E5E6E5E5E6E5E5E6E5E5E6E5E5E6E5E5E6E57D807DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D807DFFFFFFE5E6E5 E5E6E5CACCCA393A39566BD4393A39FFFFFFE3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 7D807DFEFEFEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E3E4E37D807DFFFFFFE3E4E3E3E4E3CACCCA393A39393A39 FFFFFFE1E2E1E1E2E1E1E2E1E1E2E1E1E2E170727572787E72787E72787E72787E72787E 72787E72787E72787E72787E72787E72787E72787E808384DEDFDEE1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E17D807DFEFEFEE4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E1E2E1 7D807DFEFEFEE1E2E1E1E2E1CACCCA393A39393A39FFFFFFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DF4855632F4B692F4B692F4B692F4B692F4B692F4B692F4B692F4B692F4B692F4B69 2F4B692F4B69424B54D6D7D6DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DF7D807DFEFEFEE2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2DFE0DF7D807DFDFDFDDFE0DFDFE0DFCACCCA 393A39393A39FFFFFFDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD9B9B9BE2E1E1E3E3E3E5E5E5 E6E6E7E8E8E8EAEAEAECECEBEDEDEDEFEFEFF1F0F0F2F2F2F4F4F47C7D7DD4D5D4DDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDCDCDCD565656141414 0303030B0B0B2626266A6A6ADDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDD0000000000009F9F9FDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD 333333333333ADAEADDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDD0000000000009F9F9FDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD DDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDDDDDEDD7D807DFEFEFEE1E2E1 E1E2E1E1E2E1000000000000E1E2E1E1E2E1E1E2E1E1E2E1000000000000E1E2E1E1E2E1 E1E2E1DDDEDD7D807DFCFCFCDDDEDDDDDEDDCACCCA393A39393A39FFFFFFDCDDDCDCDDDC DCDDDCDCDDDCDCDDDC9C9C9CE3E2E2E4E4E4E6E6E6E7E7E8E9E9E9EBEBEBEDEDECEEEEEE F0F0F0F2F1F1F3F3F3F5F5F57D7D7DD3D4D3DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDC3E3E3E0000000F0F0F3B3B3B363736111111292929DCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC000000000000 9E9F9EDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC0000000000009E9F9EDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC 0000000000009E9F9EDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCD9DAD9DCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDCDDDC DCDDDCDCDDDCDCDDDCDCDDDC7D807DFEFEFEDFE0DFDFE0DFDFE0DF000000000000000000 DFE0DFDFE0DF000000000000000000DFE0DFDFE0DFDFE0DFDCDDDC7D807DFBFBFBDCDDDC DCDDDCCACCCA393A39393A39FFFFFFDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB9C9B9CE4E4E4 E5E5E5E7E7E7E9E8E8EAEAEAECECECEDEEEEEFEFEFF1F1F1F2F3F3F4F4F4F6F6F67E7E7E D2D4D2DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB050505 000000A9ABA9DBDDDBDBDDDBDADCDABABBBADBDDDBDBDDDBDBDDDB858685262626050505 101010555655CDCFCDDBDDDBDBDDDB0000000000009D9F9DDBDDDBDBDDDB858685262626 050505101010555655CDCFCDDBDDDBDBDDDBDBDDDB949594323232090909040404222322 ADAFAD000000000000000000000000000000333333DBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDB949594323232090909040404222322ADAFADDBDDDBDBDDDB8E8F8E2E2E2E 0808080707072D2D2D8E8F8EDBDDDBDBDDDBDBDDDB0000000000009D9F9DDBDDDBDBDDDB 8E8F8E2E2E2E0808080707072D2D2D8E8F8EDBDDDBDBDDDBDBDDDB000000000000707170 292A290303039A9B9ADBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB DBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDBDBDDDB7D807D FEFEFEDDDFDDDDDFDDDDDFDDDDDFDD000000000000000000000000000000000000DDDFDD DDDFDDDDDFDDDDDFDDDBDDDB7D807DFAFAFADBDDDBDBDDDBCACCCA393A39393A39FFFFFF DBDCDBDBDCDBDBDCDBDBDCDBDBDCDB9C9C9CE5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDED EEEFEEF0F0F0F2F2F2F4F4F4F5F5F5F7F7F77E7E7ED2D3D2DBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB1F1F1F0000001F1F1F6262628C8D8CC1C2C1 DBDCDBDBDCDBDBDCDB7E7F7E0000001212126B6C6B343434000000363636DBDCDBDBDCDB 0000000000009D9E9DDBDCDB7E7F7E0000001212126B6C6B343434000000363636DBDCDB DBDCDB8888880000000000003838385B5B5B3434349798975F605F000000000000454545 5F605F7D7D7DDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB888888000000000000383838 5B5B5B343434979897DBDCDB8485840000000202024A4A4A4C4C4C020202000000848584 DBDCDBDBDCDB0000000000009D9E9DDBDCDB8485840000000202024A4A4A4C4C4C020202 000000848584DBDCDBDBDCDB0000000000000202024040404F4F4FA7A8A7DBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB7D807DFEFEFEDCDDDCDCDDDCDCDDDCDCDDDC DCDDDC000000000000000000000000DCDDDCDCDDDCDCDDDCDCDDDCDCDDDCDBDCDB7D807D F9F9F9DBDCDBDBDCDBCACCCA393A39393A39FFFFFFDADCDADADCDADADCDADADCDADADCDA 9C9C9CE6E5E6E7E8E7E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F5F5F6F6F6 F8F8F87D7E7DD1D3D1DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDAA8A9A81F1F1F000000000000000000010101515251D8DAD8DADCDA1D1D1D000000 808180C9CBC9B6B8B6000000000000AEAFAEDADCDA0000000000009C9E9CDADCDA1D1D1D 000000808180C9CBC9B6B8B6000000000000AEAFAEDADCDA1F1F1F000000505050DADCDA DADCDADADCDAD7D9D7DADCDA0000000000009C9E9CDADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDA1F1F1F000000505050DADCDADADCDADADCDAD7D9D7DADCDA1E1E1E 000000595A59DADCDADADCDA595A590000001E1E1EDADCDADADCDA0000000000009C9E9C DADCDA1E1E1E000000595A59DADCDADADCDA595A590000001E1E1EDADCDADADCDA000000 0000005F605FDADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDADADCDA DADCDA7D807DFEFEFEDADCDADADCDADADCDADADCDADADCDA000000000000000000000000 DADCDADADCDADADCDADADCDADADCDADADCDA7D807DF8F9F8DADCDADADCDACACCCA393A39 393A39FFFFFFD9DBD9D9DBD9D9DBD9D9DBD9D9DBD99D9D9DE7E7E7E8E8E8EAEAEAECECEC EDEEEDEFEFEFF1F1F1F2F2F2F4F4F4F6F6F5F7F7F7F9F9F97E7F7ED0D2D0D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D8DAD8B5B7B58B8C8B 4344430000000000009EA09ED9DBD9030303000000000000000000000000000000000000 8F908FD9DBD90000000000009C9D9CD9DBD9030303000000000000000000000000000000 0000008F908FD9DBD9030303000000848584D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9000000 0000009C9D9CD9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9030303000000 848584D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9030303000000808280D9DBD9D9DBD9808280 000000040404D9DBD9D9DBD90000000000009C9D9CD9DBD9030303000000808280D9DBD9 D9DBD9808280000000040404D9DBD9D9DBD9000000000000979997D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD97D807DFEFEFED8DAD8D8DAD8 D8DAD8D8DAD8000000000000000000000000000000000000D8DAD8D8DAD8D8DAD8D8DAD8 D9DBD97D807DF7F8F7D9DBD9D9DBD9CACCCA393A39393A39FFFFFFD9DBD9D9DBD9D9DBD9 D9DBD9D9DBD99E9E9EE8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F2F1F2F3F3F3F5F5F5 F7F7F7F8F8F9FAFAFA7E7F7ED0D2D0D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD98C8E8CD0D2D0D9DBD9D9DBD9C6C8C60000000000008F908FD9DBD9 1D1D1D0000006C6D6C9FA19F9FA19F9FA19F9FA19FBFC0BFD9DBD90000000000009C9D9C D9DBD91D1D1D0000006C6D6C9FA19F9FA19F9FA19F9FA19FBFC0BFD9DBD91E1E1E000000 515251D9DBD9D9DBD9D9DBD9D6D8D6D9DBD90101010000009A9B9AD9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD91E1E1E000000515251D9DBD9D9DBD9D9DBD9D6D8D6 D9DBD91D1D1D000000595A59D9DBD9D9DBD9595A590000001E1E1ED9DBD9D9DBD9000000 0000009C9D9CD9DBD91D1D1D000000595A59D9DBD9D9DBD9595A590000001E1E1ED9DBD9 D9DBD90000000000009C9D9CD9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9D9DBD9 D9DBD9D9DBD9D9DBD97D807DFEFEFED7D8D7D7D8D7D7D8D7000000000000000000D7D8D7 D7D8D7000000000000000000D7D8D7D7D8D7D7D8D7D9DBD97D807DF6F7F6D9DBD9D9DBD9 CACCCA393A39393A39FFFFFFD8DAD8D8DAD8D8DAD8D8DAD8D8DAD89F9E9FE9E9E9EBEBEB ECECECEEEEEEEFF0EFF1F1F1F3F3F3F4F5F4F6F6F6F8F7F8F9F9F9FBFBFB7F7F7FD0D1D0 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8000000080808 2F2F2F3B3C3B141514000000080808C2C4C2D8DAD87D7F7D000000131413646564727372 5555551D1D1D919291D8DAD80000000000009B9C9BD8DAD87D7F7D000000131413646564 7273725555551D1D1D919291D8DAD88284820000000000003939395B5B5B353635959695 D8DAD81818180000002C2C2C5E5F5E7B7C7BD8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 8284820000000000003939395B5B5B353635959695D8DAD87F807F000000010101454645 464746010101000000808180D8DAD8D8DAD80000000000009B9C9BD8DAD87F807F000000 010101454645464746010101000000808180D8DAD8D8DAD80000000000009B9C9BD8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD87D807DFEFEFE D5D7D5D5D7D5D5D7D5000000000000D5D7D5D5D7D5D5D7D5D5D7D5000000000000D5D7D5 D5D7D5D5D7D5D8DAD87D807DF5F6F5D8DAD8D8DAD8CACCCA393A39393A39FFFFFFD8DAD8 D8DAD8D8DAD8D8DAD8D8DAD86969697A7A7A7A7A7A7B7B7B7B7B7B7C7C7C7C7C7D7D7D7D 7D7D7D7D7D7D7E7E7E7E7E7E7F7F7F6E6E6ED0D2D0D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD86D6E6D3535351010100202020C0C0C373837A3A5A3 D8DAD8D8DAD8D8DAD88889882D2D2D080808030303191A19494A49B8BAB8D8DAD8000000 0000009B9C9BD8DAD8D8DAD88889882D2D2D080808030303191A19494A49B8BAB8D8DAD8 D8DAD88E908E2F302F080808040404222222ABADABD8DAD89192911C1C1C020202000000 323232D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD88E908E2F302F080808040404 222222ABADABD8DAD8D8DAD8898A892B2C2B0707070606062A2B2A898A89D8DAD8D8DAD8 D8DAD80000000000009B9C9BD8DAD8D8DAD8898A892B2C2B0707070606062A2B2A898A89 D8DAD8D8DAD8D8DAD80000000000009B9C9BD8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD87D807DFEFEFED3D5D3D3D5D3D3D5D3D3D5D3D3D5D3 D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D8DAD87D807DF4F5F4 D8DAD8D8DAD8CACCCA393A39393A39FFFFFFD6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D0D2D0 CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CED0CED5D7D5D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6D6D8D6 7D807DFEFEFED2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D6D8D67D807DF3F4F3D6D8D6D6D8D6CACCCA393A39393A39 FFFFFFD4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D47D807DFEFEFED0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D4D6D4 7D807DF2F3F2D4D6D4D4D6D4CACCCA393A39393A39FFFFFFD2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2D2D4D2 D2D4D2D2D4D2D2D4D27D807DC3C5C3C3C5C3C3C5C3C3C5C3C3C5C3C3C5C3C3C5C3C3C5C3 C3C5C3C3C5C3C3C5C3C3C5C3C3C5C3C3C5C37D807DF2F3F2D2D4D2D2D4D2D2D4D2CACCCA 393A39393A39FFFFFFD0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0F2F3F27D807D 7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D7D807D 7D807DF2F3F2D0D2D0D0D2D0D0D2D0D0D2D0CACCCA393A39393A39FFFFFFCED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CECED0CE CED0CECED0CECED0CECED0CECED0CECED0CEF2F3F2F2F3F2F2F3F2F2F3F2F2F3F2F2F3F2 F2F3F2F2F3F2F2F3F2F2F3F2F2F3F2F2F3F2F2F3F2F2F3F2CED0CECED0CECED0CECED0CE CED0CECACCCA393A39393A39FFFFFFCACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA393A39393A39898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89898C89 898C89898C89898C89898C89393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E2E8E0CFEBC0BFEEA3B0F186A1F46A97F65490F84388FA31 82FC207CFD107EFD0F7FFE0B7DFF0080FF0087FE0B8BFD0F8EFD1098FC20A0FA31A9F843 B1F654BBF46AC6F186D0EEA3DAEBC0E4E8E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E2E3E2CCEBBFB3EF9798F46C81F8456BFC1F5DFF03 5EFF0061FF0063FF0066FF0069FF006CFF006FFF0071FF0074FF0077FF007AFF007DFF00 80FF0082FF0085FF0088FF008BFF008EFF0090FF0093FF0096FF0099FF009CFF009EFF00 A2FF03ADFC1FBAF845C6F46CD2EF97DDEBBFE5E7E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D9DAD9B5EEA293F36F6FF93A 50FE094DFF004FFF0052FF0055FF0058FF005BFF005DFF0060FF0063FF0066FF0069FF00 6BFF006EFF0071FF0074FF0077FF007AFF007DFF0080FF0082FF0085FF0088FF008BFF00 8EFF0091FF0094FF0096FF0099FF009CFF009FFF00A2FF00A4FF00A7FF00AAFF00ADFF00 B0FF00B4FE09C2F93ACEF36FD9EEA2E3E8D9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8A4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E5 C4ECBA94F27965F93841FF0441FF0044FF0047FF0049FF004CFF004FFF0052FF0054FF00 57FF005AFF005DFF0060FF0063FF0066FF0068FF006BFF006EFF0071FF0074FF0077FF00 7AFF007DFF0080FF0082FF0085FF0088FF008BFF008EFF0091FF0094FF0097FF0099FF00 9CFF009FFF00A2FF00A5FF00A8FF00ABFF00ADFF00B0FF00B3FF00B6FF00B8FF00BBFF00 BFFF04CAF938D6F279E0ECBAE6E7E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4D7D8D7404140 D7D8D7E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DEDFDEDEDFDEDEDFDEDEDFDEDADBDAA9ABA9DADBDA DEDFDEDEDFDEDEDFDEDEDFDEA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6C2ECB984F46A4AFC1D36FF0038FF003BFF003EFF0040FF00 43FF0046FF0049FF004BFF004EFF0051FF0054FF0057FF005AFF005DFF005FFF0062FF00 65FF0068FF006BFF006EFF0071FF0074FF0077FF007AFF007DFF0080FF0082FF0085FF00 88FF008BFF008EFF0091FF0094FF0097FF009AFF009DFF00A0FF00A2FF00A5FF00A8FF00 ABFF00AEFF00B1FF00B4FF00B6FF00B9FF00BCFF00BFFF00C1FF00C4FF00C7FF00CDFC1D D8F46AE2ECB9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4E0E1E0E0E1E0E0E1E0DDDEDD3A3A3A0000003A3A3ADDDEDDE0E1E0E0E1E0E0E1E0 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 DBDDDBDBDDDBDBDDDBDADCDAA7A8A7949694ADAEADDCDEDCDBDDDBDBDDDBDBDDDBA4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CFCFCF8CF27944FC202DFF00 2FFF0032FF0035FF0037FF003AFF003DFF0040FF0042FF0045FF0048FF004BFF004EFF00 51FF0053FF0056FF0059FF005CFF005FFF0062FF0065FF0068FF006BFF006EFF0071FF00 74FF0077FF007AFF007DFF0080FF0082FF0085FF0088FF008BFF008EFF0091FF0094FF00 97FF009AFF009DFF00A0FF00A3FF00A6FF00A9FF00ACFF00AEFF00B1FF00B4FF00B7FF00 BAFF00BDFF00BFFF00C2FF00C5FF00C8FF00CAFF00CDFF00D0FF00D4FC20DEF279E5E9CF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DCDEDCDCDEDCDCDEDC5B5B5B 0000000000000000005B5B5BDCDEDCDCDEDCDCDEDCA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9B0B2B0949694 949694949694BCBDBCD9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E5E6E5B0EEA75EF84728FF0526FF0029FF002CFF002EFF0031FF0034FF0037FF0039FF00 3CFF003FFF0042FF0045FF0047FF004AFF004DFF0050FF0053FF0056FF0059FF005CFF00 5FFF0062FF0065FF0068FF006BFF006DFF0070FF0073FF0076FF0079FF007CFF0080FF00 83FF0086FF0089FF008CFF008FFF0092FF0094FF0097FF009AFF009DFF00A0FF00A3FF00 A6FF00A9FF00ACFF00AFFF00B2FF00B5FF00B8FF00BAFF00BDFF00C0FF00C3FF00C6FF00 C8FF00CBFF00CEFF00D1FF00D3FF00D6FF00DAFF05DEF847E4EEA7E6E7E5E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFF3F3F35B5B5B0D0D0D1414147A7A7AFEFEFEFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9 D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6B0B1B00000000000000000000D0D0D3E3F3EBEBFBEE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE 030303E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFF6D6D6D292929050505101010545454E2E2E2FFFFFFCFCFCF 0000000000000000000000001F1F1FFFFFFFFFFFFFCFCFCF000000000000000000000000 1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4D6D7D6D6D7D6D6D7D6D6D7D6EEEFEEFFFFFFFFFFFFFFFFFFEEEFEED6D7D6 D6D7D6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E199F0903FFB291EFF0020FF0023FF0025FF00 28FF002BFF002EFF0030FF0033FF0036FF0039FF003BFF003EFF0041FF0044FF0047FF00 4AFF004DFF004FFF0052FF0055FF0058FF005BFF005EFF0061FF0064FF0067FF006AFF00 6DFF0070FF0073FF0076FF0079FF007CFF0080FF0083FF0086FF0089FF008CFF008FFF00 92FF0095FF0098FF009BFF009EFF00A1FF00A4FF00A7FF00AAFF00ADFF00B0FF00B2FF00 B5FF00B8FF00BBFF00BEFF00C1FF00C4FF00C6FF00C9FF00CCFF00CFFF00D1FF00D4FF00 D7FF00DAFF00DCFF00DFFF00E2FB29E5F090E6E8E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDB E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF 6262623B3B3BEEEEEEDEDEDE1C1C1C959595FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D5D6D5D5D6D5 D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000D8D9D8E1E2E1 C9CAC9454545202020E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF666666 C0C0C0F0F0F0D4D4D43939392E2E2EFFFFFFCFCFCF000000F3F3F3F3F3F3F3F3F3F5F5F5 FFFFFFFFFFFFCFCFCF000000F3F3F3F3F3F3F3F3F3F5F5F5FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D3D5D3D3D5D3D3D5D3 D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E0E1E08BF183 2BFC1817FF001AFF001DFF001FFF0022FF0024FF0027FF002AFF002DFF002FFF0032FF00 35FF0038FF003BFF003DFF0040FF0043FF0046FF0049FF004CFF004FFF0052FF0055FF00 58FF005BFF005EFF0061FF0064FF0067FF006AFF006DFF0070FF0073FF0076FF0079FF00 7CFF0080FF0083FF0086FF0089FF008CFF008FFF0092FF0095FF0098FF009BFF009EFF00 A1FF00A4FF00A7FF00AAFF00ADFF00B0FF00B3FF00B6FF00B9FF00BCFF00BFFF00C2FF00 C4FF00C7FF00CAFF00CDFF00D0FF00D2FF00D5FF00D8FF00DBFF00DDFF00E0FF00E2FF00 E5FF00E7FC18E8F183E7E8E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6E6E7E6B0B1B0000000 DBDCDBBEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6D9DAD9565656 1010100E0E0E565656DDDEDDE6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFF7F7F7080808B5B5B5FFFFFFFFFFFF868686 323232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6A3A4A3000000DBDCDBE6E7E6 E6E7E6D9DAD95656561010100E0E0E565656DDDEDDE6E7E6E6E7E6CFCFCF3E3F3E0B0B0B 262626858685030303E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1B1B1000000 F3F3F3CFCFCF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF000000FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E1E2E18DF18826FC1911FF0014FF0016FF0019FF001BFF001EFF00 21FF0023FF0026FF0029FF002CFF002EFF0031FF0034FF0037FF003AFF003DFF003FFF00 42FF0045FF0048FF004BFF004EFF0051FF0054FF0057FF005AFF005DFF0060FF0064FF00 67FF006AFF006DFF0070FF0073FF0076FF0079FF007CFF0080FF0083FF0086FF0089FF00 8CFF008FFF0092FF0095FF0098FF009BFF009FFF00A2FF00A5FF00A8FF00ABFF00AEFF00 B1FF00B4FF00B7FF00BAFF00BDFF00C0FF00C2FF00C5FF00C8FF00CBFF00CEFF00D1FF00 D3FF00D6FF00D9FF00DCFF00DEFF00E1FF00E4FF00E6FF00E9FF00EBFF00EDFC19EAF188 E7E8E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0 000000DBDCDBE6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBBEBFBE000000E6E7E6E6E7E6 E6E7E6BEBFBE030303E6E7E6E6E7E6474847434343D8D9D8DBDCDB3F3F3F626362E6E7E6 E6E7E6A9A9A9000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFD2D2D2000000E2E2E2FFFFFFFFFFFFB5B5B5050505FEFEFEFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDA4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000 DBDCDBE6E7E6DEDFDE555555232323E6E7E6E6E7E6E6E7E6474847434343D8D9D8DBDCDB 3F3F3F626362E6E7E6E6E7E63C3C3C4A4A4ADEDFDED3D4D3303030030303E6E7E6E6E7E6 A9A9A9000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF737373292929FFFFFFCFCFCF000000282828181818 373737949494FDFDFDFFFFFFCFCFCF000000282828181818373737949494FDFDFDFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4CDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E2E3E291F08F24FC1D0BFF00 0DFF0010FF0012FF0015FF0018FF001AFF001DFF0020FF0022FF0025FF0028FF002BFF00 2DFF0030FF0033FF0036FF0039FF003CFF003FFF0042FF0045FF0048FF004BFF004EFF00 51FF0054FF0057FF005AFF005DFF0060FF0063FF0066FF0069FF006DFF0070FF0073FF00 76FF0079FF007CFF0080FF0083FF0086FF0089FF008CFF008FFF0092FF0096FF0099FF00 9CFF009FFF00A2FF00A5FF00A8FF00ABFF00AEFF00B1FF00B4FF00B7FF00BAFF00BDFF00 C0FF00C3FF00C6FF00C9FF00CCFF00CFFF00D2FF00D4FF00D7FF00DAFF00DDFF00DFFF00 E2FF00E5FF00E7FF00EAFF00EDFF00EFFF00F2FF00F2FC1DEDF08FE6E7E2E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000111111111111111111111111 0E0E0E000000DBDCDBBEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6D1D2D1 000000BEBFBEE6E7E6E6E7E6A8A8A8151515E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFC6C6C6000000EDEDEDFFFFFF FFFFFFC1C1C1000000F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000141414151515040404212221C7C8C7 E6E7E6E6E7E6D1D2D1000000BEBFBEE6E7E6E6E7E6A8A8A8151515E6E7E6D0D1D0000000 C2C3C2E6E7E6E6E7E69C9D9C030303E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9A9A9 0B0B0BC7C7C7FFFFFFE7E7E7ADADADD9D9D9DBDBDBA2A2A2181818707070FFFFFFE7E7E7 ADADADD9D9D9DBDBDBA2A2A2181818707070FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A5EEA528FB2605FF0007FF000AFF000CFF000FFF0011FF0014FF0016FF00 19FF001CFF001EFF0021FF0024FF0027FF002AFF002CFF002FFF0032FF0035FF0038FF00 3BFF003EFF0041FF0044FF0047FF004AFF004DFF0050FF0053FF0056FF0059FF005CFF00 60FF0063FF0066FF0069FF006CFF0070FF0073FF0076FF0079FF007CFF0080FF0083FF00 86FF0089FF008CFF008FFF0093FF0096FF0099FF009CFF009FFF00A3FF00A6FF00A9FF00 ACFF00AFFF00B2FF00B5FF00B8FF00BBFF00BEFF00C1FF00C4FF00C7FF00CAFF00CDFF00 D0FF00D3FF00D5FF00D8FF00DBFF00DEFF00E1FF00E3FF00E6FF00E9FF00EBFF00EEFF00 F0FF00F3FF00F5FF00F8FF00F7FB26ECEEA5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6B0B1B0000000C4C5C4CDCECDCDCECDCDCECD9D9E9D000000DBDCDBBEBFBE000000 E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6B8B9B80000001B1B1B1C1C1C1C1C1C191919 0F0F0FE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFD2D2D2000000E2E2E2FFFFFFFFFFFFB5B5B5050505FEFEFEFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 B0B1B0000000C7C8C7CECFCEA1A2A1141414858585E6E7E6E6E7E6B8B9B80000001B1B1B 1C1C1C1C1C1C1919190F0F0FE6E7E6BBBCBB000000E0E1E0E6E7E6E6E7E6BBBCBB030303 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2A2A2121212C1C1C1FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA6A6A6090909FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6A6A6 090909FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1EBC241F84400FF0201FF0003FF00 06FF0008FF000BFF000DFF0010FF0013FF0015FF0018FF001BFF001DFF0020FF0023FF00 26FF0028FF002BFF002EFF0031FF0034FF0037FF003AFF003DFF0040FF0043FF0046FF00 49FF004CFF004FFF0053FF0056FF0059FF005CFF005FFF0062FF0066FF0069FF006CFF00 6FFF0073FF0076FF0079FF007CFF0080FF0083FF0086FF0089FF008CFF0090FF0093FF00 96FF0099FF009DFF00A0FF00A3FF00A6FF00A9FF00ACFF00B0FF00B3FF00B6FF00B9FF00 BCFF00BFFF00C2FF00C5FF00C8FF00CBFF00CEFF00D1FF00D4FF00D7FF00D9FF00DCFF00 DFFF00E2FF00E4FF00E7FF00EAFF00ECFF00EFFF00F2FF00F4FF00F7FF00F9FF00FCFF00 FEFF00F8F741EAEAC1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6 E6E7E6E6E7E6B0B1B0000000DBDCDBC5C5C5000000E1E2E1E6E7E6E6E7E6AFB0AF030303 E6E7E6CFCFCF000000CACBCAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFF7F7F7080808 B5B5B5FFFFFFFFFFFF878787313131FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6 9D9E9D0A0A0AD0D1D0E6E7E6CFCFCF000000CACBCAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 D0D1D0000000CCCDCCE6E7E6E6E7E6A7A8A7030303E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF919191 151515CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACACAC050505 FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACACAC050505FCFCFCFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E1E2E173F37805FE0D00FF0600FF0300FF0102FF0004FF0007FF0009FF000CFF000FFF00 11FF0014FF0017FF0019FF001CFF001FFF0022FF0025FF0027FF002AFF002DFF0030FF00 33FF0036FF0039FF003CFF003FFF0042FF0045FF0049FF004CFF004FFF0052FF0055FF00 58FF005CFF005FFF0062FF0065FF0069FF006CFF006FFF0072FF0076FF0079FF007CFF00 80FF0083FF0086FF0089FF008DFF0090FF0093FF0096FF009AFF009DFF00A0FF00A3FF00 A7FF00AAFF00ADFF00B0FF00B3FF00B6FF00BAFF00BDFF00C0FF00C3FF00C6FF00C9FF00 CCFF00CFFF00D2FF00D5FF00D8FF00DAFF00DDFF00E0FF00E3FF00E6FF00E8FF00EBFF00 EEFF00F0FF00F3FF00F6FF00F8FF00FBFF00FDFF00FFFE00FFFC00FEF805F3EF73E7E8E1 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDB E2E3E2111111999A99E6E7E6E0E1E0454645030303E6E7E6E6E7E64545454E4E4ED5D6D5 E6E7E6CFD0CFA4A5A4E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF6161613C3C3CEFEFEFDFDFDF1D1D1D959595 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6E6E7E6303030626362E6E7E6E6E7E6 4545454E4E4ED5D6D5E6E7E6CFD0CFA4A5A4E6E7E6E6E7E63A3A3A696969E6E7E6E3E4E3 454545030303E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF7F7F7F171717CDCDCDF7F7F7F7F7F7F7F7F7FFFFFF E8E8E8C5C5C5EEEEEEF0F0F0B8B8B8212121585858FFFFFFE8E8E8C5C5C5EEEEEEF0F0F0 B8B8B8212121585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B2ECB626FB3200FF0C00FF0900FF0700FF05 00FF0200FF0003FF0005FF0008FF000BFF000DFF0010FF0013FF0015FF0018FF001BFF00 1EFF0021FF0023FF0026FF0029FF002CFF002FFF0032FF0035FF0038FF003BFF003EFF00 41FF0045FF0048FF004BFF004EFF0051FF0055FF0058FF005BFF005EFF0062FF0065FF00 68FF006CFF006FFF0072FF0075FF0079FF007CFF0080FF0083FF0086FF008AFF008DFF00 90FF0093FF0097FF009AFF009DFF00A1FF00A4FF00A7FF00AAFF00AEFF00B1FF00B4FF00 B7FF00BAFF00BEFF00C1FF00C4FF00C7FF00CAFF00CDFF00D0FF00D3FF00D6FF00D9FF00 DCFF00DEFF00E1FF00E4FF00E7FF00EAFF00ECFF00EFFF00F2FF00F4FF00F7FF00FAFF00 FCFF00FFFF00FFFD00FFFA00FFF800FFF600FBF126ECE9B2E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000 DBDCDBE6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6A5A6A52222222C2C2C323232 7A7A7A030303E6E7E6E6E7E6D9DAD95C5C5C1313130B0B0B202020787878E6E7E6E6E7E6 A9A9A9000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFF2F2F25B5B5B0C0C0C131313797979FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDB E6E7E6E6E7E6E6E7E6A4A5A4060606CCCDCCE6E7E6D9DAD95C5C5C1313130B0B0B202020 787878E6E7E6E6E7E6CDCECD3C3D3C292A293334336E6F6E030303E6E7E6E6E7E6A9A9A9 000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000EBEBEBE1E1E13737370D0D0D0303031D1D1D 727272F5F5F5FFFFFFE1E1E13737370D0D0D0303031D1D1D727272F5F5F5FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1 6BF47602FF1400FF1000FF0D00FF0B00FF0900FF0600FF0400FF0101FF0004FF0007FF00 09FF000CFF000FFF0011FF0014FF0017FF001AFF001CFF001FFF0022FF0025FF0028FF00 2BFF002EFF0031FF0034FF0037FF003AFF003EFF0041FF0044FF0047FF004AFF004DFF00 51FF0055FF026BFC2084F84397F560A9F27CB7F092C1EEA3CCECB5D5EAC6DEE9D6DFE9D7 E1E8DBE6E7E6E6E7E6E1E8DBE0E9D7E0E9D6D9EAC6D3ECB5CEEEA3C9F092C3F27CBCF560 B5F843ADFC20A9FF02ABFF00AEFF00B2FF00B5FF00B8FF00BBFF00BEFF00C1FF00C5FF00 C8FF00CBFF00CEFF00D1FF00D4FF00D7FF00DAFF00DDFF00E0FF00E3FF00E5FF00E8FF00 EBFF00EEFF00F0FF00F3FF00F6FF00F8FF00FBFF00FEFF00FFFE00FFFB00FFF900FFF600 FFF400FFF200FFEF02F3EA6BE6E7E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E0E1E0E0E1E0E0E1E05C5D5C000000000000 0000005C5D5CE0E1E0E0E1E0E0E1E0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E0E1E0E0E1E0E0E1E05C5D5C000000000000000000 5C5D5CE0E1E0E0E1E0E0E1E0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C3C4C32EFA4100FF1600FF1400FF1100FF0F00FF0C 00FF0A00FF0800FF0500FF0300FF0003FF0005FF0008FF000BFF000DFF0010FF0013FF00 16FF0018FF001BFF001EFF0021FF0024FF0027FF002AFF002DFF0030FF0033FF0036FF00 39FF003DFF0040FF0043FF0057FC187EF74DA5F184C6ECB5E0E8DDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E4E8DDD9ECB5CFF184 C4F74DBAFC18B9FF00BCFF00BFFF00C2FF00C6FF00C9FF00CCFF00CFFF00D2FF00D5FF00 D8FF00DBFF00DEFF00E1FF00E4FF00E7FF00E9FF00ECFF00EFFF00F2FF00F4FF00F7FF00 FAFF00FCFF00FFFF00FFFC00FFFA00FFF700FFF500FFF300FFF000FFEE00FFEB00FAE82E EAE7C3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 000000000000000000000000000000000000000000000000000000E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4DCDEDCDCDEDCDCDEDCD9DBD9393939000000393939D9DBD9DCDEDCDCDEDCDCDEDC A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6000000 000000000000000000000000000000000000000000000000E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 DCDEDCDCDEDCDCDEDCD9DBD9393939000000393939D9DBD9DCDEDCDCDEDCDCDEDCA4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E693F09E 09FE2400FF1A00FF1800FF1500FF1300FF1000FF0E00FF0C00FF0900FF0700FF0400FF02 01FF0004FF0006FF0009FF000CFF000FFF0011FF0014FF0017FF001AFF001DFF0020FF00 23FF0026FF0029FF002CFF002FFF0032FF0035FF0041FE0B70F847A2F188D1EAC8E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E0EAC8D5F188CCF847 C5FE0BC6FF00CAFF00CDFF00D0FF00D3FF00D6FF00D9FF00DCFF00DFFF00E2FF00E5FF00 E8FF00EBFF00EEFF00F0FF00F3FF00F6FF00F9FF00FBFF00FEFF00FFFD00FFFB00FFF800 FFF600FFF300FFF100FFEF00FFEC00FFEA00FFE700FEE509EFE693E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9 CCCDCC3D3E3DCCCDCCD9DAD9D9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9CCCDCC 3D3E3DCCCDCCD9DAD9D9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E1E2E162F57500FF2000FF1E00FF1B00FF1900FF1700FF15 00FF1200FF1000FF0D00FF0B00FF0800FF0600FF0300FF0002FF0005FF0008FF000AFF00 0DFF0010FF0013FF0016FF0019FF001CFF001FFF0022FF0025FF0028FF002BFF003CFD11 79F55BB7EDA9E2E8E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E8E1DEEDA9D6F55BD0FD11D1FF00 D4FF00D7FF00DAFF00DDFF00E0FF00E3FF00E6FF00E9FF00ECFF00EFFF00F2FF00F5FF00 F7FF00FAFF00FDFF00FFFF00FFFC00FFF900FFF700FFF400FFF200FFEF00FFED00FFEA00 FFE800FFE600FFE400FFE100F4E362E6E6E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5 D5D6D5D5D6D5A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5 D5D6D5A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D1D2D135F952 00FF2400FF2200FF1F00FF1D00FF1B00FF1900FF1600FF1400FF1100FF0F00FF0C00FF0A 00FF0700FF0500FF0201FF0003FF0006FF0009FF000CFF000FFF0011FF0014FF0017FF00 1AFF001DFF0020FF0028FE066BF652B1EEA5E2E7E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E7E1E0EEA5DBF652D8FE06DCFF00DFFF00E2FF00 E5FF00E8FF00EBFF00EEFF00F0FF00F3FF00F6FF00F9FF00FCFF00FEFF00FFFD00FFFA00 FFF800FFF500FFF300FFF000FFEE00FFEB00FFE900FFE600FFE400FFE200FFE000FFDD00 F9DD35E8E6D1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6C1EBC81EFC4300FF2800FF2600FF2300FF2100FF1F00FF1D 00FF1A00FF1800FF1500FF1300FF1100FF0E00FF0B00FF0900FF0600FF0400FF0102FF00 05FF0007FF000AFF000DFF0010FF0013FF0016FF0019FF003EFB278FF182D8E9D6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E5E9D6E2F182E1FB27E3FF00E6FF00E9FF00ECFF00EFFF00F2FF00 F5FF00F8FF00FAFF00FDFF00FFFE00FFFB00FFF900FFF600FFF400FFF100FFEE00FFEC00 FFEA00FFE700FFE500FFE200FFE000FFDE00FFDC00FFD900FCD91EEAE4C1E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6ACEDB80FFD3A 00FF2C00FF2A00FF2700FF2500FF2300FF2100FF1E00FF1C00FF1A00FF1700FF1500FF12 00FF1000FF0D00FF0B00FF0800FF0500FF0200FF0003FF0006FF0009FF000CFF000FFF00 13FF014CF93DADEEA6E5E7E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E5E5EEA6E6F93DEAFF01EDFF00F0FF00F3FF00F6FF00F9FF00FCFF00FFFF00FFFD00 FFFA00FFF700FFF400FFF200FFEF00FFED00FFEA00FFE800FFE500FFE300FFE100FFDE00 FFDC00FFDA00FFD800FFD500FDD40FECE1ACE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E69DEFAE05FE3600FF3000FF2E00FF2C00FF2900FF2700FF25 00FF2300FF2000FF1E00FF1B00FF1900FF1600FF1400FF1100FF0F00FF0C00FF0A00FF07 00FF0400FF0101FF0004FF0007FF000CFF0257F74EC0EBBDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7EBBDEBF74E F2FF02F5FF00F8FF00FBFF00FEFF00FFFE00FFFB00FFF800FFF500FFF300FFF000FFEE00 FFEB00FFE900FFE600FFE400FFE100FFDF00FFDC00FFDA00FFD800FFD600FFD300FFD100 FECF05EEDF9DE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E693F0A703FF38 00FF3400FF3200FF3000FF2D00FF2B00FF2900FF2700FF2400FF2200FF2000FF1D00FF1B 00FF1800FF1600FF1300FF1100FF0E00FF0B00FF0900FF0600FF0300FF0003FF003EF93A BCECBAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E9ECBAF2F93AF9FF00FCFF00FFFF00 FFFC00FFF900FFF600FFF400FFF100FFEE00FFEC00FFE900FFE700FFE400FFE200FFDF00 FFDD00FFDB00FFD800FFD600FFD400FFD200FFCF00FFCD00FFCC03EFDD93E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E689F1A102FF3C00FF3800FF3600FF3400FF3100FF2F00FF2D 00FF2B00FF2900FF2600FF2400FF2100FF1F00FF1D00FF1A00FF1800FF1500FF1200FF10 00FF0D00FF0A00FF0700FF0520FC229DEF9DE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6EDEF9DFAFC20FFFD00FFFA00FFF800FFF500FFF200FFEF00 FFED00FFEA00FFE700FFE500FFE200FFE000FFDE00FFDB00FFD900FFD600FFD400FFD200 FFD000FFCE00FFCB00FFC900FFC702F0DA89E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E687F1A101FF3F 00FF3C00FF3A00FF3800FF3600FF3300FF3100FF2F00FF2D00FF2A00FF2800FF2600FF23 00FF2100FF1E00FF1C00FF1900FF1700FF1400FF1100FF0F00FF0C05FF0E70F373DFE8DF 414141C0C1C0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E7E8DFF3F170FFF905FFF600FFF300FFF000FFEE00FFEB00FFE800FFE600FFE300FFE100 FFDE00FFDC00FFD900FFD700FFD500FFD200FFD000FFCE00FFCC00FFC900FFC700FFC500 FFC301F0D787E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E68AF1A501FF4300FF4000FF3E00FF3C00FF3A00FF3700FF35 00FF3300FF3100FF2F00FF2C00FF2A00FF2800FF2500FF2300FF2000FF1E00FF1B00FF19 00FF1600FF1300FF1131FA3CBDEBBFE6E7E6E6E7E6020202080404686666D8D9D8E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EAEABDFAF131FFF100 FFEE00FFEC00FFE900FFE600FFE400FFE100FFDF00FFDC00FFDA00FFD700FFD500FFD300 FFD000FFCE00FFCC00FFCA00FFC800FFC500FFC300FFC100FFBF01F0D78AE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E693F0AD02FF47 00FF4400FF4200FF4000FF3E00FF3C00FF3A00FF3700FF3500FF3300FF3100FF2E00FF2C 00FF2A00FF2700FF2500FF2200FF2000FF1D00FF1B00FF1805FF1A7AF282E4E7E4E6E7E6 E6E7E6E6E7E6040404050303060202191212898786E2E3E2E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E4F2EA7AFFED05FFEA00FFE700FFE400FFE200 FFDF00FFDD00FFDA00FFD800FFD500FFD300FFD100FFCE00FFCC00FFCA00FFC800FFC500 FFC300FFC100FFBF00FFBD00FFBC02EFD793E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E69CEFB403FF4C00FF4800FF4600FF4400FF4200FF4000FF3E 00FF3C00FF3900FF3700FF3500FF3300FF3000FF2E00FF2C00FF2900FF2700FF2400FF22 00FF1F00FF1D22FB38B7ECBCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6060606070505080404 0903030A0202302626AAA8A7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6EBE8B7FBE722FFE500FFE200FFE000FFDD00FFDB00FFD800FFD600FFD300 FFD100FFCF00FFCC00FFCA00FFC800FFC600FFC300FFC100FFBF00FFBD00FFBB00FFB900 FFB803EED79CE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6AAEDBE05FE51 00FF4C00FF4A00FF4800FF4600FF4400FF4200FF4000FF3E00FF3B00FF3900FF3700FF35 00FF3200FF3000FF2E00FF2B00FF2900FF2600FF2400FF2155F669DCE8DDE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E60808080907070A06060C04040D03030E0202100000544949 C8C6C6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E7DCF6E455 FFE000FFDE00FFDB00FFD900FFD600FFD400FFD100FFCF00FFCD00FFCA00FFC800FFC600 FFC400FFC100FFBF00FFBD00FFBB00FFB900FFB700FFB500FEB405ECD9AAE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6BEEBCC0EFE5B00FF5000FF4E00FF4C00FF4A00FF4800FF46 00FF4400FF4200FF4000FF3E00FF3B00FF3900FF3700FF3500FF3200FF3000FF2D00FF2B 00FF2805FE2A86F195E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E60A0A0A 0B09090C08080D07070F0505100404110303120202190505736868D9D9D8E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F0E386FEDC05FFD900FFD700FFD400 FFD200FFCF00FFCD00FFCA00FFC800FFC600FFC400FFC100FFBF00FFBD00FFBB00FFB900 FFB700FFB500FFB300FFB100FEB30EEADDBEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D3D4D320FC69 00FF5400FF5200FF5000FF4E00FF4C00FF4A00FF4800FF4600FF4400FF4200FF4000FF3E 00FF3B00FF3900FF3700FF3400FF3200FF3000FF2D17FD3EB3ECBCE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E60C0C0C0D0B0B0E0A0A0F0909100808120606 130505140404150303160202281212958C8CE4E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6ECE4B3FCD917FFD400FFD200FFCF00FFCD00FFCB00FFC800FFC600 FFC400FFC100FFBF00FFBD00FFBB00FFB900FFB700FFB500FFB300FFB100FFAF00FFAD00 FBB420E8E2D3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E1E2E135F97900FF5800FF5600FF5400FF5200FF5000FF4E 00FF4C00FF4A00FF4800FF4600FF4400FF4200FF4000FF3E00FF3B00FF3900FF3700FF34 00FF3229FB50CBEAD0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E60E0E0E0F0D0D100C0C110B0B120A0A130909150707160606170505180404190303 1A0202432C2CB3ADACE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E9E5CB FBD629FFD000FFCD00FFCB00FFC800FFC600FFC400FFC100FFBF00FFBD00FFBB00FFB900 FFB700FFB500FFB300FFB100FFAF00FFAD00FFAB00FFA900F9B535E7E6E1E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4D7D8D7404140D7D8D7 E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4DEDFDEDEDFDEDEDFDEDEDFDEDADBDAA9ABA9DADBDADEDFDE DEDFDEDEDFDEDEDFDEA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E662F597 00FF5C00FF5A00FF5800FF5600FF5400FF5200FF5100FF4F00FF4D00FF4B00FF4800FF46 00FF4400FF4200FF4000FF3D00FF3B00FF3900FF363EF964D8E8DBE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6101010110F0F120E0E130D0D 140C0C160A0A1709091808081907071B05051C04041D03031E02022000005F4949CBC6C6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E5D8F8D53EFFCB00FFC900FFC600 FFC400FFC200FFBF00FFBD00FFBB00FFB900FFB700FFB400FFB200FFB000FFAE00FFAD00 FFAB00FFA900FFA700FFA500F4C062E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 E0E1E0E0E1E0E0E1E0DDDEDD3A3A3A0000003A3A3ADDDEDDE0E1E0E0E1E0E0E1E0A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DBDDDB DBDDDBDBDDDBDADCDAA7A8A7949694ADAEADDCDEDCDBDDDBDBDDDBDBDDDBA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E693F0B600FF6000FF5E00FF5C00FF5A00FF5800FF57 00FF5500FF5300FF5100FF4F00FF4D00FF4B00FF4900FF4600FF4400FF4200FF4000FF3D 00FF3B52F677E1E7E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6121212131111141010150F0F170E0E180C0C190B0B1A0A0A1C0909 1D08081E06061F05052104042203032302022B0707826F6FDDDCDBE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E6E1F6D352FFC600FFC400FFC200FFBF00FFBD00FFBB00FFB900 FFB600FFB400FFB200FFB000FFAE00FFAC00FFAA00FFA800FFA700FFA500FFA300FFA100 EFCD93E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DCDEDCDCDEDCDCDEDC5B5B5B000000 0000000000005B5B5BDCDEDCDCDEDCDCDEDCA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9B0B2B0949694949694 949694BCBDBCD9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C2C3C2 0AFE6900FF6200FF6000FF5E00FF5D00FF5B00FF5900FF5700FF5500FF5300FF5100FF4F 00FF4D00FF4B00FF4900FF4700FF4400FF4200FF405CF581E3E7E4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6141414151313 1612121711111810101A0F0F1B0D0D1C0C0C1D0B0B1F0A0A200909210808220606240505 2504042603032702023C17179E8E8EE4E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E6E3 F5D25CFFC200FFBF00FFBD00FFBB00FFB800FFB600FFB400FFB200FFB000FFAE00FFAC00 FFAA00FFA800FFA600FFA400FFA200FFA100FF9F00FEA00AEADBC2E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B7B8B73B3B3B0A0A0A 0404041E1E1E636463E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 C8C9C8393939E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6C8C9C8393939E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFF3F3F35B5B5B0D0D0D1414147A7A7AFEFEFEFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9D9DAD9 D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 B6B7B64848481313130404041515154A4A4AAFB0AFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFF6D6D6D292929050505101010545454E2E2E2FFFFFFCFCFCF000000 0000000000000000001F1F1FFFFFFFFFFFFFCFCFCF0000000000000000000000001F1F1F FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4D6D7D6D6D7D6D6D7D6D6D7D6EEEFEEFFFFFFFFFFFFFFFFFFEEEFEED6D7D6D6D7D6 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E12EFA8000FF6600FF6400FF6200FF6100FF5F 00FF5D00FF5B00FF5900FF5700FF5500FF5300FF5100FF4F00FF4D00FF4B00FF4900FF47 00FF445BF583E5E7E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E61616161715151814141913131A12121C11111D1010 1E0E0E1F0D0D200C0C220B0B230A0A2409092507072606062805052904042A03032B0202 502C2CBCB2B2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E5F5CE5BFFBD00FFBB00FFB800 FFB600FFB400FFB200FFB000FFAE00FFAC00FFAA00FFA800FFA600FFA400FFA200FFA000 FF9E00FF9D00FF9B00FAA82EE7E6E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6DADBDA0E0E0E737473D7D8D7DDDEDDAFB0AF838383E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E1E2E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6 E6E7E6E6E7E6D6D7D6858585E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF626262 3B3B3BEEEEEEDEDEDE1C1C1C959595FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D5D6D5D5D6D5D5D6D5 D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A5A40606066F6F6FCACBCAE2E3E2D1D2D1 969696646564E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF666666C0C0C0 F0F0F0D4D4D43939392E2E2EFFFFFFCFCFCF000000F3F3F3F3F3F3F3F3F3F5F5F5FFFFFF FFFFFFCFCFCF000000F3F3F3F3F3F3F3F3F3F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D3D5D3D3D5D3D3D5D3D3D5D3 D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 6CF4A500FF6A00FF6800FF6600FF6500FF6300FF6100FF5F00FF5E00FF5C00FF5A00FF58 00FF5600FF5400FF5200FF5000FF4E00FF4B00FF4951F77FE3E7E4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 1818181917171A16161B15151D14141E12121F1111201010220F0F230E0E240C0C250B0B 270A0A2809092908082A06062C05052D04042E03032F0202320101705150D1CCCBE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E6E3F6CA51FFB800FFB600FFB400FFB100FFAF00FFAD00FFAB00 FFA900FFA700FFA500FFA300FFA100FFA000FF9E00FF9C00FF9A00FF9900FF9700F3BC6C E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B9BAB9000000 D6D7D6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D0D1D03B3B3B111111090909414141 CFCFCFE6E7E61718170000001C1C1C1C1C1C878887BEBFBE000000E6E7E6E6E7E6E6E7E6 BEBFBE030303E6E7E6BEBFBE0000007F807F2A2B2A1A1A1AE6E7E6D0D1D03B3B3B111111 090909414141CFCFCFE6E7E61718170000001C1C1C1C1C1C878887BEBFBE000000E6E7E6 E6E7E6D2D3D24949490D0D0D1010105E5E5EDFE0DFE6E7E6BEBFBE000000888988303030 242424303030C2C3C2E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFF7F7F7080808B5B5B5FFFFFFFFFFFF868686323232 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E5E6E51D1D1D666666E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE000000 7F807F2A2B2A1A1A1AE6E7E6D9DAD95656561010100E0E0E565656DDDEDDE6E7E6E6E7E6 D9DAD95656561010100E0E0E565656DDDEDDE6E7E6BEBFBE000000888988303030242424 303030C2C3C2E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1B1B1000000F3F3F3 CFCFCF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B2ECCB02FF6E00FF6C00FF6A00FF6900FF67 00FF6500FF6300FF6200FF6000FF5E00FF5C00FF5A00FF5800FF5600FF5400FF5200FF50 00FF4E3CF974E1E8E3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E61A1A1A1B19191C18181D17171E1616 201515211313221212231111251010260F0F270D0D280C0C290B0B2B0A0A2C09092D0808 2E06063005053104043203033302023B08088A6F6FDDDCDBE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E6E1 F9C33CFFB300FFB100FFAF00FFAD00FFAB00FFA900FFA700FFA500FFA300FFA100FF9F00 FF9D00FF9C00FF9A00FF9800FF9600FF9500FF9402ECD3B2E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DCDDDC141414454545A0A0A0D0D1D0E6E7E6E6E7E6 E6E7E6E6E7E6D1D2D1BEBFBEE6E7E6D5D6D5424242484848E6E7E6BEBFBE030303E6E7E6 E6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6BEBFBE000000 646564E4E5E4E6E7E6E6E7E6D1D2D1BEBFBEE6E7E6D5D6D5424242484848E6E7E6BEBFBE 030303E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E63C3D3C494949DCDDDCD0D1D0 292A29656565E6E7E6BEBFBE000000676767E4E5E4E6E7E66F6F6F3B3B3BE6E7E6E6E7E6 A9A9A9000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF D2D2D2000000E2E2E2FFFFFFFFFFFFB5B5B5050505FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4CDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C0C1C0000000B9BAB9E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE000000646564E4E5E4E6E7E6E6E7E6474847 434343D8D9D8DBDCDB3F3F3F626362E6E7E6E6E7E6474847434343D8D9D8DBDCDB3F3F3F 626362E6E7E6BEBFBE000000676767E4E5E4E6E7E66F6F6F3B3B3BE6E7E6E6E7E6A9A9A9 000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF737373292929FFFFFFCFCFCF000000282828181818373737 949494FDFDFDFFFFFFCFCFCF000000282828181818373737949494FDFDFDFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4CDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDA4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E0E1E026FB8400FF7000FF6E00FF6D00FF6B00FF6900FF6800FF6600FF6400FF6200FF60 00FF5F00FF5D00FF5B00FF5900FF5700FF5500FF5229FB6BD8E8DDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E61C1C1C1D1B1B1E1A1A1F1919201818221717231515241414251313261212 2811112910102A0E0E2B0D0D2C0C0C2E0B0B2F0A0A300909310707320606340505350404 3603033702024B1818AA9696E5E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E4D8FBBB29FFAF00FFAD00FFAA00 FFA800FFA600FFA400FFA200FFA000FF9F00FF9D00FF9B00FF9900FF9700FF9600FF9400 FF9200FF9100FB9D26E7E5E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6C6C6C65A5B5A1D1D1D000000333333BEBFBEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6B2B2B20E0E0EE6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6 E6E7E6E6E7E6BEBFBE030303E6E7E6BEBFBE000000D1D2D1E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6B2B2B20E0E0EE6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6BEBFBE 000000E6E7E6D0D1D0000000C1C2C1E6E7E6E6E7E6959595121212E6E7E6BEBFBE000000 D8D9D8E6E7E6E6E7E6B9BAB90A0A0AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFC6C6C6000000EDEDEDFFFFFFFFFFFF C1C1C1000000F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6ADAEAD000000CDCECDE6E7E6E6E7E69A9B9A000000000000000000DFE0DF BEBFBE000000D1D2D1E6E7E6E6E7E6D1D2D1000000BEBFBEE6E7E6E6E7E6A8A8A8151515 E6E7E6D1D2D1000000BEBFBEE6E7E6E6E7E6A8A8A8151515E6E7E6BEBFBE000000D8D9D8 E6E7E6E6E7E6B9BAB90A0A0AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9A9A90B0B0B C7C7C7FFFFFFE7E7E7ADADADD9D9D9DBDBDBA2A2A2181818707070FFFFFFE7E7E7ADADAD D9D9D9DBDBDBA2A2A2181818707070FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E673F3AE00FF7400FF7200FF7100FF6F 00FF6D00FF6C00FF6A00FF6800FF6700FF6500FF6300FF6100FF5F00FF5D00FF5B00FF59 00FF5718FC64CDEAD6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E61E1E1E1F1D1D201C1C 211B1B221A1A2319192518182616162715152814142913132B12122C11112D0F0F2E0E0E 2F0D0D310C0C320B0B330A0A3409093507073706063805053904043A03033B0202633333 C0B4B3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E9E1CDFCB218FFAA00FFA800FFA600FFA400FFA200FFA000FF9E00 FF9C00FF9A00FF9800FF9700FF9500FF9300FF9200FF9000FF8E00FF8D00F3B973E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CECFCE 4242421E1E1EE5E6E5E6E7E6A4A5A43939391919191B1B1B171817040404E6E7E6BEBFBE 030303E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6A4A5A43939391919191B1B1B171817040404 E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6BBBCBB000000DCDDDC E6E7E6E6E7E6B0B1B0000000E3E4E3BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFD2D2D2000000E2E2E2FFFFFFFFFFFFB5B5B5050505FEFEFEFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C0C1C0000000B9BAB9 E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000DFE0DFBEBFBE000000E6E7E6E6E7E6E6E7E6 B8B9B80000001B1B1B1C1C1C1C1C1C1919190F0F0FE6E7E6B8B9B80000001B1B1B1C1C1C 1C1C1C1919190F0F0FE6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA2A2A2121212C1C1C1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA6A6A6090909FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6A6A6090909 FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6C2EBD505FE7A00FF7600FF7500FF7300FF7100FF7000FF6E00FF6C00FF6B00FF69 00FF6700FF6500FF6400FF6200FF6000FF5E00FF5C05FE5DB2ECC6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6202020211F1F221E1E231D1D241C1C261B1B271919281818 2917172B16162C15152D13132E12122F1111311010320F0F330E0E340C0C360B0B370A0A 3809093908083A06063C05053D04043E03033F02024201017A5150D5CFCEE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6ECD9B2 FEA805FFA500FFA300FFA100FF9F00FF9D00FF9B00FF9A00FF9800FF9600FF9400FF9300 FF9100FF8F00FF8E00FF8C00FF8A00FE8B05EAD8C2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A1A1A1000000DADBDAD6D7D6050505 9C9D9CE2E3E2E6E7E6B4B5B4030303E6E7E6BFC0BF030303E6E7E6E6E7E6E6E7E6C5C5C5 000000E1E2E1E6E7E6E6E7E6AFB0AF030303E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 D6D7D60505059C9D9CE2E3E2E6E7E6B4B5B4030303E6E7E6BFC0BF030303E6E7E6E6E7E6 E6E7E6BEBFBE000000E6E7E6D0D1D0000000C1C2C1E6E7E6E6E7E6969696121212E6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFF7F7F7080808B5B5B5 FFFFFFFFFFFF878787313131FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E5E6E51D1D1D686868E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3 000000DFE0DFBEBFBE000000E6E7E6E6E7E6E6E7E6CFCFCF000000CACBCAE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CFCFCF000000CACBCAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE 000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF919191151515 CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACACAC050505FCFCFC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACACAC050505FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E644F89B00FF7A00FF7800FF77 00FF7500FF7400FF7200FF7100FF6F00FF6D00FF6C00FF6A00FF6800FF6600FF6400FF62 00FF6000FF5E85F1ACE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6222222 232121242020251F1F261E1E281D1D291B1B2A1A1A2B19192C18182E17172F1616301414 311313321212341111351010360F0F370D0D380C0C3A0B0B3B0A0A3C09093D08083E0606 4005054104044203034302024D0B0B987877E0DFDEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F0CB85FFA300FFA100FF9F00FF9D00 FF9B00FF9900FF9700FF9500FF9300FF9200FF9000FF8E00FF8D00FF8B00FF8A00FF8800 FF8700F8A244E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1C2C1777877C4C5C4 E1E2E1C7C8C7414141252525E6E7E6CECFCE000000C4C5C4E6E7E6E1E2E14E4E4E030303 E6E7E6D0D1D0000000CACBCAE6E7E6E6E7E6E2E3E2111111999A99E6E7E6E0E1E0454645 030303E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6CECFCE000000C4C5C4E6E7E6E1E2E1 4E4E4E030303E6E7E6D0D1D0000000CACBCAE6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E6 3C3C3C4B4B4BDDDEDDD1D2D12B2B2B646564E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 BEBFBE030303E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF6161613C3C3CEFEFEFDFDFDF1D1D1D959595FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A5A4060606727272CACBCAE3E4E3D4D5D47B7B7B000000E0E1E0BEBFBE000000E6E7E6 E6E7E6E6E7E6E6E7E64545454E4E4ED5D6D5E6E7E6CFD0CFA4A5A4E6E7E6E6E7E6454545 4E4E4ED5D6D5E6E7E6CFD0CFA4A5A4E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE 030303E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFF7F7F7F171717CDCDCDF7F7F7F7F7F7F7F7F7FFFFFFE8E8E8 C5C5C5EEEEEEF0F0F0B8B8B8212121585858FFFFFFE8E8E8C5C5C5EEEEEEF0F0F0B8B8B8 212121585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A5EEC900FF7E00FF7C00FF7B00FF7900FF7800FF7600FF7500FF7300FF72 00FF7000FF6E00FF6C00FF6B00FF6900FF6700FF6500FF6356F693E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E62525252624242723232822222921212A2020 2C1E1E2D1D1D2E1C1C2F1B1B301A1A321818331717341616351515361414381212391111 3A10103B0F0F3C0E0E3E0C0C3F0B0B400A0A410909420808440606450505460404470303 4802025C1B1BB09696E5E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F6BA56FF9E00FF9C00FF9A00FF9800FF9600FF9400FF9300FF9100 FF8F00FF8D00FF8C00FF8A00FF8900FF8700FF8600FF8400FF8300EDCAA5E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CFD0CF4E4F4E1818180303030E0E0E454645C5C5C5E6E7E6 E6E7E68081801F1F1F343534363636747574030303E6E7E6E6E7E66565650F0F0F0E0E0E 818281E6E7E6A5A6A52222222C2C2C3232327A7A7A030303E6E7E6BEBFBE000000E6E7E6 E6E7E6E6E7E6E6E7E68081801F1F1F343534363636747574030303E6E7E6E6E7E6656565 0F0F0F0E0E0E818281BEBFBE000000E6E7E6E6E7E6D0D1D04748470C0C0C0F0F0F5C5C5C DEDFDEE6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6A9A9A9 000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF F2F2F25B5B5B0C0C0C131313797979FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DEDFDEDEDFDE DEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEA4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B7B8B7494949131313030303 131313464746A7A8A7E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6D9DAD95C5C5C 1313130B0B0B202020787878E6E7E6E6E7E6D9DAD95C5C5C1313130B0B0B202020787878 E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6A9A9A9000000 D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF000000 000000000000000000000000000000EBEBEBE1E1E13737370D0D0D0303031D1D1D727272 F5F5F5FFFFFFE1E1E13737370D0D0D0303031D1D1D727272F5F5F5FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E2E3E224FB9200FF8000FF7F 00FF7D00FF7C00FF7A00FF7900FF7700FF7600FF7400FF7200FF7100FF6F00FF6D00FF6B 00FF6900FF6822FB79DCE8E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E62727272826262925252A24242B23232C22222E20202F1F1F301E1E311D1D321C1C 341A1A3519193618183717173816163915153B13133C12123D11113E10103F0F0F410D0D 420C0C430B0B440A0A4509094608084806064905054A04044B03034C0202703534C9BBBA E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E4DCFBA622 FF9900FF9700FF9600FF9400FF9200FF9000FF8E00FF8D00FF8B00FF8900FF8800FF8600 FF8500FF8300FF8200FF8000FB8F24E6E5E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DBDDDBDBDDDBDBDDDBB1B3B1949694949694949694 B1B3B1DBDDDBDBDDDBDBDDDBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4E0E1E0E0E1E0E0E1E05C5D5C0000000000000000005C5D5C E0E1E0E0E1E0E0E1E0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E68EF0C100FF8400FF8300FF8100FF8000FF7E00FF7D00FF7B00FF7A 00FF7800FF7700FF7500FF7300FF7200FF7000FF6E00FF6C05FE6DB7ECCCE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E62929292A28282B27272C2626 2D25252F2323302222312121322020331F1F351D1D361C1C371B1B381A1A3919193B1717 3C16163D15153E14143F1313411111421010430F0F440E0E450D0D470B0B480A0A490909 4A08084B07074D05054E04044F03035002025302028A5958D7D0CFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBD7B7FE9805FF9500FF9300FF9100FF8F00 FF8D00FF8C00FF8A00FF8800FF8700FF8500FF8400FF8200FF8100FF7F00FF7E00FF7C00 F0BD8EE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6000000000000000000000000000000000000 000000000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 D9DAD9D9DAD9D9DAD9D8D9D8ACADAC949694B0B1B0FEFEFEEFF0EFD9DAD9D9DAD9A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6000000000000000000000000 000000000000000000000000000000000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DCDEDC DCDEDCDCDEDCD9DBD9393939000000393939D9DBD9DCDEDCDCDEDCDCDEDCA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E11EFC9400FF87 00FF8500FF8400FF8200FF8100FF7F00FF7E00FF7C00FF7B00FF7900FF7800FF7600FF74 00FF7300FF7100FF6F7AF2ADE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E62B2B2B2C2A2A2D29292E28282F2727302626322424332323342222 352121362020381E1E391D1D3A1C1C3B1B1B3C1A1A3E18183F1717401616411515421414 441212451111461010470F0F480E0E4A0C0C4B0B0B4C0A0A4D09094E0808500606510505 5204045303035402025D0B0BA07877E2E0DFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6F2C07AFF9200FF9000FF8E00FF8C00FF8B00FF8900FF8700FF8600FF8400 FF8300FF8100FF8000FF7E00FF7D00FF7B00FF7A00FC861EE7E5E1E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D6D7D6D6D7D6D6D7D6D6D7D6D2D3D2 AFB1AFF9F9F9F4F5F4D6D7D6D6D7D6D6D7D6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9CCCDCC3D3E3D CCCDCCD9DAD9D9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E688F1C100FF8A00FF8900FF8800FF8600FF8500FF8400FF82 00FF8100FF7F00FF7E00FF7C00FF7A00FF7900FF7700FF7500FF7332FA8BE3E7E4E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E62D2D2D2E2C2C 2F2B2B302A2A3129293228283426263525253624243723233822223A20203B1F1F3C1E1E 3D1D1D3E1C1C3F1B1B4119194218184317174416164515154713134812124911114A1010 4B0F0F4C0E0E4E0C0C4F0B0B500A0A510909520808540606550505560404570303580202 6D2120BA9E9DE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E6E3FAA232FF8D00 FF8C00FF8A00FF8800FF8600FF8500FF8300FF8100FF8000FF7E00FF7D00FF7B00FF7A00 FF7900FF7700FF7600F0B988E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D6D7D6F3F3F3D6D7D6D3D5D3D3D5D3 D3D5D3A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DFE0DF19FC97 00FF8D00FF8C00FF8A00FF8900FF8800FF8600FF8500FF8300FF8200FF8000FF7F00FF7D 00FF7B00FF7A00FF7805FF79BDEBD1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E62F2F2F302E2E312D2D322C2C332B2B342A2A362828 3727273826263925253A24243B23233D21213E20203F1F1F401E1E411D1D421C1C441A1A 4519194618184717174816164A14144B13134C12124D11114E10104F0F0F510D0D520C0C 530B0B540A0A5509095608085806065905055A04045B03035C0202803A3ACCBBBAE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EAD7BDFF8D05FF8900FF8700FF8500FF8400FF8200 FF8000FF7F00FF7D00FF7C00FF7A00FF7900FF7700FF7600FF7500FF7300FC7E19E7E4DF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E684F1C200FF9100FF8F00FF8E00FF8D00FF8B00FF8A 00FF8900FF8700FF8600FF8400FF8300FF8100FF8000FF7E00FF7D00FF7B70F3AEE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 313131323030332F2F342E2E352D2D362C2C382A2A3929293A28283B27273C26263E2424 3F2323402222412121422020441E1E451D1D461C1C471B1B481A1A4A18184B17174C1616 4D15154E1414501212511111521010530F0F540E0E560C0C570B0B580A0A5909095A0808 5C06065D05055E04045F0303600202630202965B5ADCD5D4E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6F3B56FFF8600FF8400FF8200FF8100FF7F00FF7E00FF7C00FF7B00FF7900FF7800 FF7600FF7500FF7400FF7200FF7100FF7000F1B384E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1 17FD9C00FF9300FF9200FF9100FF8F00FF8E00FF8D00FF8B00FF8A00FF8900FF8700FF86 00FF8400FF8300FF8100FF7F1EFC8CDFE8E3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6333333343232353131363030372F2F 382E2E3A2C2C3B2B2B3C2A2A3D29293E2828402626412525422424432323442222452121 471F1F481E1E491D1D4A1C1C4B1B1B4D19194E18184F1717501616511515531313541212 551111561010570F0F580E0E5A0C0C5B0B0B5C0A0A5D09095E0808600606610505620404 6303036402026E0E0EAC7F7EE3E2E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E4DFFC901EFF8100FF8000 FF7E00FF7C00FF7B00FF7900FF7800FF7600FF7500FF7400FF7200FF7100FF7000FF6E00 FF6D00FC7917E7E5E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E691F0C900FF9700FF9600FF9500FF9300FF92 00FF9100FF8F00FF8E00FF8D00FF8B00FF8A00FF8800FF8700FF8500FF8400FF829DEFC6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E63535353634343733333832323931313A30303C2E2E3D2D2D3E2C2C3F2B2B 402A2A4129294327274426264525254624244723234921214A20204B1F1F4C1E1E4D1D1D 4E1C1C501A1A5119195218185317175416165515155713135812125911115A10105B0F0F 5D0D0D5E0C0C5F0B0B600A0A6109096208086406066505056604046703036802027B2120 BF9E9DE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6EEC79DFF7E00FF7D00FF7B00FF7A00FF7800FF7700FF7500 FF7400FF7200FF7100FF7000FF6E00FF6D00FF6C00FF6A00FF6900EFB891E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E5E6E528FBA800FF9900FF9800FF9700FF9600FF9500FF9300FF9200FF9100FF8F00FF8E 00FF8D00FF8B00FF8A00FF8800FF873BF99EE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6373737383636393535 3A34343B33333C32323E30303F2F2F402E2E412D2D422C2C442B2B452929462828472727 4826264A25254B24244C22224D21214E2020501F1F511E1E521D1D531B1B541A1A551919 5718185817175916165A14145B13135D12125E11115F1010600F0F610D0D630C0C640B0B 650A0A6609096708086906066A05056B04046C03036D0202903F3FD2C1C0E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 F9973BFF7A00FF7800FF7700FF7500FF7400FF7200FF7100FF7000FF6E00FF6D00FF6C00 FF6A00FF6900FF6800FF6700FB7C28E6E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A6EED200FF9D00FF9C00FF9B00FF9A 00FF9900FF9700FF9600FF9500FF9400FF9200FF9100FF9000FF8E00FF8D00FF8B02FF8B BBECD5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E63939393A38383B37373C36363D35353F3434403232413131 423030432F2F452E2E462C2C472B2B482A2A4929294B28284C26264D25254E24244F2323 512222522121531F1F541E1E561D1D571C1C581B1B5919195A18185C17175D16165E1515 5F1313601212621111631010640F0F650E0E660C0C680B0B690A0A6A09096B08086C0606 6E05056F0404700303710202750404A36060DDD5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBD3BBFF7802FF7500FF7400FF7200 FF7100FF6F00FF6E00FF6D00FF6B00FF6A00FF6900FF6800FF6600FF6500FF6400FF6300 EDC2A6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E648F7B600FFA000FF9F00FF9E00FF9C00FF9B00FF9A00FF9900FF9800FF96 00FF9500FF9400FF9200FF9100FF9000FF8E4EF7ABE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E63B3B3B 3C3A3A3D39393E38383F3737413636423434433333443232453131473030482F2F492D2D 4A2C2C4B2B2B4D2A2A4E29294F2727502626512525532424542323552222562020571F1F 591E1E5A1D1D5B1C1C5C1A1A5D19195F1818601717611616621515631313651212661111 671010680F0F690D0D6B0C0C6C0B0B6D0A0A6E09096F0808710606720505730404740303 7502027E0E0EB58180E4E3E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F69B4EFF7200FF7100FF6F00FF6E00FF6D00FF6B00FF6A00FF6900 FF6700FF6600FF6500FF6400FF6300FF6100FF6000F78948E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D0D1D004FFA400FFA200FFA1 00FFA000FF9F00FF9E00FF9D00FF9C00FF9A00FF9900FF9800FF9700FF9500FF9400FF92 01FF91BBECD6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E63D3D3D3E3C3C3F3B3B403A3A413939423838 4436364535354634344733334832324A31314B2F2F4C2E2E4D2D2D4E2C2C502B2B512A2A 5228285327275426265625255724245823235921215A20205C1F1F5D1E1E5E1D1D5F1B1B 601A1A6119196318186417176516166614146713136912126A11116B10106C0F0F6D0D0D 6F0C0C700B0B710A0A7209097308087506067605057704047803037902028D2626C8A6A5 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBD1BBFF7001 FF6E00FF6D00FF6B00FF6A00FF6800FF6700FF6600FF6500FF6300FF6200FF6100FF6000 FF5F00FF5E00FF6004E8DAD0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E679F2C800FFA600FFA500FFA400FFA300FFA200FFA100FFA000FF9E 00FF9D00FF9C00FF9B00FF9900FF9800FF9700FF9540F8ABE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E63F3F3F403E3E413D3D423C3C433B3B443A3A4638384737374836364935354A3434 4C33334D31314E30304F2F2F502E2E512D2D532C2C542A2A552929562828572727592626 5A25255B23235C22225D21215F2020601F1F611E1E621C1C631B1B641A1A661919671818 6817176915156A14146C13136D12126E11116F1010700E0E710D0D730C0C740B0B750A0A 7609097707077906067A05057B04047C03037D02029C4141D5C1C0E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F88E40FF6B00FF6A00FF6800FF6700FF6600 FF6400FF6300FF6200FF6100FF5F00FF5E00FF5D00FF5C00FF5B00FF5A00F2A379E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E620FCB200FFA9 00FFA800FFA700FFA600FFA500FFA300FFA200FFA100FFA000FF9F00FF9E00FF9C00FF9B 00FF9A00FF98A6EED0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6414141424040433F3F443E3E 453D3D473C3C483A3A4939394A38384B37374D36364E34344F3333503232513131533030 542F2F552D2D562C2C572B2B592A2A5A29295B27275C26265D25255F2424602323612222 622020631F1F651E1E661D1D671C1C681A1A6919196B18186C17176D16166E15156F1313 711212721111731010740F0F750D0D770C0C780B0B790A0A7A09097B08087D06067E0505 7F0404800303810202850404AF6666E0D9D8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6EDC4A6FF6800FF6700FF6500FF6400FF6300FF6100FF6000FF5F00FF5E00FF5D00 FF5C00FF5A00FF5900FF5800FF5700FB6B20E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6B8ECDB00FFAC00FFAB00FFAA00FFA900FFA800FFA700FFA6 00FFA500FFA400FFA300FFA200FFA100FF9F00FF9E00FF9D26FBA8E5E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6434343444242454141464040473F3F483E3E4A3C3C4B3B3B4C3A3A 4D39394E3838503737513535523434533333543232563131573030582E2E592D2D5A2C2C 5C2B2B5D2A2A5E28285F2727602626622525632424642323652121662020671F1F691E1E 6A1D1D6B1C1C6C1A1A6D19196F1818701717711616721414731313751212761111771010 780F0F790D0D7B0C0C7C0B0B7D0A0A7E09097F0808810606820505830404840303850202 8E1212BE8786E4E3E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E6E5FB7A26FF6300FF6200 FF6100FF6000FF5E00FF5D00FF5C00FF5B00FF5A00FF5900FF5800FF5700FF5600FF5500 FF5400EBCAB8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66AF4C9 00FFAF00FFAE00FFAD00FFAC00FFAB00FFAA00FFA900FFA800FFA700FFA600FFA500FFA4 00FFA200FFA100FFA081F2C7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6454545464444 4743434842424941414A40404C3E3E4D3D3D4E3C3C4F3B3B503A3A523939533737543636 5535355634345733335932325A30305B2F2F5C2E2E5D2D2D5F2C2C602B2B612929622828 6327276526266625256724246822226921216A20206C1F1F6D1E1E6E1D1D6F1B1B701A1A 7219197318187417177516167614147813137912127A11117B10107C0F0F7D0D0D7F0C0C 800B0B810A0A8209098308088506068605058704048803038902029A2626CDA8A7E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6F1AD81FF6000FF5F00FF5E00FF5D00FF5B00FF5A00FF5900 FF5800FF5700FF5600FF5500FF5400FF5300FF5200FF5100F3966AE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E51DFCB900FFB200FFB100FFB000FFAF00FFAE 00FFAD00FFAC00FFAB00FFAA00FFA900FFA800FFA700FFA500FFA407FEA5D6E9E1E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E64747474846464945454A44444B43434D42424E4040 4F3F3F503E3E513D3D533C3C543A3A5539395638385737375936365A35355B33335C3232 5D31315F3030602F2F612D2D622C2C632B2B652A2A6629296728286826266925256B2424 6C23236D22226E20206F1F1F711E1E721D1D731C1C741B1B751919771818781717791616 7A15157B13137D12127E11117F1010800F0F810E0E830C0C840B0B850A0A860909870808 8906068A05058B04048C03038D02028F0000AB4949DAC6C6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E8DED6 FE6107FF5C00FF5B00FF5A00FF5800FF5700FF5600FF5500FF5400FF5300FF5200FF5100 FF5000FF4F00FF4E00FC601DE6E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E1E2E1E1E2E1E1E2E1E1E2E1 E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1E1E2E1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 BAECDD00FFB500FFB400FFB300FFB200FFB200FFB100FFB000FFAF00FFAE00FFAD00FFAC 00FFAB00FFAA00FFA800FFA751F7BCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 4A4A4A4B49494C48484D47474E46464F4545514343524242534141544040553F3F573D3D 583C3C593B3B5A3A3A5B39395D37375E36365F3535603434613333633131643030652F2F 662E2E672D2D692B2B6A2A2A6B29296C28286D27276F2525702424712323722222732121 742020761E1E771D1D781C1C791B1B7A1A1A7C18187D17177E16167F1515801414821212 831111841010850F0F860E0E880C0C890B0B8A0A0A8B09098C08088E06068F0505900404 910303920202960505B96868E1D9D8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F68C51FF5900FF5800FF5700FF5500 FF5400FF5300FF5200FF5100FF5000FF4F00FF4E00FF4D00FF4D00FF4C00FF4B00EBCABB E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4DEDFDEDEDFDEDEDFDEDEDFDEDADBDAA9ABA9DADBDADEDFDE DEDFDEDEDFDEDEDFDEA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4DEDFDEDEDFDEDEDFDEDEDFDEDADBDAA9ABA9DADBDADEDFDEDEDFDE DEDFDEDEDFDEA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E67AF2D100FFB800FFB700FFB600FFB5 00FFB400FFB300FFB300FFB200FFB100FFB000FFAF00FFAE00FFAD00FFAB00FFAAA6EED5 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E64C4C4C4D4B4B4E4A4A4F4949504848 514747534545544444554343564242574141593F3F5A3E3E5B3D3D5C3C3C5D3B3B5F3939 603838613737623636633535643434663232673131683030692F2F6A2E2E6C2C2C6D2B2B 6E2A2A6F2929702828722626732525742424752323762222772121791F1F7A1E1E7B1D1D 7C1C1C7D1B1B7F1919801818811717821616831515851313861212871111881010890F0F 8A0E0E8C0C0C8D0B0B8E0A0A8F09099008089206069305059404049503039602029E1212 C88C8CE5E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6EDBFA6FF5600FF5500FF5400FF5200FF5100FF5000FF4F00FF4E00FF4D00 FF4C00FF4C00FF4B00FF4A00FF4900FF4800F29B7AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DBDDDB DBDDDBDBDDDBDADCDAA7A8A7949694ADAEADDCDEDCDBDDDBDBDDDBDBDDDBA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DBDDDBDBDDDB DBDDDBDADCDAA7A8A7949694ADAEADDCDEDCDBDDDBDBDDDBDBDDDBA4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E637F9C500FFBA00FFBA00FFB900FFB800FFB700FFB600FFB500FFB500FFB4 00FFB300FFB200FFB100FFB000FFAF11FDB1E1E7E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E64E4E4E4F4D4D504C4C514B4B524A4A534949554747564646574545584444 5943435B41415C40405D3F3F5E3E3E5F3D3D603C3C623A3A633939643838653737663636 6834346933336A32326B31316C30306D2F2F6F2D2D702C2C712B2B722A2A732929752727 7626267725257824247923237A22227C20207D1F1F7E1E1E7F1D1D801C1C821A1A831919 8418188517178616168715158913138A12128B11118C10108D0F0F8F0D0D900C0C910B0B 920A0A9309099408089606069705059804049903039A0202AA2C2CD3ADACE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E4E1FD5E11FF5200 FF5000FF4F00FF4E00FF4D00FF4C00FF4B00FF4A00FF4A00FF4900FF4800FF4700FF4600 FF4500F96B37E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9B0B2B0949694949694 949694BCBDBCD9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9B0B2B0949694949694949694 BCBDBCD9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D8D9D805FFBF00FFBD00FFBC 00FFBC00FFBB00FFBA00FFB900FFB800FFB700FFB700FFB600FFB500FFB400FFB300FFB2 5AF6C6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6505050514F4F524E4E 534D4D544C4C554B4B5749495848485947475A46465B45455D43435E42425F4141604040 613F3F633D3D643C3C653B3B663A3A6739396937376A36366B35356C34346D33336F3131 703030712F2F722E2E732D2D752B2B762A2A7729297828287927277A26267C24247D2323 7E22227F2121802020821E1E831D1D841C1C851B1B861A1A8818188917178A16168B1515 8C14148E12128F1111901010910F0F920E0E940C0C950B0B960A0A9709099808089A0606 9B05059C04049D03039E0202A00000B64949DDC6C6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F58B5AFF4E00FF4D00FF4C00FF4B00FF4A00FF4900 FF4800FF4800FF4700FF4600FF4500FF4400FF4300FF4300FF4605E7DDD8E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6474847505150E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6414141565656E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFF5B5B5B3333330B0B0B000000F3F3F3FFFFFFFFFFFFFFFFFFF3F3F3 5B5B5B0D0D0D1414147A7A7AFEFEFEFFFFFFFFFFFFF3F3F35B5B5B0D0D0D1414147A7A7A FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4D6D7D6D6D7D6D6D7D6D6D7D6EEEFEEFFFFFFFFFFFFFFFFFFEEEFEED6D7D6D6D7D6 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000000000 000000070707383838BCBCBCE6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFF6D6D6D292929050505101010545454E2E2E2FFFFFFCFCFCF000000000000 0000000000001F1F1FFFFFFFFFFFFFCFCFCF0000000000000000000000001F1F1FFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 D6D7D6D6D7D6D6D7D6D6D7D6EEEFEEFFFFFFFFFFFFFFFFFFEEEFEED6D7D6D6D7D6A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A4EEDB00FFC100FFC000FFBF00FFBE00FFBE00FFBD00FFBC00FFBB 00FFBA00FFBA00FFB900FFB800FFB700FFB600FFB5A9EDD9E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6525252535151545050554F4F564E4E574D4D594B4B5A4A4A 5B49495C48485D47475F4545604444614343624242634141653F3F663E3E673D3D683C3C 693B3B6A3A3A6C38386D37376E36366F3535703434723232733131743030752F2F762E2E 782C2C792B2B7A2A2A7B29297C28287D27277F2525802424812323822222832121851F1F 861E1E871D1D881C1C891B1B8B19198C18188D17178E16168F1515901414921212931111 941010950F0F960E0E980C0C990B0B9A0A0A9B09099C08089E06069F0505A00404A10303 A20202A60707C46F6FE3DCDBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 EDBDA9FF4B00FF4A00FF4900FF4800FF4700FF4600FF4500FF4500FF4400FF4300FF4200 FF4100FF4100FF4000FF3F00EDB7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A5A4060606D5D6D5 E6E7E6E6E7E6E6E7E6CACBCA020202B3B4B3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF878787AFAFAF A2A2A2000000F3F3F3FFFFFFFFFFFFFFFFFF6262623B3B3BEEEEEEDEDEDE1C1C1C959595 FFFFFFFFFFFF6262623B3B3BEEEEEEDEDEDE1C1C1C959595FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D3D5D3D3D5D3D3D5D3D3D5D3 D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000D8D9D8E2E3E2D0D1D04F504F1F1F1FE6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF666666C0C0C0F0F0F0 D4D4D43939392E2E2EFFFFFFCFCFCF000000F3F3F3F3F3F3F3F3F3F5F5F5FFFFFFFFFFFF CFCFCF000000F3F3F3F3F3F3F3F3F3F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3 D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3D3D5D3A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66EF4D400FFC3 00FFC300FFC200FFC100FFC000FFC000FFBF00FFBE00FFBD00FFBD00FFBC00FFBB00FFBA 00FFB90BFEBAE1E8E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6545454 555353565252575151585050594F4F5B4D4D5C4C4C5D4B4B5E4A4A5F4949614747624646 634545644444654343664242684040693F3F6A3E3E6B3D3D6C3C3C6E3A3A6F3939703838 713737723636733535753333763232773131783030792F2F7B2D2D7C2C2C7D2B2B7E2A2A 7F2929802828822626832525842424852323862222882020891F1F8A1E1E8B1D1D8C1C1C 8D1B1B8F1919901818911717921616931515951313961212971111981010990F0F9A0E0E 9C0C0C9D0B0B9E0A0A9F0909A00808A20606A30505A40404A50303A60202AF1717CF8E8E E5E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7E4E1FE500BFF4700FF4600FF4500 FF4400FF4300FF4200FF4200FF4100FF4000FF3F00FF3F00FF3E00FF3D00FF3C00F38E6E E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E4E5E41C1C1C7F807FE6E7E6E6E7E6E6E7E6707070292A29 E6E7E6D0D1D03B3B3B111111090909414141CFCFCFE6E7E6BEBFBE000000E6E7E6BEBFBE 000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6D9DAD95656561010100E0E0E 565656DDDEDDE6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFF F7F7F7080808B5B5B5FFFFFFFFFFFF868686323232FFFFFFF7F7F7080808B5B5B5FFFFFF FFFFFF868686323232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0 000000DBDCDBE6E7E6E6E7E6A6A7A6000000E1E2E1BEBFBE000000E6E7E6BEBFBE000000 E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6D9DAD95656561010100E0E0E565656 DDDEDDE6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1B1B1000000F3F3F3CFCFCF 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF000000FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E63AF9CF00FFC600FFC500FFC500FFC400FFC300FFC3 00FFC200FFC100FFC000FFC000FFBF00FFBE00FFBD00FFBC48F7C8E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E65656565755555854545953535A52525B5151 5D4F4F5E4E4E5F4D4D604C4C614B4B624A4A6448486547476646466745456844446A4242 6B41416C40406D3F3F6E3E3E6F3D3D713B3B723A3A733939743838753737763636783434 7933337A32327B31317C30307E2E2E7F2D2D802C2C812B2B822A2A832929852727862626 8725258824248923238B21218C20208D1F1F8E1E1E8F1D1D901C1C921A1A931919941818 9517179616169715159913139A12129B11119C10109D0F0F9F0D0DA00C0CA10B0BA20A0A A30909A40808A60606A70505A80404A90303AA0202B72C2CD9B2B2E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F77748FF4400FF4300FF4200FF4100FF4000FF3F00FF3F00FF3E00 FF3D00FF3C00FF3C00FF3B00FF3A00FF3A00F9653AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 777877242424E6E7E6E6E7E6E3E4E3171817868786E6E7E6D1D2D1BEBFBEE6E7E6D5D6D5 424242484848E6E7E6BEBFBE000000E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE 030303E6E7E6E6E7E6474847434343D8D9D8DBDCDB3F3F3F626362E6E7E6E6E7E6A9A9A9 000000D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFD2D2D2000000E2E2E2FFFFFFFFFFFF B5B5B5050505FEFEFED2D2D2000000E2E2E2FFFFFFFFFFFFB5B5B5050505FEFEFEFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4CDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDA4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6D5D6D5515251 464746E6E7E6BEBFBE000000E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303 E6E7E6E6E7E6474847434343D8D9D8DBDCDB3F3F3F626362E6E7E6E6E7E6A9A9A9000000 D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF737373292929FFFFFFCFCFCF000000282828181818373737949494 FDFDFDFFFFFFCFCFCF000000282828181818373737949494FDFDFDFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4CDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDA4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E2E3E2 09FECA00FFC900FFC800FFC800FFC700FFC600FFC600FFC500FFC400FFC300FFC300FFC2 00FFC100FFC000FFBF88F1D5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E65858585957575A56565B55555C54545D53535F5151605050614F4F624E4E634D4D 654B4B664A4A6749496848486947476B45456C44446D43436E42426F4141704040723E3E 733D3D743C3C753B3B763A3A7838387937377A36367B35357C34347E32327F3131803030 812F2F822E2E842C2C852B2B862A2A8729298828288927278B25258C24248D23238E2222 8F2121911F1F921E1E931D1D941C1C951B1B9719199818189917179A16169B15159C1414 9E12129F1111A01010A10F0FA20E0EA40C0CA50B0BA60A0AA70909A80808AA0606AB0505 AC0404AD0303AE0202B00101C35150E0CCCBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F0A387FF4100 FF4000FF3F00FF3E00FF3D00FF3C00FF3C00FF3B00FF3A00FF3900FF3900FF3800FF3700 FF3700FE3D09E6E4E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CFD0CF040404AEAFAEE6E7E69F9F9F 0A0A0AD9DAD9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B2B2B20E0E0EE6E7E6BEBFBE000000 E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6D1D2D1000000BEBFBE E6E7E6E6E7E6A8A8A8151515E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3 FFFFFFFFFFFFC6C6C6000000EDEDEDFFFFFFFFFFFFC1C1C1000000F7F7F7C6C6C6000000 EDEDEDFFFFFFFFFFFFC1C1C1000000F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6B0B1B00000000000000000000000001F1F1FD1D2D1E6E7E6BEBFBE000000E6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6D1D2D1000000BEBFBEE6E7E6 E6E7E6A8A8A8151515E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9A9A90B0B0BC7C7C7 FFFFFFE7E7E7ADADADD9D9D9DBDBDBA2A2A2181818707070FFFFFFE7E7E7ADADADD9D9D9 DBDBDBA2A2A2181818707070FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C0EBE200FFCC00FFCC00FFCB00FFCA00FFCA 00FFC900FFC800FFC800FFC700FFC600FFC600FFC500FFC400FFC300FFC3C8EAE1E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E65A5A5A5B59595C58585D5757 5E56565F5555615353625252635151645050654F4F674D4D684C4C694B4B6A4A4A6B4949 6C48486E46466F4545704444714343724242744040753F3F763E3E773D3D783C3C793B3B 7B39397C38387D37377E36367F3535813333823232833131843030852F2F872D2D882C2C 892B2B8A2A2A8B29298C28288E26268F2525902424912323922222942020951F1F961E1E 971D1D981C1C991B1B9B19199C18189D17179E16169F1515A11313A21212A31111A41010 A50F0FA60E0EA80C0CA90B0BAA0A0AAB0909AC0808AE0606AF0505B00404B10303B20202 B60808CC6F6FE3DCDBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E9D1C8FF3D00FF3C00FF3C00FF3B00FF3A00FF3900 FF3900FF3800FF3700FF3700FF3600FF3500FF3500FF3400FF3300EAC9C0E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E64A4A4A525252E6E7E6434343595A59E6E7E6E6E7E6A4A5A4393939 1919191B1B1B171817040404E6E7E6BEBFBE000000E6E7E6BEBFBE000000E6E7E6E6E7E6 E6E7E6BEBFBE030303E6E7E6B8B9B80000001B1B1B1C1C1C1C1C1C1919190F0F0FE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFD2D2D2000000E2E2E2 FFFFFFFFFFFFB5B5B5050505FEFEFED2D2D2000000E2E2E2FFFFFFFFFFFFB5B5B5050505 FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6 D4D5D4525252383838E6E7E6BEBFBE000000E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 BEBFBE030303E6E7E6B8B9B80000001B1B1B1C1C1C1C1C1C1919190F0F0FE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA2A2A2121212C1C1C1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA6A6A6090909FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6A6A6090909FEFEFE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E698EFDF00FFCF00FFCE00FFCE00FFCD00FFCD00FFCC00FFCB00FFCB00FFCA00FFC9 00FFC900FFC800FFC700FFC719FCC9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E65C5C5C5D5B5B5E5A5A5F5959605858615757635555645454655353 6652526751516950506A4E4E6B4D4D6C4C4C6D4B4B6F4A4A704848714747724646734545 754444764343774141784040793F3F7B3E3E7C3D3D7D3B3B7E3A3A7F3939803838823737 8336368434348533338632328831318930308A2E2E8B2D2D8C2C2C8E2B2B8F2A2A902929 9127279226269425259524249623239722229820209A1F1F9B1E1E9C1D1D9D1C1C9E1A1A 9F1919A11818A21717A31616A41515A51313A71212A81111A91010AA0F0FAB0D0DAD0C0C AE0B0BAF0A0AB00909B10808B30606B40505B50404B60303B70202BD1818D79696E6E6E5 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6FC4D19FF3900FF3800FF3800FF3700FF3600FF3600FF3500FF3400FF3400FF3300 FF3200FF3200FF3100FF3100EFA898E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A7A8A7070707 BCBCBC020202B6B7B6E6E7E6D6D7D60505059C9D9CE2E3E2E6E7E6B4B5B4030303E6E7E6 BEBFBE000000E6E7E6C5C5C5000000E1E2E1E6E7E6E6E7E6AFB0AF030303E6E7E6CFCFCF 000000CACBCAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3 000000F3F3F3FFFFFFFFFFFFF7F7F7080808B5B5B5FFFFFFFFFFFF878787313131FFFFFF F7F7F7080808B5B5B5FFFFFFFFFFFF878787313131FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6B0B1B0000000DBDCDBE6E7E6E6E7E6A6A7A6000000DDDEDDBEBFBE 000000E6E7E6C5C5C5000000E1E2E1E6E7E6E6E7E6AFB0AF030303E6E7E6CFCFCF000000 CACBCAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF919191151515CCCCCC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACACAC050505FCFCFCFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFACACAC050505FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4EBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66CF4DB00FFD200FFD100FFD1 00FFD000FFD000FFCF00FFCE00FFCE00FFCD00FFCC00FFCC00FFCB00FFCA00FFCA4EF7D3 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E65E5E5E5F5D5D 605C5C615B5B625A5A6359596557576656566755556854546953536B52526C50506D4F4F 6E4E4E6F4D4D714C4C724B4B7349497448487547477646467845457943437A42427B4141 7C40407E3F3F7F3E3E803C3C813B3B823A3A843939853838863737873535883434893333 8B32328C31318D2F2F8E2E2E8F2D2D912C2C922B2B932A2A942828952727972626982525 9924249A23239B21219C20209E1F1F9F1E1EA01D1DA11C1CA21A1AA41919A51818A61717 A71616A81414AA1313AB1212AC1111AD1010AE0F0FAF0D0DB10C0CB20B0BB30A0AB40909 B50808B70606B80505B90404BA0303BB0202C63333DDB4B3E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F7724EFF3600FF3500FF3500 FF3400FF3300FF3300FF3200FF3100FF3100FF3000FF2F00FF2F00FF2E00FF2E00F3856C E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E51F1F1F1E1E1E2C2C2CE6E7E6E6E7E6CECFCE 000000C4C5C4E6E7E6E1E2E14E4E4E030303E6E7E6BEBFBE000000E6E7E6E2E3E2111111 999A99E6E7E6E0E1E0454645030303E6E7E6E6E7E64545454E4E4ED5D6D5E6E7E6CFD0CF A4A5A4E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFF7F7F7F7F7F7BDBDBD000000ECECECFAFAFAFFFFFFFFFFFF 6161613C3C3CEFEFEFDFDFDF1D1D1D959595FFFFFFFFFFFF6161613C3C3CEFEFEFDFDFDF 1D1D1D959595FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000 D8D9D8E2E3E2D0D1D04F504F191919E5E6E5BEBFBE000000E6E7E6E2E3E2111111999A99 E6E7E6E0E1E0454645030303E6E7E6E6E7E64545454E4E4ED5D6D5E6E7E6CFD0CFA4A5A4 E6E7E6E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFF7F7F7F171717CDCDCDF7F7F7F7F7F7F7F7F7FFFFFFE8E8E8C5C5C5 EEEEEEF0F0F0B8B8B8212121585858FFFFFFE8E8E8C5C5C5EEEEEEF0F0F0B8B8B8212121 585858FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E644F8DA00FFD400FFD400FFD300FFD300FFD200FFD200FFD100FFD1 00FFD000FFD000FFCF00FFCE00FFCE00FFCD82F1DBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6606060615F5F625E5E635D5D645C5C655B5B675959 6858586957576A56566B55556D53536E52526F5151705050714F4F734E4E744C4C754B4B 764A4A7749497948487A46467B45457C44447D43437F4242804040813F3F823E3E833D3D 853C3C863B3B8739398838388937378B36368C35358D33338E32328F3131913030922F2F 932E2E942C2C952B2B972A2A9829299928289A26269B25259D24249E23239F2222A02020 A11F1FA31E1EA41D1DA51C1CA61B1BA71919A91818AA1717AB1616AC1515AD1313AF1212 B01111B11010B20F0FB30E0EB50C0CB60B0BB70A0AB80909B90808BB0606BC0505BD0404 BE0303BF0202C10101CE5150E2CFCEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F19882FF3300FF3200FF3100FF3100FF3000FF2F00FF2F00FF2E00 FF2E00FF2D00FF2D00FF2C00FF2C00FF2B00F86244E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E67A7A7A000000898A89E6E7E6E6E7E6E6E7E68081801F1F1F343534363636747574 030303E6E7E6BEBFBE000000E6E7E6E6E7E6A5A6A52222222C2C2C3232327A7A7A030303 E6E7E6E6E7E6D9DAD95C5C5C1313130B0B0B202020787878E6E7E6E6E7E6A9A9A9000000 D4D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF000000 000000000000000000000000535353FFFFFFFFFFFFF2F2F25B5B5B0C0C0C131313797979 FEFEFEFFFFFFFFFFFFF2F2F25B5B5B0C0C0C131313797979FEFEFEFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B0B1B0000000000000000000070707373737B7B8B7 E6E7E6BEBFBE000000E6E7E6E6E7E6A5A6A52222222C2C2C3232327A7A7A030303E6E7E6 E6E7E6D9DAD95C5C5C1313130B0B0B202020787878E6E7E6E6E7E6A9A9A9000000D4D5D4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF000000000000 000000000000000000000000EBEBEBE1E1E13737370D0D0D0303031D1D1D727272F5F5F5 FFFFFFE1E1E13737370D0D0D0303031D1D1D727272F5F5F5FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E620FCDA00FFD7 00FFD700FFD600FFD600FFD500FFD500FFD400FFD400FFD300FFD300FFD200FFD100FFD1 00FFD0B5ECE1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 626262636161646060655F5F665E5E675D5D695B5B6A5A5A6B59596C58586D57576F5656 705454715353725252735151755050764E4E774D4D784C4C794B4B7B4A4A7C49497D4747 7E46467F4545814444824343834141844040853F3F863E3E883D3D893C3C8A3A3A8B3939 8C38388E37378F3636903434913333923232943131953030962F2F972D2D982C2C9A2B2B 9B2A2A9C29299D27279E2626A02525A12424A22323A32222A42020A51F1FA71E1EA81D1D A91C1CAA1A1AAB1919AD1818AE1717AF1616B01515B11313B31212B41111B51010B60F0F B70D0DB90C0CBA0B0BBB0A0ABC0909BD0808BF0606C00505C10404C20303C30202C70B0B D67877E5DFDEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBC0B5FF2F00 FF2F00FF2E00FF2E00FF2D00FF2C00FF2C00FF2B00FF2B00FF2A00FF2A00FF2900FF2900 FF2800FC4320E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4E0E1E0E0E1E0E0E1E05C5D5C0000000000000000005C5D5C E0E1E0E0E1E0E0E1E0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4E0E1E0E0E1E0E0E1E05C5D5C0000000000000000005C5D5CE0E1E0 E0E1E0E0E1E0A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6DFE8E603FFDA00FFDA00FFDA00FFD900FFD900FFD800FFD8 00FFD700FFD700FFD600FFD600FFD500FFD500FFD402FFD4DCE8E5E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6646464656363666262676161686060 695F5F6B5D5D6C5C5C6D5B5B6E5A5A6F5959715858725656735555745454755353775252 785050794F4F7A4E4E7B4D4D7C4C4C7E4B4B7F4949804848814747824646844545854444 8642428741418840408A3F3F8B3E3E8C3C3C8D3B3B8E3A3A8F3939913838923737933535 9434349533339732329831319930309A2E2E9B2D2D9D2C2C9E2B2B9F2A2AA02828A12727 A22626A42525A52424A62323A72121A82020AA1F1FAB1E1EAC1D1DAD1C1CAE1A1AB01919 B11818B21717B31616B41414B51313B71212B81111B91010BA0F0FBB0D0DBD0C0CBE0B0B BF0A0AC00909C10808C30606C40505C50404C60303C70202CC1B1BDC9696E6E6E5E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E7DFDCFF2E02FF2B00FF2B00FF2A00FF2A00FF2900 FF2900FF2800FF2800FF2700FF2700FF2600FF2600FF2500FF2803E7E1DFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 000000000000000000000000000000000000000000000000000000E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DCDEDC DCDEDCDCDEDCD9DBD9393939000000393939D9DBD9DCDEDCDCDEDCDCDEDCA4A7A4FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6000000000000000000000000000000 000000000000000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4DCDEDCDCDEDC DCDEDCD9DBD9393939000000393939D9DBD9DCDEDCDCDEDCDCDEDCA4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1EBE5 00FFDD00FFDD00FFDC00FFDC00FFDC00FFDB00FFDB00FFDA00FFDA00FFD900FFD900FFD8 00FFD800FFD720FCD9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E66666666765656864646963636A62626B61616D5F5F6E5E5E6F5D5D705C5C 715B5B735A5A7458587557577656567755557854547A53537B51517C50507D4F4F7E4E4E 804D4D814C4C824A4A8349498448488547478746468844448943438A42428B41418D4040 8E3F3F8F3D3D903C3C913B3B923A3A9439399538389636369735359834349A33339B3232 9C31319D2F2F9E2E2EA02D2DA12C2CA22B2BA32A2AA42828A52727A72626A82525A92424 AA2222AB2121AD2020AE1F1FAF1E1EB01D1DB11B1BB21A1AB41919B51818B61717B71616 B81414BA1313BB1212BC1111BD1010BE0F0FBF0D0DC10C0CC20B0BC30A0AC40909C50808 C70606C80505C90404CA0303CB0202D23534E1BBBAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6FB4420FF2800FF2800FF2700FF2700FF2600FF2600FF2500FF2500FF2400FF2400 FF2300FF2300FF2300FF2200EAC7C1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9CCCDCC3D3E3D CCCDCCD9DAD9D9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D9DAD9D9DAD9D9DAD9D9DAD9CCCDCC3D3E3DCCCDCC D9DAD9D9DAD9D9DAD9D9DAD9A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4EEE400FFE000FFE000FFDF00FFDF00FFDF 00FFDE00FFDE00FFDD00FFDD00FFDC00FFDC00FFDC00FFDB00FFDB42F8DEE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66868686967676A6666 6B65656C64646D63636F6161706060715F5F725E5E735D5D755B5B765A5A775959785858 7957577B56567C54547D53537E52527F5151815050824E4E834D4D844C4C854B4B874A4A 8849498947478A46468B45458C44448E43438F4141904040913F3F923E3E943D3D953C3C 963A3A9739399838389A37379B36369C34349D33339E3232A03131A13030A22F2FA32D2D A42C2CA62B2BA72A2AA82929A92727AA2626AC2525AD2424AE2323AF2222B02020B11F1F B31E1EB41D1DB51C1CB61A1AB71919B91818BA1717BB1616BC1515BD1313BF1212C01111 C11010C20F0FC30D0DC50C0CC60B0BC70A0AC80909C90808CB0606CC0505CD0404CE0303 CF0202D10202D95958E3D0CFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F85C42FF2500FF2400FF2400 FF2300FF2300FF2300FF2200FF2200FF2100FF2100FF2000FF2000FF2000FF1F00EDAEA4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A4A7A4D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5 A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4 D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5D5D6D5A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E687F1E400FFE300FFE200FFE200FFE200FFE100FFE100FFE100FFE000FFE000FFE0 00FFDF00FFDF00FFDE00FFDE5FF5E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E66A6A6A6B69696C68686D67676E66666F6565716363726262 736161746060755F5F775E5E785C5C795B5B7A5A5A7B59597D58587E56567F5555805454 815353825252845151854F4F864E4E874D4D884C4C8A4B4B8B4A4A8C48488D47478E4646 904545914444924242934141944040953F3F973E3E983D3D993B3B9A3A3A9B39399D3838 9E37379F3535A03434A13333A33232A43131A53030A62E2EA72D2DA92C2CAA2B2BAB2A2A AC2929AD2727AE2626B02525B12424B22323B32121B42020B61F1FB71E1EB81D1DB91C1C BA1A1ABC1919BD1818BE1717BF1616C01515C11313C31212C41111C51010C60F0FC70D0D C90C0CCA0B0BCB0A0ACC0909CD0808CF0606D00505D10404D20303D30202D60B0BDE7877 E6E0DFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F5735FFF2200FF2100FF2100FF2000FF2000FF1F00FF1F00FF1F00 FF1E00FF1E00FF1E00FF1D00FF1D00FF1D00F09487E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1 D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1D1D3D1A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66AF4E600FFE600FFE500FFE5 00FFE500FFE400FFE400FFE400FFE300FFE300FFE300FFE200FFE200FFE200FFE17CF2E3 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66C6C6C 6D6B6B6E6A6A6F69697068687167677365657464647563637662627761617960607A5E5E 7B5D5D7C5C5C7D5B5B7E5A5A805959815757825656835555845454865353875151885050 894F4F8A4E4E8B4D4D8D4C4C8E4A4A8F4949904848914747934646944545954343964242 9741419940409A3F3F9B3E3E9C3C3C9D3B3B9E3A3AA03939A13838A23636A33535A43434 A63333A73232A83131A92F2FAA2E2EAB2D2DAD2C2CAE2B2BAF2A2AB02828B12727B32626 B42525B52424B62323B72121B92020BA1F1FBB1E1EBC1D1DBD1B1BBE1A1AC01919C11818 C21717C31616C41414C61313C71212C81111C91010CA0F0FCB0D0DCD0C0CCE0B0BCF0A0A D00909D10808D30606D40505D50404D60303D70202DA2120E29E9DE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F18B7CFF1E00 FF1E00FF1D00FF1D00FF1D00FF1C00FF1C00FF1C00FF1B00FF1B00FF1B00FF1A00FF1A00 FF1A00F4786AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFA4A7A4CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDA4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E655F6E800FFE800FFE800FFE800FFE800FFE700FFE700FFE700FFE6 00FFE600FFE600FFE500FFE500FFE500FFE491F0E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66F6F6F706E6E716D6D726C6C736B6B746A6A 7668687767677866667965657A64647B63637D61617E60607F5F5F805E5E815D5D835B5B 845A5A8559598658588757578856568A54548B53538C52528D51518E5050904E4E914D4D 924C4C934B4B944A4A9549499747479846469945459A44449B43439D41419E40409F3F3F A03E3EA13D3DA23C3CA43A3AA53939A63838A73737A83636AA3434AB3333AC3232AD3131 AE3030AF2F2FB12D2DB22C2CB32B2BB42A2AB52929B72727B82626B92525BA2424BB2323 BC2222BE2020BF1F1FC01E1EC11D1DC21C1CC41A1AC51919C61818C71717C81616C91515 CB1313CC1212CD1111CE1010CF0F0FD10D0DD20C0CD30B0BD40A0AD50909D60808D80606 D90505DA0404DB0303DC0202E03A3AE5BBBAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EF9C91FF1B00FF1B00FF1A00FF1A00FF1A00FF1900 FF1900FF1900FF1800FF1800FF1800FF1700FF1700FF1700F66455E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFA4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E641F8EA00FFEB 00FFEB00FFEB00FFEB00FFEA00FFEA00FFEA00FFE900FFE900FFE900FFE900FFE800FFE8 00FFE8A5EEE6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6717171727070736F6F746E6E756D6D766C6C786A6A7969697A68687B67677C6666 7E64647F6363806262816161826060845E5E855D5D865C5C875B5B885A5A8959598B5757 8C56568D55558E54548F5353915151925050934F4F944E4E954D4D974B4B984A4A994949 9A48489B47479D45459E44449F4343A04242A14141A24040A43E3EA53D3DA63C3CA73B3B A83A3AAA3838AB3737AC3636AD3535AE3434B03232B13131B23030B32F2FB42E2EB52D2D B72B2BB82A2AB92929BA2828BB2727BD2525BE2424BF2323C02222C12121C31F1FC41E1E C51D1DC61C1CC71B1BC91919CA1818CB1717CC1616CD1515CE1414D01212D11111D21010 D30F0FD40E0ED60C0CD70B0BD80A0AD90909DA0808DC0606DD0505DE0404DF0303E00202 E20202E35B5AE6D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 EDADA5FF1800FF1700FF1700FF1700FF1600FF1600FF1600FF1600FF1500FF1500FF1500 FF1400FF1400FF1400F84F41E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E630FAED00FFEE00FFEE00FFEE00FFED00FFED00FFED 00FFED00FFED00FFEC00FFEC00FFEC00FFEC00FFEB00FFEBB6ECE7E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6737373747272757171767070 776F6F786E6E7A6C6C7B6B6B7C6A6A7D69697E6868806666816565826464836363846262 856161875F5F885E5E895D5D8A5C5C8B5B5B8D59598E58588F5757905656915555935353 945252955151965050974F4F984E4E9A4C4C9B4B4B9C4A4A9D49499E4848A04646A14545 A24444A34343A44242A54141A73F3FA83E3EA93D3DAA3C3CAB3B3BAD3939AE3838AF3737 B03636B13535B33333B43232B53131B63030B72F2FB82E2EBA2C2CBB2B2BBC2A2ABD2929 BE2828C02626C12525C22424C32323C42222C52121C71F1FC81E1EC91D1DCA1C1CCB1B1B CD1919CE1818CF1717D01616D11515D31313D41212D51111D61010D70F0FD80E0EDA0C0C DB0B0BDC0A0ADD0909DE0808E00606E10505E20404E30303E40202E60E0EE67F7EE6E2E1 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBBBB6FF1400FF1400FF1400FF1300 FF1300FF1300FF1300FF1200FF1200FF1200FF1200FF1200FF1100FF1100FA3D30E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 20FCF000FFF100FFF100FFF100FFF000FFF000FFF000FFF000FFF000FFEF00FFEF00FFEF 00FFEF00FFEF00FFEEC6EAE7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E67575757674747773737872727971717A70707C6E6E7D6D6D7E6C6C 7F6B6B806A6A8268688367678466668565658664648763638961618A60608B5F5F8C5E5E 8D5D5D8F5B5B905A5A9159599258589357579456569654549753539852529951519A5050 9C4E4E9D4D4D9E4C4C9F4B4BA04A4AA14949A34747A44646A54545A64444A74343A94141 AA4040AB3F3FAC3E3EAD3D3DAE3C3CB03A3AB13939B23838B33737B43636B63434B73333 B83232B93131BA3030BB2F2FBD2D2DBE2C2CBF2B2BC02A2AC12929C32727C42626C52525 C62424C72323C82222CA2020CB1F1FCC1E1ECD1D1DCE1C1CD01A1AD11919D21818D31717 D41616D51515D71313D81212D91111DA1010DB0F0FDD0D0DDE0C0CDF0B0BE00A0AE10909 E20808E40606E50505E60404E70303E80202E92120E79E9DE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E9C9C6FF1100FF1100FF1000FF1000FF1000FF1000FF1000FF0F00FF0F00 FF0F00FF0F00FF0F00FF0E00FF0E00FC2C20E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E615FDF300FFF400FFF400FFF300FFF3 00FFF300FFF300FFF300FFF300FFF300FFF200FFF200FFF200FFF200FFF2D1E9E7E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6777777787676 7975757A74747B73737C72727E70707F6F6F806E6E816D6D826C6C836B6B856969866868 8767678866668965658B63638C62628D61618E60608F5F5F905E5E925C5C935B5B945A5A 9559599658589757579955559A54549B53539C52529D51519F4F4FA04E4EA14D4DA24C4C A34B4BA44A4AA64848A74747A84646A94545AA4444AC4242AD4141AE4040AF3F3FB03E3E B13D3DB33B3BB43A3AB53939B63838B73737B83636BA3434BB3333BC3232BD3131BE3030 C02E2EC12D2DC22C2CC32B2BC42A2AC52929C72727C82626C92525CA2424CB2323CD2121 CE2020CF1F1FD01E1ED11D1DD21C1CD41A1AD51919D61818D71717D81616D91515DB1313 DC1212DD1111DE1010DF0F0FE10D0DE20C0CE30B0BE40A0AE50909E60808E80606E90505 EA0404EB0303EC0202EC3F3FE7C1C0E6E7E6E6E7E6E6E7E6E6E7E6E8D3D1FF0E00FF0D00 FF0D00FF0D00FF0D00FF0D00FF0C00FF0C00FF0C00FF0C00FF0C00FF0C00FF0C00FF0B00 FD1F15E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E60EFEF600FFF700FFF600FFF600FFF600FFF600FFF600FFF600FFF600FFF6 00FFF600FFF500FFF500FFF500FFF5D8E8E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E67979797A78787B77777C76767D75757E7474807272 817171827070836F6F846E6E866C6C876B6B886A6A8969698A68688B67678D65658E6464 8F6363906262916161935F5F945E5E955D5D965C5C975B5B9959599A58589B57579C5656 9D55559E5454A05252A15151A25050A34F4FA44E4EA64C4CA74B4BA84A4AA94949AA4848 AC4646AD4545AE4444AF4343B04242B14141B33F3FB43E3EB53D3DB63C3CB73B3BB93939 BA3838BB3737BC3636BD3535BE3434C03232C13131C23030C32F2FC42E2EC62C2CC72B2B C82A2AC92929CA2828CC2626CD2525CE2424CF2323D02222D12121D31F1FD41E1ED51D1D D61C1CD71B1BD91919DA1818DB1717DC1616DD1515DF1313E01212E11111E21010E30F0F E40E0EE60C0CE70B0BE80A0AE90909EA0808EC0606ED0505EE0404EF0303F00202F20404 ED6060E7D5D4E6E7E6E6E7E6E7DAD8FF0A00FF0A00FF0A00FF0A00FF0A00FF0900FF0900 FF0900FF0900FF0900FF0900FF0900FF0900FF0900FE160EE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E60CFEF800FFF900FFF9 00FFF900FFF900FFF900FFF900FFF900FFF900FFF900FFF900FFF900FFF900FFF800FFF8 DAE8E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 7B7B7B7C7A7A7D79797E78787F7777807676827474837373847272857171867070886E6E 896D6D8A6C6C8B6B6B8C6A6A8D69698F6767906666916565926464936363956161966060 975F5F985E5E995D5D9A5C5C9C5A5A9D59599E58589F5757A05656A25454A35353A45252 A55151A65050A74F4FA94D4DAA4C4CAB4B4BAC4A4AAD4949AF4747B04646B14545B24444 B34343B44242B64040B73F3FB83E3EB93D3DBA3C3CBC3A3ABD3939BE3838BF3737C03636 C13535C33333C43232C53131C63030C72F2FC92D2DCA2C2CCB2B2BCC2A2ACD2929CE2828 D02626D12525D22424D32323D42222D62020D71F1FD81E1ED91D1DDA1C1CDB1B1BDD1919 DE1818DF1717E01616E11515E31313E41212E51111E61010E70F0FE80E0EEA0C0CEB0B0B EC0A0AED0909EE0808F00606F10505F20404F30303F40202F50E0EED8180E6E3E2E7DBDA FF0700FF0700FF0700FF0600FF0600FF0600FF0600FF0600FF0600FF0600FF0600FF0600 FF0600FF0600FE120CE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E600FFFC00FFFC00FFFC00FFFC00FFFC00FFFC00FFFC00FFFC 00FFFC00FFFC00FFFC00FFFC00FFFC00FFFC00FFFCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E67D7D7D7E7C7C7F7B7B807A7A817979 8278788476768575758674748773738872728971718B6F6F8C6E6E8D6D6D8E6C6C8F6B6B 9169699268689367679466669565659664649862629961619A60609B5F5F9C5E5E9E5C5C 9F5B5BA05A5AA15959A25858A35757A55555A65454A75353A85252A95151AA5050AC4E4E AD4D4DAE4C4CAF4B4BB04A4AB24848B34747B44646B54545B64444B74343B94141BA4040 BB3F3FBC3E3EBD3D3DBF3B3BC03A3AC13939C23838C33737C43636C63434C73333C83232 C93131CA3030CC2E2ECD2D2DCE2C2CCF2B2BD02A2AD12929D32727D42626D52525D62424 D72323D82222DA2020DB1F1FDC1E1EDD1D1DDE1C1CE01A1AE11919E21818E31717E41616 E51515E71313E81212E91111EA1010EB0F0FED0D0DEE0C0CEF0B0BF00A0AF10909F20808 F40606F50505F60404F70303F80202F72626ECA6A5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E600FFFF 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF 00FFFF00FFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E67F7F7F807E7E817D7D827C7C837B7B847A7A867878877777887676897575 8A74748C73738D71718E70708F6F6F906E6E916D6D936C6C946A6A956969966868976767 9966669A64649B63639C62629D61619F6060A05F5FA15D5DA25C5CA35B5BA45A5AA65959 A75858A85656A95555AA5454AC5353AD5252AE5050AF4F4FB04E4EB14D4DB34C4CB44B4B B54949B64848B74747B94646BA4545BB4444BC4242BD4141BF4040C03F3FC13E3EC23C3C C33B3BC43A3AC63939C73838C83737C93535CA3434CC3333CD3232CE3131CF3030D02E2E D12D2DD32C2CD42B2BD52A2AD62828D72727D92626DA2525DB2424DC2323DD2121DF2020 E01F1FE11E1EE21D1DE31C1CE41A1AE61919E71818E81717E91616EA1414EC1313ED1212 EE1111EF1010F00F0FF10D0DF30C0CF40B0BF50A0AF60909F70808F90606FA0505FB0404 F82929ECA7A6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E60CFBFE00FCFF00FCFF00FCFF00FCFF00FCFF 00FCFF00FCFF00FCFF00FCFF00FCFF00FCFF00FCFF00FCFF00FCFFDAE8E7E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6818181828080837F7F 847E7E857D7D867C7C887A7A8979798A78788B77778C76768D75758F7373907272917171 927070936F6F956E6E966C6C976B6B986A6A9969699A68689C67679D65659E64649F6363 A06262A16161A36060A45E5EA55D5DA65C5CA75B5BA95A5AAA5959AB5757AC5656AD5555 AE5454B05353B15252B25050B34F4FB44E4EB54D4DB74C4CB84B4BB94949BA4848BB4747 BD4646BE4545BF4444C04242C14141C24040C43F3FC53E3EC63D3DC73B3BC83A3ACA3939 CB3838CC3737CD3636CE3434CF3333D13232D23131D33030D42F2FD52D2DD62C2CD82B2B D92A2ADA2929DB2828DC2626DE2525DF2424E02323E12222E22121E31F1FE51E1EE61D1D E71C1CE81B1BE91A1AEA1818EC1717ED1616EE1515EF1414F01313F21111F31010F40F0F F50E0EF60D0DF70C0CF90A0AFA0909F91515F08483E6E3E2E7DBDAFF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FE0C0F E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E60EF8FE00F9FF00F9FF00F9FF00F9FF00F9FF00F9FF00F9FF00F9FF00F9FF00F9FF 00F9FF00F9FF00F8FF00F8FFD8E8E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6838383848282858181868080877F7F887E7E8A7C7C8B7B7B 8C7A7A8D79798E78788F7777917575927474937373947272957171977070986E6E996D6D 9A6C6C9B6B6B9C6A6A9E69699F6767A06666A16565A26464A46363A56262A66060A75F5F A85E5EA95D5DAB5C5CAC5A5AAD5959AE5858AF5757B15656B25555B35353B45252B55151 B65050B84F4FB94E4EBA4C4CBB4B4BBC4A4ABE4949BF4848C04747C14545C24444C34343 C54242C64141C74040C83E3EC93D3DCB3C3CCC3B3BCD3A3ACE3939CF3737D03636D23535 D33434D43333D53131D63030D82F2FD92E2EDA2D2DDB2C2CDC2A2ADD2929DF2828E02727 E12626E22525E32323E52222E62121E72020E81F1FE91E1EEA1C1CEC1B1BED1A1AEE1919 EF1818F01717F21515F31414F41313F51212F61111F71010F90E0EFA0D0DFB1010F36666 E8D6D5E6E7E6E6E7E6E7D9D8FF0007FF0007FF0007FF0006FF0006FF0006FF0006FF0006 FF0006FF0006FF0006FF0006FF0006FF0006FE0E14E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E615F6FD00F7FF00F6FF00F6FF 00F6FF00F6FF00F6FF00F6FF00F6FF00F6FF00F6FF00F5FF00F5FF00F5FF00F5FFD1E8E8 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6858585 8684848783838882828981818A80808C7E7E8D7D7D8E7C7C8F7B7B907A7A927979937777 9476769575759674749773739972729A70709B6F6F9C6E6E9D6D6D9F6C6CA06A6AA16969 A26868A36767A46666A66565A76363A86262A96161AA6060AC5F5FAD5E5EAE5C5CAF5B5B B05A5AB25959B35858B45757B55555B65454B75353B95252BA5151BB4F4FBC4E4EBD4D4D BF4C4CC04B4BC14A4AC24848C34747C44646C64545C74444C84343C94141CA4040CC3F3F CD3E3ECE3D3DCF3B3BD03A3AD13939D33838D43737D53636D63434D73333D93232DA3131 DB3030DC2F2FDD2D2DDF2C2CE02B2BE12A2AE22929E32828E42626E62525E72424E82323 E92222EA2020EC1F1FED1E1EEE1D1DEF1C1CF01B1BF11919F31818F41717F51616F61515 F71414F91212FA1111FB1010F64A4AEAC3C2E6E7E6E6E7E6E6E7E6E6E7E6E8D2D2FF000A FF000AFF000AFF000AFF000AFF0009FF0009FF0009FF0009FF0009FF0009FF0009FF0009 FF0009FD151CE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E620F3FC00F4FF00F4FF00F3FF00F3FF00F3FF00F3FF00F3FF00F3FF 00F3FF00F2FF00F2FF00F2FF00F2FF00F2FFC6E8E9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E68787878886868985858A84848B83838C8282 8E80808F7F7F907E7E917D7D927C7C937B7B9579799678789777779876769975759B7474 9C72729D71719E70709F6F6FA06E6EA26D6DA36B6BA46A6AA56969A66868A76767A96666 AA6464AB6363AC6262AD6161AF6060B05F5FB15D5DB25C5CB35B5BB45A5AB65959B75858 B85656B95555BA5454BB5353BD5252BE5151BF4F4FC04E4EC14D4DC34C4CC44B4BC54A4A C64848C74747C84646CA4545CB4444CC4343CD4141CE4040CF3F3FD13E3ED23D3DD33C3C D43A3AD53939D73838D83737D93636DA3535DB3333DC3232DE3131DF3030E02F2FE12E2E E22C2CE32B2BE52A2AE62929E72828E82727E92525EB2424EC2323ED2222EE2121EF2020 F01E1EF21D1DF31C1CF41B1BF51A1AF61919F71717F91616FA1515F83231EDA4A3E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E9C7C8FF000EFF000DFF000DFF000DFF000DFF000D FF000CFF000CFF000CFF000CFF000CFF000CFF000CFF000BFC2029E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E630EFFA00F1FF 00F1FF00F1FF00F0FF00F0FF00F0FF00F0FF00F0FF00EFFF00EFFF00EFFF00EFFF00EFFF 00EEFFB6E8EBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E68989898A88888B87878C86868D85858E8484908282918181928080937F7F947E7E 957D7D977B7B987A7A9979799A78789B77779D76769E74749F7373A07272A17171A27070 A46F6FA56D6DA66C6CA76B6BA86A6AAA6969AB6868AC6666AD6565AE6464AF6363B16262 B26161B35F5FB45E5EB55D5DB75C5CB85B5BB95A5ABA5858BB5757BC5656BE5555BF5454 C05353C15151C25050C44F4FC54E4EC64D4DC74B4BC84A4AC94949CB4848CC4747CD4646 CE4444CF4343D04242D24141D34040D43F3FD53D3DD63C3CD83B3BD93A3ADA3939DB3838 DC3636DD3535DF3434E03333E13232E23131E32F2FE52E2EE62D2DE72C2CE82B2BE92A2A EA2828EC2727ED2626EE2525EF2424F02323F22121F32020F41F1FF51E1EF61D1DF71C1C F91A1AFA1919F92424F08988E7E3E2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 EBB7BAFF0011FF0011FF0010FF0010FF0010FF0010FF0010FF000FFF000FFF000FFF000F FF000FFF000EFF000EFA303BE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E641ECF800EEFF00EEFF00EEFF00EDFF00EDFF00EDFF 00EDFF00EDFF00ECFF00ECFF00ECFF00ECFF00EBFF00EBFFA5E8EDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E68B8B8B8C8A8A8D89898E8888 8F8787908686928484938383948282958181968080987F7F997D7D9A7C7C9B7B7B9C7A7A 9D79799F7878A07676A17575A27474A37373A57272A67171A76F6FA86E6EA96D6DAA6C6C AC6B6BAD6969AE6868AF6767B06666B26565B36464B46262B56161B66060B75F5FB95E5E BA5D5DBB5B5BBC5A5ABD5959BF5858C05757C15656C25454C35353C55252C65151C75050 C84E4EC94D4DCA4C4CCC4B4BCD4A4ACE4949CF4747D04646D24545D34444D44343D54242 D64040D73F3FD93E3EDA3D3DDB3C3CDC3B3BDD3939DF3838E03737E13636E23535E33333 E43232E63131E73030E82F2FE92E2EEA2C2CEC2B2BED2A2AEE2929EF2828F02727F12525 F32424F42323F52222F62121F72020F91E1EFA1D1DFB1E1EF36B6AE8D7D6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EDA6ABFF0014FF0014FF0014FF0013 FF0013FF0013FF0013FF0012FF0012FF0012FF0012FF0012FF0011FF0011F8414DE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 55E9F600EBFF00EBFF00EBFF00EBFF00EAFF00EAFF00EAFF00E9FF00E9FF00E9FF00E9FF 00E8FF00E8FF00E8FF91E7EFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E68D8D8D8E8C8C8F8B8B908A8A918989928888948686958585968484 9783839882829A81819B7F7F9C7E7E9D7D7D9E7C7CA07B7BA17979A27878A37777A47676 A57575A77474A87272A97171AA7070AB6F6FAD6E6EAE6D6DAF6B6BB06A6AB16969B36868 B46767B56565B66464B76363B86262BA6161BB6060BC5E5EBD5D5DBE5C5CC05B5BC15A5A C25959C35757C45656C65555C75454C85353C95151CA5050CB4F4FCD4E4ECE4D4DCF4C4C D04A4AD14949D34848D44747D54646D64545D74343D94242DA4141DB4040DC3F3FDD3D3D DE3C3CE03B3BE13A3AE23939E33838E43636E63535E73434E83333E93232EA3131EC2F2F ED2E2EEE2D2DEF2C2CF02B2BF12929F32828F42727F52626F62525F72424F92222FA2121 FB2020F75151EBC1C0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6EF929AFF0018FF0017FF0017FF0017FF0016FF0016FF0016FF0016FF0015 FF0015FF0015FF0014FF0014FF0014F65562E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66AE8F400E8FF00E8FF00E8FF00E8FF 00E7FF00E7FF00E7FF00E6FF00E6FF00E6FF00E5FF00E5FF00E5FF00E4FF7CE6F1E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E68F8F8F908E8E 918D8D928C8C938B8B948A8A9688889787879886869985859A84849B83839D81819E8080 9F7F7FA07E7EA17D7DA37C7CA47A7AA57979A67878A77777A87676AA7575AB7373AC7272 AD7171AE7070B06F6FB16E6EB26C6CB36B6BB46A6AB56969B76868B86767B96565BA6464 BB6363BC6262BE6161BF6060C05E5EC15D5DC25C5CC45B5BC55A5AC65959C75757C85656 C95555CB5454CC5353CD5252CE5050CF4F4FD14E4ED24D4DD34C4CD44B4BD54949D64848 D84747D94646DA4545DB4444DC4242DD4141DF4040E03F3FE13E3EE23D3DE33B3BE53A3A E63939E73838E83737E93636EA3434EC3333ED3232EE3131EF3030F02F2FF22D2DF32C2C F42B2BF52A2AF62929F72828F92626FA2525F8403FEDA9A8E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F17D88FF001BFF001B FF001AFF001AFF001AFF0019FF0019FF0019FF0018FF0018FF0018FF0017FF0017FF0017 F46A76E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E687E7F000E6FF00E5FF00E5FF00E5FF00E4FF00E4FF00E4FF00E3FF00E3FF 00E3FF00E2FF00E2FF00E2FF00E1FF5FE3F5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6929292939191949090958F8F968E8E978D8D998B8B 9A8A8A9B89899C88889D87879E8686A08484A18383A28282A38181A48080A57F7FA77D7D A87C7CA97B7BAA7A7AAB7979AC7878AE7676AF7575B07474B17373B27272B37171B56F6F B66E6EB76D6DB86C6CB96B6BBB6969BC6868BD6767BE6666BF6565C06464C26262C36161 C46060C55F5FC65E5EC75D5DC95B5BCA5A5ACB5959CC5858CD5757CE5656D05454D15353 D25252D35151D45050D54F4FD74D4DD84C4CD94B4BDA4A4ADB4949DD4747DE4646DF4545 E04444E14343E24242E44040E53F3FE63E3EE73D3DE83C3CE93B3BEB3939EC3838ED3737 EE3636EF3535F03434F23232F33131F43030F52F2FF62E2EF72D2DF92B2BFA2A2AFA3232 F18B8AE7E1E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6F55F71FF001EFF001EFF001DFF001DFF001DFF001CFF001C FF001CFF001BFF001BFF001BFF001AFF001AFF001AF08891E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4E6ED00E3FF00E2FF 00E2FF00E2FF00E1FF00E1FF00E1FF00E0FF00E0FF00E0FF00DFFF00DFFF00DEFF00DEFF 42E0F8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 949494959393969292979191989090998F8F9B8D8D9C8C8C9D8B8B9E8A8A9F8989A08888 A28686A38585A48484A58383A68282A78181A97F7FAA7E7EAB7D7DAC7C7CAD7B7BAF7979 B07878B17777B27676B37575B47474B67272B77171B87070B96F6FBA6E6EBB6D6DBD6B6B BE6A6ABF6969C06868C16767C36565C46464C56363C66262C76161C86060CA5E5ECB5D5D CC5C5CCD5B5BCE5A5ACF5959D15757D25656D35555D45454D55353D75151D85050D94F4F DA4E4EDB4D4DDC4C4CDE4A4ADF4949E04848E14747E24646E34545E54343E64242E74141 E84040E93F3FEB3D3DEC3C3CED3B3BEE3A3AEF3939F03838F23636F33535F43434F53333 F63232F73131F92F2FFA2E2EFB2F2FF37473E8D4D3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F8425A FF0022FF0021FF0021FF0020FF0020FF001FFF001FFF001FFF001EFF001EFF001EFF001D FF001DFF001DEDA5ACE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6C1E6EA00E0FF00E0FF00DFFF00DFFF00DFFF00DEFF00DEFF 00DDFF00DDFF00DCFF00DCFF00DCFF00DBFF00DBFF20DCFBE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E69696969795959894949993939A9292 9B91919D8F8F9E8E8E9F8D8DA08C8CA18B8BA28A8AA48888A58787A68686A78585A88484 AA8282AB8181AC8080AD7F7FAE7E7EAF7D7DB17B7BB27A7AB37979B47878B57777B77575 B87474B97373BA7272BB7171BC7070BE6E6EBF6D6DC06C6CC16B6BC26A6AC46868C56767 C66666C76565C86464C96363CB6161CC6060CD5F5FCE5E5ECF5D5DD05C5CD25A5AD35959 D45858D55757D65656D85454D95353DA5252DB5151DC5050DD4F4FDF4D4DE04C4CE14B4B E24A4AE34949E54747E64646E74545E84444E94343EA4242EC4040ED3F3FEE3E3EEF3D3D F03C3CF23A3AF33939F43838F53737F63636F73535F93333FA3232FB3131F75A59EBC4C3 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6FB2140FF0025FF0024FF0024FF0023FF0023 FF0023FF0022FF0022FF0021FF0021FF0020FF0020FF0020FF001FEAC2C6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DFE7E7 03DDFF00DDFF00DCFF00DCFF00DCFF00DBFF00DBFF00DAFF00DAFF00D9FF00D9FF00D8FF 00D8FF00D7FF02D7FFDCE6E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E69898989997979A96969B95959C94949D93939F9191A09090A18F8FA28E8E A38D8DA48C8CA68A8AA78989A88888A98787AA8686AB8585AD8383AE8282AF8181B08080 B17F7FB27E7EB47C7CB57B7BB67A7AB77979B87878B97777BB7575BC7474BD7373BE7272 BF7171C07070C26E6EC36D6DC46C6CC56B6BC66A6AC76969C96767CA6666CB6565CC6464 CD6363CF6161D06060D15F5FD25E5ED35D5DD45C5CD65A5AD75959D85858D95757DA5656 DB5555DD5353DE5252DF5151E05050E14F4FE24E4EE44C4CE54B4BE64A4AE74949E84848 E94747EB4545EC4444ED4343EE4242EF4141F04040F23E3EF33D3DF43C3CF53B3BF63A3A F73939F93737FA3636F84A4AEEA8A8E6E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E7DDDEFF022BFF0028FF0028FF0027FF0027FF0026FF0026FF0025FF0025FF0024FF0024 FF0023FF0023FF0023FF0325E7E0E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E620DCFC00DAFF00DAFF00D9FF00D9FF 00D8FF00D8FF00D7FF00D7FF00D6FF00D6FF00D5FF00D5FF00D4FF00D4FFB5E3EBE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E69A9A9A9B99999C9898 9D97979E96969F9595A19393A29292A39191A49090A58F8FA68E8EA88C8CA98B8BAA8A8A AB8989AC8888AD8787AF8585B08484B18383B28282B38181B57F7FB67E7EB77D7DB87C7C B97B7BBA7A7ABC7878BD7777BE7676BF7575C07474C17373C37171C47070C56F6FC66E6E C76D6DC86C6CCA6A6ACB6969CC6868CD6767CE6666D06464D16363D26262D36161D46060 D55F5FD75D5DD85C5CD95B5BDA5A5ADB5959DC5858DE5656DF5555E05454E15353E25252 E35151E54F4FE64E4EE74D4DE84C4CE94B4BEB4949EC4848ED4747EE4646EF4545F04444 F24242F34141F44040F53F3FF63E3EF73D3DF93B3BFA3A3AFA4141F19392E7E1E0E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBB6BFFF002CFF002BFF002BFF002A FF002AFF0029FF0029FF0028FF0028FF0027FF0027FF0026FF0026FF0025FC2040E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EF FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E644DCF800D7FF00D7FF00D6FF00D6FF00D5FF00D5FF00D4FF00D4FF00D3FF 00D3FF00D2FF00D1FF00D1FF00D0FF82DDF1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E69C9C9C9D9B9B9E9A9A9F9999A09898A19797A39595A49494 A59393A69292A79191A89090AA8E8EAB8D8DAC8C8CAD8B8BAE8A8AB08888B18787B28686 B38585B48484B58383B78181B88080B97F7FBA7E7EBB7D7DBD7B7BBE7A7ABF7979C07878 C17777C27676C47474C57373C67272C77171C87070C96F6FCB6D6DCC6C6CCD6B6BCE6A6A CF6969D16767D26666D36565D46464D56363D66262D86060D95F5FDA5E5EDB5D5DDC5C5C DE5A5ADF5959E05858E15757E25656E35555E55353E65252E75151E85050E94F4FEA4E4E EC4C4CED4B4BEE4A4AEF4949F04848F24646F34545F44444F54343F64242F74141F93F3F FA3E3EFB3E3EF47877E9D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6F18297FF002FFF002FFF002EFF002EFF002DFF002CFF002CFF002BFF002B FF002AFF002AFF0029FF0029FF0028F84460E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66CDEF300D4FF00D4FF 00D3FF00D3FF00D2FF00D2FF00D1FF00D1FF00D0FF00D0FF00CFFF00CEFF00CEFF00CDFF 4ED5F7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E69E9E9E 9F9D9DA09C9CA19B9BA29A9AA39999A59797A69696A79595A89494A99393AB9191AC9090 AD8F8FAE8E8EAF8D8DB08C8CB28A8AB38989B48888B58787B68686B88484B98383BA8282 BB8181BC8080BD7F7FBF7D7DC07C7CC17B7BC27A7AC37979C57777C67676C77575C87474 C97373CA7272CC7070CD6F6FCE6E6ECF6D6DD06C6CD26A6AD36969D46868D56767D66666 D76565D96363DA6262DB6161DC6060DD5F5FDF5D5DE05C5CE15B5BE25A5AE35959E45858 E65656E75555E85454E95353EA5252EC5050ED4F4FEE4E4EEF4D4DF04C4CF14B4BF34949 F44848F54747F64646F74545F94343FA4242FB4141F86565EBC2C1E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F74E70FF0033FF0032 FF0031FF0031FF0030FF002FFF002FFF002EFF002EFF002DFF002DFF002CFF002CFF002B F36D83E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E698E0EF00D2FF00D1FF00D1FF00D0FF00D0FF00CFFF00CEFF 00CEFF00CDFF00CCFF00CCFF00CBFF00CAFF00CAFF19CCFCE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A0A0A0A19F9FA29E9EA39D9DA49C9CA59B9B A79999A89898A99797AA9696AB9595AC9494AE9292AF9191B09090B18F8FB28E8EB38D8D B58B8BB68A8AB78989B88888B98787BA8686BC8484BD8383BE8282BF8181C08080C27E7E C37D7DC47C7CC57B7BC67A7AC77979C97777CA7676CB7575CC7474CD7373CE7272D07070 D16F6FD26E6ED36D6DD46C6CD56B6BD76969D86868D96767DA6666DB6565DC6464DE6262 DF6161E06060E15F5FE25E5EE45C5CE55B5BE65A5AE75959E85858E95757EB5555EC5454 ED5353EE5252EF5151F05050F24E4EF34D4DF44C4CF54B4BF64A4AF74949F94747FA4646 F85656EEAEAEE6E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6FC194AFF0036FF0035FF0035FF0034FF0033FF0033FF0032 FF0031FF0031FF0030FF002FFF002FFF002EFF002EEF98A7E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BFC0BF515251171817 040404121212474847ADAEADE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000303030E5E6E5 E6E7E6E6E7E6B3B4B3000000DFE0DFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF9C9C9C5B5B5BFFFFFF7B7B7B7F7F7FFFFFFFFFFFFFFFFFFFC3C3C3 000000000000000000000000000000C3C3C3FFFFFFC3C3C3000000000000000000000000 000000C3C3C3FFFFFFC3C3C3000000000000000000000000000000C3C3C3FFFFFFC3C3C3 000000000000000000000000000000C3C3C3FFFFFFC3C3C3000000000000000000000000 000000C3C3C3FFFFFFC3C3C3000000000000000000000000000000C3C3C3FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C0E3EA 00CFFF00CEFF00CEFF00CDFF00CDFF00CCFF00CBFF00CBFF00CAFF00C9FF00C9FF00C8FF 00C7FF00C7FF00C6FFC8E2E9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6A2A2A2A3A1A1A4A0A0A59F9FA69E9EA79D9DA99B9BAA9A9AAB9999AC9898AD9797 AE9696B09494B19393B29292B39191B49090B68E8EB78D8DB88C8CB98B8BBA8A8ABB8989 BD8787BE8686BF8585C08484C18383C28282C48080C57F7FC67E7EC77D7DC87C7CCA7A7A CB7979CC7878CD7777CE7676CF7575D17373D27272D37171D47070D56F6FD66E6ED86C6C D96B6BDA6A6ADB6969DC6868DE6666DF6565E06464E16363E26262E36161E55F5FE65E5E E75D5DE85C5CE95B5BEA5A5AEC5858ED5757EE5656EF5555F05454F25252F35151F45050 F54F4FF64E4EF74D4DF94B4BFA4A4AFA4E4EF19494E7DFDEE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E9C9D0FF003A FF0039FF0038FF0038FF0037FF0036FF0036FF0035FF0034FF0034FF0033FF0032FF0032 FF0031FF0031EAC1C8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6ADAEAD080808666666C6C7C6E1E2E1CFD0CF8C8C8C585958E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1E6E7E6 E6E7E6E6E7E6E6E7E6B3B4B3000000121212939493E6E7E6E6E7E6B3B4B3000000DFE0DF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF656565939393 FFFFFF444444B7B7B7FFFFFFFFFFFFFFFFFFC3C3C3000000E8E8E8F3F3F3F3F3F3F3F3F3 FDFDFDFFFFFFC3C3C3000000E8E8E8F3F3F3F3F3F3F3F3F3FDFDFDFFFFFFC3C3C3000000 E8E8E8F3F3F3F3F3F3F3F3F3FDFDFDFFFFFFC3C3C3000000E8E8E8F3F3F3F3F3F3F3F3F3 FDFDFDFFFFFFC3C3C3000000E8E8E8F3F3F3F3F3F3F3F3F3FDFDFDFFFFFFC3C3C3000000 E8E8E8F3F3F3F3F3F3F3F3F3FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E2E6E609CDFE00CCFF00CBFF00CAFF00CAFF 00C9FF00C8FF00C8FF00C7FF00C6FF00C6FF00C5FF00C4FF00C3FF00C3FF88D8F0E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A4A4A5A3A3A6A2A2A7A1A1 A8A0A0A99F9FAB9D9DAC9C9CAD9B9BAE9A9AAF9999B19898B29696B39595B49494B59393 B69292B89191B98F8FBA8E8EBB8D8DBC8C8CBE8B8BBF8A8AC08888C18787C28686C38585 C58484C68383C78181C88080C97F7FCB7E7ECC7D7DCD7C7CCE7A7ACF7979D07878D27777 D37676D47575D57373D67272D87171D97070DA6F6FDB6E6EDC6C6CDD6B6BDF6A6AE06969 E16868E26767E36565E56464E66363E76262E86161E96060EA5E5EEC5D5DED5C5CEE5B5B EF5A5AF05959F25757F35656F45555F55454F65353F75252F95050FA4F4FFB4F4FF48382 E9D5D4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F088A1FF003DFF003CFF003CFF003BFF003AFF0039 FF0039FF0038FF0037FF0037FF0036FF0035FF0035FF0034FE093AE6E3E3E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6212221606060 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E5E6E7E6D2D3D24949490D0D0D1010105E5E5E DFE0DFE6E7E6BEBFBE000000E6E7E6E6E7E6D2D3D24949490D0D0D1010105E5E5EDFE0DF E6E7E6BEBFBE0000007F807F2A2B2A1A1A1AE6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000 868786191919DDDEDDE6E7E6B3B4B3000000DFE0DFE6E7E6D0D1D03B3B3B111111090909 414141CFCFCFE6E7E6BEBFBE000000A4A5A4262626070707323232C2C3C29C9D9C232323 0505052F2F2FC4C5C4E6E7E6E6E7E6D9DAD95656561010100E0E0E565656DDDEDDE6E7E6 E6E7E6C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2FCACACAFEFEFE101010EDEDEDFFFFFFFFFFFF FFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E63AD1F900C9FF00C8FF00C8FF00C7FF00C6FF00C6FF00C5FF00C4FF00C3FF 00C3FF00C2FF00C1FF00C0FF00BFFF48CAF7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A6A6A6A7A5A5A8A4A4A9A3A3AAA2A2ABA1A1AD9F9FAE9E9EAF9D9D B09C9CB19B9BB39A9AB49898B59797B69696B79595B89494BA9393BB9191BC9090BD8F8F BE8E8EC08D8DC18C8CC28A8AC38989C48888C68787C78686C88484C98383CA8282CB8181 CD8080CE7F7FCF7D7DD07C7CD17B7BD37A7AD47979D57878D67676D77575D97474DA7373 DB7272DC7171DD6F6FDE6E6EE06D6DE16C6CE26B6BE36969E46868E66767E76666E86565 E96464EA6262EC6161ED6060EE5F5FEF5E5EF05D5DF15B5BF35A5AF45959F55858F65757 F75656F95454FA5353FB5252F86D6DECC4C4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 F74875FF0041FF0040FF003FFF003EFF003DFF003CFF003CFF003BFF003AFF0039FF0039 FF0038FF0037FF0037F93A62E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6C1C2C1000000B7B8B7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E63C3D3C494949DCDDDCD0D1D0292A29656565E6E7E6BEBFBE000000E6E7E6 E6E7E63C3D3C494949DCDDDCD0D1D0292A29656565E6E7E6BEBFBE000000646564E4E5E4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000DDDEDD2B2B2B747574E6E7E6B3B4B3 000000DFE0DFE6E7E6D1D2D1BEBFBEE6E7E6D5D6D5424242484848E6E7E6BEBFBE000000 515251D1D2D1DCDDDC5757572020204F504FD1D2D1DCDDDC5555553C3D3CE6E7E6E6E7E6 474847434343D8D9D8DBDCDB3F3F3F626362E6E7E6E6E7E6A9A9A9000000D4D5D4E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFCFCFCF0F0F0F0E0E0E 0101010F0F0F0C0C0C0202020F0F0F0F0F0FFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66ED7F300C6FF00C5FF 00C5FF00C4FF00C3FF00C3FF00C2FF00C1FF00C0FF00C0FF00BFFF00BEFF00BDFF00BCFF 0BBDFEE1E6E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A8A8A8A9A7A7 AAA6A6ABA5A5ACA4A4ADA3A3AFA2A2B0A0A0B19F9FB29E9EB39D9DB49C9CB69B9BB79999 B89898B99797BA9696BB9595BD9494BE9292BF9191C09090C18F8FC38E8EC48D8DC58B8B C68A8AC78989C88888CA8787CB8686CC8484CD8383CE8282CF8181D18080D27F7FD37D7D D47C7CD57B7BD77A7AD87979D97878DA7777DB7575DC7474DE7373DF7272E07171E17070 E26E6EE36D6DE56C6CE66B6BE76A6AE86969E96767EB6666EC6565ED6464EE6363EF6262 F06060F25F5FF35E5EF45D5DF55C5CF65B5BF75959F95858FA5757F96565EFAFAFE6E6E5 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1FE0B4DFF0044FF0043FF0042FF0041 FF0040FF003FFF003FFF003EFF003DFF003CFF003CFF003BFF003AFF003AF36F8CE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6ADAEAD 000000CDCECDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D0D1D0000000C1C2C1E6E7E6 E6E7E6959595121212E6E7E6BEBFBE000000E6E7E6D0D1D0000000C1C2C1E6E7E6E6E7E6 959595121212E6E7E6BEBFBE000000D1D2D1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 B3B4B3000000DFE0DFACADAC0A0A0ACFCFCFB3B4B3000000DFE0DFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6B2B2B20E0E0EE6E7E6BEBFBE000000D0D1D0E6E7E6E6E7E6B6B7B6000000 D3D4D3E6E7E6E6E7E6B5B6B50A0A0AE6E7E6D1D2D1000000BEBFBEE6E7E6E6E7E6A8A8A8 151515E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0B0B0474747FFFFFF8D8D8D6B6B6BFFFFFF FFFFFFFFFFFFFFFFFFC3C3C30000001313131313131313133C3C3CFFFFFFFFFFFFC3C3C3 0000001313131313131313133C3C3CFFFFFFFFFFFFC3C3C3000000131313131313131313 3C3C3CFFFFFFFFFFFFC3C3C30000001313131313131313133C3C3CFFFFFFFFFFFFC3C3C3 0000001313131313131313133C3C3CFFFFFFFFFFFFC3C3C3000000131313131313131313 3C3C3CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6A4DDED00C3FF00C3FF00C2FF00C1FF00C0FF00C0FF00BFFF 00BEFF00BDFF00BDFF00BCFF00BBFF00BAFF00B9FF00B8FFA9DAEDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6AAAAAAABA9A9ACA8A8ADA7A7AEA6A6AFA5A5B1A3A3 B2A2A2B3A1A1B4A0A0B59F9FB69E9EB89C9CB99B9BBA9A9ABB9999BC9898BE9797BF9595 C09494C19393C29292C39191C59090C68E8EC78D8DC88C8CC98B8BCB8A8ACC8989CD8787 CE8686CF8585D08484D28383D38282D48080D57F7FD67E7ED87D7DD97C7CDA7B7BDB7979 DC7878DD7777DF7676E07575E17474E27272E37171E57070E66F6FE76E6EE86D6DE96B6B EA6A6AEC6969ED6868EE6767EF6666F06464F26363F36262F46161F56060F65F5FF75D5D F95C5CFA5B5BFA5E5EF19D9DE7E0DFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6EDA9BCFF0048FF0047FF0046FF0045FF0044FF0043FF0042FF0042FF0041FF0040 FF003FFF003FFF003EFF003DFF003CEDA5B5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1C2C1000000B7B8B7E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6BBBCBB000000DCDDDCE6E7E6E6E7E6B0B1B0000000E3E4E3BEBFBE 000000E6E7E6BBBCBB000000DCDDDCE6E7E6E6E7E6B0B1B0000000E3E4E3BEBFBE000000 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000DFE0DFE6E7E6484848 565656B3B4B3000000DFE0DFE6E7E6A4A5A43939391919191B1B1B171817040404E6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6BEBFBE030303 E6E7E6B8B9B80000001B1B1B1C1C1C1C1C1C1919190F0F0FE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFF6F6F6F888888FFFFFF4D4D4DACACACFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000 D9D9D9E3E3E3E3E3E3E8E8E8FFFFFFFFFFFFC3C3C3000000D9D9D9E3E3E3E3E3E3E8E8E8 FFFFFFFFFFFFC3C3C3000000D9D9D9E3E3E3E3E3E3E8E8E8FFFFFFFFFFFFC3C3C3000000 D9D9D9E3E3E3E3E3E3E8E8E8FFFFFFFFFFFFC3C3C3000000D9D9D9E3E3E3E3E3E3E8E8E8 FFFFFFFFFFFFC3C3C3000000D9D9D9E3E3E3E3E3E3E8E8E8FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D8E4E7 05C2FF00C0FF00BFFF00BEFF00BEFF00BDFF00BCFF00BBFF00BAFF00BAFF00B9FF00B8FF 00B7FF00B6FF00B5FF5AC8F5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 ACACACADABABAEAAAAAFA9A9B0A8A8B1A7A7B3A5A5B4A4A4B5A3A3B6A2A2B7A1A1B9A0A0 BA9E9EBB9D9DBC9C9CBD9B9BBE9A9AC09999C19797C29696C39595C49494C69393C79292 C89090C98F8FCA8E8ECC8D8DCD8C8CCE8B8BCF8989D08888D18787D38686D48585D58383 D68282D78181D98080DA7F7FDB7E7EDC7C7CDD7B7BDE7A7AE07979E17878E27777E37575 E47474E67373E77272E87171E97070EA6E6EEC6D6DED6C6CEE6B6BEF6A6AF06969F16767 F36666F46565F56464F66363F76262F96060FA5F5FFB5E5EF58888EAD3D3E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F55B88FF004BFF004AFF0049 FF0048FF0047FF0046FF0045FF0045FF0044FF0043FF0042FF0041FF0041FF0040FF0543 E7D9DCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E5E6E5212221606060E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E5D0D1D0000000 C1C2C1E6E7E6E6E7E6969696121212E6E7E6BEBFBE000000E6E7E6D0D1D0000000C1C2C1 E6E7E6E6E7E6969696121212E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6B3B4B3000000DFE0DFE6E7E6C6C6C6060606858685000000DFE0DFD6D7D6 0505059C9D9CE2E3E2E6E7E6B4B5B4030303E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 BEBFBE030303E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6CFCFCF000000CACBCAE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF171717171717040404131313161616020202 151515171717D0D0D0FFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E637C8F900BDFF00BCFF00BCFF00BBFF 00BAFF00B9FF00B8FF00B7FF00B7FF00B6FF00B5FF00B4FF00B3FF00B2FF11B5FDE1E5E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6AEAEAEAFADADB0ACACB1ABABB2AAAA B3A9A9B5A7A7B6A6A6B7A5A5B8A4A4B9A3A3BBA2A2BCA0A0BD9F9FBE9E9EBF9D9DC19C9C C29A9AC39999C49898C59797C79696C89595C99393CA9292CB9191CC9090CE8F8FCF8E8E D08C8CD18B8BD28A8AD48989D58888D68686D78585D88484DA8383DB8282DC8181DD7F7F DE7E7EE07D7DE17C7CE27B7BE37A7AE47878E57777E77676E87575E97474EA7272EB7171 ED7070EE6F6FEF6E6EF06D6DF16B6BF36A6AF46969F56868F66767F76666F96464FA6363 FB6262F87A7AEBC5C4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E1E2E1FD115AFF004EFF004DFF004CFF004BFF004AFF0049FF0048FF0048 FF0047FF0046FF0045FF0044FF0043FF0043F93769E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6ADAEAD080808676767 C6C7C6E2E3E2D1D2D18F8F8F585958E6E7E63C3C3C4B4B4BDDDEDDD1D2D12B2B2B646564 E6E7E6BEBFBE000000E6E7E6E6E7E63C3C3C4B4B4BDDDEDDD1D2D12B2B2B646564E6E7E6 BEBFBE000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000DFE0DF E6E7E6E6E7E6676767121212000000DFE0DFCECFCE000000C4C5C4E6E7E6E1E2E14E4E4E 030303E6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6 BEBFBE030303E6E7E6E6E7E64545454E4E4ED5D6D5E6E7E6CFD0CFA4A5A4E6E7E6E6E7E6 C5C5C5686868DDDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFE2E2E21B1B1BFEFEFEBFBFBF383838FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E67AD2F200BAFF00BAFF00B9FF00B8FF00B7FF00B6FF00B5FF00B5FF00B4FF 00B3FF00B2FF00B1FF00B0FF00AFFF00ADFFA6D7EDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6B0B0B0B1AFAFB2AEAEB3ADADB4ACACB5ABABB7AAAAB8A8A8B9A7A7BAA6A6 BBA5A5BCA4A4BEA3A3BFA1A1C0A0A0C19F9FC29E9EC49D9DC59C9CC69A9AC79999C89898 C99797CB9696CC9595CD9393CE9292CF9191D19090D28F8FD38E8ED48C8CD58B8BD68A8A D88989D98888DA8787DB8585DC8484DD8383DF8282E08181E18080E27E7EE37D7DE57C7C E67B7BE77A7AE87979E97777EA7676EC7575ED7474EE7373EF7272F07070F26F6FF36E6E F46D6DF56C6CF66B6BF76969F96868FA6767F97070EFB4B4E6E6E5E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EDA7BDFF0053FF0052 FF0050FF004FFF004EFF004DFF004CFF004BFF004AFF004AFF0049FF0048FF0047FF0046 FF0045F27A9AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BFC0BF505150161616040404121212484848B1B2B1 E6E7E6D0D1D04748470C0C0C0F0F0F5C5C5CDEDFDEE6E7E6BEBFBE000000E6E7E6E6E7E6 D0D1D04748470C0C0C0F0F0F5C5C5CDEDFDEE6E7E6BEBFBE000000E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6B3B4B3000000DFE0DFE6E7E6E6E7E6D8D9D8111111000000 DFE0DFE6E7E68081801F1F1F343534363636747574030303E6E7E6BEBFBE000000E6E7E6 E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6E6E7E6BEBFBE030303E6E7E6E6E7E6D9DAD9 5C5C5C1313130B0B0B202020787878E6E7E6E6E7E6A9A9A9000000D4D5D4E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF9090906A6A6AFFFFFF 6F6F6F8A8A8AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3 000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFC3C3C3000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C3 000000F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BADFEB00B8FF00B7FF 00B6FF00B5FF00B4FF00B3FF00B3FF00B2FF00B1FF00B0FF00AFFF00AEFF00ADFF00ABFF 00AAFF51BFF6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B2B2B2B3B1B1B4B0B0 B5AFAFB6AEAEB7ADADB9ABABBAAAAABBA9A9BCA8A8BDA7A7BFA6A6C0A4A4C1A3A3C2A2A2 C3A1A1C4A0A0C69F9FC79D9DC89C9CC99B9BCA9A9ACC9999CD9898CE9696CF9595D09494 D19393D39292D49191D58F8FD68E8ED78D8DD98C8CDA8B8BDB8A8ADC8888DD8787DF8686 E08585E18484E28383E38181E48080E67F7FE77E7EE87D7DE97C7CEA7A7AEC7979ED7878 EE7777EF7676F07575F17373F37272F47171F57070F66F6FF76E6EF96C6CFA6B6BFA6D6D F2A2A2E8E0DFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6F65289FF0056FF0055FF0054FF0052FF0051FF0050FF004F FF004EFF004DFF004CFF004CFF004BFF004AFF0049FF0048EBBCC8E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EF FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E5E7E61DBBFC00B4FF00B3FF00B2FF00B2FF00B1FF00B0FF 00AFFF00AEFF00ADFF00ACFF00ABFF00AAFF00A8FF00A7FF07A8FED6E3E8E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6B4B4B4B5B3B3B6B2B2B7B1B1B8B0B0B9AFAFBBADADBCACAC BDABABBEAAAABFA9A9C1A8A8C2A6A6C3A5A5C4A4A4C5A3A3C7A2A2C8A1A1C99F9FCA9E9E CB9D9DCD9C9CCE9B9BCF9999D09898D19797D29696D49595D59494D69292D79191D89090 DA8F8FDB8E8EDC8D8DDD8B8BDE8A8AE08989E18888E28787E38686E48484E68383E78282 E88181E98080EA7E7EEB7D7DED7C7CEE7B7BEF7A7AF07979F17777F37676F47575F57474 F67373F77272F97070FA6F6FFB6E6EF59393EAD5D5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D6D7D6FE075E FF0059FF0058FF0057FF0055FF0054FF0053FF0052FF0051FF0050FF004FFF004EFF004D FF004DFF004CFC1D5FE6E6E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6000000000000000000000000000000000000 000000000000000000E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 6ACBF300B2FF00B1FF00B0FF00AFFF00AEFF00ADFF00ACFF00ABFF00AAFF00A9FF00A8FF 00A7FF00A5FF00A4FF00A3FF81C9F1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B7B7B7 B8B6B6B9B5B5BAB4B4BBB3B3BCB2B2BEB0B0BFAFAFC0AEAEC1ADADC2ACACC3ABABC5A9A9 C6A8A8C7A7A7C8A6A6C9A5A5CBA3A3CCA2A2CDA1A1CEA0A0CF9F9FD09E9ED29C9CD39B9B D49A9AD59999D69898D89696D99595DA9494DB9393DC9292DD9191DF8F8FE08E8EE18D8D E28C8CE38B8BE58989E68888E78787E88686E98585EA8484EC8282ED8181EE8080EF7F7F F07E7EF27C7CF37B7BF47A7AF57979F67878F77777F97575FA7474FB7373F88585ECC7C6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F182ABFF005DFF005CFF005BFF005AFF0058FF0057 FF0056FF0055FF0054FF0053FF0052FF0051FF0050FF004FFF004EF36B93E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B8DCEB00AFFF00AEFF00ADFF00ACFF 00ABFF00AAFF00A9FF00A8FF00A7FF00A6FF00A5FF00A4FF00A2FF00A1FF00A0FF26ABFB E5E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6B9B9B9BAB8B8BBB7B7BCB6B6BDB5B5BEB4B4 C0B2B2C1B1B1C2B0B0C3AFAFC4AEAEC5ADADC7ABABC8AAAAC9A9A9CAA8A8CBA7A7CCA6A6 CEA4A4CFA3A3D0A2A2D1A1A1D2A0A0D39F9FD59D9DD69C9CD79B9BD89A9AD99999DA9898 DC9696DD9595DE9494DF9393E09292E19191E38F8FE48E8EE58D8DE68C8CE78B8BE88A8A EA8888EB8787EC8686ED8585EE8484EF8383F18181F28080F37F7FF47E7EF57D7DF67C7C F87A7AF97979FA7878F98080EFB8B7E6E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E5 FB2678FF0060FF005FFF005EFF005DFF005BFF005AFF0059FF0058FF0057FF0056FF0055 FF0054FF0053FF0052FF0051EBB9C8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E620B5FB00ABFF00AAFF00A9FF00A8FF00A7FF00A6FF00A5FF00A4FF 00A3FF00A2FF00A1FF009FFF009EFF009DFF009CFFA6D2EDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6BBBBBBBCBABABDB9B9BEB8B8BFB7B7C0B6B6C2B4B4C3B3B3C4B2B2C5B1B1C6B0B0 C7AFAFC9ADADCAACACCBABABCCAAAACDA9A9CEA8A8D0A6A6D1A5A5D2A4A4D3A3A3D4A2A2 D5A1A1D79F9FD89E9ED99D9DDA9C9CDB9B9BDD9999DE9898DF9797E09696E19595E29494 E49292E59191E69090E78F8FE88E8EE98D8DEB8B8BEC8A8AED8989EE8888EF8787F08686 F28484F38383F48282F58181F68080F77F7FF97D7DFA7C7CFB7D7DF2AAAAE8E1E0E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EDA7C2FF0065FF0063FF0062FF0061FF0060 FF005EFF005DFF005CFF005BFF005AFF0059FF0058FF0057FF0056FF0055FB2168E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E679CAF200A9FF 00A8FF00A7FF00A6FF00A5FF00A3FF00A2FF00A1FF00A0FF009FFF009EFF009CFF009BFF 009AFF0098FF40ADF8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBDBDBEBCBCBFBBBBC0BABA C1B9B9C2B8B8C4B6B6C5B5B5C6B4B4C7B3B3C8B2B2C9B1B1CBAFAFCCAEAECDADADCEACAC CFABABD1A9A9D2A8A8D3A7A7D4A6A6D5A5A5D6A4A4D8A2A2D9A1A1DAA0A0DB9F9FDC9E9E DE9C9CDF9B9BE09A9AE19999E29898E39797E59595E69494E79393E89292E99191EA9090 EC8E8EED8D8DEE8C8CEF8B8BF08A8AF28888F38787F48686F58585F68484F78383F98181 FA8080FB7F7FF69B9BEAD6D5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6F8408CFF0068FF0067FF0065FF0064FF0063FF0061FF0060FF005FFF005EFF005D FF005CFF005AFF0059FF0058FF0057F279A2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D0E1E804A7FF00A5FF00A4FF00A3FF00A2FF00A1FF 00A0FF009EFF009DFF009CFF009BFF0099FF0098FF0097FF0095FF0194FFBBD8EBE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6BFBFBFC0BEBEC1BDBDC2BCBCC3BBBBC4BABAC6B8B8C7B7B7C8B6B6 C9B5B5CAB4B4CCB2B2CDB1B1CEB0B0CFAFAFD0AEAED1ADADD3ABABD4AAAAD5A9A9D6A8A8 D7A7A7D9A5A5DAA4A4DBA3A3DCA2A2DDA1A1DF9F9FE09E9EE19D9DE29C9CE39B9BE49A9A E69898E79797E89696E99595EA9494EC9292ED9191EE9090EF8F8FF08E8EF18D8DF38B8B F48A8AF58989F68888F78787F98585FA8484FB8383F89393ECCAC9E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBBCD0FF016DFF006BFF006AFF0068 FF0067FF0066FF0064FF0063FF0062FF0061FF005FFF005EFF005DFF005CFF005BFF045D E8D1D8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E648B8F700A2FF00A1FF00A0FF009FFF009EFF009DFF009CFF009AFF0099FF0098FF 0097FF0095FF0094FF0092FF0091FF4EAEF6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1C1C1C2C0C0 C3BFBFC4BEBEC5BDBDC6BCBCC8BABAC9B9B9CAB8B8CBB7B7CCB6B6CDB5B5CFB3B3D0B2B2 D1B1B1D2B0B0D3AFAFD4AEAED6ACACD7ABABD8AAAAD9A9A9DAA8A8DBA7A7DDA5A5DEA4A4 DFA3A3E0A2A2E1A1A1E2A0A0E49E9EE59D9DE69C9CE79B9BE89A9AE99999EB9797EC9696 ED9595EE9494EF9393F09292F29090F38F8FF48E8EF58D8DF68C8CF78B8BF98989FA8888 F98D8DF0BCBBE6E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6F64F98FF006FFF006EFF006DFF006BFF006AFF0068FF0067FF0066FF0065 FF0063FF0062FF0061FF0060FF005FFF005EF74888E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A6D4ED00A0FF009FFF009EFF 009CFF009BFF009AFF0099FF0098FF0096FF0095FF0094FF0092FF0091FF0090FF008EFF 028EFFBBD6EBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C3C3C3C4C2C2C5C1C1C6C0C0C7BFBFC8BEBECABCBC CBBBBBCCBABACDB9B9CEB8B8CFB7B7D1B5B5D2B4B4D3B3B3D4B2B2D5B1B1D7AFAFD8AEAE D9ADADDAACACDBABABDCAAAADEA8A8DFA7A7E0A6A6E1A5A5E2A4A4E3A3A3E5A1A1E6A0A0 E79F9FE89E9EE99D9DEB9B9BEC9A9AED9999EE9898EF9797F09696F29494F39393F49292 F59191F69090F78F8FF98D8DFA8C8CFB8D8DF3B1B1E8E0DFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBBCD1FF0275FF0072FF0071 FF006FFF006EFF006DFF006BFF006AFF0069FF0067FF0066FF0065FF0064FF0063FF0061 FF0060EDA7C0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E5E7E628AAFB009CFF009BFF009AFF0099FF0097FF0096FF0095FF 0094FF0092FF0091FF0090FF008EFF008DFF008BFF008AFF3BA0F9E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 C5C5C5C6C4C4C7C3C3C8C2C2C9C1C1CAC0C0CCBEBECDBDBDCEBCBCCFBBBBD0BABAD2B8B8 D3B7B7D4B6B6D5B5B5D6B4B4D7B3B3D9B1B1DAB0B0DBAFAFDCAEAEDDADADDFABABE0AAAA E1A9A9E2A8A8E3A7A7E4A6A6E6A4A4E7A3A3E8A2A2E9A1A1EAA0A0EC9E9EED9D9DEE9C9C EF9B9BF09A9AF19999F39797F49696F59595F69494F79393F99191FA9090FB8F8FF6A6A6 EAD8D7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F93B95FF0077FF0075FF0074FF0072FF0071FF006FFF006EFF006D FF006BFF006AFF0069FF0068FF0066FF0065FF0064FB287AE6E6E5E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E691CBEF 0099FF0098FF0097FF0096FF0095FF0093FF0092FF0091FF008FFF008EFF008DFF008BFF 008AFF0088FF0087FF0085FF9DC8EEE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C7C7C7C8C6C6C9C5C5CAC4C4CBC3C3 CCC2C2CEC0C0CFBFBFD0BEBED1BDBDD2BCBCD3BBBBD5B9B9D6B8B8D7B7B7D8B6B6D9B5B5 DAB4B4DCB2B2DDB1B1DEB0B0DFAFAFE0AEAEE1ADADE3ABABE4AAAAE5A9A9E6A8A8E7A7A7 E8A6A6EAA4A4EBA3A3ECA2A2EDA1A1EEA0A0EF9F9FF19D9DF29C9CF39B9BF49A9AF59999 F69898F89696F99595FA9494F89F9EEDCCCBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EE9DC4FF007BFF007A FF0078FF0077FF0075FF0074FF0072FF0071FF0070FF006EFF006DFF006CFF006AFF0069 FF0068FF0067EF92B7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E6E717A0FC0096FF0095FF0093FF0092FF 0091FF008FFF008EFF008DFF008BFF008AFF0088FF0087FF0085FF0084FF0082FF1E8EFC DFE4E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6C9C9C9CAC8C8CBC7C7CCC6C6CDC5C5CEC4C4D0C3C3D1C1C1D2C0C0D3BFBF D4BEBED5BDBDD7BCBCD8BBBBD9B9B9DAB8B8DBB7B7DCB6B6DEB5B5DFB4B4E0B2B2E1B1B1 E2B0B0E4AFAFE5AEAEE6ADADE7ACACE8AAAAE9A9A9EBA8A8ECA7A7EDA6A6EEA5A5EFA3A3 F0A2A2F2A1A1F3A0A0F49F9FF59E9EF69D9DF79B9BF99A9AFA9999F99C9CF0C3C2E7E6E5 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6DFE0DFFC1E8DFF007EFF007DFF007BFF007AFF0078FF0077FF0075 FF0074FF0072FF0071FF0070FF006EFF006DFF006CFF006AFC1875E7E2E3E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E684C3F10093FF0092FF0091FF008FFF008EFF008DFF008BFF008AFF0089FF 0087FF0086FF0084FF0083FF0081FF007FFF007EFF70B0F3E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CBCBCBCCCACACDC9C9 CEC8C8CFC7C7D0C6C6D2C5C5D3C3C3D4C2C2D5C1C1D6C0C0D8BFBFD9BEBEDABCBCDBBBBB DCBABADDB9B9DFB8B8E0B7B7E1B5B5E2B4B4E3B3B3E5B2B2E6B1B1E7B0B0E8AFAFE9ADAD EAACACECABABEDAAAAEEA9A9EFA8A8F0A6A6F2A5A5F3A4A4F4A3A3F5A2A2F6A1A1F79F9F F99E9EFA9D9DFB9D9DF3B9B8E8E1E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F36FB4FF0083 FF0081FF0080FF007EFF007CFF007BFF0079FF0078FF0076FF0075FF0074FF0072FF0071 FF0070FF006EFF006DF184B2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DFE5E7199AFC008FFF 008EFF008DFF008BFF008AFF0089FF0087FF0086FF0084FF0083FF0081FF0080FF007EFF 007DFF007BFF057CFFBDD3EAE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCDCDCECCCCCFCBCBD0CACAD1C9C9D2C8C8D4C6C6D5C5C5 D6C4C4D7C3C3D8C2C2DAC1C1DBBFBFDCBEBEDDBDBDDEBCBCE0BBBBE1BABAE2B8B8E3B7B7 E4B6B6E6B5B5E7B4B4E8B3B3E9B1B1EAB0B0EBAFAFEDAEAEEEADADEFACACF0AAAAF1A9A9 F3A8A8F4A7A7F5A6A6F6A5A5F7A3A3F9A2A2FAA1A1FBA0A0F7B1B1EBD9D8E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6EABED5FF058AFF0086FF0084FF0082FF0081FF007FFF007E FF007CFF007BFF0079FF0078FF0076FF0075FF0074FF0072FF0071FC197DE7E0E2E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E688C3F0008DFF008CFF008AFF0089FF0088FF0086FF 0085FF0083FF0082FF0080FF007FFF007DFF007BFF007AFF0078FF0076FF328DFAE3E5E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CFCFCF D0CECED1CDCDD2CCCCD3CBCBD4CACAD6C9C9D7C7C7D8C6C6D9C5C5DAC4C4DBC3C3DDC2C2 DEC1C1DFBFBFE0BEBEE1BDBDE2BCBCE4BBBBE5BABAE6B9B9E7B7B7E8B6B6E9B5B5EBB4B4 ECB3B3EDB2B2EEB1B1EFAFAFF0AEAEF2ADADF3ACACF4ABABF5AAAAF6A9A9F7A7A7F9A6A6 FAA5A5F8AEADEDD2D1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E3E4E3FA32A0 FF008BFF0089FF0087FF0085FF0084FF0082FF0080FF007FFF007DFF007CFF007AFF0079 FF0077FF0076FF0075FF0073F089B6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E1E5E71E96FC0089FF0088FF0086FF0085FF0084FF0082FF0081FF007FFF007EFF007CFF 007AFF0079FF0077FF0075FF0073FF0072FF7AAFF2E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D1D1D1D2D0D0D3CFCFD4CECED5CDCDD6CCCC D8CBCBD9C9C9DAC8C8DBC7C7DCC6C6DDC5C5DFC4C4E0C2C2E1C1C1E2C0C0E3BFBFE5BEBE E6BDBDE7BCBCE8BABAE9B9B9EAB8B8ECB7B7EDB6B6EEB5B5EFB3B3F0B2B2F2B1B1F3B0B0 F4AFAFF5AEAEF6ADADF7ABABF9AAAAFAA9A9FAABABF1C9C8E7E5E4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F27ABEFF008FFF008DFF008CFF008AFF0088FF0086 FF0085FF0083FF0081FF0080FF007EFF007DFF007BFF007AFF0079FF0077FC1E85E7E2E4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E68EC2F00087FF0085FF0084FF 0082FF0081FF007FFF007EFF007CFF007BFF0079FF0078FF0076FF0074FF0073FF0071FF 006FFF056FFEB7CEEBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6D3D3D3D4D2D2D5D1D1D6D0D0D7CFCFD8CECEDACDCDDBCBCBDCCACADDC9C9DEC8C8 E0C7C7E1C6C6E2C4C4E3C3C3E4C2C2E6C1C1E7C0C0E8BFBFE9BDBDEABCBCEBBBBBEDBABA EEB9B9EFB8B8F0B6B6F1B5B5F3B4B4F4B3B3F5B2B2F6B1B1F7AFAFF9AEAEFAADADFBADAD F3C2C1E8E1E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBB8D6 FE0596FF0092FF0090FF008EFF008CFF008BFF0089FF0087FF0086FF0084FF0083FF0081 FF0080FF007EFF007DFF007BFF007AF08EBCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E2E5E62493FB0083FF0081FF0080FF007EFF007DFF007BFF007AFF 0078FF0077FF0075FF0073FF0072FF0070FF006EFF006CFF006AFF227BFBDCE1E7E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D5D5D5D6D4D4D7D3D3D8D2D2 D9D1D1DBD0D0DCCECEDDCDCDDECCCCDFCBCBE1CACAE2C9C9E3C7C7E4C6C6E5C5C5E7C4C4 E8C3C3E9C2C2EAC0C0EBBFBFEDBEBEEEBDBDEFBCBCF0BBBBF1B9B9F3B8B8F4B7B7F5B6B6 F6B5B5F7B4B4F9B2B2FAB1B1FBB0B0F7BCBBEBDCDBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DCDDDCFB22A4FF0097FF0095FF0093FF0091FF008F FF008DFF008CFF008AFF0088FF0087FF0085FF0084FF0082FF0081FF007FFF007EFB248D E6E3E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A5CBED 0080FF007FFF007DFF007CFF007AFF0079FF0077FF0076FF0074FF0072FF0071FF006FFF 006DFF006BFF0069FF0068FF0066FF5695F6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6D7D7D7D8D6D6D9D5D5DAD4D4DBD3D3DCD2D2DED1D1DFCFCFE0CECE E1CDCDE2CCCCE3CBCBE5CACAE6C9C9E7C7C7E8C6C6E9C5C5EBC4C4ECC3C3EDC2C2EEC1C1 EFBFBFF0BEBEF2BDBDF3BCBCF4BBBBF5BABAF6B9B9F7B7B7F9B6B6FAB5B5F8BABAEED4D4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 F656B9FF009BFF0099FF0097FF0096FF0094FF0092FF0090FF008EFF008DFF008BFF0089 FF0088FF0086FF0085FF0083FF0082FF0080EDA6C9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6449DF8007CFF007BFF0079FF0078FF 0076FF0075FF0073FF0072FF0070FF006EFF006CFF006BFF0069FF0067FF0065FF0063FF 0061FF85AEF0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D9D9D9DAD8D8 DBD7D7DCD6D6DDD5D5DED4D4E0D3D3E1D1D1E2D0D0E3CFCFE4CECEE6CDCDE7CCCCE8CACA E9C9C9EAC8C8ECC7C7EDC6C6EEC5C5EFC4C4F0C2C2F1C1C1F3C0C0F4BFBFF5BEBEF6BDBD F7BBBBF9BABAFAB9B9FABABAF1D0CFE7E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F086C9FF00A0FF009EFF009CFF009AFF0098 FF0096FF0094FF0093FF0091FF008FFF008DFF008CFF008AFF0089FF0087FF0086FF0084 F844A0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6C2D6EA057CFE0078FF0077FF0075FF0074FF0072FF0071FF006FFF006DFF 006CFF006AFF0068FF0066FF0064FF0062FF0060FF005EFF055FFEB2C6ECE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DCDCDCDDDBDBDEDADADFD9D9E0D8D8E1D7D7E3D5D5 E4D4D4E5D3D3E6D2D2E7D1D1E8D0D0EACECEEBCDCDECCCCCEDCBCBEECACAEFC9C9F1C7C7 F2C6C6F3C5C5F4C4C4F5C3C3F6C2C2F8C0C0F9BFBFFABEBEFBBDBDF4CBCAE9E3E2E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 ECB2D8FE05A6FF00A3FF00A1FF009FFF009DFF009BFF0099FF0097FF0095FF0093FF0092 FF0090FF008EFF008DFF008BFF008AFF0088FE0589EAC3D7E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E673AFF30076FF 0075FF0073FF0071FF0070FF006EFF006CFF006BFF0069FF0067FF0065FF0064FF0062FF 0060FF005EFF005CFF005AFF1867FCCDD7E9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 DEDEDEDFDDDDE0DCDCE1DBDBE2DADAE3D9D9E5D7D7E6D6D6E7D5D5E8D4D4E9D3D3EAD2D2 ECD0D0EDCFCFEECECEEFCDCDF0CCCCF2CACAF3C9C9F4C8C8F5C7C7F6C6C6F7C5C5F9C3C3 FAC2C2FBC1C1F8C9C9EBDEDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCECDFC18B0FF00A7FF00A5FF00A3FF00A1 FF009FFF009DFF009BFF009AFF0098FF0096FF0094FF0093FF0091FF008FFF008EFF008C FF008AF373B8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E0E4E72687FB0072FF0071FF006FFF006DFF006CFF 006AFF0068FF0067FF0065FF0063FF0061FF005FFF005DFF005BFF0059FF0057FF0055FF 296DFBD8DEE7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E0E0E0E1DFDFE2DEDEE3DDDDE4DCDC E5DBDBE6DADAE8D8D8E9D7D7EAD6D6EBD5D5ECD4D4EDD3D3EED2D2F0D0D0F1CFCFF2CECE F3CDCDF4CCCCF5CBCBF6CACAF8C8C8F9C7C7FAC6C6F8C8C8EEDADAE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 D8D9D8FB29B8FF00ACFF00AAFF00A8FF00A6FF00A4FF00A2FF00A0FF009EFF009CFF009A FF0098FF0097FF0095FF0093FF0092FF0090FF008EFB269CE7E1E4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6B2CCEC0271FF006EFF006DFF006BFF0069FF0068FF0066FF0064FF0062FF0060FF 005FFF005DFF005BFF0059FF0057FF0055FF0052FF0050FF3C76F9E1E4E7E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E2E2E2E3E1E1E4E0E0E5DFDFE6DEDEE7DDDDE8DCDCEADADAEBD9D9ECD8D8 EDD7D7EED6D6EFD5D5F1D3D3F2D2D2F3D1D1F4D0D0F5CFCFF6CECEF8CCCCF9CBCBFACACA FACACAF1D7D7E7E5E4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1F93CC1FF00B1FF00AFFF00ADFF00AA FF00A8FF00A6FF00A4FF00A2FF00A0FF009FFF009DFF009BFF0099FF0097FF0096FF0094 FF0092FF0292ECB2D3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E66CA7F3006CFF006AFF 0069FF0067FF0065FF0063FF0062FF0060FF005EFF005CFF005AFF0058FF0056FF0054FF 0052FF0050FF004EFF004CFF5181F6E3E5E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E4E4E4E5E3E3E6E2E2 E7E1E1E8E0E0E9DFDFEBDDDDECDCDCEDDBDBEEDADAEFD9D9F0D8D8F2D6D6F3D5D5F4D4D4 F5D3D3F6D2D2F7D1D1F9CFCFFACECEFBCDCDF4D6D5E9E4E3E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E3E4E3F652C8FF00B6FF00B3FF00B1FF00AFFF00ADFF00ABFF00A9FF00A7FF00A5FF00A3 FF00A1FF009FFF009DFF009CFF009AFF0098FF0096FF0095F36DBAE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E1E5E72E83FA0068FF0066FF0065FF0063FF0061FF005FFF 005EFF005CFF005AFF0058FF0056FF0054FF0052FF0050FF004EFF004BFF0049FF0047FF 5B85F5E5E6E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E6E6E7E5E5E8E4E4E9E3E3EAE2E2EBE1E1EDDFDFEEDEDE EFDDDDF0DCDCF1DBDBF3D9D9F4D8D8F5D7D7F6D6D6F7D5D5F9D3D3FAD2D2FBD1D1F8D4D4 ECE1E1E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E5F55BCDFF00BAFF00B8FF00B6FF00B4 FF00B1FF00AFFF00ADFF00ABFF00A9FF00A7FF00A5FF00A3FF00A1FF00A0FF009EFF009C FF009AFF0099FA2EA7E7E2E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 C2D3EA0A6CFE0064FF0062FF0061FF005FFF005DFF005BFF0059FF0057FF0055FF0053FF 0051FF004FFF004DFF004BFF0049FF0047FF0044FF0042FF5C82F5E3E5E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E8E8E8 E9E7E7EAE6E6EBE5E5ECE4E4EDE3E3EEE2E2F0E0E0F1DFDFF2DEDEF3DDDDF4DCDCF5DBDB F6DADAF8D8D8F9D7D7FAD6D6F9D7D7EFDFDFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E3E4E3F55CD0FF00BFFF00BDFF00BBFF00B8FF00B6FF00B4FF00B2FF00B0FF00AEFF00AC FF00AAFF00A8FF00A6FF00A4FF00A2FF00A0FF009EFF009DFE0A9EEAC3DAE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E693B8EF0062FF0060FF005EFF 005DFF005BFF0059FF0057FF0055FF0053FF0051FF004FFF004DFF004BFF0049FF0047FF 0044FF0042FF0040FF003DFF5278F6E1E3E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EAEAEAEBE9E9ECE8E8EDE7E7EEE6E6EFE5E5 F1E3E3F2E2E2F3E1E1F4E0E0F5DFDFF6DEDEF8DCDCF9DBDBFADADAFAD9D9F1DFDFE7E6E5 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1F652D1FF00C4FF00C2FF00BFFF00BD FF00BBFF00B8FF00B6FF00B4FF00B2FF00B0FF00AEFF00ACFF00AAFF00A8FF00A6FF00A4 FF00A2FF00A1FF009FEF94CCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6629AF4005EFF005CFF005AFF0058FF0057FF0055FF0053FF 0051FF004FFF004DFF004BFF0049FF0046FF0044FF0042FF0040FF003DFF003BFF0039FF 3E66F8D8DCE7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6ECECECEDEBEBEEEAEAEFE9E9F0E8E8F1E7E7F3E5E5F4E4E4F5E3E3F6E2E2F7E1E1 F9DFDFFADEDEFBDDDDF5DFDFEAE5E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 D8D9D8F83FD2FF00C9FF00C6FF00C4FF00C2FF00BFFF00BDFF00BBFF00B9FF00B6FF00B4 FF00B2FF00B0FF00AEFF00ACFF00AAFF00A8FF00A7FF00A5FF00A3F463BEE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E4E7 357CF9005AFF0058FF0056FF0054FF0052FF0051FF004FFF004DFF004BFF0048FF0046FF 0044FF0042FF0040FF003DFF003BFF0039FF0036FF0034FF2951FBCBD2E9E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EEEEEEEFEDEDF0ECECF1EBEB F2EAEAF4E9E9F5E8E8F6E6E6F7E5E5F8E4E4FAE3E3FBE2E2F8E2E2EBE5E4E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CBCCCBFB29D4FF00CEFF00CBFF00C9FF00C6 FF00C4FF00C2FF00BFFF00BDFF00BBFF00B9FF00B7FF00B4FF00B2FF00B0FF00AEFF00AD FF00ABFF00A9FF00A7F935B4E7E2E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D3DBE8206DFB0056FF0054FF0052FF 0050FF004EFF004CFF004AFF0048FF0046FF0044FF0042FF0040FF003EFF003BFF0039FF 0037FF0034FF0032FF002FFF1740FCB3BCECE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6F0F0F0F1EFEFF2EEEEF3EDEDF4ECECF5EBEBF6EAEAF8E9E9F9E8E8 FAE7E7F9E6E6EFE6E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 ECB3E3FC18D6FF00D2FF00D0FF00CDFF00CBFF00C8FF00C6FF00C4FF00C1FF00BFFF00BD FF00BBFF00B9FF00B7FF00B5FF00B3FF00B1FF00AFFF00ADFF00ABFB21B1E8D4E1E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6BECEEA0E5DFE0052FF0050FF004EFF004CFF004AFF0048FF0046FF 0044FF0042FF0040FF003EFF003BFF0039FF0037FF0034FF0032FF0030FF002DFF002BFF 052CFE8696F0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F2F2F2F3F1F1 F4F0F0F5EFEFF6EEEEF7EDEDF9ECECFAEBEBFAE9E9F2E8E8E8E8E7E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6F087E1FE05DAFF00D7FF00D4FF00D2FF00CF FF00CDFF00CBFF00C8FF00C6FF00C4FF00C1FF00BFFF00BDFF00BBFF00B9FF00B7FF00B5 FF00B3FF00B1FF00AFFE0EB1EABFDCE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6AAC0EC 0553FE004EFF004CFF004AFF0048FF0046FF0044FF0042FF0040FF003EFF003BFF0039FF 0037FF0035FF0032FF0030FF002DFF002BFF0028FF0026FF0023FF556AF6DCDEE7E6E7E6 E6E7E6E6E7E6AAAAAA444444131313141414484747B5B2B2F7F1F1F8F0F0FAEFEFFBEEEE F5EBEBEAE7E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DCDDDC F655E3FF00DEFF00DCFF00D9FF00D7FF00D4FF00D2FF00CFFF00CDFF00CAFF00C8FF00C6 FF00C4FF00C1FF00BFFF00BDFF00BBFF00B9FF00B7FF00B5FF00B3FE05B2ECABD7E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E69CB6EE034EFF004AFF0048FF0046FF 0044FF0042FF0040FF003EFF003BFF0039FF0037FF0035FF0032FF0030FF002EFF002BFF 0029FF0026FF0024FF0021FF001FFF223AFBB7BDEBE5E6E55B5B5B000000000000000000 000000000000000000636060FAF1F1F8EFEFECEAE9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6EBB8E7FB22E6FF00E3FF00E0FF00DEFF00DBFF00D9 FF00D6FF00D4FF00D1FF00CFFF00CDFF00CAFF00C8FF00C6FF00C4FF00C1FF00BFFF00BD FF00BBFF00B9FF00B7FF03B6EE9DD6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E693AFEF0249FF0046FF0044FF0042FF0040FF003EFF003CFF0039FF 0037FF0035FF0033FF0030FF002EFF002CFF0029FF0027FF0024FF0022FF001FFF001DFF 001AFF051CFF5359A40000000E0E0E8C8C8CD3D4D3E4E4E49796960F0E0E000000A2A09F E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E4E5E4F27AEA FF05EBFF00E8FF00E5FF00E2FF00E0FF00DDFF00DBFF00D8FF00D6FF00D3FF00D1FF00CF FF00CCFF00CAFF00C8FF00C6FF00C3FF00C1FF00BFFF00BDFF00BBFF02BAEF94D5E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E68AA7F0 0145FF0042FF0040FF003EFF003CFF003AFF0037FF0035FF0033FF0031FF002EFF002CFF 002AFF0027FF0025FF0022FF0020FF001DFF001BFF0018FF0015FF0005440000007E809C E6E7E6E6E7E6FAFAFAFBF9F9A1A0A00000003D3E3DE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6EABEE8FA31F0FF00EFFF00EDFF00EAFF00E7FF00E4FF00E2 FF00DFFF00DDFF00DAFF00D8FF00D5FF00D3FF00D1FF00CEFF00CCFF00CAFF00C8FF00C5 FF00C3FF00C1FF00BFFF01BDF08BD5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E687A3F00141FF003EFF003CFF003AFF 0037FF0035FF0033FF0031FF002FFF002CFF002AFF0028FF0025FF0023FF0020FF001EFF 001BFF0019FF0016FF0013FF00010B000000050FF47074F3DFE0E7F6F6F6EAEAE9DCDDDC 0000000A0A0AE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6DFE0DFF370F0FF05F7 FF00F4FF00F1FF00EEFF00ECFF00E9FF00E6FF00E4FF00E1FF00DFFF00DCFF00DAFF00D7 FF00D5FF00D3FF00D0FF00CEFF00CCFF00CAFF00C8FF00C5FF00C3FF01C1F088D6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E689A3F0023EFF003AFF0038FF0036FF0033FF0031FF002FFF002DFF 002AFF0028FF0026FF0023FF0021FF001EFF001CFF0019FF0017FF0014FF0011FF00010B 0000000009F40006FF2024FB9D9EEEE6E7E6DCDDDC0000000A0A0AE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6ED9EEEFB21FAFF00FBFF00F9FF00F6FF00F3FF00F0FF00EEFF00EB FF00E8FF00E6FF00E3FF00E1FF00DEFF00DCFF00D9FF00D7FF00D5FF00D2FF00D0FF00CE FF00CCFF00C9FF00C7FF02C5F08AD8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E693A9EF 033AFF0036FF0034FF0031FF002FFF002DFF002BFF0029FF0026FF0024FF0021FF001FFF 001DFF001AFF0018FF0015FF0012FF0010FF0003440000000005AA0005FF0002FF0100FF 3D3AF97D7D9D0000003D3E3DE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E9BBEBF43AF9FB00FFFE00FF FF00FDFF00FAFF00F8FF00F5FF00F2FF00EFFF00EDFF00EAFF00E7FF00E5FF00E2FF00E0 FF00DEFF00DBFF00D9FF00D6FF00D4FF00D2FF00D0FF00CEFF00CBFF03CAEF94DBE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E69DAFEE0538FE0032FF0030FF002DFF 002BFF0029FF0027FF0024FF0022FF0020FF001DFF001BFF0018FF0016FF0013FF0011FF 000EFF0007AD00000000000F00029B0000EA0300EA04009B01000F00000082819FE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E7BEEAEC4FF6F302FFF600FFF900FFFC00FFFF00FFFF00FCFF00F9FF00F6FF00F4 FF00F1FF00EEFF00ECFF00E9FF00E7FF00E4FF00E2FF00DFFF00DDFF00DBFF00D8FF00D6 FF00D4FF00D2FF00CFFE05CDEE9EDDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6ACBAEC0F3CFD002EFF002CFF0029FF0027FF0025FF0023FF0020FF 001EFF001BFF0019FF0016FF0014FF0011FF000FFF000CFF000AFE000365000000000000 0000000000000000000000000500651101FE4B3EF8ACA7EDE5E6E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E5E6A7EDE83EF8EC01FFEF00FFF200FFF500FF F800FFFB00FFFE00FFFF00FEFF00FBFF00F8FF00F5FF00F3FF00F0FF00EEFF00EBFF00E9 FF00E6FF00E4FF00E1FF00DFFF00DCFF00DAFF00D8FF00D6FF00D3FD0FD2ECADE0E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1C9EA 1E44FC002AFF0027FF0025FF0023FF0021FF001EFF001CFF001AFF0017FF0015FF0012FF 0010FF000DFF000BFF0008FF0005FF0001BC00004B00001500001503004B0900BC0F00FF 1200FF1500FF1800FF3D27FB8F82F1D8D7E8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D6D7D6E382F1 E227FBE400FFE700FFEA00FFED00FFF000FFF300FFF600FFF900FFFC00FFFF00FFFF00FD FF00FAFF00F7FF00F4FF00F2FF00EFFF00EDFF00EAFF00E8FF00E5FF00E3FF00E1FF00DE FF00DCFF00DAFF00D8FC1ED7EAC2E3E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D1D6E83554F90026FF0023FF0021FF 001FFF001DFF001AFF0018FF0015FF0013FF0011FF000EFF000BFF0009FF0006FF0004FF 0001FF0200FF0500FF0700FF0A00FF0D00FF1000FF1300FF1600FF1900FF1C00FF1F00FF 2706FE6A52F6B1A6EDE2E2E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E1E2E1E1A6EDDC52F6DA06FEDD00FFE000FFE300FFE600FFE900FFEC00FF EF00FFF200FFF500FFF800FFFA00FFFD00FFFF00FEFF00FBFF00F9FF00F6FF00F4FF00F1 FF00EEFF00ECFF00EAFF00E7FF00E5FF00E2FF00E0FF00DEFF00DCF935DCE8D2E4E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E1E3E66278F40022FF001FFF001DFF001BFF0019FF0016FF0014FF 0011FF000FFF000CFF000AFF0007FF0005FF0002FF0100FF0300FF0600FF0900FF0C00FF 0F00FF1100FF1400FF1700FF1A00FF1D00FF2000FF2300FF2700FF2A00FF3B11FD785BF5 B7A9EDE2E2E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E1DEA9EDD65BF5D111FDD200FFD500FF D800FFDC00FFDF00FFE200FFE500FFE800FFEB00FFEE00FFF000FFF300FFF600FFF900FF FC00FFFE00FFFF00FDFF00FAFF00F8FF00F5FF00F3FF00F0FF00EEFF00EBFF00E9FF00E6 FF00E4FF00E2FF00E0F463E1E6E2E5E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 93A0EF0926FE001BFF0019FF0017FF0015FF0012FF0010FF000DFF000BFF0008FF0006FF 0003FF0000FF0200FF0500FF0800FF0A00FF0D00FF1000FF1300FF1600FF1900FF1C00FF 1F00FF2200FF2500FF2800FF2B00FF2E00FF3100FF3400FF400BFE7048F7A189F0D0C9E9 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E0C9E9D589F0 CC48F7C60BFEC700FFCB00FFCE00FFD100FFD400FFD700FFDA00FFDD00FFE000FFE300FF E600FFE900FFEC00FFEF00FFF200FFF500FFF700FFFA00FFFD00FFFF00FFFF00FCFF00F9 FF00F7FF00F4FF00F2FF00EFFF00EDFF00EAFF00E8FF00E6FE09E4EF94E4E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C3C8EA2E43FA0018FF0015FF 0013FF0010FF000EFF000CFF0009FF0007FF0004FF0002FF0100FF0400FF0600FF0900FF 0C00FF0F00FF1100FF1400FF1700FF1A00FF1D00FF2000FF2300FF2600FF2900FF2C00FF 2F00FF3200FF3500FF3900FF3C00FF3F00FF4200FF5618FC7E4DF7A484F1C6B6EBE0DEE7 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E4DEE7D9B6EBCF84F1C44DF7BB18FCBA00FFBD00FFC000FFC300FFC600FFCA00FFCD00FF D000FFD300FFD600FFD900FFDC00FFDF00FFE200FFE500FFE800FFEB00FFEE00FFF000FF F300FFF600FFF900FFFB00FFFE00FFFF00FDFF00FBFF00F8FF00F6FF00F3FF00F1FF00EF FF00ECFF00EAFA2EE7EAC4E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E1E2E66B78F30216FF0011FF000FFF000CFF000AFF0008FF 0005FF0003FF0000FF0300FF0500FF0800FF0B00FF0D00FF1000FF1300FF1600FF1800FF 1B00FF1E00FF2100FF2400FF2700FF2A00FF2D00FF3000FF3300FF3600FF3900FF3D00FF 4000FF4300FF4600FF4A00FF4D00FF5000FF5402FF6B21FB8343F89660F5A97DF1B693EF C1A4EDCCB6EBD5C7E9DED7E8DFD8E8E1DCE7E6E7E6E6E7E6E1DCE7E0D8E8E0D7E8D9C7E9 D4B6EBCEA4EDC993EFC37DF1BC60F5B643F8AE21FBA902FFAC00FFAF00FFB200FFB500FF B900FFBC00FFBF00FFC200FFC600FFC900FFCC00FFCF00FFD200FFD500FFD800FFDB00FF DE00FFE100FFE400FFE700FFE900FFEC00FFEF00FFF200FFF400FFF700FFFA00FFFC00FF FF00FFFF00FCFF00FAFF00F7FF00F5FF00F3FF00F0FF02EEF36CE8E6E2E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6B2B6EC2633FB000DFF000BFF0009FF0006FF0004FF0001FF0100FF0400FF0700FF 0900FF0C00FF0F00FF1100FF1400FF1700FF1A00FF1C00FF1F00FF2200FF2500FF2800FF 2B00FF2E00FF3100FF3400FF3700FF3A00FF3E00FF4100FF4400FF4700FF4A00FF4D00FF 5100FF5400FF5700FF5B00FF5E00FF6100FF6500FF6800FF6B00FF6F00FF7200FF7500FF 7900FF7C00FF8000FF8300FF8600FF8A00FF8D00FF9000FF9400FF9700FF9A00FF9E00FF A100FFA400FFA800FFAB00FFAE00FFB200FFB500FFB800FFBB00FFBE00FFC100FFC500FF C800FFCB00FFCE00FFD100FFD400FFD700FFDA00FFDD00FFE000FFE300FFE500FFE800FF EB00FFEE00FFF000FFF300FFF600FFF800FFFB00FFFE00FFFF00FEFF00FBFF00F9FF00F6 FF00F4FB26F0ECB2E8E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E77379F3050EFE 0007FF0005FF0002FF0000FF0300FF0500FF0800FF0B00FF0D00FF1000FF1300FF1500FF 1800FF1B00FF1E00FF2100FF2300FF2600FF2900FF2C00FF2F00FF3200FF3500FF3800FF 3B00FF3E00FF4100FF4500FF4800FF4B00FF4E00FF5100FF5500FF5800FF5B00FF5E00FF 6200FF6500FF6800FF6C00FF6F00FF7200FF7500FF7900FF7C00FF8000FF8300FF8600FF 8A00FF8D00FF9000FF9300FF9700FF9A00FF9D00FFA100FFA400FFA700FFAA00FFAE00FF B100FFB400FFB700FFBA00FFBE00FFC100FFC400FFC700FFCA00FFCD00FFD000FFD300FF D600FFD900FFDC00FFDE00FFE100FFE400FFE700FFEA00FFEC00FFEF00FFF200FFF400FF F700FFFA00FFFC00FFFF00FFFF00FDFF00FAFE05F7F373EEE7E2E7E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C1C3EA4145F80003FF0001FF0200FF0400FF 0700FF0900FF0C00FF0F00FF1100FF1400FF1700FF1900FF1C00FF1F00FF2200FF2500FF 2700FF2A00FF2D00FF3000FF3300FF3600FF3900FF3C00FF3F00FF4200FF4500FF4900FF 4C00FF4F00FF5200FF5500FF5800FF5C00FF5F00FF6200FF6500FF6900FF6C00FF6F00FF 7200FF7600FF7900FF7C00FF8000FF8300FF8600FF8900FF8D00FF9000FF9300FF9600FF 9A00FF9D00FFA000FFA300FFA700FFAA00FFAD00FFB000FFB300FFB600FFBA00FFBD00FF C000FFC300FFC600FFC900FFCC00FFCF00FFD200FFD500FFD800FFDA00FFDD00FFE000FF E300FFE600FFE800FFEB00FFEE00FFF000FFF300FFF600FFF800FFFB00FFFD00FFFF00FE F841F6EAC2E9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A5A7ED2726FB0300FF0600FF0800FF0B00FF0D00FF1000FF1300FF 1500FF1800FF1B00FF1D00FF2000FF2300FF2600FF2800FF2B00FF2E00FF3100FF3400FF 3700FF3A00FF3D00FF4000FF4300FF4600FF4900FF4C00FF4F00FF5300FF5600FF5900FF 5C00FF5F00FF6200FF6600FF6900FF6C00FF6F00FF7300FF7600FF7900FF7C00FF8000FF 8300FF8600FF8900FF8C00FF9000FF9300FF9600FF9900FF9D00FFA000FFA300FFA600FF A900FFAC00FFB000FFB300FFB600FFB900FFBC00FFBF00FFC200FFC500FFC800FFCB00FF CE00FFD100FFD400FFD700FFD900FFDC00FFDF00FFE200FFE400FFE700FFEA00FFEC00FF EF00FFF200FFF400FFF700FFF900FFF826FBEDA6EDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E2E3E6 918FF0231DFC0A00FF0C00FF0F00FF1100FF1400FF1600FF1900FF1C00FF1E00FF2100FF 2400FF2700FF2A00FF2C00FF2F00FF3200FF3500FF3800FF3B00FF3E00FF4100FF4400FF 4700FF4A00FF4D00FF5000FF5300FF5600FF5900FF5C00FF6000FF6300FF6600FF6900FF 6C00FF7000FF7300FF7600FF7900FF7C00FF8000FF8300FF8600FF8900FF8C00FF8F00FF 9300FF9600FF9900FF9C00FF9F00FFA300FFA600FFA900FFAC00FFAF00FFB200FFB500FF B800FFBB00FFBE00FFC100FFC400FFC700FFCA00FFCD00FFD000FFD300FFD500FFD800FF DB00FFDE00FFE100FFE300FFE600FFE900FFEB00FFEE00FFF000FFF300FFF31DFCED8FF0 E6E3E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E1E2E78C89F02519FC1000FF 1200FF1500FF1800FF1A00FF1D00FF2000FF2200FF2500FF2800FF2B00FF2D00FF3000FF 3300FF3600FF3900FF3C00FF3F00FF4200FF4500FF4800FF4B00FF4E00FF5100FF5400FF 5700FF5A00FF5D00FF6000FF6300FF6600FF6900FF6D00FF7000FF7300FF7600FF7900FF 7C00FF8000FF8300FF8600FF8900FF8C00FF8F00FF9200FF9600FF9900FF9C00FF9F00FF A200FFA500FFA800FFAB00FFAE00FFB100FFB400FFB700FFBA00FFBD00FFC000FFC300FF C600FFC900FFCC00FFCF00FFD200FFD400FFD700FFDA00FFDD00FFDF00FFE200FFE500FF E700FFEA00FFED00FFEE19FCEB89F0E7E2E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E0E1E78A83F12A18FC1600FF1900FF1B00FF1E00FF 2100FF2300FF2600FF2900FF2C00FF2E00FF3100FF3400FF3700FF3A00FF3D00FF3F00FF 4200FF4500FF4800FF4B00FF4E00FF5100FF5400FF5700FF5A00FF5D00FF6000FF6400FF 6700FF6A00FF6D00FF7000FF7300FF7600FF7900FF7C00FF8000FF8300FF8600FF8900FF 8C00FF8F00FF9200FF9500FF9800FF9B00FF9F00FFA200FFA500FFA800FFAB00FFAE00FF B100FFB400FFB700FFBA00FFBD00FFC000FFC200FFC500FFC800FFCB00FFCE00FFD100FF D300FFD600FFD900FFDC00FFDE00FFE100FFE400FFE600FFE818FCE883F1E7E1E7E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E1E2E79991EF3E29FB1D00FF1F00FF2200FF2400FF2700FF2A00FF2D00FF 2F00FF3200FF3500FF3800FF3B00FF3D00FF4000FF4300FF4600FF4900FF4C00FF4F00FF 5200FF5500FF5800FF5B00FF5E00FF6100FF6400FF6700FF6A00FF6D00FF7000FF7300FF 7600FF7900FF7C00FF8000FF8300FF8600FF8900FF8C00FF8F00FF9200FF9500FF9800FF 9B00FF9E00FFA100FFA400FFA700FFAA00FFAD00FFB000FFB300FFB600FFB900FFBC00FF BF00FFC200FFC400FFC700FFCA00FFCD00FFD000FFD200FFD500FFD800FFDB00FFDD00FF E000FFE329FBE591EFE6E2E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E5E6E6 AFA8ED5D48F72705FF2500FF2800FF2B00FF2E00FF3000FF3300FF3600FF3900FF3B00FF 3E00FF4100FF4400FF4700FF4A00FF4D00FF4F00FF5200FF5500FF5800FF5B00FF5E00FF 6100FF6400FF6700FF6A00FF6D00FF7000FF7300FF7600FF7900FF7C00FF8000FF8300FF 8600FF8900FF8C00FF8F00FF9200FF9500FF9800FF9B00FF9E00FFA100FFA400FFA700FF AA00FFAD00FFB000FFB200FFB500FFB800FFBB00FFBE00FFC100FFC400FFC600FFC900FF CC00FFCF00FFD100FFD400FFD700FFDB05FFDF48F7E4A8EDE6E6E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6D3CFE98B79F24321FB 2C00FF2E00FF3100FF3400FF3700FF3900FF3C00FF3F00FF4200FF4500FF4700FF4A00FF 4D00FF5000FF5300FF5600FF5900FF5C00FF5F00FF6200FF6500FF6800FF6B00FF6D00FF 7000FF7300FF7600FF7900FF7C00FF8000FF8300FF8600FF8900FF8C00FF8F00FF9200FF 9400FF9700FF9A00FF9D00FFA000FFA300FFA600FFA900FFAC00FFAF00FFB200FFB500FF B800FFBA00FFBD00FFC000FFC300FFC600FFC800FFCB00FFCE00FFD100FFD521FBDF79F2 E5CFE9E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6C2BAEB836BF3491DFC3500FF3700FF 3A00FF3D00FF4000FF4200FF4500FF4800FF4B00FF4E00FF5100FF5300FF5600FF5900FF 5C00FF5F00FF6200FF6500FF6800FF6B00FF6E00FF7100FF7400FF7700FF7A00FF7D00FF 8000FF8200FF8500FF8800FF8B00FF8E00FF9100FF9400FF9700FF9A00FF9D00FFA000FF A300FFA600FFA900FFAC00FFAE00FFB100FFB400FFB700FFBA00FFBD00FFBF00FFC200FF C500FFC800FFCE1DFCD86BF3E2BAEBE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E5E6E6C4BBEB9479F26538F94104FF4000FF4300FF4600FF 4900FF4B00FF4E00FF5100FF5400FF5700FF5A00FF5D00FF5F00FF6200FF6500FF6800FF 6B00FF6E00FF7100FF7400FF7700FF7A00FF7D00FF8000FF8200FF8500FF8800FF8B00FF 8E00FF9100FF9400FF9700FF9A00FF9D00FFA000FFA200FFA500FFA800FFAB00FFAE00FF B100FFB400FFB600FFB900FFBC00FFC004FFCA38F9D679F2E0BBEBE6E6E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6DCDAE7B5A3ED926FF36F3AF94F09FE4C00FF4F00FF5200FF5400FF 5700FF5A00FF5D00FF6000FF6300FF6600FF6800FF6B00FF6E00FF7100FF7400FF7700FF 7A00FF7D00FF8000FF8200FF8500FF8800FF8B00FF8E00FF9100FF9400FF9700FF9900FF 9C00FF9F00FFA200FFA500FFA800FFAB00FFAD00FFB000FFB509FEC23AF9CE6FF3D9A3ED E3DAE7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E3E3E6CCC0EAB297EF976DF38145F86B1FFC5D03FF5D00FF6000FF6300FF 6600FF6900FF6B00FF6E00FF7100FF7400FF7700FF7A00FF7D00FF8000FF8200FF8500FF 8800FF8B00FF8E00FF9100FF9400FF9600FF9900FF9C00FF9F00FFA303FFAD1FFCBA45F8 C66DF3D397EFDDC0EAE5E3E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E2E1E7CFC1EABFA4EDAF87F0A16AF49754F69043F88831FA8120FC 7C10FD7E0FFD7F0BFE7D00FF8000FF870BFE8B0FFD8E10FD9820FCA131FAA943F8B154F6 BB6AF4C687F0D0A4EDDAC1EAE4E1E7E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFE6E7E6A4A7A4 CDCFCDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6A4A7A4FFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFF EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E6E7E6A4A7A4BDBFBD E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFE7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EF FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E1E2E18484840C0C0C0C0C0CC0C1C0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A4A7A4FFFFFFE4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4C2C3C20000000000000000001D1D1D D1D2D1E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 9E9F9E666766575857000000000000000000151515AEAEAEE3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2C3C4C32B2B2B000000000000000000 0000006D6D6DAEAEAEE2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E6E7E6A4A7A4BDBFBDE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4 FFFFFFE0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0 E0E1E0DCDDDCBBBCBBE0E0E02A2A2A0000004C4C4C929392A7A7A7DEDFDEE0E1E0E0E1E0 E0E1E0E0E1E0E0E1E0E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDBDCDBBFC0BFDFDFDFFFFFFF999999 212121505050CCCDCCDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFE6E7E6A4A7A4 BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6A4A7A4FFFFFFDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDE DEDFDEDEDFDEBABBBADFDFDFFFFFFF9595955B5B5B8A8A8A878787CBCCCBDEDFDEDEDFDE DEDFDEDEDFDEDEDFDEDEDFDEDEDFDEE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFDCDEDCDCDEDC DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCB3B4B3E3E3E3FFFFFF959595 626262989898D0D1D0D2D4D2D8DAD8DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDC E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBD7D8D7B9BAB9E3E3E3F8F8F89999995B5B5B989898D5D6D5DBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFF DADBDADADBDADADBDADADBDADADBDADADBDADADBDAD6D7D6BDBEBDDFDFDFFFFFFF999999 555555A0A0A0CECFCEDADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDA DADBDADADBDAE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8CED0CEB8B8B8FFFFFF9595955B5B5B9FA09FCACBCAD8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8E6E7E6A4A7A4BDBFBD E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFD7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7AFAFAFAAAAAA3F3F3F 626262979897CBCCCBD7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EF FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6BBBCBB5151519595959A9A9AD0D1D0D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6E6E7E6 A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A4A7A4FFFFFFD4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2E6E7E6A4A7A4BDBFBDE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4 FFFFFFD0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFE6E7E6A4A7A4 BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6A4A7A4FFFFFFCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4BDBFBDCDCFCDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CDCFCDA4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4BDBFBDCDCFCDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDA4A7A4EFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDCDCFCDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDCDCFCDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CDCFCDBDBFBD868986868986868986868986868986868986868986868986868986868986 868986868986868986868986868986868986868986868986868986868986868986868986 868986868986868986868986868986868986868986868986868986868986868986868986 868986868986868986868986868986868986868986868986868986868986868986868986 868986868986868986868986868986868986868986868986868986868986868986868986 868986868986868986868986868986868986868986868986868986868986868986868986 868986868986868986868986868986868986868986868986868986868986868986868986 868986E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCDBDBFBD868986E6E7E6A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4E6E7E6E6E7E6A4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6BDBFBD868986E6E7E6A4A7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFA4A7A4E6E7E6FFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFE6E7E6A4A7A4CDCFCDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EF EFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFEFF0EFE6E7E6A4A7A4CDCFCDA4A7A4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6E7E6A4A7A4 BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEE6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986 A4A7A4FFFFFFECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDEC ECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECECEDECE6E7E6A4A7A4 BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A4A7A4FFFFFFEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEB1112122627292124271C2024191D22191D21111417676867DFE0DFE9EAE9 EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEBEBECEB EBECEBEBECEBEBECEBEBECEBEBECEBE6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 BDBFBD868986A4A7A4FFFFFFEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAE9EAE9262727CFDBE8B4C8DB 8FACC77696B2738FA860707F5A5A5ACECECEE4E5E4EAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA EAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEAEAEBEA E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E5E6E5CECFCED3D4D3E5E6E5E7E8E7E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E7E8E7E7E8E7E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFE8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E6E7E6232527B5C9DD9FB9D2688EB23E63863650695E6D7A555555 C5C6C5E2E3E2E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8 E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E8E9E8E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4 FFFFFFE7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7BCBDBC 73615E6C5C5AA9A9A9DEDFDEE5E6E5E7E8E7E7E8E7E7E8E7E7E8E7C8C9C8787978747574 CBCCCBE2E3E2E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E6E7E6A4A7A4BDBFBD E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFE7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E79B9C9BA8A9A8E1E2E1222426 B6C9DD9CB6D0688FB33759783C4F6267727C535453C5C5C5E1E2E1E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7E7E8E7 E7E8E7E7E8E7E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6877B79A66B5EA6503F5A403B9B9B9BD9DAD9 E4E5E4E6E7E6E6E7E6CECFCE6D63618D554A863F31666563D0D1D0E1E2E1E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A5A6A5141515808180D3D4D3222426B6C9DD9AB5CF678EB32A465E69747E 747D84535353C4C5C4E0E1E0E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4BDBFBD A4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6A4A7A4FFFFFFE4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E3E4E381726EB55745C7523D9E3D2B583832989594D5D6D5E2E3E2CCCDCC796A679D4F41 BF4933862C1D514C49B9BAB9DBDCDBE4E5E4E4E5E4E4E5E4E4E5E4E4E5E4BEBEBE505150 171717040404121212474747ACACACE4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4BDBDBD000000E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E6E7E6 A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFE4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4ADAEAD4E5760596570727272 C7C8C7202224B0C3D6879EB34A657F293A4CA6ADB4545E69525352C2C3C2DEDFDEE4E5E4 E4E5E4E4E5E4E4E5E4A4A4A43434340808080D0D0D424242BABBBAE4E5E4E4E5E4E4E5E4 AEAFAE000000D9DAD9E4E5E4E4E5E4A4A4A40D0D0D828282E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4E4E5E4 E4E5E4E4E5E4E4E5E4E4E5E4E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E2E3E28C8D8B884234BE4028BF3E26 A43C296F453E9C9897CBCBCA7F716E91483AB4432F7C251659352F858585BCBDBCDBDCDB E3E4E3E3E4E3E3E4E3E3E4E3ABACAB080808656565C4C5C4DFE0DFCDCECD8A8B8A575857 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3BCBDBC000000E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD 868986A4A7A4FFFFFFE3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E39E9F9E5A6268B1C6DA55626E444444797A791213145D666F434F5B404B55 818C9693A4B33A4551525252C1C2C1DDDEDDE3E4E3E3E4E3E3E4E3979897050505868686 D8D9D8D0D1D06B6B6B0A0A0ABBBCBBE3E4E3E3E4E3AEAEAE000000D8D9D8E3E4E38D8D8D 0B0B0B989998E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3 E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E3E4E3E6E7E6 A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFE2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2CECFCE706663813425BF4028BE3F269A36235D3E386C6766824539 B247336F24184E35307A7A79ADAEADCFCFCFDEDFDEE2E3E2E2E3E2E2E3E2E2E3E2212121 5E5E5EE2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E1E2E1E2E3E2CDCECD3A3A3A111111090909 404040CBCCCBE2E3E2BBBCBB0000008686862F2F2F2324232F2F2FBFBFBFE2E3E2E2E3E2 DDDEDD6F6F6F1C1C1C0A0A0A131313626362E2E3E2E2E3E2D6D7D65455541010100E0E0E 545554D9DAD9E2E3E2BBBCBB000000E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFE2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2959695686F76AEC2D5A6BED5 8294A667707971777D73797E72787E767C829DA4AAB4C2CF70879C2A3540616161C1C2C1 DCDDDCE2E3E2E2E3E2E0E1E01919196A6B6AE2E3E2E2E3E2E2E3E2E2E3E2424342424242 E2E3E2E2E3E2ADAEAD000000D7D8D77273720F0F0FABACABE2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2 E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E2E3E2E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFF E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0DCDDDCBDBEBD 675A56823324BE4028B83A21932F1D824336BA4D3978261846312D797777A9A9A9CBCCCB DBDCDBE0E1E0E0E1E0E0E1E0E0E1E0BCBDBC000000B2B3B2E0E1E0E0E1E0E0E1E0E0E1E0 E0E1E0E0E1E0E0E1E0CCCDCCB9BAB9E0E1E0CFD0CF404040464746E0E1E0B9BAB9000000 646564DEDFDEE0E1E06C6D6C393939E0E1E0E0E1E05354532D2D2DBCBDBCE0E1E0D5D6D5 ABACABE0E1E0E0E1E0454645414141D3D4D3D5D6D53D3E3D606060E0E1E0B9BAB9000000 E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E6E7E6A4A7A4BDBFBDE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6BDBFBD868986A4A7A4FFFFFFE0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0 E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0 E0E1E0E0E1E09697966E767CA1B6CAA4BDD5A4BDD4A3BCD3A7BFD6ACC2D8ADC3D8ADC3D8 AEC4D9ACC2D78BA1B749698628323D7C7C7CC5C6C5DCDDDCE0E1E0E0E1E0BABBBA000000 B5B6B5E0E1E0E0E1E0E0E1E0E0E1E08D8E8D070707DEDFDEE0E1E0ABACAB000000505050 191A19BABBBAE0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0 E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0E0E1E0 E0E1E0E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDEDFDEDADBDAB4B3B3604C488A3425BC3F27B93922 C24D3794301E3C211B626260A0A1A0C9CAC9DBDCDBDEDFDEDFE0DFDFE0DFDFE0DFDFE0DF A8A9A8000000C7C7C7DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFACADAC0E0E0EDFE0DFB9B9B9000000D1D2D1DFE0DFDFE0DFB3B4B30A0A0A DFE0DFCECFCE010101B2B3B2DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFCBCCCB000000B9B9B9 DFE0DFDFE0DFA3A3A3141414DFE0DFB9B9B9000000DFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDCDDDC9EA4A96E7E8DA3B9CF9DB7D1 9BB6D09BB6D09AB6D09AB6D09BB6D09BB6D09BB6D09BB6D086A3BF657F98344757424649 A2A3A2CCCDCCDCDDDCDFE0DFDFE0DFA8A9A8000000C7C8C7DFE0DFDFE0DFDFE0DFDFE0DF A0A1A0000000D2D3D2DFE0DFABABAB0000000C0C0C565656DEDFDEDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DF DFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFDFE0DFE6E7E6A4A7A4BDBFBDA4A7A4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDE DEDFDEDEDFDED6D7D69B9A99553630A34939BF432CBA3A23B538217D2B1B554440A09F9F D3D4D3DDDEDDDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEBABBBA000000B1B2B1DEDFDEDEDFDE DEDFDEDEDFDEDEDFDEDEDFDEDEDFDE9E9F9E3737371818181A1A1A171717030303DEDFDE B8B9B8000000DEDFDEDEDFDEDEDFDEB8B9B8030303DEDFDEB5B6B5000000D4D5D4DEDFDE DEDFDEDEDFDEDEDFDEDEDFDEB2B2B20000001A1A1A1B1B1B1B1B1B1818180F0F0FDEDFDE B8B9B8000000DEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEE6E7E6A4A7A4 BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFDEDFDEDEDFDEDEDFDEDEDFDEDEDFDE DEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDE DEDFDEDEDFDEC1C2C1404A5262819E648AAD678EB1678EB1678EB1678EB1678EB1678EB1 678EB1678EB1678EB15F7E9C51697F1A2025797A79B9BAB9D4D5D4DDDEDDDEDFDEDEDFDE B9B9B9000000B3B4B3DEDFDEDEDFDEDEDFDEDEDFDE8C8D8C060606DCDDDCDEDFDEAAABAA 000000ACADAC151515545554DBDCDBDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDE DEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDEDEDFDE DEDFDEDEDFDEDEDFDEE6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFDCDEDCDCDEDCDCDEDC DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCC0C0BF75615C964E40 B94B378B322193311EBC3E26B93A227A2A1B5F4E4AAFB1AFD5D7D5DBDDDBDCDEDCDCDEDC DCDEDCDCDEDCDBDDDB2020205B5C5BDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDBDDDBCCCECC 050505959795D9DBD9DCDEDCADAEAD030303DCDEDCB6B8B6000000DCDEDCDCDEDCDCDEDC B6B8B6030303DCDEDCCCCDCC010101B1B2B1DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCC6C7C6 000000C1C3C1DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCB6B8B6000000DCDEDCDCDEDCDCDEDC DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986 A4A7A4FFFFFFDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDC DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDBDDDBABACAB383F45 2A445C3D61833F65883F65883F65883E64873F65883F65883F65883E6081374F66212B34 49494AA7A8A7C8CAC8D8DAD8DCDEDCDCDEDCDCDEDCDADCDA181818686868DCDEDCDCDEDC DCDEDCDCDEDC414141404040DCDEDCDCDEDCA8AAA8000000D2D4D2BDBFBD1A1A1A494A49 D8DAD8DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDC DCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCDCDEDCE6E7E6A4A7A4 BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A4A7A4FFFFFFDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBB5B6B572615D8A473BB64A3679291B483A394B342E953826BE3F26 B939217D2B1B615755BABBBAD5D6D5DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBA5A6A5080808 626262BDBEBDD8D9D8C7C8C7888888545554C4C5C4000000BABBBADBDCDBD7D8D74A4A4A 030303DBDCDBB5B6B5000000DBDCDBDBDCDBDBDCDBB5B6B5030303DBDCDBDBDCDB515151 2E2F2EBABABADBDCDBD1D2D1A7A8A7DBDCDBDBDCDB4142414A4A4ACBCCCBDBDCDBC6C6C6 9C9D9CDBDCDBB5B6B5000000DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBD5D6D5A1A2A1353B412B455E3E63863C6183355573 32506C32506C32506D304D692941581A25303A3B3B939493BEBFBED2D3D2DADBDADBDCDB DBDCDBDBDCDBDBDCDB929392050505818181D0D1D0CACBCA676867090909B3B4B3DBDCDB DBDCDBA7A8A7000000D1D2D1DBDCDBC2C3C2212121404040D4D5D4DBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDBDBDCDB DBDCDBDBDCDBDBDCDBDBDCDBDBDCDBE6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFDADBDA DADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDAABACAB6C504C985144 B646327A27184E373378777680807E5C3D37973725BF3F26BC3A227430246E6D6DC5C6C5 D7D8D7DADBDADADBDADADBDADADBDADADBDAB5B6B54C4C4C151515030303111111444544 A8A8A8DADBDA797A791D1D1D3232323334336E6F6E030303DADBDAB4B5B4000000DADBDA DADBDADADBDAB4B5B4030303DADBDADADBDAD4D5D4676867191919090909131313616161 DADBDADADBDACECFCE5758571212120A0A0A1E1E1E727272DADBDAB4B5B4000000DADBDA DADBDADADBDADADBDADADBDADADBDADADBDADADBDAE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 BDBFBD868986A4A7A4FFFFFFDADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDA DADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDA D9DAD9D3D4D3A6A7A6262B302F4B663B5F7F2033440A11170A11170A11170A1016070C10 3A3C3D8A8B8AB7B8B7CECFCED8D9D8DADBDADADBDADADBDADADBDADADBDADADBDA9C9C9C 3131310707070A0A0A3E3F3EB1B2B1DADBDADADBDADADBDAA7A7A7000000D0D1D0DADBDA DADBDAC7C8C7282828373737DADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDA DADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDADADBDA E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8766C699B5749BB46317F2919472F2B706F6E9FA19FBABCBA 8C8A8856342DA13C29C23D259D34204E4442B0B2B0D0D1D0D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFD8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D3D5D3BDBFBD24272B 2A435B1C2C3A5A5B5A9596959D9E9D9EA09E9EA09EA6A8A6B9BAB9CDCFCDD6D8D6D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8 D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8D8DAD8E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4 FFFFFFD7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D6D7D674706F 7A32257E2B1C362A276F6E6E9F9F9FC2C3C2D2D3D2C9CAC98A8988553631A2402E8B3121 4E4340A4A5A4CCCDCCD7D8D7D7D8D7D7D8D7000000000000000000000000000000000000 000000000000000000D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7E6E7E6A4A7A4BDBFBD E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFD7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D3D4D3B4B4B430373E131F29646564B2B3B2C5C6C5 C8C9C8C8C9C8CACACACFD0CFD5D6D5D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7000000 000000000000000000000000000000000000000000000000000000D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7D7D8D7 D7D8D7D7D8D7E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D5D6D5BCBDBC6E5F5C4C413E747574A0A1A0BFC0BF D1D2D1D6D7D6D4D5D4C9CAC99091905648454436326E6F6EACADACCDCECDD6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4 FFFFFFD6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D0D1D09FA09F2B2B2B696969BBBCBBD2D3D2D5D6D5D5D6D5D5D6D5D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6 D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6D6D7D6E6E7E6A4A7A4BDBFBD A4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6A4A7A4FFFFFFD4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D0D2D0BFC1BFAAACAAACAEACBEC0BECED0CED3D5D3D4D6D4D4D6D4D2D4D2C8CAC8 A8AAA88D8E8DA3A4A3BEBFBED0D2D0D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4E6E7E6 A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFD4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4CED0CEA1A3A19D9F9D C1C3C1D2D4D2D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4D4D6D4 D4D6D4D4D6D4D4D6D4D4D6D4E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3CFD0CFCACBCACBCCCB CFD0CFD2D3D2D3D4D3D3D4D3D3D4D3D3D4D3D1D2D1CCCDCCC3C4C3C5C6C5CDCECDD2D3D2 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD 868986A4A7A4FFFFFFD3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3CECFCEC7C8C7CCCDCCD2D3D2D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3 D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3D3D4D3E6E7E6 A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFD2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D0D1D0D0D1D0D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2E6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFD2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2 D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2D2D3D2E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFF D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0E6E7E6A4A7A4BDBFBDE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6BDBFBD868986A4A7A4FFFFFFD0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0D0D2D0 D0D2D0E6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4FFFFFFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFE6E7E6A4A7A4BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CF CFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFCFD1CFE6E7E6A4A7A4BDBFBDA4A7A4 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 A4A7A4FFFFFFCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDE6E7E6A4A7A4 BDBFBDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6BDBFBD868986A4A7A4FFFFFFCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCDCDCFCD CDCFCDCDCFCDCDCFCDE6E7E6A4A7A4BDBFBDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4BDBFBDCDCFCDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6BDBFBD868986 E6E7E6A4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4BDBFBD CDCFCDA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 BDBFBDCDCFCDE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD868986E6E7E6E6E7E6A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4BDBFBDCDCFCDFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CDCFCD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDCDCFCDE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6A4A7A4FFFFFFCDCFCDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD BDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBDBDBFBD CDCFCDFFFFFFA4A7A4E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4 A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4A4A7A4E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39 FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA 393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFF E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39 393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 CACCCA393A39393A39FFFFFFE6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6 E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6E6E7E6CACCCA393A39393A39FFFFFFCACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCACACCCA CACCCACACCCACACCCA393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39393A39 end %%PageTrailer %%Trailer %%EOF etherape-0.9.20/doc/C/figures/appmain.eps0000644000175000017500000033303111526555200015055 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner %%Title: appmain.eps %%CreationDate: Sat Feb 12 22:26:22 2011 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 643 483 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 467.94150731158601 translate 627.92150981127361 -467.94150731158601 scale % Image geometry 628 468 8 % Transformation matrix [ 628 0 0 468 0 0 ] % Strings to hold RGB-samples per scanline /rstr 628 string def /gstr 628 string def /bstr 628 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 111121 ASCII Bytes colorimage r,7-1JKfXhJKgF)r,7)~> r.]blJOY2[JOYtqr.]_~> r1&=AJQdV.JQeCDr1&9~> rr3!C+b:2U&:kCD&=3q/+X6pcJ,~> rr3!n@=bA.W.CmuW0aF`@86b$J,~> rr3"1KRs#OqgnWqqj70\KOt/_J,~> s6Ke2&.jC&JI[5@JI^3?!#>)@!#>A@!#>)@!#>A@!#>)@!#>GB![@!tJ,~> s7$.bW2P99JXV.YJXY,X!0$N+!0$fD!0$N+!0$fD!0$N+#E5+?VP[)XnUL~> s7QM*qtks,J`_OGJ`bMF!6t,U!6tE'!6t,U!6tE'!6t,U#L2Dnq>"Uqp4*~> !pUs@JI[5@JI[5@e.)Ko)Y5-R)AW2\!>QOE+orSsr=/iC)Y5-R)AW5]!Z!!FJ,~> !q8p_JXD"UJXD"Ue[uj!K)\#k!f9Y@J,~> !qg.%J`MCCJ`MCCeDpYQZh%`/Zc`7-!Qqb?AHB-[rT""%Zh%`/Zc`:.!lnmFJ,~> !pLj>p^[Q;#n@IW$P%^uJId;BJIgiQ!u2b!'D2nC'-\A1%hBBo+qsV\#nnL%'b:fi)^5sg&-rpn )\iko(*Vpm~> !q0Qrpm223=,E9-CQ*h2JX:qSJX>Jb",_J#O7fFXO%k"ZQ^ !q_0Cpu2LeK$E<0T[A>MJ`;7?J`>eN"3RiZe+NSEdq,c+io8+bA^g>L$.EIib2VF'Y[u;VqZtY^ Yfbtba+X)8~> !?r!I%gE,=2@j8%$\8h>%tP7B&*4<'(EsUc%0mgr(Cq#m+r0\Y#9+j'%hBI#(%Vk9)^6*t%fmLk J,~> !CiXTQ3WQoJ6A2#HolnFJX1kQJX5D`!ej@-o:6,69nen!Kh[NtSHjO:KpJ$Y9oS\7!dm^rrg!S< 7Xt~> !F"jbi!7sfO_WgRM,o2cJ`)+;J`,YJ!lANnoBZ^dA]!B`_I_!`lj'b+_Vj@hA^0i5!jH7Qrnmgl >(?~> !?r!J&-E1C&NTh%!!IiaJe7r+JImADjq%P/,4Z0I'd=D)&/HJ\%0dOk((_#m,4Z0E'd=Fm&-3Ul J,~> !CiXTPm9oIPE;&lPpCpGJsH@@JX(eOk*6"&9qCmF#E2B3Q'I(uSb& !F"jbh?Rt.gV)IrhDTrAK&6NTJ_kt7k2$0WAaK$Q#L-hthVQ.]m.9HHc"4fLhSWpkoB?>$A]+N( !P_fg~> !?r!K&.&gH%M'++&.emRJImtUqBGqNs!%FR"![dF,3f^A'-\V@JImDE!Yusho*u'A+r1_$(*X1t% eh1I%L3^m((_#m+q=M]s!%COs!%FP!YlmprX])I,(K~> !CiXUPR3'IJj@OUIp?6.JWtbN!f'L@o9foD9o"stLJ=>- RJ0tdR0S[FLQn$Y9qD9Os'5Mjs'5Pk!fTj/rfdG:7Xt~> !F"jcg^2"*^=-PlgtW[hJ_ZFDqL&=us*Xh$"+:.KI-TJhQ@+))J_Yk4!l\a;oB$A(A](?~> !?r!K&IAgG&-tCRs!%LC"sOWk,6.ZelOa:66i[2)*e=oU&HW[k%J(&:'d=A) &JZK!%Ls]Y`>^!2%M^0&&J5a%%1Wjl`Pj#2%O/m2+q>(t+r1(h!>m#2~> !CiXUP6kY%MafC#rJWl:]!*oC#s'5U(#$d@U>lXh/l]VL$RfEDVIY!]8P6-P7Sb&3UN(o+l PDDr(R$_.Siu;6jR#FaqPEUesSX>dLj5XC3QsA\3>aUn;9o/e4!JEpm~> !F"jcg'NiIc=eV2VqN;lJ_H=A!.=YCs*XkH#(5.YI/j4ole2N-h#ID9b^nK#g&f<+m.96Ec"4rL g;ddkj5YO_o,E);j3;/Ug=jSYm,R,RoCI@ij*^IiI,j83A]Of(!P_fg~> !?r!J&I8LA"X>EK#m(Wg&X*e.,6.]@+q>2/s8O8e&L.8T+s.sN)#b*M(EXeC)u^HL+po).+qYD, \Gl9s,lSDU+p8W&+Wq^%&Himl+Wq_T&XF"1'd=+Y%gj$q'bM#m+q5%n,5K1e+qG2!+r(\%'d=(t% jM"ls!%H]"X4Hf'd=Cl&HN^mJ,~> !CiXUOpR0q(FpLNDG:^rJWc4[!aPd*r*0_p>lXh/>`r@ls'0)?AVU2I"F4K_@sS':s',nW@9o%Z @.O !F"jcfEp"c,!ZtdOE)5VJ_61=!dt%Jr-T:4I/j4oI+WiHs*TKKOjMb5f:mqIN4T#@s*P0LJpl;' J,9'AeiTf\";W m,6fLrq$/;rpp;@i8Djkao9on^KQ-~> !?r!J&dK!M!!!'$!=jYnOqIj@s8O;A&ca-Rs8O;Cs"IF"qWNAG&fGE7qsL:)&gIAU>ho9%'/KUP H2j-K&gIAU<6kC/Tcas\)/7\!m\M+Y&sj44'I""X&.93s'G;#m+q5(p,/sF'$cO;$&/?B'&eYm&% K6n=,5]=Z,5r,T'd=@k&cignJ,~> !CiXTOU$dX!iY]d$fbKWQ&JFpOcbMq Sc4lS>l3O]>lKuiN(o3/OTC,)J,~> !F"jbed'J@!Wa8Q#c*%&P1B__s8RKFec:*qs8RKHs"M4Zr8EX\eVD69 o)FEjepRMt^@D0cUTi>"LWK,cl)1Y7esFqhb@U&3h@%S>bLY7fAaJ:1I.R5_$hJc&hT]WTf%/#U m/GiAI/EL8I/_t(c"5)tecENhJ,~> !?r!I&d8[D:iT)5JJ+(X![@[Er$"38,6.Ze+qc+"s4B(os7dcQ9`Np&>lVba,6.\o1EmGLIK,<^ s6:a?,6.]'5:DHi]c@h]s4oA6s2?%1&ss:5'I""X&.B9t'G;#m+q5(p,/kc)&.Bc%+qP;#+qtY& 'I""b&-*pQ`;h+\&- !CiXSO9Jnj6!QN9JWQ"U!aPd*r*2=F>lXh/>``4js1Mp!s79WCW;jY@VZ3Q=>lXi9A6k:0g])A< s4_1J>lXiIC1bZhU3V!^s1i$>s/1*mOI2+2MbTc6P73CEMia$Y9q@K3>iT)fP71^V>a(A19oG*p MbTc@P5nkdirE?_P6-\;MuJe=KLUI~> !F"jae-1X02+oZ.J^fh3!dt%Jr-UTUI/j4oI+3QDs0%$hs4Wa%h>a^0h#EVWI/j5MJUQ%"oDaKW s0AfWI/j5YKoGI"P/WX@s0.%/s-1HQe !?r!H'a+UYU_=>k'p042,5V?>,6.[%+r(h:s8P_/,QI`e+3=Ig+sm9a+sR'e7i2sU./EN[*j>QG (aB"[?5XJ+s7dc[aT#Qj-3*`aJJFOe!YcgfneDNV'GV>s+q58%,/kc)'`oSu,5r;]+qtb,'I""b '`]HV`;h+['`fKmrY5GN,(K~> !CiXSN!5+S(5!3:JW,_M!*oC#s'5U(2dD<#>lXh6LgC&[?!m:)AmAaDoj:u(s'ghDM.ZbV?srL' Ar0dms(6t>B)hL1?hOG2>[[U)?\+0&MucYDnr*QCrJUqTSW&M4j';PA!aObjrephOrJUbOSc+KI >lE[_>l9N\:&U"OKLUI~> !F"jablu94&o8)QJ^'>%!.=YCs*XkH2gilpI/j4r`e"0gI=M.oJ:*7Sh3!*bs*i/9\Xi`HQ[\c- K?ATAs+&.oTE!]/J,B7rI#@s[Ob(cEblZ1%m./C/A^8QFc=Q@ec$],1rQPCko6gP^#%c*)c-Bne rQP=irUU#:r657RcMl&h^KQ-~> !?r!K'a>3Y'F=ao#D!VO'`oTZs84&Q'dE\X+r(h:s8O8X,6.Ze+oD3;*W@6,s8O8X'c0gK]cnXb s4AG !CiXUM[+!"LH>Ma.uJn9Oc'9Gs8W"%&W9oos'1J?>lXh/Md6;^>[7:+ruM)E>lXh/Mi2V`s-$\m PQ/%1>lXh0MMb^>r`i_-r;Qfs?%Ip$MZf#6SVi=!>lTZiN(o:iMiCH%MMb[!>lBNg>iT(HMMt8h Mi3QhSc4KH>l3O]>lKT^N(o<2MZJK#J,~> !F"jcb6OJf`E*'_5K\Q#OimfRs8W"E&^,S%s*W#5I/j4obC'?iI!u"lruM&dI/j4obKGb+s,DDR f`.>LI/j4obK,56r-j(nr;QfrI=]S/b661'm)mKFI/h=tc"58FbKsheb0#,'I/V1rI.Ma.b0=ME bKJ7Dm/G--I/EL8I/_7ic"59$b5o@]J,~> !?r!K'aY3I!XA]*$Od7GJJF@`"![dF,5`/g,6.Ze'bqqmrur1%s8O8a`rAa2+p\o-s8O8X'd;<. rt"u[,6.[L)&4S"p`^d!s%NA8JJFLd"VW'h()A+i`==(-()8#,'bqB+%2K^'`VUhh`?H'5'd=;+ 'b_c#()A+n`W%.]`<@G$()8#,rY5GN,(K~> !CiXUM?uWN%4_G[92%#tJVoYK"'km+>l9Hl>lXh/MMb[=s'1Fds8Q>2p&AP#>R63ls8Q>]M.$,U rt"m4>lXh9KnO(&gMMdEgSVW),j83'kj'7CrN(o=i MN1E%Lko=8j8WB`irr\DLl>&gre^`07Xt~> !F"jcaU)AW'0ZEtDJr!?J]X+t"+:.KI/M)!I/j4oaiSr1s*Vq9s8RIqqu;0FHjP5CI/j4oai&o2 qu72kLj]7&JAeX`s4i`cqu;0FHiSSGad:*QdUhdca*d^S%Xc=;c"5>FajObea2`T!qg8nFI)j:P A^\]BdUhdca*dmXs*Xh;"anA2c"5?&aT9.[J,~> !?r!K(','Lq>^L#JJOFb![@[Er$!:"+liT$+r2C&rur4&s8O8[8cRO*-rQra,6.Ze()K+5n,4FF M>sq,s8V+B-]7r>*Z.KKgGpZ[V]LC)Qkfi<+q5;',5K1e+r1q/+qbY,&g@c#(*`Rn)^6%5'd=8+ ((qf#()A+5`?H'5,/qMF()@W/')iXI(a=J~> !CiXUM#hc*q>gRKJVfSI!aPd*r*1D%?2FS8>_u_cs'1Ccs8Q>HV#S5@AW58T>lXh/M0t6]jS`l!Ch>_e)n9ok-fO%l1#LKsZ8)dJ/RN(o@i M2tB%LPK-pj'7@p>iXjLLPLg_O8at:KLUI~> !F"jca8rCOr;lm!!(2=YPK3fQs8W"E+io*1s+#LSMgYR)]7Z(1s-($Wg&JC.M6??)J]O5""k7,M`5I'!o*p)c`6DlCaN2kBm)6hiq=>PQ`5Ko3 eB#_\AaI@RI.QrW`5I&po6eKpc"5E(a8s%ZJ,~> !?r!J('b*K$ipD6!!n,kOqn$AqYrW$)-,u%rurZerur4&s8O8Y)IUhbps+(&,6.Ze(*0+KYT=Pq (HMNe,6.[BderU0+Vkh3@*SKAc?C4Y(75j?&g@c$(\]-R(C:g#&f)5q+q5>)pEKVR#8JEq()@N,% K71D,5i>X,5rA['d=:i(',6rJ,~> !CiXTL^5gW9F)%N!AoO^Lm*Vp>l+I^>]Zq=s8Q>/s8Q>[>lXh/Lh`UDrV+]uHsH^O>_lhTs+YoW LjXsWlWjJiS*9k=VeLsCC7sYdpX+qIJV]\L"HZ?KKn]8+s+Lc<9ot0eOA2:"L%ejPKa3Q2OGJ^S 9qD9;s'5MVs'5PW!fTj8reLT.7Xt~> !F"jb`X#6eD[[76!_^F^`fnCBI/'Pa*dpe^[qEgV5D8PL;NHZo[/u8J]=(s"P./N_85kns1o#dA_+l@en+3a_=r?W_$A4rf#G_\ AaKE4s*Xd]s*Xg^!mP<-rl+uR>(?~> !?r!J('YHS()AS)%Y5CW(A]6T('b^#+sId<+sR"%s!%FX#oOg/+s7g?(*Xt%('5L#*rQi](Et"H s8O8b+X%m)('PQt+sJ-KJJORf!YHUco,%]I+qYS+&L%\U(^Cd"&Jc,o+q=,\!YlmkrY>MO,(K~> !CiXTLB_u,Itr(M[3&>>[78`s'5PY$$B``?>+\@LKn*`LB:mhI/Sg-HsC)b s8Q>5>[_aQLBVg1?!_2kJVTSI!g-3Jo7I:,9p(3dO\MD !F"jb`G')`(?~> !?r!K(C2WWD)N1hBK./d(P*C](BYl]s!!"1M&-4*+r0\d#9+j!(DdZ-(%W7I)^5k1(D.i+o,%NJ +qaej!>m#2~> !CiXTL'L4cLk^S"C57@pJVN-<"'km+>_.WdL'!N4N:VW+HqfcYL6>8io7@3p9p16cP"go,Jc^ !F"jc_[*\DC:(m\Ck]WT_h#_a_ZP;ds*TC8M8KDKA^0hY#I%dn_o(2>c1AOPY[uP+_qJ\Ho=G(. A_R.$!P_fg~> !?r!K(]QYs(BPOG++Y5Z(Z?/4,6.ZeJJX.Z!u)@l*q^EX*[242(Ddbu+s-Cq#p(9''GhQ"&gACi )?V$)&et<]!>m#2~> !CiXUK`R!dr.P01KRni.L#I^f>lXh/JVAr7"-/L !F"jc_?$pIrPAWOZ+PY)J\pB_"+:.KI"B.k_?809AYA_)$(tk\d)*ZHen(NI[L&U !?qu((P*CK(]P\1(P`e-'bg0_!>?4H(BG6ao-+2K(&\pL'bg0_!>?4H(BG?sJ,~> !CiW2KRng&K`>;.KSP3]N0!R)!KW3 !F"i@^k';I_#Je5^k]]+c-u8q!Ro !?qu((kENT(kEOP(]Y3?&-*@?(]Y3?&-*@?(]Y3?&-*@?(]Yb1~> !CiW2K7SZ+K7S['K)h&*Q2m'EK)h&*Q2m'EK)h&*Q2m'FK)pWpJ,~> !F"i@^Oa.N^Oa/J^AujVhuM@*^AujVhuM@*^AujVhuM@*^AqGf~> !?qu((kENT(kENc(]Yb1~> !CiW2Jq8N)Jq8N9JcUNoJ,~> !F"i@]n*kJ]n*kZ]`GlOJ,~> !*t."JKfXhJKg.!!*t*~> !,[9lJR!b2JR"7@!,[5~> !.KKHJUE#rJUEN+!.KF~> "'trqmt(Lis+13$s- ")\)0o7?pms+13$s- "+L:EpOW?qs+13$s- !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>`amf3?=n*BEB!.jTimt'rLmfCR:J,~> !H%kqo)JcAoBYuJ!.j`mo7?MTo)[EZJ,~> !Ik(-pAb2EpZqPR!.jlqpOW(\pAs9&J,~> !F>`dmfNRYmf9!K!!(=5!!%T=Ja\0YamT8Q?%;~> !H%kto)f!ao)PES!!(=9!!%TAJb+Haan#PaD1D~> !Ik(0pB(EipAgi[!!(==!!%TEJbO`ianGhqIXh~> !F>`jn,*1amf3@Omfh]W'a,b5n*^5Vg[>.LhYcgDln-N?mf3@bmf3@^mf3?=mt'qYn&b#!b$BM~> !H%l%oDAUeo)JdSo**K5%0nY^n+-MZg[bFSn,2bYlQkfRo)Jdfo)Jdbo)JcAo7?Lao?$S)enop~> !Ik(6p\Y$ipAb3WpB@f_#Ra#?n+Qe^g\1_$pAFXdf.Q^QpAb3jpAb3fpAb2EpOW'ipW<.1idQC~> !F>`jmf3@`mf3@PmfqqsF4fj%D"$fm!8HrCP"#<;!QQ>>mf3@bmf3@^mf3?=mt'qYn&b#!b$BM~> !H%l%o)Jddo)JdTo*4%ZPi_;J;=F)V!8I)G5+MQB!JaM.o)Jdfo)Jdbo)JcAo7?Lao?$S)enop~> !Ik(6pAb3hpAb3XpBI`8YOCka0^n`9!8I5K)V"]Z!BI1:pAb3jpAb3fpAb2EpOW'ipW<.1idQC~> !F>a&n,Eacmf3@cmfNRYmf<@U"Hac/37dWg!Lc@Omge>c&-=E!n*^7R* !H%l6oD^Zl#'*qG%o()q8&b>qm(@_mmo)SCRno#0I;!midht-GUoCLiOp@A:Trpp*iqstI$oCMNk '*qG%oCDtRo)O1N$!QhLo7?Lao?m.1enop~> !Ik(Gp]"1_pAb3kpBpuqpAjs^nPfo-EV/eq!?0>]pC>(s"q+],p\+Yn$P7d\p\b*lpAb3lpC.,s pAe\6!Vc+`$kI@Mo(N0N8cAB!ljN7U!;H6X<"':Wo_/[[p\22lpRk+OpAjpdpAb3jpCdQ$p[M2k% rq79pAjs^!*osDIeJ?eJbO`idJ!\$IXh~> !F>a'n,3Ubmf3@cmgB-amf;hF]c+rVN["#^!@bk]mgp)&jQi9Rn*^5pc/s*tn*^8Tmf3@dmgT9c mf4QYn*dq.a6J[/na?L.?2j:.dhhKA!:TBi)TV-',4Dg#n*().n'<3Kmf3@bmh5]in%BX[lAd(W mf;hF!#j,EF=Mk1Ja\0YdI.+Y?%;~> !H%l7oDLN;o)Jdgo*YQio)SCRG=1-L@TDsi!=J&eo+31XmHSdYoCDrMiSd1f)6th/CJb+HadIRCiD1D~> !Ik(Hp\e%^pAb3kpBpuqpAjs^2g" !F>a'n,GKL(%^nl!"A;rn*^8FmlRW>n*:/ImflNQb4(@T !H%l7oDcQ)N:ZZ=!"AH!oCDtRo+'gPoBH\Qo)Jgao*k$ooCDtAoCLrNoCDt\o)Jdho)o'bo)RtQ o*#WaoCM5Snace**rbaH(tA0K!;#dlj7Dm-$M2:ro84uoo/4SZoD&Cdo+2DloCM5SoCDtRo)ReA oAU41o7?Lao?m.1enop~> !Ik(Hp]&S>c1C]-!"AT%p\+[^pBU0]pX(J\pAb6epC-(/p\+[Vp\1dIp\+[dpAb3lpB1KjpAjd` pB:fjp\3&bnb3uPBD;/o%-dN\!;H3mn+ZS(.edGJpGWW8pD;o]p\=ghpCISup\3&bp\+[^pAj[V pT6<(pOW'ipX/^9idQC~> !F>a&mf>Kbo'ZPYr9jgin*^8FmfiXi!!2WY!@Ye\mg7]<%fcS1n*^8?rpKpin*^8Tmf3@dmfNRY mf<=T!!W<$!!2TX"DN2Nh%BYT!s%fY"oSE.!UoCfmoQ%imkNMdmf3@bmfNRYmfiXi#6F;^!:T@V kl1#N!J0]jmt'rTmfCR:J,~> !H%l6o)ZRao()h]r::*moCDtRo)ejj!!2W]!=J)fo+8So$31&,oCDtQoCMJRoCDt\o)Jdho)f!a o)Sa\!!<*!!!2T\"[go+o[oo+(0Yo)Jdfo)f!ao)ejj$N]kj!;#d^ o(2JC!eKroo7?M\o)[EZJ,~> !Ik(GpArUbo(N+ar:^Bqp\+[^pAt3m!!2Wa! !F>`jmf3@cmfrj]mf;hF2S/;E!LcCPmgq:(h!OG.n*^7Un*fHEn*^;Umg'3Yn*fQBn*^8Tmf>>X m-b)1'^pKgrpKsin*`0GqsO`;R1/OtQk/`U!!)ob"9@oZ2S/eS#QX>^!3,GUkQZV,Ja\0YdI.+Y ?%;~> !H%l%o)Jdgo*59eo)SCR%Hm-M!BleGo+2>.kOS!?oCDtAoCLrMoCE"]o*>EeoCM5IoCDt\o)T<` m.1@o0_6j5rpp6moCEFSqst"8arL!mbp)]L!!)of"9A&b%HmW[#QXJf!93VAiXCD0Jb+HadIRCi D1D~> !Ik(6pAb3kpBL]mpAjs^#P%3U!?0D_pCIPFme>K:p\+[Vp\1gIp\+^epBUfnp\3#7p\+[dpAkNh m.UWuL\DJBrq?Nqp\+p_qtC:*ODOY$T7ZV-!!)oj"9A2j#P%]c#QXVn!:T[VXu(_(JbO`idJ!\$ IXh~> !F>`jmf3@cmgB-amf;hF]c+]QeT(-J)Wi,cg$Qt"n*_QXlJ[3mn*^5qcffU&n*_I)rpL,'9]b8] !:T@VrU0p')Sk^iEUW>u;iV:SrpLF!n*dq._!KTkn*e:24n$T-2"C#7!;l3u!:TBi)Sk^iEUW>r n*^5qcffU&Ja\0YJa_"T!Qn\u~> !H%l%o)Jdgo*YQio)SCRH:HESb#\'()Vkghk3g&`oCE !Ik(6pAb3kpBpuqpAjs^3cjBP]JK*P)QXd\nEmP:p\+j9p!5&ep\+Z8n(&Jhp\+gWrq?[-Zh;Wi !;H3frV$IVF6)l(1[t,@oaHpdrV$m(p\-^ijRKl=p\-NWe+Z'AcLLW/!;lL(!;H4KF6)l(1\^VD p\+Z8n(&JhJbO`iJbRRd!TJQY~> !F>`jmf3@cmfNRYmf<@U"J$qE)Lq8F-/i,D"!`Bcn'EZh&Rkb/mf94*"?kW1n$3N*n*f4$#7tVM n*^8Smf]10"WDmZmfLr@ !H%l%o)Jdgo*YQio)SCRnpVS].A$&#--o-k"u;kCo;3Q0)MA+^o)O1N$!?Zfo5k9=oCL9[!um1! oCDt\o*+]6*N""Bi5o)SCR !.>Fc=RUh4Jb+HadIRCiD1D~> !Ik(6pAb3kpBpuqpAjs^o4/I<42p^`-*T?6$:Di-pO !F>`7mf3?Nmf3?=mt'qYn'(5$b$BM~> !H%kGo)JcRo)JcAo7?Lao??e,enop~> !Ik'XpAb2VpAb2EpOW'ipWW@4idQC~> !F>`7mf3?Nmf3?=mt'qYn'(5$b$BM~> !H%kGo)JcRo)JcAo7?Lao??e,enop~> !Ik'XpAb2VpAb2EpOW'ipWW@4idQC~> !F>`7mf3?Nmf3?=mt'qYn'(5$b$BM~> !H%kGo)JcRo)JcAo7?Lao??e,enop~> !Ik'XpAb2VpAb2EpOW'ipWW@4idQC~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vn)*R6l[eMUmt'r7mfCR:J,~> !H%jfoAB->mt((]o7?M?o)[EZJ,~> !Ik'"pYY]Fo7?XepOW(GpAs9&J,~> "'trqn+XVKb^muhb^n!1bl@,4b$BM~> ")\)0oCp[aeq)D'eq)DEf)P=Benop~> "+L:EpOUtJfR_\+fTk+hpAs9&J,~> "'trqn+Zj5b^muhb^n!2bl7&3b$BM~> ")\)0oCr99eq)D'eq)DFf)G7Aenop~> "+L:Ep\4]=fR_\+fR_\Jf`(UGidQC~> !F>`umt(Lis+13$s.KApbjY#C?%;~> !H%l0o7?pms+13$s.KApf(8LaD1D~> !Ik(ApOW?qs+13$s.KApf_>."IXh~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'rYmfM[ZNVSA3NO%a"n,EB=mt's&mf^l'n&epd~> !H%jfo7?Mao)e6dOSOb8OL=E,oD\fAo7?N.o*!Y9o@@c/~> !Ik'"pOW(ipB'ciMtr&.MmVp)p\t5EpOW)6pB9.CpYpXP~> !F>_VmtpK7jfXR:L]WO !H%jfo83&?kd$6CM?8gDkhbn3[Ggl[!TCH>oDJZ?o7?N/o*!Y9o@@c/~> !Ik'"pPJVGm&u9?K`[+7m,%I;[,:WX!T19;p\b)CpOW)7pB9.CpYpXP~> !F>`^mfLMYmXai1mfKZ1o(i"Zo`F[$Y28UKNVr);joXiGNS !H%kno)d(dnU^;8o)c59o(i"Zo`F[%ZJP0SOT"PAkQ:,LOP9='!.j`moD8%]f(8LaD1D~> !Ik(*pB&:aomuk@pB%P8o(i"Zo`F[#YMT!TMu;f7j9"QCMq[q&!.jlqp\OUef_>."IXh~> !F>`^mfU/]_qro3!T`GBmfDM4rpKsKhr*qWmg.n0hr4%_hr!DEmf:0"\cBOkmfAC !H%kno)l\e`o>M>!U&eIo)\%?rpp6Rj5fdco*FF;j5fgmj5]4Po)Q])]`>sqo)XmBrE'!`s69RI !pT68hX^f+rn.5%#MSJ6lIsniMV@\!!<2Ti!.j`moDeCbf(8LaD1D~> !Ik(*pB.k_^uNr=!UB+OpAsRIrq?NYjQ?0jpB]sCjQH:#jQ,LUpAho'[K+"dpAp-ArDW^\s69RI !pT63hY.)*rm:Yj#L_`&jjMNTL"c:u!<2`m!.jlqp]'sjf_>."IXh~> !F>`^mfg<#pXdIKf'a+,lJh1!n)3Kjm-im'iU5Ih#iG7Fhs]Imo&&'f#eKp1q=jRUpU]MU!R1T0 mgk6J !H%kno*)i*pY!^Sf(0C2mH*j/oA]0!nFP]5jRV's#ikXPj7D='p#FZq#eg-4qY9dYpq>h]!S7;: o+-`P=9&;%lSLH`l81?]onqVt!fI!UrVm):KYRQcrefD#r;cigr;_E?Jb'':f(8LaD1D~> !Ik(*pBA#'p=.+Kf(T[9n*'B;pZ:l-oCqA@k4[R(#itaTjS.a/p>jj"#e'U,q=jRTp9s,X!SIG< pCDuO;uckrlS^Zdl8CQaonD8s!epXOrVm(Z*fC!qre9&"r;cikr;_ECJbK?Bf_>."IXh~> !F>`^mg$/ojm;HTbj=!N%c6dFio]^do'bT#hsoUlg[>F)oBb?&hXTshfC'!QqrHP^f\cJ3k3i>p s6K+[M"ao\\lJ)V3:$NC!VM9*mfJ=Ek5OHIpVZI;pZDI2f^Jh?rpT^aJa\0Y"O-?'b$BM~> !H%kno*;]!k3_ZYd.#]Z%cR*PjQc?pp%.80iUl.#g[b^0p@$u3iUlWufCK9XqrQ_fguA.>k48W) s6K7_MYC2c]iXP`4mW&J!VM?,o)agKkl0`MpjgbBpuq^7f^o+Crq$!eJb+Ha"P329enop~> !Ik(*pBRkrip,sKcL]]_%cdp>l4,f_>CGrqH9iJbO`i"PEJCidQC~> !F>`^mg,icgsk*Jk-`[kmge+Alga2qg[OP!khPabmb@19h"'acn(dL>2!#Y5$f%f\bieY3,0R bl@"t!JpLK<=/(b8aKIWs&JcKhX:K$rr(:No"k"8na$43e*m/6Ja\0Y"O-?'b$BM~> !H%kno*DAjhq6iVkIB0to+'UJme#f'h=L(,lJV?no%WaAht?BooAB63hq.H*Z2*;0gu@PoZ0(WY f)P(-!K-XM !Ik(*pB[Pfg!SLAjgno!.jlqpB9.CpYpXP~> !F>a&n,EaWmg5NVeC`[@oD>TCg@#O(nEfW8l.5@jn+5]4h!Wqc#hnh3g@*bdnClL_#cI@Ff\biY qkrTF!R1T0mgk6KlrmT]moio^ !H%l6oD^Z0o*M&^f\GKMo_YcJg@Gg.oC)8Dm+V("o(MAAhX]Fm#i5.=h=KIqoA/$i#cdUNgu@Pc ql8fM!S7;:o+-`Qls=#emp9>f=1u:Kp57_u!fI!UrVm(MhL1*>KSS"Ir;_E?Jb'':f(8LaD1D~> !Ik(Gp]"1SpBd5YdFI%5o(o9Bg@l*5p$q\Lmb@F)o_@bHi:bq"#iG@BhtQ%&p#"Bq#c.+?e_K6O qkWBK!SIG."IXh~> !F>a'n,3UVmg,'Hf\bobje^/Rmgdn;mdfMneF;nsk1K4XmG%(8f^S.Xn(@7&f[oQtT^pamk3_d= T]Y\Dbl@"t"c2p>Ci&P8<<;fLhX:u2roW>4h8I/$_=PM6_8P$[n,<=dn,EB=mt's-mf^l'n&epd~> !H%l7oDLN/o*CTPgu@Vlk,?VZo+'CEnb),$fC\V+khPgcn_(>+IY>8boDSahoD\fAo7?N5o*!Y9o@@c/~> !Ik(Hp\e%RpBZcKe_KpMoCqS.g%Ft2leV9lp"T3Hh=^3lpYGT !F>a'n,GKL($G#jL\'HomARGWf^B]#hJM1f'h2]o[_X_#at8@k3_d: s-`$ !H%l7oDcQ)N9Bd;M=fj!m]*ebf^fU&p%$hto$d:&g>prYg@ !Ik(Hp]&S>c0+g+KC[jemA7;]f_5m,p[m;)p=B!1h<3Sdh"BFr#i#%@g\9Itq:jNq#aY#9jQlC5 s-DgA!SIG." IXh~> !F>a&mf>Kbk3iJ$qXM%ah:D$)cfn*eQ^e*6>OnC?p\mg.G4m*tLRo^gSamg,*Jp%\C^s8J2D mfCZ4lgG@?p?RKhlrCX.c*8Ja`O*"O-?'b$BM~> !H%l6o)ZRak48b*qXV+di7@K0dH9'JoCL>kfBr1^o@WTfo*Et>nCR9`p\*4jo*CWRpA"O`s8J;G o)[GBlgkXEp?RQllrUm6=6k^"kk0hio+-`XrVunGj*f=Rhl"qbid]_Sq>c* !Ik(GpArUbk4]%(qXCk\in!i6e*,NTp\3/#g$naip"K)npB]IFn_*Ziq=rXppBZiNp%S=]s8J)A pArqHlh:pDp?RBblr1@$;sT*ikk0YdpCDuWr;Zd0`=\YE]NM!`_\Lr#q>c*@JbT*:"PEJCidQC~> !F>`^mfRRPKu_^3!nH)orpL-Bg[=P!f?r+9g[>EtdF$J4e^;dpfC&^,qMYEBk3i>ps6K+WM#-H& lg+LL"mY@9l1p.lmgk6Rk2l?Tp"&m,q![t4p;5SQq>c*8Ja`O*"O-?'b$BM~> !H%kno)j'WLWe3=!ncH%rppEIi:?L2g==gGg[b^'e^`=Df[\O)fCK!2qMkQEk48W)s6K7[MYcZ( lg+LN"mY@9l1p4no+-`Xki__jiM#D\l-SRniIBVRq>c* !Ik(*pB,9SK$;a=!nu].rq?]PiqE-@h:Cc*@JbT*:"PEJCidQC~> !F>`^mfJHMl[eNFmfCZ4lgFn2o_nOa!rVMChX:u7qqKWgbO4ccn*f]3mIS6Mn+m$8mt's*mf^l' n&epd~> !H%kno)arVmXauMo)[GBlgk18o_nOa!rVMEhX_8>qqp&qPL@UpbKS/M`SH+"oD/H !Ik(*pB$2Tnq$PUpArqHlh:I7o_nOa!rVM@hY.P=qq0<`3Mhq!Pa7MlL:S5Vp\Fl@pOW):pB9.C pYpXP~> !F>_Vn"K1Nbl@"t%uff+eC2glccs\WaiMZcN8F"6ZH2qBroDT$na5`1mIK8cg@+q>Ja\0YqsO[3 n*eD)J,~> !H%jfo:baVf)P(-&!#r-eC2glccs\WaiMZcNo'@<[E8=Frl1VfdDs5E`7DQ#g@P4BJb+HaqsssA oCLOMJ,~> !Ik'"pS%<^f`1:3%uKT(eC2glccs\WaiMZcM;It;[)VtArg$ !F>_Vn"K1Nbl@"t!Ns`Ik6gA5jQ#:[io/h9Y28UKkHp6JL]Xm*lMgGYo]O6Xg$en?Ja\0YqX4R2 n*eD)J,~> !H%jfo:baVf)P(-!OC#Mk6gA5jQ#:[io/h:ZJP0SlaDoSM@"p"aPYq6hnk30g%51CJb+HaqXXj@ oCLOMJ,~> !Ik'"pS%<^f`1:3!O'cIk6gA5jQ#:[io/h8YMT!Tm^.oOKaBY#PJ+cI]nn&dg%YIGJbO`iqY(-F p\3ZrJ,~> !F>_Vn"K1Nbl@"t!p-SDpP8m0Y3":(!o;&;rk\][jallOn':A)bjY#C?%;~> !H%jfo:baVf)P(-!pHqMpPK$4ZKTs4"7jHpJc:-"QJ$i\Jb.1Y"P329enop~> !Ik'"pS%<^f`1:3!pm+IpOr[*YO'p9#kjiM(DRZ$5fJ !F>a&n,E`Gn#>aVbl<7_Ja\0Yp?r..n*eD)J,~> !H%l6oD^Xuo;V<^f)L !Ik(Gp]"0CpSmlff`-NsJbO`ip@e^Bp\3ZrJ,~> !F>a'n,3TEn#GgWbl<7_Ja\0Yp?r..n*eD)J,~> !H%l7oDLLso;_B_f)L !Ik(Hp\e$ApT!rgf`-NsJbO`ip@e^Bp\3ZrJ,~> !F>a'n,GKL'nPhRmfCZ4Ja\0YJa`=$"O-?'b$BM~> !H%l7oDcQ)N.LT#o)[GBJb+HaJb/U,"P329enop~> !Ik(Hp]&S>c%5VhpArqHJbO`iJbSm4"PEJCidQC~> !F>a&mf>KbJa]T,!R1Rpmt'qYn+Q2QbjY#C?%;~> !H%l6o)ZRaJb,l4!S7:%o7?LaoChbYf(8LaD1D~> !Ik(GpArUbJbQ/."IXh~> !F>_Vn"K1Nbl<7_Ja\0Yp?r..n*eD)J,~> !H%jfo:baVf)L !Ik'"pS%<^f`-NsJbO`ip@e^Bp\3ZrJ,~> !F>_Vn"K1Nbl?Gd!o#4+U@/'^Ja\0Ys6g*7n*eD)J,~> !H%jfo:baVf)OLr!l,`UU@S?bJb+Has76BEoCLOMJ,~> !Ik'"pS%<^f`0_#!fdclUA"WfJbO`is7ZZKp\3ZrJ,~> !F>_Vn"K1Nbl?Gd!GH_Omf3?=mt's-mf^l'n&epd~> !H%jfo:baVf)OLr!?A_Fo)JcAo7?N5o*!Y9o@@c/~> !Ik'"pS%<^f`0_#!=dbVpAb2EpOW)=pB9.CpYpXP~> !F>`hmg8?0-3afWl0e\X[I4"^!3kt]!3khYricI0^ZV!XC^(o'ZSmjlZ%2!!3Bb`U`Ht!9rqR!#Fu#mf3@Ymf3?=mt's-mf^l'n&epd~> !H%l#o*O_q* !Ik(4pBfGN'ET.YdJ*A8nFln_l1Y5"hu*3KaRJp(aR&[#a9'T@p<`O?f2NFc).(_bpAj(E!SIGA p\k-o'P[./pAkBik4eiT!YfA>o(N+al1Y2YHi3U."IXh~> !F>`hmg45#`p2Tf;Xa&SnF$>Wl0e\XhoPcb!O2UomfBZmmI(7`s8W#P\+7r8$$\POlJo'Gn*^85 mfCZ4nF$M\n*f@k(@pno!9NYQ!:TC !H%l#o*I-feaVOl47i%DnFHV[l14tne`?]#!Q+m,o)Z`.mILP!s8VrKch,WV#r-8HnDU*'oCDt= o)[GBnFHe`oCLmE2tHP?!9NeU!;#g?>;u-E!!)9T!WYrVrUU!ho()h]Jb+Has76BEoCLOMJ,~> !Ik(4pB_Ooiq;#f,kq$5nFln_l1Y8#ch%,0!Qb<2pArA8mIpe*s8VlAk0Wi/'TV2Gg6!ZTpAj(E !SIGApB:QkpXUgSo(N+ajnAoYp\35gNq2oE!9s4Z!$BG`pAb3apAb2EpOW)=pB9.CpYpXP~> !F>a&n,Eaamfb]mfDL^ rNP_Y!O2V'mg?>um)l]?]]8JLYl4"qYj_&D^Tk2lrpL!@\?Wg5mdC/`h>?[>!<;KsmX,cT6f7A$ !2^b?5N2,#!R1T5mf3@emgn^dn*^7V,QdH'OWO]cf'iP;kO/BNrpLB`"7P[YW[%Z7mX,cT6f7A2 !:0(U!:2eDrpLBun*f[l('d4an*f[j&.2VArpL5W*s=RSn*e[a#81s+muHi>bjY#C?%;~> !H%l6oD^Z:o)Ss^qt'ads76WM7g]DbkO\9FJf"Oe!:04X_YqORo*`G8oCLVS`7"5Je`$N!!TDT- _X@"+_Z06!o#(CmdDWrKnal@hrUU92oCM(d_oUa7o*!^c`7"5Eo)Ss^qt'ads76]g?476Kn+6,N I1ZchnF6#Mf)P72!!*#i&*a>io)O@Z!V>l#'*qG%oDJ[Po)Jdio+1*ioCDs6(]j6s?476Kn+6JX lgk2YlP/+Qo,du(oC#uo$srDooC,oi&q'cOoC?f5#Z0p[o;j>C*KbpENq3D)oCLOMJ,~> !Ik(Gp]"1]pAk?gqtL$hs7Zo=1Bn4lo(VkY@h/V=!:0@]aS='Srq?fAs7c6>bKJ`8pX/F.pAs%2 rQ+F$&'4eFp[QN)mEs%ug%P17aSkiDaS5Ggc,nB"p\4C6bKJ`8me6_`p&"L^!<;d&k=,[lJG/a3 !*osDIeN:*!SIGApAb3mpCG^ep\+Yt%fuFp<"':Wo_8:akP"rVrq?rP'_h>%@h/V7k=,[lJG/a9 !:0@]!7r.Vrq@K7p\3i?#8Vj`p\3l:"WscFp\42W$kI@Mp\0Ia""h0:pQ"tNf_>."IXh~> !F>a'n,3U`mfRVeXl93H!!)ud%2#2ml^Jg]mf4QYn*^8@mhrA0lF-6On$)i\ij\4Mhn&@Hc-l(C [da4!rr;HU&?u3'n*[I\[G(bjY#C ?%;~> !H%l7oDLN9o)gUN^[(gh!!)uh%4&LOl?#;_o)MbLoCDtHo,5FFl-&_jo>:P!g;dBoCDtRo4(/HiBh&Go4LJMiBdP9o63RVl!dZao*V_jfO9@&Nq3D)oCLOM J,~> !Ik(Hp\e%\pB)(Vc1Lr.!!)ul%78>3jZB%-pAfp7p\+[PpB/M:inaV.'$1+Idbafrdd-Z#c11Pa h#.#irr;H]&BOnGp[HB*ea`S7e`li&aT)86&'4eFan#E(ebSsfhYI#rlgFKL'7A'sr:^0krV$aN GO]pG[3Yi[h2*pBAb4bWCCMNqW\/p\3Zr J,~> !F>a'n,GKL(%L`!l[pr#&lR!Cmf<1P"mlK^mf:$"mf3@Pmi&G1n(tnMn$)i\^u51^m]uf[mD.)V jo+\Qs6]7dYlF1Ze@,DGrq,^JZMj6rs8MHuYlF1+eEcVnp@#fTrUTB^rU91]l[pr#&lR!Cmf<=T% 5FdLn)suEmf9lNQbG!9NYU!:TC=L_fIJ!5/="# Vi7Gn)suEmf;V@,QR<%XYfM8!:TA2Vsj*<#4M":W:03=!:TA !H%l7oDcQ)N:HKGl>S-V*,+X/o)SUX"mu`ho)RtQo)JdTo,>LGo@`!lo>:P!`V'0$n\tCsn]'M+ o_nBus6]Ch_Z05re]e'brV#jR`;K5Ds8MU$_Z05GkOJ09qX_]!r:KNuqsX+_l>S-V*,+X/o)Sa\% 1M7foAL,Lo)ReAoAU5Ko)[GBnFHqdoCLpJ2"U;=kPk&Y%cd0Pl3d.S!9NeY!;#g@?SqBG!9a@Q# Ro_aoAL,Lo)S%H,QRH-DfYI@!;#djiq)d#%.j'!iq)d$!;#dlj7Dm-$M3itPM(NYN:R2'oCLOMJ ,~> !Ik(Hp]&S>c11N7emBO&.=q*bpAk$`"lgs(pAjd`pAb3XpDV-QpX8O)pW3C/b5;)1n^71,n''V: qY^*/s6]OlaT)#)d,Y-"rV6-Zd/*LXs8Ma(aT)"Vme$8KrV+J3qtKX.q="%aemBO&.=q*bpAk0d% 0l:qpT$+EpAj[VpT6=BpArqHnFm4hp\3;jMtcrGo)A@h#OhE]d44nb!9Nq]!;H6?.uX/r!:p-`# R9blpT$+EpAjIP,QRT51:R#P!;H3ln+ZRW1\^VJn+ZRW!;H3mn+ZS(.eiZAWTJd+N;!J-p\3ZrJ ,~> !F>a&mf>Kbm-b,0K+m_B!<)?lg.)YR!!2QW!<)?d!9rqZYlF1\akQ9gs6m8kYR:F!n)CRfrpoN^ s6]:SYQhDJl2Kqb[/R93s6m2lrpL2us6o6s\[9fRn$;kq!<;BR"kSA?n*^8Tmf![NmuHi>bjY#C?%;~> !H%l6o)ZRam.1D,AM3TG!<)Kp]f-8u!!2]_!<)Kh!9s(]_Z05uam\i:P,o*N;6oBFcEalN'bqn`@4lgk;+AM3TG!<)Ku!V5jRnH&7Q!:oaQ nH/4O!S7;?oDS^n$;9OQo)Sa\!!<*!!s/#b!9NhO!!N^&k4A0ErUU9qo(2JC!V>m_l15enoCMGp a7B<&o)\FRoC2kQo)\FRoC2hPo)ejj#6FGf_FP=^Vh+H"o*!Y9o@@c/~> !Ik(GpArUbmIphX`Ai/;pAk0d#am.H!!!)ppAk0d!!)9X$-."IXh~> !F>`cmf`"Yn*^;Umg(^uh!OG.n*^8Tmf3CQmgHB"n*fYQm]c`[^?tju$1I5hh7;\:n$)iZmf9Tj ru1e*^=)ZPrilFkZMX+Zm]c`[n*p/CZM3h%mJR"Lmf`"Yn*^;UmgV"Ln*fHEn*^7Un*fHEnF$D% s7#IW!;c-a!<)?e2S/eS!!)-L!!)la!!)ud#Vi7Gn)suEmfD\A!!*#e(ZcL`!:TA2Vsj*<#4M": WUK<>!:TA7](k^pap!@bNpd+pn*eD)J,~> !H%kso*"LaoCE"]o*>c&kOS!?oCDt\o)JgUo*`G8oCMCko>:P!`;KQ5$1mQ&mD\_ho>:Opo)QZ, ru:t7oYfnfs8Kn8o>:LuoC9]toCMYPn&4tl`;KQ5lLP/I"7u*brUUI,iq)d$%.j&jiq)d$%.Nih f)P72!!)le!!)uh!=e5ho)JdPo)Jdeo)Jdho*>caoCLrMoCE"Io)Jdio,$'qli?YK%-$mMiXGGM% -$mMiW/TA%HmNX!O`>do8`DFf(8LaD1D~> !Ik(/pB9Rap\+^epBUu>me>K:p\+[dpAb6YpC#(Bp\3n'pW3C/b5V>=$2=lLtGC$2=/prV$a*n+ZRW1ACMCn+ZRZ2":5? f`1I8!!)li!!)ul!=//lpAb3TpAb3ipAb3lpBUulp\1^Dp\+^QpAb3mpD9_ooDnX[#4M<\X"sGD #4M<\XT8+i#P%Wa!qq^)JbP3!"PEJCidQC~> !F>`hmg:>#dd5kO&F]'3Yl=(s-&:dEIfSs+!<)?e,-^A$!O2V'mhOrrYlF1O\`W>Dc0t)b/s)^#AD@ZN'CQ\`W>Dc0k$-,`^=>hi89:mio"8mgZK> cKB6qn*^5qcffU&nF$D%s7#IW!;c-a!<)?l]c+]QeT('H!<2Ee!9rqP!;c-a!<)?mYStgMF!gAE ,-_%7!!)KV!!)ud+iPT)n*dJ!cKB6qn*dP$cffKOn*dq._!KTkn*`$BlcTH_muHi>bjY#C?%;~> !H%l#o*RUSht#K>-1g^7gA^[L$F93U=oe0c!<)Ki$/4\9!Q+m9o+g38_Z05^e*ZbmeFW7PlMfth oCKormIL@qs8;I.`:!BgeAD7WaQ !Ik(4pBjs/l1E@gDYNl.m/H_b"jQ_d.00,:!<)Wm"RPFJ!Qb."IXh~> !F>`hmhX&O(]b4=_XHs!&HM:gcn5D4@K>lc!<)?fZ4R*&mfBZmrU1KKYlF1\gV'o%e+_J7qY'C= ]^XgeYjUr\YlFXi*Tt2B[EGfSn*@ls[*5cSn)D0g\((HHn(YO]\'t*?mi0DT(]b4=_XHs!&HM:g m4l5\s!R1T5mf3@amf3@cmg#C3"WDmZmf<@U!!)9P!!)la!!)ud$LN'P#=727 n$3N*rpKgen*^5Vr9k5@!:TCDGSCBKh='h#Fq+g^!<2EpSL=X[J+)j>2$4bMJa\Wf"O-?'b$BM~> !H%l#o+n],%g!SPjn&(c#lsSgVB,aVKE1W8!<)KjF9qs5o)Z`.rUUcL_Z06!hoWdYj87aPXl7oA[p1b38lsoA@[-b2`Bfo,G&1%g!SPjn&(c#lsSg mop/->OV1T!.>Fc=RYbN!S7;?o)Jdeo)Jdho*Fo9*OV1TmoKc,I/rm1npVS].A$/&Sg=IdXb$)(o*!Y9o@@c/~> !Ik(4pD0>`$3VPnnb;cQ"T\;kIhMl2YlOOm!<)Wn:'CX`pArA8rV%&OaT)#.h9=!in,:T%rqQ6@ l1`cNaR8d'aT)24*T5/_d-A^PpZKlEd-SjRpYjB=e+N_7p>*s7e*m8(pD]\e$3VPnnb;cQ"T\;k j[07eIJ*@/!*opBHhQt'!SIGApAb3ipAb3lpB^A$&dCG:p\+[epAb3XpAb3ipAb3lpBp"L#8DUZ p\.Dd!<2]m!:TX^!<)X8obRW&pZ4aI'RfZKpZ=XB*if;8p[_o.#!9fupOO(a3SK&YNqW\/p\3Zr J,~> !F>`3mf !H%kCo)Sggo)\dhrppBjrr;rkoDA=^o*+pdoD/FdmdgGYqstNrrVulls7>jTrVulls7>jVrVuii rpp9grr;rkg%,1DJb+HaJb.ai"P329enop~> !Ik'TpAk6kpAt9nrq?Zqrr;rmp\ssepBCKkp\b'kme6_]qtCg%rr;uns7c9arr;uns7c9brr;rl rq?Qnrr;rmg%PIHJbO`iJbS$q"PEJCidQC~> !F>_Vn$qfd!.jTimt'ramf^l'n&epd~> !H%jfo=4Al!.j`mo7?Mio*!Y9o@@c/~> !Ik'"pUKqt!.jlqpOW(qpB9.CpYpXP~> !F>_Vn$qfd!.jTimt'ramf^l'n&epd~> !H%jfo=4Al!.j`mo7?Mio*!Y9o@@c/~> !Ik'"pUKqt!.jlqpOW(qpB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>_Vmt'qYmt'qlmf^l'n&epd~> !H%jfo7?Lao7?Lto*!Y9o@@c/~> !Ik'"pOW'ipOW('pB9.CpYpXP~> !F>`umf;-ob^muhb^n!2bl@,4b$BM~> !H%l0o)Rp(eq)D'eq)DFf)P=Benop~> !Ik(ApAjE.fR_\+fR_\Jf`1[HidQC~> "'trqn+XVKb^muhb^n!2bl7&3b$BM~> ")\)0oCp[aeq)D'eq)DFf)G7Aenop~> "+L:EpOUtJfR_\+fTt1hpAs9&J,~> "'trqn+ZjgbQ.*_!.b-$!.b. ")\)0oCr9kec>;m!.b-$!.b. "+L:Ep\4]ofDtYs!.b-$!.b. !F>`un$E#ob^fbF!.b-$!:BjemfCR:J,~> !H%l0o<\Gseq!gP!.b-$!:Bjeo)[EZJ,~> !Ik(ApTsl"fRX$R!.b-$!:BjepAs9&J,~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`9mf3@XmfD4fJH16$JH16$mK!:U!Qn\u~> !H%kIo)Jd\o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'ZpAb3`pAsL1JH16$JH16$mK!:]!TJQY~> !F>`9mf3@XmfD4fJH16$JH16$mK!:U!Qn\u~> !H%kIo)Jd\o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'ZpAb3`pAsL1JH16$JH16$mK!:]!TJQY~> !F>`jn,<:g#<9]nmf3@Mmf3@XmfD4fJH16$JH16$mK!:U!Qn\u~> !H%l%oDS^k$VfjUo)JdQo)Jd\o)\")JH16$JH16$mK!:Y!S2+<~> !Ik(6p\k-o'P[./pAb3UpAb3`pAsL1JH16$JH16$mK!:]!TJQY~> !F>`jmf`^[n)]3 !H%l%o*#-coAEh3o()h]k48QQnaceDeq!gP!.b-$!:Bjeo)[EZJ,~> !Ik(6pB:QkpXUgSo(N+ak4\iUnb3(JfRX$R!.b-$!:BjepAs9&J,~> !F>`jmf3@emgn^dn*^7V,QdH&HklrShs^LDs6h#sHklrShs^%%MAuk,n*f[l('d4an*^8Fn'X0# &o[R6!SknM!.b-$!.b. !H%l%o)Jdio+1*ioCDs6(]j6s?476Kn+6JXs77<#?476Kn+6/@CCq#.oCMEW$k-J2oCDtRo;j>C *Kg-g!Tqsa!.b-$!.b. !Ik(6pAb3mpCG^ep\+Yt%fuFf7L']Zp@nLcs7[St7L']Zp@n=J;%+AKp\3i?#8Vj`p\+[^pP9gl /\LlQ!U/0e!.b-$!.b. !F>`jmf3@emh+jfn*^6#d-pG.)9q;a..?U)rU1f4)9q;a..?W7(rkg$n*dM!c/s$pn*^8Fmj3VL hgbFi!SknM!.b-$!.b. !H%l%o)Jdio+C9loCDr]iq)bO6fHujA+T9lrUV(?6fHujA+T;052#+:oCHHZiSd+5oCDtRo*V_j fO=RH!Tqsa!.b-$!.b. !Ik(6pAb3mpCYmgp\+ZAmJ$?)GO !F>`jmg0!_n)fEAn*^7hrpL+IVsj*<#4M!\rU1%IVsj*<#4M";V>Tck0rOL/kQ^ME!:TA4EQe(E !SknM!.b-$!.b. !H%l%o*GEgoAO%5oCDtFrppC(iq)d#%.j&jrUU=(iq)d#%.j'"iV`9V%-$mMi=,>L!;#djPM,[$ !Tqsa!.b-$!.b. !Ik(6pB^iopXh!Sp\+[Yrq?[&n+ZRW1\^VDrV$U&n+ZRW1\^VKn,2nh#4M<\X#'ME!;H3lWTNpK !U/0e!.b-$!.b. !F>`on,C-&n,<:j"ua !H%l*oD[24$3 +/e`%daJ'b!Tqsa!.b-$!.b. !Ik(;p\rhFp\k-r&n^\.pAk0d!!3)n"RcNgpAk0d!!3)n"RcNgpAt0c!!3)n&+9\rpAjs^UHAi< fD#$lf_kIEkh(FdJH16$JH5* !F>`pmf:0&s8VNf!;c-a!<)?l0rOL/kQ^ME!WDHn0rOL/kQ^ME25U6>#Vi7Gn)suEmf<:S#Kd5= n,NF's8MHfgrt !H%l+o)R5 !Ik( !F>`pmfC6(rU0^dqX4CarU1&s)U@Me-L^CIYl=)4YStgMF!gAE\/<9OORMYB)U@Me-L^C'n*`$B lcTJ1mfC6(rpKmCb^fbF!.b-$!:BjemfCR:J,~> !H%l+o)[;>rUU!hqXX[erUU>'6fR)l@.WsrgA^[b?pir56=BEVD*Qerpp0Qeq!gP!.b-$!:Bjeo)[EZJ,~> !Ik( !F>`pmfC6(rU0^dqX4CarU29(GSCBKh='g<&HM:gm !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfUB*mf<7R#lsG_!!!$),$`.en,<:g#<9^!mf3@bmf`^[mf4-jrU0ggn*^8Umg.o*=76,) mD/c$mfD4fJH16$XT/P>.9q/-hZ!?N#5m#RAOe$QJH4=&s6g!2?%;~> !H%l+o)mG@oDe^Z!rql`rr3*"rVH0coD\akrql?ao)Sgfo*#*boDeado)o$aoDeg]#ke2loDea[ df9= !Ik( !F>`pmfUB*mf<7R&chCh!:TCAc@cM,n*^8Fn)]37mf*FhcYYZQJH4F)s6g!2?%;~> !H%l+o)mG@oDe^Z"97uas8MTtp%n[[oCN"RoCVnWqXX^eqst!koCN"Zq#0dps7>j^oCMYSp[e"V qtSV>rpp0Qeq!gP!.b-$!:Bjeo)[EZJ,~> !Ik( !F>`pmfUB*mf<7R!s%fY!;u9g],C)+!<2EflN@"P!!)ob"p",\!:2eDrpL'ln*^8Fees8BmfWXW 42CmqmfD4fJH16$ZN((34GiOirr_1h1BW1.h>mTE!Qn\u~> !H%l+o)mG@oDe^Z"97uas8;Hkq>BjUs8DNhs8)j^oD\C]o*> !Ik( !F>`pmfUB*mf<7R!s%fY!;u9gklpPE!<2EflN@"P!!)ob&-21f!:S\UjmVX !H%l+o)mG@oDe^Z"97uas8;Hko`"IRs8DNhs8)j^oC`(]o*56doDeRap&4Ibs7>p3 s8MTjk15(`JH16$JH5* !Ik( !F>`pmfUB*mf<7R!s%fY!;l3j!UoIWn*fCp(AdJ"!;l3q!:T@Vn*dA8n*^8Fmf3W(r9jagn*e'l rpKmCb^fbF!4Mq0#t3q4rr`7^-Neo"iW0#I!Qn\u~> !H%l+o)mG@oDe^Z"97uas82Bns7>j^oCMVNr;-!bs82Bus7>j^oCMhSoCN"RoDejar::'koCLE1 rpp0Qeq!gP!.b-$!:Bjeo)[EZJ,~> !Ik( !F>`pmf^H+mfVkQmfNUZmf<:S"6g!Xn,<:i"ua+FsOQ!<;Kgb$BM~> !H%l+o)mG@oDe^Z"97uas8;Hjo`"IRrr3-#qt0LOrr<#i!<;rf"97uas8MTrrUod^oCN"Ws7ZE_ "TS)bdf9= !Ik(?rq?HWfRX$R!.b-$!:BjepAs9&J,~> !F>`pmf^H+ml?d6mf_bXn*^8Smf^6@n*^8Lmf>G9rU0mO#Oh*]rpL3U(t8QSmf;h&'7BfJ"9@oZ _#OE&!SknM!.b-]!!3[HqUb`Knj !H%l+o*!MAoD\C\o*"^boCN"[o*"meoCN"To)\j_rUU0arq#a]rppKhrq$0]oDeFVs7cNa"TS)b df9= !Ik( !F>`pmh`e>n%TI9kO-Po4n%h>n*fSgKaP!Omf<%L$GR1SkO-Po4n%h>rU1?;+TV!"!:TC1+DC64 !:TBls8MHfgrt !H%l+o*s.JoD/@XoCMYRq=F4Xrpp?eq>U$XoDeLT$MjYnoCMYRq=F4XrUUWrqu?9Zs7>jUs7l3W s7>j1s8MTjk15(`JH16$JH5* !Ik( !F>`pmgR#3n*d&/#Qbu]mI0NC!!/^F/!!)Z[$)BB`!ZZ"Cn*^8Smf[e6n*^8Umg.l*<:9hU n%eu&mfD4fJH16$]`8*71[EHg!R;p@!9X@^mfCR:J,~> !H%l+o*NkFoCMbUs8W&mrq$*g!r_ufrpp-io^`7]rVuorq#9jbs8;Hkr;ZB[s8MTqp&=dYs7>j1 s8MTjk15(`JH16$JH5* !Ik(?rq?HWfRX$R!.b-$!:BjepAs9&J,~> !F>`pmfC6(_!_<>s8MHfgrtYj!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`OT5@^JH16$hZ3]J!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtjUZV;hOUL@tTJFf!Xh!41>Y!==_-rrW*h!J(7:!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`_>jUZV;hOUL@tTPFeo'<0=$idg].>\JH1H*s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtjS=r;Zg!gAh5Vr;Zg!g&M,Znc/Xkl2UhjDTMhYpcX0.lN$tR !Qn\u~> !H%l+o)[;>_".TTs8MTjk15(`_>jS=r;Zg!gAhM^!!"A?rr;C(h#IG]nc/XkJH2#:s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtII.!4IZU)kEk'-6&MQVC)9B*Fl.C !H%l+o)[;>_".TTs8MTjk15(`_Z17BcAM\2LS,TWVPY[ZSYi82rW!4hVQ;r]A#l8(r;[&.!!'E] Z<7&*&>II.!5RaUqVncW-6&MQVC)9B*Fl.C !Ik( !F>`pmfC6(_!_<>s8MHfgrtk+N!!'n[!1,)6)P*3C!#hF-!!Wi3&#oW9&,Q>2ZN(!B(^RDE !"Z:6!5fr[QRDhPSX1`))P-j-!OE=9!"d%"!%XP*-ib0VQRDhPSX_J6!!C(T#dO=.%A#-O/=cdY +TS)b!%YtV!!,7]`W#u2,Coj^!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`_>k+N!!'n[!1,)6)P*3C!#hF-!!Wi3&#oW9&,Q>2ZN(!B(^RDE !"Z:6!64C*j5CdmSX1`))P-j-!OE=9!"d%"!%XP*-ib0VQRDhPSX_J6!!C(T#dO=.%A#-O/=cdY +TS)b!%Ys !Ik( !F>`pmfC6(_!_<>s8MHfgrtjeE!!'G-!5/<*!N3U0U&_+j!!l)gU:pUdPFFl:!!]b0!42_+ Yl"J*YQ+[3!!'\2U&h1)rh9CjrW!*\PFFi<]D_d2Zb6:3!N3U0U&h1$qu?i+!!'8%!!'J,!!T_0 [K$<9rVur-nGiS !H%l+o)[;>_".TTs8MTjk15(`_>jeE!!'G-!5/<*!N3U0U&_+j!!l)gU:pUdPFFl:!!]b0!42_+ Yl"J/YQ+[3-^)WOU8"Qurh9CjrW!*\PFFi<]D_d2Zb6:3!N3U0U&h1$qu?i+!!'8%!!'J,!!T_0 [K$<9rVur-JH22?s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtjhF!!'>*!1t>3!!/]5qZ$o1#nXfN#65(9r;[&.!!'>*!3lA$ #I"1.ZN'ut*rZ-?T-!k0$O6YbU!!*hG_>aOU#(ZdC!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`_>jhF!!'>*!1t>3!!/]5qZ$o1#nXfN#65(9r;[&.!!'>*!3lA$ #I"1.ZN^E%*rZ-?T-!k0$O6Ya9!1X&ho)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtnJX!!'>*!%"YANsd86V2kuaL&c1nLpI)EUSV&mL&_4[!!'>* !3cG'L&_4X!!'>*!%"YANsd86V2kuaL&dC3V-!`*JYf=h-*!f&$RMgLNsd#(VP+G!ZN(!0!!%`R ,GqB9,65%M!%+bCJ@+nJ! !H%l+o)[;>_".TTs8MTjk15(`_>nJX!!'>*!%"YANsd86V2kuaL&c1nLpI)EUSV&mL&_4[!!'>* !3cG'L&_4X!!'A/!%"YANsd86V2kuaL&dC3V-!`*JYf=h-*!f&$RMgLNsd#(VP+G!ZN(!0!!%`R ,GqB9,65%M!%+bCJ@'k-S,iT\!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrts6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`P5kRhm/R-mg].HX!!"IBJH22?s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`PQ1^e#OMKkZePN`$_=/u/:dek!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrto@[rrMaAJH53?s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`PQ1[mJH16$g]7BG!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt,]Dhng"+^IC!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`PlLgf$\8;/!8ISSo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt])Mg,.tI]k!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`PlLdrJH16$gAq9F!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`Q2gpf&:jh4!8@MRo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`Q2gn"JH16$g&V0E!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`QN.$f'nH@9!87GQo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`QN."&JH16$f`;'D!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`QN."(JH16$f`;'D!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`QiI.*!eC?&!8.APo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`QiI+-JH16$fDtsC!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`R/d7,"b?Z)!8%;Oo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtrr>$0!;-?lmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`R/d42JH16$f)YjB!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`RK*@-#_;u,!7q5No)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`RK*=6JH16$ec>aA!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtWuYmfA.4Zi:',!J(7E!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`RfEI-%=nM1!7h/Mo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`RfEF;M?!["V>L;oFesWheH#X@!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`S,`R,'8cbiY582!Y4Vbp!eC@1!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt;'^PAig%YC(lgt,/p\X":oD[G;qr@\U$/sS! mGR!miS!>lrseb^i8OJ2hWEeli8NnVoD\ji+FsOd!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`S,`O@U&YmD49a%^&XmMu"j\_3RVY(icR]ZsrW!8!cAQ25TN@l5 MuE\c+f2*6+TSs+THpP6J$OV*joGGQ!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt;'_U_`j6cF(p$)/0mIKW:l1O*(o'H>T#N,R< r;Zcrhu3QaiqEEGir@d/s5NeQpY59=!%*6sp&P-]!Qn\u~> !H%l+o)[;>_".TTs8MTjk15(`SH&[*)57*F2KUa@@RsueF>K4l87OQ"1R;K@A,QB0YQ2!?rVur& r;[:u/H@>m!5fr[Sh'jl_gqgM!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtkH2rSd)9jQQ=9rs.H] o]5'(s53eT!8[YS"lB:9s8UpSrrCmGrr=U$!;6EmmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`SH&XET`>c2V.q]GIk1f#C+ta!/-_qc0T^c8r;[),!&p+25le.f !!'J,!!T_0[K$<9rVur-JH4g4s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`ScAd)+J8`7T+M*fWr`9nT)k.V!W\jb!L'Pcr;[),!!`K1Z2h-- !"GPP!%a]AZN'ut.KCm7JH4g4s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`ScAaIT)^T^PlPNc!!$i#!,7f#!,Ro#Bp\l#L&_4X!0X+R=9,Q* !/:IuVPg:9!4)Y*-EEtn["/5>!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`T)\m%."MBh!!E<&!%FXn!9O:]o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`T)\jNJH53?":LctY:P5)joGGQ!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`TE#!"0S'4T!7:fHo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`TE#!S!J(6%!7:fHo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`T`>)u2h:s[!71`Go)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`T`>*V"+^H'!71`Go)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt*EBmfDg%Zi:"`JH5?Cs6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`U&Y2s5(N]b!7(ZFo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`U&Y3W#Cul+!7(ZFo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`UAt;r6\,5g!6tTEo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtuK!;$9kmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`UAt !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`UAt9cJH16$blIe8!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`U]:EU&qL%6!6kNDo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`U]:BhJH16$bQ.\7!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`V#UNQ)M%m>!6bHCo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`V#UKlJH16$b5hS6!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`V>pWM,CoiG!6YBBo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`V>pTqJH16$aoMJ5!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`VZ6`G/qF"R!6P !Ik( !F>`pmfC6(_!_<>s8MHfgru)b!Na-:!!Ek'Umhnm!!Ek'Umhnl!!01;rW!9KVP]Re!!#`sY=nfo $4a,4X$?XpX/)d]MuWl4jl#S.ZE1b>!*b!Sn,WLW!Qn\u~> !H%l+o)[;>_".TTs8MTjk15k!!Na-:!!Ek'Umhnm!!Ek'Umhnl!!01;rW!9KVP]Re!!#`sY=nfo $4a,4X$?XpX/)d]aoDEDJH16$aT2A4!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgru)b!>)L7!!I^>!(2)1!!I^>!(2)0!!*Y8rW!:s.f_&D!!'A6$aKX1 $3:5/%^Q-9!rrh;N;rtufA>rsE:gpF!Ql40!:U!gmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15k!!>)L7!!I^>!(2)1!!I^>!(2)0!!*Y8rW!:s.f_&D!!'A6$aKX1 $3:5/%^Q-9!rrh;b5_Pe3.V'\!6G6@o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgru&a!3lG&"L&"/!j2A#"L&"/!j2;!!3lG&!4Mk,#,VA#RM?R)q>^O8 T`"ik)k`2k!=Zm%mfD!^_#FH50nB>n!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15gu!3lG&"L&"/!j2A#"L&"/!j2;!!3lG&!4Mk,#,VA#RM?R)q>^O8 T`"ik)kb@S!*b!SJH3aks769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgru&a!3lG&!4)S(!3c;#!4)S(!3c5!!3lG&$C=+)8\b<+/A8bKqZ$\^ `%M#h!gLVUNrT1_WS?kBUU.f:!G)@a!:KpfmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15gu!3lG&!4)S(!3c;#!4)S(!3c5!!3lG&$C=+)8\b<+/A8bKqZ$\^ `%M#h!gLVUbQ%Y^6\,5g!6>0?o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgru&a!3lG&"L%t.!j);""L%t.!j)4u!3lG&$7W^Iij/afU_X`@q>^O8 VYpJq)lAYr!/]Ct!I!M@rrK)3JH5* !H%l+o)[;>_".TTs8MTjk15gu!3lG&"L%t.!j);""L%t.!j)4u!3lG&$7W^Iij/afU_X`@q>^O8 VYpJq)lCgZ!F>eX!.b-k!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgru&a!3lG&"F`Z;5^WD/"F`Z;5^W>-!3lG&$:k-rna877YR:iDr;[0. !!!\;!!N?&'=!W!!+smP!pO(h`W#u+,(Ta]!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15gu!3lG&"F`Z;5^WD/"F`Z;5^W>-!3lG&$:k-rna877YR:iDr;[0. !!!\;!!N?&'=#d^!>S=[!.b-j!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgru)b$(oJ7T)]LpURMho!!\/X&tPee&H2YQL&_4Gc(CU.]&DZ8r_iej Ycph%!/:J(V5(%O!%Xn@W]H7B!ClG-mfKpnr5\g !H%l+o)[;>_".TTs8MTjk15k!$(oJ7T)]LpURMho!!\/X&tPee&H2YQL&_4Gc(CU.]&DZ8r_iej Ycph%!/:J(V5(%O!%Xn@W]JB)!FGu!!!+/aJH2kRs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p](:]rr3#u1V*Pe%p#/"!]npuJH2kRs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p](I/GPfiP!kJ@4?3m&$!`n#;JH2hQs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`pAb6r<_^+)!=N5)!!<7Hegl:OXT8Cm!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrti&?2ekQ(YO!Qn\u~> !H%l+o)[;>_".TTs8MTjk15(`p&G,SG.@SR>Rm>*!sb7;*e= !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,RG.IYS#A'J,!thrQ'7g.a!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,QFh.PR=V[P/"!Ysg$@r2W!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,QFLqMR"Dj\1"$#)$"G$QP!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,PF1VDQ<$%\4"&nE4!J(6L!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtm("(_'!db$+n*^=qBY3.$!rRZqJH4X/s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`p&G,OEkDAQ!cjq6!d*d@JH2PIs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,NEkDAQ9dl_9!sY%S:k8VC!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,MEP2>Q!I(7 !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,ME4l5P75Ub>"!Gb=/:der!<;Wkenop~> !Ik( !F>`pmfUB*rp]pU!;ZT^!r`/grpKj_rU0gds7$$V!;ZT^!WDTKmfC6(rpKmCb^fcf!!.jnL&_3X g@#-T'I2#bmg%aHE/B%?bkLr5$0f?tH$F\AgL1,6!8@MRmfCR:J,~> !H%l+o)mG@$Ln&d!%7d;"7H6knG`"Z-iW]>mf+5bT;<8U&b5b!S2+<~> !Ik( !F>`pmfUB*p%eUU#QOA`n+$DMq>Tgfs75XInc&4WrpL$jo'c&;ro*;H_#OE&!SknM!;6BnLMhkI !Bo]%mfT0f1YggT"mjC/IsH> !H%l+o-2W_1V32Ll2g/@oOY!U94I[PK_NoCM5Jl1=MT1Z@p+df9= !Ik( !F>`pmioRInG_nFnGi=Qn+QSHrpT=Fs7u-PpA+4Wn*fcGq=!eGq;LcC_#OE&!SknM!;6BnL2MeI !@?XXmfS%?7-2Y]!T$q0!7q5NmfCR:J,~> !H%l+o-2W_^bGBOb5fWTo..Vl0_=nZ!6Fd'/&8qSoCL-*aRf!R^u=kcdf9= !Ik( !F>`pmioRIn,2bFo)/FSn,DhFr:9=Ir;?$Prp]CSo'c/Ir9s+RnDWg:_#OE&!SknM!;6BnKkuSG !>Ec6mf_o\!*SU2mfB-uJH47$s6g!2?%;~> !H%l+o-2W_nI4[RCjKack6phM%-dA"H=uj4$h<`ql18_;BCk9on_s'?df9= !Ik(P`Hf`1sF!U/0e!.b-$!.b.< !<;coidQC~> !F>`pmifLHn+6GFp[eCQo).tFoDA"NoD\4Lr9s+GqsX:NrpTFUi9p]^s8MHfgrt !H%l+o-)Q^o3[dS*nVM)L0sQD?^:4(fH'R !Ik( !F>`pmifLHn*p>FrU9UPqXs=GnG_nTn+uPMp$_A=rpTgSqXF@Si9p]^s8MHfgrt !H%l+o-)Q^o@t2P(@r70'AW3Ng_fMro+^[-h"1-m)"8=4'^udki:?uts8MTjk15(`p&G,GCVToN .U/eN"!5MMB7U&Q!<;Wkenop~> !Ik( !F>`pmg?l1n*g)GrU9CQrr)9iq=adUo_8@`mfrU]rU9CQrnm/F_#OE&!SknM!;6BnK5-;E!-m;f "2,EST$?^)e4"ogd/a48!Qn\u~> !H%l+o*WqGoCEg:8+T-[)#a%1(rJl87(O66o*-&L8+T-[(uOocdf9="1kYZm2RfNK[!S2+<~> !Ik( !F>`pmg?l1n*ffGqX !H%l+o*WqGoCJ4m\+?mCQ2U:YPpEj1Z5Jr+o*1I*\+?mCQ/D06df9=sXi]_nnRK3BZ!S2+<~> !Ik( !F>`pmfC6(rpL$ioC)/Jo).q[rq#UIs76*V"oe,^n,Mt9mfC6(rpKmCb^fcf!!.XaN;ru>khY\0 JcZ_)cL1eZ4b3UY!<;Kgb$BM~> !H%l+o*WqGoCM2Kk4@[:l2C2Xkl^)>jTFcGo*4F]k4@[:l/2(5df9= !Ik(/\-qp,pBJhCnb9O$oAB9Cf`1sF!U/0e!.b-$!.b. !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,DBYj`M*,qnX"9ahTbTDB9QiR0X!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtC.D!Qd3M!6YBBmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`p&G,DB#4NKI1`L[":_L%]bH"tQN7'W!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,BB#=TL'mcn\"<>DLX:'RZQ2psV!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,BA]"KKGT!R_">SQtQN_p?PlUjU!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtma:J)k]-iX!65*>mfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`p&G,AAAeHK&;7+b"A@kFJH:<%PQ:aT!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,@A&J?JF!Ide")7/iBn68I!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,?@`8FQ!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt@[$in+55ZA"QMoN%C"7K!O !H%l+o)[;>_".TTs8MTjk15(`p&G,>@`8 !Ik( !F>`pmfC6(_!_<>s8MHfgrt@?gfn&'3\t"P#%'(;\Gf!odPfJH3Lds6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`p&G,>@E&9J#Eu=k"<,2Hfe.gUNr]4O!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,=@)`0I@lggo">89obTMH:NWB+N!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G, !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,;?H3$H>">gt"D@)iXUB[[Mu`nL!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,:?H<*J!hTM"!!NI\n*cYJJH1T.s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtaYQm1$7Ka"lr2S!,_/RmfAaeJH34\s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`p&G,:>fZmG:fOb$"Uh6smt(Rk!/^dVo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtabWn*8'9>"P5:,!f#4n!RjGf!4Mt.mfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`p&G,8>fcsI!MKY'!!F.Sn*Oh?!/LXTo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtFPTn%E.8p"N),X#+X64!q)'XJH3+Ys6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`p&G,8>KHjG7q&b)">&*lku3-5LB.AG!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt+>Qn"KUPN"KDk1%'\:N!R3`X!42b+mfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`p&G,7>0-aFU'J(+"@_A>j$/(pL&h8F!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,6=ip^F5&Rb."Cpcdg+S!WK`M/E!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,5=NUUETaeI2"TjGIn'*#,!/(@Po)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,4=N^[F1jc\3"U_'on%KNf!.t:Oo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,4 !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,2 !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,2<6P=CQlW^;"[_5;mt:^m!.b+Q!;#g5D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,1<6YCD,EoY<"CLK`mV@@RJH5ZLs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,0;U#1BOsdjA"Tj;En**i'!.b.K!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,/;U,7C*M0kC"UUpln)HZa!.b.J!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,.;9f.BMDDgE"Vn`>n(KIH!.b.I!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`p&G,.:sT+B(9"kG"Xh^dn'3,.!.b.H!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#Bj!42:t!&!(-!42D""*LF?LALrN0)bhNL>r760(/c@BhtT+!>a,G mffp+!!"_,g@#'7'nH@Z!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk19/)!42:t!&!(-!42D""*LF?LALrN0)bhNL>r760(/c@Bi!%T!J*JK !!PUFn*e"+JH16$q#LHd!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#Bj!42:t!3k8Z!42D"!3Z(s!3k>\!3knl!GG6+!!*D?k3iJ;"TSNf j4j#'fLpbqTE,#\!Qn\u~> !H%l+o)[;>_".TTs8MTjk19/)!42:t!3k8Z!42D"#-Iq+,HH/3rVur&hZ*Y\mf3B%:=&tA&[B"L "^L?]n#m.N!.b.F!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#Bj&@I(p=9'M@VktVIX.WP>U8%Ve,o`DPVC"-b!+KZ-VQ;r]!4@Ha !$@r\MZC'`*h]C(%F1]B!4)YKV5L16!4)Y*YQ/16TND'l%(1hq =9';2VPY]cU8%/X!G>0+!!*.qkO/H>E;fh<<9`3,!q) !H%l+o)[;>_".TTs8MTjk19/)&@I(p=9'M@VktVIX.WP>U8%Ve,o`DPVC"-b!+KZ-VQ;r]!4@Ha !$@r\M^mQ_q:;R>%F1]B!4)YKV5L16!4)Y*YQ/16TND'l%(1hq =9';2VPY]cU8%/X!G>0S!!.:<^An98J,\m;Rg+EDJH5EEs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#Bj%`0%gYlL@I!%a\I%fcU6quA%0-ib0V!,m=X!=Sr=WW3%9)@4S' #d+.-_^tj=RfKbpQRDhPSc&NmYQ+[0!1YhD!!'8&!"Q=8Sh0pnSH,tr!3cI0&,Q>6_AEQ`!1,)6 )P+,$!!-\+VuQgKkO/H8;#UFqC@0gF!Ra;c!1a,imfCR:J,~> !H%l+o)[;>_".TTs8MTjk19/)%`0%gYlL@I!%a\I%fcU6quA%0-ib0V!,m=X!=Sr=WW3%9)@4S' #d+.-_^tj=RfKbpQRDhPSc&NqYQ./Ls5N]$!!'8&!"Q=8Sh0pnSH,tr!3cI0&,Q>6_AEQ`!1,)6 )P+,$!!-\+d/X4V\,sGG!=,7rmfA+DJH16$p&P-a!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#Bj"ge70YQ2-2!!T_gPFFkBqu?`0rh:.*!"m[A!(W`W^&S/?!!'8( !3cG']D_d5ZN.<3]`+W*Vu6T!YQ+[0!4Vn,!3lG&!j_m8rW!;4!4)Y*YlH_HRmHuQ"ge70YQ2?8 U&h0rmf3B#9W8!l?0CY[gGJs2!JB1r!ptpTJH22?s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk19/)"ge70YQ2-2!!T_gPFFkBqu?`0rh:.*!"m[A!(W`W^&S/?!!'8( !3cG']D_d5ZN.<3]`+W*Vu6T&YQ-0/s4u*:!!'8&!!9J,[f-76ZiIE4!3lM_PFFl:!!T_0!3cI9 rh9FkYjVPmAk^SP!H))V!!O(Jn*f[\JH16$oDnp_!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#Bj%^Q-8YQ1:I!%a]H!"#s9qu?bi*rQ'YOAr(][L!MZ!!'>*!3cG' YQ+[@/-%,h!4)Zt*r5j@YQ+[0!1P_B!!';'!"cI:T.L$oScH#&(;TtU!"#t0!!]b0!3cHq*rZ-> Z0qYnA4rp&!C,l5mfgiV!!!1jh!Y9f3e7:"!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk19/)%^Q-8YQ1:I!%a]H!"#s9qu?bi*rQ'YOAr(][L!MZ!!'>*!3cG' YQ+[@/-%,h!4)Zt*r5j@YQ+[6UqU@ Z0qYnA4t>N!XQIC_#OWbcgU>f !Ik( !F>`pmfC6(_!_<>s8MHfgs#BjD6j3BYQ,oFVkt]%USV(5R?7K(!%"YANsep0!)7i[X,+(^!4)Y* YQ+[-!!'EXV5YU**i#U+%<@l!!4)YMVPg:9!*Z^cZ2g&_V-!_P!!'>* !3cGLWhkaaEg`'[!!-V&WrN/Ii99V5Z4I!9$a&7R!pkOFJH2) !H%l+o)[;>_".TTs8MTjk19/)D6j3BYQ,oFVkt]%USV(5R?7K(!%"YANsep0!)7i[X,+(^!4)Y* YQ+[-!!'EXV5YU*-,?OS%<@l!!4)YMVPg:9!*Z^cZ2g&_V-!_P!!'>* !3cGLWhkaaEg`'[!!-V&dJs;ZB>FQO4l>_sj?eCtJH56@s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgs!e=!4/p1!Fn^&!!*e[kjJ\?"onW<^>85Y`\N)FQN7'S!Qn\u~> !H%l+o)[;>_".TTs8MTjk17QQ!41tk!B"6+!!-S$df9FQ^'VXV"^:0Zn(KLI!.b.?!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgs!e=!4/p1!FeU%!!*>8l0eZ@FT)7@+O/d3!pOt7JH1u9s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk17QQ!41tk!Wm3aaoDHO8CIP>>BIa_! !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16^9![DO`b5_QO8CRV@"25>b!!*=prpKm'(4cI:!:Kpfo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16[8!F.J)!!-Ite,TMIJ]%Nh'=[u0!O)u`!.b. !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16[8!Y]\\bQ%ZO7b%J?!PK;g!!+=hrpKlX#(Zc*!:9ddo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16X7!D,`(!!-CpeGoVANl:u!3o9l)!JUZ,!.b.:!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16X7!XNoZbl@cN7+D8<\08il"]jjUn*Y%D!.b.8!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtQKBUN<'"I!Qn\u~> !H%l+o)[;>_".TTs8MTjk16U6!B!m%!!-@nec5_8S&YL5!I*u#n*3u*!.b.7!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16U6!Wm0Wc2[lM6Il,;YUmiq!=,%lmfDK:JH16$kQ(YS!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16R5!?u+#!!-:jf)Ph0W5nr>&[hW,!S]>[!.b.5!<;Wkenop~> !Ik( !F>a&n,EaimfC6(_!_<>s8MHfgrt !H%l6oD^ZBo)[;>_".TTs8MTjk16O4!F.,#!!-7hf)PiM36;.$,0^&T!RE!A!.b.4!<;Wkenop~> !Ik(Gp]"1epArqH_"Rl^s8M`nkh(FdJH16$JH5* !F>a'n,3UhmfC6(_!_<>s8MHfgrt !H%l7oDLNAo)[;>_".TTs8MTjk16O4!YTDRci=)M5hH&;/[`\#!BAm6mfC6?JH16$jT,>P!S2+<~> !Ik(Hp\e%dpArqH_"Rl^s8M`nkh(FdJH16$JH5* !F>a'n,GKL(&@;!_#M4=!Pna7mfD4fJH5BD!EhXq!!,"Am-atF#Q=](5N:_l!q)9`JH1B(s6g!2 ?%;~> !H%l7oDcQ)N;<&Gdf7,S!Rh#Io)\")W;lrj3m[j-=[1O=!M;g'!!-$^rpKll%=nM1!9=.[o)[EZ J,~> !Ik(Hp]&S>c2%)7f`/b]!SIGOpAsL1JH16$JH16$mK!:]!TJQY~> !F>a&mf>Kbq!S7!s1n((_#OE&!SknM!;6Bn=?a1o!?g.`mf@b9rVusrki;+4d6N6_K)kr?!Qn\u~> !H%l6o)ZRaq""O7s1n4,df9= !Ik(GpArUbq"FgAs1n@0f`1sF!U/0e!.b-$!.b. !F>`pmfC6(_!_<>s8MHfgrt!Qn\u~> !H%l+o)[;>_".TTs8MTjk16I2!B!Nt!!-.bf`2&<;To+A#*o/U!J^`-!.b.0!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt!!*+Nj6m#m3.V'\!!E;jn&epd~> !H%l+o)[;>_".TTs8MTjk16I2!Wm*MdJs;K4PBc:*m"N/!!*Y:rpKmUDh.n>!8mkWo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtcR&Pj! !H%l+o)[;>_".TTs8MTjk16F1!?tar!!-%]g&M/4?d/QO+Nj]P!U !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16C0!F$\q!!-%\gAh9kc3MVp!B&X2mfDNmTI!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt/5B%q"iC?? mfCR:J,~> !H%l+o)[;>_".TTs8MTjk16C0!YT,He,TMJ3njW8K5Ag5!DqtYmfD/uJH16$h#RKH!S2+<~> !Ik( !F>a&n,EaimfC6(_!_<>s8MHfgrt !H%l6oD^ZBo)[;>_".TTs8MTjk16@/!D"oo!!,tXg].BgdgXP&!H@K+mfCc[JH1N,!!:[Ns769B D1D~> !Ik(Gp]"1epArqH_"Rl^s8M`nkh(FdJH16$JH5* !F>a'n,3UhmfC6(_!_<>s8MHfgrtuGphX:EW[K$<3r;[9MV5L16!4IZU,c[\jZJ# !H%l7oDLNAo)[;>_".TTs8MTjk16@/!XEKEeGoVI38=N6H-cNl"dAoR!Q#Y(!5/@HCchmI/.n=e 49a%^&XmMu"j\_3Rf39u,c[\jZ2am4L9an]!4)Y*Yl+P2+f2*6+TSs+THpP6J$Rc.s769BD1D~> !Ik(Hp\e%dpArqH_"Rl^s8M`nkh(FdJH16$JH5* !F>a'n,GKL(&@;!_#M4=!Pna7mfD4fJH5BD!Dkbi!!*PKn*^;85Q(Q_4lYVm!OX/'!8.?#2KUa@ @RsueF>K4l87OQ"1R;K@@f[reakH.GcMddtqYf:Ns1SI5Yl+P2Sh0pnSH-PN!1k_A/&U'@s6g!2 ?%;~> !H%l7oDcQ)N;<&Gdf7,S!Rh#Io)\")U]:EQ5h,i8:cR82!Y*Znd/X1XYl4"kZ42?b]DrX(F>K4l 87OQ"1R;K@@lAEbQ=m!5fr[Sh'jl_qG+jo)[EZ J,~> !Ik(Hp]&S>c2%)7f`/b]!SIGOpAsL1JH16$JH16$mK!:]!TJQY~> !F>a&mf>Kbq!S7!s1n((_#OE&!SknM!;6Bn:cH,h!'g]$RKaoDCts8V!Vs2+g:Z2FY&[f-71ZiIN7!4Mk,!4UY^s6g!2 ?%;~> !H%l6o)ZRaq""O7s1n4,df9= !Ik(GpArUbq"FgAs1n@0f`1sF!U/0e!.b-$!.b. !F>`pmfC6(_!_<>s8MHfgrtO?CT.L$oScH(s!1t_@.)Xa=s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk16:-!?tCl!!,kRh>dT`e/Qg9!A`C-mfA7HJH34\s.9l(PH+`bT:Z.J Wr`9nT)k.V!r`02T.0gh_Z0\C!!'5'!3lkH_>O?CT.L$oScH(s!1t_@.)Xa=s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk167,!Ep>l!!,hPh>dRhPL9F3:$2HD!UaoX!4MqgCm>!7QiI,&PlPNc !!$i#!,7f#!/:J#X/1?R!!'>*!3cG'>-j'k!!%`R,GqB9,65%M!%+bCJ@+#1s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt>U"mkXD kgPFdrrKeFnGi[m!!"IBg&V0A!Qn\u~> !H%l+o)[;>_".TTs8MTjk167,!>8_j!!,eNhZ*]^d3[6A!H%6'mfD`XJH2;B"9AK&.AH#+"9AK& .AGMrs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk164+!D"Qi!!,bMhZ*[_U!s&C"HWNM!Tcb$!1j/n$_=/u/Ed':$_=/u /D:+(o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk164+!XE6;f`2%H1>i-6"3`LM!!*P2rU0dB1P#OW!7LrJo)[EZJ,~> !Ik( !F>a&n,EaimfC6(_!_<>s8MHfgrt !H%l6oD^ZBo)[;>_".TTs8MTjk161*!Al^f!!,\IhuEdWY13LQ*6%mF!RW0D!.b-u!<;Wkenop~> !Ik(Gp]"1epArqH_"Rl^s8M`nkh(FdJH16$JH5* !F>a'n,3UhmfC6(_!_<>s8MHfgrt !H%l7oDLNAo)[;>_".TTs8MTjk161*!Wld8g&M.G1#W*6!Q@7R!!+h,rU0d)(kD[ !Ik(Hp\e%dpArqH_"Rl^s8M`nkh(FdJH16$JH5* !F>a'n,GKL(&@;!_#M4=!Pna7mfD4fJH5BD!D+ua!!%iFmfB3kr;Zj\iTfk4cp*']f`2-X1N9GU l0SW/Vf4[&ZN1$o!Qn\u~> !H%l7oDcQ)N;<&Gdf7,S!Rh#Io)\")T)\m98(mqD8MK*'!DC&U!!,aSrU0cn%Y4V2!71`Go)[EZ J,~> !Ik(Hp]&S>c2%)7f`/b]!SIGOpAsL1JH16$JH16$mK!:]!TJQY~> !F>a&mf>Kbq!S7!s1n((_#OE&!SknM!;6Bn82%s_!+k]h!JU[S!!,mZlgFoBL^J\5g].HY/o% !H%l6o)ZRaq""O7s1n4,df9= !Ik(GpArUbq"FgAs1n@0f`1sF!U/0e!.b-$!.b. !F>`pmfC6(_!_<>s8MHfgrt7lEm0)[d Kh`Ga!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk16+(!>8Ad!!,SBiW'$F`raoo! !Ik( !F>`pmfC6(_!_<>s8MHfgrtm7m0)=I F?Ku.!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk16('!Cn0c!!,PAiW'"c=P3ZT%''9p!UauZ!.b-o!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16('!XDs2h#IIF/E6^32phf_!!+"UrU0dQ>Ccd*!6YBBo)[EZJ,~> !Ik( !F>`pmg6f0mf3=g#9mEmrU0pJ<=]3dV#Kfa!"&&kmf?5brU0g/"$$8J"T\#[!#Fu#mf3@[mfC6( rpKmCb^fcf!!,J=aoDGL^@Udo_&<1O!=>almfM]q"b?[8!!=' !H%l+o*NkFo)Jak$S-/UrUU3964!o`b5Uu5!#>G'!>PV5o)agUMuE5M!;#d^3;i@J!;,j`df9=< !Tqt'!!+o.h#IID/E6^2Wb'la!A;t%mfDQ?JH16$aoMJ5!S2+<~> !Ik( !F>`pmhrq@mf;hFlHY%hY4(iB*H9`rX:hH"mf6d/rpKpA%06@q"%.;V!:T@VN_B?>!!)Z[ !Pna7mfD4fJH5BD!CSH]!!*.roBu^Y$iL&+'"dN!!PBh3!9X=a'MjY/lg4i7YBW>BR/m9U!Qn\u~> !H%l+o,6!Vo)SCRlGmcOiUcZt$Bs];PR?7rpp0Qesl^A!F#]`!!,J !Ik( !F>`pmfUB*mf<:S"hPZ@n!cK=mfpcLn*^8.&,u#!BO:c=mf_DSmq6D7mfid\mf;]9V>fo`!;,^\ _#OE&!SknM!;6Bn6S$=[!/'n3!JppW!!++_mI(,=CBK+fl2Uqu8Vb4Mm-Or+SnB\ZPlUjQ!Qn\u~> !H%l+o)mG@o)S^["b/`-o0865o*11dRD/*$[2TlSlf!G:]smfCi_JH16$a8l83!S2+<~> !Ik( !F>`pmfUB*mf<:S"mH3ZmjYsKmgSIbn*^8F7t^9f#jVKimf\A=n'`!Mmg9'`mf;h3''8TN!;,^\ _#OE&!SknM!;6Bn67L+Y!+5Be!UOIs!!+V%mI((_,(Ta\!!E^!J\LF:m0)anN)h$^!<;Kgb$BM~> !H%l+o)mG@o)S^["m66ao*X^[o*jdhoCDtQ'%6Br'(Q&%o)pbGo;jYFo*PKho)SC",4Y9r!;,j` df9=o)[EZJ,~> !Ik( !F>`pmfUB*mf<7R"9Iu["mc*T+T_'#!:S5Lmsn!u!:TC?#i>%<-*?Y)!:T@Vn*dA8n*^8KmfC6( rpKmCb^fcf!!,A7bl@c0lh0]Ij@K1K!B]6-mfMNY!J(7>!!EQlI(8G.m0)OVHpnU*!<;Kgb$BM~> !H%l+o)mG@o)S^["nD`do)\F\o-3`,oCDtRT/H3oT^r0ToA^2HoC!%HoCDtRo)SCRDfYI@!;,j` df9= !Ik( !F>`pmfUB*mf<:S"mH3ZmjPmJmgn[en*^8FmP'n2iU6d8n$r8q%4L]6!:T@Vn*f[FM!k?9mfC6( rpKmCb^fcf!!,>5c2[kniUuX?f.[%%!D_kHmfBL0JH53?":$u2ZKCQA"PBGa1BrX8s6g!2?%;~> !H%l+o)mG@o)S^["m66ao*X^[o+1$loCDtRn-m8EnFHYOo4e+&%;GG*!;#d^oCMGpa7B<'o)[;> rpp0QesQL=72=_\!C/'q!!48&(>]#l(r6( !Ik( !F>`pmfUB*mf<:S"hP]An!Q?;mh!MWn*^8Fn&>Jhn*^8FmNo(9mg&%^hsUR6mf<@U"6CBL!;,^\ _#OE&!SknM!;6Bn5UXkX!>X#TmfCC0o)Jmr1iTVYmd1/DaH0OKK)kr?!Qn\u~> !H%l+o)mG@o)S^["b8i/o/r$2o+6pFoCDtRo7dU,oCDtRmgA.To*==`n+-PNo)Sd]"5+IV!;,j` df9= !Ik( !F>`pmh`e>mf;hFld(7lY4(iA)KFKqX:h>tmf<4Q!s%f=(&[M)Khh(:n*^8TmfLHO!;,^\_#OE& !SknM!;6Bn5:4_W!=6=1mfBEsr;Zj!I.$G(U)&:[p&G3s/o7KFmd1/>[XUg]JH5]Ms6g!2?%;~> !H%l+o,#jTo)SCRm)X)TiUcZq$C'c !Ik( !F>`pmfL<)n,<:h"s@*frU0pI;[ig]U&OK\!;c-d!:OK7r9jjE%IX;cmf<:S!HnJ8mfC6(rpKmC b^fcf!!,80d/X1JTCqXRN!0(Z! !H%l+o)dA?oDS^l$7]oPrUU355R7TZ`r>Q0!;c9h!:q5Mr::-0*V0:&o)S^[!B:)Oo)[;>rpp0Q esHF=!E0$Y!!,80k5YO:RGRuFA*a*^!UF!A!.b-d!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt^nmfAghJH5NH"!h !H%l+o)[;>_".TTs8MTjk15k!!?j8Y!!,5/kPtYtj!s!f! !Ik( !F>`pmfC6(_!_<>s8MHfgrtP@Ldj\,LO!> !H%l+o)[;>_".TTs8MTjk15gu!DNdY!!,2-kPtX1VVqLU$DdUg!SoVa!.b-b!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15gu!>7WW!!,2,kl:bph_sHo!>iKJmfClaJH16$^&\3)!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16j="!OI_,Nf%-5n;rU!BMFh!!.,HiW'!/e,8Y8`>O4,JH3@`s769B D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#-c!3kkk"0_b*L?S[E`PmfBO"qu?aYi:?=< m=kt$!!Em,LrAZMm0)[fLJSk>!9F4\mfCR:J,~> !H%l+o)[;>_".TTs8MTjk18o"!3kkk"0_b*L?S[ !Ik( !F>`pmfC6(_!_<>s8MHfgs#-c!3kkk!3kSc!3l1t!40ZF!BD:R!!*>6p[8-E"T/6#:$D0:!Qd3R !!Ea#K"pXAm0)CMG!?@c!9!qXmfCR:J,~> !H%l+o)[;>_".TTs8MTjk18o"!3kkk!3kSc!3l8!"\/OKs8OS3!!+kojT# !Ik( !F>`pmfC6(_!_<>s8MHfgs#9g%j7gIK!GA"V5L16!4@Qe=T&4:+K2,gZ2am2!#qK+VC!RgV15cN +f2*6+oVHK+K2,gZ2bi7VPY^=!!T\/Q):WHr;[LU4TH%e)kEk'-7#UfJ$K'>VQ;u[!"g9FVP+GB V5L16!4@HaA\`rYO"OilP/d$Y)h#RKD !Qn\u~> !H%l+o)[;>_".TTs8MTjk19&&%j7gIK!GA"V5L16!4@Qe=T&4:+K2,gZ2am2!#qK+VC!RgV15cN +f2*6+oVHU+K2,gZ2bi7VPY[?!%Rg$s446P55bI1GWc$ !Ik( !F>`pmfC6(_!_<>s8MHfgs#9g&"G3O/&M@Y/H@>m!5]QYZ2FY>S1O^k_Z0\C!1,)6)P*HN!%Yqe Sh0pnSc/TrS1O^k_Z6#O!#hF,!!T\/$iggq!"Z+.!!/TFrW!@u /H@>m!5]W[bn^Sfq#CFS+4gJmGkg_.k"YaR! !H%l+o)[;>_".TTs8MTjk19&&&"G3O/&M@Y/H@>m!5]QYZ2FY>S1O^k_Z0\C!1,)6)P*HN!%Yqe Sh0pnSc/TrS1O^k_Z6#O!#hF-!!X[pHRK43Wr2o8.>e+/=I1E9)P*HN!%Yqe$igg !Ik( !F>`pmfC6(_!_<>s8MHfgs#9g!4Mk,!k/0 !H%l+o)[;>_".TTs8MTjk19&&!4Mk,!k/0W9FmfD`[JH16$[fHI"!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgs#9g&"Yn!4)Y*Yl+P/Sh'jj_Z0\C!1t>3!",>J!%>_b T.L$oT)J]pSh'jj_Z6;Mq>^]*!4E1F^AIs7A8@>.T-!t3$(i[I.)Q%n#nXiL!!/QDrW!A!/H@>n !4)Y*YQ+[-q#CFR*SCDn39^2,!QZ>[!!*D'oBu^l-]e<2"#+PjiUZ@=f:Zh4"b?[#!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk19&&&"Yn!4)Y*Yl+P/Sh'jj_Z0\C!1t>3!",>J!%>_b T.L$oT)J]pSh'jj_Z6;Mq>^]*!4E1I_>F9:A8@>.T-!t3&"b !Ik( !F>`pmfC6(_!_<>s8MHfgs#9gE[7]_L9^e(VPg:9!4)Y*YQ+ZX!$nVBL9^dZZN);OV2l!2X/1?R !$eA=VBZ(q!$nVBL9^e*Whkaa!/:IRZN+sFLpI']L&_2idmX6_Whkaa-EEtnZiG'GLpI']L&`9i VP+GDVPg:9!4)Y*YQ+[-q#CFP*81An,2E"_!O*+4!!*\Bo^;kDB`jP!"9C#cUu(_1"RO-h=!3%o b5hS2!Qn\u~> !H%l+o)[;>_".TTs8MTjk19&&E[7]_L9^e(VPg:9!4)Y*YQ+ZX!$nVBL9^dZZN);OV2l!2X/1?R !$eA=VBZ(q!$nVBL9^e*Whkaa!/:IRZN+sFLpJ<.L&_2idmX6_Whkaa-EEtnZiG'GLpI']L-6lY VP+GDVPg:9!4)Y*YQ+[-q#CFP*:3_-!lf! !Ik( !F>`pmfC6(_!_<>s8MHfgs"(E"9AK&.AG>m"9AK&.AGZ!!AkbM!!*\Tq !H%l+o)[;>_".TTs8MTjk17iY"9AK&.AGf%!@8*H!!E<&!%FZ !Ik( !F>`pmfC6(_!_<>s8MHfgs"(E":LctY:S3(":LctY:SN1!Ab\M!!*;1qX4IQE;KV9.Fn+[!odSg QN.+0>aj47m0).=Cc2KK!5eg:mfCR:J,~> !H%l+o)[;>_".TTs8MTjk17iY":LctY:SW4!@8ER!!E\#VQVQG!!+bdkl:`?)smV+]m&]@! !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16L3!?rQL!!**ckl:`>)=@J+6K8^D!!*=sqsOQo&:jh4!3uV)o)[EZ J,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16I2!?N]T!!+2al2Ui>)=@J*[>!lG!>N-BmfB0gJH16$YlOgq!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt5n;""5L!QlP^!!-Npp?r$U'qPC.&kn/$m.K`Kh5G9Q #_;ua!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk16F1!>m`[!!,7alMpr>)".G+3TqCI!!+ClqsOQG"+^H'!3cJ'o)[EZ J,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16C0!YIj%li7%u/*d090Gj0X!N_IM!!,7?qsON.JH16$XoSLn!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrto/n+56V\!L3le!!*1ap?r$K&Yf=/$:0-Ql1XKIl+D^F (P)Rg!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk16@/!X_^-li7&F"mc3i0,F$W!\s!cli7&il29uNls>5CJH2ePs769B D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16=.!WuC5m/R.l1[G)B/f!jU!MZ4R!!*+IqsORK8q?tn!3?2#o)[EZ J,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16:-!Wc.>m/R/<%.+#q/J[dU!\!CgmJm7mSGVaUhD]ucJH2_Ns769B D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtCs6g!2?%;~> !H%l+o)[;>_".TTs8MTjk164+!D+p3!!**Ym/R/<'Cc&'RB5fV!>Ds>mfCocJH16$WW<(j!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk161*!C&j;!!+/XmJm8<'Cl,)+mM2Y!!+=hqsOR+)M%m>!3#tuo)[EZ J,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16.)!Ad^C!!"kD!!+S_nc/]P\aKM!3o9c&!OiVk!.b-K!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16+(![_L]n,NJ$,4>L4.M;7P!ZL5nn,NJikkjfLU^2MOJH2SJs769B D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt$@?kdl.1 &:jhB!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk16('!Z?(en,NJC!q60j.1l(N!enSonc/^lGOG@s!K[D7!.b-I!<;Wk enop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtmfM]m"L\:4(0@Bgq!A4BX(jHq JH1T.s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk16%&!Y9VlnGiRp.I[<<-kGqM!Yj`snc/[qRJQ@PG_#jG!2KVpo)[EZ J,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk16"%!XF&tnGiS;#Oqcp-P,hL!dr;so)Je'[JTCnlsPAEJH2GFs769B D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15t$!X!O(nc/[k/F`]@-P#eL!Y=4!o)Je8bkpi0k=^@+JH2DEs769B D1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt)a;mfBX8]`8-C?E;iVm0)ReI5hI_ !:'Ub0(8i@0)bhNL@P !H%l+o)[;>_".TTs8MTjk15n"!G>4!!!+&Nnc/\;%J9]&F4gik!!,(7qsORC3.V'i!!"Y@!!"YN !!%cE!!"X`!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt%-dfr8*o^5S-Sok!?0#VmfMHS!Pe[;$Xp0mq<\=C[;I;l JH4j5!3lA$!!<*!!uacg"o\K%YjMJkYe'o8mfCR:J,~> !H%l+o)[;>_".TTs8MTjk15k!!EEh(!!"M>!!+ASp&G.$gMlcb!E84ZmfCreJH1Z0!3lA$!!;io !3kkk!3j'8s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtjZKB!C+fm0)e0Wa?Kl !;Z[0CchmI/.n=e49a%^&XmMu"j\_3Rf3:2cD%$5[YLLpSYiRCs5'ud=9-X@U&_M"!4@Qe=9'M@ VktX:!!gfDU*6A2VBNeVs6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15gu!^_D?oDen')"R_.,Ra;G!bpR&o`,#7mecGRa;][1U];*F49a%^ &XmMu"j\_3RVY(icR]ZsrW".fU7qXrLS,TWVPY[?[>(th!7%=5!4)Y*[>(th!$S2:VBPp=#L9'< +f2*6+i46Zo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt5A4"2r=N%!Sg\n!!K4l87OQ"1R;K@@lAEbQ= !H%l+o)[;>_".TTs8MTjk15dt!\ofGoDen>!V??m,7F5G!XI;)p&G*tQ29qM\.O8lUAtudF>K4l 87OQ"1R;K@@lAEbQ= !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15as![=*Oo`,!t+7oO6,74)E!at.*pAb4*ZMO"jV$MVPU&ZYIV.q]G Ik1f#C+ta!/-_qc0Th/e6!/$GQ(G;3g"b66frCqMZiC*1!3lG&#dXL2ZiC*1!4Mk,!4;_*"0_b* [f-7,[))hCo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtn_>sW)!Qn\u~> !H%l+o)[;>_".TTs8MTjk15^r!Z%@Wo`,"9"SD`q+URoD!X-i,pAb4:b51Q-OTU.7TE,"a*W_J* !Wo-s5d%qQLr@?8cdThP`4"!\P(:MQ6E;mHrW!,.!!'5'Z2O_3ZN(!3!!'5'T.L$oT)J]pYlFcr /H@>n_>sW-!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt^M=rU0cP&Bt1X"YtMAkPFQJjhH9kJH4m6 6u8; !H%l+o)[;>_".TTs8MTjk15[q!XtJ]p&G*o,4tp:+UIiC!a"Y.p](=PgA:7si!([YI4&DQZ H`FiCU;4mQ]u>tgY.8&)W?i.3!-4Ki!4)Y*-*!f&$NRL5!3cHDR?7KU!!'>*!3cGJVPg:9!/:Jo R?8_kVkt]U!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt<`;:6'EWjds6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15Xp!X=Zfp&G+1$MFH#+:%]B!WpH0p](=kkPO]KlsYGFX8j(G+ZE)$ BPqg0G_h?@O,&.2I!BO3755beLB.AG!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15Uo!s3mp!VZQo+SGd9*sVN@!_r&1q#CG7mecGRkY-O-[K%-M*Ag5a >[h2Q?u'h+F),Q0De`]X4=CjEJH5TJs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt+!!NqBn*eI]e,TRk<0br.m/u4H?Q=Usrr !H%l+o)[;>_".TTs8MTjk15Om!bIN"p](=)&GH/**X2B?!Wg'3q>^O"PPX_Kh`65f^]5/T)D=9H ;--k!9i5"r !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15Ll!`5a*p](:7pAb47"o83#7.)o/!!*V7qX4I8.=hKA!#G_Q-oOC_ 9M7i>3'KMj8lA\i;+`u$('K0gjT,>P!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt'IJne7K-kQK2!8%;OmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15Ik!^3h1q#CF"(&.b0*!#>VJ,;2&A 5sI@a,pO]l5=S7;7QrRO%=nN4!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt)'au0? 86^"bQ`RsNi6Ss.N-8Q"1)pLL!6kNDmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15Fj!\Ci9q#CF5!Vl]r)[#s;!^#g9qu?aQgA:7=\IjAmh#J0!*@W^$ 2Dd!1'akm.1d!uf4>\H'#(Zd"!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15Ci!ZngAq>^Ns)#4.4)Zom:!Ns07!!,gVqX4H_$%W*>!#5hX,:Y8s .3TH3!=p5$1,_$G.N]0%JH3Rfs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtqG:(Fq[J B7#]7\'*Xolf?@$U5X2#82;+gJH31[s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15@h!Y__Iq>^O/"o83")?Ka9!\s+ !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15=g!t(]P"8`&u(A\"2)>aC !Ik( !F>`pmfC6(_!_<>s8MHfgrt^U"L1UMN!!EK`D5Q+`m/tXr !H%l+o)[;>_".TTs8MTjk15:f!sFRP$N'l)$OQ\1!#PP5"tAqD!!!J1qX4IO@Y=^d!XfYW()%)X r;['+&K)T1)A3:+!2'>lo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt^R%GTZ2N":RSAZK:lK"3ls.)SH+Y$Q_&m>&JqY X1m$Dr9F^Sf>4MQIV2M>,n>J+QiR0T!Qn\u~> !H%l+o)[;>_".TTs8MTjk157e!s*SM(&S%3'Dhb0(An.9Ra_NA*6%dC!U*7 !Ik( !F>`pmfC6(_!_<>s8MHfgrt^R,7KMlV";FO`^$5=Z"3cm-)T;[a"rf0] !H%l+o)[;>_".TTs8MTjk151c!aibhr;Zj%%/^)*'`A"8,3rqC1"c?k!T6#*!!EK6$jm.6!!NK7 &J5KXJH1N,s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15.b!_UTqr;Zg/qu?^1r;Zt_gBpR7qX4I9.\QhE":#28q#CR!#Rh.K !eC?&!<)uuo)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt+!p[&(,OB!4L!"8oA-9=k0G)Dls`S0SO lO)Rm[%<%l>!stZ"G$Q(!;QWpmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15+a!]\D%rVus"%fHA-&cMb5)sDHZmJ?8PaW7D^!s/W/!VcWs":,8: JH16$nc8^]!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtSNp[&(,OAm.R!"08\2+_+oL7,0\e`Z\m $L$$SW02O=:,jF+JH16$mK!:U!Qn\u~> !H%l+o)[;>_".TTs8MTjk15(`#:RW0!<<*-!r`0"&,lP1LZ=TomfC!4[/^7/!Wi#q!s&Q/!eC?& !9X@^o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt>_JX3=LdH1&e$K&t3 S;(rb67`lSJH16$j8f5K!Qn\u~> !H%l+o)[;>_".TTs8MTjk15(`#65^SMZa"[%/p51%0-ACk0Wqm!N6==!!!&m!!*-'JH16$gAq9F !S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`rrXJ?:*"p=o+$ig9bmeQ;PPQ\Pt!!.WNJH4$ss769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`rW!<3R^a79#ljr4!'BWEmf@e:JH16$LB.AG!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt[o'6YF d_)E;H"'E(*smJuJH3Ugs6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`r;[-+L<(kI"TS`bjneEHm:1\IJH1B(s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrte$J`Y* RY,EW5Ud?JJH16$\cDd!!Qn\u~> !H%l+o)[;>_".TTs8MTjk15(`qZ%.Ge3=!7!!+3Mm-jE,[sAg@!.b-'!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`q>^Or-i !Ik( !F>`pmfC6(_!_<>s8MHfgru5f!&"6N!41be!>snps8Tk7h"^::m/H;Nk4e0LlJ':\R"B*Q4t%$E JH16$V#^Pa!Qn\u~> !H%l+o)[;>_".TTs8MTjk16"%!&"6N!41G\!Hk71!!"X&!.b-2!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgru5f!3lG&!42=u!!;]k!(-M]!6"d%s6TUJ$esdh\YG+,?V*!m#Cul+ !1EofmfCR:J,~> !H%l+o)[;>_".TTs8MTjk16"%!3lG&!42=u!!;Bb!3Ykm!3h"SJH1`2s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgruDk-6&MQVC'T_U&_TPZ<.)GSYi82!4IZUQ):WH!!'E[VPt[WSYi9! rr3f%i8X4ae)0QZm-EBXe@q9-]",1;c_@.b!.b-4!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk161*-6&MQVC'T_U&_TPZ<.)GSYi82!4IZUQ):WH!!'E[VPt[WSYi82 rW!.4X.WOgcAVW$%(1hq=9';2VPY]cU8!2=JH1f4s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgruDk"d^V;)P+,3!$/on#dFAr-ib0V!5fr[$igg`Y0H7nH#dFAr-ib0VY^le*!07-[mfCR:J,~> !H%l+o)[;>_".TTs8MTjk161*"d^V;)P+,3!$/on#dFAr-ib0V!5fr[$igg !Ik( !F>`pmfC6(_!_<>s8MHfgruDk!5/<*!N31$!!T_0!3cI9rh9du!4Dk-8"lZk!!'Y1!!0F=rh9_$ lMpnVjQ#jMZMX\+ZiC*1!5/<*!N3/Q!.b-2!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk161*!5/<*!N31$!!T_0!3cI9rh9du!4Dk-8"lZk!!'Y1!!0F=rh9Cj rW!*\PFFi !Ik( !F>`pmfC6(_!_<>s8MHfgruDk!M:G4!!';'!!]b0!3cHq*rQ'LZN(!6#nXfN!5g>f.@d"OrW!3] qu?WprS9!.qu?r-!!'5'T-!t3!3q(TJH1`2s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk161*!M:G4!!';'!!]b0!3cHq*rQ'LZN(!6#nXfN!5g>f.@d"OqZ$d) !"#q2Yl"J5ZN(!0!1t;4!!fnF'GV>u(CboqJH1u9s769BD1D~> !Ik(.dcSo,CoiG!.t:OpAs9&J,~> !F>`pmfC6(_!_<>s8MHfgruDk5p`P-NsfurOT;]f!3cGLWhkaa!4)Y*E3"f$!!'EXV5YUaWhkaa !18;ge\>r$YQ+ZX!!'>*!3cGLWhkaaEg`&@!.b-4!<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk161*5p`P-NsfurOT;]f!3cGLWhkaa!4)Y*E3"f$!!'EXV5YUaWhkaa !/:K:USV&mYQ+ZX!!'>*!3cGLWhkaaEg`'g!!s#N)B0V9*?GamJH16$T)eo_!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtBN!42=u!=oHe!.b-$!;ccrmfCR:J,~> !H%l+o)[;>_".TTs8MTjk15.b!41)R$3:YZ+X&'T,U3s'JH16$VZ?bg!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtBN!4.4VJH16$m/[1T!Qn\u~> !H%l+o)[;>_".TTs8MTjk15.b!40fJ$3Cke-n-Sq.ju,7JH16$Y5nUo!S2+<~> !Ik(@U?q:&Ba0+gJH1N,s7ZQRIXh~> !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`_Z1#H(b76m0ekF7(^,BiJH3.Zs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`])W0C*&0?12`NfN)?t`mJH3Fbs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`ZN(=?+Z;JH5 !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`X8iV/%ja;)77B[72'33W!.b-r!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`U]:c('.H.=92/,Q2^/]^!.b.%!<;Wkenop~> !Ik( !F>`pmfUB*n,NCU$1Rcis8DZ[n,NCbmfWFdn*g5T!W2HEmfC6(rpKmCb^fbF!.b-$!:BjemfCR: J,~> !H%l+o)mG@oDeg]$2+2ps8D]`oDegfo)o!loCMt]!ri)hhX^crs8MTjk15(`S,`s#(bS0Q;c?Xj 3@,4;JH16$huNfK!S2+<~> !Ik( !F>`pmh*A8n,MkFnGW+On+$2An,N1XrpL3arr;HUs6oFGpANk:!Pna7mfD4fJH16$JH16$mK!:U !Qn\u~> !H%l+o+BFNoDeFRo`"XXoC`"PoDeg`rppKjrr;T]s7>jSqY]4A!Rh#Io)\")JH1o7$jRe.86K,# >Z!U2&cmO`JH4m6s769BD1D~> !Ik( !F>`pmg$Z.n,MkFp&"US!rqfirpL$cq>]pPs8DBds5*2F_#OE&!SknM!.b-$!.b. !H%l+o*<_DoDeFRr:p-[!rqumrppJdf9= !Ik( !F>`pmg$Z.n,MkFr:9^Q$if\lp@%MMn,MkFs8DBds5*2F_#OE&!SknM!.b-$!.b. !H%l+o*<_DoDeFRrq-'Y$ifhtp%.kUoDeFRs8DNhs5*>Jdf9= !Ik(jmab'_!.b-< !<;coidQC~> !F>`pmfpT-n,MkFs7u*ps6oLVn+QVHs6oFVn*fc>rnd)E_#OE&!SknM!.b-$!.b. !H%l+o*3YCoDeFRs7u6ts7?!_oDSFTs7>j^oCMVNr8.#Gdf9= !Ik( s7ZQRIXh~> !F>`pmg$Z.n,MkFr:9^Q$NKS`r:U*Zn,MkFrVloqo%rg9_#OE&!SknM!.b-$!.b. !H%l+o*<_DoDeFRrq-'Y$NK_hrq69^oDeFRrr3'!qt/b:!Rh#Io)\")JH16$o`,F((bS3[E-?GF >XpLh#_;u3!<;Wkenop~> !Ik( !F>`pmg$Z.n,MkFp&"US$if\ao)JUUn,MkFs4QiA_#OE&!SknM!.b-$!.b. !H%l+o*<_DoDeFRr:p-[$ifhiq#C-\oDeFRs4QuEdf9= !Ik( !F>`pmgm56n,MkFnGW+Nn+$2An,N7Q"97iYs4QiA_#OE&!SknM!.b-$!.b. !H%l+o+0:LoDeFRo`"XXoC`"PoDe[Y"97uas4QuEdf9= !Ik( !F>`pmfUB*n,NCU#k7Zhs8DZ[n,N7Q"97iYs4QiA_#OE&!SknM!.b-$!.b. !H%l+o)mG@oDeg]#ke)os8D]`oDe[Y"97uas4QuEdf9= !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH47$%g!Fp5?;TPP)k!';*63=!J(6M!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3sq%g3b&6sFVbR$2u5;a2]G"+^HW!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3[i%gO+28RHUuSsFqD=$\AR"G$Q`!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3Ca%gsO>9k8R2UR6^P>!jq]"nr!!%Q,[;JH4!rs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3.Z(BG'n4&K[?Pbsq)EEksf*!ZHTXoJB,"G$R"!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH2kR$3Cnk5ZV]QR&Z`drr3#s-@l0D!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3"V!&!sF!Ws !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3"V!3l(q"gbuDs)&)1!!'8&!!'@q!!'A"!!'6U!<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3mo$=g-0=)9u&cR]Zsr;[nHKVk^kQ):WH!7%=5)kEk'-31H. Z<.+PVm1]PTND'l$+5Mn=9'M@VktX:!$':YU&_TPZ<.*lVQ;r]!4@Qe=9&?-!'cT]X.WPn!"I5J U)ou)Ta_"0KVk^kO9#=P!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt9qZ$r>(^RAHSh0pnSc/ThYl4V<_AEQ`!"8i !H%l+o)[;>_".TTs8MTjk15(`JH3mo$F:6C!&epTQ=9qZ$r>(^RAHSh0pnSc/ThYl4V<_AEQ`!"8i !Ik(aE++XEC!4Dn-pAs9&J,~> !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3mo$9+0<5mF0#0T^c8r;Zi0rW!828"lZk!3cG']`+W7VZ=(( !3cI-!!"sARmHuQ"ge70YQ2-2!!'D*!!'8&!#W'C!3cGnTq]7$!42_+YQ+[8]Fk3'PFFl;!!BG* !4Vk+!5&41!4.aes769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtF/-%,h[L!MZ!3lM(T-!q2$aTg5 YQ1p.!!`K1ZMab0ZN(!0!1thC/=uh@!3uM'(pa2BYQ2*<&AA,EZN(!0!!'>VUCd_2$*sO1"L.q, RkajA"N)bj.@cJ"s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`JH3mo$3pP;Z2gMh!L'Pcr;[>F/-%,h[L!MZ!3lM(T-!q2$aTg5 YQ1p.!!`K1ZMab0ZN(!0!1thC/=uh@!3uM'(pa2BYQ2*<&AA,EZN(!0!!'>VUCd_2$*sO1"L.q, RkajA"N)bj.@cJ"s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3moCm(Qi=9*0&!,7f#!/:IR[=P0R+`OK !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3@`!4/X)!4.Uas769BD1D~> !Ik(JH3Cas7ZQRIXh~> !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH3@`!4/X)!4.Uas769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik(*KZi9@o_+=ZY!.b.$!<;coidQC~> !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik(AgV!OY%@!.b.)!<;coidQC~> !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrtXE;&=fPc&,lS/U&h+4qu@$tYHLS!+f;-$% I=',ZN(!@U7tZg!!S.TQO]UaX?5DA!Hk7/!!%c;!!"X&!4`+0mfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`gAh5[oDekDrVuu#_>XE;&=fPc&,lS/U&h+4qu@$tYHLS!+f;-$% I=',ZN(!@U7tZg!!S.TQO]UaX?5DA!Hk7/!!%c;!!"X&!4`+0o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`gAh5[oDelqrVus1Yl4V*I7=3(HMdaD3e[D2$+('JYlL@G!%N6[ !!BP-!42S'!GP1*!!=2@'!C3o!3XlQ!3h"S\H)[$!S2+<~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`gAhnpJ[/AX+f2*6+_.RG=3dP7!!'8&!!KM/!!9;#!!.a6qu?nh 'c!)9[f-7,VYgE;[=kEV+ !Ik(=]!.b.1!<;coidQC~> !F>`pmfC6(_!_<>s8MHfgrt$!X,q5qu@$S ]tQ#tQTkI5_#+0U_^tj=S";23/=i@a!%aZ@ZN't9!'Z_L!5Ul"4d5pHK2):E(:+MO!1kbB/=cdX )@4S'#d+/o-ib0Vr;[81!!'>*!3cG'_AEQ`qu?i*!4*48!!L1k!%XQ;!"-R[#dFAr-ib0VY^leb !<;Kgb$BM~> !H%l+o)[;>_".TTs8MTjk15(`gAh`#(^RAHSh0pnS[/h,!3lD%!3lG&!4)S(!3c>$!X,q5qu@$S ]tQ#tQTkI5_#+0U_^tj=S";23/=i@a!%aZ@ZN't9!'Z_L!5Ul"4d5pHK2):E(:+MO!1kbB/=cdX )@4S'#d+/o-ib0Vr;[81!!'>*!3cG'_AEQ`qu?i*!4*48!!L1k!%XQ;!"-R[#dFAr-ib0VY^leb !<;Wkenop~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt#&O([E!2?2* !2LAGUAu-rVKeg4!!'Y1!!0F7rVuu+[f-7.ZiIH1!!BS.!36"u"1/&:GPhFD2j9^s[f-76ZiIH5 !3lM(YQ2?8U&_+i!"?(3!4)Y*YlFd2!!'8$!!fh12j9^s!5&41!42V("ge70YQ2?8U&h0rJH34\ s6g!2?%;~> !H%l+o)[;>_".TTs8MTjk15(`gAhDa!!'5'[f-71Zo=2<6*U:f!3lG&"L%t.!j)>#&O([E!2?2* !2LAGUAu-rVKeg4!!'Y1!!0F7rVuu+[f-7.ZiIH1!!BS.!36"u"1/&:GPhFD2j9^s[f-76ZiIH5 !3lM(YQ2?8U&_+i!"?(3!4)Y*YlFd2!!'8$!!fh12j9^s!5&41!42V("ge70YQ2?8U&h0rJH34\ s769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrtnT.L$oScH(s!!N?PUAt:>.f_&k8rs)O!##S;$*p0T!%a]AZN(!0 !!'5'T-!h/%'T^3YmM8_!!'>*!3lA$$aTg3!!'9T!4`+0mfCR: J,~> !H%l+o)[;>_".TTs8MTjk15(`gAh_i!!'5'T.L$oSd,6%ZEa?.!3lG&"F`Z;5^WG0!JiW1!!BG5 $aKX1!DQ\o!$K01!%FG1/H@>nT.L$oScH(s!!N?PUAt:>.f_&k8rs)O!##S;$*p0T!%a]AZN(!0 !!'5'T-!h/%'T^3YmM8_!!'>*!3lA$$aTg3!!'9T!4`+0o)[EZ J,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt3!W)j& 9X(`q!19ROB`8!PL&_4]JYf=h,GqB9,9s(`VBZ)I!!&4ZXt'JP&!a#j,LWQcP5kT;!0X+R=*P,"jU!4@BSW?D7r!!'>*!3cGL WhkaaEg`&@!4r72mfCR:J,~> !H%l+o)[;>_".TTs8MTjk15(`gAi2!!!'5',GqB9,Eegu=E9gl!2%N.T)]LpURMho!!3>3!W)j& 9X(`q!19ROB`8!PL&_4]JYf=h,GqB9,9s(`VBZ)I!!&4ZXt'JP&!a#j,LWQcP5kT;!0X+R=*P,"jU!4@BSW?D7r!!'>*!3cGL WhkaaEg`&@!4r72o)[EZJ,~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`U]:D$VuQh(JH2PIs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`U]:D$VuQh(JH2PIs769BD1D~> !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pmfC6(_!_<>s8MHfgrt !H%l+o)[;>_".TTs8MTjk15(`JH16$JH5* !Ik( !F>`pn%HL:s8MHfgrt !H%l+o=`QPs8MTjk15(`JH16$JH5* !Ik( !F>`on%Si#mfD4fJH16$JH16$mK!:U!Qn\u~> !H%l*o=k8'o)\")JH16$JH16$mK!:Y!S2+<~> !Ik(;pV-\+pAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`(mfD4fJH16$JH16$mK!:U!Qn\u~> !H%k8o)\")JH16$JH16$mK!:Y!S2+<~> !Ik'IpAsL1JH16$JH16$mK!:]!TJQY~> !F>`un$CdLb^fbF!.b-$!:BjemfCR:J,~> !H%l0o<[QZeq!gP!.b-$!:Bjeo)[EZJ,~> !Ik(ApTs&`fRX$R!.b-$!:BjepAs9&J,~> "'trqn+XW(bQ.*_!.b-$!.b. ")\)0oCp\>ec>;m!.b-$!.b. "+L:EpSldFpON "'trqmt&]6b^muhbbr\PmfCR:J,~> ")\)0o7>JDeq)D'eu.*do)[EZJ,~> "+L:EpOUtJfR_\+fVdBhpAs9&J,~> "'trqmt(Lis+13$s/5namfCR:J,~> ")\)0o7?pms+13$s/5nao)[EZJ,~> "+L:EpOW?qs+13$s/5napAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>`Qmf3?=mt'qYmt'rEmfCR:J,~> !H%kao)JcAo7?Lao7?MMo)[EZJ,~> !Ik'rpAb2EpOW'ipOW(UpAs9&J,~> !F>`Qmf3?=mt'qYmt'rEmfCR:J,~> !H%kao)JcAo7?Lao7?MMo)[EZJ,~> !Ik'rpAb2EpOW'ipOW(UpAs9&J,~> !F>a'n,<:g#<9]Xmf3?=mt'qYmt'rHmfXBon&epd~> !H%l7oDS^k$Vfj?o)JcAo7?Lao7?MPo)t$Do@@c/~> !Ik(Hp\k-o'P[-npAb2EpOW'ipOW(XpB8b8pYpXP~> !F>a'mf`^[n)]3 !H%l7o*#-coAEh3h"(LGJb+HaJb+Ha`q'@mDY*JND1D~> !Ik(HpB:QkpXUgSh"LdKJbO`iJbO`i`qKY]U\FNBIXh~> !F>a'mf3@emgJF`n)@ae!\D1Vmf<=T#6=5]dPqIEDuT26OWO]cf'i(qH4UEf!.jTimt'qYn&Ons 'a+^/n&epd~> !H%l7o)Jdio*ageo@HJ>"[M8Bo)Sa\(BF'uX=+2lOn828D\ECQmITr==pYgi!.j`mo7?Lao>gJ& N!+%io@@c/~> !Ik(HpAb3mpC#FapVSck$XE8spAk0d(BF4(L`HRL]_D0j<"':Wo_8+D5Qr71!.jlqpOW'ipW*%. bljg9pYpXP~> !F>a'mf3@emgJF`mh)/Pl^Jg]mf<=T(BEpm-%kC)TV-',4G!-)U7Db!.jTimt'qYn&Xts 'a+^/n&epd~> !H%l7o)Jdio*ajfo-Cm6l?#;_o)Sa\(BF'u$F'!O@Is)76egj7pP& N!+%io@@c/~> !Ik(HpAb3mpC#IapHm-sjZB%-pAk0d(BF4("j?P^488J.FQqd9XS;H?GjX!!!.jlqpOW'ipW3+. bljg9pYpXP~> !F>a'mf`^[n)fEAr9jdU"n1m[rU0min*`&PbPgl=407o>lNQbG1T9d2kQ$2&Ja\0YJa^_Lr=oG= n*eD)J,~> !H%l7o*#-coAO%5r::'Z$M3ihrUU0moCEBSg&:LO%cd0Pl3d.S%-$mMiW+Q$Jb+HaJb."TrJUks oCLOMJ,~> !Ik(HpB:QkpXh!Sr:^?S-MR67rV$Hqp\+lkk5G#`#OhE]d44nb#4M<\WrR_FJbO`iJbR:\rQPJ? p\3ZrJ,~> !F>a'n,<:q"uakmfhqSmf3?=mt'qYmt'rMn,*n' "n1p&?%;~> !H%l7oDS^u$;9OQ]f-8u!!2]_!<)Kr!;#g!8/!)CoCE%^!!iVso)\FRoC2g3o7?Lao7?MUoDFOM DY*JND1D~> !Ik(Hp\k.$&n^\.R48C@!!;oh!<)X!!;H5_4:*dpp\+^e!!<8rpAt9f!Ug#>pOW'ipOW(]p\`8= U\FNBIXh~> !F>a'mf3@bmgV(%h!OG.n*^PAn*fQBr9jg3"n1n<])1q"1TBj3kQ$2&Ja\0YJa^eNr"]58s6g!2 ?%;~> !H%l7o)Jdfo*l,+kOS!?oCE%QoCM5Ir::*#$M3iukPOiS%-$mMiW+Q$Jb+HaJb.(Vr/CYns769B D1D~> !Ik(HpAb3jpC.>Cme>K:p\+^^p\3#7rV$NiO=Bqu#P%]c"U=GipT4FHpOW'ipOW(^p\`;9U]:&h idQC~> !F>a'mf3@bmj'37lJ[3mn*ad\jl1Xfn*`$BlcTJ#n%BXTm+$+En$3nYk]HlVmt'qYmt'rOn,*q" "on#lb$BM~> !H%l7o)Jdfo-=[Kn_..HoCEoYn(Ub@oCH#-n[Jqto6NmUn]Fo(o41AOi^Eiuo7?Lao7?MWoDFRH DZB;/enop~> !Ik(HpAb3jpETpep!5&ep\,-'p!4l`p\/jgnrP3mpH!BVn[p[PpF:RZef+U?pOW'ipOW(_p\`;8 U]:&hidQC~> !F>a'mf3@bmhF,$!teuBn*f4$#7tVMn*dqI!ucjlmgPa8"WDmZn*Y?/$!I=[mt'qYmt'rPn,!k! "on#lb$BM~> !H%l7o)Jdfo-C1S!?-UkoCL9[!um1!oCJP"""15BoC@>N""Bi5oC#`d&UaY1o7?Lao7?MXoD=LG DZB;/enop~> !Ik(HpAb3jpEY5%![k5Qp\1F(""Le\p\04S#!(E3p[_o.#!9fupZ=XB*if9lpOW'ipOW(`p\W57 U]:&hidQC~> !F>_Vmt'qYmt'qun,*pu"on#lb$BM~> !H%jfo7?Lao7?M(oDFRFDZB;/enop~> !Ik'"pOW'ipOW(0p\`;6U]:&hidQC~> !F>_Vmt'qYmt'r!n,F-t"on#lb$BM~> !H%jfo7?Lao7?M)oDadEDZB;/enop~> !Ik'"pOW'ipOW(1p]&M5U]:&hidQC~> !F>_Vmt'qYmt'r"n+?kamfCR:J,~> !H%jfo7?Lao7?M*oC[#$o)[EZJ,~> !Ik'"pOW'ipOW(2p[t<]pAs9&J,~> !F>_Vmt'qYmt'r#n+?he(%:V6?%;~> !H%jfo7?Lao7?M+oCZu(N:ZYlD1D~> !Ik'"pOW'ipOW(3p[t9ac1gtlIXh~> !F>_Vmt'qYmt'r$n+?ka('!_'b$BM~> !H%jfo7?Lao7?M,oC[#$N;rJMenop~> !Ik'"pOW'ipOW(4p[t<]c2[M=idQC~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vmt'qYmt'qimfCR:J,~> !H%jfo7?Lao7?Lqo)[EZJ,~> !Ik'"pOW'ipOW($pAs9&J,~> !F>_Vb(7]db(7]saoG^t~> !H%jfeq)D'eq)D6ec9Q;~> !Ik'"idp*?idp*NiW+FX~> JR*h4JR*h4NEq&~> JSfsTJSfsTNGX1~> JUW0!JUW0!NIHB~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/pref_timings_dlg.png0000644000175000017500000007317314016714367016761 00000000000000PNG  IHDRQFsBIT|dtEXtSoftwaregnome-screenshot> IDATxwx$^H!Ћ4i"T EQP,]EE@ 5{6, I681{Ν3{v&RA!E4k[B!jl2h!5h2Ww?BI(Br\Q !Eɝz+JQ}&Nb似i**iǠUay5LJ1ddz -Wg]`&zHgY2Gߛ1u@*gp@hl[u)Bv 1l;es|/ė`',6} <7#Ji_fɝuxrSTEOvй u=¾%7EK ~鼱`/XJր5A uN뢗+m{7v54#g7\4oAS8s6-爳%MuOn=eٶiɝu\wQ炳uz{REQJbIS%7%{+EAQNζxomRfv Ek1X]yTj#+\՘̈́Mad2sxpR#U\^ǙQ;NExhOK6"\]PLu0 ϶WiSc]k1;_Ŕ8v)ƻ]\l_? ]~m<9 u3pl#lEJɘJƶmw4'Qcs[?B\ t`1YdXK92;ZXI4q!:O. e'yszc|ruyebOWgQI]lByB6ɩ:JhnBj}2il9\QE)4S`fng ߉NGh}-9oH#Òo[Q[:#8NjyAjbLiɗe64@bS 0,n4pk/+H(M/\8GZZ:hܸi&Iyބ򮊼L+3S.r'p_z#/NΣKCxA@s(;NNcdB^7Ɲu(!/ƃ]qfvnS䌛dUT{i_wGtvE b4)g:. "'<:#9V]N< -:,óq_q=4bԸ?Y/[7.UR3=DRy7v ^" mԳk6>0sXl7OVެWt%A>P-ͶψzM` C0hrqί$A[ ZMײ#oƪ(G d%w 鉳W&6!pq]Q>yP0A+ :ഄHKˠaÆ?4 5(ZN of?8nZt 9ɏq<5^LI C=lӢ*//Ue' "'ӟ-hrz[B 99_mL>l '- haoKױS9sAx]CW/UjǦ;ƷaBcR;jj&9&?~͓C=}߬T:4N:M_H mim# gʣD1N7L{7|I.7Jƭ<}t F\FF\L㷿غ\/nC˫Xا)}E@O[j NZ&~4CQ"/FVU+ .A˖ ս=q;gŻը('y3gq6.zr`ͽ(f^yB>,{;᩸!րFM޶nֶoa>6.Z mj蜮tܒ R3v* :@OЙ4bOW?_mWn;~vl6F`Am]h{|hz+E?x騿Dv-iڲ5]Щ;%Q^nj&.iuxbͥ`5GVV|.HJJJ] m'nPiqz!'יVj̣JmSc@Uʷ49"J%slv"t`(N̬˭SWڼ\g-$3fۊNֶG} @VBYbvhNryeؼIE+nJ۟BoTR׭oZ\GD|2;W4p 3>T۩M zvO!).c'Ogo^Ltuy˖Mm_V-P)oJTEߧOj7iZɄN+x(W×I ڳQԳ&}SdzX QjtZu>=لiM=ycnBJZ.Ԍ:'_ՎcPՒI7f_Wȱ^kW;I6tI\L{AZ XswwS}tcB磽\1Wh Jmu+qZ$sO om/%F/={kq̛q P 4X-|l#@7g^.-uFe+(/_hOTDկOf힤1DŽh+ʛPx1 ]8v75]pK`wU}f/Ҩj5n4j~!HÏԟ-jaJO!a&CNY@^9K-dC e_@%9fGz>Yr/튡hR' N$sxE]i]JuԯVGF Oӓؿ_ (q;#bgiiV'GvޢLS M7 7$<;֟7$\QLiio;v)!FCZZ**l>V;bqfQ_ܝcE?5PFY3 #9 C/wmOu&&+ZcmWK=';mX5Z© '$%1 h8q zm|1ʡ4=[7Pa1H{#aצtn\s Dzh]{^;cŖ+nJ۟?`Cv8l+R13̞3 旅qҪQoGG$3={-t`7Yܐ^!X0 CqeTODŤX8z X,Ȉh$++Sg9b$k-i[0:y9C\Iq ?zԫŌdBF)4:I4-..~Tq(rlF-TwRw*+:I:~n2s)F!H7Jjzv%BsL/ !E) Ba:~r~V!irsI-!BX5$g̹ !Cu?BjעMBˊ_@PvF!I/+?2*B8 R!p@B$J!IB!(B$Q !HB!D)B8 R!p@B@L?lLZ]i1;'e6ի/E bU5NxzҠQc1(Kk81j}h޴1 jmUv؛A@H]L2.u`pd:VK*▞Ҙ9F^')'nچzsoǬMfhw043ٗH' Q2?_@{ EՊ^0Ql#l5iΛ]ۢ<4SmFR7 PKz_1Y@=q٤dS%LXPxsՖNɊZG.17䟸lNKA'r?4V-Zz[o"l 3w~ xX:E9WvưgF}7z$`h.H=9t-`t*?^H׵<Gݎ=}۴KS")8; Uj'R"32ieHbWTF2?cޛtl^_O'Fg`t.I!DU)-LTzj֥s0Z}ſ P Rq4ڙЮ-uՓ@:^t풻U_Im_܂[2Kky1gIQ/): ډ=S'8"b1xrK44~TyZ/9\I3hӈ.\rkj/KN OOMxWmZ&֥kϬr=Sw O ή qR?xyy挓?~kgɶqrrrv3LW]yQחl}Ly&*+RMhZ@UCrz60Oeg\kBNj2L4n]~5ݡW㻠vnOlJGP7"Q})1&T>iҬ9^5!iӂ]XW:j'wwc4v{BT"Qz6ͪBTFI !DB$J!IB!(B$Q !HB!D)B8 R!p!ҥB BxrE)B8Pek!*(;p]\(;tu-!Dݭ{p߰"\.SB!(B$Q !HB!D)B8 R!pJ~:Ə7p=ٔ]iEyenf|}]+֫bCtf[STyu-+!j2S)1 Jŕ6h4&Y`yqWzgZ޾8iѹ t$v]t,VwӋѤţ_&/ *i'72neOv\[n<UqLK (v}O6_džy늲ٷ~,wǿ~1󿲯;j M5Ijs'}-~aKp" nEpZ;O^f% O*!@ԯK>A- ,+q+nTj v8׽K]UɰXܡ}UEQ61PoO~_?J~st(|_ΐT"R)#JY02{Wto1%)oM5yjVKyh͟ɪ('~QU>HU,=+EQbmPz^^mbX*&7G(rp8e~Cz)nT2b+mRNd}JnKn12>,T,:\Z!y5.,T:JUQk|t{lCY~1[s\ƆY۳ӞҲsIʁsJq4v֒UC1jZ xΉlL!3v--MX2 jhQ'Vw[\{y>;@' r%CtZI KwMF]6h,ʊ5?%=0UZ2AK}vQ}ڀDZȲ*x5AgogwS]P)Â9-a;~+l[myyy8Ɍ]˿`VLVMBX߼{صgQbA0K& Z+q+iȎ.'>gW:,P(no^ IDAT+ qFۉɁrkEχF?: P>(i,J{z~L¿ y~'*ňV"%Dق)4z\"(ĽPFX\{y+Sos{>ۭ9x ifjN⎱w) ]ocz]ˬzI>N^XlD!.WyD8lF{nJǔu k4_[O6b:޵CZ "K{\nw8^98)F(^050iF=ؒV_Oʟh0eT8>yJ=/h\4X2ma;.ek,J{J3>ReN#'}+~ï>c]o CQ@cgӠ8hR49vsqlX\7uu1nw”Od}شCǧLww&3~Ţ`O Rp@s#3E퍨tfؓ+XT^}tj g%组NTPge>SmUDYǧ&ƆP·yBVzlf } [Pk}h@_3.ZNQ,;pګ n{yHya_I5YA1wJ*U;GcUкyG܏%8~I hEY#o8{I:+szN~hk/eqog2pUbUA||Zr-=h23O}#}\+|(NeUeB@9(1*5N.nД>bBbjM0f$ƽ~(Cr_dTjV~,|+kه}ګ j7/Ml /k`%T:7!o1%y,JA~-#_bU3o~n: F=ۦh!<5:0o 砽O0i>x%]AzVmyu/GLZ_D'<݇F3`n^y7-@ǵχTf[R񩉱!@9 /7gԶ{W7o2o'!uŵs~UB*nLk\:PrnIl.ZMX5$g\yGܞ_lՋz|YÿOXU>OUSznIlZezf=L= Ϭ&CFͩ29E1oڗe_F*z!bQm8߿þq-q/D1WN^kXs9yn*6K^^Mz{u_qפ>ȚKw{ʪƵ}դ!Z]+Jl$;;jhVP 7M{+73k]K^jY>oo@c̱ŵrZ^wMg ug9q...t}v0gѰw노֜(2k{!WG)=qc՘^BHB$J!IB!(B$Q !)Q,KUEJaXh4./q-ekQyʔ(]IKIQ)R0ĵ5E)S Ry,fsUG DEǿvpH\"B8 R!p@B$J!IB!(B$Q !HB!D)B8 R!p@B@H'?ʈ'WzSbCbv[}ƐƬ8( Cv:%72'J1v]:be?6۞?TND#hHPM]]^ }pCէ2O/M*W]c~VއVU|9vs1]FZ^ !S_J؈֥9.Ip,s- &v'Soqْ]ߢ3³Lu߻mUF[PB2~OUdPU9 mڹSe棨 6_DB(e?p f7ֶP1Cb6B^l LLHcՍbwc|+##Ca{1EgyZ^^ne^#flz@̞czn>&i|֏2ctz?EkQ߷oO2ӡ fؘTzn5a&bT +/5g w޿qO=2Gut=Rc*xeN/֔.؇ITŅӜ{W]*71]za} +ⳍ|2k'upC2 _]?1)>a6]ʠ.mD@w|f϶Nřl2W7K۳UhwQ'rV&U޽ fl= ^$c_aY|OW{mxh̹:jR;BQ*eN?K'd@~m"'C.E`*̙GY{P ƒ}97jc Y'yp)R0[I9Q|#Ȉڮ{(Fwyv ] !G]l]꼼MB9A 39$2,VTZtjU~ OϤR)9F<7!S{5sx-ޛA*VKb<خfN|]4ut,nI:f1\ǖ~6^+yTr>e%:?zz ,>!' k_wxB,͒}#YnP{BmwNZsY; Xؓq(c5'p"s>Υ3x!a]Ŏҡ[ML2;'LZMJnIG (Pgi6-8չB1ϗh|T-/Jݧ31}?ъ7zVL4Х.8a}r#NWFOG[ٜͻ.˛=ƒtͳߏ`͸7QOTu}>O٧ ozG^SNgR`{H<6vd\(,v]xyp0-1㲰d'YLaPwێFǟ0fphV}!(|t),3n3.Q3g13`ϕ8J0hkVK V3[ߟ,3ڮRV_Ml{j!)JvޅQAlj,SuMxd= !(2]QFx6ֻuV6$Z-7!Mf3<2v*'t_=V ᡾0북umiKZue8>pqYV\}co'S ~RbwƳÅJ܄γ'^ԩٚ͛K샣}S4f2|25:W3uiT>C2e@t:i ª 1ۊgC-f^E罭x"~]l kLߢUSB!Gu 兗3Nj t] +rre".Mظt7{wksڿw-t Ǫ!9=]QA>nubǗ4? 6BEW!D)B8 R!p@B$J!IB!(B$Q !HB!rf^|u-7) ϧn-DYUZ|jpvJ.{lkytt/5O^ܕ.0urNe>՟nd;ڃpnj9b__>U4sy Q^KslCNf2e/1@_@Qc*ss(V#*t7# ͚Otbʾ\f53i2:}nSN qeQ*^J:Rh4}iso}w\~~cG G0ɚvR=ӽ~߻'~XԩSm߻'kv|]cӥ~GY0NBC{1%\69Kq3ȋ_LBʩ@GG>Ȋl烓9eirm,#ayC,7}?{ܾQcRxx:iqu!a;+| 03`$e}/M!Łsʹ$%)-KHW23ҕ}{v*E)n(ʓz+/|ʔ EQ{TTEQ~fr1!CQrdJ}۔DEZ2i}{*Om8XE;E 롌y툽qaʠ?S2-VEQ,+?w pTճ2mC?Ŕ?PՙbMǯŔ5e-7%[_/5*&ğE#T,"UQEJ+⸼դ<:2-JѢXʑ=J<򳘓aʤ+uHN)T>*syOҹ%2ݤ($_:a,}wk}{v`RZr.:I9~Ny;kɊ*N!5w=ڑ_,%CWZ;fjzvoi1C%sDXX,ғ8g3s,VLUbCY}T#h:3F÷wЎ'^chG N^(UyZˬ&lj_Jf9~!,3|?a/suK:._v6~?AUA捷VUb=GM!Jc:8RAS[Ȋ  3Ԛ#a̘Iԫ{Px;Rxdt_i^>,ȧsl*3o~n: F=n3w?1PBEkyo/]KϽ~/΅&kS}::>ڧ<S/‹:/Rb=TbQB\k///ܜqRGOn ޿wW˫ڦ)Cv*>Ro[!jz Y߻mlX5$g\35nϯ\ȝ:KOg1 BW#!Kì疒iVP3ՄyoCBqcD@ltX%?V^:yqq| ٿW>(Vkpus?(OorQi+DUFSiRyb Oo4Me5-HIJ1'Vub gHOve/[=$~m*jUJLIJ$!.m:\qh4xEEOWTįz0OlE6QZ-uU:(OW)2#=OhJ &39'+jƯz(V j#jFRq$~EMRUF~R!)$Q !HB!D)B8 R!p@B@I.Mpֻܴ3+/YQ,3A-j쩨Jgݍ2pƯpF|I䦇 U?{(ξiY;q9]%,{UcV#3f kafhNfy6h|<>3W_%+čڧ^Y':.<7 "f_1ZjxR}m. a'+čگ(Yx-;GQOuw}8f(c4*?한(OY^˖MUܓrkї$~ŵVW}},Mkpkzp+x^'rIW__QUJueYװr&8U>m_8jһ۫N&k&tT7%ȹɧy=4xm{cڴ7˱x|33<ֵ-H qz-ҥ{˻׏l< c+ɣƐVS*' Woek,_׶[Bį7(#vLT#^BJB$J!IB!(B$Q !TJT5X,hJ X,h4R5IYWTJIn$UFSBTXZJWR5IYWTJIA\8l(7LTykį)UJ˷#)!^5gIN񫅧OJVUҾ®vEٓb#)F͝ B(NjįN_Q*^=},OBCB$Q !HB!D)B8PyUB!j2%zUU?BI^B$Q !HB!D)B8 R!p@B$J!IB!(B$Q !HB!D9O/6$f촾XuMyC~% ۵B܄!t5wA[W IDATJ0˩v(fJ/gbfNֳsRoZҧ}31u?weA*o!L!DU(sJ؈%pPi?RG<425m:L4m_j*ZmyXs(K{ގ9 mڹ1n2QT k[B!+eHCZ亘==~v>HqjFMĨ@V_<9k2aУ@qcz~5ձ!e638{2BQeN?ES-E}Cftk>/feFл>yl8Nכη܏)M2h80mnDvnܷ/֬֩8s2MfOfi{ֿ^bd~bjS}b'{W]*71]za;3$NV&U޽ fl= ^$co㢨?e9w 45԰L#5Ӵ<2MK+,#+-,,7.#P#Lż{P@X y=}g|w ? >+40ҲN*Y9ݼR3ѸBOѹ*U눿ƤC \6Onk;#;sߣRŸ7P;XCӧ0!~vȾ봜N ϣ}Tj=NpOc~,45R{c͐r hw3` _ d5-Y Fw.t?7F6Igi QY5J!e{ z̫ @+k޵G2vZy+& ,)5߳mflHk޹_dZoʉhx~`3f8?a1hRcއ4oַ$9>T8l:ZϩYIJ-k{btg&^mdg2bUemq$KWd?y8~`u$N* NҒ ԞyqˆPO3"A//Ԣ&ٗ+G |l<0)|9s3JɣWଳ63#N6ҝ f5p=/u0_NB|Quix.0Mbl;XSwBwiT8 tigyT+]wkpxRc| ly[ $@.ѲQG]w'ÕT^9/c_6{v`N q ̉{7H9mAo`,0m_ym;Vp!~ gB=\:Zu0KTݜ_B>Y[p2 ![m!֧~ dd) VY‰gʼnAg#iN c܅nd 6oGGZx{ (vYGVi*֍ʦTgWw]9:nwMwƑW!!,ZM$8V]mr..bsh5Pxt9v}<ȷDIG L+|?%e< ɉNT+ުb|"ND O B P'x,V=GDҡ}0j1GwX4 DmD˨jژw}Dۊ'wW"*CBsr#vĤ!cvic|ݥh""*_ѱ`0ZDGeJyi>+"\ܻOF6Î#]FD˶!) T3JϷD~ܦa|Q1!"gDDD DDD DDD DDD DDD DDD DDD DDD DDD *4('wç$Qq7D܂~ahwϽh߱3:荡me#g?ě?w`#ShtgbkLk#a ڗdrD>tݴol?˖`؉D~# {Vy# .3_Ǿ쩣[liw \^zUh4 BW8rKH߮\EK=bJp'><6r :˱{pl-:j.0OMy 7ܞ#" @;obJ?PCGN!eZ'\_,9z} V١ը@,<}B&~7,ԫ`׋Z_P6cN {Iu0}~;L`K>7)E.Sܘ+r[5ظ9,Dn}1h0Gӧ=th~`m׸|Fl_&"**\]?t-f g50eZa2g&=͹u*f)""W%o˼fʯzawkP&#! 23!&_==MC|#M!xS(KTJ1~}-(^oMh4jRRe*/$!#-= mШTsVle^i)HNL@˶!j\i4k߀+A*[Y/_̓w 7A*VEFMwpRUq3ܯ\2+3XQ0g)S~TvKPʲ5_ӡ*B@J~3/U%~U}DDDUHHHHHA2UС' W0wDw}` nkޒ?n/_T2U (oX\/>t%Z\mtb&v z'Vm^e%UzP=f{VTax ->8} S=ZԾ~lkgqUsdv=`3}kv }\mn)Q+DE%TOR~Gj{${T*-jh2ݫ$;f5rsO+/e[18~U3J!hh[3GwMxC'k5 gpetPDqF)[dx[/ϟ*o:l7cV=_O."J_Uzv{}_rW>BUqK_*VQ ;Vj qymZR{aHH{7&~yOqo%wD@-g yu|k?6}E@_6 a^e%UW!B6zX VTPJWAI_ۡ2[S_z%""DDD DDD DDD DDD DDD %(j $I*U$Ih4%nKUIi/_2RcUDe oܯ\Vp=\xY#iӉ+/Vz%^㗪~@j⯨cHMNe,p)% 5j"Xe9~eGm>~H`CJ 7Md8~2u{g`/8~0|{%%%RsAw􃈈J*UPt~UIJDDAIDDAIDDAIDDAIDDAIDDAIDDAIDDAIDDAIDDAIDDmA9g7|l)ݣ=᳤ەe7?uW)V7$)_s~NQToYJ×}?#6:hڦ!ۯO k^_ʼn,'0Jm+PTAbф. !_|7|I?MGi ]Fā_~D'g &jNe=8& ZUτc0$8P˃G=J# yƋׁ#?__Fx#,ɻjKxݍ@mrJ۰$FG~F;FDgq ƒ,*SLUQS8Kiُ&aʮTj1jpZgGkCJ Nlnj[DD)uBd |tnYz |usd' q핳[^ðХ{O<4s.ecF>=u|Gk[~}CОx&wh4hЬP!#!oxi2~Z?*tyz ݣ뱧6=F׾~iFӱwRL(z[@71bH '/DYl_O/Z|!#(fxnXt]'^.w~a6G4qMSZΟI+t]DDDtKaLq0ѱc'jVs~zxhY!5I8b%θO ZpD!đ9CEHŗNYG?! Z5鐄/^{xó7lz(FB!KVݻO{§,ıɮJ}q֯䖙˰đBex8n+v95W71':c # Py{~$ڡ޾/=T:qj%j(w}ĔC]X*:-S/! !dYuTb?Kz/+֍$v*NDNJRQvvM[]?w|q1)L N<^<A֣H9Pl_`Ay:Y5M6XR%PihywBsc ax}&+/nDDeU(3/çmiOmg$ +Ղ%5>45Ǡ>o3x Lby 4u~q6!*`KID5 lzBķ&})ϼ_'[0w]c>gzN7ż9p$oFy;Em7G t/ِ̫ ׼s&ɴ;]SNDûS5aMn Ơ!}pckP^M[>˶EU!?yn*xi Ɉ1;RW~đ,^E֏Vҩ[ew)UP4 #$ ȼ<}ڡHF-2]`m:cyqv tywnC͐P0Ŭgn*}[ @H+ ž~ԵYS Bφunx֞yqˆnƪG'vZ.ߝJ.ƫqSZNir< }})wB=tga\G>̗ah_m]D}?9Of B3`(ե;fc[T db}O5`N}EVLBDn[)_=XBa!;1}Cj,.A+͋ڂ9-ѻP'ȀBg o mzWv^1K}[7xK^d4Ťy&^.r7K.xtA‰VsyׯdS#"C.C2T"x2(ػ <|h}e@ycN] }@0_gZ mف^ԲۦE'WgDDAu":V |Sg":8/cQȼ xlm.]'#aґgDFD˶!) T3J|AmF,7""~%%%%%%%%TPN O-Qe;0) :35&5҅Ua> ?f#""*L>(# .3_Ǿ쩣[:B#""*3J{!\s,x3tZxM #K}r,8n(D ?_|r!.ݺIz(A}K_z5RlQxyDt^uQV.g]\c1IDATÄ.huG =]nEnS]y߭ٓ1("J؊;,r^"-.|hWrN37l>N""R1֢Y:aؔp,Ŧ\ @ֽW v ސ+&Y y{\VG1&O@j=Zw ):VnL0}~;L`K>7)E.5XOfVBZMR۪NƕaAl&v당/LGsoqB:斷茍0fvd].o o-[<'L_ځ;FG?Qxu>n/G0kQTy=O؋hP:*y``d'Ö׎¯ W: N_r=PkѢG8n/}~֔EdFOb00upʐ>|uQU.5ys̝.'g'w떍vylP<1oB! auχt6l45¯Q(":y#.SR{qpbJ%VaK+Уex]$"Ku":V |Sg>u!N'""1ؽ:mo20L#""h J"""އd$]AVf&dyVkZ` u-(^oMh4j"ET`̾HT\<23PAJ\2-5ɉ h6Z-ߠODT7 :8||*(.A& I"2jߨ TvW(r ʬLcUDD՚sVFew)e j&IDTfě!=HHHHHHA #[c`xyQ=xjkd#cpK\KeODTzVv7Uҹk8ۇwE(\pf|lKӉ?@stz%`'""YUr1lWӳ- 5"$@L,zkQyh#}D󉈈ʢ҃i9ORQ_c]DL|)N5>en)QK4,*ҫϴ8p ŔΝsv|+=*5yU =ODݞ]nI}~zEܧ(5!5U%oskN$9e2xkEQzޅ>PYgGO ƛ1/'vNѭ*]ߗ3ɪG*J?TxgR+|諈5`7ŋ?=Ww5W"&#ݘ<ƽ%ODDTU (Gbzcn}."WtvͿH<-ⶰY DDD7/JbkxHVxyFIՖұRNū>G6lӟ+'k? $оK_L04E F-X2x`&̮֭+rgF~w>߃¦㶖!x`d Z4 P*~\1(?7ٙsBiK{៓GbQƾ]سO,~kmGr,Z&]-WZZ ׎~ 0.?8A1q_<z'|aƩ?࣭G1nfUbPRUkcw<;( Bz;;˰ $[]):#ﮁ/gbOD,gǓ!y l$ ݉$f\8ig9Μ-W̠jKT??y=`E}f90\mBD9+ MMB'/Z݁V⼶4`N ?΀%7Ƭ٭ ݿP9mք sdx5=k|IW5vڋY޿kn_ɚņ~Dd%mX3) ,X2n5Dݣ(JW,vLOi5p]†Yc߷dž]".ZLI% x%&3~|'4 =+3ƌےl7J\ }AvF"))3[ϐEPY3OmWx_J5UxOmYv,t |> Jʠ$(Bfl<0jFL8`OmM㗝?{O~>hz%-?")Cr}dbƳGUQxFIW^Q{ԁ>i^WS2m@{bတ431㦠~6삾]L2M 3DO#FL /6V ?j6hAͮ=D P +7/%ADH8${^7! -1O`k4g0YRcVֶ5FM` *fƟs/ -oൗW߂У=ñ*Mѱ`0ZحU !D7hU[WCVB,9`Z{㫇7<4~Nœ{N>zH X޲@&Bఙ+s1m$IPcejtPUmyCeɀ5n* }0[+2veX:W $+W?Yp|`^+gUjskb73+7}|nZ-) 3J*I լn5VpQȂBՒUE8!9l0;lEηf $X o\ƒ)Wu(0B%*[QT}U5v?T~ƻ^-~11a܏5v?x镈H(ZRՐ$ j5+,P57Lgk~E%UC* ^zoXkgBָ|WXs1(P!ԔDrR*Ne&'!@JSgָw}ǠjERAVA o?4S $X$!͔/꼃8k\v)8?FIՎJFAP:DR|._8IrVv34-||Pahn, k~8?ܛ 0BoH+ 3FZ`6ָXcSq22(* ,A7PFRg;k\W\&~k,-Kþ8߄ϬMaݯ5v)>hd2Uv?u˕IENDB`etherape-0.9.20/doc/C/figures/link_info.png0000644000175000017500000005370111532503240015372 00000000000000PNG  IHDRkHWsRGBbKGD pHYs  tIME $ IDATxw\'tBUEE@T== bQ,a}z?˝]N @(!cq&%~7300 C߳pq^) 70_{0 )DAn:Ky`&_TZYU-eb%EyMhRWA-r5EeZǑ)-*)(LCuTWbʎsW^[[#ğ@> J _1k #!&#0l[N+~wS^YA9%0L `L 4b->* Yc>h@dzOA((~wBeEY DES=d]! C- % BT.{NEER4hJ$Rl\ݧqfVFu"edAI|!TVV)ENNNN^N!!TYQ)ߝRٳy:P@દU*v~=k]/e"DAM=`!)a s4VVT"**+*++VPW`1 0^$(--E ݼx6lL"(bD?NxȤ ɄLWW&+NZ;-ހ>|JunDMwI@Az;TbaDr|2exxI ݥ[7KӀk5\Զ149(F1,FA % 9V_͗WWPP(ŸVV4jecdϟB?ik0Ґ 5%c̤ĄkMBa/? ~ܥk^!O< ~ڽBƵ+%%ƺ[ZYgefFZZYӟtm6x»*|UUtYZZO}KP]=xp.993fVRR0,",4#;{i"B>~$`8wJ$3aBw~Cѡc'\DjIb.%CeU^z=-'L`0BC'+3sL+\N⻷n\3햪⤵ii (S ʧs!C&DŽw@ATbas|{-Z2}:B[K(eDTFA*|"rVy%_A+*+j` -B异‚ԔL𬨬9L-B%xUՄ8n)/%9!dbnـiD~ 9s+D;uNBo##kTQ)'/ʬ34:jSv/|N]5|m]] 9\BsjαB(+zSPb((usz.e.6 yPYU*<!Գw?yE9}\%_2F$*,$kۦ OĊK$Pȧ]CS\Dǟ7o|#mU } EL*qˈP^}+Mzlj02z_4&|ZYYaH ***J˪UDb5j6M3ӒAG޼ObB|Fz* iƐvGi !&0U5PI ?ԥGАΞf0z2?ĮHK {,/'y9'SYU-rBgN! 'f]&*K\H+MeUb!bI-CCEM$'XqSHM!QO%ʧsiU4%$vtwMEApF NQZ_-y9/?RmP ޽k'UyZQs_o d2?~TR-+)kwqMLR_G[ZGFxef 5TZjLfiIIYiSCN;奧<9OxK߽ut1f&8oNmuhڬyjL&inqBO#r6UE+.hj$_JG3oR8U#5T>DG[ ()WʃҔحYEn1KC!T\ĩ܉ZP/^BrǎG/ѧmqD DL݅@rþ [^Λ1sZiiI|Bc^"7ş5B(';U; CZ_d0j4wm;k^»mBo_}!Զ~yy:Ʀ!yy祤*pjUAlE%e>:,䙰N!,W^QQpK‰?}RVV+x!Ab.Ŗ PYUe:"B<*-)x!%vGSqd*iT>Euhʗ/7K*ҔP\&4xB<j #AVWc*֊$`04/^"֭ݭ[ї<!۪{60h_Toٴ0Eσ 3 Kv FH."_1՝prjmg,8;+!q%"W._;y!4ww44g;uBk߾|tԛSG+(8v$ʅEjn.}9v"^lPWDUEs /͙TU:u.0ⵣɴV|*}.uh޽|ݛY;w=MtI DyuASɉě)uk;14Tli?Npzqo⻸)B;{<.s>55soc  )‚ gNjj'x*T=zu>qJ]FSK]uվ ^dDBWQwq?Aw.@ j#}앗wtol/½[ל薔<~rr qJiߊOdF]\;vNRt PנESW?dM_VU8ymF:g_2s*>n+Y킀))8CQUV;})OۿZ) Ut@SV^:{`)W啲nu3hp8ܲf[}8jAN\V^oKL0V%5Dmo a唔AEN8r` `Z,BHK]UJ sUWO}O` +P324~^HV"(H`"^[f?2O!WĽ1kbE`kg6t6򗢯cH[#-C# [8_V]m`+} [o ʿ3D!V]{tiU_ΠVU;UZՇkJ"J*.bFk!Y12tk7pfE})/ʺjQ[ǽ^.e.nӎSsWQ@io;0靘J2 b0>tҕ4&+fxdϊi8pQ05DP@A֋oI,&lk龾F>׎$NyEaDM>M].9ZPZϞ"  <G=[eMU-}@ܜ;SC$롇m,4򼳫7.$[Y9JﺛH!Es;i1h½~" uD 2gq8lx0o4=MD0wVa AKȳZf 85~AC6h??Wlݱ  K= d4h4cd { t'I4k EEE0hH;?ᘒlk_OYdlNm?}o} G'u;$rpQzlK.s͍͍}}敗׼wn,:I!m!'kjk>zDnnQԃٶTWW ZH=c.K$۳kGK+sc}sgUTTrR"W+n(I#LUUՊe66zv59w}g:oÇhpeV$ZB wB #}f"$mҘ&_a<oڭ-!/K3J8C:w vneViy縐jZgk`/iP^Mҵq?H>M{@SG[eWTIag]ڙvO{u&![Ӿz\)EHB(==Ϟ !!ϞQRZְ#|}kWgef~ 9<\w/iO2b5BM?f|/ )-[ZO˗!۶}DC^DzsnNkq!Zѫ7f?}|<,*szz:BO<,;޽ݼ=j_HP>F(hz iQK }Gm^+ú5EQb^ }AqwaUTquO>c&AVf#M= ]]~N9]HT6⺫/3 K? ^lk:9?#9گqk;C67"~&ڄt=&m)Ee"#>Ew_]&j1YyyWvVP6i1Я,so<UD KǸryAkw5z!'$ѫ7헑QFF;?VB4H:!33$==}"7MM*VZRCNj៱(!҈LEv2O~4HGspiҤ]J,M.$mҘ&_aFFo>ۯFo\P@B./ccW)1ŘINfMg~xTвY\^y5k})ZX|HvPɂtZ<.|ck Td ڪrXstkSRR͹O=tcͺ۷}ؾMWo0 !&)^w]MfNAMuۼ4_m/Ӄ*e3SeVVSQI9R-BK0w#Ͽ/6u,%!#'W|8ҧ?_g0LPjF.)n ?a"Bho-^@}I|;zr%99q=y| 0~5>0_bcDo̅>|3N!\,/77/7wERѫ)ZRDN''Nlɢ"gR 4!ZHkCvDUogoϮE }C楩b+V._&%`IRbuBNgPDl_g!j"vk|yESq!UTKRf<&-L 0UrI}>kk)5rխNNرBceggs_CYFO_];C#?V!ÆMU+;IX NTlZ|!tFUEv}FzlSAڭ{luVAV`4jI9>/_ikۺgΎm̤7 ЄjE"m[BQ[w[7or׫Wꐶyi #eX*HޮMˮ:9w&n׶/7%BTx[qn꧝/vr|F^+g[5`ӁA6? !$l8v5XG=?@[ANtqhj2A~L`naɾc;MM-⮵,2 L@Z;ϻ  DPiK{ /F),1X_toxpވ u̍gyN'=F'B1#ii}Ӹ0˗#kk14˗Zm+ Tr^TVU&6.PSU9UdTRb3.KJxVCSs:|}3${$4fչS'wSl§؄NΝgL":&MTe@M-{N8&ٴJ+^6SCO_lPaAݹP䔲2+3")uΜ>O~=$3JNVVVF[eJiDz*4upjEժi4jl]- u4Ԅbңۛ,}m%aǏ<~йsu> ~պ4Iš^7p;q8wn0h0t h.ʫX3pa^3֑{3r[2*K=l&rÀ-і3ߏ׾_^JeODB+DrbX|J{j[ZA.~GS c};%2d5Ti Wp 9+JKJDz"`י85U55ߴe۹3YZ}i IDATۡ@TeX_']fEVf>,(֢!*]o.=Kk։cGcⓈ!ϞΝ5ԙs;9KX?C qsƾm<ШC:w:{Bh=/#¯޸]BJMfaL_@񻸒w~v;4yHZ0`D%Z*NZ܈|V {WTVb0 ٿ/g:ݫw/ %kӮw }?W*[@faLS@"BZ[]sϋm]CT̟nݸeӆe+p}{W^q[7J|;iqsfr\4nkǶ"ٹ}kvD/F;,U@DPDZd#yGܬ{6WժIY7bU%׶)Yҥ[^6&ǎ>wbVpyԮNğJȞR1Ĵ}[[Ҳ;wO=yֺUVa/?%}94ͦRJH5grmժtUCm "(P6ФZP\gǬ}&>d+ta"^[f?t4UAw[Ύ#m ,o1b*|X<.Vmf:A8Eٱ !佫_HOFJKJ)[#Y~ Ui.=(in9;3.&34u~t57NUP19f䋛&M\ v7lt1OKs]YV Y`k]ZWSZnUQr#@R6t0;3-D`eèkb9;}XgG^xMzѿ,ƚfjVniσu%M~ `_vLǜ9hE}ͽC8đ>C?ǞTŪuuZd MaއY!}:)}{}涽{s|N']IѬT=l5l\I*A-ܭOߒX+/L6}=.R,% 0UrI}>nF7yjH_~L~/>Ș`nPbF)kj ]YV/.zx{ hcE?dQ! tlB mEh$N n)jutd_ܡQ#DF}7Oڅ#hjezW֪U?x$"(@ AJDк]:.Owy t6aYXl^*7[#-C#K'pyj2kaPzqo6ՙ1GsČ]tY&f6g,@h+˨] l,e;hzizc>;$$Fzw;@;߭CԻ{;2d۴sVxin+?V:ں.ý^5!U8)+2+^svikehd> Ny]5]^:1e>KUAU%)gӜ^愛\&Y&%&Wߦ$q9>8 ^,m{CটO],*C^q3oƪ]]7HO̍k[GKM6KUGیϋY#J*}`=}G>..ꫥo+kUFW5- Ӂs\l+w+3䕌Oo2PV0>7y*K˛9aG \p;X<|ҸFa=K/}TMM..)N^OMcj㻛 GtYb^^~ $̈wS^f~+(.혊95̚g *r ק|^ }՚:As'?䮫v:fFRzBUo<=^_  CRCNO0ÎlXQ͑^,m\^}{/~'7PFR:wU'# *QԔ"gPDl_g!j.oT3Kn`Lu 5咬|KY7t6ujAeƧk={ wӷ$ Mtyq#n=sD8wë/Y77܆IZBψ~8^''+}^3h?f׺NYv,[Q8l"*A7WywkGk d^~=g%~eT.W6=!⇾B>"R68H AgnLw4"c+=HվτԶ%Z4g^Ar]= _hcd٦w]qK̷p3~5QW]3Ŕj7"( %p%n A AA+{`Lp` Ac> .(1OLebf3z_X* ?𛭑ՒL͍TgԪz-1&:,3K_V@AoJڞ R"(_!r鵵o6]hbL>h #F>M&{=*=!Ui2*x{o~Z#8jĞ>-w}vII9wPּ)k{.ƏQ+™McE ңۛ,}F(~Dl<;܀Ͷseޫ3A- ٚ]^O,?U+?V:ں.ýJd]aNiog8x b'hV&6/CF\;<͙e:e%NӜ^%i=4B|{v`ޒ]>P9x]zN>OMa, #ѩ鱾{ _En%|X|F kyv*YqonZ_c=V |9)Zo~ّ1gXa~'u%)T]YNM2K[s]VkǮ\?/WpX..&֛c2i)#k-"T(QcbR ڪ) j~D_4XsO!34u~'`֢YZ*!>/rbNkҏ_Woih>VyF23i] 2|BUP,X"ǘ|#~[/#¯ma9+)BhI;ҝ`ZQpeu)I^>1V߭ǽLW39w>PT91@M}FDg߱=K=^|wBq|YrvyY5[Rf})X3 }WR骥"LH>B yBLJ%Mphifhyqw2K*5_;y5/FEV ֌voi§x}%9^Muem7mUŷrmJ ]Zᴞxx}cXfүzkvTdt;|~n)i۞/]ۧV'Bl̻s:Jxv3\CWWz]T"Vbj[8Oe៯yyqVs`'sb*,"RP\B?j>^nϮUw]ө5zIm?y{w_\ȶk[G*=~jےpS-k/m'?/ݏJʿ&1 tìF}ԹD7)=XtT# QaZ1#hgBh*eMU-}!Mkc,nUIxRd#yGܬ{׶pO/`Lu 5咬|r+RbwOiS׾KίTf|zֳ'.Тf r{|08;-[=iUyek& \,\}vjrw{-hr}{n{gPDl_g!4ʛ* 5q^}ɪ6LҢxn)^6suاJ ?iU"^G:"?ۅo1,ZzWp̓g[j8Tmm 'KV{} m7Lw4"b`jƠng8(fϖGfO,R*۫—>󁽳3l703mh2<3P^{mG8=V":3(k f.ں#}/ =O?'"rӖkYm^IRƊ C46Lcor2sW677o6v5Q<m#5Zel21uaEg1.fJp5##⟡!5_mID_\e֢ÚӡJY#7t1R#(_!r鵵o61Uc>;$$Fzw;O>h #F2ri(~uH|컐ˋӧS}e]N)~˕`@YsCkb@#h~Ԋp$~XAQ|^e<|^Aj,[h!i{Zhh :YkX|CNh ֓BmSTT9XrG\;<͙e:e%Nzҽ UE rwoL[u5T4-\\ z}v,CyW~-RAŁa[e1/ߎYS-_ '"! !8s#@R6pyTiו5i~(KZ!4Ɛ Nçj\^NN@ ;ڷO"aJN+O}nqV}%[55Lfl;鋼i۞/]ۧn.W]\9t%CJtz.M<4S-_.đ>]:>+a57/왊!E_WN/~BF- UeѿwNmZm~(=Xt\^}{/~J. t/k ]-,w\)q)bn.WhM07LhMeB麪e4m5ˎ|)QE(`Lu 5咬|6 gJWpx- Ҩ_!}@g8h ,m` dU s&i}}taOi +yoVT\`),uʲc܊ neJmOA~ F+2bpFн~" uD !ƪ}7X3qjr.[?FZ}&L{?AqzV61TWKBS^"JYkYm^I\>r T hfepGD[fpmmhjrKHu+>ۇhlǔѱ$qeus1o!PIX*Ͽjx8+)+݃+pe3F7~2cVOV}|T "0mr==W [S57}ׯ&{`c¦ǢJw tHaL/=8EK=O,^\Қ'gֹT W\uQ@űUn[Xw;"\vX-M ;x:Ԥz--M{GWi0 l&o ;{|}>!'o*dBSU:112yڶq>co'7KVwjPVE$*h * v¨uk'IC[3LMæ.nX:b[3G ks뱞3+?HQ^C^TUE{G[nd1fӨ F XzUm(nA'@xCB!88*>=K v6ط7N|&ČČl,dLrN>zcĤȴnɝx*BhKۯb>mOoR_S3jIs!]qyy9)6&rSF" ŷi `~zn`z_HI3%( />6Mw~(o7c|)KmjS:t, Ƙ}JU#.woH׌ZSn~,Dhk).|m1t$ag3SC!UNEH [5\nk ~LY1`4}'yyfw*PM'J-t|ieUk{ulMy멈ӱ-M ҳB 4).^s{}ق8W-ePE]bb>>sBg+ DJXT M)PA|B涰OIB5awVZu/Z*|wiozDlsۤ^k T=i)ŧgZ _4b]42%DwZV-1oq?>ͦ%-Rwq$5e99Gwc)5룩(zئ$T]|r%e(Z4o| q;EÆ魩.oc?#KpʻBm!K1Ѷf>qs #Ri;6xjGcB*ؐM?_KTo-IQmsĉ=CjR~"/IVE}IUϯri8.5]Sg d:-jL>~q߆G<6+az3мnB z!Wb0H,MAeq,C뷿ƙ*SH]eªj!oFVThj 8xŲ[ŧe _:;iCb(Xcr 'ƌ(R|2qyoM}y.|]Z57= FKQ^!"iafL_/ f>ËzF4Q5ݻ/~rx[M+O&QlJ:!4 O95TEOm CdL`NAT.cm2w 6"]v÷װibKYR^uySLƦi2mRhSщ5jfTO;u^\DSA)PEQ3BqZWKGu柛B.8C&B SEQy/|Z"i|`Z9L]}jsNlpϳ-NZJ5EX'zþ2#u54oQKЖ)S30fpz^1_PU–,)"Y=b奉m5O\;oktJ"3&lϐyQ^CRKƀa%|pxI. cUH!BHQKS|WYĆvnr?IoQ?BI@XD_w7us63lqO7^vfl(Y/'e] [$UT7hߢW<+eIٵ8k+3mW&#&Z-p,M#E 4y!LI綔^Xֹu ;mhUYgvC\2ʹu^ۭd)?ս`gmyT Z?\hsaYǢe8mf SLQ^C!Ui )њ[w=>0QGY< I~$ΒjZV^ޱ`9XNg޼ t_$7eyp xv|jV[dN,?wq%EQD%X 8]^2mSC/ İ_~}P 8lv5MN,=pjYD|py6٫_b,jY@}%踬m`9X 4:uxo El64 7"(B1( "&A"(@/2 #(ҴSqtElc|N$hjo6.I?CRKY4HCEEhjIzoA]YQ]ۤ$uF]ASUQn/W;;ʔ%?w~N*ڦ_ŭE) 9U24EP43GQa#DP6kZs̭ \ˉWτQUh66-06$7vkn޸<={|8z=c [I^=s@ite]mkES x)kdySU,9vgpCIu_-}ZY[f-P_R4!*Icp=ӡ~΁MeMߍ*\^!w 0V DinOBBL{S?쇡./ mAU:Ԕ2.YaLz~['jéOp1^4?/:YZvAAm:;_PPrO6-/ SxkyeW& I5C[viv,f{בlzn{'>@Gf: :4gVC2,\Ckhn,܊o9>|C͈sα3&vs6HpitrV DF77Lz₂;r4Z^IGVRXoW*C^mE2KŏRT`0gO唗sRzSiVc..÷y75;L|-ՍRHcZ` xy744:dWVн5Ԝ[UYiӬT&DeXˠqֳͶ+slZB^-XJ׉Z]Sb97h] e3}4?&:S#t#@h&f)eZkL1[isep c"J  g( przs= )«:h_ΫΚm457&X]nձ߰UzOc-MY&=+[ (6>7'y(,ܿX'xxd1Je 5G"FTCGMؔipϻ }bmN=M2/t_<8+(rՎ':V '%6![q`Ϻ?*|Zٶ$K(v|u4.*J y.am) J@As;{4J&xT*W7A͂u>ٚʠFsۛr#(doԩtK:l?8N?n]+g*/ =fYv?Q51{7 o[h>3>IɁMV]8gM*7enhʬM9Q<9hmR;akQߠ;&kFe p9s0Oe8{4|&v[fucKKc-1ڀ [TTXU(>?[&Nɾ>!)vYm\{_77ח\jP~|h&i%( 9yWn--~g>M^8yۚ;i4Qs%ɛu;FS~ Y)YLe}4gb_&d+4;w %8/X,uEC7!A (GYsDQT{c }U˽, ]A*r +K&WUT9whwqSB5J\ 64X$Q*5{u5Œ-/*d2.(rҋwۇ>yZ|K?CtƝD֟뮝x[5gb͖jyj͝<^pʀO:1ɇo)mtJ4I XKJeXUȕ㧤Sr`0˅=KEÉKe>vںs귧P_!yפ%xzjf$1[D7J *E19}MfDkBT; .k3:őkB}Expl% HvL~aM|A13Cgc=/H˪=mlTCg_fQ͈רOw'rW&J7KwU DB<k~s΃_:jMwsvErA \#\^>Kvf# +qK;8Ҡ ܯKD| hPhPhPhPhP@@@@@РРРРРw_7SIENDB`etherape-0.9.20/doc/C/figures/protocol_edit_dlg.eps0000644000175000017500000007441114016714367017140 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plug-in V 1,17 by Peter Kirchgessner %%Title: protocol_edit_dlg.eps %%CreationDate: Sat Feb 27 23:51:50 2021 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 88 51 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 36.719999999999999 translate 73.679999999999993 -36.719999999999999 scale % Image geometry 307 153 8 % Transformation matrix [ 307 0 0 153 0 0 ] % Strings to hold RGB-samples per scanline /rstr 307 string def /gstr 307 string def /bstr 307 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 29944 ASCII Bytes colorimage JUE#rc?t-~> JZ=:$cDlB~> J`D=AcJsE~> !.9?mJYUSe!.9:~> !31UnJ]lE`!31P~> !98Y(JbIIa!98S~> !.9?fJXk)W!.9:~> !31UhJ]6!T!31P~> !98Y%Jb.7[!98S~> !.9?`JX4ZK!.9:~> !31UcJ\]XJ!31P~> !98Y!Ja^tS!98S~> !.9?YJWJ0=!.9:~> !31U]J\'4>!31P~> !98XsJaCbM!98S~> !.9?RJV_[/!.9:~> !31UWJ[Ee2!31P~> !98XoJ`tJE!98S~> !.;A0!oO% !33W6!rDrCX02U$s3IgN!rDrCb-(fFJ,~> !9:ZP!ri5aX5sE^s66ZI!ri5ab2iW`J,~> !.;n8!5na7"o`jqV>p2eHNW+(`>n/i".&ueqT!pbh>bG6c?fVhs7GB!"5X!r*8Go@s7q$As873D I"2~> !34/?!;??j"obL#nc/(WW<<"sB4^A-"5*YRprB?9qYt2>cD^m8s6o$J"8`%1A_a9bs7rYos88hr Wdk~> !9;2\!<2or"odN@rVu3_iWK2[.)5',"8`&touH%orr4C]cJep(s6Jb*"9/ !.=`e!NkASj8n8Dh/iY4r;R3)!Hb"7kmDNSg],52mW8GPrcA.qrr2t4aE.N.,mG:@F9$LYF9A39 kmHNo"5Ejp)VfH6s8-p;s86s=I"2~> !36!m!QF'kirS/Xh4juCr;R3(!Mf/acQApWq>Y)9m\9cZrhBJhrr2sEaJ/j7&cuLpUB%1cUBC#c cQD8D"8Vt0@GIXWs8/Sjs88VlWdk~> !9=%7!9*S0!TDtmh>mNPrs\W,hYdCISDN-%s!YMEh>mQSrr?'?h?2XG!P?Y6"8r0mSE8T0rr4CY gtr&1qqh>Pr8%G6J,~> !.=`_!TNeFp&XjHh/3;-s6opm!XA_Kr;S6tg&K*Go_?=ADJuH7qXr'WDJn/-i4SaFCi4IsrhKME 6>g\os5CcepV?cG$ZDs)qXr'WDJkC4q>+t]V<%=Jo#Z#lDN3QMqX)RGDN3QMqX)RGDV>'GCMn.1 q!t]Rs4_F/g&L!Ao_??#D?eeoiP>0]_#A3^g&L!Cp#^(/Woj3Pe:___r;RghDlVssp=+b5DJu?1 qY/icDJuQ;qtANmDJn/-`>REJrr;q7rr;k5!.9:~> !36!h!TN_Do`=^Fh4=]?s5*_\!XAc#r;S7?q>Y6FqY/(&StF@"rUnX4St>cXaPZmER@^JZrT+!G O.Ms=s2j3rp;d0($_Pc9rUnX4St=@0p\LI6g%"q;o$X/%T#:$qqXE+.T#:$qqXE+.T)&E'SXuV: r:7Jss1b.sq>\RmqtJ2.Sd,#jal*'ia8VY@q>\Onqp_%,dI[>2fqP)4r;Rh3T[EB0pXu:4StFSt>cXB3s>arr;qgrr;ke!31P~> !9=%4!TN\CoE"RCh:i#0s*"AIrs&Q&r;R;^rr5"Erqb^1gYMDtrqbs[gDBkhjnA]6f\>fnp@J;H dbEOUs6'.Uq;_J/"l8_Hrqbs[gB.0MoD72FoDAOdq !.=`X!8dVH!pn2#r:U-Hh.K9is6gG3BkV%ai;`YtbSo"2pAO^brbcAJs89IXs6!d&f`1dFi6r !36!b!8[PF!pe,!r:L'Gh3\<:s5"^oQ9gbqpAag0bQdkBk5>2XraV>Rs7j"hs3$^qq>]p[j,ucs h>bu+s7/@@R/-dYdE)@eJ!cV]s7j"hs3$^qci<;>qj9&/fsA3cs/VHYs8K^AiTWS"s8K^AiTWRo q>Y)3R-akPf)#@F=(I]os7ta8s8HO*Qp(9FqU*CardU<&q>]p[j,udhs8C=@s5oL)pAag0bQd&+ rQtE@k)u+gs8Us1r[sPss8C=@s5oK3q>Y)3g6hm>s-WfcqNq8_J,~> !9=%0!8[PE!pRhor:C!Eh:Dc-s)rYcd6RF&s4bcA!ri5lqu-QkVq:eFlF6Nf[as(0s7uER3N:X, s)PaOb,!Y@rr;rPhZ*SWf@Tm!lF6Nf[as(*s/\]ef.[*OZGZY@SCZd$rOBT2XG>m:rOBT2XG>F, s!Y;,r;ZZJoD\b7\_$i\r9 !.=`Q!878C!mSO/r:U-Ch-^5lr;T+V?!q[PklMM3e,T+l$2X\68cScm![@[EARO*hpalL]&Rjr( Xpb%)MI']As6B[sNW8AtB)hj5![@[EARK])XT\N/0Q&<^4^e<`'5RXA',DW>"De&2',DW>"CTg\ `>3+ds/#cEs8TkO@+PAJ$jlV,]0cF'4kBZ!!>(7jm4D_ss7e/H'cR,PTE$)5s/B4Bs60Ru*<6&3 !$D4?WF>i,^&SEc"CqK3TE$)5s/B5Rs2>c,@/L!"?iYS)~> !36!\!8.2A!mJF,r:L'Bh3%d0r;T+QO-8;ucNYC1q#B[u(&e/)P5kM&#!Dqc4-KC=n.u3K5a2*F 7j@p30ThOns3^usg],iDSH&R0#!Dqc4-I4sV$m0`0V/e29Uu.L6_aVI#V%8`%\j!i#V%8`%[-Ve B31Z(s&fA&s8Q/.P5,(8"WdO@8r*>-4o#'*""2k'eo6fIs6pg-*`;t;:]Wi\s%AI/s3Cli1&q8M !C6Ya9:Gn\GlSRD!Ls,h:]Wi\s%AIKs(>EdP5G:TOoVM4~> !9=%-!8.2@!m&%"r:C!@h:)H'r;T+DdF@Xb9HGZ5rr9A96N7!/i;`cb)KGfWH.;in_$^enVq1kI *K0mr44MdZs*=`6n,IIEjT#2f)KGfWH.;5rGt%V[0\-_*@+tXbV=+Af#!t7#;XXRh#!t7#;Uk^G .'r%8s!S#9s8O=QeGfK5"@W4g,0g&84oYJ-!^lGVF26<)s1o'S)p/-[+pNGos'!n?s%FI`IK03#Y_70"W9!Tj@]+pNGos'!nNs!Y5,eGK:Ae,\NZ~> !.=`8!7^r?"QmMY_OQs8O)W 8+-Dm&kC:JblgGgs2>ZL7m52uap(@Ns7lggci;Jr4%EHRrtQGBdf7i8JcFs=7pH#n'cKTjs4&n) ruMeC7mU>YrtQGBdf7i8ci:rqfLPnhpdY=3J,~> !36!F!S$c?o`X?ji5"UUo`3IsHiW^7rt4'!I-L[W(OUW)s+^o(q#=r[qYqNqEVKKq#BbE4 s8N !9=$u!RpZ=oE=3fh7`"MoDm=q`rQ&8rt09ha8>m1N5s!;s"c^RrVn;1qYqNP^]"0k0Z(lKl2U/R Yk\5r\]=[K/SN2ss3#pOlM^\].cES>rVucfkfp3WrVucfkfp3LrVn:En,NCi W5nl:,HSras"IBkrVn:Mr5Uu!s".p)o`**Pa8Q#s0Z(m!s8N/%a8>lrZhsbrN5tGfrrT:Bqu8Y@ s8N1`a2a81s8N/%a8>lrZi0nPW7]/hj7pXpj+%~> !.=`p'(-2_Y1jjrUp6LAf)N]$r(ATfs3;0KDu]V79@3^Y%80?$s8Nd%9@X!k%#"ZF#"r>'rtImp eGn#Gs8O*+r_!]-s8Nd%9@X!k%+,$n&_ThSe+lW:I"2~> !36!I!RUK !9=%"!RC<9oEFj*^@].]rU^*7h8o`rs)S&<&oYnhs%JEoao25fTum95.-LX-r.kLe[f-4TT)QhH qZ$E^r;Q`XM95_r0rE(cs2uk\s82_M!=uX6aYDlVs)_5hs5k0?]q`jJs7NkC]q`jJs7NkCrVn:F nGiLja3">\,H])ds!XYarVn:Fr5gMgs"UCmp&E2aao25gT#o+Ds8N/@ao25uSbrF\NQL\irrU6_ rVnh;s8N2ArlGW=s8N/@ao25uSc/R:WS,Djj8$dsj+%~> !.=`@!R169p'0Kk_Y1j^jo4rRbM>qrYQ+&#r`(+<:PAc8#>\.Cs2>UHfDif/s8RBk,pm%U0[]p> &l2;#p%n\)VF],7nf(E=s6Tkgs8RBk,pm%U0PJYLqbJqWs82m9Du]_9;/JoP($km_5]'+?($km_ 510DL&m,,5TLWJks1f=EdJq/u:Y5Wc')YNgdJrbV:qcnr!`.5D`=bsB=9&;m8Qu,nV[\=Zm0?Eg s8S]_>5nQ"(B=EI7Sd5c=9&;m8Qu,nV[_&R`=gm#rmUmCrmU^>!.9:~> !36!M!R(-7o`j?h_=bXZjSnfPbM@dQnc.G`reLN++6W[V)2!S9s(>)Zq#=u5s8Or>4[4TaDtj9E :4n1SrVHO17"G%3i^AIjs47L9s8Or>4[4TaDmA$Fqh$W%s7lXY`;fW8LQH@2+o;3bJ<4V++o;3b I/!YR:65GT:Oo8@s&W6Rp]"l$KD>IZ:Af`-p]'5@K_#/p#D;dNB24)3O8o5UJ !9=%$!Qjs4oEO0b^@].Pir8QMaPG#Ar;Uq^rltJd*rGtHO3>`Fs!Xqkrr4Cis8NpC?Y69F^]"0\ WlrT6q>V6_ao27/UsAr=F"-#Hrto*MAuT1Ql1!d2b;&Pekl>_ks5k$Dc'(aXr;R\[c'(aXr;R\T rVn:Hi;`g$ali^(,Ho;hs!Xqkrr4CIr6%8%s-oh0rVppfbPhGhWlrTCs8O7ahuE]oTDSXtO3?G\ ruoMAs8NtRs8PC,bLt(rs8O7ahuE]oTDed !.=`E&'+A:p@QA?^s^$6an>B$`naSoZ2=PGIT(FirmK=re,RB#<7q5i';,='aN`uL:J]I>`=l3M CB+5VrW!jWs6C]Ss7c3Ks8S#^<1j3haN`uL:JZ06p)Ep/0jXhZ^o[D4quL%$i6BUJrBDn5i6BUJ rBDRVs2>XNZ2ag[q=aj('i`Z^`=l5's2>ZL<"7=Vp\!\Ks,7.]e,RB#r_tGBs8L[Bs7$O=G5qQi ePr7Brn-iBnI6M.s8VECr)?Ugs8L[Bs7$O=e,RB#gJn1$rD`dFqc!QCJ,~> !36!Q&'"87p%-/;^X9g2a7T&t`ncCMo)&G3Mhf:OrQj>Up]"l&L\Um^:tbmGdbsfu=bZVMB2FA= Y5eD*rW!kfs3P?Os6/Y/`kPtMArVcat=blbOB2FBYs(>1+LCO"Xki_Ud`rJ1C-qhG0OJ,~> !9=%&&&e)3o^]l3]["1&`Ui`o_qiQ;r;6L=aj'PZqW-ncrVn:Jc2R_kXmlAYl1FrSDp81[.':b= nc/7arW!l(s),@Fs7YURs8NpUc1(c$l1FrSDp7qT^MNhm1#r<6ORN2KjqQhRo'Z;Qo`s7Mo'Z;Q o`r;2s!Y"op&Fm\r;Q^@Z-E7I.':bns!Y#IbmjXOp?)>Rrtob#rVn:Jrlm"as7l*`s/H+1pAb!M l-8buq!e=`WWBZus8VK^s-Cq"s7l*`s/H+1rVn:JgWf`XrQY?%qoo-$J,~> !.=`I"N'j*p>,_`#OB1@kNhHq^ti)mZhsbg6:"hio`+V"eGmK%=P<_n'Np%6p[Zq##Z0%N`=uEV XoIei9NYD8s8Fh(s2]]Wo9')%=BU7%p[Zq##Z,gHo`P(n0S83Zc>Wa\!F3Fmo_[Hd!CjlWo_[Hd !CG<9`=uEYW:]A)jSue,=OdAi'Nj&g`>&5P%FkF!J*lij!%:t!s2>]O==dU0eG8XB-j]-=T6eH=T6eI=9*`!~> !36!U"Msa'p"]P]#O9(=k3D6l^tjnKo)&GQ&;$"kq>]n1q#=u*Mu!Bc;iI$tqsVpc!f6XOB2a_H n,M#ALPq(ss8=5?T:MiVY04l!,@Ges(>:0M_'jUiV`&6$PJ;XdJ

9cMuMN/MuMN0MZBc-~> !9=%)"MaR#o\0;W#O&h5jQPgf^tm?;rVQU\#Kk]Qr;XT=rr4CMd/O%nYLB<1r9_OG!7(TD.'M"E r;UpGcHsr0s7Ua;s#n'lg->YNd*nfRr9_OG!7(< !.=`N"MOL%p<`fS#Jn3klJCF5Fkg7&.f02c79s+@"98O0(]Y:V>nm>S?!TE&!sK5b>$VsF(&hJ? /cZ+S>maC.!7Chc'JB[p./dEY3"c;s&1Ldg8cT"j>q\SS!>I`u!F8nR%KleB1L43/%KleB1L49' !#8dO@3u*rs8R$U?!S9I'jY)[!#>E;#M&jn'JB[p./mKR(]Ynf1.!X0Q=?!UYX"98O0>rE5q "WU;:>nT13!sB?D?!T?"!X0Q=?!S9I(#3*pe+m;Le,3JOI"2~> !36!Y"MFC"p!uUaNCFT`$Q_j!O$`mTqN!:)$O&"`!!A:;/eJ6i*Fb(b/eJ6i*Fb(j #lmtdTSY*"63$s(B9/)[!*,)@#QRm&NsGI[B2USk$rR"b!XSj,rJrIg6P0A.2i3TVM'E*&$BL06 &HWA"M3!^X8/215.#s@J6P0A.2i3TV#lmu\O8n#2O8n#5NrZ21~> !9=%+"M43soZdBJ#JId_kM"_+bM:MG$i9oDbgNU=!rtO5#6;$WdKT]Vd`,0!!u3e>daA@#Z2W/Q% 01DHdL%l4#Q=ZNTK!)sSc7%F`_mKQ'f^EcdO,#_qU.#r#n0fg!# !.=`R"M"-up@J1M"6naUGH,'Rf)N])b$bR,q:3das5a5=nmMXOs2>b9@/t\*~> !36!\"Ln$rp%&"I"6\ORS#VVRq#=u.b*!%SoAAL)s1\Pdnra+Ms(>DqOoVM4~> !9=%-"L[jno^VhF"6S@Lbc9.prr4CQb1$^koC;MRs+(0mo$dd@s!Y49e,\NZ~> !.=`V!OM:jp&a6`Gc>6VfDif+b%1g&f'`J!S.Z2!AHUQa`>=YJ!.9:~> !36!`!OV=jo`F*_SZ.nWq#=u0b*E:AhXp[$K`iamQ36p^B3C@_!31P~> !9=%0!O;(foE*p[cDfCtrr4CSb1?mbiVE9#B`Vu=f)u$P.(,2h!98S~> !.=`[!0R#_!OI0OC'#=S(s-Ls>o !36!d!NEI#ZN-YrRKfiE=C)dH](eU1bRK`kHTWdk~> !9=%2!QMD>Y5toSVqD+V!4U)'#&,+_#V1JYnC[jJ!4S*D!98S~> !.9?8JSrhP!.9:~> !31UAJY(5[!31P~> !98XbJ_SQ+!98S~> !.9?=JTK1Z!.9:~> !31UEJYLMc!31P~> !98XeJ_nc1!98S~> !.9?AJToIb!.9:~> !31UIJYpek!31P~> !98XgJ`+o5!98S~> J^8nncHh"~> J_,J)cI[R~> J_u%9cJO-~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmZ1\3-Tn2p7p&a^?c[Y~> !nZW,Z1S,_iIU[!o`FaJf73~> !oNJ@Z1J&Zm"+f+oE+dUhgb~> "OGuop@\87!,0pV!F)8^p&SWrJbGu7!q5$mJ,~> "P;i.p%%r9!6`pc!C,Q-o`7>:Jb>o5!qYU,J,~> "Q/\Bo]Z-0!92Q$!B]Z4oDq)@Jb5i3!r)0@J,~> "OGuop@eLT"AX[?nFGH0!;60]!F)8^p&SWrJbGu7!q5$mJ,~> "P;i.p%A=Q"?b<)n+>K0!;$$Z!C,Q-o`7>:Jb>o5!qYU,J,~> "Q/\Bo^r.N"$5K1mbRL8n+lSV47)5(!Bf_"oVV6^p[@!i~> !mfcmr:U4fLXncjp(,)9p/R;^<+"n`p@*Jl3-kDp03+3A<+"n`p/RD`9_Rgj2a!#l^,.rAEq\j; 2a!#lp@*Jm3FMRSlu"aEMtZjRU&=U+4)%WZVEJHSbDbWSQRd`n8^N`i:cm6I60E6JbI:\ !q5$mJ,~> !nZW,r:L.SgSA0ToacG!of]0\;g@m+p#g-T6^IWB00Q1@;g@m+of]B]9_I.I4A)UGBJrFT]_1#d 4A)UGp#U$S6$DqogL!'8WV,pLiV`?j4fi!dF7](tMFp!/_"I@`\PG>Ck@$A]nFcJ;Cd(4PJb@4Z !qYU,J,~> !oNJ@r:C(Pl!g^moFFj5)9pG8AoK/=B>4fF+5$,r"=uT,LhXnEZ 5$,r"oZ:K)8"9/C]2UsqbOkEhm/6Jt4-a2FORr,:Gt'r*ht6P&T1MANb#:EOo(;Ru?9_5oJb7.X !r)0@J,~> !mfcmr:Uq%L[m=Wp@_@Yp/OKMp751Vp2sp5m;@CNp+KE5nb/MQp@_KTmIp3_C@^FRSG$0\p@e/h C@^FRSG$o.kk**moj_b-j@#O3@\N_n+B:u%p4mGWp:B&Qbq\AS !nZW,r:Ljgg[$rhp%(<)of[!\oP9EYoh1SAi^graoe/IAo^lpXp%:I_oC_]ASb1;ig%@Sgp%@oC Sb1;ig%7jrnF46do0T#?d5fnQ5iMY6+?ac;oM<-moq^[AZo[aM4_3p?4B:/+ !oNJ@r:Cddl-;Wdo^+^*oK/W9nP%*tnj'VSbs1.aoIi:so^PVto^k57oCD93^@\fpkk$t'o^qN6 ^@\fpkjUg?o'=9em6/2U[6*UE4RE"<+?Q@jmm>n'oW[WONDB':4-9!W3bdg@7+Cl"5dg4.5N%+b bk(u2n)&W~> !mfcmr:Uq%L\@&"3p*!Fkp@dc.p@_LGp@df-oChmo9(lJ_p@df- oChmo9'e>%rUpQ`1@t55_+OE1U&=Tfk5hfg5?!1@b)3h*?Pbbk;,, hp6f~> !nZW,r:Ljgg\"XXp!H2#of_"$p"Mh+iB-])ose9)ocZKOp%@'+p%:K'p%@0(o_%m"FnIuXp%@0( o_%m"Fl,=QrUgKR4S8=>F`m@BiV`?P4l>r*P'[#u'LLaN4l#`';j?tJX^(PX47r4=\6OUXbk2&/ kLY4~> !oNJ@r:CU_l1@F"oS7S]oK2:/oT*h\T2P[\!GAhK>4mV`%l1FU9ch-j>]_%gorq$5([=RtooE+dU hgb~> !mfcmr:UauL\B^hp9.Tlp/S-dp?s^/k:lm0!DH&^p'k$%p@dr/p@_Lhp@dZ.rq6WI55&3Sp@dZ. rq6HD53Fm&p&X>8rq6KE55&HZr:V(0YP.\<8G;bq>XCn=M"XiPp@c()p@d<+p?+./9`[pYJbI=] !q5$mJ,~> !nZW,r:L[bg\&N]ojjZeof_C/p#S4,eMmJ*!DcnsoaO(Fp%@E,p%:K/p%?j*rq-Pjjpp!l##;?9QsJb@7[ !qYU,J,~> !oNJ@r:CU_l1B:doLdU)oK2I4oW_![F[H(+!D0$`oF3nLo^oC[o^k64o^m3Urq$J'\F_lLo^m3U rq$;"\9*<"oDs#arq$>#\F_oMr:CpimI^$V`:W\^;G9eEl1@()o^kW,o^le+oQ !mfcmr:Ue!L\CC2_EPs4p/QP7p?+:+lnnA0p*!Fap@dZ+p@_Lip@df-oChmp9(lM`p@df-oChmp 9'e>&rUpQ`1@t55_FjN2U&=U("oRZ_Wp&a^?c[Y~> !nZW,r:L[bg\(,!j>lMuof^^qp!c>$h`pl.+[+6Gp!c>$of_C/p"hh'p%jpp"qubouH_,oB4_U~> !oNJ@r:CU_l1F.#g,nfroK21,oS%,RRUGm^%6N\DoS%,RoK2I4oTiSXoE\:4oK2C2oTiSXoE.q/ RoK=X!L?gdoE8"0oK;L !mfcmr:U=iL\CGS76CMB%95aOo7L!8p2as4p>WLXp+KE4hXc@up@_Lip@e/fDY)sZRJ(uPp@e/f DY)sZRJ(Q-l1E6oojMb0j[P[3@\N_n.oieHp !nZW,r:L7Vg\(5[EDc`.%6[bZm8o2M`F4ll;/=L7\n\Q&7o9:,/?f?*]S ^%M&e^%M&e]n,k.o`FaJf73~> !oNJ@r:C1Sl1FUD<0mOU%6K:6hF,KXn3FDPnB'bhoIi:[n_Q[Uo^k64o^qN5_=Y2tkk%'to^qN5 _=Y2tkjUgBo'=p+472\47b[M,B=RU'5dg1PalN)X ht6Q)ht6Q)hgtFOoE+dUhgb~> !mfcmr:U=iL\CH-/o1I[%98m!3F:qCp@*Vs3)5q?p'F`g=#jUNp@_Lirq7Q%Cc=G3p@d643be !nZW,r:L7Vg\(6p1q`h\%6_*p4EpAhp#gOX5I^== ?9CfVp%@B\4@48bp"2 O7i0AO7i0AO+HuUo`FaJf73~> !oNJ@r:C1Sl1FV;2VnB)%6L%P6'Cg2oZ^l16u(]YoEdUK90na3o^k64rq%DE;Ee.'o^n#-6/;+B ;Ee.'o^p105"D19oXId_neP cLg`rcLg`rc@PW>oE+dUhgb~> !mfcmq"=dZ0]2m'!EH>mp&S0sJbFZgq"=dXhp6f~> !nZW,q"4^R3:Qq?!BoN5o`75:Jb=Teq"4^[kLY4~> !oNJ@q"+X,7IpHM!B]] !mfcmq"=a&8,`,^ !nZW,q"4ZGE;fG14ll,*!BoLpomuf2o`FaJf73~> !oNJ@q"+Sh\Gc%#472P0!B]\"oRZZ0oE+dUhgb~> !mfcmqXt$`3^Caap&S0snFcl_YCZCupA"=_n))HA~> !nZW,qXjs\5>g_Eo`75:nFZfFjFQuTp%\1]oB4_U~> !oNJ@qXamN5%a9^oDq&@nFQ`Cm=Fn\o_A%[p[@!i~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgq=`h@qt:*[hp6f~> !nZW,Jb=Teq=Wb>qt1$^kLY4~> !oNJ@Jb4Ncq=N\ !mfcmJbFZgqt:$_i:R'Brq6E^hp6f~> !nZW,Jb=Teqt0s]i:I!@rq-?akLY4~> !oNJ@Jb4Ncqt'm[i:?p>rq$9dn)&W~> !mfcmrUp<*B0Ll(JMdFcj37nVfBDl"p@dt4c[Y~> !nZW,rUg6AU5=GSK7s8W!3tS)$-CZYoCV_KoB4_U~> !oNJ@rU^0]lK*TXKB**oio&k6$,k0No(2MGp[@!i~> !mfcmrq6GZ8Ral721d[d1c==n$2j2>i:Q^9n))HA~> !nZW,rq-B,OIqD]KS+pZK7\d:rsASgcJA*ap%.@uJ,~> !oNJ@rq$<]kN_/[jFcLpj5B"YrsASeb1cFXo_7h3J,~> $.%Mtp@c3l8##:"s+LCSrr"Z2iq $.nA3p%?jsO2pgBs+LCSrr%D$j7EZNq"i:toCVY;f73~> $/b4Go^q\:k4AM%s+LCSrr(a8j7 #LD;rp@`-.TRm,prr`9!1c=7b#PRN9oC_S0c[Y~> #M8/1p%>&O`I\&@rr`9!JV<"S#PI?0o(;P:f73~> #N,"Eo^qG6nq$gmrr`9!hrNbf#P@6*nalMDhgb~> #LD;rp@^[7l[f(frr`8u1c=4a#56C5o^C\`J,~> #M8/1p%=0!o7?pnrr`8uJV;qQ"j-9*oB4_U~> #N,"Eo^q8,r.4m"rr`8uhW3Sc"i^!%p[@!i~> #1)2qp@^@$JcC<$"9/3T2;n-3p #1r&0p% #2enDo^q5*JcC<$"9/5TjP]S5o>9tep[@!i~> #1)2qp@^@$JcC<$"9/3T2;e$0c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPTM3_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;e$0c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPTM3_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;e$0c1(Aohp6f~> #1r&0p%(a7&WkkLY4~> #2enDo^q5*JcC<$"9/5TjPTJ2_X@!hn)&W~> #1)2qp@^@$qYpOJJcCT,"9/3T2;e!/c1(Aohp6f~> #1r&0p%(a7&WkkLY4~> #2enDo^q5*qYpORJcCT,"9/5TjPTJ2_X@!hn)&W~> #1)2qp@^@$qYpOJJcCT,"9/3T2;e!/c1(Aohp6f~> #1r&0p%(a7&WkkLY4~> #2enDo^q5*qYpORJcCT,"9/5TjPTG1_X@!hn)&W~> #1)2qp@^@$qYpOJJcCT,"9/3T2;e!/c1(Aohp6f~> #1r&0p% #2enDo^q5*qYpORJcCT,"9/5TjPTG1_X@!hn)&W~> #1)2qp@^@$qYpRK')qn39bRI*"&2eE')qn39bRI*"&2eE')qn39bRI*!DQSlrrH=rrr3&b$NBVs #"i)"!!k[7JcF$q"9/3T2;ds.c1(Aohp6f~> #1r&0p%J'.Nq\!u&Y6.K9>J'.Nq\!u&Y6.K9>J'.Nq\!>EHMrrEnVrr3&H'`7J% #07P[!"DcrJcF$q"9/4LK\u;'a7&WkkLY4~> #2enDo^q5*qYpRSPlC[`$'bGh!t"-KPlC[`$'bGh!t"-KPlC[`$'bGh!=@rerrEMjrr3$o;t';X #3Q?o!#98FJcF$q"9/5TjPTG1_X@!hn)&W~> #1)2qp@^@$qYqcm"Sr)o#T!79q>n\."Sr)o#T!79q>n\."Sr)o#T!79q>n\8rrH=rrr3&b$NL," &LhYmp[\(Q.<"tTqHHPgmU@5gs3CWHrqnT1hsprqnFZ2,c[Y~> #1r&0p%#hsgljn+6/6f73~> #2enDo^q5*qYqcu*rl8b5p64-blRWp*rl8b5p64-blRWp*rl8b5p64-blRY #1)2qp@^@$qYq`l'UJd_*J0UWkR%:g'UJd_*J0UWkR%:g'UJd_*J0UWkR%.d!F&1qrrMBlrVlmI Er>q<.<>Ff"^=V!s4@a2s3CWHrqnT1hsprqnFZ2,c[Y~> #1r&0p%`cUrrLI\rVlm* h>I9R$Jk^]"W#2Zs-jmWs3CWHrqq>#hs^fin+6/6f73~> #2enDo^q5*qYq`t"8)UrZk)g/=\Jed"8)UrZk)g/=\Jed"8)UrZk)g/=\JYl!=S)irrGhmrVlm% nGN:e"n;Nk"UjMns#XhDs3CWHrqtX6hsU`cmdg,@hgb~> #1)2qp@^@$qYq`lLHPUQ8BX-q_&iXVLHPUQ8BX-q_&iXVLHPUQ8BX-q_&iLR!F&1qrrMBlrVlmI Er>q<.<>Ff"^=V!rHfE5s3CWHrqnT1p$r*Kq(;Z0p$r:2nFZ2,c[Y~> #1r&0p%"J\n,G+p=[s+GD>"J\n,G+p=[s+GD>"JPj!>`cUrrLI\rVlm* h>I9R$Jk^]"W#2ZqDCBds3CWHrqq>#p$_sKq(r)8p$`.*n+6/6f73~> #2enDo^q5*qYq`t&D@(/i\&pa,e!aQ&D@(/i\&pa,e!aQ&D@(/i\&pa,e!UM!=S)irrGhmrVlm% nGN:e"n;Nk"UjMnlP?:Is3CWHrqtX6p$VmJq)/5:p$W($mdg,@hgb~> #1)2qp@^@$qYq`lc5-FgZ0iD-@8-_$c5-FgZ0iD-@8-_$c5-FgZ0iD-@8-Ru!F#d-'*/^QrVlmI Er>q<.<>Ff"^;3J%O/Z=s3CWHrqnT1p$i(VS,4f=QM1"A"jQQ/n))HA~> #1r&0p%Z7G'*/XYrVlm* h>I9R$Jk^]"Vqaf"ukk!s3CWHrqq>#p$`"TT)1>FR.g4B"ip*'oB4_U~> #2enDo^q5*qYq`t0qeOSpMQZ($fh9e0qeOSpMQZ($fh9e0qeOSpMQZ($fh-a!=KP>'*/;9rVlm% nGN:e"n;Nk"Uc%]"B"oEs3CWHrqtX6p$MkQTDLMIRIp1?"iB]up[@!i~> #1)2qp@^@$qYq`ln-/Xqs839$"hOa6n-/Xqs839$"hOa6n-/Xqs839$"hOU2!F%niirRL6rVlmI Er>q<.<>Ff"'\.Vmt(M_rr`8u1c=pq!VW#]/ch:3o^N+0nFZ2,c[Y~> #1r&0p%`!?irQ\)rVlm* h>I9R$Jk^]!uA<.o7?qcrr`8uJV<[a!VN&_1]a!:o^;t(n+6/6f73~> #2enDo^q5*qYq`tGUhN(s5GQb!Vl]pGUhN(s5GQb!Vl]pGUhN(s5GQb!VlQl!=R3PirMSIrVlm% nGN:e"n;Nk!t3Q@qLS[jrr`8uhW4=s!VE#_2?B6 #1)2qp@^@$qYpjSr=+r,s8Q\p#QF`/r=+r,s8Q\p#QF`/r=+r,s8Q\p#Q"H$>>"np!U:$jrrFQh r;QdHErQ(>>=sJHb5VSCr%p;&nHJWU/hWI`oC3"/nFZ2,c[Y~> #1r&0p%[ET( #2enDo^q5*qYpj[lN1@fs8NL549#6clN1@fs8NL549#6clN1@fs8NL548SsX$g7Nh!DQMkrrE;m r;Qd$nG`Fg$g3*@b5VSCr8-N+mKN6T2E$uqoBle!mdg,@hgb~> #1)2qp@^@$qYpjSs*>;@s8TnJ)ZB[@H4iC@s1o@d!@`'grrH=rJcEmm"9/3T2=g5=oot^7o'ch-nFZ2,c[Y~> #1r&0p%<+D>:_u;rrl4Ys8NkUrr3#G'`J%4 $JkX[!=IZ^rrEnVJcEmm"9/4LK_"R6op;$ #2enDo^q5*qYpj[rsfUos8OAVXo88)%M7@os!85YrVm*4&DI0a,nR3XrrjRRs8NJirr3!n;uQ^s "n;Hi! #1)2qp@^@$qYpjSs2k>.s8V9_7K*5kaoIe.s6'GOrVm,F!13`ckQ"'Nrrn`[s8Q:qrr3#a$N9u* .<>@d!@`'grrH=rJcEmm"9/3T2=^29p@7VUc1(Aohp6f~> #1r&0p% #2enDo^q5*qYpj[s"+6Cs8Q1$hu3Q[/HGGCs&]9YrVm*S!;- #1)2qp@^@$qYpOJh>[L%mt(MBrr`8u1c=1["jQQ/n))HA~> #1r&0p% #2enDo^q5*qYpORhZ!ZQ3<"L/YQ"_(r8-Mllik8oo(VV1J,~> #1)2qp@^@$qYpOJJcCT,"9/3T2;dj+c1(Aohp6f~> #1r&0p% #2enDo^q5*qYpORJcCT,"9/5TjPT;-_X@!hn)&W~> #1)2qp@^@$qYpOJJcCT,"9/3T2;dj+c1(Aohp6f~> #1r&0p% #2enDo^q5*qYpORJcCT,"9/5TjPT;-_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;dj+c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPT8,_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;dj+c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPT8,_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;dg*c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPT8,_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;dg*c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPT5+_X@!hn)&W~> #1)2qp@^@$JcC<$"9/3T2;dg*c1(Aohp6f~> #1r&0p% #2enDo^q5*JcC<$"9/5TjPT5+_X@!hn)&W~> #LD;rp@^[6l[f(frr`8u1c=4Y#4'V)o^C\`J,~> #M8/1p%=0!o7?pnrr`8uJV;tI#3j7uoCM.sJ,~> #N,"Eo^q8,r.4m"rr`8uhW3VZ#3Wtno(VV1J,~> #LD;rp@`0.TRm,prr`8u1c=4Y#34>*o^C\`J,~> #M8/1p%>)P`I\&@rr`8uJV;tI#2dkuoCM.sJ,~> #N,"Eo^qG6nq$gmrr`8uhW3VZ#2IMmo(VV1J,~> $.%Mtp@c3r7\Asss+LCSrqnT1iU$m9dcU)ln))HA~> $.nA3p%?k"NlCR?s+LCSrqq>#iTga5c/\ $/b4Go^q\:k48G$s+LCSrqtX6iTUU1aPlXZp[@!i~> !mfcmrq6GZ87Ff721mdd1]TDnm0W(7`n^%Sp$^eaJ,~> !nZW,rq-B,OIqG^KS+pZK7S^9lNue0^tA)Go^h7tJ,~> !oNJ@rq$<]kN_/[jFlRrj5StWj66m4f=BH!nalMDhgb~> !mfcmrUp<-BKq&*Ji*QcLuZ5V_Th'.o(;VDhp6f~> !nZW,rUg6BUPaVUK7j;YJZ[tB$+n77md]o@oB4_U~> !oNJ@rU^0]lK*TXKB**nhq[7s$+.S(mI9] !mfcmJbFZgr:U6bo'bu+lj3%Jo(;VKn))HA~> !nZW,Jb=Ter:L0`naGi*lNuqFmd]o@p%.@uJ,~> !oNJ@Jb4Ncr:C*^nF#W'l3ZeCmI9] !mfcmJbFZgr:U6co^_P5nGi"`oCV_Lp@$nbJ,~> !nZW,Jb=Ter:L0aoC;>2n,Mk^o(2MHp%.@uJ,~> !oNJ@Jb4Ncr:C*_o'l,/mKr@Onac;Do_7h3J,~> !mfcmJbFZgqt:$_i:R'Brq6E^hp6f~> !nZW,Jb=Teqt0s]i:I!@rq-?akLY4~> !oNJ@Jb4Ncqt'm[i:?p>rq$9dn)&W~> !mfcmJbFZgq=`h@qt:*[hp6f~> !nZW,Jb=Teq=Wb>qt1$^kLY4~> !oNJ@Jb4Ncq=N\ !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbFZgeFit4hp6f~> !nZW,Jb=TeeF`n7kLY4~> !oNJ@Jb4NceFWh:n)&W~> !mfcmJbB*;[.X+c[.X=i!q5$mJ,~> !nZW,Jb9$9[.O%a[.O7g!qYU,J,~> !oNJ@Jb/s7[.Et_[.F1e!r)0@J,~> !mfcmKD,? !nZW,KD#9:ZLe+gqt:!]ZLe+grq-?akLY4~> !oNJ@KCo38ZL\%eqt0p[ZL\%erq$9dn)&W~> !mfcmK_>QAo]XoQ[`ns$fBDl"rUpBeo]XoQ[`o-)fBDl"p@dt4c[Y~> !nZW,K_5K?oB+ND[`8Nme)p8orUgf73~> !oNJ@K_,E=o&J'7[_`0ccfFZgrU^6ao&J'7[_`?hcfFZgo^qnHhgb~> !mfcmL%Y]Co\e6dr3lV7r9_tko_%qOp%71lmJOEm$2j2>i:Q^9n))HA~> !nZW,L%PWAoA.aYqmQM6qs2P`oCV_Ko^gnblhe-j$2a&6h=L:3oB4_U~> !oNJ@L%GQ?o%M7NqmQM6qru8Wo(2MGoCCVXl2.ph$2`u0g@Fk-p[@!i~> !mfcmL@tfDo]Oa#q6]i'q>/V)o_%nLkLBA([.Xe$qUFa$p$^eaJ,~> !nZW,L@kcCoB"9oq";)f%JBMmcK4Zio^h1iqY9`loEk3cqTe3oo^h7tJ,~> !oNJ@L@b]Ao&Imgp[koc%J9Dib2`'aoCCqaq=jNio*P'`pr_XfoCq_2J,~> !mfcmL@tcCo@N@&ZLnOtm+:k%p%-f%p9O>rp?^E&p$^eaJ,~> !nZW,L@k]Ao$ZgrZLeIrl-f.po^^Gqos42pp$'oqo^h7tJ,~> !oNJ@L@bW?n]p@jZL\Cpkg&_ioC:,ioWn&no]XTjoCq_2J,~> !mfcmL@t`An^$p5o`t3:nauJDch=U9#56C5o^C\`J,~> !nZW,L@kZ?nB(@,oENG,oCMInormukameonkLY4~> !oNJ@L@bT=nAOt&o*32'o():goWRii`UNHmn)&W~> !mfcmL\:iCo^U20o`k-7nalABc*-dEp !nZW,L\1fBoC0fmYk&+la7/ZjnAk1*o*4j-nFQ87f73~> !oNJ@L\(`@o'aHeYjr%j_XI$bn&"\#ncn^&n+-5Ahgb~> !mfcmL\:iCo^L,.oEEM/oCMIrY4MnBnFZ2,c[Y~> !nZW,L\1cAoC'`&o**2'o()7iY4Dh;n+6/6f73~> !oNJ@L\(]?o'XAtnccnunaZ%aY4;b5mdg,@hgb~> !mfcmL\:iCo^L,.oEEM/oCMIrY4MnBnFZ2,c[Y~> !nZW,L\1cAoC'`&o**2'o()7iY4Dh;n+6/6f73~> !oNJ@L\(]?o'XAtnccnunaZ%aY4;b5mdg,@hgb~> !mfcmL\:iCo^L,.oEEM/oCMIrY4MnBnFZ2,c[Y~> !nZW,L\1cAoC'`&ncd)&o()7iY4;b:n+6/6f73~> !oNJ@L\(]?o'XAtnHHetnaZ%aY42\4mdg,@hgb~> !mfcmL\:iCo^L,.o**D.oCMIrY4DhAnFZ2,c[Y~> !nZW,L\1cAoC'`&ncd)&o()7iY4;b:n+6/6f73~> !oNJ@L\(]?o'XAtnHHetnaZ%aY42\4mdg,@hgb~> !mfcmL\:iCo^L,.o**D.oCMIrY4DhAnFZ2,c[Y~> !nZW,L\1cAoC'`&ncd)&o()7iY4;b:n+6/6f73~> !oNJ@L\(]?o'XAtn--\snaZ%aY4)V3mdg,@hgb~> !mfcmL\:iCo^L,.o**D.oCMIr`q'4>T^21Qc1(Aohp6f~> !nZW,L\1cAoC'`&nHHu%o()7i`pj'phWs\8a7&WkkLY4~> !oNJ@L\(]?o'XAtn--\snaZ%a`pa!kkj.^A_X@!hn)&W~> !mfcmL\:iCo^L,^nd`fK2`YU'o($m8o((X%O5TR4c1(>rnBL7h"jU[?1K::4nc<6olgb5(nFZ2, c[Y~> !nZW,L\1cAoC'`VnID^(3CA5[naT#gnaXFV[c$ZZa7&Tin&O_`"gVDq4Cu=gnGtr5lgY/!n+6/6 f73~> !oNJ@L\(]?o'XBOn.(d[3_bh*nF/WunF2u6f&6$$_X?sam_\8Y"eAUR6Zq/Dn,YZ8lgP(pmdg,@ hgb~> !mfcmL\:iCo^L,_ndj/(V=O#93p-!VC%Bt?RePb2"jQQ.oC1#jncmMsRcsCbD<(0fA"i5Z"jQQ/ n))HA~> !nZW,L\1cAoC'`WnIMQ\_"Qi2:[dgBb43,*_t;mW"ip*&o'aWbnHPmP[.!IpA)m([6/V"u"ip*' oB4_U~> !oNJ@L\(]?o'XBPmgjYAdJ2 !mfcmL\:iCo^L,`ndk7_HM6q$p1%b+G%oPhT_I@7"jQQ.oC1#kngEs"Gk^h#o_J'^:,kS0o(#bE ?;F_go()-o4?6d>o'Lfd3-b#bA"i5Z"jQQ/n))HA~> !nZW,L\1cAoC'`Xn.4nJ`:NKgp->kO7EMquaReM.nF5CP5!a;[nDe:J6^.$/6/Lqs"ip*'oB4_U~> !oNJ@L\(]?o'XBQmgnD !mfcmL\:iCo^L,`ncJ#.lM^8Ya?]<>:cG !nZW,L\1cAoC'`Xn,_9%r9sr=>4=t=44!NTn--l$o()7im-k&02YunaV !oNJ@L\(]?o'XBQmfA_9rU1$];mGdUHV !mfcmL\:iCo^L,`nH.c+o)8(_coU]?2*L3[nHI2,oCMIrm-t/<1%P53*q]$no4aW_ !nZW,L\1cAoC'`Xn,_$"r9so\:@L\C=7P,9"ip*&o'aWcn,_$"qX>R!naQ0;g[IAcnF2ZgnCp(t nF6&=gcP2un[r,r6/Lqs"ip*'oB4_U~> !oNJ@L\(]?o'XBQmK%W1r9a_pRI3:&Mqm_(_X?sam_\>Y!I@T=mN1ugme&a)mQ9_%mT[WtQW3SE n+#h9;tBAHBsR.hkNhO>_X@!hn)&W~> !mfcmL\:iCo^L,`nH.o-j8JKQ`'Ej9B7*/4hXLconFQ8@c0Xs%kV(unnINE>6:NqjnQ)j`n]ses j#Hu,!TGg49E\![nRJ9YnHI2,o^C\`J,~> !nZW,L\1cAoC'`XmfM6%m/?AXH !oNJ@L\(]?o'XBQmK/edUdmT8ahX1Qamd]i8_X-[lR60g5mLP4Q92%>+mQ9Y#mU!`t FG'MZ!Hga.;?TUcmQB[umKLJqo(VV1J,~> !mfcmL\:iCo^L,`nH/2PG5h" !nZW,L\1cAoC'`XmfMl<]Dh7*m6J&I7EP.#D=6 !oNJ@L\(]?o'XBQmK2Q3gA^LGjZM2`5MtEeQ/:p4_X?sam_\>Y!p;SsrU(9bY#=N\q*!g,46Z,# ?GZ'#<;c.bRpuBm"T%cY4Ql%u"iB]up[@!i~> !mfcmL\:iCo^L,_n.4/,T]kEq3U6*WC%1b69C(O*"jQQ.oC1#jn0ZdBR,@,DD!*Y !nZW,L\1cAoC'`WmglE\\Ehjh:@R^@am\dsF7.uT"ip*&o'aWbmj>+tY3"cP@ba3:n&%$8mlfUt n!e=cmn&Q*lb)]T9U+l2d_tT>h !oNJ@L\(]?o'XBQm18W1;TS1K;KqQr5Mbe`6(6]u"iB]tna=9\m3h=L:VZ)LU84>imHp?$j6\qk mHn5rmI*9Am,Z"Mn3F5El,2BF4Qbts"iB]up[@!i~> !mfcmL\:iCo^L,_n.>0:?8XZUh!slWC%1WaCJaEWn-.)+oCMIrlgQ7le7CTu=g[^o6XOVPL[\?H nF4aqnF5sp3]UU;nFD/o3),h1A"i5X"jQQ/n))HA~> !nZW,L\1cAoC'`WmL\uq<]EBona>g6aR8Kc9R,s`mKLZ"o()7ilg?+k\6M*_C!5su9k8iEfBtfZ md?N`mdB=S4@+/Ymd"gU5?u"l5ht\n"ip*'oB4_U~> !oNJ@L\(]?o'XBPm18oZ9fYk3oBkp0h !mfcmL\:iCo^L,^n-S[]qtp0ZnF62IrpTs`qV^iHc1(>rnBL7f'Ctqqqt]mRp%nLZp\++Po^MA@ qYosdp\Xj`rpU0eqtp6_nG2bCn-.)+o^C\`J,~> !nZW,L\1cAoC'`VmLJjaqtg$TmdBrAmdBQ>p>G?Ba7&Tin&O_]-1^j.qY0OJpA+LWqXEqLn*]W9 p[7J !oNJ@L\(]?o'XBOlicqUqYBa^lj!=Rm-O3;o&/j<_X?sam_\8U-1gp.q=X1BpA"CRqX*YGmHj37 nEfN1q"jgXm-O38qYBmQm/$,8lik8oo(VV1J,~> !mfcmL\:iCo^L,.mfgu*oCMIrY3uP=nFZ2,c[Y~> !nZW,L\1cAoC'`&mKLZ"o()7iY3lJ6n+6/6f73~> !oNJ@L\(]?o'XAtlik8onaZ%aY3Z>/mdg,@hgb~> !mfcmL\:iCo^L,.mfgu*oCMIrY3uP=nFZ2,c[Y~> !nZW,L\1cAoC'`&m01Q!o()7iY3cD5n+6/6f73~> !oNJ@L\(]?o'XAtlik8onaZ%aY3Z>/mdg,@hgb~> !mfcmL\:iCo^L,.mfgu*oCMIrY3uP=nFZ2,c[Y~> !nZW,L\1cAoC'`&m01Q!o()7iY3cD5n+6/6f73~> !oNJ@L\(]?o'XAtlNP/nnaZ%aY3Q8.mdg,@hgb~> !mfcmL\:iCo^L,.mfgu*oCMIrY3uP=nFZ2,c[Y~> !nZW,L\1cAoC'`&m01Q!o()7iY3cD5n+6/6f73~> !oNJ@L\(]?o'XAtlNP/nnaZ%aY3Q8.mdg,@hgb~> !mfcmL\:iCo^L,.mKLl)oCMIrY3lJ !nZW,L\1cAoC'`&likGuo()7iY3Z>4n+6/6f73~> !oNJ@L\(]?o'XAtlNP/nnaZ%aY3Q8.mdg,@hgb~> !mfcmL\:iCo^L,.mKLl)oCMIrY3lJ !nZW,L\1cAoC'`&likGuo()7iY3Z>4n+6/6f73~> !oNJ@L\(]?o'XAtl35&mnaZ%aY3H2-mdg,@hgb~> !mfcmL\:iCo^L,.mKLl)oCMIrY3lJ !nZW,L\1cAoC'`&likGuo()7iY3Z>4n+6/6f73~> !oNJ@L\(]?o'XAtl35&mnaZ%aY3H2-mdg,@hgb~> !mfcmL\:lDo^L2mYjD\]cg^PtnB^F)m0;n&nFZ2,c[Y~> !nZW,L\1fBoC'fcYj2PYam\fkn&agulNZUqn+6/6f73~> !oNJ@L\(`@o'XHZYiuDU`U<9dm_n:mkm$=imdg,@hgb~> !mfcmL\:lDo^UPnYjD\UfCAJ(n^lg*m0;V&nau;-c[Y~> !nZW,L\1fBoC12cYj2POddZhunC$3ulNZ7pnFQ87f73~> !oNJ@L\(`@o'al[YiuDJcL:;nn'9ankm#qgn+-5Ahgb~> !mfcmL@tcBn`J9cZL%tadcU)lo^V(lla#m_ldFqco^C\`J,~> !nZW,L@k]@nDhdXZKhh]c/\ !oNJ@L@bW>nDVIOZKV\YaPlXZo'kVZkHa=WkK)WOo(VV1J,~> !mfcmL@tiEoC(JShWhQ:%I2fih!ak-p%.Y-`np!hm0W(7`n^%Sp$^eaJ,~> !nZW,L@kcCo'Y/GgZZ*3%HuQ^f^A>&o^_G&^t\(]lNue0^tA)Go^h7tJ,~> !oNJ@L@b]Ana4l;fB0O+%Hc9Qea;nuoC;4u\_#uPkm?M(\^g*;oCq_2J,~> !mfcmL@tiEo^_J0c,-p(%DpBKn+-,Dp%7hDiQ]6J^Bqd%iU?@0p$^eaJ,~> !nZW,L@kcCoC;8*a1Jdi%D0[;md]o@o^hV@hT*7:\-]dfhX9q*o^h7tJ,~> !oNJ@L@b]Ao'l&$_R-bV%CF",mI9]+YmIeSg[4M$oCq_2J,~> !mfcmL%YZBo^_J=[-S1gn+-,Dp@e1Oo'c"Rlj3%Jo(;VKn))HA~> !nZW,L%PWAoC;89m'c3hm-X62oCV_Ko^hV@mHh:I$1.'InalDGoB4_U~> !oNJ@L%GQ?o'l&5laH'flg4$.o(2MGoCDD !mfcmK_>QAo^hVC[da=e!qZ'WrUpBeo^hVC[da=e#P7T\p@dt4c[Y~> !nZW,K_5K?oCDD?[dX7c!qPsTrUgf73~> !oNJ@K_,E=o'u5<[dF:enF?)@rU^6ao'u5<[dFIjnF?)@o^qnHhgb~> !RKYSmt'rUmfD=lJ,~> !S?Lco7?M]o)\%+J,~> !T3?spOW(epAsa?J,~> !7-5RJ`"i3!7-/~> !7uebJ`kDC!7u`~> !8i@rJa^tS!8i;~> J^8nncHh"~> J_,J)cI[R~> J_u%9cJO-~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/capture_file_dlg.png0000644000175000017500000003121411220500634016703 00000000000000PNG  IHDRXbKGDS pHYs  tIME 9?tEXtCommentEtherApe link info window screenshot. Created with GIMPY[1 IDATxwxߙSRIB )$i (",Wi?6W6AQQPJ PzK2?9pH yIΜ]9kQF<_ 6Aj5|}}qXLhB2A:NjAEM?W}b(An9WO i J/j{{"[j@biAn-RWP27!q)hxlVC pk kW]5gB*^P]>2v`ˊ^=LsrVg ׿U' 6*ruS Vf.Sel@3)jUX 7(:xO:gMK) u`)]};ѯo_UEUUEEUTYEU{bOnt>YwG-O)w3+w8牾N0\<<#}艦,6r/d`ݽ!TN'ei1hkUxQz;\NlM4Cڲ+X.FRwE[EQiuIɩg?? _t}ˆ`-::5b7X{t:ŊA=#_qVk٪ ͂1[,AJ-yNژSs!Ƹė&rY4y{*/W;jk|OZtsGǚSF`OlO>8uN\JF8RT.rItQ.4\, 짋b/QKу?y—}FNʾ?Q&m.?G l̓N#2'slOOЯ[s7WyQHvvg410]hé<:9_vW3$DxC9~1*< zU]ipia]YhRNxŦ\:) oYZ7Ǎfw_zV\B{Fwf7ioE.eʯ0n酧1t$%kOӘhڎ쏯,#1|@kEm:3)a3VĨA̪?0rDLjcϾ ×ZrSVgʵY.6a_'K'p s8QT&h?ˎݥ]֯[86̦bh+g :fb:+EE|[xs>iׄE Yͮ?[bJkAӷ`-H.w,ZT|^b`}w\e71`qؚTߛTKeXJYy (((jA`là?{:bYʸoٺs?ꄪww\CJz=-sƄǟav6|;n&φ8D/ΚjDQTZM#|13>Dtnь~1.o'v|4u $Ԏ'^^N=RNs/e+n$'s@197ՙsSY?_EY(k_  o~cq?o[N>jDgFh:[?"4¶]'شy3y;رy qibK(w4F-b?Ysga iOid=&2^m6nAQ ZWbAѻ~){B4[wz՝b{:f^[u|t9N?\hfF|VzzludX@cяl*RxgߕQ1\Y7"p, twY+/̸cZχ<ӡ%ѹп{ \1+ӧo}31mi҈}{]hN豓FSkm_);圾9OrG+_"7_S˶Л /Bc8QPj"<:n;^*mx/{e#My;2O%` xqZߋ|Ucc_y1\Ah?Vr!v@WS`|j_k#ݒ{wjȡX.Dyyzr -#h*&T/AS<0'q/Lρ=\fk8<.FK?䞁_{oޝ/VFUj%Z~&{RY7=&igǍ|S ,<8T.^J[G0f ߃f!Mש:k)NۂsA<EluU-BWF\i+=º=KQtTyJ/:#|}yu9q ˍ}j_nUCXG\urOh,biAnIt9xzaI>$& B<IIM \#IL: y B-!+ + + ްTj4pOwȓ@P`8n{ bɒ%Ma qpc:щJyk6ezw? S Z":*=z1A =^z_-O\\\m20lkҥKbK;vuCnn.#GdCxF}OG.oU9y$gfx{{Ŝ9s`ꊛ}sv-1zh, ;tc,^|56m[n4i܄wKE0}t"hi)((p>,X@޽tiҭ[󉏏篿*; <]2}tT/'x/9컜'NĉŅ;&V˩,dwFSHOOgDGE,1CZjZlZVʊn\cCп_:vȞ={HMMe̙WegA䫯B+]q7w}U+9&!MxgM:sα拉>ذa%/_~ӵk2 rrrX*~)ɼkU711?܃/44___MƆHOO/*}j=/6oK豣عAUj˩ -9k,llZ6ŕݾXm bmڴ-^w:vHtT}T_777&Mğo33͍G}582e zɅiiilذaÇ0l0_=999&O ``℉|wU۝HNIvɯ^~hOFFFꭌ!̝;T|I ;vVMINA4BCCoU)#66ɓ'QUL~~Clz-\ߚM6ŲE`7 ^+J_VҨQ*Z,b)ٴ}qq1K,q3gb|}}`ܸq7jQY@Ejl_YYYYpÆ 㙧رcٯWQXXd"""^dbႅ)Ϧe!q0>Dm7AMӐ*n Uoе[WFIXh1bXújپ2x/2c{>l8[4/UFy6- zyW_o7>:ޡDuͲoe9n orճ)b Pr 2E  +DDDȩTAAD`AD`AD`AXAXAYMKr" \In=uz -5F uK-Tl|Bx_!kօ,1TlX"#" Wр~juU)f)吕u uUrp (h u)jVV$VV**mVNo-fǐCJ_*<<<$ BGVjĤZiK\\ ɉ2k,n jVg\]]]\\fΜ9rTu$ngr.~<233y4qnT~Ʉ`e}Y\]]qsso̙3LiӉ"EӧMwx'x/ hAU#ޮ-]RU ӧ)..&>>F,X}ҵKWV+L4ȈHZlųv2uTΝ;v&&& QcE۫JM^}J˸\v}AٿONJ~`hƔǧqظi#mogLN>MRRm66mʶm4[ҡCHNN?;Á-7&Mdo9w~Ǝ;HKOW*GuZ؎:MtTts33͍G}5t)x{{Q%U`|I\fCOZ["0Qф4 ]vyy<=ZZ+O<ÏXViٲ%[J^^)m6V+۶mK.XVTUEUU<1oJzz:7lg &OڵkZsk֮ŖQ_q֔"c(X,k?}HOKgǎ}111kU.jRy}ɬfcղOOO 00о/0(Lf3:]m4hЀ֭[ӣG^|EmoL>Me|G̙=-ZOsG;3a1LXܪ?+WQFrBU*ܯxp<{Cmx}8ʲJ>[5|' f 9|_IIIڦ_>`լt/Ϗ.]AHH-h4a/{tѝ".XȔ)S___\% 6MkZO>̞5L҈\2FV͝ pw`ܫjE2̘MfYb8e_ǗN1x"?/ .XȽkOӮm; Y :wfܹ31111((hVt~3E F<=ʚkM2.FrJ22rA6<,&!emޜs}#5k#HoJmQEQ, dpM[ajרa#zEvN6g3RIܪD@7`媕4jHF *(DFDbXߟMQa"Wu_>KO>}=k6YrK"(TU%*22XZ5rAL<>">yÃ;IxX8C eUrKV`լUTjdN9bR*ɏxlvlu{^:%5xYPnqbҶMZ=1fԘ2u31)iSɣ ܜS7" kA.!kp lMr[*} 7?cFarl]WUL  + + " " " B >/VA(ȈȫXy BTZ2 #s " "     + + + " " u@ bĊZYAVq3jXl5⇿"Bkօ,15FN[b$0 PPG + U#YYYWu`n ? U<"BD7o?&قb4 1l< *~D`9SDҹ$%%=KQ>Nœ~ FAzX!| 8t:Sx 1L`Z{, iii QUEQ*"B֮]KzA4M ( E"\ *y4[n}_|NL{ӡcJM:uUVa69r$  Or v`˳>GBBٗ6MC \2Q&hץ]5]o?L{W蜛ebXiRRRXp~G|)..3v~jԴ6;v2 bZ)..\Z"gw垧[LGNJBC+ͱ{Ͻ4kڌ[ؿC;wDNNC[Gx, yxMj%͋ƍ\pLrr2|gOr[n;KFJ2iiiYnB|?i׶2%_l?OP`PAVs Xv#=be޽^ YXM/#? T˷5k0~x>~Fdd$C!>>R$9k<ü1 O_#XȤ|Mį[ʚ/>'>sϳxs{LWt:]رNJVp6n]oӋVl[z5q%0)hu['B[vТgCۓZ0vpwؙ42,.K}M恱ꊷ7O?4b:˯y@[K|3 Pz԰6l˵}!\?FM"6JcWM "2ot:]2S1<7FǨQx4tFIViޜ%55MHHH Q0K>_ ѣ董:\b:Тy ڶi /`>''3fЪe+1cm?E.֦juqd 1ohъt*%E8ɡX-6l^whÇIIIa;p@{9f3ڿg-77o~ߑPyxxpϨunAzzMtDQ+\uJ"{M4nz8z('Nw){hѢ̘>3gpB{'rJTUeܹy3A,,.e tu>sgiꬣB`ooo3/-[:u UUX,9ػ^z EEE;4MYfe1%9յX,LRS>P;5 |P 07[Hz\~ûf*(3&2֭[ޠߪ4)""at[_JӼEs}c2uTz-4F/X ؝f!3]=,Gi7xz{ѼysFc 6kJHH_5- .Coӻwot:{È#}y/(;v:||jW4lذM*_Z **G'>[AYX&2=DNF"9I\H=EƩx#ˉWWTEu(WAṙϱh".YJnN.ϝ`Ν<دY| <#hkry(_ Bl9f~yq ==4>_~IRbEeksX ^2Nl2_˳ͪΖTX~MAV`5MCsm1ɘr!$L=$ko[]?_!C}+߿?gժUztA||<˖/Eަ_}Ijj*'Ls[8Y) ixж[7: C}j{:sO֮^CVVfTy:t`w+HOOgQDGE3lڼaA<ܳL0#FYgøqhݪ5zb |Myԣ_~i݆QFqz2ڙ?'2DBχM& JZ=:$JZ?2ZJ,~> J`D=AJ`F6"J,~> !.9?mJYRdk\YB.PJ,~> !31UnJ]iVf\]XuQJ,~> !98Y(JbFZg\b6$`J,~> !.9?fJXh:]\XWYIJ,~> !31UhJ]32Z\]"QKJ,~> !98Y%Jb+Ha\aog]J,~> !.9?`JX1kQ\X!5CJ,~> !31UcJ\ZiP\\J3FJ,~> !98Y!Ja\0Y\aKOYJ,~> !.9?YJWGAC\W6` !31U]J\$ED\[hd@J,~> !98XsJa@sS\a0=VJ,~> !.9?RJV\l5\VL65J,~> !31UWJ[C!8\[2@:J,~> !98XoJ`q[K\`a%RJ,~> !.9?LiIV-gs5U,2"G=Ycs87G"\:O^.J,~> !31URiNE=Zs3I^K"L7%bs87GO\?>n4J,~> !98XliT1.?s66QF"R#RZs8.B/\E*_NJ,~> !.9?En9Y/Qr;Qs"H[DUho_s1>h>bG6l?`W!s8VrRHN:t_rr`8of95TL"cr]^[%RPPHcg^8s7q$A s873DI"2~> !31ULn>QE]r;Qs"WN#Ffn,B9gqYt2>lDXm !98XinDXHIr;Qs"io9q:li,lGrr4C]lJ_pBs8VcMiW/uWrr`8tn`0)t"o/,kW/2dNil^9\s7t[S s8:jVj+%~> !.=`e!NkASj8n8DKQI40r;R3)!Hb"7kmDNSg],52mW8GPrcA.qrr2t4iH,@@s8MNZs8VXuqfDg] pN-S*s6p%7/+[i_G(FbgFT2=;FT2= !36!m!QF'kirS/XKVJP?r;R3(!Mf/acQApWq>Y)9m\9cZrhBJhrr2sEiM-\Os8DH^s8V2MqkF.g pS.oNs5*l:5P(WMVLbMqU]1;jU]1;kUB% !9=%7!9*S0!TDsih>mNPrs\W,hYdCISDN-%s!YMEh>mQSrr?'Xh?a)[p@/"[s2`p`h?EfVH4*J\ J_nQ+rr;lPrr;oQ!98S~> !.=`_!TNeFp&XjHKPgk)s6opm!XA_Kr;S6tg&K*Go_?=ADJuH7qXr'WDJn/-i4SaFCi4IsrhKME 6>g\os5CcepV?cG$ZDs)qXr'WDJkC4q>+tH^&RO$#$:j)=`)jli4SaFCi?65qXr'WDR9 !36!h!TN_Do`=^FKUr8;s5*_\!XAc#r;S7?q>Y6FqY/(&StF@"rUnX4St>cXaPZmER@^JZrT+!G O.Ms=s2j3rp;d0($_Pc9rUnX4St=@0p\LI!o`*_J$BkGh.%^87aPZmER@hgrrUnX4T(Dp\3qAl7 cgq&-e"E;(q>\Onqp_%+cgq&-e"E;(q>\RmqtJ1'StF !9=%4!TN\CoE"RCK\HS,s*"AIrs&Q&r;R;^rr5"Erqb^1gYMDtrqbs[gDBkhjnA]6f\>fnp@J;H dbEOUs6'.Uq;_J/"l8_Hrqbs[gB.0MoD72ZrVpmD'@d'^=53`SjnA]6f\Q)qrqbs8g\q*N#OC.# nbiC_li,WIrr;*Rro;YenbiC_li,WSrr;-Srqb^1gYD;qrqu?AgYMDtrqbs[gBI$Bs8D`VK%p;) rS.>OqqD,2J,~> !.=`X!8dVH!pn2#r:U-HKP*ies6gG3BkV%ai;`YtbSo"2pAO^brbcAJs89IXs6!d&f`1dFi6r U#H%KbeF@]s89IXs6!d&f`1dFi6r=_-]%$cC?u5f@ ag'@f,D'S-s8Qa2s8$@.I"2~> !36!b!8[PF!pe,!r:L'GKU;l6s5"^oQ9gbqpAag0bQdkBk5>2XraV>Rs7j"hs3$^qq>]p[j,ucs h>bu+s7/@@R/-dYdE)@eJ!cV]s7j"hs3$^qci<;>qj:OYs4nBVdJs4\N;s7j"hs3$^qq>]p[j,udfs7j"hs3$^qq>^9OirB!fR,7lChV8#^Qf.o=[I+";QD"9W ]t!%c5D#:%s8SJcs8&)_Wdk~> !9=%0!8[PE!pRhor:C!EK\$>)s)rYcd6RF&s4bcA!ri5lqu-QkVq:eFlF6Nf[as(0s7uER3N:X, s)PaOb,!Y@rr;rPhZ*SWf@Tm!lF6Nf[as(*s/\]ef3/(PEd-11s8NDOrr;fgkrGa>s6@)fs0gMO q#B?t>BfrDlF6Nf[as(0s7uER3N;lTlF6Nf[as(0s8;-Qs8&YFqZ$THjShg(qZ#iip]%\QjT#1g ^@84ZK%L#%s4@8MqUY`-J,~> !.=`Q!878C!mSO/r:U-CKO=ehr;T+V?!q[PklMM3e,T+l$2X\68cScm![@[EARO*hpalL]&Rjr( Xpb%)MI']As6B[sNW8AtB)hj5![@[EARK])XT\N/=h"G1o_JOenH(u,s7e/H'cR,O=TTfIs(,ST s6g"&+ohOE![@[EARO*hpalL])ZTe>![@[EARO*hnI,`ss1:l&s1SI=-3RiYr`K:Hs8QYGs7R*A *\.AE@/L!"?iYS)~> !36!\!8.2A!mJF,r:L'BKTZ?,r;T+QO-8;ucNYC1q#B[u(&e/)P5kM&#!Dqc4-KC=n.u3K5a2*F 7j@p30ThOns3^usg],iDSH&R0#!Dqc4-I4sV$m0`=nD[lp&+jih#N6*s6pg-*`;t:*X4b,s#ZCW s4meu5l^g)#!Dqc4-KC=n.u3K;?-V:#!Dqc4-KC=hut/!s%8FRs*4SZ5678RrZ28+s8P0Ts6L"@ .6.lhP5G:TOoVM4~> !9=%-!8.2@!m&%"r:C!@K[^##r;T+DdF@Xb9HGZ5rr9A96N7!/i;`cb)KGfWH.;in_$^enVq1kI *K0mr44MdZs*=`6n,IIEjT#2f)KGfWH.;5rGt%V["9&8pq>UClU&`I;s1o'S)p&'Y$lX-cs*<,U s)Jr+[/^+6)KGfWH.;in_$^enaT)5J)KGfWH.;inPlsMRs!$A#s$Zo6=97L_rX9]bs8RB4s0)\o 2_@pYeGK:Ae,\NZ~> !.=`8!7^r?"QmMY_GX>5J7)[5%%Jrp7a^5Cl<)8,^p37f[pe~> !36!F!S$c?o`X?ji5"UUo`3HoHiW^7rt4'!I-L[W(OUW)s+^o(q#=r[qYqNqEVKKq#BbE%+qYpg] EVKKq#BbE`qYq0gEVKK]%t"*OAqg9b#=3`bAtJl!#W[,+s8D?4RV78"!.=b#pj<(AJ,~> !9=$u!RpZ=oE=3fh7`"MoDmm1N5s!;s"c^RrVn;1qYqNP^]"0k0Z(lKl2U/R Yk\5r\]=[K/SN2ss3#pNr;Q^)qqZr08]Uf02_`+hn,!%h(r,kGEc/qeqYpg< ^]"0k0Z(m!qYq0F^]"0d;o\e9.-^d3"-LXEO7<#G#T1b`s82KQc)cK:!6>&upr !.=`p'(-2_Y1jjrUp69*26qn,<:q"Vs9pd/V)p91rXlrqqQY@hs@imfc?k s8MqP$=ajus2GL@94._ur.khm(=<*#%nkLR`@Lug*CB`u!al!,r.kVg(0-1)jT#0aJP5mhq+C^8 J,~> !36!I!RUK.1 s8MqP$799Ws(F?@J"coAr.kh0A,$"96%A\0B7'[Y#CQN#!hoYnr.kV*A!!"rnGiE$JUdRPq0rCE J,~> !9=%"!RC<9oEFj*^@].]rU^*7KZO;ns)S&<&oYnhs%JEoao25fTum95.-LX-r.kLe[f-4TT)QhH qZ$E^r;Q`XM95_r0rE(cs2uk\s82_M!=uX5aV+OOEW?(A)dpY,rVn=^,sJ][fLq8iWs J,~> !.=`@!R169p'0Kk_Y1j^jo4rRbCiXnYQ+&#r`(+<:PAc8#>\.Cs2>UHfDif/s8RBk,pm%U0[]p> &l2;#p%n\)VF],7nf(E=s6Tkgs8RBk,pm%U0PJYLqG.3ss6g-g:JfI=`=bsB&l2;(s8RBk,pm%U0[]p>&l7-Z`>ejW]LG\$;-*_sH6jja@59TT8gY;= s,oQu:]AiC:]Ai>:B5cm~> !36!M!R(-7o`j?h_=bXZjSnfPbCkKMnc.G`reLN++6W[V)2!S9s(>)Zq#=u5s8Or>4[4TaDtj9E :4n1SrVHO17"G%3i^AIjs47L9s8Or>4[4TaDmA$FqL\n?s4n=bK2D=BB24)3NrT,:4Zu#_5B#3S h%G@#s8Or>4[4TaDtj9E:4n1Zs8Or>4[4TaDtj9E:4r?AB3kQ;Fao%1K9$!32*F)eKKjR?D)NR6 s!<&FKDs[+KDs[&K)hp%~> !9=%$!Qjs4oEO0b^@].Pir8QMaFq_=r;Uq^rltJd*rGtHO3>`Fs!Xqkrr4Cis8NpC?Y69F^]"0\ WlrT6q>V6_ao27/UsAr=F"-#Hrto*MAuT1Ql1!d1b6.\BEcCp!;#UDBWlrTCs8NpC?Y69F^\IhL E6I/=rto*MAuT1QrVn:GbKJfCrto*MAuT1QrVn:HbPqMib5_K-aiiA\huE]n?XIEE@)pNU8iHVI )TIEQro=%%ro !.=`E&'+A:p@QA?^s^$6an>B$`e7:kZ2=PGIT(FirmK=re,RB#<7q5i';,='aN`uL:J]I>`=l3M CB+5VrW!jWs6C]Ss7c3Ks8S#^<1j3haN`uL:JZ06p)Em."0qmp"oD7$e,RB#r_si/s8C$`l2OOT JH,'A<)fLirQ*7Js%cG>s2>ZN<%=O?rQ*7Js%cG>s2>XNf`/o(S,`NSi;?PQTE"l2c0>7(=8q.& ci !36!Q&'"87p%-/;^X9g2a7T&t`e9*Io)&G3Mhf:OrQj>Up]"l&L\Um^:tbmGdbsfu=bZVMB2FA= Y5eD*rW!kfs3P?Os6/Y1-LFV!WqpOEqs&k'Ms(>/`q#=u'f)Pd3mf%6^g&Lrti:[+QOoFFp j8]#fFG,GKh#3$-h"uj,Wdk~> !9=%&&&e)3o^]l3]["1&`Ui`o_h?87r;6L=aj'PZqW-ncrVn:Jc2R_kXmlAYl1FrSDp81[.':b= nc/7arW!l(s),@Fs7YURs8NpUc1(c$l1FrSDp7qT^MNel"8r1>EVmu_rVn:JrllDOs6f.DrVpf[ q>YJTc->bXmcjBBs)6-[s!Y#Kbpr5_mcjBBs)6-[s!Y"orr4CKmf3=Sq>Zc*nGhq@o_nf.ir/H9 q#C!l^kBu3j8I7%j87($j+%~> !.=`I"N'j*p>,_`#OB1@kNhHq^k>eiZhsbg6:"hio`+V"eGmK%=P<_n'Np%6p[Zq##Z0%N`=uEV XoIei9NYD8s8Fh(s2]]Wo9')%=BU7%p[Zq##Z,gHo`P(n"1/$r#5_L)eGmK%r`C+BK$X2^f9?P; KE(BE=BJ^XchI"^PR(+8s2>]O==RI*chI"^PR(+8s2>[Sg&K#*=b+`ko?%5:=b=uoo%0*3<5@/Y qqZ>p6A8P@e,*8He,3;JI"2~> !36!U"Msa'p"]P]#O9(=k3D6l^k@UGo)&GQ&;$"kq>]n1q#=u*Mu!Bc;iI$tqsVpc!f6XOB2a_H n,M#ALPq(ss8=5?T:Mi:0M^j[Oh#$QfKE?u)s(>8gq>Y)+N0N#mn%Ad[N0`8rn'QdiO4E4a q9r1BK8#6_h#!$/h#*'1Wdk~> !9=%)"MaR#o\0;W#O&h5jQPgf^kC&7rVQU\#Kk]Qr;XT=rr4CMd/O%nYLB<1r9_OG!7(TD.'M"E r;UpGcHsr0s7Ua;s#n'lg->YNd*nfRr9_OG!7(<YJVd*U7;kPX_fEraMbs!Y)McmmM?kPX_fEraMbs!Y(trr4CMd\>k$l`U?9e"l1)mDj8Jg"GNc p;A !.=`N"MOL%p<`fS#Jn3klJCF5Fbnm>S?!TE&!sK5b>$VsF(&hJ? /cZ+S>maC.!7Chc'JB[p./dEY3"c;s&1Ldg8cT"j>llJU#5VU,(]Ym`P(!sK5b>$XPs#5qg7 3"c;s&1Ldg(]YphTE!sK5b>$VsF'jY)[!#8dF3YMSu'jP$M3"c;s&1Lde+q=_V%PrcDs3pdL s3pmO!.9:~> !36!Y"MFC"p!uUaNCFT`$Q_j!O$`mTqMt[h!#,3i!XSj,rJq>G7MGn3*_;
&app; Manual &app; is a graphical network monitor for Unix modeled after etherman. Featuring link level, ip and tcp modes, it displays network activity graphically. Hosts and links change in size with traffic. Protocols are color coded. It supports ethernet, fddi, ppp, slip, wlan devices plus several encapsulated packet types. It can filter traffic to be shown, and can read traffic from a file as well as live from the network. 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2017 2018 2019 2020 2021 Juan Toledo Riccardo Ghetta Juan Toledo Riccardo Ghetta &appname; Manual V0.1 2001 Juan Toledo toledo@users.sf.net &appname; Manual V0.2 January 2006 Riccardo Ghetta bchiara@users.sf.net &appname; Manual V0.3 January 2010 Riccardo Ghetta bchiara@users.sf.net &appname; Manual V0.4 February 2011 Riccardo Ghetta bchiara@users.sf.net &appname; Manual V0.5 February 2011 Riccardo Ghetta bchiara@users.sf.net &appname; Manual V0.6 April 2012 Riccardo Ghetta bchiara@users.sf.net &appname; Manual V0.7 March 2016 Riccardo Ghetta bchiara@users.sf.net &appname; Manual V0.8 March 2021 Riccardo Ghetta bchiara@users.sf.net This manual describes &appname; release &appversion;. Introduction &appname; is a graphical network monitor for Unix modeled after etherman. Featuring ether, ip and tcp modes, it displays network activity graphically. Hosts and links change in size with traffic. Protocols are color coded. It supports ethernet, fddi, ppp, slip, wlan devices plus several encapsulated packet types. It can filter traffic to be shown, and can read traffic from a file as well as live from the network. &appname; is also a tool for gathering network statistics, and the data can be presented in a number of different ways. To run &appname;, select Applications &appname; from the Main Menu, or type etherape on the command line. &app; supports several command line options to simplify monitoring. Please refer to the &appname; unix manual page, &app;(1). Using &appname; &app; can be used to have an overview of traffic conditions in your network. It is a great tool to easily pinpoint who is consuming the most bandwith, or to check which computers are actually talking to some others. Quick Start To monitor a live network you need to run &app; with root permissions. If you are not the administrator of the machine you will ony be able to analyze previously generated capture files. As with any application, running &app; as root can be a security risk if some malicious traffic can trigger an unwanted behaviour. While at this time no such bugs are known, exercise a little care. Starting &app; opens the Main window (see screenshot). By default, &app; will try to open the default network interface for capture in IP mode, and will display a diagram of network traffic right away. Every computer currently taking part in a conversation in the network will be represented as a circle (a node) in the diagram, with its name displayed on top of it. The fact that two computers are communicating with each other is represented with a line between those two nodes (a link). You will notice that both nodes and links vary with time in color and size. Size is used to represent the amount of traffic: The bigger a node is, the more traffic it is dumping into the network. The wider a link is, the more data is flowing between those two nodes. Color, on the other hand, is used to represent the protocol being used the most by a link or a node. You will find a legend for what a particular color means in the left side of the main window or in the All Protocols dialog. Look closely and you will notice that in fact links are not lines between nodes. Rather, every direction of communication is represented by a triangle. Packets go from the shorter side to the opposite vertex. Since computers usally talk back, there will usually be two such triangles between two nodes, the base of each representing how much each node is contributing to the conversation. You don't need to know much more if you just want to have a simple look at your network. Nevertheless, there are many settings that you can use to configure what exactly will appear in the diagram, and you will have to understand how this settings affect the program to have a proper comprehension of the meaning of the display. Besides, &appname; offers you the possibility of displaying stastistics for many of the elements involved. Read on to learn how.
&appname; Main Window &appname; Main Window screenshot
Modes Modes control how &app; captures, decodes and displays network packets. Node identification also depend on the current mode, thus changing mode requires restarting the capture. Link Layer Link Layer mode focuses on traffic at link layer (e.g. Ethernet) level. Nodes are identified by their link layer address, highlighting local paths. In this mode traffic coming from an external network across a router is shown as originating at the router. Conversely, packets headed outside are shown as consumed by the router. To convert MAC addresses to machine names, &app; reads uses the /etc/ethers file. Default filter: none IP The default mode, focusing on traffic at IP level or above. Nodes are identified by their IP address, if available. Unless directly addressed, routers are ignored, showing the final packet destination. The default filter expression is 'ip or ip6', discarding all non IP packets. Remove the filter to see non-IP traffic (e.g. ARP queries) Due to pcap limitations, when filtering while capturing VLAN-tagged packets, your filter must start with 'vlan' (e.g. 'vlan and (ip or ip6)' ) and all traffic must be tagged, otherwise the filter will not work. TCP In this mode a node represents an (host, port) pair, with node labels shown as "name:port". Since the display becomes quickly crowded, this mode is best suited for analyzing a small number of hosts, perhaps by restricting the capture scope with a filter. The default filter expression for TCP mode is 'tcp', capturing only TCP packets. Removing the filter usually doesn't make much sense, but you can change it to 'tcp or udp' to see both TCP and UDP traffic. Due to pcap limitations, when filtering while capturing VLAN-tagged packets, your filter must start with 'vlan' (e.g. 'vlan and tcp') and all traffic must be tagged, otherwise the filter will not work.
Toolbar The toolbar provides access to several commonly used routines. Start Starts capturing on the selected live interface. Next Active only when replaying a capture file, when pressed fast forwards to the next packet, skipping any delay. Useful for dealing with long pauses in captured data. Pause Pauses capture, freezing both the diagram and any detail window. Stop Stops the capture, clearing diagram and all traffic statistics. Closes also all detail windows . Everytime a capture is stopped, all statistics gathered up to that time will be deleted from memory. Think about it when you have left &appname; running for several hours. Pref. Opens the Preferences dialog. Prot. Opens the Protocols detail window. Nodes Opens the All Nodes detail window.
&appname; Toolbar &appname; toolbar screenshot
Menus The menu bar, located at the top of the Main Window, contains the following menus: File This menu contains: Open opens an external capture file. If you want to capture on a live interface, see the Capture menu. Capture files often contain lengthy sections without traffic. Here the command-line option --max-delay or the Next button may be useful to avoid staring for hours to an empty display. Conversely, --min-delay can help analyze many short lived connections. Export creates an xml with a snapshot of current nodes and their statistics, followed by a per protocol global statistics. A sample output file can be found in . &app; can automatically export to user-chosen files with two command line options, and . The first writes to file at end of a replay, the second dumps when receiving signal USR1. Preferences Ctrl-P opens the Preferences dialog. Quit quits the application. Capture This menu contains: Mode opens a submenu governing the operating mode. Alt-L Link Layer Selects Link Layer mode. Alt-I IP Selects IP mode. Alt-T TCP Selects TCP mode. Interfaces opens a submenu to select the capture interface. Start Ctrl-S begins capturing on the selected live interface. Next when pressed fast forwards to the next packet, skipping any delay. Useful for dealing with long pauses in captured data. Active only during replay. Pause Ctrl-Q temporarily halts the capture, freezing both the diagram and any detail window. Stop Ctrl-O terminates the capture, clearing diagram and traffic statistics. Closes also all detail windows . Everytime a capture is stopped, all statistics gathered up to that time will be deleted from memory. Think about it when you have left &appname; running for several hours. View This menu contains: Protocols opens the Protocols dialog, which allows you see global traffic statistics per protocol. Nodes opens the All Nodes dialog, which allows you see all known nodes with summary statistics. Full screen F11 Make the diagram full screen. Toolbar toggles the toolbar. Legend toggles the protocol legend. Statusbar toggles the Status bar. Refresh Ctrl-L Forces a diagram repaint. Help This menu contains: About Opens the About dialog which shows basic information about &app;, such as release number, or the author's names. Node detail dialog Double-clicking on a node opens a detail dialog wich shows realtime traffic statistics for the chosen node. Averaged realtime traffic is shown in the "Istantaneous" row, while the "Accumulated" one displays long term statistics. The third row shows average packet size. A protocol table depicting data on all protocol traversing the chosen node is also displayed. See the All Protocols dialog entry for additional information. Only active protocols matching the "Protocol Stack Level" preference settings will be displayed.
Node detail dialog Node detail dialog screenshot
Link detail dialog Double-clicking on a link opens a detail dialog wich shows realtime traffic statistics for the chosen link. Averaged realtime traffic is shown in the "Istantaneous" row, while the "Accumulated" one displays long term statistics. The third row shows average packet sizes. A protocol table depicting data on all protocol traversing the chosen link is also displayed. See the All Protocols dialog entry for additional information. Only active protocols matching the "Protocol Stack Level" preference settings will be displayed. All Protocols dialog The Protocols dialog shows global traffic statistics for active (i.e. not expired) protocols. Expiration is controlled by the Global Protocol Timeouts preference section. Double clicking on a column name orders entries by that column data or reverses the sorting order. A small arrow after the chosen column name shows the sorting order (in the screenshot, entries are ordered by name). A column can also be dragged, changing its position in the table, or disabled by deselecting it in the Columns menu. Available statistics are: Protocol color Protocol name. For TCP/UDP traffic, the services file is searched for a matching entry. Protocol port (TCP/UDP traffic only). &app; assigns the same port to all nodes in a packet using the following heuristic: if only one port of the two matches is mapped to a color, that entry is used. This way you can override automatic port assignement. if both ports of packet are mapped, the minor one is choosen. if only one port of the two matches an entry of the services file, that entry is used. if both ports of packet match, the minor one is choosen. if no ports match a services file entry, the minor one is chosen. The packet is labelled "unknown traffic" and processed as such (see "Group unknown ports" in ). Inst Traffic shows the (moving average of) active traffic. Accum Traffic shows the accumulated traffic. Avg Size is the average packet size computed on the total traffic seen. Last Heard reports when the last packet was seen. Packets is the total number of packets. Only those protocols matching the "Protocol Stack Level" preference settings will be displayed.
Protocol detail dialog All Protocols dialog screenshot
All Nodes dialog The Nodes dialog shows global traffic statistics for all known (i.e. not expired) nodes. Expiration is controlled by the Node Timeouts preference section. Double clicking on a column name orders entries by that column data or reverses the sorting order. A small arrow after the chosen column name shows the sorting order (in the screenshot, entries are ordered by name). A column can also be dragged, changing its position in the table. This dialog lists all known nodes, even those not shown on the diagram because their Diagram timeout is expired. A node is fully expired and &app; forgets it only when all three timeouts (Diagram, Traffic Statistics, Protocol Statistics) are expired.
All Nodes dialog All Nodes dialog screenshot
Preferences To change the application settings, select File Preferences... . The Preferences dialog contains the following tabbed sections: Diagram Colors Timings Any change you make will be applied immediately. When satisfied, click on OK to close the Properties dialog. The Save saves current settings (to ~/.gnome2/&appname;). To abort the changes and return to previous values, click the Cancel button. Diagram The diagram tab contains many settings related to the traffic display. Protocol Stack Level Use this drop-down list box to specify the level of the OSI stack to use when displaying protocols. Select one of the following options: Topmost recognized protocol For every packet, chooses the highest level protocol detected. Level 2 (Eg: ETHII) Shows only OSI level 2 information. For example ETHII or FDDI Level 3 (Eg: IP) Shows only OSI level 3 protocols, like IP or IPX Level 4 (Eg: TCP) Shows only OSI level 4 protocols, tipically TCP, UDP and ICMP Level 5 (Eg: HTTP) Shows application level protocols, like HTTP, POP3, etc Default: Topmost recognized protocol. Protocol level attribution can be confused by encapsulation. For instance, when an Ethernet packet containing IP traffic is encapsulated by an LLC-SNAP header, IP data might be incorrectly flagged as ISO level 4 or 5. The most safe settings is Topmost recognized protocol. Size Variable Use this drop-down list box to specify wich variable governs node and link sizes. Select one of the following options: Instant. traffic (In+Out) Size depends on the instantaneous traffic on node. In this context, "istantaneous" means traffic averaged over the "Averaging Time Period". Instant. traffic (Inbound) Size depends on instantenous inbound traffic. Instant. traffic (Outbound) Size depends on instantaneous outbound traffic. Accum. traffic (In+Out) Size depends on the total traffic accumulated on node. Accum. traffic (Inbound) Size depends on accumulated inbound traffic. Accum. traffic (Outbound) Size depends on accumulated outbound traffic. Default: Instant. traffic (Outbound). Size Mode Use this drop-down list box to specify how to weight the value of the Node Size Variable. Select one of the following options: Linear Uses directly the input value. Logarithmic Uses the decimal logarithm of input variable. Square Root Uses the square root of input variable. Default: Linear. Node Radius Multiplier This slider specifies the scaling multiplier to apply to node sizes. Inner Ring Scale This slider specifies the relative diameter of the inner ring with 'central nodes' with the outer ring. Defaults to 0.5, i.e. central ring will diameter will be half of outer ring's Central Node(s) This control usually is blank, but can be filled with a comma-separated list of node addresses (IP, CIDR expressions, globs) or names. The identified nodes will be placed in a inner ring, with the other nodes around. This setting can be used, as an example, to distinguish local from internet traffic. Examples of allowed expressions: plain address: 172.16.2.0 full name: myhost.example.com CIDR: 172.16.2.0/24 or fe80::/16 GLOB: *.example.com Capture filter This drop-down combo box specifies the capture filter to use using the standard pcap syntax. Default: ip or ip6 Node Label Font Selects the font used for node labels. Default: Sans 8 Pts.. Node Label Color Selects the color used for node labels. Default: yellow. Hide node names If checked, doesn't show the node names. Default: unchecked. Group unknown ports If checked, all traffic belonging to ports not specified in the services file is accumulated under "UDP-unknown" and "TCP-unknown". In unchecked, those ports are shown as "UDP-nnnn" or "TCP-nnnn", where nnnn is the port number. &app; assigns the same port to all nodes in a packet using the following heuristic: if only one port of the two matches an entry of the services file, that entry is used. if both ports of packet match, the minor one is choosen. if no ports match an entry, the minor one is chosen. The packet is labelled "unknown traffic" and processed as such. Default: checked. Name resolution If checked, enables name resolution. If unchecked, show only numeric addresses (like the -b command line option). Default: checked. Use Background Image If checked, the images file specified by Background Image will be loaded and shown as canvas background. Default: unchecked. Background Image An image file to load and display as canvas background. Default: empty. Display pcap stats Controls the display of capture statistics. Chosing (Off) disables it. Default: (Off).
Diagram preferences tab Diagram preferences tab screenshot
Colors The colors tab assigns colors to protocols. Color-Protocol matching table This list box lists available colors and optionally maps a specified color to one or more protocols. The Color column shows the color A color could appear in more rows, to allow protocol grouping by color (e.g. show FTP and FTP-PASSIVE as cyan). &appname; will use only the colors specified in this list. If the list is empty, all diagrams will be gray. The mapping of colors to protocols works as follows: A protocol wich name appears in a Protocol column, will be drawn in the corresponding row color. As an example, in the dialog screenshot, all DOMAIN traffic is drawn in blue. A protocol not appearing in the list will have a color assigned casually from the items without an assigned protocol. If all entries have an assigned protocol unmapped traffic will be shown as gray. Add color Adds a new row to the list. A dialog will open to select the actual color value. Remove color Removes the selected row from the list. Change color A dialog will open to choose a new color for the selected row. Edit protocols Opens a dialog where the current row protocols can be edited. A row can contain multiple protocols, separated by a comma.
Protocol edit dialog
Colors preferences tab Colors preferences tab screenshot
Timings The timings tab contains all time-related settings of &appname;. Diagram Refresh Period (ms) Minimum time (in milliseconds) to wait before refreshing the diagram. Smaller values increase the frequency of updates, making the graph smoother, but with increased CPU usage. Averaging Time (ms) Traffic average period in milliseconds. Smaller values follow more closely the instantaneous traffic, while higher settings smooth the diagram. Averages need packet data, so an higher averaging time means also higher memory consumption. Diagram Timeouts (s) This section aggregates all timeouts related to nodes and links visibility. Nodes After this time without traffic, a node is removed from diagram. Node data are still held in memory until the Node Statistics Timeout expires, so if new traffic comes accumulated statistics are still valid. Zero disables the timer (i.e. a node will be always shown). Links After this time without traffic, a link is removed from diagram. Link data are still held in memory until the relevant statistics timeout expires, so if new traffic comes accumulated statistics are still valid. Statistics Timeouts (s) These timeouts govern statistics expiration. When one of these timeout expires, an item is removed and its statistics gone. Nodes This timeout governs statistics expiration for nodes. After this time without traffic, a node is removed from memory, clearing all statistics. A zero value disables the timeout. Links This timeout governs statistics expiration for links. After this time without traffic, a link is removed from memory, clearing all statistics. A zero value disables the timeout. Global Protocol Timeouts (s) These timeouts govern the protocol window expiration. When one of these timeout expires, an item is removed and its statistics gone. Statistics This timeout governs statistics expiration for global protocols. After this time without traffic, a protocol is removed from memory, clearing all statistics. A zero value disables the timeout.
Timings preferences tab Timings preferences tab screenshot
Command line options While most of &app; functionality can be controlled via the GUI, some unique modes are accessible only using the command line. Brief command line help. Display nodes without labels. Sets the capture filter to use (use PCAP-style syntax). Sets the capture interface. Limits the number of nodes displayed. mode of operation. Disable name resolution, shows only numeric addresses. Manually position nodes using columns. The input file takes the format of: node.mydomain.com 1 router1.mydomain.com 2 router2.mydomain.com 2 172.16.2.[0-9]* 1 .*.mydomain.com 1 ff02:.* 2 fe80:.* 1 The first column is a regex of either the FQDN or the IP address. The second column is a number indicating the "column" that the node will be positioned in in the display with column 1 being on the far left. Up to 1000 columns are permitted. Instead of being arranged in a circle the nodes are displayed in columns. This is quite useful for arranging nodes so that you can see nodes on the "inside" of your network on the left and the public internet nodes (anything not specified in the config file) on the right. The input file above will cause 3 columns to display. Nodes with FQDN containing mydomain.com, those in the 172.16.2.0/24 subnet, and link local IPv6 addresses will be in the left column. 2 "routers", and IPv6 multicast will be in the center column and everything else will be in the right column. Column locations are determined by the first match while searching from the top of the input. Overlapping regex's can be used with the understanding that the first match will determine the location. The broadest regex's should be near the bottom of the position specification. Disable informational messages. Replay the given capture file. Don't move nodes around. Deprecated. Export statistics to the named file at the end of replay. The named file will be overwritten without asking. Export statistics to the named file when receiving USR1. The named file will be overwritten without asking. When replaying a file, minimum delay in ms between a packet and the next. When replaying a file, maximum delay in ms between a packet and the next. Uses the named libglade file for loading widgets. Known Bugs and Limitations Some old libpcap versions have a bug for which a filter "ip" doesn't capture icmp traffic. Due to pcap limitations, VLAN-tagged packets are visible only if the filter expression starts with 'vlan' and in this case only VLAN-tagged traffic will be shown. OSI level attribution may be confused by encapsulation. For instance, when an Ethernet packet containing IP traffic is encapsulated by an LLC-SNAP header, IP data might be incorrectly flagged as ISO level 4 or 5. Most NFS traffic will show up as UDP_FRAGMENT or just RPC Older distributions, (e.g. CentOS 5, or RHEL 5) do not support PPI encapsulation. XML export file format This section presents &app; XML export file format followed by a detailed analysis. At this time &app; exports only node information and global protocol statistics. Future releases might export also link data. This example shows a file containing only a single, simple, node. A real file will contain many nodes, possibly with more involved <protocol> subtags. The general structure remains the same, however. <?xml version="1.0"?> <!-- traffic data in bytes. last_heard in seconds from dump time --> <etherape> <header> <capture_device>eth0</capture_device> <timestamp>2011-02-26 10:33:27 +0100</timestamp> </header> <nodes> <node> <name> <id> <IP>10.0.0.98</IP> </id> <resolved_name>floss.rulez.example.net</resolved_name> <numeric_name>10.0.0.98</numeric_name> </name> <traffic_stats> <active_packets>12</active_packets> <in> <stats> <avg>1080</avg> <total>1027</total> <avg_size>102</avg_size> <packets>10</packets> <last_heard>0.357600</last_heard> </stats> </in> <out> <stats> <avg>34416</avg> <total>14456</total> <avg_size>1205</avg_size> <packets>12</packets> <last_heard>0.000000</last_heard> </stats> </out> <tot> <stats> <avg>35496</avg> <total>15483</total> <avg_size>704</avg_size> <packets>22</packets> <last_heard>0.000000</last_heard> </stats> </tot> <protocols> <protocol> <level>1</level> <key>ETH_II</key> <stats> <avg>55948</avg> <total>14049</total> <avg_size>669</avg_size> <packets>21</packets> <last_heard>0.174299</last_heard> </stats> <name> <id> <link-id>fe:ff:20:00:01:00</link-id> </id> <numeric_name>fe:ff:20:00:01:00</numeric_name> <accumulated>14049</accumulated> </name> </protocol> <protocol> <level>2</level> <key>IP</key> <stats> <avg>55948</avg> <total>14049</total> <avg_size>669</avg_size> <packets>21</packets> <last_heard>0.174299</last_heard> </stats> <name> <id> <IP>10.0.0.98</IP> </id> <resolved_name>floss.rulez.example.net</resolved_name> <numeric_name>10.0.0.98</numeric_name> <accumulated>14049</accumulated> </name> </protocol> <protocol> <level>3</level> <key>TCP</key> <stats> <avg>55948</avg> <total>14049</total> <avg_size>669</avg_size> <packets>21</packets> <last_heard>0.174299</last_heard> </stats> </protocol> <protocol> <level>4</level> <key>WWW</key> <stats> <avg>55948</avg> <total>14049</total> <avg_size>669</avg_size> <packets>21</packets> <last_heard>0.174299</last_heard> </stats> </protocol> </protocols> </traffic_stats> </node> </nodes> <global_protocols> ... (global protocol statistics - using exactly the same format of node statistics) </global_protocols> </etherape> The export file begins with an header (lines 5-9) containing the file replayed (tag <capture_file>, not shown) or the capture device (tag <capture_device>, line 5), followed by the export timestamp. Node information are, perhaps unsurprisingly, enclosed by <node> tags (lines 9-115). A node is composed by an identifying header, <name> (lines 10-16) followed by traffic statistics, enclosed by <traffic_stats> (lines 17-107). Lines 10-16 contain the primary node identifier, i.e. the name/address displayed by &app;. In this example is the IPv4 address 10.0.0.4, along its resolved name. While only one <name> can be displayed, a node usually has multiple identities: an Ethernet MAC address, an IP one, perhaps a NETBIOS name. Every identity has a matching <name> element; see lines 57-63 and 74-82. A <name> is identified by its <id> i.e. its address, which can be of type IP (an IPv4 dotted decimal address), IPv6 or 'link-id', a link-level, colon separated, list of octets (e.g. the Ethernet MAC address). You see an example of the latter in lines 58-60. <numeric_name> and <resolved_name> are the high level equivalent of <id>; <accumulated> is the total bytes of traffic related with the name. &app; uses this statistic to choose between multiple names. Traffic statistics (lines 17-107) give a summary of node traffic: first, the number of active packets (line 18), i.e. the packets received during the 'Node traffic statistics' interval (see ). <in> record incoming traffic, <out> outgoing and <tot> the total bytes seen. The <protocols> element reports traffic broken down by protocol. <stats> elements are: <avg> is the moving average of active packets (see "Averaging Time", ), in bytes. Shown as 'Instantaneous' traffic in <total> is the accumulated traffic seen. <avg_size> is the average packet size. <packets> is the number of packets received. <last_heard> is the distance in seconds between time of exporting and the last packet seen. I.e. 2.000100 means 2 seconds and 100 microseconds ago. <protocol> elements carry per protocol breakdown of node statistics. A packet might affect multiple protocols: an HTTP request over Ethernet is recorded by protocols "WWW", "TCP", "IP" and "ETH_II", while an Ethernet broadcast is seen only as "ETH_II". Here <level> roughly equates to the OSI level, but multiple encapsulation can confuse the engine and introduce additional levels. A protocol level 2 is always lower than one of level 3. <key> is a mnemonic identifier of the protocol; for TCP/UDP ports is taken from the services file, if available. There can be multiple entries with the same level (e.g. HTTP and IMAP). Only the combination of level and key is unique. Authors &app; was originally written by Juan Toledo ( toledo@users.sourceforge.net). Later releases by Riccardo Ghetta (bchiara@users.sourceforge.net). To find more information about &app;, please visit the &app; web page. Instructions for submitting bug reports can be found on-line. License 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. A copy of the GNU General Public License is included as an appendix to the GNOME Users Guide . You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their Web site or by writing to
Free Software Foundation, Inc. 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA
etherape-0.9.20/ChangeLog0000644000175000017500000000007013114557307012075 00000000000000Changelog is no more. See NEWS or mercurial log instead etherape-0.9.20/README0000644000175000017500000000365313307013517011207 00000000000000General Information ------- ----------- EtherApe is a network traffic browser. It displays network activity graphically. It uses GNOME libraries as it's user interface, and libpcap, a packet capture and filtering library. EtherApe started as an etherman clone, but now it has some unique features. It can run in "interape" mode with -m ip, and in "tcp-ape" mode with -m tcp. Expect more modes to come soon. EtherApe will use /etc/ethers if there is one. If not, it will try to reverse lookup the ip address. IMPORTANT! It is particularly important when running EtherApe to have the ethernet address of your router in /etc/ethers. If not, your router will have as name whatever IP address it was forwarding traffic from when it was first heard. Check the NEWS file for the latest developments, and etherape --help for the current set of options. You will have to have superuser privileges in order to use this program, as is the case with any libpcap based application. Installation: ------------- Please read the INSTALL file for installation instructions. Brief summary: # ./configure # make install By default, binaries will be copied to /usr/local/sbin You may uninstall later by running # make uninstall You will also find information on how to build a debian package in the INSTALL file. Porting: -------- Historically EtherApe has been compiled and run at least for: * Linux: Debian 2.2, Slackware 4.0 and 7.0, RedHat 6.1, modified linuxppc 1999, Debian m68k * NetBSD 1.4T (i386) * Sparc Solaris 7 with gcc 2.95.2 EtherApe should probably compile and run in other Unix-like OS. Further information: -------------------- See the EtherApe web page at https://etherape.sourceforge.io/ To receive a message whenever a new version of EtherApe is available, go to http://sourceforge.net/project/?group_id=2712 and click on the "Monitor this module" link. See README.bugs for instructions on how to send a bug report. etherape-0.9.20/acinclude.m40000644000175000017500000001016614023170424012512 00000000000000dnl Macros that test for specific features. dnl This file is part of the Autoconf packaging for Ethereal. dnl Copyright (C) 1998-2000 by Gerald Combs. dnl dnl $Id$ dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2, or (at your option) dnl any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception, the Free Software Foundation gives unlimited dnl permission to copy, distribute and modify the configure scripts that dnl are the output of Autoconf. You need not follow the terms of the GNU dnl General Public License when using or distributing such scripts, even dnl though portions of the text of Autoconf appear in them. The GNU dnl General Public License (GPL) does govern all other use of the material dnl that constitutes the Autoconf program. dnl dnl Certain portions of the Autoconf source text are designed to be copied dnl (in certain cases, depending on the input) into the output of dnl Autoconf. We call these the "data" portions. The rest of the Autoconf dnl source text consists of comments plus executable code that decides which dnl of the data portions to output in any given case. We call these dnl comments and executable code the "non-data" portions. Autoconf never dnl copies any of the non-data portions into its output. dnl dnl This special exception to the GPL applies to versions of Autoconf dnl released by the Free Software Foundation. When you make and dnl distribute a modified version of Autoconf, you may extend this special dnl exception to the GPL to apply to your modified version as well, *unless* dnl your modified version has the potential to copy into its output some dnl of the text that was the non-data portion of the version that you started dnl with. (In other words, unless your change moves or copies text from dnl the non-data portions to the data portions.) If your modification has dnl such potential, you must delete any notice of this special exception dnl to the GPL from your modified version. dnl dnl Written by David MacKenzie, with help from dnl Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor, dnl Roland McGrath, Noah Friedman, david d zuhn, and many others. dnl Adapted for etherape by Juan Toledo (if you can call adapt to cut & dnl paste :-) ) # # AC_ETHEREAL_PCAP_CHECK # AC_DEFUN([AC_ETHEREAL_PCAP_CHECK], [ # Evidently, some systems have pcap.h, etc. in */include/pcap AC_MSG_CHECKING(for extraneous pcap header directories) found_pcap_dir="" for pcap_dir in /usr/include/pcap /usr/local/include/pcap $prefix/include do if test -d $pcap_dir ; then CFLAGS="$CFLAGS -I$pcap_dir" CPPFLAGS="$CPPFLAGS -I$pcap_dir" found_pcap_dir=" $found_pcap_dir -I$pcap_dir" fi done if test "$found_pcap_dir" != "" ; then AC_MSG_RESULT(found --$found_pcap_dir added to CFLAGS) else AC_MSG_RESULT(not found) fi # Pcap header checks AC_CHECK_HEADER(pcap.h,, AC_MSG_ERROR([[Header file pcap.h not found; You need libcap development package, or if you installed libpcap from source, do \"make install-incl\"]])) # # Check to see if we find "pcap_open_live" in "-lpcap". # AC_CHECK_LIB(pcap, pcap_open_live, [ # TODO # This is a dirty hack, but I don't know any other way # to do it. If you do, please tell me. if test "x$STATIC_PCAP" != "xyes"; then PCAP_LIBS=-lpcap fi if test "x$STATIC_PCAP" = "xyes"; then PCAP_LIBS="-Wl,-Bstatic -lpcap -Wl,-Bdynamic" echo "Forcing static pcap linking" fi AC_DEFINE(HAVE_LIBPCAP) ], AC_MSG_ERROR(Library libpcap not found.), $SOCKET_LIBS $NSL_LIBS) AC_SUBST(PCAP_LIBS) ]) etherape-0.9.20/AUTHORS0000644000175000017500000000276513063256076011412 00000000000000Juan Toledo Original Author Vincent van Adrighem Dutch translation Balló György remove gnomeui dependence Ben Allen Patch for -z option Bill Barth Code for static mode Fabrice Bellet Patches for RedHat Gôrkem Cetin Turkish translation Laurent Deniel resolv.c Lars Eggert OSX patches Javier Fernandez-Sanguino Peña Spanish translation David Flamand Patches for IPv6 support Glenn Feunteun Background image Riccardo Ghetta developer David Goldfarb nodes as 'columns' Simon Kirby dns.c Chris Leick German translation Pav Lucistnik Several fixes Eran Mann RedHat package Daniel Nylander Swedish translation Frederic Peters Debian package, french translation, man page Eric Stewart OSX patches Jasper Wallace pcap device autodetection Zev Weiss developer Ted Wright non-overlapping display mode, link fading Dave Yearke Patches for Solaris UNKNOWN EtherApe icon (Anybody knows who the author is?) If you have contributed in any way to the development of EtherApe and you are not properly credited, please tell me so that I can fix my mistake. etherape-0.9.20/Makefile.am0000644000175000017500000000153313264422715012364 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = src doc glade m4 po # standard props DATADIR=. DISTCHECK_CONFIGURE_FLAGS= indent: cd src && make indent man_MANS = etherape.1 confdir = $(sysconfdir)/etherape conf_DATA = Developmentdir = $(datadir)/applications Development_DATA = etherape.desktop pixmapsdir = $(datadir)/pixmaps pixmaps_DATA = etherape.png purge: rm -f *~ *.bak *.tar.gz cd src && make purge splint: cd src && make splint DISTCLEANFILES= EXTRA_DIST = config.rpath mkinstalldirs \ README.bugs \ FAQ \ OVERVIEW \ ChangeLog \ etherape.spec \ etherape.spec.in \ etherape.desktop.in \ PKGBUILD \ PKGBUILD.in \ src/glade-strings \ $(Development_DATA) \ $(pixmaps_DATA) \ $(man_MANS) \ m4 \ $(conf_DATA) dist-hook: etherape.spec cp etherape.spec $(distdir) ACLOCAL_AMFLAGS = -I m4 etherape-0.9.20/configure.ac0000644000175000017500000001606714034343776012633 00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.53) AC_INIT([etherape],[0.9.20]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE([-Wall foreign]) # defines AC_DEFINE([HAVE_CATGETS],[],[cmt]) AC_DEFINE([GETTEXT_PACKAGE],[],[cmt]) AC_DEFINE([HAVE_LIBSM],[],[cmt]) AC_DEFINE([HAVE_LIBPCAP],[],[cmt]) AC_DEFINE([HAVE_U_INT],[],[cmt]) # Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AM_PROG_CC_C_O AC_PROG_MAKE_SET AC_PROG_LIBTOOL #AC_PROG_INTLTOOL(0.27) # Checks for libraries. PKG_CHECK_MODULES(ETHERAPE, glib-2.0 goocanvas-2.0) AC_SUBST(ETHERAPE_CFLAGS) AC_SUBST(ETHERAPE_LDFLAGS) AC_SUBST(ETHERAPE_LIBS) AX_PTHREAD # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/wait.h unistd.h math.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([net/if.h], [], [], [#include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif ]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM AC_ARG_ENABLE([warnings], AS_HELP_STRING([--disable-warnings], [Disable compiler warnings @<:@default=enabled@:>@])) if test "$enable_warnings" != no; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -Wall" fi AC_ARG_ENABLE([werror], AS_HELP_STRING([--enable-werror], [Treat warnings as errors @<:@default=disabled@:>@])) if test "$enable_werror" = yes; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -Werror" fi AC_ARG_ENABLE([asan], AS_HELP_STRING([--enable-asan], [Compile with GCC/Clang's address sanitizer (incompatible with --enable-tsan) @<:@default=disabled@:>@])) if test "$enable_asan" = yes; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -fsanitize=address" ETHERAPE_LDFLAGS="$ETHERAPE_LDFLAGS -fsanitize=address" fi AC_ARG_ENABLE([ubsan], AS_HELP_STRING([--enable-ubsan], [Compile with GCC/Clang's undefined-behavior sanitizer @<:@default=disabled@:>@])) if test "$enable_ubsan" = yes; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -fsanitize=undefined" ETHERAPE_LDFLAGS="$ETHERAPE_LDFLAGS -fsanitize=undefined" fi AC_ARG_ENABLE([tsan], AS_HELP_STRING([--enable-tsan], [Compile with GCC/Clang's thread sanitizer (incompatible with --enable-asan) @<:@default=disabled@:>@])) if test "$enable_tsan" = yes; then if test "$enable_asan" = yes; then AC_MSG_ERROR([--enable-tsan and --enable-asan are mutually incompatible]) fi ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -fsanitize=thread" ETHERAPE_LDFLAGS="$ETHERAPE_LDFLAGS -fsanitize=thread" fi # checks for osx or disable-gdk-input-add AC_ARG_ENABLE(gdk-input-add, [AC_HELP_STRING([--disable-gdk-input-add],[Use timers for live capture instead of gdk_input_add.])], [use_gdk_input_add=$enableval], [use_gdk_input_add=yes]) AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv){return __APPLE__ + __MACH__;}]])], use_gdk_input_add=no) if test $use_gdk_input_add = no; then AC_DEFINE([DISABLE_GDKINPUTADD], [1], [disables gdk_input_add]) AC_MSG_NOTICE([gtk_input_add disabled]) fi AC_CHECK_FUNC(getnameinfo, [has_getnameinfo=yes], AC_CHECK_LIB(bind, getnameinfo, [has_getnameinfo=yes], AC_CHECK_LIB(resolv, getnameinfo, [has_getnameinfo=yes], AC_CHECK_LIB(nsl, getnameinfo, [has_getnameinfo=yes],[has_getnameinfo=no])))) if test $has_getnameinfo = no; then AC_MSG_NOTICE([getnameinfo not found, trying with gethostbyaddr]) AC_CHECK_FUNC(gethostbyaddr, [has_gethostbyaddr=yes], AC_CHECK_LIB(bind, gethostbyaddr, [has_gethostbyaddr=yes], AC_CHECK_LIB(resolv, gethostbyaddr, [has_gethostbyaddr=yes], AC_CHECK_LIB(nsl, gethostbyaddr, [has_gethostbyaddr=yes], [AC_MSG_ERROR([Missing both getnameinfo and gethostbyaddr. Please install a resolver library.])] )))) if test $has_gethostbyaddr = yes; then AC_MSG_WARN([Found only gethostbyaddr, while getnameinfo does not exists, resolving is restricted to single thread.]) AC_DEFINE([FORCE_SINGLE_THREAD], [1], [found only gethostbyaddr, while getnameinfo does not exists, resolving is restricted to single thread.]) fi fi # Handle --with-c-ares AC_ARG_WITH([c-ares], AS_HELP_STRING([--with-c-ares], [use the c-ares library for DNS resolution @<:@default=no@:>@]), [], [with_c_ares=no]) if test $with_c_ares = yes; then AC_SEARCH_LIBS([ares_init], [cares], [AC_DEFINE([HAVE_LIBCARES], [1], [Define to 1 to use the c-ares DNS library])], [AC_MSG_FAILURE([--with-c-ares was given, but the c-ares library was not found])]) fi AM_CONDITIONAL([HAVE_LIBCARES], [test $with_c_ares = yes]) # Check for the pcap library. AC_ARG_ENABLE(static-pcap, [ --enable-static-pcap Used to build the rpm within Debian. ], STATIC_PCAP=yes) AC_ETHEREAL_PCAP_CHECK # check for other libraries (needed for AC_CHECK_FUNCS) AC_SEARCH_LIBS(pow, [m]) AC_SEARCH_LIBS(glib_check_version, [glib-2.0]) AC_SEARCH_LIBS(poptGetContext, [popt]) # Check for inet_ntop (it's supposed to exists everywhere, but ...) AC_CHECK_FUNCS([inet_ntop]) # check for g_list_free_full (glib < 2.28) AC_CHECK_FUNCS([g_list_free_full]) # check for g_ptr_array_insert (glib < 2.40, RHEL7/CENTOS7 and before) AC_CHECK_FUNCS([g_ptr_array_insert]) dnl Add the languages which your application supports here. ALL_LINGUAS="es fr nl tr sv it de ru" AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.11.5]) GETTEXT_PACKAGE=etherape AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE") dnl Set PACKAGE_LOCALE_DIR in config.h. if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${ac_default_prefix}/share/locale",[package locale directory]) else AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${prefix}/share/locale",[package locale directory]) fi dnl Set PIXMAPS_DIR in config.h. if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PIXMAPS_DIR, "${ac_default_prefix}/share/pixmaps",[pixmaps directory]) else AC_DEFINE_UNQUOTED(PIXMAPS_DIR, "${prefix}/share/pixmaps",[pixmaps directory]) fi dnl initialize yelp doc macros YELP_HELP_INIT dnl get mercurial version - sadly, this works only on a developer repo ... dnl AC_CONFIG_COMMANDS_PRE([ dnl hg_id=`hg identify -i` dnl AC_DEFINE_UNQUOTED(PACKAGE_SCM_REV, ["${hg_id}"], [mercurial revision]) dnl AC_MSG_NOTICE([mercurial id: ${hg_id}]) dnl ]) dnl check for endianess (need it for Per Packet Incapsulation) AC_C_BIGENDIAN dnl see if the linker allows "--export-dynamic" AC_MSG_CHECKING([if the linker allows -Wl,--export-dynamic]) tmp_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--export-dynamic" AC_LINK_IFELSE([AC_LANG_SOURCE([int main(int argc, char **argv){return 0;}])], AC_MSG_RESULT([yes]), AC_MSG_RESULT([no]) LDFLAGS=$tmp_LDFLAGS) AC_CONFIG_FILES([Makefile po/Makefile.in etherape.spec etherape.desktop PKGBUILD glade/Makefile src/Makefile m4/Makefile doc/Makefile]) AC_OUTPUT etherape-0.9.20/README.bugs0000644000175000017500000001074711257604352012155 00000000000000Known bugs For a list of known issues and bugs, point your browser to [1]http://sourceforge.net/bugs/?group_id=2712 How to report a bug Having users is great, not only because it is the purpose of creating this program in the first place, but because they stress your program in many different ways and help you make it more robust. If you do encounter a problem with this program, plase write a bug report at [2]http://sourceforge.net/bugs/?group_id=2712 When you write your report, I'd be thankful if you could follow these guidelines, in order of importance. 1. Make sure that the most current version does have the bug. Not only does this mean to download the latest version, but also making sure that you are _running_ the latest version. Go to src and run as ./etherape 2. Things to include: + Operating system and distribution + EtherApe version (etherape --version, or check the about box) + pcap version (and package version as well) + gtk and gnome libs version (package version as well) + If possible, a backtrace (See below) + Please leave an email address or log in before posting your bug, so that I can later get in contact with you. 3. Read this link first [3]http://www.chiark.greenend.org.uk/~sgtatham/bugs.html It is really informative, and it will be really useful not only for etherape. Please understand that I _love_ to receive bug reports, because that means that I will be improving the program, but the more info you provide, the faster I'll be able to solve the problem. How to provide a backtrace In cases in which etherape is crashing (not when it produces bad results), it is most useful if I can see what was the program doing when it crashed. It is actually simple, you just need to type four instructions. # export GNOME_DISABLE_CRASH_DIALOG=1 # gdb etherape (gdb) run [options your were using] (gdb) backtrace Here's an example of what it would look like. When you write your report, you only need to send me from the "Program received signal SIGSEGV" bit onwards. argos:~/etherape/src# gdb ./etherape GNU gdb 19990928 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... (gdb) run Starting program: /home/toledo/etherape/src/etherape DEBUG: pcap_fd: 6 DEBUG: Creating node: ARGOS. Number of nodes 1 DEBUG: Creating node: NEBAJ. Number of nodes 2 DEBUG: Creating node: 0.0.0.0. Number of nodes 3 DEBUG: Creating canvas_node: 0.0.0.0. Number of nodes 1 DEBUG: Creating canvas_node: NEBAJ. Number of nodes 2 DEBUG: Creating canvas_node: ARGOS. Number of nodes 3 Program received signal SIGSEGV, Segmentation fault. 0x804f566 in fill_names (node=0x80e12f8, node_id=0x80e1330 "", packet=0x0) at capture.c:243 243 if (!strcmp (ether_to_str (node_id), get_ether_name (node_id)) && (gdb) backtrace #0 0x804f566 in fill_names (node=0x80e12f8, node_id=0x80e1330 "", packet=0x0) at capture.c:243 #1 0x804fb8b in update_packet_list (packets=0x80e1230, belongs_to=NODE) at capture.c:553 #2 0x804e799 in update_canvas_nodes (node_id=0x80e1330 "", canvas_node=0x80e2ab0, canvas=0x80d0cb0) at diagram.c:333 #3 0x403f9052 in g_tree_nnodes () from /usr/lib/libglib-1.2.so.0 #4 0x403f903c in g_tree_nnodes () from /usr/lib/libglib-1.2.so.0 #5 0x403f892c in g_tree_traverse () from /usr/lib/libglib-1.2.so.0 #6 0x804ed63 in update_diagram (canvas=0x80d0cb0) at diagram.c:553 #7 0x403edfea in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0 #8 0x403ed0c9 in g_get_current_time () from /usr/lib/libglib-1.2.so.0 #9 0x403ed6d3 in g_get_current_time () from /usr/lib/libglib-1.2.so.0 #10 0x403ed86c in g_main_run () from /usr/lib/libglib-1.2.so.0 #11 0x401ced97 in gtk_main () from /usr/lib/libgtk-1.2.so.0 #12 0x804e158 in main (argc=1, argv=0xbffffd34) at main.c:184 __________________________________________________________________ $Id: bug-reporting.html,v 1.1 2000/03/22 07:21:36 toledo Exp $ [4]sourceforge References 1. http://sourceforge.net/bugs/?group_id=2712 2. http://sourceforge.net/bugs/?group_id=2712 3. http://www.chiark.greenend.org.uk/~sgtatham/bugs.html 4. http://sourceforge.net/ etherape-0.9.20/aclocal.m40000644000175000017500000017252714034533751012203 00000000000000# generated automatically by aclocal 1.16.3 -*- Autoconf -*- # Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file 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. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.70],, [m4_warning([this file was generated for autoconf 2.70. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 11 (pkg-config-0.29.1) dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a dnl configuration script generated by Autoconf, you may include it under dnl the same distribution terms that you use for the rest of that dnl program. dnl PKG_PREREQ(MIN-VERSION) dnl ----------------------- dnl Since: 0.29 dnl dnl Verify that the version of the pkg-config macros are at least dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's dnl installed version of pkg-config, this checks the developer's version dnl of pkg.m4 when generating configure. dnl dnl To ensure that this macro is defined, also add: dnl m4_ifndef([PKG_PREREQ], dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], [m4_define([PKG_MACROS_VERSION], [0.29.1]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) dnl ---------------------------------- dnl Since: 0.16 dnl dnl Search for the pkg-config tool and set the PKG_CONFIG variable to dnl first found in the path. Checks that the version of pkg-config found dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is dnl used since that's the first version where most current features of dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])dnl PKG_PROG_PKG_CONFIG dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------------------------------- dnl Since: 0.18 dnl dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl only at the first occurence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl --------------------------------------------- dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])dnl _PKG_CONFIG dnl _PKG_SHORT_ERRORS_SUPPORTED dnl --------------------------- dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])dnl _PKG_SHORT_ERRORS_SUPPORTED dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl -------------------------------------------------------------- dnl Since: 0.4.0 dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES might not happen, you should be sure to include an dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])dnl PKG_CHECK_MODULES dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------------------- dnl Since: 0.29 dnl dnl Checks for existence of MODULES and gathers its build flags with dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags dnl and VARIABLE-PREFIX_LIBS from --libs. dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to dnl include an explicit call to PKG_PROG_PKG_CONFIG in your dnl configure.ac. AC_DEFUN([PKG_CHECK_MODULES_STATIC], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl _save_PKG_CONFIG=$PKG_CONFIG PKG_CONFIG="$PKG_CONFIG --static" PKG_CHECK_MODULES($@) PKG_CONFIG=$_save_PKG_CONFIG[]dnl ])dnl PKG_CHECK_MODULES_STATIC dnl PKG_INSTALLDIR([DIRECTORY]) dnl ------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable pkgconfigdir as the location where a module dnl should install pkg-config .pc files. By default the directory is dnl $libdir/pkgconfig, but the default can be changed by passing dnl DIRECTORY. The user can override through the --with-pkgconfigdir dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_INSTALLDIR dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) dnl -------------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable noarch_pkgconfigdir as the location where a dnl module should install arch-independent pkg-config .pc files. By dnl default the directory is $datadir/pkgconfig, but the default can be dnl changed by passing DIRECTORY. The user can override through the dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_NOARCH_INSTALLDIR dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------- dnl Since: 0.28 dnl dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], dnl [DESCRIPTION], [DEFAULT]) dnl ------------------------------------------ dnl dnl Prepare a "--with-" configure option using the lowercase dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and dnl PKG_CHECK_MODULES in a single macro. AC_DEFUN([PKG_WITH_MODULES], [ m4_pushdef([with_arg], m4_tolower([$1])) m4_pushdef([description], [m4_default([$5], [build with ]with_arg[ support])]) m4_pushdef([def_arg], [m4_default([$6], [auto])]) m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) m4_case(def_arg, [yes],[m4_pushdef([with_without], [--without-]with_arg)], [m4_pushdef([with_without],[--with-]with_arg)]) AC_ARG_WITH(with_arg, AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, [AS_TR_SH([with_]with_arg)=def_arg]) AS_CASE([$AS_TR_SH([with_]with_arg)], [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], [auto],[PKG_CHECK_MODULES([$1],[$2], [m4_n([def_action_if_found]) $3], [m4_n([def_action_if_not_found]) $4])]) m4_popdef([with_arg]) m4_popdef([description]) m4_popdef([def_arg]) ])dnl PKG_WITH_MODULES dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, dnl [DESCRIPTION], [DEFAULT]) dnl ----------------------------------------------- dnl dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES dnl check._[VARIABLE-PREFIX] is exported as make variable. AC_DEFUN([PKG_HAVE_WITH_MODULES], [ PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) AM_CONDITIONAL([HAVE_][$1], [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) ])dnl PKG_HAVE_WITH_MODULES dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, dnl [DESCRIPTION], [DEFAULT]) dnl ------------------------------------------------------ dnl dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make dnl and preprocessor variable. AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], [ PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) ])dnl PKG_HAVE_DEFINE_WITH_MODULES AC_DEFUN([YELP_HELP_INIT], [ AC_REQUIRE([AC_PROG_LN_S]) m4_pattern_allow([AM_V_at]) m4_pattern_allow([AM_V_GEN]) m4_pattern_allow([AM_DEFAULT_VERBOSITY]) YELP_LC_MEDIA_LINKS=true YELP_LC_DIST=true for yelpopt in [$1]; do case $yelpopt in lc-media-links) YELP_LC_MEDIA_LINKS=true ;; no-lc-media-links) YELP_LC_MEDIA_LINKS= ;; lc-dist) YELP_LC_DIST=true ;; no-lc-dist) YELP_LC_DIST= ;; *) AC_MSG_ERROR([Unrecognized [YELP_HELP_INIT] option $yelpopt"]) ;; esac done; AC_SUBST([YELP_LC_MEDIA_LINKS]) AC_SUBST([YELP_LC_DIST]) AC_ARG_WITH([help-dir], AS_HELP_STRING([--with-help-dir=DIR], [path where help files are installed]),, [with_help_dir='${datadir}/help']) HELP_DIR="$with_help_dir" AC_SUBST(HELP_DIR) AC_ARG_VAR([ITSTOOL], [Path to the `itstool` command]) AC_CHECK_PROG([ITSTOOL], [itstool], [itstool]) if test x"$ITSTOOL" = x; then AC_MSG_ERROR([itstool not found]) fi AC_ARG_VAR([XMLLINT], [Path to the `xmllint` command]) AC_CHECK_PROG([XMLLINT], [xmllint], [xmllint]) if test x"$XMLLINT" = x; then AC_MSG_ERROR([xmllint not found]) fi YELP_HELP_RULES=' HELP_ID ?= HELP_POT ?= HELP_FILES ?= HELP_EXTRA ?= HELP_MEDIA ?= HELP_LINGUAS ?= _HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS)) _HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot)) _HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po)) _HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES)) _HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f)) _HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f)) _HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f)) _HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f))) _HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp) _HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) _HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V)) _HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE_0 = @echo " GEN "$(dir [$]@); all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES) .PHONY: pot pot: $(_HELP_POTFILE) $(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \ $(ITSTOOL) -o "[$]@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)") .PHONY: repo repo: $(_HELP_POTFILE) $(AM_V_at)for po in $(_HELP_POFILES); do \ if test "x[$](_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \ msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \ done $(_HELP_POFILES): $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi $(AM_V_at)if test ! -f "[$]@" -a -f "$(srcdir)/[$]@"; then cp "$(srcdir)/[$]@" "[$]@"; fi $(AM_V_GEN)if ! test -f "[$]@"; then \ (cd "$(dir [$]@)" && \ $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \ mv "$(notdir [$]@).tmp" "$(notdir [$]@)"); \ else \ (cd "$(dir [$]@)" && \ $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \ msgmerge -o "$(notdir [$]@)" "$(notdir [$]@)" "$(notdir [$]@).tmp" && \ rm "$(notdir [$]@).tmp"); \ fi $(_HELP_MOFILES): %.mo: %.po $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi $(AM_V_GEN)msgfmt -o "[$]@" "$<" $(_HELP_LC_FILES): $(_HELP_LINGUAS) $(_HELP_LINGUAS): $(_HELP_LC_STAMPS) $(_HELP_LC_STAMPS): %.stamp: %.mo $(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \ mo="$(dir [$]@)$(patsubst %/$(notdir [$]@),%,[$]@).mo"; \ if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \ (cd "$(dir [$]@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \ touch "[$]@" .PHONY: clean-help mostlyclean-am: $(if $(HELP_ID),clean-help) clean-help: rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) EXTRA_DIST ?= EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp)) EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files distdir-help-files: $(_HELP_LC_FILES) @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ $(MKDIR_P) "$(distdir)/$$lc"; \ for file in $(HELP_FILES); do \ if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \ cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \ done; \ done; \ .PHONY: check-help check: check-help check-help: for lc in C $(_HELP_LINGUAS); do \ if test -d "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ for page in $(HELP_FILES); do \ echo "$(XMLLINT) --nonet --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ $(XMLLINT) --nonet --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ done; \ done .PHONY: install-help install-data-am: $(if $(HELP_ID),install-help) install-help: $(_HELP_LC_FILES) @for lc in C $(_HELP_LINGUAS); do \ $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ done @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ mdir=`dirname "$$f"`; \ if test "x$mdir" = "x."; then mdir=""; fi; \ if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \ if test -f "$$d$$lc/$$f"; then \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \ elif test "x$$lc" != "xC"; then \ if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \ echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ $(LN_S) -f "$(HELP_DIR)/C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ fi; \ fi; \ done; \ done .PHONY: uninstall-help uninstall-am: $(if $(HELP_ID),uninstall-help) uninstall-help: for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir$$f"; \ rm -f "$$helpdir$$f"; \ done; \ done; ' AC_SUBST([YELP_HELP_RULES]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([YELP_HELP_RULES])]) ]) # Copyright (C) 2002-2020 Free Software Foundation, Inc. # # This file 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. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.16.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file 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. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file 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. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file 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. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file 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. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`AS_DIRNAME(["$am_mf"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE="gmake" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking is enabled. # This creates each '.Po' and '.Plo' makefile fragment that we'll need in # order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file 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 macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file 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. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2020 Free Software Foundation, Inc. # # This file 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. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file 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. # AM_MAKE_INCLUDE() # ----------------- # Check whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file 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. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file 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. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file 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. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file 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. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file 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. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2020 Free Software Foundation, Inc. # # This file 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. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file 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. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file 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. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2020 Free Software Foundation, Inc. # # This file 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. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/ax_pthread.m4]) m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/progtest.m4]) m4_include([acinclude.m4]) etherape-0.9.20/config.guess0000755000175000017500000013647413632230230012651 00000000000000#!/usr/bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2020 Free Software Foundation, Inc. timestamp='2020-01-01' # 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; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Options: -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-2020 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 # 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. tmp= # shellcheck disable=SC2172 trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 set_cc_for_build() { # prevent multiple calls if $tmp is already set test "$tmp" && return 0 : "${TMPDIR=/tmp}" # shellcheck disable=SC2039 { 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" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } dummy=$tmp/dummy case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$driver" 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 } # 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 ; 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 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'`" # If ldd exists, use it to detect musl libc. if command -v ldd >/dev/null && \ ldd --version 2>&1 | grep -q ^musl then LIBC=musl fi ;; 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=`(uname -p 2>/dev/null || \ "/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 ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine="${arch}${endian}"-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) and ABI. case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) 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 # Determine ABI tags. case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; 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/[-_].*//' | cut -d. -f1,2` ;; 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}${abi-}" 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 ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; *:OS108:*:*) echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Twizzler:*:*) echo "$UNAME_MACHINE"-unknown-twizzler exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) echo mips-dec-osf1 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 ;; 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.*:*) 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) 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 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/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 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:4.4BSD:*) 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 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 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:*:*) 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 ;; arm:FreeBSD:*:*) UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi else echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf fi exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" 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*: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 ;; i*:UWIN*:*) echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-pc-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 "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; *:Minix:*:*) echo "$UNAME_MACHINE"-unknown-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 2>/dev/null` 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:*:*) 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 ;; e2k:Linux:*:*) echo "$UNAME_MACHINE"-unknown-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 ;; k1om: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:*:*) set_cc_for_build IS_GLIBC=0 test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef mips #undef mipsel #undef mips64 #undef mips64el #if ${IS_GLIBC} && defined(_ABI64) LIBCABI=gnuabi64 #else #if ${IS_GLIBC} && defined(_ABIN32) LIBCABI=gnuabin32 #else LIBCABI=${LIBC} #endif #endif #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa64r6 #else #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa32r6 #else #if defined(__mips64) CPU=mips64 #else CPU=mips #endif #endif #endif #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) MIPS_ENDIAN= #else MIPS_ENDIAN= #endif #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-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 ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo "$UNAME_MACHINE"-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"-pc-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.*:*) 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 configure 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 ;; SX-ACE:SUPER-UX:*:*) echo sxace-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` case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac if command -v xcode-select > /dev/null 2> /dev/null && \ ! xcode-select --print-path > /dev/null 2> /dev/null ; then # Avoid executing cc if there is no toolchain installed as # cc will be a stub that puts up a graphical alert # prompting the user to install developer tools. CC_FOR_BUILD=no_compiler_found else set_cc_for_build fi 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 # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE 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 ;; NSV-*:NONSTOP_KERNEL:*:*) echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-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. # shellcheck disable=SC2154 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 ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; *:Unleashed:*:*) echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" exit ;; esac # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" < #include #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #include #if defined(_SIZE_T_) || defined(SIGLOST) #include #endif #endif #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) #if !defined (ultrix) #include #if defined (BSD) #if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); #else #if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); #else printf ("vax-dec-bsd\n"); exit (0); #endif #endif #else printf ("vax-dec-bsd\n"); exit (0); #endif #else #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname un; uname (&un); printf ("vax-dec-ultrix%s\n", un.release); exit (0); #else printf ("vax-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname *un; uname (&un); printf ("mips-dec-ultrix%s\n", un.release); exit (0); #else printf ("mips-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&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 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: etherape-0.9.20/compile0000755000175000017500000001635013755344177011723 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2020 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* | MSYS*) 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/* | msys/*) 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 | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.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 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: etherape-0.9.20/FAQ0000644000175000017500000000656711257604352010675 00000000000000 EtherApe FAQ * Why I see only the traffic to/from the EtherApe machine ? Probably you have a switched network. Unless all traffic goes thru the etherape machine (or you have an hub), etherape sees local traffic. Etherape can "see" only the traffic physically passing on the netcard wire. Many small network use hubs to connect computers, so every packet is physically transmitted to every netcard. A larger network use combinations of switches and routers, sometimes even firewalls to connect nodes, so your network card receives only its own traffic or broadcast. To monitor an entire network you can enable analisys/roving mode on your switch (essentially copies all traffic to a single port). If you have multiple switches, or routers, or the total bandwith exceeds the port maximum, you still will see only part of the traffic. If you only want to monitor internet traffic, a better solution is to place etherape on the (internal) internet gateway. * How can I see the detail dialogs ? Double click on a node or link opens the corrisponding dialog. * Why is one computer constantly changing names? You are running in ethernet mode. Switch to IP mode. * Why can I only see computers on my own network? See question above * I can't see any text, just little squares. What gives? Go to preferences and change the text font. Make sure you save your changes * Is it possible to see just traffic within my network? Is it possible to see just traffic to/from the internet? You can indeed filter traffic. Have a look at the filter entry in preferences->capture->filter Suppose your network address starts with 213.227 If you only want to see traffic within your network, then the proper syntax is ip and src net 213.227 and dst net 213.227 Or if you want to see connections to/from outside your network then try something like ip and ((not src net 213.227) and dst net 213.227) or (src net 213.227 and (not dst net 213.227)) * What's the format for /etc/ethers? Just pairs of Ethernet addresses and names, like 00:40:33:35:80:5F LAZARO 00:40:33:35:80:6D NEBAJ 00:C0:26:A2:58:FE ARGOS * How do I find the ether address of an IP node? Here is an example: argos:~# ping lazaro PING lazaro.tattoine.es (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=1.8 ms round-trip min/avg/max = 1.6/1.7/1.8 ms argos:~# arp lazaro Address HWtype HWaddress Iface lazaro.tattoine.es ether 00:40:33:35:80:5F eth0 Of course, you can only do this for nodes in your network. * How do I find the IP corresponding to an ether address? You could, for instance, use argos:~# tcpdump -f "ether src 00:40:33:35:80:5F" -n tcpdump: listening on eth0 10:34:11.116930 192.168.1.1.7002 > 192.168.1.2.1031: P 76753564:76753576(12) There you have it, the IP src is 192.168.1.1 * Hosts keep moving because they come and go... What can I do? Set node timeout to 0. __________________________________________________________________ $Id$ [1]sourceforge References 1. http://sourceforge.net/ etherape-0.9.20/Makefile.in0000644000175000017500000010271614034533751012401 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } 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 = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(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)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = etherape.spec etherape.desktop PKGBUILD 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 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; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(Developmentdir)" \ "$(DESTDIR)$(confdir)" "$(DESTDIR)$(pixmapsdir)" NROFF = nroff MANS = $(man_MANS) DATA = $(Development_DATA) $(conf_DATA) $(pixmaps_DATA) 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 distdir distdir-am dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ config.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 DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/PKGBUILD.in \ $(srcdir)/config.h.in $(srcdir)/etherape.desktop.in \ $(srcdir)/etherape.spec.in ABOUT-NLS AUTHORS COPYING ChangeLog \ NEWS README TODO compile config.guess config.rpath config.sub \ depcomp install-sh ltmain.sh missing mkinstalldirs 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 # Exists only to be overridden by the user if desired. AM_DISTCHECK_DVI_TARGET = dvi 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@ 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@ ETHERAPE_CFLAGS = @ETHERAPE_CFLAGS@ ETHERAPE_LDFLAGS = @ETHERAPE_LDFLAGS@ ETHERAPE_LIBS = @ETHERAPE_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PCAP_LIBS = @PCAP_LIBS@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ 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_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@ ax_pthread_config = @ax_pthread_config@ 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@ runstatedir = @runstatedir@ 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 doc glade m4 po # standard props DATADIR = . DISTCHECK_CONFIGURE_FLAGS = man_MANS = etherape.1 confdir = $(sysconfdir)/etherape conf_DATA = Developmentdir = $(datadir)/applications Development_DATA = etherape.desktop pixmapsdir = $(datadir)/pixmaps pixmaps_DATA = etherape.png DISTCLEANFILES = EXTRA_DIST = config.rpath mkinstalldirs \ README.bugs \ FAQ \ OVERVIEW \ ChangeLog \ etherape.spec \ etherape.spec.in \ etherape.desktop.in \ PKGBUILD \ PKGBUILD.in \ src/glade-strings \ $(Development_DATA) \ $(pixmaps_DATA) \ $(man_MANS) \ m4 \ $(conf_DATA) ACLOCAL_AMFLAGS = -I m4 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: 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) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ 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): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 etherape.spec: $(top_builddir)/config.status $(srcdir)/etherape.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ etherape.desktop: $(top_builddir)/config.status $(srcdir)/etherape.desktop.in cd $(top_builddir) && $(SHELL) ./config.status $@ PKGBUILD: $(top_builddir)/config.status $(srcdir)/PKGBUILD.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-DevelopmentDATA: $(Development_DATA) @$(NORMAL_INSTALL) @list='$(Development_DATA)'; test -n "$(Developmentdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(Developmentdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(Developmentdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(Developmentdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(Developmentdir)" || exit $$?; \ done uninstall-DevelopmentDATA: @$(NORMAL_UNINSTALL) @list='$(Development_DATA)'; test -n "$(Developmentdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(Developmentdir)'; $(am__uninstall_files_from_dir) install-confDATA: $(conf_DATA) @$(NORMAL_INSTALL) @list='$(conf_DATA)'; test -n "$(confdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(confdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(confdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(confdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(confdir)" || exit $$?; \ done uninstall-confDATA: @$(NORMAL_UNINSTALL) @list='$(conf_DATA)'; test -n "$(confdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(confdir)'; $(am__uninstall_files_from_dir) install-pixmapsDATA: $(pixmaps_DATA) @$(NORMAL_INSTALL) @list='$(pixmaps_DATA)'; test -n "$(pixmapsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pixmapsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pixmapsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapsdir)" || exit $$?; \ done uninstall-pixmapsDATA: @$(NORMAL_UNINSTALL) @list='$(pixmaps_DATA)'; test -n "$(pixmapsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pixmapsdir)'; $(am__uninstall_files_from_dir) # 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 distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -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) | eval GZIP= gzip $(GZIP_ENV) -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-zstd: distdir tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst $(am__post_remove_distdir) dist-tarZ: 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 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -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*) \ eval GZIP= gzip $(GZIP_ENV) -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*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ *.tar.zst*) \ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(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/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(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 check: check-recursive all-am: Makefile $(MANS) $(DATA) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(Developmentdir)" "$(DESTDIR)$(confdir)" "$(DESTDIR)$(pixmapsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done 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) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) 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 $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am 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-DevelopmentDATA install-confDATA install-man \ install-pixmapsDATA 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-man1 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 -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: uninstall-DevelopmentDATA uninstall-confDATA \ uninstall-man uninstall-pixmapsDATA uninstall-man: uninstall-man1 .MAKE: $(am__recursive_targets) all install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install \ install-DevelopmentDATA install-am install-confDATA \ 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-man1 \ install-pdf install-pdf-am install-pixmapsDATA 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-DevelopmentDATA uninstall-am uninstall-confDATA \ uninstall-man uninstall-man1 uninstall-pixmapsDATA .PRECIOUS: Makefile indent: cd src && make indent purge: rm -f *~ *.bak *.tar.gz cd src && make purge splint: cd src && make splint dist-hook: etherape.spec cp etherape.spec $(distdir) # 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: etherape-0.9.20/PKGBUILD.in0000644000175000017500000000165714012255641012062 00000000000000# # copied and adapter for use with opensuse build service # # Maintainer: Thorsten Töpper # Contributor: kevin # Contributor: Damir Perisa pkgname=etherape pkgver=@VERSION@ pkgrel=1 pkgdesc='A graphical network monitor for various OSI layers and protocols' arch=('i686' 'x86_64') url="http://etherape.sourceforge.io/" license=('GPL2') # as of 03/2017 'libglvnd' 'mesa' are needed only for OBS depends=('goocanvas' 'libpcap' 'popt' 'libglvnd' 'mesa') makedepends=('yelp-tools' 'itstool') source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz) #sha1ums=('') # building for release - add sha of tar package sha1sums=('SKIP') # building for devel build() { cd ${srcdir}/${pkgname}-${pkgver} ./configure --prefix=/usr --sysconfdir=/etc make } package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install } etherape-0.9.20/configure0000755000175000017500000214554614034533752012256 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.70 for etherape 0.9.20. # # # Copyright (C) 1992-1996, 1998-2017, 2020 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi # Reset variables that may have inherited troublesome values from # the environment. # IFS needs to be set, to space, tab, and newline, in precisely that order. # (If _AS_PATH_WALK were called with IFS unset, it would have the # side effect of setting IFS to empty, thus disabling word splitting.) # Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl IFS=" "" $as_nl" PS1='$ ' PS2='> ' PS4='+ ' # Ensure predictable behavior from utilities with locale-dependent output. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # We cannot yet rely on "unset" to work, but we need these variables # to be unset--not just set to an empty or harmless value--now, to # avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct # also avoids known problems related to "unset" and subshell syntax # in other old shells (e.g. bash 2.01 and pdksh 5.2.14). for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH do eval test \${$as_var+y} \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done # Ensure that fds 0, 1, and 2 are open. if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="as_nop=: if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 blah=\$(echo \$(echo blah)) test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null then : as_have_required=yes else $as_nop as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$as_shell as_have_required=yes if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null then : break 2 fi fi done;; esac as_found=false done IFS=$as_save_IFS if $as_found then : else $as_nop if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes fi fi if test "x$CONFIG_SHELL" != x then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno then : printf "%s\n" "$0: This script requires a shell more modern than all" printf "%s\n" "$0: the shells that I found on your system." if test ${ZSH_VERSION+y} ; then printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_nop # --------- # Do nothing but, unlike ":", preserve the value of $?. as_fn_nop () { return $? } as_nop=as_fn_nop # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null then : eval 'as_fn_append () { eval $1+=\$2 }' else $as_nop as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_nop # --------- # Do nothing but, unlike ":", preserve the value of $?. as_fn_nop () { return $? } as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } # Determine whether it's possible to make 'echo' print without a newline. # These variables are no longer used directly by Autoconf, but are AC_SUBSTed # for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac # For backward compatibility with old third-party macros, we provide # the shell variables $as_echo and $as_echo_n. New code should use # AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. as_echo='printf %s\n' as_echo_n='printf %s' rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='etherape' PACKAGE_TARNAME='etherape' PACKAGE_VERSION='0.9.20' PACKAGE_STRING='etherape 0.9.20' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="config.h.in" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_STDIO_H # include #endif #ifdef HAVE_STDLIB_H # include #endif #ifdef HAVE_STRING_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_c_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS YELP_HELP_RULES XMLLINT ITSTOOL HELP_DIR YELP_LC_DIST YELP_LC_MEDIA_LINKS GETTEXT_PACKAGE POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV USE_NLS MSGMERGE XGETTEXT GMSGFMT MSGFMT MKINSTALLDIRS PCAP_LIBS HAVE_LIBCARES_FALSE HAVE_LIBCARES_TRUE PTHREAD_CFLAGS PTHREAD_LIBS PTHREAD_CC ax_pthread_config ETHERAPE_LDFLAGS ETHERAPE_LIBS ETHERAPE_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG LT_SYS_LIBRARY_PATH OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL LN_S CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_shared enable_static with_pic enable_fast_install with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock enable_warnings enable_werror enable_asan enable_ubsan enable_tsan enable_gdk_input_add with_c_ares enable_static_pcap enable_rpath with_libiconv_prefix enable_nls with_libintl_prefix with_help_dir ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP LT_SYS_LIBRARY_PATH PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR ETHERAPE_CFLAGS ETHERAPE_LIBS ITSTOOL XMLLINT' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures etherape 0.9.20 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/etherape] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of etherape 0.9.20:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-warnings Disable compiler warnings [default=enabled] --enable-werror Treat warnings as errors [default=disabled] --enable-asan Compile with GCC/Clang's address sanitizer (incompatible with --enable-tsan) [default=disabled] --enable-ubsan Compile with GCC/Clang's undefined-behavior sanitizer [default=disabled] --enable-tsan Compile with GCC/Clang's thread sanitizer (incompatible with --enable-asan) [default=disabled] --disable-gdk-input-add Use timers for live capture instead of gdk_input_add. --enable-static-pcap Used to build the rpm within Debian. --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-c-ares use the c-ares library for DNS resolution [default=no] --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix=DIR search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --with-help-dir=DIR path where help files are installed Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor LT_SYS_LIBRARY_PATH User-defined run-time library search path. PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path ETHERAPE_CFLAGS C compiler flags for ETHERAPE, overriding pkg-config ETHERAPE_LIBS linker flags for ETHERAPE, overriding pkg-config ITSTOOL Path to the `itstool` command XMLLINT Path to the `xmllint` command Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for configure.gnu first; this name is used for a wrapper for # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF etherape configure 0.9.20 generated by GNU Autoconf 2.70 Copyright (C) 2020 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext then : ac_retval=0 else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err } then : ac_retval=0 else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext } then : ac_retval=0 else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" else $as_nop eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. */ #include #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main (void) { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : eval "$3=yes" else $as_nop eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else $as_nop eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main (void) { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main (void) { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : else $as_nop eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_try_run LINENO # ---------------------- # Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that # executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } then : ac_retval=0 else $as_nop printf "%s\n" "$as_me: program exited with status $ac_status" >&5 printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run ac_configure_args_raw= for ac_arg do case $ac_arg in *\'*) ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append ac_configure_args_raw " '$ac_arg'" done case $ac_configure_args_raw in *$as_nl*) ac_safe_unquote= ;; *) ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. ac_unsafe_a="$ac_unsafe_z#~" ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; esac cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by etherape $as_me 0.9.20, which was generated by GNU Autoconf 2.70. Invocation command line was $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Sanitize IFS. IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && printf "%s\n" "$as_me: caught signal $ac_signal" printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi for ac_site_file in $ac_site_files do case $ac_site_file in #( */*) : ;; #( *) : ac_site_file=./$ac_site_file ;; esac if test -f "$ac_site_file" && test -r "$ac_site_file"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Test code for whether the C compiler supports C89 (global declarations) ac_c_conftest_c89_globals=' /* Does the compiler advertise C89 conformance? Do not test the value of __STDC__, because some compilers set it to 0 while being otherwise adequately conformant. */ #if !defined __STDC__ # error "Compiler does not advertise C89 conformance" #endif #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ struct buf { int x; }; struct buf * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not \xHH hex character constants. These do not provoke an error unfortunately, instead are silently treated as an "x". The following induces an error, until -std is added to get proper ANSI mode. Curiously \x00 != x always comes out true, for an array size at least. It is necessary to write \x00 == 0 to get something that is true only with -std. */ int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) '\''x'\'' int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), int, int);' # Test code for whether the C compiler supports C89 (body of main). ac_c_conftest_c89_main=' ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ' # Test code for whether the C compiler supports C99 (global declarations) ac_c_conftest_c99_globals=' // Does the compiler advertise C99 conformance? #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L # error "Compiler does not advertise C99 conformance" #endif #include extern int puts (const char *); extern int printf (const char *, ...); extern int dprintf (int, const char *, ...); extern void *malloc (size_t); // Check varargs macros. These examples are taken from C99 6.10.3.5. // dprintf is used instead of fprintf to avoid needing to declare // FILE and stderr. #define debug(...) dprintf (2, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK #error "your preprocessor is broken" #endif #if BIG_OK #else #error "your preprocessor is broken" #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) continue; return 0; } // Check varargs and va_copy. static bool test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str = ""; int number = 0; float fnumber = 0; while (*format) { switch (*format++) { case '\''s'\'': // string str = va_arg (args_copy, const char *); break; case '\''d'\'': // int number = va_arg (args_copy, int); break; case '\''f'\'': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); return *str && number && fnumber; } ' # Test code for whether the C compiler supports C99 (body of main). ac_c_conftest_c99_main=' // Check bool. _Bool success = false; success |= (argc != 0); // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[0] = argv[0][0]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' || dynamic_array[ni.number - 1] != 543); ' # Test code for whether the C compiler supports C11 (global declarations) ac_c_conftest_c11_globals=' // Does the compiler advertise C11 conformance? #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L # error "Compiler does not advertise C11 conformance" #endif // Check _Alignas. char _Alignas (double) aligned_as_double; char _Alignas (0) no_special_alignment; extern char aligned_as_int; char _Alignas (0) _Alignas (int) aligned_as_int; // Check _Alignof. enum { int_alignment = _Alignof (int), int_array_alignment = _Alignof (int[100]), char_alignment = _Alignof (char) }; _Static_assert (0 < -_Alignof (int), "_Alignof is signed"); // Check _Noreturn. int _Noreturn does_not_return (void) { for (;;) continue; } // Check _Static_assert. struct test_static_assert { int x; _Static_assert (sizeof (int) <= sizeof (long int), "_Static_assert does not work in struct"); long int y; }; // Check UTF-8 literals. #define u8 syntax error! char const utf8_literal[] = u8"happens to be ASCII" "another string"; // Check duplicate typedefs. typedef long *long_ptr; typedef long int *long_ptr; typedef long_ptr long_ptr; // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. struct anonymous { union { struct { int i; int j; }; struct { int k; long int l; } w; }; int m; } v1; ' # Test code for whether the C compiler supports C11 (body of main). ac_c_conftest_c11_main=' _Static_assert ((offsetof (struct anonymous, i) == offsetof (struct anonymous, w.k)), "Anonymous union alignment botch"); v1.i = 2; v1.w.k = 5; ok |= v1.i != 5; ' # Test code for whether the C compiler supports C11 (complete). ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ${ac_c_conftest_c99_globals} ${ac_c_conftest_c11_globals} int main (int argc, char **argv) { int ok = 0; ${ac_c_conftest_c89_main} ${ac_c_conftest_c99_main} ${ac_c_conftest_c11_main} return ok; } " # Test code for whether the C compiler supports C99 (complete). ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ${ac_c_conftest_c99_globals} int main (int argc, char **argv) { int ok = 0; ${ac_c_conftest_c89_main} ${ac_c_conftest_c99_main} return ok; } " # Test code for whether the C compiler supports C89 (complete). ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} int main (int argc, char **argv) { int ok = 0; ${ac_c_conftest_c89_main} return ok; } " as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" # Auxiliary files required by this configure script. ac_aux_files="config.guess config.sub ltmain.sh compile missing install-sh" # Locations in which to look for auxiliary files. ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." # Search for a directory containing all of the required auxiliary files, # $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. # If we don't find one directory that contains all the files we need, # we report the set of missing files from the *first* directory in # $ac_aux_dir_candidates and give up. ac_missing_aux_files="" ac_first_candidate=: printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in $ac_aux_dir_candidates do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac as_found=: printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ac_aux_dir_found=yes ac_install_sh= for ac_aux in $ac_aux_files do # As a special case, if "install-sh" is required, that requirement # can be satisfied by any of "install-sh", "install.sh", or "shtool", # and $ac_install_sh is set appropriately for whichever one is found. if test x"$ac_aux" = x"install-sh" then if test -f "${as_dir}install-sh"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ac_install_sh="${as_dir}install-sh -c" elif test -f "${as_dir}install.sh"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ac_install_sh="${as_dir}install.sh -c" elif test -f "${as_dir}shtool"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ac_install_sh="${as_dir}shtool install -c" else ac_aux_dir_found=no if $ac_first_candidate; then ac_missing_aux_files="${ac_missing_aux_files} install-sh" else break fi fi else if test -f "${as_dir}${ac_aux}"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 else ac_aux_dir_found=no if $ac_first_candidate; then ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" else break fi fi fi done if test "$ac_aux_dir_found" = yes; then ac_aux_dir="$as_dir" break fi ac_first_candidate=false as_found=false done IFS=$as_save_IFS if $as_found then : else $as_nop as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. if test -f "${ac_aux_dir}config.guess"; then ac_config_guess="$SHELL ${ac_aux_dir}config.guess" fi if test -f "${ac_aux_dir}config.sub"; then ac_config_sub="$SHELL ${ac_aux_dir}config.sub" fi if test -f "$ac_aux_dir/configure"; then ac_configure="$SHELL ${ac_aux_dir}configure" fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 printf %s "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test ${ac_cv_path_install+y} then : printf %s "(cached) " >&6 else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac # Account for fact that we put trailing slashes in our PATH walk. case $as_dir in #(( ./ | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 printf "%s\n" "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 printf "%s\n" "$STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 printf "%s\n" "$ac_ct_STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test ${ac_cv_path_mkdir+y} then : printf %s "(cached) " >&6 else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir ('*'coreutils) '* | \ 'BusyBox '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 printf "%s\n" "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AWK+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 printf "%s\n" "$AWK" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval test \${ac_cv_prog_make_${ac_make}_set+y} then : printf %s "(cached) " >&6 else $as_nop cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } SET_MAKE= else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test ${enable_silent_rules+y} then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 printf %s "checking whether $am_make supports nested variables... " >&6; } if test ${am_cv_make_support_nested_variables+y} then : printf %s "(cached) " >&6 else $as_nop if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='etherape' VERSION='0.9.20' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # defines printf "%s\n" "#define HAVE_CATGETS /**/" >>confdefs.h printf "%s\n" "#define GETTEXT_PACKAGE /**/" >>confdefs.h printf "%s\n" "#define HAVE_LIBSM /**/" >>confdefs.h printf "%s\n" "#define HAVE_LIBPCAP /**/" >>confdefs.h printf "%s\n" "#define HAVE_U_INT /**/" >>confdefs.h # Checks for programs. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. set dummy ${ac_tool_prefix}clang; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}clang" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "clang", so it can be a program name with args. set dummy clang; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="clang" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi fi test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 printf %s "checking whether the C compiler works... " >&6; } ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else $as_nop ac_file='' fi if test -z "$ac_file" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_nop printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes else $as_nop ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_c_compiler_gnu if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes else $as_nop CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi ac_prog_cc_stdc=no if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 else $as_nop ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c11_program _ACEOF for ac_arg in '' -std=gnu11 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c11=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else $as_nop if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } CC="$CC $ac_cv_prog_cc_c11" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ac_prog_cc_stdc=c11 fi fi if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6 else $as_nop ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c99_program _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else $as_nop if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } CC="$CC $ac_cv_prog_cc_c99" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ac_prog_cc_stdc=c99 fi fi if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 else $as_nop ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c89_program _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else $as_nop if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } CC="$CC $ac_cv_prog_cc_c89" fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ac_prog_cc_stdc=c89 fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 printf %s "checking whether $CC understands -c and -o together... " >&6; } if test ${am_cv_prog_cc_c_o+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } case $?:`cat confinc.out 2>/dev/null` in #( '0:this is the am__doit target') : case $s in #( BSD) : am__include='.include' am__quote='"' ;; #( *) : am__include='include' am__quote='' ;; esac ;; #( *) : ;; esac if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 printf "%s\n" "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test ${enable_dependency_tracking+y} then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 printf %s "checking dependency style of $depcc... " >&6; } if test ${am_cv_CC_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test ${ac_cv_prog_CPP+y} then : printf %s "(cached) " >&6 else $as_nop # Double quotes because $CC needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else $as_nop # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else $as_nop # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else $as_nop # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else $as_nop # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 printf "%s\n" "no, using $LN_S" >&6; } fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval test \${ac_cv_prog_make_${ac_make}_set+y} then : printf %s "(cached) " >&6 else $as_nop cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } SET_MAKE= else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi case `pwd` in *\ * | *\ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.6' macro_revision='2.4.6' ltmain=$ac_aux_dir/ltmain.sh # Make sure we can run config.sub. $SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 printf %s "checking build system type... " >&6; } if test ${ac_cv_build+y} then : printf %s "(cached) " >&6 else $as_nop ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 printf %s "checking host system type... " >&6; } if test ${ac_cv_host+y} then : printf %s "(cached) " >&6 else $as_nop if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 printf %s "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case $ECHO in printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 printf "%s\n" "printf" >&6; } ;; print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 printf "%s\n" "print -r" >&6; } ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 printf "%s\n" "cat" >&6; } ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 else $as_nop ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in sed gsed do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 printf %s "checking for grep that handles long lines and -e... " >&6; } if test ${ac_cv_path_GREP+y} then : printf %s "(cached) " >&6 else $as_nop if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : printf %s "(cached) " >&6 else $as_nop if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 printf %s "checking for fgrep... " >&6; } if test ${ac_cv_path_FGREP+y} then : printf %s "(cached) " >&6 else $as_nop if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in fgrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 printf "%s\n" "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 else $as_nop if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else $as_nop # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test ${lt_cv_path_NM+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 printf "%s\n" "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DUMPBIN+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 printf "%s\n" "$DUMPBIN" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DUMPBIN+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 printf "%s\n" "$ac_ct_DUMPBIN" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 printf %s "checking the name lister ($NM) interface... " >&6; } if test ${lt_cv_nm_interface+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 printf "%s\n" "$lt_cv_nm_interface" >&6; } # find the maximum length of command line arguments { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 printf %s "checking the maximum length of command line arguments... " >&6; } if test ${lt_cv_sys_max_cmd_len+y} then : printf %s "(cached) " >&6 else $as_nop i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n "$lt_cv_sys_max_cmd_len"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 printf "%s\n" "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 printf %s "checking how to convert $build file names to $host format... " >&6; } if test ${lt_cv_to_host_file_cmd+y} then : printf %s "(cached) " >&6 else $as_nop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 printf %s "checking how to convert $build file names to toolchain format... " >&6; } if test ${lt_cv_to_tool_file_cmd+y} then : printf %s "(cached) " >&6 else $as_nop #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 printf %s "checking for $LD option to reload object files... " >&6; } if test ${lt_cv_ld_reload_flag+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_ld_reload_flag='-r' fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) if test yes = "$GCC"; then reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OBJDUMP+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 printf "%s\n" "$OBJDUMP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OBJDUMP+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 printf %s "checking how to recognize dependent libraries... " >&6; } if test ${lt_cv_deplibs_check_method+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DLLTOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 printf "%s\n" "$DLLTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DLLTOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 printf %s "checking how to associate runtime and link libraries... " >&6; } if test ${lt_cv_sharedlib_from_linklib_cmd+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AR+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 printf "%s\n" "$AR" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AR+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 printf "%s\n" "$ac_ct_AR" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 printf %s "checking for archiver @FILE support... " >&6; } if test ${lt_cv_ar_at_file+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 printf "%s\n" "$STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 printf "%s\n" "$ac_ct_STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_RANLIB+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 printf "%s\n" "$RANLIB" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_RANLIB+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 printf "%s\n" "$ac_ct_RANLIB" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 printf %s "checking command to parse $NM output from $compiler object... " >&6; } if test ${lt_cv_sys_global_symbol_pipe+y} then : printf %s "(cached) " >&6 else $as_nop # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* 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 can'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 #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 printf "%s\n" "failed" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 printf "%s\n" "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 printf %s "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test ${with_sysroot+y} then : withval=$with_sysroot; else $as_nop with_sysroot=no fi lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 printf "%s\n" "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 printf "%s\n" "${lt_sysroot:-no}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 printf %s "checking for a working dd... " >&6; } if test ${ac_cv_path_lt_DD+y} then : printf %s "(cached) " >&6 else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then ac_path_lt_DD_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in dd do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi $ac_path_lt_DD_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_lt_DD"; then : fi else ac_cv_path_lt_DD=$lt_DD fi rm -f conftest.i conftest2.i conftest.out fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 printf "%s\n" "$ac_cv_path_lt_DD" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 printf %s "checking how to truncate binary pipes... " >&6; } if test ${lt_cv_truncate_bin+y} then : printf %s "(cached) " >&6 else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 printf "%s\n" "$lt_cv_truncate_bin" >&6; } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # Check whether --enable-libtool-lock was given. if test ${enable_libtool_lock+y} then : enableval=$enable_libtool_lock; fi test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 printf %s "checking whether the C compiler needs -belf... " >&6; } if test ${lt_cv_cc_needs_belf+y} then : printf %s "(cached) " >&6 else $as_nop ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_cc_needs_belf=yes else $as_nop lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 printf "%s\n" "$MANIFEST_TOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if test ${lt_cv_path_mainfest_tool+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DSYMUTIL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 printf "%s\n" "$DSYMUTIL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_NMEDIT+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 printf "%s\n" "$NMEDIT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_NMEDIT+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 printf "%s\n" "$ac_ct_NMEDIT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_LIPO+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 printf "%s\n" "$LIPO" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_LIPO+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 printf "%s\n" "$ac_ct_LIPO" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 printf "%s\n" "$OTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 printf "%s\n" "$ac_ct_OTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL64+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 printf "%s\n" "$OTOOL64" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL64+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 printf "%s\n" "$ac_ct_OTOOL64" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 printf %s "checking for -single_module linker flag... " >&6; } if test ${lt_cv_apple_cc_single_mod+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_ld_exported_symbols_list=yes else $as_nop lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 printf %s "checking for -force_load linker flag... " >&6; } if test ${lt_cv_ld_force_load+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 printf "%s\n" "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[012][,.]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } ac_header= ac_cache= for ac_item in $ac_header_c_list do if test $ac_cache; then ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then printf "%s\n" "#define $ac_item 1" >> confdefs.h fi ac_header= ac_cache= elif test $ac_header; then ac_cache=$ac_item else ac_header=$ac_item fi done if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes then : printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes then : printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test ${enable_shared+y} then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac else $as_nop enable_shared=yes fi # Check whether --enable-static was given. if test ${enable_static+y} then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac else $as_nop enable_static=yes fi # Check whether --with-pic was given. if test ${with_pic+y} then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac else $as_nop pic_mode=default fi # Check whether --enable-fast-install was given. if test ${enable_fast_install+y} then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac else $as_nop enable_fast_install=yes fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 printf %s "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. if test ${with_aix_soname+y} then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; *) as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ;; esac lt_cv_with_aix_soname=$with_aix_soname else $as_nop if test ${lt_cv_with_aix_soname+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_with_aix_soname=aix fi with_aix_soname=$lt_cv_with_aix_soname fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 printf %s "checking for objdir... " >&6; } if test ${lt_cv_objdir+y} then : printf %s "(cached) " >&6 else $as_nop rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o func_cc_basename $compiler cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 printf %s "checking for ${ac_tool_prefix}file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 else $as_nop case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/${ac_tool_prefix}file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 printf "%s\n" "$MAGIC_CMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 printf %s "checking for file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 else $as_nop case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 printf "%s\n" "$MAGIC_CMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC=$CC ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test ${lt_cv_prog_compiler_rtti_exceptions+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi lt_prog_compiler_pic='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test ${lt_cv_prog_compiler_pic_works+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $compiler_flags $deplibs -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $compiler_flags $deplibs -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' link_all_deplibs=yes ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared -Wl,--as-needed' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct=no hardcode_direct_absolute=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' $wl-bernotok' allow_undefined_flag=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test yes = "$GCC"; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $compiler_flags $deplibs~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $compiler_flags $deplibs' ;; ia64*) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $compiler_flags $deplibs' ;; *) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $compiler_flags $deplibs' ;; ia64*) archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $compiler_flags $deplibs' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 printf %s "checking if $CC understands -b... " >&6; } if test ${lt_cv_prog_compiler__b+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then archive_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if test ${lt_cv_irix_exported_symbol+y} then : printf %s "(cached) " >&6 else $as_nop save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_irix_exported_symbol=yes else $as_nop lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $compiler_flags $deplibs -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $compiler_flags $deplibs -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs $wl-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' else archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes ;; osf3*) if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $compiler_flags $deplibs -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $compiler_flags $deplibs $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $compiler_flags $deplibs -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test yes = "$GCC"; then wlarc='$wl' archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $compiler_flags $deplibs~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $compiler_flags $deplibs~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $compiler_flags $deplibs' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='$wl-z,text' allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 printf "%s\n" "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc+y} then : printf %s "(cached) " >&6 else $as_nop $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 else $as_nop lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 printf "%s\n" "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char dlopen (); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes else $as_nop ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else $as_nop lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes then : lt_cv_dlopen=shl_load else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 printf %s "checking for shl_load in -ldld... " >&6; } if test ${ac_cv_lib_dld_shl_load+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char shl_load (); int main (void) { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_shl_load=yes else $as_nop ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else $as_nop ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes then : lt_cv_dlopen=dlopen else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char dlopen (); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes else $as_nop ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 printf %s "checking for dlopen in -lsvld... " >&6; } if test ${ac_cv_lib_svld_dlopen+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char dlopen (); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_svld_dlopen=yes else $as_nop ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 printf %s "checking for dld_link in -ldld... " >&6; } if test ${ac_cv_lib_dld_dld_link+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char dld_link (); int main (void) { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_dld_link=yes else $as_nop ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi fi fi fi fi fi ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 printf %s "checking whether a program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self+y} then : printf %s "(cached) " >&6 else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 printf %s "checking whether a statically linked program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self_static+y} then : printf %s "(cached) " >&6 else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi # Report what library types will actually be built { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 printf %s "checking if libtool supports shared libraries... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 printf "%s\n" "$can_build_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 printf "%s\n" "$enable_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 printf "%s\n" "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC=$lt_save_CC ac_config_commands="$ac_config_commands libtool" # Only expand once: #AC_PROG_INTLTOOL(0.27) # Checks for libraries. if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else $as_nop case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 printf "%s\n" "$PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else $as_nop case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ETHERAPE" >&5 printf %s "checking for ETHERAPE... " >&6; } if test -n "$ETHERAPE_CFLAGS"; then pkg_cv_ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 goocanvas-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 goocanvas-2.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ETHERAPE_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 goocanvas-2.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$ETHERAPE_LIBS"; then pkg_cv_ETHERAPE_LIBS="$ETHERAPE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 goocanvas-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 goocanvas-2.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ETHERAPE_LIBS=`$PKG_CONFIG --libs "glib-2.0 goocanvas-2.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then ETHERAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 goocanvas-2.0" 2>&1` else ETHERAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 goocanvas-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ETHERAPE_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (glib-2.0 goocanvas-2.0) were not met: $ETHERAPE_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables ETHERAPE_CFLAGS and ETHERAPE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables ETHERAPE_CFLAGS and ETHERAPE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else ETHERAPE_CFLAGS=$pkg_cv_ETHERAPE_CFLAGS ETHERAPE_LIBS=$pkg_cv_ETHERAPE_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on Tru64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then ax_pthread_save_CC="$CC" ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" if test "x$PTHREAD_CC" != "x" then : CC="$PTHREAD_CC" fi CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5 printf %s "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char pthread_join (); int main (void) { return pthread_join (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ax_pthread_ok=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 printf "%s\n" "$ax_pthread_ok" >&6; } if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi CC="$ax_pthread_save_CC" CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" fi # We must check for the threads library under a number of different # names; the ordering is very important because some systems # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). # Create a list of thread flags to try. Items starting with a "-" are # C compiler flags, and other items are library names, except for "none" # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # pthreads: AIX (must check this before -lpthread) # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 # (Note: HP C rejects this with "bad form for `-t' option") # -pthreads: Solaris/gcc (Note: HP C also rejects) # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads and # -D_REENTRANT too), HP C (must be checked before -lpthread, which # is present but should not be used directly; and before -mthreads, # because the compiler interprets this as "-mt" + "-hreads") # -mthreads: Mingw32/gcc, Lynx/gcc # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) case $host_os in freebsd*) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) ax_pthread_flags="-kthread lthread $ax_pthread_flags" ;; hpux*) # From the cc(1) man page: "[-mt] Sets various -D flags to enable # multi-threading and also sets -lpthread." ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" ;; openedition*) # IBM z/OS requires a feature-test macro to be defined in order to # enable POSIX threads at all, so give the user a hint if this is # not set. (We don't define these ourselves, as they can affect # other portions of the system API in unpredictable ways.) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) AX_PTHREAD_ZOS_MISSING # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5 printf "%s\n" "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;} fi rm -rf conftest* ;; solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (N.B.: The stubs are missing # pthread_cleanup_push, or rather a function called by this macro, # so we could check for that, but who knows whether they'll stub # that too in a future libc.) So we'll check first for the # standard Solaris way of linking pthreads (-mt -lpthread). ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags" ;; esac # GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) if test "x$GCC" = "xyes" then : ax_pthread_flags="-pthread -pthreads $ax_pthread_flags" fi # The presence of a feature test macro requesting re-entrant function # definitions is, on some systems, a strong hint that pthreads support is # correctly enabled case $host_os in darwin* | hpux* | linux* | osf* | solaris*) ax_pthread_check_macro="_REENTRANT" ;; aix*) ax_pthread_check_macro="_THREAD_SAFE" ;; *) ax_pthread_check_macro="--" ;; esac if test "x$ax_pthread_check_macro" = "x--" then : ax_pthread_check_cond=0 else $as_nop ax_pthread_check_cond="!defined($ax_pthread_check_macro)" fi # Are we compiling with Clang? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5 printf %s "checking whether $CC is Clang... " >&6; } if test ${ax_cv_PTHREAD_CLANG+y} then : printf %s "(cached) " >&6 else $as_nop ax_cv_PTHREAD_CLANG=no # Note that Autoconf sets GCC=yes for Clang as well as GCC if test "x$GCC" = "xyes"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Note: Clang 2.7 lacks __clang_[a-z]+__ */ # if defined(__clang__) && defined(__llvm__) AX_PTHREAD_CC_IS_CLANG # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1 then : ax_cv_PTHREAD_CLANG=yes fi rm -rf conftest* fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5 printf "%s\n" "$ax_cv_PTHREAD_CLANG" >&6; } ax_pthread_clang="$ax_cv_PTHREAD_CLANG" ax_pthread_clang_warning=no # Clang needs special handling, because older versions handle the -pthread # option in a rather... idiosyncratic way if test "x$ax_pthread_clang" = "xyes"; then # Clang takes -pthread; it has never supported any other flag # (Note 1: This will need to be revisited if a system that Clang # supports has POSIX threads in a separate library. This tends not # to be the way of modern systems, but it's conceivable.) # (Note 2: On some systems, notably Darwin, -pthread is not needed # to get POSIX threads support; the API is always present and # active. We could reasonably leave PTHREAD_CFLAGS empty. But # -pthread does define _REENTRANT, and while the Darwin headers # ignore this macro, third-party headers might not.) PTHREAD_CFLAGS="-pthread" PTHREAD_LIBS= ax_pthread_ok=yes # However, older versions of Clang make a point of warning the user # that, in an invocation where only linking and no compilation is # taking place, the -pthread option has no effect ("argument unused # during compilation"). They expect -pthread to be passed in only # when source code is being compiled. # # Problem is, this is at odds with the way Automake and most other # C build frameworks function, which is that the same flags used in # compilation (CFLAGS) are also used in linking. Many systems # supported by AX_PTHREAD require exactly this for POSIX threads # support, and in fact it is often not straightforward to specify a # flag that is used only in the compilation phase and not in # linking. Such a scenario is extremely rare in practice. # # Even though use of the -pthread flag in linking would only print # a warning, this can be a nuisance for well-run software projects # that build with -Werror. So if the active version of Clang has # this misfeature, we search for an option to squash it. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5 printf %s "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; } if test ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+y} then : printf %s "(cached) " >&6 else $as_nop ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown # Create an alternate version of $ac_link that compiles and # links in two steps (.c -> .o, .o -> exe) instead of one # (.c -> exe), because the warning occurs only in the second # step ax_pthread_save_ac_link="$ac_link" ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" ax_pthread_save_CFLAGS="$CFLAGS" for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do if test "x$ax_pthread_try" = "xunknown" then : break fi CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" ac_link="$ax_pthread_save_ac_link" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(void){return 0;} _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_link="$ax_pthread_2step_ac_link" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(void){return 0;} _ACEOF if ac_fn_c_try_link "$LINENO" then : break fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done ac_link="$ax_pthread_save_ac_link" CFLAGS="$ax_pthread_save_CFLAGS" if test "x$ax_pthread_try" = "x" then : ax_pthread_try=no fi ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5 printf "%s\n" "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; } case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in no | unknown) ;; *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; esac fi # $ax_pthread_clang = yes if test "x$ax_pthread_ok" = "xno"; then for ax_pthread_try_flag in $ax_pthread_flags; do case $ax_pthread_try_flag in none) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 printf %s "checking whether pthreads work without any flags... " >&6; } ;; -mt,pthread) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with -mt -lpthread" >&5 printf %s "checking whether pthreads work with -mt -lpthread... " >&6; } PTHREAD_CFLAGS="-mt" PTHREAD_LIBS="-lpthread" ;; -*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5 printf %s "checking whether pthreads work with $ax_pthread_try_flag... " >&6; } PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ax_pthread_config+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ax_pthread_config="yes" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no" fi fi ax_pthread_config=$ac_cv_prog_ax_pthread_config if test -n "$ax_pthread_config"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 printf "%s\n" "$ax_pthread_config" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ax_pthread_config" = "xno" then : continue fi PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5 printf %s "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; } PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we # need a special flag -Kthread to make this header compile.) # We check for pthread_join because it is in -lpthread on IRIX # while pthread_create is in libc. We check for pthread_attr_init # due to DEC craziness with -lpthreads. We check for # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include # if $ax_pthread_check_cond # error "$ax_pthread_check_macro must be defined" # endif static void routine(void *a) { a = 0; } static void *start_routine(void *a) { return a; } int main (void) { pthread_t th; pthread_attr_t attr; pthread_create(&th, 0, start_routine, 0); pthread_join(th, 0); pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_cleanup_pop(0) /* ; */ ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ax_pthread_ok=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 printf "%s\n" "$ax_pthread_ok" >&6; } if test "x$ax_pthread_ok" = "xyes" then : break fi PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi # Various other checks: if test "x$ax_pthread_ok" = "xyes"; then ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 printf %s "checking for joinable pthread attribute... " >&6; } if test ${ax_cv_PTHREAD_JOINABLE_ATTR+y} then : printf %s "(cached) " >&6 else $as_nop ax_cv_PTHREAD_JOINABLE_ATTR=unknown for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { int attr = $ax_pthread_attr; return attr /* ; */ ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5 printf "%s\n" "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; } if test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ test "x$ax_pthread_joinable_attr_defined" != "xyes" then : printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR" >>confdefs.h ax_pthread_joinable_attr_defined=yes fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5 printf %s "checking whether more special flags are required for pthreads... " >&6; } if test ${ax_cv_PTHREAD_SPECIAL_FLAGS+y} then : printf %s "(cached) " >&6 else $as_nop ax_cv_PTHREAD_SPECIAL_FLAGS=no case $host_os in solaris*) ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5 printf "%s\n" "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; } if test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ test "x$ax_pthread_special_flags_added" != "xyes" then : PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" ax_pthread_special_flags_added=yes fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; } if test ${ax_cv_PTHREAD_PRIO_INHERIT+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { int i = PTHREAD_PRIO_INHERIT; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ax_cv_PTHREAD_PRIO_INHERIT=yes else $as_nop ax_cv_PTHREAD_PRIO_INHERIT=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ test "x$ax_pthread_prio_inherit_defined" != "xyes" then : printf "%s\n" "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h ax_pthread_prio_inherit_defined=yes fi CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" # More AIX lossage: compile with *_r variant if test "x$GCC" != "xyes"; then case $host_os in aix*) case "x/$CC" in #( x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6) : #handle absolute path differently from PATH based program lookup case "x$CC" in #( x/*) : if as_fn_executable_p ${CC}_r then : PTHREAD_CC="${CC}_r" fi ;; #( *) : for ac_prog in ${CC}_r do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_PTHREAD_CC+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_PTHREAD_CC="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 printf "%s\n" "$PTHREAD_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$PTHREAD_CC" && break done test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" ;; esac ;; #( *) : ;; esac ;; esac fi fi test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test "x$ax_pthread_ok" = "xyes"; then printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h : else ax_pthread_ok=no fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Checks for header files. # Autoupdate added the next two lines to ensure that your configure # script's behavior did not change. They are probably safe to remove. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : printf %s "(cached) " >&6 else $as_nop if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" if test "x$ac_cv_header_arpa_inet_h" = xyes then : printf "%s\n" "#define HAVE_ARPA_INET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" if test "x$ac_cv_header_fcntl_h" = xyes then : printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" if test "x$ac_cv_header_netdb_h" = xyes then : printf "%s\n" "#define HAVE_NETDB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_in_h" = xyes then : printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes then : printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" if test "x$ac_cv_header_string_h" = xyes then : printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_ioctl_h" = xyes then : printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes then : printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" if test "x$ac_cv_header_sys_time_h" = xyes then : printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default" if test "x$ac_cv_header_sys_wait_h" = xyes then : printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" if test "x$ac_cv_header_unistd_h" = xyes then : printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "math.h" "ac_cv_header_math_h" "$ac_includes_default" if test "x$ac_cv_header_math_h" = xyes then : printf "%s\n" "#define HAVE_MATH_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes then : printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "#include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif " if test "x$ac_cv_header_net_if_h" = xyes then : printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h fi # Checks for typedefs, structures, and compiler characteristics. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 printf %s "checking for an ANSI C-conforming const... " >&6; } if test ${ac_cv_c_const+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* IBM XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* IBM XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_const=yes else $as_nop ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 printf "%s\n" "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then printf "%s\n" "#define const /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes then : else $as_nop printf "%s\n" "#define size_t unsigned int" >>confdefs.h fi # Obsolete code to be removed. if test $ac_cv_header_sys_time_h = yes; then printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi # End of obsolete code. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; } if test ${ac_cv_struct_tm+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_struct_tm=time.h else $as_nop ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 printf "%s\n" "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h fi # Check whether --enable-warnings was given. if test ${enable_warnings+y} then : enableval=$enable_warnings; fi if test "$enable_warnings" != no; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -Wall" fi # Check whether --enable-werror was given. if test ${enable_werror+y} then : enableval=$enable_werror; fi if test "$enable_werror" = yes; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -Werror" fi # Check whether --enable-asan was given. if test ${enable_asan+y} then : enableval=$enable_asan; fi if test "$enable_asan" = yes; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -fsanitize=address" ETHERAPE_LDFLAGS="$ETHERAPE_LDFLAGS -fsanitize=address" fi # Check whether --enable-ubsan was given. if test ${enable_ubsan+y} then : enableval=$enable_ubsan; fi if test "$enable_ubsan" = yes; then ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -fsanitize=undefined" ETHERAPE_LDFLAGS="$ETHERAPE_LDFLAGS -fsanitize=undefined" fi # Check whether --enable-tsan was given. if test ${enable_tsan+y} then : enableval=$enable_tsan; fi if test "$enable_tsan" = yes; then if test "$enable_asan" = yes; then as_fn_error $? "--enable-tsan and --enable-asan are mutually incompatible" "$LINENO" 5 fi ETHERAPE_CFLAGS="$ETHERAPE_CFLAGS -fsanitize=thread" ETHERAPE_LDFLAGS="$ETHERAPE_LDFLAGS -fsanitize=thread" fi # checks for osx or disable-gdk-input-add # Check whether --enable-gdk-input-add was given. if test ${enable_gdk_input_add+y} then : enableval=$enable_gdk_input_add; use_gdk_input_add=$enableval else $as_nop use_gdk_input_add=yes fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(int argc, char **argv){return __APPLE__ + __MACH__;} _ACEOF if ac_fn_c_try_compile "$LINENO" then : use_gdk_input_add=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $use_gdk_input_add = no; then printf "%s\n" "#define DISABLE_GDKINPUTADD 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: gtk_input_add disabled" >&5 printf "%s\n" "$as_me: gtk_input_add disabled" >&6;} fi ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo" if test "x$ac_cv_func_getnameinfo" = xyes then : has_getnameinfo=yes else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -lbind" >&5 printf %s "checking for getnameinfo in -lbind... " >&6; } if test ${ac_cv_lib_bind_getnameinfo+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lbind $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char getnameinfo (); int main (void) { return getnameinfo (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_bind_getnameinfo=yes else $as_nop ac_cv_lib_bind_getnameinfo=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_getnameinfo" >&5 printf "%s\n" "$ac_cv_lib_bind_getnameinfo" >&6; } if test "x$ac_cv_lib_bind_getnameinfo" = xyes then : has_getnameinfo=yes else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -lresolv" >&5 printf %s "checking for getnameinfo in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_getnameinfo+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lresolv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char getnameinfo (); int main (void) { return getnameinfo (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_resolv_getnameinfo=yes else $as_nop ac_cv_lib_resolv_getnameinfo=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_getnameinfo" >&5 printf "%s\n" "$ac_cv_lib_resolv_getnameinfo" >&6; } if test "x$ac_cv_lib_resolv_getnameinfo" = xyes then : has_getnameinfo=yes else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getnameinfo in -lnsl" >&5 printf %s "checking for getnameinfo in -lnsl... " >&6; } if test ${ac_cv_lib_nsl_getnameinfo+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char getnameinfo (); int main (void) { return getnameinfo (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_nsl_getnameinfo=yes else $as_nop ac_cv_lib_nsl_getnameinfo=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_getnameinfo" >&5 printf "%s\n" "$ac_cv_lib_nsl_getnameinfo" >&6; } if test "x$ac_cv_lib_nsl_getnameinfo" = xyes then : has_getnameinfo=yes else $as_nop has_getnameinfo=no fi fi fi fi if test $has_getnameinfo = no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: getnameinfo not found, trying with gethostbyaddr" >&5 printf "%s\n" "$as_me: getnameinfo not found, trying with gethostbyaddr" >&6;} ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" if test "x$ac_cv_func_gethostbyaddr" = xyes then : has_gethostbyaddr=yes else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lbind" >&5 printf %s "checking for gethostbyaddr in -lbind... " >&6; } if test ${ac_cv_lib_bind_gethostbyaddr+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lbind $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char gethostbyaddr (); int main (void) { return gethostbyaddr (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_bind_gethostbyaddr=yes else $as_nop ac_cv_lib_bind_gethostbyaddr=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_gethostbyaddr" >&5 printf "%s\n" "$ac_cv_lib_bind_gethostbyaddr" >&6; } if test "x$ac_cv_lib_bind_gethostbyaddr" = xyes then : has_gethostbyaddr=yes else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lresolv" >&5 printf %s "checking for gethostbyaddr in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_gethostbyaddr+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lresolv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char gethostbyaddr (); int main (void) { return gethostbyaddr (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_resolv_gethostbyaddr=yes else $as_nop ac_cv_lib_resolv_gethostbyaddr=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_gethostbyaddr" >&5 printf "%s\n" "$ac_cv_lib_resolv_gethostbyaddr" >&6; } if test "x$ac_cv_lib_resolv_gethostbyaddr" = xyes then : has_gethostbyaddr=yes else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lnsl" >&5 printf %s "checking for gethostbyaddr in -lnsl... " >&6; } if test ${ac_cv_lib_nsl_gethostbyaddr+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char gethostbyaddr (); int main (void) { return gethostbyaddr (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_nsl_gethostbyaddr=yes else $as_nop ac_cv_lib_nsl_gethostbyaddr=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyaddr" >&5 printf "%s\n" "$ac_cv_lib_nsl_gethostbyaddr" >&6; } if test "x$ac_cv_lib_nsl_gethostbyaddr" = xyes then : has_gethostbyaddr=yes else $as_nop as_fn_error $? "Missing both getnameinfo and gethostbyaddr. Please install a resolver library." "$LINENO" 5 fi fi fi fi if test $has_gethostbyaddr = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Found only gethostbyaddr, while getnameinfo does not exists, resolving is restricted to single thread." >&5 printf "%s\n" "$as_me: WARNING: Found only gethostbyaddr, while getnameinfo does not exists, resolving is restricted to single thread." >&2;} printf "%s\n" "#define FORCE_SINGLE_THREAD 1" >>confdefs.h fi fi # Handle --with-c-ares # Check whether --with-c-ares was given. if test ${with_c_ares+y} then : withval=$with_c_ares; else $as_nop with_c_ares=no fi if test $with_c_ares = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing ares_init" >&5 printf %s "checking for library containing ares_init... " >&6; } if test ${ac_cv_search_ares_init+y} then : printf %s "(cached) " >&6 else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char ares_init (); int main (void) { return ares_init (); ; return 0; } _ACEOF for ac_lib in '' cares do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_ares_init=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_ares_init+y} then : break fi done if test ${ac_cv_search_ares_init+y} then : else $as_nop ac_cv_search_ares_init=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ares_init" >&5 printf "%s\n" "$ac_cv_search_ares_init" >&6; } ac_res=$ac_cv_search_ares_init if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" printf "%s\n" "#define HAVE_LIBCARES 1" >>confdefs.h else $as_nop { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "--with-c-ares was given, but the c-ares library was not found See \`config.log' for more details" "$LINENO" 5; } fi fi if test $with_c_ares = yes; then HAVE_LIBCARES_TRUE= HAVE_LIBCARES_FALSE='#' else HAVE_LIBCARES_TRUE='#' HAVE_LIBCARES_FALSE= fi # Check for the pcap library. # Check whether --enable-static-pcap was given. if test ${enable_static_pcap+y} then : enableval=$enable_static_pcap; STATIC_PCAP=yes fi # Evidently, some systems have pcap.h, etc. in */include/pcap { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for extraneous pcap header directories" >&5 printf %s "checking for extraneous pcap header directories... " >&6; } found_pcap_dir="" for pcap_dir in /usr/include/pcap /usr/local/include/pcap $prefix/include do if test -d $pcap_dir ; then CFLAGS="$CFLAGS -I$pcap_dir" CPPFLAGS="$CPPFLAGS -I$pcap_dir" found_pcap_dir=" $found_pcap_dir -I$pcap_dir" fi done if test "$found_pcap_dir" != "" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found --$found_pcap_dir added to CFLAGS" >&5 printf "%s\n" "found --$found_pcap_dir added to CFLAGS" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } fi # Pcap header checks ac_fn_c_check_header_compile "$LINENO" "pcap.h" "ac_cv_header_pcap_h" "$ac_includes_default" if test "x$ac_cv_header_pcap_h" = xyes then : else $as_nop as_fn_error $? "Header file pcap.h not found; You need libcap development package, or if you installed libpcap from source, do \"make install-incl\"" "$LINENO" 5 fi # # Check to see if we find "pcap_open_live" in "-lpcap". # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pcap_open_live in -lpcap" >&5 printf %s "checking for pcap_open_live in -lpcap... " >&6; } if test ${ac_cv_lib_pcap_pcap_open_live+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lpcap $SOCKET_LIBS $NSL_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char pcap_open_live (); int main (void) { return pcap_open_live (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_pcap_pcap_open_live=yes else $as_nop ac_cv_lib_pcap_pcap_open_live=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcap_pcap_open_live" >&5 printf "%s\n" "$ac_cv_lib_pcap_pcap_open_live" >&6; } if test "x$ac_cv_lib_pcap_pcap_open_live" = xyes then : # TODO # This is a dirty hack, but I don't know any other way # to do it. If you do, please tell me. if test "x$STATIC_PCAP" != "xyes"; then PCAP_LIBS=-lpcap fi if test "x$STATIC_PCAP" = "xyes"; then PCAP_LIBS="-Wl,-Bstatic -lpcap -Wl,-Bdynamic" echo "Forcing static pcap linking" fi printf "%s\n" "#define HAVE_LIBPCAP 1" >>confdefs.h else $as_nop as_fn_error $? "Library libpcap not found." "$LINENO" 5 fi # check for other libraries (needed for AC_CHECK_FUNCS) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing pow" >&5 printf %s "checking for library containing pow... " >&6; } if test ${ac_cv_search_pow+y} then : printf %s "(cached) " >&6 else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char pow (); int main (void) { return pow (); ; return 0; } _ACEOF for ac_lib in '' m do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_pow=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_pow+y} then : break fi done if test ${ac_cv_search_pow+y} then : else $as_nop ac_cv_search_pow=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_pow" >&5 printf "%s\n" "$ac_cv_search_pow" >&6; } ac_res=$ac_cv_search_pow if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing glib_check_version" >&5 printf %s "checking for library containing glib_check_version... " >&6; } if test ${ac_cv_search_glib_check_version+y} then : printf %s "(cached) " >&6 else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char glib_check_version (); int main (void) { return glib_check_version (); ; return 0; } _ACEOF for ac_lib in '' glib-2.0 do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_glib_check_version=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_glib_check_version+y} then : break fi done if test ${ac_cv_search_glib_check_version+y} then : else $as_nop ac_cv_search_glib_check_version=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_glib_check_version" >&5 printf "%s\n" "$ac_cv_search_glib_check_version" >&6; } ac_res=$ac_cv_search_glib_check_version if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing poptGetContext" >&5 printf %s "checking for library containing poptGetContext... " >&6; } if test ${ac_cv_search_poptGetContext+y} then : printf %s "(cached) " >&6 else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ char poptGetContext (); int main (void) { return poptGetContext (); ; return 0; } _ACEOF for ac_lib in '' popt do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_poptGetContext=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_poptGetContext+y} then : break fi done if test ${ac_cv_search_poptGetContext+y} then : else $as_nop ac_cv_search_poptGetContext=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_poptGetContext" >&5 printf "%s\n" "$ac_cv_search_poptGetContext" >&6; } ac_res=$ac_cv_search_poptGetContext if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi # Check for inet_ntop (it's supposed to exists everywhere, but ...) ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" if test "x$ac_cv_func_inet_ntop" = xyes then : printf "%s\n" "#define HAVE_INET_NTOP 1" >>confdefs.h fi # check for g_list_free_full (glib < 2.28) ac_fn_c_check_func "$LINENO" "g_list_free_full" "ac_cv_func_g_list_free_full" if test "x$ac_cv_func_g_list_free_full" = xyes then : printf "%s\n" "#define HAVE_G_LIST_FREE_FULL 1" >>confdefs.h fi # check for g_ptr_array_insert (glib < 2.40, RHEL7/CENTOS7 and before) ac_fn_c_check_func "$LINENO" "g_ptr_array_insert" "ac_cv_func_g_ptr_array_insert" if test "x$ac_cv_func_g_ptr_array_insert" = xyes then : printf "%s\n" "#define HAVE_G_PTR_ARRAY_INSERT 1" >>confdefs.h fi ALL_LINGUAS="es fr nl tr sv it de ru" MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_MSGFMT+y} then : printf %s "(cached) " >&6 else $as_nop case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 printf "%s\n" "$MSGFMT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_GMSGFMT+y} then : printf %s "(cached) " >&6 else $as_nop case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 printf "%s\n" "$GMSGFMT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_XGETTEXT+y} then : printf %s "(cached) " >&6 else $as_nop case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 printf "%s\n" "$XGETTEXT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi rm -f messages.po # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_MSGMERGE+y} then : printf %s "(cached) " >&6 else $as_nop case "$MSGMERGE" in /*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 printf "%s\n" "$MSGMERGE" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "$GMSGFMT" != ":"; then if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 printf "%s\n" "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } GMSGFMT=":" fi fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 printf "%s\n" "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi rm -f messages.po fi ac_config_commands="$ac_config_commands default-1" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else $as_nop with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 printf %s "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${acl_cv_path_LD+y} then : printf %s "(cached) " >&6 else $as_nop if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else test "$with_gnu_ld" != yes && break fi fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${acl_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else $as_nop # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then acl_cv_prog_gnu_ld=yes else acl_cv_prog_gnu_ld=no fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 printf %s "checking for shared library run path origin... " >&6; } if test ${acl_cv_rpath+y} then : printf %s "(cached) " >&6 else $as_nop CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 printf "%s\n" "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" # Check whether --enable-rpath was given. if test ${enable_rpath+y} then : enableval=$enable_rpath; : else $as_nop enable_rpath=yes fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test ${with_libiconv_prefix+y} then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi fi LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 printf %s "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test ${enable_nls+y} then : enableval=$enable_nls; USE_NLS=$enableval else $as_nop USE_NLS=yes fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 printf "%s\n" "$USE_NLS" >&6; } LIBINTL= LTLIBINTL= POSUB= if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 printf %s "checking for GNU gettext in libc... " >&6; } if test ${gt_cv_func_gnugettext1_libc+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main (void) { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : gt_cv_func_gnugettext1_libc=yes else $as_nop gt_cv_func_gnugettext1_libc=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5 printf "%s\n" "$gt_cv_func_gnugettext1_libc" >&6; } if test "$gt_cv_func_gnugettext1_libc" != "yes"; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 printf %s "checking for iconv... " >&6; } if test ${am_cv_func_iconv+y} then : printf %s "(cached) " >&6 else $as_nop am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 printf "%s\n" "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 printf %s "checking how to link with libiconv... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 printf "%s\n" "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test ${with_libintl_prefix+y} then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi fi LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 printf %s "checking for GNU gettext in libintl... " >&6; } if test ${gt_cv_func_gnugettext1_libintl+y} then : printf %s "(cached) " >&6 else $as_nop gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (); int main (void) { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : gt_cv_func_gnugettext1_libintl=yes else $as_nop gt_cv_func_gnugettext1_libintl=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (); int main (void) { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext1_libintl=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5 printf "%s\n" "$gt_cv_func_gnugettext1_libintl" >&6; } fi if test "$gt_cv_func_gnugettext1_libc" = "yes" \ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ && test "$PACKAGE" != gettext; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then printf "%s\n" "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 printf %s "checking how to link with libintl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 printf "%s\n" "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi printf "%s\n" "#define HAVE_GETTEXT 1" >>confdefs.h printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" GETTEXT_PACKAGE=etherape printf "%s\n" "#define GETTEXT_PACKAGE \"$GETTEXT_PACKAGE\"" >>confdefs.h if test "x${prefix}" = "xNONE"; then printf "%s\n" "#define PACKAGE_LOCALE_DIR \"${ac_default_prefix}/share/locale\"" >>confdefs.h else printf "%s\n" "#define PACKAGE_LOCALE_DIR \"${prefix}/share/locale\"" >>confdefs.h fi if test "x${prefix}" = "xNONE"; then printf "%s\n" "#define PIXMAPS_DIR \"${ac_default_prefix}/share/pixmaps\"" >>confdefs.h else printf "%s\n" "#define PIXMAPS_DIR \"${prefix}/share/pixmaps\"" >>confdefs.h fi YELP_LC_MEDIA_LINKS=true YELP_LC_DIST=true for yelpopt in ; do case $yelpopt in lc-media-links) YELP_LC_MEDIA_LINKS=true ;; no-lc-media-links) YELP_LC_MEDIA_LINKS= ;; lc-dist) YELP_LC_DIST=true ;; no-lc-dist) YELP_LC_DIST= ;; *) as_fn_error $? "Unrecognized YELP_HELP_INIT option $yelpopt\"" "$LINENO" 5 ;; esac done; # Check whether --with-help-dir was given. if test ${with_help_dir+y} then : withval=$with_help_dir; else $as_nop with_help_dir='${datadir}/help' fi HELP_DIR="$with_help_dir" # Extract the first word of "itstool", so it can be a program name with args. set dummy itstool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ITSTOOL+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$ITSTOOL"; then ac_cv_prog_ITSTOOL="$ITSTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ITSTOOL="itstool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ITSTOOL=$ac_cv_prog_ITSTOOL if test -n "$ITSTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ITSTOOL" >&5 printf "%s\n" "$ITSTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test x"$ITSTOOL" = x; then as_fn_error $? "itstool not found" "$LINENO" 5 fi # Extract the first word of "xmllint", so it can be a program name with args. set dummy xmllint; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_XMLLINT+y} then : printf %s "(cached) " >&6 else $as_nop if test -n "$XMLLINT"; then ac_cv_prog_XMLLINT="$XMLLINT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_XMLLINT="xmllint" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi XMLLINT=$ac_cv_prog_XMLLINT if test -n "$XMLLINT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 printf "%s\n" "$XMLLINT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test x"$XMLLINT" = x; then as_fn_error $? "xmllint not found" "$LINENO" 5 fi YELP_HELP_RULES=' HELP_ID ?= HELP_POT ?= HELP_FILES ?= HELP_EXTRA ?= HELP_MEDIA ?= HELP_LINGUAS ?= _HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS)) _HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot)) _HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po)) _HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES)) _HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f)) _HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f)) _HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f)) _HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f))) _HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp) _HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) _HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V)) _HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE_0 = @echo " GEN "$(dir $@); all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES) .PHONY: pot pot: $(_HELP_POTFILE) $(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \ $(ITSTOOL) -o "$@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)") .PHONY: repo repo: $(_HELP_POTFILE) $(AM_V_at)for po in $(_HELP_POFILES); do \ if test "x$(_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \ msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \ done $(_HELP_POFILES): $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi $(AM_V_at)if test ! -f "$@" -a -f "$(srcdir)/$@"; then cp "$(srcdir)/$@" "$@"; fi $(AM_V_GEN)if ! test -f "$@"; then \ (cd "$(dir $@)" && \ $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \ mv "$(notdir $@).tmp" "$(notdir $@)"); \ else \ (cd "$(dir $@)" && \ $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \ msgmerge -o "$(notdir $@)" "$(notdir $@)" "$(notdir $@).tmp" && \ rm "$(notdir $@).tmp"); \ fi $(_HELP_MOFILES): %.mo: %.po $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi $(AM_V_GEN)msgfmt -o "$@" "$<" $(_HELP_LC_FILES): $(_HELP_LINGUAS) $(_HELP_LINGUAS): $(_HELP_LC_STAMPS) $(_HELP_LC_STAMPS): %.stamp: %.mo $(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \ (cd "$(dir $@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \ touch "$@" .PHONY: clean-help mostlyclean-am: $(if $(HELP_ID),clean-help) clean-help: rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) EXTRA_DIST ?= EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp)) EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files distdir-help-files: $(_HELP_LC_FILES) @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ $(MKDIR_P) "$(distdir)/$$lc"; \ for file in $(HELP_FILES); do \ if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \ cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \ done; \ done; \ .PHONY: check-help check: check-help check-help: for lc in C $(_HELP_LINGUAS); do \ if test -d "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ for page in $(HELP_FILES); do \ echo "$(XMLLINT) --nonet --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ $(XMLLINT) --nonet --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ done; \ done .PHONY: install-help install-data-am: $(if $(HELP_ID),install-help) install-help: $(_HELP_LC_FILES) @for lc in C $(_HELP_LINGUAS); do \ $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ done @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ mdir=`dirname "$$f"`; \ if test "x$mdir" = "x."; then mdir=""; fi; \ if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \ if test -f "$$d$$lc/$$f"; then \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \ elif test "x$$lc" != "xC"; then \ if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \ echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ $(LN_S) -f "$(HELP_DIR)/C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ fi; \ fi; \ done; \ done .PHONY: uninstall-help uninstall-am: $(if $(HELP_ID),uninstall-help) uninstall-help: for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir$$f"; \ rm -f "$$helpdir$$f"; \ done; \ done; ' { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 printf %s "checking whether byte ordering is bigendian... " >&6; } if test ${ac_cv_c_bigendian+y} then : printf %s "(cached) " >&6 else $as_nop ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO" then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_bigendian=yes else $as_nop ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_bigendian=yes else $as_nop ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ unsigned short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; unsigned short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } unsigned short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; unsigned short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main (void) { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main (void) { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO" then : ac_cv_c_bigendian=no else $as_nop ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 printf "%s\n" "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker allows -Wl,--export-dynamic" >&5 printf %s "checking if the linker allows -Wl,--export-dynamic... " >&6; } tmp_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--export-dynamic" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(int argc, char **argv){return 0;} _ACEOF if ac_fn_c_try_link "$LINENO" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } LDFLAGS=$tmp_LDFLAGS fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_config_files="$ac_config_files Makefile po/Makefile.in etherape.spec etherape.desktop PKGBUILD glade/Makefile src/Makefile m4/Makefile doc/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_LIBCARES_TRUE}" && test -z "${HAVE_LIBCARES_FALSE}"; then as_fn_error $? "conditional \"HAVE_LIBCARES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi # Reset variables that may have inherited troublesome values from # the environment. # IFS needs to be set, to space, tab, and newline, in precisely that order. # (If _AS_PATH_WALK were called with IFS unset, it would have the # side effect of setting IFS to empty, thus disabling word splitting.) # Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl IFS=" "" $as_nl" PS1='$ ' PS2='> ' PS4='+ ' # Ensure predictable behavior from utilities with locale-dependent output. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # We cannot yet rely on "unset" to work, but we need these variables # to be unset--not just set to an empty or harmless value--now, to # avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct # also avoids known problems related to "unset" and subshell syntax # in other old shells (e.g. bash 2.01 and pdksh 5.2.14). for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH do eval test \${$as_var+y} \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done # Ensure that fds 0, 1, and 2 are open. if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null then : eval 'as_fn_append () { eval $1+=\$2 }' else $as_nop as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # Determine whether it's possible to make 'echo' print without a newline. # These variables are no longer used directly by Autoconf, but are AC_SUBSTed # for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac # For backward compatibility with old third-party macros, we provide # the shell variables $as_echo and $as_echo_n. New code should use # AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. as_echo='printf %s\n' as_echo_n='printf %s' rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by etherape $as_me 0.9.20, which was generated by GNU Autoconf 2.70. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to the package provider." _ACEOF ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ etherape config.status 0.9.20 configured by $0, generated by GNU Autoconf 2.70, with options \\"\$ac_cs_config\\" Copyright (C) 2020 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX printf "%s\n" "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" # 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 sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_cv_nm_interface \ nm_file_list_spec \ lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ configure_time_dlsearch_path \ configure_time_lt_sys_library_path; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile' # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it # from automake. eval 'ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "etherape.spec") CONFIG_FILES="$CONFIG_FILES etherape.spec" ;; "etherape.desktop") CONFIG_FILES="$CONFIG_FILES etherape.desktop" ;; "PKGBUILD") CONFIG_FILES="$CONFIG_FILES PKGBUILD" ;; "glade/Makefile") CONFIG_FILES="$CONFIG_FILES glade/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. case $CONFIG_FILES in #( *\'*) : eval set x "$CONFIG_FILES" ;; #( *) : set x $CONFIG_FILES ;; #( *) : ;; esac shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`$as_dirname -- "$am_mf" || $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` am_filepart=`$as_basename -- "$am_mf" || $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` { echo "$as_me:$LINENO: cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles" >&5 (cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE=\"gmake\" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} { am_mf=; unset am_mf;} { am_rc=; unset am_rc;} rm -f conftest-deps.mk } ;; "libtool":C) # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 # Copyright (C) 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. # 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 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 this program. If not, see . # The names of the tagged configurations supported by this script. available_tags='' # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shared archive member basename,for filename based shared library versioning on AIX. shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm into a list of symbols to manually relocate. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name lister interface. nm_interface=$lt_lt_cv_nm_interface # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot # Command to truncate a binary pipe. lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Detected run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "default-1":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' fi case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= GMOFILES= UPDATEPOFILES= DUMMYPOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi etherape-0.9.20/etherape.desktop.in0000644000175000017500000000566513126474543014142 00000000000000[Desktop Entry] Name=EtherApe GenericName=A Graphical Network Browser GenericName[de]=Ein grafischer Netzwerk-Browser GenericName[es]=Un monitor gráfico de red GenericName[fr]=Un navigateur de réseau graphique GenericName[it]=Visualizza il traffico di rete GenericName[ru]=Графический просмотр сети GenericName[sv]=En grafisk nätverksbläddrare GenericName[tr]=Grafiksel Ağ İzleyici Comment=Graphical Network Monitor Comment[es]=Monitor Gráfico de Red Comment[sq]=Monitorues Grafik i Rrjetit Comment[af]=Grafiese netwerkmonitor Comment[be]=Графічны сеціўны манітор Comment[eu]=Sare Monitore Grafikoa Comment[ast]=Monitor gráficu de rede Comment[bn]=গ্রাফিকেল নেটওয়ার্ক পর্যবেক্ষণ Comment[bs]=Grafički nadzornik mreže Comment[pt_BR]=Monitor Gráfico de Rede Comment[bg]=Графично наблюдение на мрежата Comment[ca]=Monitor gràfic de xarxa Comment[ca@valencia]=Monitor gràfic de xarxa Comment[zh_HK]=圖像化網絡監控器 Comment[zh_TW]=圖像化網路監控器 Comment[crh]=Grafiksel Ağ Görüntü Birimi Comment[zh_CN]=图形化网络监视器 Comment[hr]=Grafički prikaz mreže Comment[eo]=Grafika Reta Kontrolilo Comment[cs]=Grafické sledování sítě Comment[da]=Grafisk netværksovervågning Comment[nl]=Grafische netwerkmonitor Comment[et]=Graafiline võrgumonitor Comment[fr_CA]=Moniteur graphique de réseau Comment[fi]=Graafinen verkonvalvonta Comment[fr]=Surveillance graphique du réseau Comment[gl]=Monitor Gráfico de Rede Comment[el]=Γραφική παρακολούθηση δικτύου Comment[de]=Grafischer Netzwerkmonitor Comment[id]=Monitor Jaringan Berbasis Grafik Comment[hu]=Grafikus hálózatfigyelő Comment[it]=Monitor di rete grafico Comment[ja]=グラフィカルなネットワークモニタ Comment[ky]=Графикалык тармак монитору Comment[ko]=그래픽 네트워크 모니터 Comment[ms]=Pemantau Rangkaian Bergrafik Comment[fa]=نمایشگر شبکه گرافیکی Comment[oc]=Susvelhança grafica de la ret Comment[nb]=Grafisk nettverksovervåking Comment[pl]=Graficzny monitor sieci Comment[ro]=Monitor grafic pentru rețea Comment[pt]=Monitor Gráfico de Rede Comment[ru]=Графический сетевой монитор Comment[sk]=Grafický monitoring sieťovej prevádzky Comment[sl]=Grafični nadzornik omrežja Comment[th]=กราฟิกแสดงสถานะของเครือข่าย Comment[ta]=வலைப்பின்னல் திரையகம் Comment[tg]=Монитори шабакаи графикӣ Comment[sv]=Grafisk nätverksövervakare Comment[vi]=Trình theo dõi mạng có giao diện đồ hoạ Comment[uk]=Графічний монітор мережі Comment[tr]=Grafiksel Ağ Görüntü Birimi Exec=etherape Terminal=false Type=Application Icon=etherape Categories=GNOME;System;Network; Keywords=network;etherape;network;monitor; etherape-0.9.20/src/0000755000175000017500000000000014050240620011160 500000000000000etherape-0.9.20/src/datastructs.c0000644000175000017500000003101214021135153013604 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include "datastructs.h" #include "appdata.h" #include "stats/util.h" #define LINESIZE 1024 /************************************************************************ * * services and port_service_t data and functions * ************************************************************************/ static GTree *service_names = NULL; static GTree *tcp_services = NULL; static GTree *udp_services = NULL; static void services_fill_preferred(void); static port_service_t *port_service_new(port_type_t port, const gchar *name); static void port_service_free(port_service_t *); /************************************************************************ * * proto->color hash table support functions * ************************************************************************/ static GHashTable *protohash = NULL; /* the hash table containing proto,color pairs*/ static GList *cycle_color_list = NULL; /* the list of colors without protocol */ static GList *current_cycle = NULL; /* current ptr to free color */ /* adds or replaces the protoname item */ static gboolean protohash_set(gchar *protoname, const GdkRGBA *protocolor); static void freehash(gpointer data) { g_free(data); } static gboolean protohash_init(void) { if (protohash) return TRUE; /* already ok */ protohash = g_hash_table_new_full(g_str_hash, g_str_equal, freehash, freehash); return protohash != NULL; } /* clears the proto hash */ void protohash_clear(void) { if (protohash) { g_hash_table_destroy(protohash); protohash = NULL; } while (cycle_color_list) { g_free(cycle_color_list->data); cycle_color_list = g_list_delete_link(cycle_color_list, cycle_color_list); } current_cycle = NULL; } /* adds or replaces the protoname item */ static gboolean protohash_set(gchar *protoname, const GdkRGBA *protocolor) { ColorHashItem item; g_assert(protocolor); if (!protohash && !protohash_init()) return FALSE; item.color = *protocolor; /* if a protocol is specified, we put the pair (proto,color) in the hash, * marking it as preferred (a color obtained from user mappings) */ if (protoname && *protoname) { item.preferred = TRUE; g_hash_table_insert(protohash, g_strdup(protoname), g_memdup(&item, sizeof(ColorHashItem))); } /* Without protocols defined we add the color to the cycle list. Cycle colors aren't preferred */ if (!protoname || !*protoname) { item.preferred = FALSE; cycle_color_list = g_list_prepend(cycle_color_list, g_memdup(&item, sizeof(ColorHashItem))); current_cycle = cycle_color_list; } return TRUE; } /* resets the cycle color to start of list */ void protohash_reset_cycle(void) { current_cycle = cycle_color_list; } /* returns the colorhash item from the named protocol, creating a new entry if needed. Internal use only */ static const ColorHashItem *protohash_itemproto(const gchar *protoname) { const ColorHashItem *item; g_assert(protoname); /* proto must be valid - note: empty IS valid, NULL no*/ g_assert(protohash); item = (ColorHashItem *)g_hash_table_lookup(protohash, protoname); if (!item) { /* color not found, take from cycle list */ item = (ColorHashItem *)current_cycle->data; /* add to hash */ g_hash_table_insert(protohash, g_strdup(protoname), g_memdup(item, sizeof(ColorHashItem))); /* advance cycle */ current_cycle = current_cycle->next; if (!current_cycle) current_cycle = cycle_color_list; } /* g_my_debug ("Protocol %s in color 0x%2.2x%2.2x%2.2x", protoname, color->red, color->green, color->blue); */ return item; } const GdkRGBA *protohash_color(const gchar *protoname) { g_assert(protoname); /* proto must be valid - note: empty IS valid, NULL no*/ g_assert(protohash); return &(protohash_itemproto(protoname)->color); } /* returns the preferred flag */ gboolean protohash_is_preferred(const gchar *protoname) { const ColorHashItem *item; g_assert(protoname); /* proto must be valid - note: empty IS valid, NULL no*/ g_assert(protohash); item = (ColorHashItem *)g_hash_table_lookup(protohash, protoname); if (!item) return FALSE; return item->preferred; } /* fills the hash from a pref vector */ gboolean protohash_read_prefvect(gchar * *colors) { int i; GdkRGBA color; protohash_clear(); /* fills with colors */ for (i = 0; colors[i]; ++i) { gchar * *colors_protocols, * *protos; int j; colors_protocols = g_strsplit_set(colors[i], "; \t\n", 0); if (!colors_protocols[0]) continue; /* converting color */ gdk_rgba_parse(&color, colors_protocols[0]); if (!colors_protocols[1] || !strlen(colors_protocols[1])) protohash_set(colors_protocols[1], &color); else { /* multiple protos, split them */ protos = g_strsplit_set(colors_protocols[1], ", \t\n", 0); for (j = 0; protos[j]; ++j) if (protos[j] && *protos[j]) protohash_set(protos[j], &color); g_strfreev(protos); } g_strfreev(colors_protocols); } if (!cycle_color_list) { /* the list of color available for unmapped protocols is empty, * so we add a grey */ gdk_rgba_parse(&color, "#7f7f7f"); protohash_set(NULL, &color); } else cycle_color_list = g_list_reverse(cycle_color_list); /* list was reversed */ /* update preferred flag on services tree */ services_fill_preferred(); return TRUE; } /* compacts the array of colors/protocols mappings by collapsing identical * colors - frees the input array */ gchar **protohash_compact(gchar * *colors) { int i; gchar * *compacted; GList *work; GList *el; /* constructs a list with unique colors. We use a list to maintain the fill order of the dialog. This is less surprising for the user. */ work = NULL; for (i = 0; colors[i]; ++i) { gchar * *colors_protocols; colors_protocols = g_strsplit_set(colors[i], "; \t\n", 0); if (!colors_protocols[0]) continue; colors_protocols[1] = remove_spaces(colors_protocols[1]); for (el = g_list_first(work); el; el = g_list_next(el)) { gchar * *col = (gchar * *)(el->data); if (!col || !col[0]) continue; if (!g_ascii_strcasecmp(col[0], colors_protocols[0])) { /* found same color, append protocol */ gchar *old = col[1]; if (colors_protocols[1] && *colors_protocols[1]) { if (old) col[1] = g_strjoin(",", old, colors_protocols[1], NULL); else col[1] = g_strdup(colors_protocols[1]); g_free(old); } break; } } if (el) g_strfreev(colors_protocols); /* found, free temporary */ else { /* color not found, adds to list - no need to free here */ work = g_list_prepend(work, colors_protocols); } } /* reverse list to match original order (with GList, prepend+reverse is more efficient than append */ work = g_list_reverse(work); /* now scans the list filling the protostring */ compacted = malloc(sizeof(gchar *) * (g_list_length(work) + 1)); i = 0; for (el = g_list_first(work); el; el = g_list_next(el)) { gchar * *col = (gchar * *)(el->data); compacted[i++] = g_strjoin(";", col[0], col[1], NULL); g_strfreev(col); } compacted[i] = NULL; g_list_free(work); g_strfreev(colors); return compacted; } /* *********************************************************************** * * compacting function * *********************************************************************** */ gchar *remove_spaces(gchar *str) { char *out = str; char *cur = str; if (str) { for (cur = str; *cur; ++cur) if (!g_ascii_isspace((guchar)(*cur))) *out++ = *cur; *out = '\0'; } return str; } /************************************************************************ * * proto name mappers * ************************************************************************/ /* Comparison function to sort tcp/udp services by port number */ static gint services_port_cmp(gconstpointer a, gconstpointer b, gpointer unused) { port_type_t port_a, port_b; port_a = *(port_type_t *)a; port_b = *(port_type_t *)b; if (port_a > port_b) return 1; if (port_a < port_b) return -1; return 0; } /* services_port_cmp */ /* Comparison function to sort service names */ static gint services_name_cmp(gconstpointer a, gconstpointer b, gpointer unused) { return g_ascii_strcasecmp((const gchar *)a, (const gchar *)b); } static void services_tree_free(gpointer p) { port_service_free((port_service_t *)p); } /* traverse function to map names to ports */ static gboolean services_port_trv(gpointer key, gpointer value, gpointer data) { const port_service_t *svc = (const port_service_t *)value; GTree *tree = (GTree *)data; port_service_t *new_el; new_el = port_service_new(svc->port, svc->name); g_tree_replace(tree, new_el->name, new_el); return FALSE; } /* traverse function to fill preferred field */ static gboolean services_pref_trv(gpointer key, gpointer value, gpointer data) { port_service_t *svc = (port_service_t *)value; svc->preferred = protohash_is_preferred(svc->name); return FALSE; } static void services_fill_preferred(void) { if (udp_services) g_tree_foreach(udp_services, services_pref_trv, NULL); if (tcp_services) g_tree_foreach(tcp_services, services_pref_trv, NULL); } void services_init(void) { struct servent *ent; port_service_t *port_service; g_assert(!service_names && !tcp_services && !udp_services); service_names = g_tree_new_full(services_name_cmp, NULL, NULL, services_tree_free); tcp_services = g_tree_new_full(services_port_cmp, NULL, NULL, services_tree_free); udp_services = g_tree_new_full(services_port_cmp, NULL, NULL, services_tree_free); while ((ent = getservent())) { if (g_ascii_strcasecmp(ent->s_proto, "tcp") && g_ascii_strcasecmp(ent->s_proto, "udp")) g_my_info(_("%s protocol not supported"), ent->s_proto); else { port_service = port_service_new(ntohs(ent->s_port), ent->s_name); g_tree_replace(ent->s_proto[0] == 't' ? tcp_services : udp_services, &port_service->port, port_service); } } endservent(); /* now traverse port->name trees to fill the name->port tree */ g_tree_foreach(udp_services, services_port_trv, service_names); g_tree_foreach(tcp_services, services_port_trv, service_names); /* and finally assign preferred services */ services_fill_preferred(); } void services_clear(void) { if (service_names) g_tree_destroy(service_names); if (tcp_services) g_tree_destroy(tcp_services); if (udp_services) g_tree_destroy(udp_services); } const port_service_t *services_tcp_find(port_type_t port) { if (tcp_services) return (port_service_t *)g_tree_lookup(tcp_services, &port); else return NULL; } const port_service_t *services_udp_find(port_type_t port) { if (udp_services) return (port_service_t *)g_tree_lookup(udp_services, &port); else return NULL; } /************************************************************************ * * port_service_t functions * ************************************************************************/ port_service_t *port_service_new(port_type_t port, const gchar *name) { port_service_t *p; p = g_malloc(sizeof(port_service_t)); g_assert(p); p->port = port; p->name = g_ascii_strup(name, -1); p->preferred = FALSE; return p; } void port_service_free(port_service_t *p) { if (p) g_free(p->name); g_free(p); } const port_service_t *services_port_find(const gchar *name) { if (!name || !service_names) return NULL; return (const port_service_t *)g_tree_lookup(service_names, name); } etherape-0.9.20/src/node_windows.h0000644000175000017500000000234413657562503013776 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . * * node_windows: node-related windows and dialogs */ #ifndef NODE_WINDOWS_H #define NODE_WINDOWS_H #include "appdata.h" void nodes_wnd_show(void); void nodes_wnd_hide(void); void nodes_wnd_update(void); /* gtk callbacks */ gboolean on_nodes_wnd_delete_event(GtkWidget *wdg, GdkEvent *evt, gpointer ud); void on_nodes_table_row_activated(GtkTreeView *gv, GtkTreePath *sorted_path, GtkTreeViewColumn *column, gpointer data); #endif etherape-0.9.20/src/diagram.c0000644000175000017500000016651214023171551012671 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "appdata.h" #include "diagram.h" #include "pref_dialog.h" #include "stats/node.h" #include "info_windows.h" #include "stats/protocols.h" #include "datastructs.h" #include "names/ip-cache.h" #include "menus.h" #include "capture/capctl.h" #include "stats/conversations.h" #include "preferences.h" #include "export.h" #include "stats/util.h" /* maximum node and link size */ #define MAX_NODE_SIZE 5000 #define MAX_LINK_SIZE (MAX_NODE_SIZE/4) gboolean already_updating; gboolean stop_requested; /*************************************************************************** * * canvas_node_t definition and methods * **************************************************************************/ typedef struct { node_id_t canvas_node_id; GooCanvasItem *node_item; GooCanvasItem *text_item; GooCanvasGroup *group_item; GdkRGBA color; gboolean is_new; gboolean shown; /* True if it is to be displayed. */ gboolean centered; /* true if is a center node */ /* For '-P' mode (columnar layout) */ guint column; /* Which column this goes in */ guint column_idx; /* Which position within its column this node is */ } canvas_node_t; static gint canvas_node_compare(const node_id_t *a, const node_id_t *b, gpointer dummy); static void canvas_node_delete(canvas_node_t *cn); static gint canvas_node_update(node_id_t *ether_addr, canvas_node_t *canvas_node, GList * *delete_list); /*************************************************************************** * * canvas_link_t definition and methods * **************************************************************************/ typedef struct { link_id_t canvas_link_id; /* id of the link */ GooCanvasItem *src_item; /* triangle for src side */ GooCanvasItem *dst_item; /* triangle for dst side */ GdkRGBA color; } canvas_link_t; static gint canvas_link_compare(const link_id_t *a, const link_id_t *b, gpointer dummy); static void canvas_link_delete(canvas_link_t *canvas_link); static gint canvas_link_update(link_id_t *link_id, canvas_link_t *canvas_link, GList * *delete_list); struct node_ring { gfloat angle; guint node_i; guint n_nodes; }; typedef struct { GooCanvas *canvas; struct node_ring outer; struct node_ring center; gdouble xmin; gdouble ymin; gdouble xmax; gdouble ymax; gdouble x_rad_max; gdouble y_rad_max; gdouble x_inner_rad_max; gdouble y_inner_rad_max; guint *column_populations; } reposition_node_t; /*************************************************************************** * * canvas_background_t definition and methods * **************************************************************************/ typedef struct { gboolean use_image; struct { GdkPixbuf *image; gchar *path; GooCanvasItem *item; } image; } canvas_background_t; static void init_canvas_background(GooCanvasItem *rootitem); /*************************************************************************** * * local variables * **************************************************************************/ static GTree *canvas_nodes = NULL; /* We don't use the nodes tree directly in order to * separate data from presentation: that is, we need to * keep a list of CanvasItems, but we do not want to keep * that info on the nodes tree itself */ static GTree *canvas_links = NULL; /* See canvas_nodes */ static guint known_protocols = 0; static canvas_background_t canvas_background; static guint displayed_nodes; static gboolean need_reposition = TRUE; /* Force a diagram relayout */ static gboolean need_font_refresh = TRUE; /* Force font refresh during layout */ static gint diagram_timeout = 0; /* Descriptor of the diagram timeout function * (Used to change the refresh_period in the callback */ static long canvas_obj_count = 0; /* counter of canvas objects */ static GooCanvas *gcanvas_ = NULL; /* drawing canvas */ static GtkContainer *garea_ = NULL; /* drawing container */ static GooCanvasText *pcap_stats_text_item = NULL; /*************************************************************************** * * local Function definitions * **************************************************************************/ static void update_diagram(GooCanvas *canvas); /* full diagram update */ static void diagram_update_nodes(GooCanvas *canvas); /* updates ALL nodes */ static void diagram_update_links(GooCanvas *canvas); /* updates ALL links */ static void diagram_update_background_image(GooCanvas *canvas); /* updates background image */ static void diagram_reposition(); /* reposition nodes */ static void check_new_protocol(GtkWidget *prot_table, const protostack_t *pstk); static gint check_new_node(node_t *node, GooCanvas *canvas); static gboolean display_node(node_t *node); static void limit_nodes(void); static gint add_ordered_node(node_id_t *node_id, canvas_node_t *canvas_node, GTree *ordered_nodes); static gint check_ordered_node(gdouble *traffic, canvas_node_t *node, guint *count); static gint traffic_compare(gconstpointer a, gconstpointer b); static gint reposition_canvas_nodes(node_id_t *node_id, canvas_node_t *canvas_node, reposition_node_t *data); static gint reposition_canvas_nodes_prep(const node_id_t *node_id, canvas_node_t *canvas_node, reposition_node_t *data); static gint check_new_link(link_id_t *link_id, link_t *link, GooCanvas *canvas); static gdouble get_node_size(gdouble average); static gdouble get_link_size(const basic_stats_t *link_stats); static gint pcap_stats_text_item_event(GooCanvasItem *item, GdkEvent *event, void *unused); static gboolean link_item_event(GooCanvasItem *item, GooCanvasItem *target_item, GdkEventButton *event, canvas_link_t *canvas_link); static gboolean node_item_event(GooCanvasItem *item, GooCanvasItem *target_item, GdkEventButton *event, canvas_node_t *canvas_node); static void update_legend(void); static void draw_oneside_link(double xs, double ys, double xd, double yd, const basic_stats_t *link_data, const GdkRGBA *scaledColor, GooCanvasItem *item); static void init_reposition(reposition_node_t *data, GooCanvas *canvas, guint total_nodes); static void clear_reposition(reposition_node_t *rdata); static void redraw_canvas_background(GooCanvas *canvas); static gboolean diagram_resize_event(GtkWidget *widget, const GdkEventConfigure *event, GooCanvas *canvas); /*************************************************************************** * * implementation * **************************************************************************/ GtkWidget *canvas_widget() { return GTK_WIDGET(gcanvas_); } static void goo_canvas_item_show(GooCanvasItem *it) { g_object_set(G_OBJECT(it), "visibility", GOO_CANVAS_ITEM_VISIBLE, NULL); } static void goo_canvas_item_hide(GooCanvasItem *it) { g_object_set(G_OBJECT(it), "visibility", GOO_CANVAS_ITEM_INVISIBLE, NULL); } void ask_reposition(gboolean r_font) { need_reposition = TRUE; need_font_refresh = r_font; } void dump_stats(guint32 diff_msecs) { gchar *status_string; long ipc = ipcache_active_entries(); status_string = g_strdup_printf( _("Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, " "names %ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, " "on list %ld). IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms"), node_count(), g_tree_nnodes(canvas_nodes), displayed_nodes, links_catalog_size(), active_conversations(), active_names(), protocol_summary_size(), appdata.n_packets, appdata.total_mem_packets, packet_list_item_count(), ipc, canvas_obj_count, (unsigned int)diff_msecs); g_my_info("%s", status_string); g_free(status_string); } /* called when a watched object is finalized */ static void finalize_callback(gpointer data, GObject *obj) { --canvas_obj_count; } /* increase reference to object and optionally register a callback to check * for reference leaks */ static void addref_canvas_obj(GObject *obj) { g_assert(obj); g_object_ref_sink(obj); if (INFO_ENABLED) { /* to check for resource leaks, we ask for a notify ... */ g_object_weak_ref(obj, finalize_callback, NULL); ++canvas_obj_count; } } /* It updates controls from values of variables, and connects control * signals to callback functions */ void init_diagram(GtkBuilder *xml) { GooCanvasItem *rootitem; GooCanvasItem *item; GtkAllocation windowsize; gulong sig_id; // GtkWidget *viewport; // GtkStyleContext *style; // static GdkRGBA black = {0,0,0,0}; g_assert(gcanvas_ == NULL); /* get containing window and size */ garea_ = GTK_CONTAINER(gtk_builder_get_object(xml, "diagramwindow")); g_assert(garea_ != NULL); gtk_widget_get_allocation(GTK_WIDGET(garea_), &windowsize); /* Creates trees */ canvas_nodes = g_tree_new_full((GCompareDataFunc)canvas_node_compare, NULL, NULL, (GDestroyNotify)canvas_node_delete); canvas_links = g_tree_new_full((GCompareDataFunc)canvas_link_compare, NULL, NULL, (GDestroyNotify)canvas_link_delete); initialize_pref_controls(); /* canvas */ gcanvas_ = GOO_CANVAS(goo_canvas_new()); g_assert(gcanvas_ != NULL); g_object_set(G_OBJECT(gcanvas_), "background-color", "black", NULL); goo_canvas_set_bounds(gcanvas_, -windowsize.width/2, -windowsize.height/2, windowsize.width/2, windowsize.height/2); gtk_widget_show(GTK_WIDGET(gcanvas_)); gtk_container_add(garea_, GTK_WIDGET(gcanvas_)); rootitem = goo_canvas_get_root_item(gcanvas_); /* Initialize background image */ g_object_set(G_OBJECT(gcanvas_), "background-color", "black", NULL); init_canvas_background(rootitem); /* TODO: gtk3 handles background color via CSS... // Make legend background color match main display background color style = gtk_style_new(); style->bg[GTK_STATE_NORMAL] = canvas_background.color; style->base[GTK_STATE_NORMAL] = canvas_background.color; // Set protocol legend background to black viewport = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "legend_viewport")); gtk_widget_set_style(viewport, style); gtk_style_set_background(style, gtk_widget_get_window(viewport), GTK_STATE_NORMAL); // should be gtk3 compatible, but doesn't work ... viewport = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "legend_viewport")); gtk_widget_override_background_color(viewport, GTK_STATE_FLAG_NORMAL|GTK_STATE_FLAG_ACTIVE, &black); */ item = goo_canvas_text_new(rootitem, "", 0.0, 0.0, -1.0, GOO_CANVAS_ANCHOR_NORTH_WEST, NULL); pcap_stats_text_item = GOO_CANVAS_TEXT(item); addref_canvas_obj(G_OBJECT(pcap_stats_text_item)); sig_id = g_signal_connect(G_OBJECT(garea_), "size-allocate", G_CALLBACK(diagram_resize_event), gcanvas_); g_assert(sig_id > 0); sig_id = g_signal_connect(G_OBJECT(pcap_stats_text_item), "enter-notify-event", G_CALLBACK(pcap_stats_text_item_event), NULL); g_assert(sig_id > 0); sig_id = g_signal_connect(G_OBJECT(pcap_stats_text_item), "leave-notify-event", G_CALLBACK(pcap_stats_text_item_event), NULL); g_assert(sig_id > 0); /* Initialize the known_protocols table */ delete_gui_protocols(); /* Set the already_updating global flag */ already_updating = FALSE; stop_requested = FALSE; } void cleanup_diagram() { if (canvas_nodes) g_tree_destroy(canvas_nodes); if (canvas_links) g_tree_destroy(canvas_links); } /* * Initialize the canvas_background structure. * Create a new group and add it to the root group. * Create a new GooCanvasPixbufItem and add it to the new group. */ static void init_canvas_background(GooCanvasItem *rootitem) { canvas_background.image.item = goo_canvas_image_new(rootitem, NULL, 0.0, 0.0, NULL); addref_canvas_obj(G_OBJECT(canvas_background.image.item)); canvas_background.use_image = pref.bck_image_enabled; canvas_background.image.path = g_strdup(pref.bck_image_path); } /* * Called by on_canvas1_size_allocate. * Try to load image from path. * On success image is scaled to the canvas size and printed. * On error a blank black image is made and printed. */ static void redraw_canvas_background(GooCanvas *canvas) { GError *error = NULL; GtkAllocation canvas_size; if (canvas_background.use_image) { /* Get canvas dimensions */ gtk_widget_get_allocation(GTK_WIDGET(canvas), &canvas_size); if (canvas_background.image.image) { g_object_unref(G_OBJECT(canvas_background.image.image)); canvas_background.image.image = NULL; } if (canvas_background.image.path && strlen(canvas_background.image.path)) canvas_background.image.image = gdk_pixbuf_new_from_file_at_scale(canvas_background.image.path, canvas_size.width, canvas_size.height, FALSE, &error); g_object_set(G_OBJECT(canvas_background.image.item), "pixbuf", canvas_background.image.image, "x", (double)-canvas_size.width/2, "y", (double)-canvas_size.height/2, "visibility", GOO_CANVAS_ITEM_VISIBLE, NULL); } else { g_object_set(G_OBJECT(canvas_background.image.item), "visibility", GOO_CANVAS_ITEM_HIDDEN, NULL); } } /* * Update the background image. Load new image if user selected another path * in preferences. Place the background image behind the nodes and links. */ static void diagram_update_background_image(GooCanvas *canvas) { /* * If the background image enable toggle or the image path has changed, we * need to update the background. */ if (pref.bck_image_enabled != canvas_background.use_image || g_strcmp0(canvas_background.image.path, pref.bck_image_path)) { canvas_background.use_image = pref.bck_image_enabled; g_free(canvas_background.image.path); canvas_background.image.path = g_strdup(pref.bck_image_path); redraw_canvas_background(canvas); } /* Draw the background first */ if (canvas_background.image.item) { goo_canvas_item_lower(GOO_CANVAS_ITEM(canvas_background.image.item), NULL); goo_canvas_item_request_update(GOO_CANVAS_ITEM(canvas_background.image.item)); } } static gboolean diagram_resize_event(GtkWidget *widget, const GdkEventConfigure *event, GooCanvas *canvas) { GtkAllocation windowsize; g_assert(widget != NULL); g_assert(canvas == gcanvas_); gtk_widget_get_allocation(GTK_WIDGET(widget), &windowsize); goo_canvas_set_bounds(canvas, -windowsize.width/2, -windowsize.height/2, windowsize.width/2, windowsize.height/2); redraw_canvas_background(canvas); diagram_reposition(canvas); diagram_update_links(canvas); return FALSE; } /* delete the specified canvas node */ static void canvas_node_delete(canvas_node_t *canvas_node) { if (canvas_node->node_item) { goo_canvas_item_remove(canvas_node->node_item); // gtk_object_destroy(GTK_OBJECT(canvas_node->node_item)); // g_object_unref(G_OBJECT (canvas_node->node_item)); canvas_node->node_item = NULL; } if (canvas_node->text_item) { goo_canvas_item_remove(canvas_node->text_item); // gtk_object_destroy(GTK_OBJECT (canvas_node->text_item)); // g_object_unref(G_OBJECT (canvas_node->text_item)); canvas_node->text_item = NULL; } if (canvas_node->group_item) { goo_canvas_item_remove(GOO_CANVAS_ITEM(canvas_node->group_item)); // gtk_object_destroy(GTK_OBJECT (canvas_node->group_item)); // g_object_unref(G_OBJECT (canvas_node->group_item)); canvas_node->group_item = NULL; } g_free(canvas_node); } /* used to remove nodes */ static void gfunc_remove_canvas_node(gpointer data, gpointer user_data) { g_tree_remove(canvas_nodes, (const node_id_t *)data); } /* used to remove links */ static void gfunc_remove_canvas_link(gpointer data, gpointer user_data) { g_tree_remove(canvas_links, (const link_id_t *)data); } static void diagram_update_nodes(GooCanvas *canvas) { GList *delete_list = NULL; node_t *new_node = NULL; /* Check if there are any new nodes */ while ((new_node = new_nodes_pop())) check_new_node(new_node, canvas); /* Update nodes look and queue outdated canvas_nodes for deletion */ g_tree_foreach(canvas_nodes, (GTraverseFunc)canvas_node_update, &delete_list); /* delete all canvas nodes queued */ g_list_foreach(delete_list, gfunc_remove_canvas_node, NULL); /* free the list - list items are already destroyed */ g_list_free(delete_list); /* Limit the number of nodes displayed, if a limit has been set */ /* TODO check whether this is the right function to use, now that we have a more * general display_node called in update_canvas_nodes */ limit_nodes(); /* Reposition canvas_nodes */ if (need_reposition) diagram_reposition(canvas); } /* handle node repositioning */ static void diagram_reposition(GooCanvas *canvas) { reposition_node_t rdata; if (pref.headless) return; init_reposition(&rdata, canvas, displayed_nodes); g_tree_foreach(canvas_nodes, (GTraverseFunc)reposition_canvas_nodes_prep, &rdata); rdata.center.node_i = rdata.center.n_nodes; rdata.outer.node_i = rdata.outer.n_nodes; g_tree_foreach(canvas_nodes, (GTraverseFunc)reposition_canvas_nodes, &rdata); clear_reposition(&rdata); need_reposition = FALSE; need_font_refresh = FALSE; } static void diagram_update_links(GooCanvas *canvas) { GList *delete_list = NULL; if (pref.headless) return; /* Check if there are any new links */ links_catalog_foreach((GTraverseFunc)check_new_link, canvas); /* Update links look * We also queue timedout links for deletion */ delete_list = NULL; g_tree_foreach(canvas_links, (GTraverseFunc)canvas_link_update, &delete_list); /* delete all canvas links queued */ g_list_foreach(delete_list, gfunc_remove_canvas_link, NULL); /* free the list - list items are already destroyed */ g_list_free(delete_list); } /* Return a g_malloc()ed string of libpcap stats counters */ static gchar *get_pcap_stats_string(void) { struct pcap_stat stats; if (appdata.source.type == ST_FILE) return g_strdup(_("(Capture statistics unavailable in offline mode.)")); get_capture_stats(&stats); return g_strdup_printf("%-12s %12u\n%-12s %12u\n%-12s %12u", "recv:", stats.ps_recv, "drop:", stats.ps_drop, "ifdrop:", stats.ps_ifdrop); } /* Update libpcap stats counters display */ static void update_pcap_stats_text(GooCanvas *canvas) { gdouble xmin, xmax, ymin, ymax, xpos, ypos; GooCanvasAnchorType anchor; gchar *tmpstr; if (pref.pcap_stats_pos == STATSPOS_NONE) { g_object_set(G_OBJECT(pcap_stats_text_item), "visibility", GOO_CANVAS_ITEM_HIDDEN, NULL); return; } if (get_capture_status() != PLAY) return; goo_canvas_get_bounds(canvas, &xmin, &ymin, &xmax, &ymax); switch (pref.pcap_stats_pos) { case STATSPOS_UPPER_LEFT: xpos = xmin; ypos = ymin; anchor = GOO_CANVAS_ANCHOR_NORTH_WEST; break; case STATSPOS_UPPER_RIGHT: xpos = xmax; ypos = ymin; anchor = GOO_CANVAS_ANCHOR_NORTH_EAST; break; case STATSPOS_LOWER_LEFT: xpos = xmin; ypos = ymax; anchor = GOO_CANVAS_ANCHOR_SOUTH_WEST; break; case STATSPOS_LOWER_RIGHT: xpos = xmax; ypos = ymax; anchor = GOO_CANVAS_ANCHOR_SOUTH_EAST; break; default: g_error(_("Bogus statspos_t (%d) pref.pcap_stats_pos"), pref.pcap_stats_pos); return; } tmpstr = get_pcap_stats_string(); g_object_set(G_OBJECT(pcap_stats_text_item), "text", tmpstr, "x", xpos, "y", ypos, "font", pref.fontname, "fill_color", pref.text_color, "anchor", anchor, "visibility", GOO_CANVAS_ITEM_VISIBLE, NULL); g_free(tmpstr); } /* Refreshes the diagram. Called each refresh_period ms * 1. Checks for new protocols and displays them * 2. Updates nodes looks * 3. Updates links looks */ static void update_diagram(GooCanvas *canvas) { capstatus_t status; /* if requested and enabled, dump to xml */ if (appdata.request_dump && appdata.export_file_signal) { g_warning(_("SIGUSR1 received: exporting to %s"), appdata.export_file_signal); dump_xml(appdata.export_file_signal, appdata.n_packets); appdata.request_dump = FALSE; } status = get_capture_status(); if (status == PAUSE) return; if (status == CAP_EOF) { gui_eof_capture(); if (pref.headless) gtk_main_quit(); #if DEBUG_TIMINGS /* after capture stops, update the time in 100ms steps for debugging */ static struct timeval incr; incr.tv_sec = 0; incr.tv_usec = 100000; timeradd(&appdata.now, &incr, &appdata.now); #else return; /* after replaying do not update the display anymore */ #endif } /* * It could happen that during an intensive calculation, in order * to update the GUI and make the application responsive gtk_main_iteration * is called. But that could also trigger this very function's timeout. * If we let it run twice many problems could come up. Thus, * we are preventing it with the already_updating variable */ if (already_updating) { g_my_debug("update_diagram called while already updating"); return; } already_updating = TRUE; if (!pref.headless || appdata.max_delay) { /* headless with max delay zero disables also node expiration */ /* Deletes all nodes and updates traffic values */ nodes_catalog_update_all(); /* Delete old capture links and update capture link variables */ links_catalog_update_all(); /* Update global protocol information */ protocol_summary_update_all(); } if (!pref.headless) { /* update background image */ diagram_update_background_image(canvas); /* update nodes */ diagram_update_nodes(canvas); /* update links */ diagram_update_links(canvas); /* update proto legend */ update_legend(); /* Now update info windows */ update_info_windows(NULL); update_pcap_stats_text(canvas); } /* Force redraw */ while (gtk_events_pending()) gtk_main_iteration(); already_updating = FALSE; if (stop_requested) gui_stop_capture(); } static void purge_expired_legend_protocol(GtkWidget *widget, gpointer data) { GtkLabel *lab = GTK_LABEL(widget); if (lab && !protocol_summary_find(pref.stack_level, gtk_label_get_label(lab))) { /* protocol expired, remove */ gtk_widget_destroy(widget); known_protocols--; } } /* updates the legend */ static void update_legend() { GtkWidget *prot_table; /* first, check if there are expired protocols */ prot_table = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_table")); if (!prot_table) return; gtk_container_foreach(GTK_CONTAINER(prot_table), (GtkCallback)purge_expired_legend_protocol, NULL); /* then search for new protocols */ check_new_protocol(prot_table, protocol_summary_stack()); } /* Checks whether there is already a legend entry for each known * protocol. If not, create it */ static void check_new_protocol(GtkWidget *prot_table, const protostack_t *pstk) { const GList *protocol_item; const protocol_t *protocol; const GdkRGBA *color; // GtkStyle *style; GtkLabel *lab; GtkWidget *newlab; GList *childlist; gchar *mkupbuf = NULL; if (!pstk) return; /* nothing to do */ childlist = gtk_container_get_children(GTK_CONTAINER(prot_table)); protocol_item = pstk->protostack[pref.stack_level]; while (protocol_item) { const GList *cur; protocol = protocol_item->data; /* prepare next */ protocol_item = protocol_item->next; /* First, we check whether the diagram already knows about this protocol, * checking whether it is shown on the legend. */ cur = childlist; while (cur) { lab = GTK_LABEL(cur->data); if (lab && !strcmp(protocol->name, gtk_label_get_label(lab))) break; /* found */ cur = cur->next; } if (cur) continue; /* found, skip to next */ g_my_debug("Protocol '%s' not found. Creating legend item", protocol->name); /* It's not, so we build a new entry on the legend */ /* we add the new label widgets */ newlab = gtk_label_new(NULL); gtk_widget_show(newlab); // gtk_misc_set_alignment(GTK_MISC(newlab), 0, 0); color = protohash_color(protocol->name); mkupbuf = g_markup_printf_escaped( "%s", (unsigned int)(color->red * 255), (unsigned int)(color->green * 255), (unsigned int)(color->blue * 255), protocol->name); gtk_label_set_markup(GTK_LABEL(newlab), mkupbuf); g_free(mkupbuf); /* if (!gdk_colormap_alloc_color (gdk_colormap_get_system(), &color, FALSE, TRUE)) g_warning (_("Unable to allocate color for new protocol %s"), protocol->name); style = gtk_style_new (); style->fg[GTK_STATE_NORMAL] = color; gtk_widget_set_style (newlab, style); g_object_unref (style); */ gtk_container_add(GTK_CONTAINER(prot_table), newlab); known_protocols++; } g_list_free(childlist); } /* check_new_protocol */ /* empties the table of protocols */ void delete_gui_protocols(void) { GList *item; GtkContainer *prot_table; known_protocols = 0; /* restart color cycle */ protohash_reset_cycle(); /* remove proto labels from legend */ prot_table = GTK_CONTAINER(gtk_builder_get_object(appdata.xml, "prot_table")); item = gtk_container_get_children(GTK_CONTAINER(prot_table)); while (item) { gtk_container_remove(prot_table, item->data); item = item->next; } gtk_widget_queue_resize(GTK_WIDGET(appdata.app1)); } /* delete_gui_protocols */ /* Checks if there is a canvas_node per each node. If not, one canvas_node * must be created and initiated */ static gint check_new_node(node_t *node, GooCanvas *canvas) { canvas_node_t *new_canvas_node; gulong sig_id; if (!node) return FALSE; if (display_node(node) && !g_tree_lookup(canvas_nodes, &node->node_id)) { GooCanvasItem *rootgroup; GooCanvasItem *newgroup; new_canvas_node = g_malloc(sizeof(canvas_node_t)); g_assert(new_canvas_node); new_canvas_node->canvas_node_id = node->node_id; /* Create a new group to hold the node and its labels */ rootgroup = goo_canvas_get_root_item(canvas); newgroup = goo_canvas_group_new(rootgroup, "x", 100.0, "y", 100.0, NULL); addref_canvas_obj(G_OBJECT(newgroup)); new_canvas_node->group_item = GOO_CANVAS_GROUP(newgroup); /* create circle and text, initially hidden until proper repositioned */ new_canvas_node->node_item = goo_canvas_ellipse_new(newgroup, 0.0, 0.0, 0.0, 0.0, "fill-color", "white", "stroke-color", "black", "line-width", 0.0, "visibility", GOO_CANVAS_ITEM_INVISIBLE, NULL); addref_canvas_obj(G_OBJECT(new_canvas_node->node_item)); new_canvas_node->text_item = goo_canvas_text_new(newgroup, node->name->str, 0.0, 0.0, -1.0, GOO_CANVAS_ANCHOR_CENTER, "font", pref.fontname, "fill-color", pref.text_color, "visibility", GOO_CANVAS_ITEM_INVISIBLE, NULL); addref_canvas_obj(G_OBJECT(new_canvas_node->text_item)); goo_canvas_item_raise(new_canvas_node->text_item, NULL); sig_id = g_signal_connect(G_OBJECT(new_canvas_node->text_item), "button-release-event", G_CALLBACK(node_item_event), new_canvas_node); g_assert(sig_id > 0); sig_id = g_signal_connect(G_OBJECT(new_canvas_node->node_item), "button-release-event", G_CALLBACK(node_item_event), new_canvas_node); g_assert(sig_id > 0); if (!new_canvas_node->node_item || !new_canvas_node->text_item) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("Canvas node null")); new_canvas_node->is_new = TRUE; new_canvas_node->shown = TRUE; new_canvas_node->centered = FALSE; g_tree_insert(canvas_nodes, &new_canvas_node->canvas_node_id, new_canvas_node); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("Creating canvas_node: %s. Number of nodes %d"), node->name->str, g_tree_nnodes(canvas_nodes)); need_reposition = TRUE; } return FALSE; /* False to keep on traversing */ } /* check_new_node */ /* - updates sizes, names, etc */ static gint canvas_node_update(node_id_t *node_id, canvas_node_t *canvas_node, GList * *delete_list) { node_t *node; gdouble node_size; static clock_t start = 0; clock_t end; gdouble cpu_time_used; char *nametmp = NULL; const gchar *main_prot; node = nodes_catalog_find(node_id); /* Remove node if node is too old or if capture is stopped */ if (!node || !display_node(node)) { /* adds current to list of canvas nodes to delete */ *delete_list = g_list_prepend(*delete_list, node_id); g_my_debug("Queueing canvas node to remove."); need_reposition = TRUE; return FALSE; } switch (pref.node_size_variable) { case INST_TOTAL: node_size = get_node_size(node->node_stats.stats.average); break; case INST_INBOUND: node_size = get_node_size(node->node_stats.stats_in.average); break; case INST_OUTBOUND: node_size = get_node_size(node->node_stats.stats_out.average); break; case INST_PACKETS: node_size = get_node_size(node->node_stats.pkt_list.length); break; case ACCU_TOTAL: node_size = get_node_size(node->node_stats.stats.accumulated); break; case ACCU_INBOUND: node_size = get_node_size(node->node_stats.stats_in.accumulated); break; case ACCU_OUTBOUND: node_size = get_node_size(node->node_stats.stats_out.accumulated); break; case ACCU_PACKETS: node_size = get_node_size(node->node_stats.stats.accu_packets); break; case ACCU_AVG_SIZE: node_size = get_node_size(node->node_stats.stats.avg_size); break; default: node_size = get_node_size(node->node_stats.stats_out.average); g_warning(_("Unknown value or node_size_variable")); } /* limit the maximum size to avoid overload */ if (node_size > MAX_NODE_SIZE) node_size = MAX_NODE_SIZE; main_prot = traffic_stats_most_used_proto(&node->node_stats, pref.stack_level); if (main_prot) { canvas_node->color = *protohash_color(main_prot); g_object_set(G_OBJECT(canvas_node->node_item), "radius-x", node_size / 2, "radius-y", node_size / 2, "fill-color-gdk-rgba", &canvas_node->color, "visibility", GOO_CANVAS_ITEM_VISIBLE, NULL); goo_canvas_item_show(canvas_node->text_item); } else { guint32 black = 0x000000ff; g_object_set(G_OBJECT(canvas_node->node_item), "radius-x", node_size / 2, "radius-y", node_size / 2, "fill_color_rgba", black, "visibility", GOO_CANVAS_ITEM_VISIBLE, NULL); } /* We check the name of the node, and update the canvas node name * if it has changed (useful for non blocking dns resolving) */ if (canvas_node->text_item) { g_object_get(G_OBJECT(canvas_node->text_item), "text", &nametmp, NULL); if (strcmp(nametmp, node->name->str)) { g_object_set(G_OBJECT(canvas_node->text_item), "text", node->name->str, NULL); goo_canvas_item_request_update(canvas_node->text_item); } g_free(nametmp); } /* Processor time check. If too much time has passed, update the GUI */ end = clock(); cpu_time_used = ((gdouble)(end - start)) / CLOCKS_PER_SEC; if (cpu_time_used > 0.05) { /* Force redraw */ while (gtk_events_pending()) gtk_main_iteration(); start = end; } return FALSE; /* False means keep on calling the function */ } /* update_canvas_nodes */ /* Returns whether the node in question should be displayed in the * diagram or not */ static gboolean display_node(node_t *node) { double diffms; if (!node) return FALSE; diffms = subtract_times_ms(&appdata.now, &node->node_stats.stats.last_time); /* There are problems if a canvas_node is deleted if it still * has packets, so we have to check that as well */ /* Remove canvas_node if node is too old */ if (diffms >= pref.gui_node_timeout_time && pref.gui_node_timeout_time && !node->node_stats.pkt_list.length) return FALSE; #if 1 if ((pref.gui_node_timeout_time == 1) && !node->node_stats.pkt_list.length) g_my_critical("Impossible situation in display node"); #endif return TRUE; } /* display_node */ /* Sorts canvas nodes with the criterium set in preferences and sets * which will be displayed in the diagram */ static void limit_nodes(void) { GTree *ordered_nodes = NULL; guint limit; displayed_nodes = 0; /* We'll increment for each node we don't * limit */ if (appdata.node_limit < 0) { displayed_nodes = g_tree_nnodes(canvas_nodes); return; } limit = appdata.node_limit; ordered_nodes = g_tree_new(traffic_compare); g_tree_foreach(canvas_nodes, (GTraverseFunc)add_ordered_node, ordered_nodes); g_tree_foreach(ordered_nodes, (GTraverseFunc)check_ordered_node, &limit); g_tree_destroy(ordered_nodes); } /* limit_nodes */ static gint add_ordered_node(node_id_t *node_id, canvas_node_t *node, GTree *ordered_nodes) { g_tree_insert(ordered_nodes, node, node); g_my_debug("Adding ordered node. Number of nodes: %d", g_tree_nnodes(ordered_nodes)); return FALSE; /* keep on traversing */ } /* add_ordered_node */ static gint check_ordered_node(gdouble *traffic, canvas_node_t *node, guint *count) { /* TODO We can probably optimize this by stopping the traversion once * the limit has been reached */ if (*count) { if (!node->shown) need_reposition = TRUE; node->shown = TRUE; ++displayed_nodes; (*count)--; } else { if (node->shown) need_reposition = TRUE; node->shown = FALSE; } return FALSE; /* keep on traversing */ } /* Comparison function used to order the (GTree *) nodes * and canvas_nodes heard on the network */ static gint traffic_compare(gconstpointer a, gconstpointer b) { node_t *node_a, *node_b; g_assert(a != NULL); g_assert(b != NULL); node_a = (node_t *)a; node_b = (node_t *)b; if (node_a->node_stats.stats.average < node_b->node_stats.stats.average) return 1; if (node_a->node_stats.stats.average > node_b->node_stats.stats.average) return -1; /* If two nodes have the same traffic, we still have * to distinguish them somehow. We use the node_id */ return (node_id_compare(&node_a->node_id, &node_b->node_id)); } /* traffic_compare */ /* initialize reposition struct */ static void init_reposition(reposition_node_t *data, GooCanvas *canvas, guint total_nodes) { gdouble text_compensation = 50; data->canvas = canvas; memset(&data->center, 0, sizeof(data->center)); memset(&data->outer, 0, sizeof(data->outer)); /* * Offset the starting angle on the center ring so that when there are * relatively few nodes displayed (e.g. 4 central and 4 outer) the links * obscure things less (by not overlapping node labels and other links). */ data->center.angle += M_PI / 4.0; if (appdata.column_patterns) data->column_populations = g_malloc0(appdata.column_patterns->len + 1 * sizeof(*data->column_populations)); goo_canvas_get_bounds(canvas, &data->xmin, &data->ymin, &data->xmax, &data->ymax); data->xmin += text_compensation; data->xmax -= text_compensation; /* Reduce the drawable area so that * the node name is not lost * TODO: Need a function to calculate * text_compensation depending on font size */ data->x_rad_max = 0.9 * (data->xmax - data->xmin) / 2; data->y_rad_max = 0.9 * (data->ymax - data->ymin) / 2; data->x_inner_rad_max = data->x_rad_max / 2; data->y_inner_rad_max = data->y_rad_max / 2; } static void clear_reposition(reposition_node_t *rdata) { if (appdata.column_patterns) g_free(rdata->column_populations); } static guint find_node_column(node_t *node) { guint i; /* This should only be called if we're in columnar-positioning mode */ g_assert(appdata.column_patterns); for (i = 0; i < appdata.column_patterns->len; i++) { if (node_matches_spec_list(node, g_ptr_array_index(appdata.column_patterns, i))) return i; } /* * If no explicit match was found it goes in the rightmost column (with an * implicit "match-all" pattern). */ return appdata.column_patterns->len; } /* * A preparatory pass to count how many nodes are centered and how many are on * the outer ring (and mark each appropriately). Also does analogous work for * columnar-positioning mode (count nodes in each column and mark each node with * its column). */ static gint reposition_canvas_nodes_prep(const node_id_t *node_id, canvas_node_t *canvas_node, reposition_node_t *rdata) { node_t *node; if (!canvas_node->shown) return FALSE; node = nodes_catalog_find(node_id); if (appdata.column_patterns) { canvas_node->column = find_node_column(node); canvas_node->column_idx = rdata->column_populations[canvas_node->column]++; } else if (node && node_matches_spec_list(node, centered_node_speclist)) { canvas_node->centered = TRUE; rdata->center.n_nodes++; } else { canvas_node->centered = FALSE; rdata->outer.n_nodes++; } return FALSE; } /* * Return a point between 'min' and 'max' appropriate for position number 'pos' * out of 'num' total possible positions (basically pos/num of the way between * min and max, though with some tweaking to keep things away from the very * edges of the range). */ static gdouble scale_within(gdouble min, gdouble max, guint pos, guint num) { return min + (((max - min) / (num + 1)) * (pos + 1)); } /* Called from update_diagram if the global need_reposition * is set. It rearranges the nodes*/ static gint reposition_canvas_nodes(node_id_t *node_id, canvas_node_t *canvas_node, reposition_node_t *data) { struct node_ring *ring; gdouble center_x, center_y, oddAngle; gdouble x = 0, y = 0; if (!canvas_node->shown) { goo_canvas_item_hide(canvas_node->node_item); goo_canvas_item_hide(canvas_node->text_item); return FALSE; } ring = canvas_node->centered ? &data->center : &data->outer; center_x = (data->xmax - data->xmin) / 2 + data->xmin; center_y = (data->ymax - data->ymin) / 2 + data->ymin; /* TODO I've done all the stationary changes in a hurry * I should review it an tidy up all this stuff */ if (appdata.stationary_layout) { if (canvas_node->is_new) { static guint count = 0, base = 1; gdouble s_angle = 0; if (count == 0) { s_angle = M_PI * 2.0f; count++; } else { if (count > 2 * base) { base *= 2; count = 1; } s_angle = M_PI * (gdouble)count / ((gdouble)base); count += 2; } x = data->x_rad_max * cos(s_angle); y = data->y_rad_max * sin(s_angle); } } else if (appdata.column_patterns) { guint col = canvas_node->column; x = scale_within(data->xmin, data->xmax, canvas_node->column, appdata.column_patterns->len + 1); y = scale_within(data->ymin, data->ymax, canvas_node->column_idx, data->column_populations[col]); } else { if (canvas_node->centered && data->center.n_nodes == 1) { /* one centered node, reset coordinates */ x = center_x; y = center_y; ring->angle -= 2 * M_PI / ring->n_nodes; } else { if (ring->n_nodes % 2 == 0) /* spacing is better when n_nodes is odd and Y is linear */ oddAngle = (ring->angle * ring->n_nodes) / (ring->n_nodes + 1); else oddAngle = ring->angle; if (ring->n_nodes > 7) { x = data->x_rad_max * cos(oddAngle); y = data->y_rad_max * asin(sin(oddAngle)) / (M_PI / 2); } else { x = data->x_rad_max * cos(ring->angle); y = data->y_rad_max * sin(ring->angle); } if (canvas_node->centered && data->center.n_nodes > 1) { /* For the inner ring, just move it proportionally closer the the center point. */ x = center_x + ((x - center_x) * pref.inner_ring_scale); y = center_y + ((y - center_y) * pref.inner_ring_scale); } } } if (!appdata.stationary_layout || canvas_node->is_new) { g_object_set(G_OBJECT(canvas_node->group_item), "x", x, "y", y, NULL); canvas_node->is_new = FALSE; } if (need_font_refresh) { /* update text font */ g_object_set(G_OBJECT(canvas_node->text_item), "font", pref.fontname, "fill_color", pref.text_color, NULL); } if (pref.diagram_only) { goo_canvas_item_hide(canvas_node->text_item); } else { goo_canvas_item_show(canvas_node->text_item); goo_canvas_item_request_update(canvas_node->text_item); } goo_canvas_item_show(canvas_node->node_item); goo_canvas_item_request_update(canvas_node->node_item); ring->node_i--; if (ring->node_i) ring->angle += 2 * M_PI / ring->n_nodes; else { ring->angle = 0.0; ring->n_nodes = 0; } return FALSE; } /* Goes through all known links and checks whether there already exists * a corresponding canvas_link. If not, create it.*/ static gint check_new_link(link_id_t *link_id, link_t *link, GooCanvas *canvas) { canvas_link_t *new_canvas_link; gulong sig_id; GooCanvasItem *rootgroup; if (!g_tree_lookup(canvas_links, link_id)) { rootgroup = goo_canvas_get_root_item(canvas); new_canvas_link = g_malloc(sizeof(canvas_link_t)); g_assert(new_canvas_link); new_canvas_link->canvas_link_id = *link_id; /* set the lines position using groups positions */ new_canvas_link->src_item = goo_canvas_polyline_new(rootgroup, TRUE, 2, 0.0, 0.0, 1.0, 1.0, "fill-color", "tan", "line-width", 0.5, NULL); g_object_ref(G_OBJECT(new_canvas_link->src_item)); new_canvas_link->dst_item = goo_canvas_polyline_new(rootgroup, TRUE, 2, 0.0, 0.0, 1.0, 1.0, "fill-color", "tan", "line-width", 0.5, NULL); g_object_ref(G_OBJECT(new_canvas_link->dst_item)); g_tree_insert(canvas_links, &new_canvas_link->canvas_link_id, new_canvas_link); goo_canvas_item_lower(new_canvas_link->src_item, NULL); goo_canvas_item_lower(new_canvas_link->dst_item, NULL); sig_id = g_signal_connect(G_OBJECT(new_canvas_link->src_item), "button-release-event", G_CALLBACK(link_item_event), new_canvas_link); g_assert(sig_id > 0); sig_id = g_signal_connect(G_OBJECT(new_canvas_link->dst_item), "button-release-event", G_CALLBACK(link_item_event), new_canvas_link); sig_id = g_signal_connect(G_OBJECT(new_canvas_link->src_item), "enter-notify-event", G_CALLBACK(link_item_event), new_canvas_link); g_assert(sig_id > 0); sig_id = g_signal_connect(G_OBJECT(new_canvas_link->src_item), "leave-notify-event", G_CALLBACK(link_item_event), new_canvas_link); g_assert(sig_id > 0); } return FALSE; } /* - calls update_links, so that the related link updates its average * traffic and main protocol, and old links are deleted * - caculates link size and color fading */ static gint canvas_link_update(link_id_t *link_id, canvas_link_t *canvas_link, GList * *delete_list) { const link_t *link; const canvas_node_t *canvas_dst; const canvas_node_t *canvas_src; GdkRGBA scaledColor; double xs, ys, xd, yd, scale; const gchar *main_prot; /* We used to run update_link here, but that was a major performance penalty, * and now it is done in update_diagram */ link = links_catalog_find(link_id); if (!link) { *delete_list = g_list_prepend(*delete_list, link_id); g_my_debug("Queueing canvas link to remove."); return FALSE; } /* If either source or destination has disappeared, we hide the link * until it can be show again */ /* We get coords for the destination node */ canvas_dst = g_tree_lookup(canvas_nodes, &link_id->dst); if (!canvas_dst || !canvas_dst->shown) { goo_canvas_item_hide(canvas_link->src_item); goo_canvas_item_hide(canvas_link->dst_item); return FALSE; } /* We get coords from source node */ canvas_src = g_tree_lookup(canvas_nodes, &link_id->src); if (!canvas_src || !canvas_src->shown) { goo_canvas_item_hide(canvas_link->src_item); goo_canvas_item_hide(canvas_link->dst_item); return FALSE; } /* What if there never is a protocol? * I have to initialize canvas_link->color to a known value */ main_prot = traffic_stats_most_used_proto(&link->link_stats, pref.stack_level); if (main_prot) { double diffms; double ratio; canvas_link->color = *protohash_color(main_prot); diffms = subtract_times_ms(&appdata.now, &link->link_stats.stats.last_time); ratio = diffms / pref.averaging_time; scale = pow(0.5, ratio); if (scale < 0.1) { /* too dark, just hide */ goo_canvas_item_hide(canvas_link->src_item); goo_canvas_item_hide(canvas_link->dst_item); return FALSE; } scaledColor.red = scale * canvas_link->color.red; scaledColor.green = scale * canvas_link->color.green; scaledColor.blue = scale * canvas_link->color.blue; scaledColor.alpha = 1; } else { // black scaledColor.red = 0; scaledColor.green = 0; scaledColor.blue = 0; scaledColor.alpha = 1; } /* retrieve coordinates of node centers */ g_object_get(G_OBJECT(canvas_src->group_item), "x", &xs, "y", &ys, NULL); g_object_get(G_OBJECT(canvas_dst->group_item), "x", &xd, "y", &yd, NULL); /* first draw triangle for src->dst */ draw_oneside_link(xs, ys, xd, yd, &(link->link_stats.stats_out), &scaledColor, canvas_link->src_item); /* then draw triangle for dst->src */ draw_oneside_link(xd, yd, xs, ys, &(link->link_stats.stats_in), &scaledColor, canvas_link->dst_item); return FALSE; } /* given the src and dst node centers, plus a size, draws a triangle in the * specified color on the provided canvas item*/ static void draw_oneside_link(double xs, double ys, double xd, double yd, const basic_stats_t *link_stats, const GdkRGBA *scaledColor, GooCanvasItem *item) { GooCanvasPoints *points; gdouble versorx, versory, modulus, link_size; link_size = get_link_size(link_stats) / 2; /* limit the maximum size to avoid overload */ if (link_size > MAX_LINK_SIZE) link_size = MAX_LINK_SIZE; versorx = -(yd - ys); versory = xd - xs; modulus = sqrt(pow(versorx, 2) + pow(versory, 2)); if (modulus == 0) { link_size = 0; modulus = 1; } points = goo_canvas_points_new(3); points->coords[0] = xd; points->coords[1] = yd; points->coords[2] = xs + versorx * link_size / modulus; points->coords[3] = ys + versory * link_size / modulus; points->coords[4] = xs - versorx * link_size / modulus; points->coords[5] = ys - versory * link_size / modulus; /* If we got this far, the link can be shown. Make sure it is */ g_object_set(G_OBJECT(item), "points", points, "line-width", 0.5, "fill-color-gdk-rgba", scaledColor, "stroke-color-gdk-rgba", scaledColor, "visibility", GOO_CANVAS_ITEM_VISIBLE, NULL); goo_canvas_points_unref(points); } /* Returs the radius in pixels given average traffic and size mode */ static gdouble get_node_size(gdouble average) { gdouble result = 0.0; switch (pref.size_mode) { case LINEAR: result = average + 1; break; case LOG: result = log(average + 1); break; case SQRT: result = sqrt(average + 1); break; } return 5.0 + pref.node_radius_multiplier * result; } /* Returs the width in pixels given average traffic and size mode */ static gdouble get_link_size(const basic_stats_t *link_stats) { gdouble result = 0.0; gdouble data; /* since links are one-sided, there's no distinction between inbound/outbound data. */ switch (pref.node_size_variable) { case INST_TOTAL: case INST_INBOUND: case INST_OUTBOUND: case INST_PACKETS: /* active packets stat not available */ data = link_stats->average; break; case ACCU_TOTAL: case ACCU_INBOUND: case ACCU_OUTBOUND: data = link_stats->accumulated; break; case ACCU_PACKETS: data = link_stats->accu_packets; break; case ACCU_AVG_SIZE: data = link_stats->avg_size; break; default: data = link_stats->average; g_warning(_("Unknown value for link_size_variable")); } switch (pref.size_mode) { case LINEAR: result = data + 1; break; case LOG: result = log(data + 1); break; case SQRT: result = sqrt(data + 1); break; } return 1.0 + pref.node_radius_multiplier * result; } /* Called for every event a link receives. Right now it's used to * set a message in the statusbar and launch the popup */ static gboolean link_item_event(GooCanvasItem *item, GooCanvasItem *target_item, GdkEventButton *event, canvas_link_t *canvas_link) { gchar *str; const gchar *main_prot = NULL; const link_t *link = NULL; switch (event->type) { case GDK_BUTTON_PRESS: case GDK_BUTTON_RELEASE: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: if (canvas_link) link_info_window_create(&canvas_link->canvas_link_id); break; case GDK_ENTER_NOTIFY: if (canvas_link) link = links_catalog_find(&canvas_link->canvas_link_id); if (link) main_prot = traffic_stats_most_used_proto(&link->link_stats, pref.stack_level); if (main_prot) str = g_strdup_printf(_("Link main protocol: %s"), main_prot); else str = g_strdup_printf(_("Link main protocol: unknown")); gtk_statusbar_push(appdata.statusbar, 1, str); g_free(str); break; case GDK_LEAVE_NOTIFY: gtk_statusbar_pop(appdata.statusbar, 1); break; default: break; } return FALSE; } /* link_item_event */ /* Called for every event a node receives. Right now it's used to * launch the popup */ static gint node_item_event(GooCanvasItem *item, GooCanvasItem *target_item, GdkEventButton *event, canvas_node_t *canvas_node) { // gdouble item_x, item_y; const node_t *node = NULL; /* This is not used yet, but it will be. */ /* item_x = event->button.x; item_y = event->button.y; gnome_canvas_item_w2i (item->parent, &item_x, &item_y); */ switch (event->type) { case GDK_BUTTON_PRESS: case GDK_BUTTON_RELEASE: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: if (canvas_node) node = nodes_catalog_find(&canvas_node->canvas_node_id); if (node) { node_protocols_window_create(&canvas_node->canvas_node_id); g_my_info("Nodes: %d (shown %u)", nodes_catalog_size(), displayed_nodes); if (DEBUG_ENABLED) { gchar *msg = node_dump(node); g_my_debug("%s", msg); g_free(msg); } } break; default: break; } return FALSE; } /* node_item_event */ /* Explain pcap stats in status bar when moused over */ static gint pcap_stats_text_item_event(GooCanvasItem *item, GdkEvent *event, void *unused) { switch (event->type) { case GDK_ENTER_NOTIFY: gtk_statusbar_push(appdata.statusbar, 1, _("'recv': packets received; " "'drop': packets dropped by OS buffering; " "'ifdrop': packets dropped by interface or driver.")); break; case GDK_LEAVE_NOTIFY: gtk_statusbar_pop(appdata.statusbar, 1); break; default: break; } return FALSE; } /* Pushes a string into the statusbar stack */ void set_statusbar_msg(gchar *str) { static gchar *status_string = NULL; if (status_string) g_free(status_string); status_string = g_strdup(str); gtk_statusbar_pop(appdata.statusbar, 0); gtk_statusbar_push(appdata.statusbar, 0, status_string); } /* set_statusbar_msg */ static gint canvas_node_compare(const node_id_t *a, const node_id_t *b, gpointer dummy) { g_assert(a != NULL); g_assert(b != NULL); return node_id_compare(a, b); } static gint canvas_link_compare(const link_id_t *a, const link_id_t *b, gpointer dummy) { g_assert(a != NULL); g_assert(b != NULL); return link_id_compare(a, b); } static void canvas_link_delete(canvas_link_t *canvas_link) { /* Right now I'm not very sure in which cases there could be a canvas_link but not a link_item, but * I had a not in update_canvas_nodes that if the test is not done it can lead to corruption */ if (canvas_link->src_item) { goo_canvas_item_remove(canvas_link->src_item); canvas_link->src_item = NULL; } if (canvas_link->dst_item) { goo_canvas_item_remove(canvas_link->dst_item); canvas_link->dst_item = NULL; } g_free(canvas_link); } /* diagram timeout was changed. Remove old timer and register new */ void diagram_timeout_changed(void) { if (diagram_timeout) g_source_remove(diagram_timeout); diagram_timeout = g_timeout_add(pref.refresh_period, update_diagram_callback, NULL); } void resize_diagram(const GtkAllocation *allocation) { goo_canvas_set_bounds(gcanvas_, -allocation->width / 2, -allocation->height / 2, allocation->width / 2, allocation->height / 2); ask_reposition(FALSE); redraw_canvas_background(gcanvas_); update_diagram(gcanvas_); } gboolean update_diagram_callback(gpointer data) { update_diagram(gcanvas_); return TRUE; } gboolean refresh_diagram(void) { GtkAllocation windowsize; /* Simulate a window resize */ g_my_debug("repaint diagram requested"); gtk_widget_get_allocation(GTK_WIDGET(garea_), &windowsize); goo_canvas_set_bounds(gcanvas_, -windowsize.width/2, -windowsize.height/2, windowsize.width/2, windowsize.height/2); redraw_canvas_background(gcanvas_); diagram_reposition(gcanvas_); diagram_update_links(gcanvas_); return TRUE; } etherape-0.9.20/src/stats/0000755000175000017500000000000014050240620012316 500000000000000etherape-0.9.20/src/stats/prot_types.h0000644000175000017500000001354714012514351014634 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ /* ETHERNET */ #ifndef __ETYPES_H__ #define __ETYPES_H__ typedef enum { ETHERNET_II = 0, ETHERNET_802_2 = 1, ETHERNET_802_3 = 2, ETHERNET_SNAP = 3 } ethhdrtype_t; typedef enum { ETHERTYPE_UNK = 0x0000, ETHERTYPE_VINES = 0xbad, ETHERTYPE_TRAIN = 0x1984, ETHERTYPE_3C_NBP_DGRAM = 0x3c07, ETHERTYPE_IP = 0x0800, ETHERTYPE_X25L3 = 0x0805, ETHERTYPE_ARP = 0x0806, ETHERTYPE_DEC = 0x6000, ETHERTYPE_DNA_DL = 0x6001, ETHERTYPE_DNA_RC = 0x6002, ETHERTYPE_DNA_RT = 0x6003, ETHERTYPE_LAT = 0x6004, ETHERTYPE_DEC_DIAG = 0x6005, ETHERTYPE_DEC_CUST = 0x6006, ETHERTYPE_DEC_SCA = 0x6007, ETHERTYPE_ETHBRIDGE = 0x6558, /* transparent Ethernet bridging */ ETHERTYPE_DEC_LB = 0x8038, ETHERTYPE_REVARP = 0x8035, ETHERTYPE_ATALK = 0x809b, ETHERTYPE_AARP = 0x80f3, ETHERTYPE_IPX = 0x8137, ETHERTYPE_VLAN = 0x8100, /* 802.1Q Virtual LAN */ ETHERTYPE_SNMP = 0x814c, /* SNMP over Ethernet, RFC 1089 */ ETHERTYPE_WCP = 0x80ff, /* Wellfleet Compression Protocol */ ETHERTYPE_IPv6 = 0x86dd, ETHERTYPE_PPP = 0x880b, /* no, this is not PPPoE */ ETHERTYPE_MPLS = 0x8847, /* MPLS unicast packet */ ETHERTYPE_MPLS_MULTI = 0x8848, /* MPLS multicast packet */ ETHERTYPE_PPPOED = 0x8863, /* PPPoE Discovery Protocol */ ETHERTYPE_PPPOES = 0x8864, /* PPPoE Session Protocol */ ETHERTYPE_LOOP = 0x9000, /* used for layer 2 testing (do i see my own frames on the wire) */ } etype_t; typedef enum { SAP_NULL = 0x00, SAP_LLC_SLMGMT = 0x02, SAP_SNA_PATHCTRL = 0x04, SAP_IP = 0x06, SAP_SNA1 = 0x08, SAP_SNA2 = 0x0C, SAP_PROWAY_NM_INIT = 0x0E, SAP_TI = 0x18, SAP_BPDU = 0x42, SAP_RS511 = 0x4E, SAP_X25 = 0x7E, SAP_XNS = 0x80, SAP_NESTAR = 0x86, SAP_PROWAY_ASLM = 0x8E, SAP_SNAP = 0xAA, SAP_ARP = 0x98, SAP_VINES1 = 0xBA, SAP_VINES2 = 0xBC, SAP_NETWARE = 0xE0, SAP_NETBIOS = 0xF0, SAP_IBMNM = 0xF4, SAP_RPL1 = 0xF8, SAP_UB = 0xFA, SAP_RPL2 = 0xFC, SAP_OSINL = 0xFE, SAP_GLOBAL = 0xFF } sap_type_t; typedef enum { IPX_PACKET_TYPE_IPX = 0, IPX_PACKET_TYPE_RIP = 1, IPX_PACKET_TYPE_ECHO = 2, IPX_PACKET_TYPE_ERROR = 3, IPX_PACKET_TYPE_PEP = 4, IPX_PACKET_TYPE_SPX = 5, IPX_PACKET_TYPE_NCP = 17, IPX_PACKET_TYPE_WANBCAST = 20 /* propagated NetBIOS packet? */ } ipx_type_t; typedef enum { IPX_SOCKET_PING_CISCO = 0x0002, /* In cisco this is set with: ipx ping-default cisco */ IPX_SOCKET_NCP = 0x0451, IPX_SOCKET_SAP = 0x0452, IPX_SOCKET_IPXRIP = 0x0453, IPX_SOCKET_NETBIOS = 0x0455, IPX_SOCKET_DIAGNOSTIC = 0x0456, IPX_SOCKET_SERIALIZATION = 0x0457, IPX_SOCKET_NWLINK_SMB_SERVER = 0x0550, IPX_SOCKET_NWLINK_SMB_NAMEQUERY = 0x0551, IPX_SOCKET_NWLINK_SMB_REDIR = 0x0552, IPX_SOCKET_NWLINK_SMB_MAILSLOT = 0x0553, IPX_SOCKET_NWLINK_SMB_MESSENGER = 0x0554, IPX_SOCKET_NWLINK_SMB_BROWSE = 0x0555, /* ? not sure on this */ IPX_SOCKET_ATTACHMATE_GW = 0x055d, IPX_SOCKET_IPX_MESSAGE = 0x4001, IPX_SOCKET_ADSM = 0x8522, /* www.tivoli.com */ IPX_SOCKET_EIGRP = 0x85be, /* cisco ipx eigrp */ IPX_SOCKET_WIDE_AREA_ROUTER = 0x9001, IPX_SOCKET_SNMP_AGENT = 0x900F, /* RFC 1906 */ IPX_SOCKET_SNMP_SINK = 0x9010, /* RFC 1906 */ IPX_SOCKET_PING_NOVELL = 0x9086, /* In cisco this is set with: ipx ping-default novell */ IPX_SOCKET_TCP_TUNNEL = 0x9091, /* RFC 1791 */ IPX_SOCKET_UDP_TUNNEL = 0x9092 /* RFC 1791 */ } ipx_socket_t; /* IP */ typedef enum { IP_PROTO_HOPOPTS = 0, /* IP6 hop-by-hop options */ IP_PROTO_ICMP = 1, /* control message protocol */ IP_PROTO_IGMP = 2, /* group mgmt protocol */ IP_PROTO_GGP = 3, /* gateway^2 (deprecated) */ IP_PROTO_IPIP = 4, /* IP inside IP */ IP_PROTO_ST = 5, /* Internet Stream Protocol */ IP_PROTO_TCP = 6, /* tcp */ IP_PROTO_CBT = 7, /* core based trees - RFC2189 */ IP_PROTO_EGP = 8, /* exterior gateway protocol */ IP_PROTO_IGP = 9, /* interior gateway protocol */ IP_PROTO_PUP = 12, /* pup */ IP_PROTO_UDP = 17, /* user datagram protocol */ IP_PROTO_IDP = 22, /* xns idp */ IP_PROTO_TP = 29, /* tp-4 w/ class negotiation */ IP_PROTO_IPV6 = 41, /* IP6 header */ IP_PROTO_ROUTING = 43, /* IP6 routing header */ IP_PROTO_FRAGMENT = 44, /* IP6 fragmentation header */ IP_PROTO_RSVP = 46, /* Resource ReSerVation protocol */ IP_PROTO_GRE = 47, /* GRE */ IP_PROTO_ESP = 50, /* ESP */ IP_PROTO_AH = 51, /* AH */ IP_PROTO_ICMPV6 = 58, /* ICMP6 */ IP_PROTO_NONE = 59, /* IP6 no next header */ IP_PROTO_DSTOPTS = 60, /* IP6 no next header */ IP_PROTO_EON = 80, /* ISO cnlp */ IP_PROTO_VINES = 83, /* Vines over raw IP */ IP_PROTO_EIGRP = 88, IP_PROTO_OSPF = 89, IP_PROTO_ENCAP = 98, /* encapsulation header */ IP_PROTO_PIM = 103, /* Protocol Independent Mcast */ IP_PROTO_IPCOMP = 108, /* IP payload compression */ IP_PROTO_VRRP = 112 /* Virtual Router Redundancy Protocol */ } iptype_t; typedef guint16 port_type_t; #endif /* __ETYPES_H__ */ etherape-0.9.20/src/stats/decode_proto.c0000644000175000017500000014525614023171551015073 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * This file is mostly a rehash of algorithms found in * packet-*. of ethereal * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "appdata.h" #include #include #ifdef HAVE_ARPA_INET_H #include #endif #include /* for DLT_* */ #include "prot_types.h" #include "util.h" #include "decode_proto.h" #include "protocols.h" #include "conversations.h" #include "datastructs.h" #include "preferences.h" #include "node.h" #include "links.h" #include "names/names.h" #define TCP_FTP 21 #define TCP_NETBIOS_SSN 139 #define UDP_NETBIOS_NS 138 /* Enums */ enum rpc_type { RPC_CALL = 0, RPC_REPLY = 1 }; enum rpc_program { PORTMAP_PROGRAM = 100000, NFS_PROGRAM = 100003, YPSERV_PROGRAM = 100004, MOUNT_PROGRAM = 100005, YPBIND_PROGRAM = 100007, YPPASSWD_PROGRAM = 100009, REXEC_PROGRAM = 100017, STAT_PROGRAM = 100024, BOOTPARAMS_PROGRAM = 100026, NLM_PROGRAM = 100021, YPXFR_PROGRAM = 100069, KERBPROG_PROGRAM = 100078 }; /* internal struct - decode helper */ typedef struct { const guint8 *original_packet; /* original start of packet */ guint original_len; /* total captured lenght */ const guint8 *cur_packet; /* pointer to current level start of packet */ guint cur_len; /* current level remaining length */ /* decode outputs */ packet_protos_t *pr_stack; /* detected protocol stack */ guint pr_cur_level; /* current protocol depth on stack */ /* node ids */ node_id_t dst_node_id; node_id_t src_node_id; /* These are used for conversations */ address_t global_src_address; address_t global_dst_address; guint16 global_src_port; guint16 global_dst_port; } decode_proto_t; /* extracts the protocol stack from packet */ static void decode_protocol_stack(decode_proto_t *dp, packet_protos_t *protostack_tofill, const guint8 *pkt, guint cap_len); /* sets protoname at current level, and passes at next level */ static void decode_proto_add(decode_proto_t *dp, const gchar *proto); static void decode_proto_add_fmt(decode_proto_t *dp, const gchar *fmt, ...); /* advances current packet start to prepare for next protocol */ static void add_offset(decode_proto_t *dp, guint offset); static void add_node_packet(node_t *node, packet_info_t *packet, packet_direction direction); /* decoder func proto */ typedef void (*get_fun)(decode_proto_t *dp); /* specific decoders declarations */ static void get_loop(decode_proto_t *dp); static void get_eth_type(decode_proto_t *dp); static void get_fddi_type(decode_proto_t *dp); static void get_ieee802_5_type(decode_proto_t *dp); static void get_eth_II(decode_proto_t *dp, etype_t etype); static void get_eth_802_3(decode_proto_t *dp, ethhdrtype_t ethhdr_type); static void get_radiotap(decode_proto_t *dp); #if defined(DLT_PPI) static void get_ppi(decode_proto_t *dp); #endif static void get_wlan(decode_proto_t *dp); static void get_linux_sll(decode_proto_t *dp); static void get_llc(decode_proto_t *dp); static void get_ip(decode_proto_t *dp); static void get_ipx(decode_proto_t *dp); static void get_tcp(decode_proto_t *dp); static void get_udp(decode_proto_t *dp); static void get_netbios(decode_proto_t *dp); static void get_netbios_ssn(decode_proto_t *dp); static void get_netbios_dgm(decode_proto_t *dp); static void get_ftp(decode_proto_t *dp); static gboolean get_rpc(decode_proto_t *dp, gboolean is_udp); static guint16 choose_port(guint16 a, guint16 b); static void append_etype_prot(decode_proto_t *dp, etype_t etype); /* etherape has to handle several data link layer (OSI L2) packet types. * The following table tries to make easier adding new types. * End of table is signaled by an entry with lt_desc NULL */ typedef struct linktype_data_tag { const gchar *lt_desc; /* linktype description */ unsigned int dlt_linktype; /* pcap link type (DLT_xxxx defines) */ apemode_t l2_idtype; /* link level address slot in node_id_t */ get_fun fun; /* linktype base decoder function */ } linktype_data_t; /* current link type entry */ const linktype_data_t *lkentry = NULL; static linktype_data_t linktypes[] = { {"Ethernet", DLT_EN10MB, LINK6, get_eth_type }, {"RAW", DLT_RAW, IP, get_ip }, /* raw IP like PPP,SLIP */ #ifdef DLT_LINUX_SLL {"LINUX_SLL", DLT_LINUX_SLL, IP, get_linux_sll }, /* Linux cooked */ #endif {"BSD Loopback", DLT_NULL, IP, get_loop }, /* ignore l2 data */ {"OpenBSD Loopback", DLT_LOOP, IP, get_loop }, /* ignore l2 data */ {"FDDI", DLT_FDDI, LINK6, get_fddi_type }, {"IEEE802.5", DLT_IEEE802, LINK6, get_ieee802_5_type }, /* Token Ring */ {"WLAN", DLT_IEEE802_11, LINK6, get_wlan }, /* Wireless with radiotap header */ {"WLAN+RTAP", DLT_IEEE802_11_RADIO, LINK6, get_radiotap }, #if defined(DLT_PPI) {"PPI", DLT_PPI, LINK6, get_ppi }, /* PPI encapsulation */ #endif {NULL, 0, 0, NULL } /* terminating entry, must be last */ }; /* ------------------------------------------------------------ * L2 offset decoders * ------------------------------------------------------------*/ /* Sets the correct linktype entry. Returns false if not found */ gboolean setup_link_type(unsigned int linktype) { int i; lkentry = NULL; for (i = 0; linktypes[i].lt_desc != NULL; ++i) { if (linktypes[i].dlt_linktype == linktype) { lkentry = linktypes + i; g_my_info(_("Link type is %s"), lkentry->lt_desc); return TRUE; } } return FALSE; /* link type not supported */ } /* true if current device captures l2 data */ gboolean has_linklevel(void) { if (lkentry) return lkentry->l2_idtype == LINK6; else return FALSE; } /* ------------------------------------------------------------ * Implementation * ------------------------------------------------------------*/ static void decode_proto_add(decode_proto_t *dp, const gchar *proto) { if (dp->pr_cur_level <= STACK_SIZE) { dp->pr_stack->protonames[dp->pr_cur_level] = g_strdup(proto); dp->pr_cur_level++; } else g_warning("protocol \"%.10s\" too deeply nested, ignored", proto ? proto : ""); } static void decode_proto_add_fmt(decode_proto_t *dp, const gchar *fmt, ...) { va_list ap; if (dp->pr_cur_level <= STACK_SIZE) { va_start(ap, fmt); dp->pr_stack->protonames[dp->pr_cur_level] = g_strdup_vprintf(fmt, ap); va_end(ap); dp->pr_cur_level++; } else g_warning("protocol \"%.10s\" too deeply nested, ignored", fmt ? fmt : ""); } static void add_offset(decode_proto_t *dp, guint offset) { if (dp->cur_len < offset) dp->cur_len = 0; /* no usable data remaining */ else { dp->cur_packet += offset; dp->cur_len -= offset; } } /* This function is called everytime there is a new packet in * the network interface. It then updates traffic information * for the appropriate nodes and links * Receives both the captured (raw) size and the original packet size */ void packet_acquired(guint8 *cap_bytes, guint cap_size, guint orig_size) { packet_info_t *packet; link_id_t link_id; decode_proto_t decp; node_t *src_node; node_t *dst_node; if (!lkentry || !lkentry->fun) { g_error(_("Data link entry not initialized")); return; /* g_error() should abort, but just to be sure ... */ } /* create a packet structure to hold data */ packet = g_malloc(sizeof(packet_info_t)); packet->size = orig_size; packet->timestamp = appdata.now; packet->ref_count = 0; memset(&packet->prot_desc, 0, sizeof(packet->prot_desc)); /* decode the protocol tree */ decode_protocol_stack(&decp, &packet->prot_desc, cap_bytes, cap_size); appdata.n_packets++; appdata.total_mem_packets++; src_node = nodes_catalog_find(&decp.src_node_id); if (src_node == NULL) { /* creates the new node, adding it to the catalog */ src_node = nodes_catalog_new(&decp.src_node_id); g_assert(src_node); } dst_node = nodes_catalog_find(&decp.dst_node_id); if (dst_node == NULL) { /* creates the new node, adding it to the catalog */ dst_node = nodes_catalog_new(&decp.dst_node_id); g_assert(dst_node); } /* Add this packet information to the src and dst nodes */ add_node_packet(src_node, packet, OUTBOUND); add_node_packet(dst_node, packet, INBOUND); /* Update names list for these nodes */ get_packet_names(&src_node->node_stats.stats_protos, &dst_node->node_stats.stats_protos, cap_bytes, cap_size, &packet->prot_desc, lkentry->dlt_linktype); /* And now we update link traffic information for this packet packets originating from lesser addresses are arbitrarily marked outbound link ids are pairs of node addresses, with the lesser one first */ if (node_id_compare(&decp.src_node_id, &decp.dst_node_id) < 1) { /* src id <= dst id, direct packet */ link_id.src = decp.src_node_id; link_id.dst = decp.dst_node_id; links_catalog_add_packet(&link_id, packet, OUTBOUND); } else { /* src id > dst id, inverse packet */ link_id.src = decp.dst_node_id; link_id.dst = decp.src_node_id; links_catalog_add_packet(&link_id, packet, INBOUND); } /* finally, update global protocol stats */ protocol_summary_add_packet(packet); } /* We update node information for each new packet that arrives in the * network. If the node the packet refers to is unknown, we * create it. */ static void add_node_packet(node_t *node, packet_info_t *packet, packet_direction direction) { traffic_stats_add_packet(&node->node_stats, packet, direction); /* If this is the first packet we've heard from the node in a while, * we add it to the list of new nodes so that the main app know this * node is active again */ if (node->node_stats.pkt_list.length == 1) new_nodes_add(node); } static void decode_protocol_stack(decode_proto_t *dp, packet_protos_t *protostack_tofill, const guint8 *pkt, guint cap_len) { guint i; /* initialize data helper */ dp->original_packet = pkt; dp->original_len = cap_len; dp->cur_packet = pkt; dp->cur_len = cap_len; dp->pr_stack = protostack_tofill; dp->pr_cur_level = 1; /* level zero is topmost protocol, will be filled later */ node_id_clear(&dp->dst_node_id); node_id_clear(&dp->src_node_id); address_clear(&dp->global_src_address); address_clear(&dp->global_dst_address); dp->global_src_port = 0; dp->global_dst_port = 0; /* call current link decode function */ g_assert(lkentry && lkentry->fun); lkentry->fun(dp); /* first position is top proto */ for (i = STACK_SIZE; i > 0; --i) { if (dp->pr_stack->protonames[i]) { dp->pr_stack->protonames[0] = g_strdup(dp->pr_stack->protonames[i]); break; } } } /* ------------------------------------------------------------ * Private functions * ------------------------------------------------------------*/ /* bsd loopback */ static void get_loop(decode_proto_t *dp) { if (lkentry->dlt_linktype == DLT_LOOP) decode_proto_add(dp, "LOOP"); else decode_proto_add(dp, "NULL"); add_offset(dp, 4); get_ip(dp); } static void get_eth_type(decode_proto_t *dp) { guint16 ethsize; guint size_offset; /* offset of size field */ ethhdrtype_t ethhdr_type = ETHERNET_II; /* Default */ if (dp->cur_len < 20) return; /* not big enough */ size_offset = 12; /* in a non VLAN packet offset of size field is 12 bytes */ /* the 16 bit field at offset 12 can have several meanings: * in 802.3 is the packet size (<= 1500 or 0x5DC) * in Ethernet II the size is really a packet type (>=1536/0x600) * a packet with 802.1Q VLAN tag has a type of 0x8100. * Jumbo frames pose a challenge because they are 802.3, but size > 1500 * Right now we don't support jumbo frames. */ ethsize = pntohs(dp->cur_packet + size_offset); if (ethsize == ETHERTYPE_VLAN) { /* 802.1Q VLAN tagged packet. The 4 byte VLAN header is inserted between * source addr and length */ decode_proto_add(dp, "802.1Q"); if (DEBUG_ENABLED) { guint16 vlanid = pntohs(dp->cur_packet + 14) & 0x0fff; g_my_debug("VLAN id: %u", vlanid); } size_offset = 16; ethsize = pntohs(dp->cur_packet + size_offset); /* get the real size */ } if (ethsize <= 1500) { /* 802.3 ethernet */ /* Is there an 802.2 layer? I can tell by looking at the first 2 * bytes after the 802.3 header. If they are 0xffff, then what * follows the 802.3 header is an IPX payload, meaning no 802.2. * (IPX/SPX is they only thing that can be contained inside a * straight 802.3 cur_packet). A non-0xffff value means that * there's an 802.2 layer inside the 802.3 layer */ if (dp->cur_packet[size_offset+2] == 0xff && dp->cur_packet[size_offset+3] == 0xff) ethhdr_type = ETHERNET_802_3; else ethhdr_type = ETHERNET_802_2; /* Oh, yuck. Cisco ISL frames require special interpretation of the * destination address field; fortunately, they can be recognized by * checking the first 5 octets of the destination address, which are * 01-00-0C-00-00 for ISL frames. */ if (dp->cur_packet[0] == 0x01 && dp->cur_packet[1] == 0x00 && dp->cur_packet[2] == 0x0C && dp->cur_packet[3] == 0x00 && dp->cur_packet[4] == 0x00) { /* TODO Analyze ISL frames */ decode_proto_add(dp, "ISL"); return; } } /* node ids */ dp->dst_node_id.node_type = LINK6; memmove(dp->dst_node_id.addr.eth, dp->cur_packet + 0, sizeof(dp->dst_node_id.addr.eth)); dp->src_node_id.node_type = LINK6; memmove(dp->src_node_id.addr.eth, dp->cur_packet + 6, sizeof(dp->src_node_id.addr.eth)); add_offset(dp, size_offset + 2); if (ethhdr_type == ETHERNET_802_3) { decode_proto_add(dp, "802.3-RAW"); return; } if (ethhdr_type == ETHERNET_802_2) { decode_proto_add(dp, "802.3"); get_eth_802_3(dp, ethhdr_type); return; } /* Else, it's ETHERNET_II, so the size is really a type field */ decode_proto_add(dp, "ETH_II"); get_eth_II(dp, (etype_t)ethsize); } /* get_eth_type */ static void get_eth_802_3(decode_proto_t *dp, ethhdrtype_t ethhdr_type) { switch (ethhdr_type) { case ETHERNET_802_2: get_llc(dp); break; case ETHERNET_802_3: get_ipx(dp); break; default: break; } } /* get_eth_802_3 */ static void get_fddi_type(decode_proto_t *dp) { decode_proto_add(dp, "FDDI"); if (dp->cur_len < 14) return; /* not big enough */ decode_proto_add(dp, "LLC"); /* node ids */ dp->dst_node_id.node_type = LINK6; memmove(dp->dst_node_id.addr.eth, dp->cur_packet + 1, sizeof(dp->dst_node_id.addr.eth)); dp->src_node_id.node_type = LINK6; memmove(dp->src_node_id.addr.eth, dp->cur_packet + 7, sizeof(dp->src_node_id.addr.eth)); /* Ok, this is only temporary while I truly dissect LLC * and fddi */ if (dp->cur_len < 21) return; /* not big enough */ if ((dp->cur_packet[19] == 0x08) && (dp->cur_packet[20] == 0x00)) { add_offset(dp, 21); get_ip(dp); } } /* get_fddi_type */ static void get_ieee802_5_type(decode_proto_t *dp) { decode_proto_add(dp, "Token Ring"); if (dp->cur_len < 15) return; /* not big enough */ /* node ids */ dp->dst_node_id.node_type = LINK6; memmove(dp->dst_node_id.addr.eth, dp->cur_packet + 2, sizeof(dp->dst_node_id.addr.eth)); dp->src_node_id.node_type = LINK6; memmove(dp->src_node_id.addr.eth, dp->cur_packet + 8, sizeof(dp->src_node_id.addr.eth)); if (dp->cur_len < 22) return; /* not big enough */ /* As with FDDI, we only support LLC by now */ decode_proto_add(dp, "LLC"); if ((dp->cur_packet[20] == 0x08) && (dp->cur_packet[21] == 0x00)) { add_offset(dp, 22); get_ip(dp); } } static void get_eth_II(decode_proto_t *dp, etype_t etype) { if (etype == ETHERTYPE_IP || etype == ETHERTYPE_IPv6) get_ip(dp); else if (etype == ETHERTYPE_IPX) get_ipx(dp); else append_etype_prot(dp, etype); } /* get_eth_II */ /* handles radiotap header */ static void get_radiotap(decode_proto_t *dp) { guint16 rtlen; if (dp->cur_len < 32) { g_warning(_("Radiotap:captured size too small, packet discarded")); decode_proto_add(dp, "RADIOTAP"); return; } /* radiotap hdr has 8 bit of version, plus 8bit of padding, followed by * 16bit len field. We don't need to parse the header, just skip it * Note: header little endian */ #ifdef WORDS_BIGENDIAN rtlen = phtons(dp->cur_packet+2); #else rtlen = *(guint16 *)(dp->cur_packet+2); #endif add_offset(dp, rtlen); get_wlan(dp); } #if defined(DLT_PPI) /* handles PPI (Per Packet Incapsulation) header */ static void get_ppi(decode_proto_t *dp) { static const linktype_data_t *pph_lkentry = NULL; guint16 pph_len; guint32 pph_dlt; int i; if (dp->cur_len < 64) { g_warning(_("PPI:captured size too small, packet discarded")); decode_proto_add(dp, "PPI"); return; } /* PPI hdr has 8 bit of version, plus 8bit of flags, followed by * 16bit len field and finally by a 32 bit DLT number. * Between header and data there could be some optional information fields. * We don't need to parse header or fields, just skip it * Note: all ppi dati are in little-endian order */ #ifdef WORDS_BIGENDIAN pph_len = phtons(dp->cur_packet+2); pph_dlt = phtonl(dp->cur_packet+4); #else pph_len = *(guint16 *)(dp->cur_packet+2); pph_dlt = *(guint32 *)(dp->cur_packet+4); #endif add_offset(dp, pph_len); /* if the last packet seen has a different dlt type, we rescan the table */ if (!pph_lkentry || pph_lkentry->dlt_linktype != pph_dlt) { pph_lkentry = NULL; for (i = 0; linktypes[i].lt_desc != NULL; ++i) { if (linktypes[i].dlt_linktype == pph_dlt) { pph_lkentry = linktypes + i; pph_lkentry->fun(dp); } } g_warning(_("PPI:unsupported link type %u, packet discarded"), pph_dlt); return; } pph_lkentry->fun(dp); } #endif static void decode_wlan_mgmt(decode_proto_t *dp, uint8_t subtype) { switch (subtype) { case 0: /* association request */ case 1: /* association response */ case 2: /* REassociation request */ case 3: /* REassociation response */ decode_proto_add(dp, "WLAN-ASSOC"); break; case 4: /* probe req */ case 5: /* probe resp */ decode_proto_add(dp, "WLAN-PROBE"); break; case 8: decode_proto_add(dp, "WLAN-BEACON"); break; case 9: decode_proto_add(dp, "WLAN-ATIM"); break; case 10: /* deassociation */ decode_proto_add(dp, "WLAN-DEASSOC"); break; case 11: /* authentication */ case 12: /* DEauthentication */ decode_proto_add(dp, "WLAN-AUTH"); break; default: decode_proto_add(dp, "WLAN-MGMT-UNKN"); break; } } static void decode_wlan_ctrl(decode_proto_t *dp, uint8_t subtype) { switch (subtype) { case 10: /* PS-Poll */ decode_proto_add(dp, "WLAN-PS-POLL"); break; case 11: /* RTS */ decode_proto_add(dp, "WLAN-RTS"); break; case 12: /* CTS */ decode_proto_add(dp, "WLAN-CTS"); break; case 13: /* ACK */ decode_proto_add(dp, "WLAN-ACK"); break; case 14: /* CF End */ case 15: /* CF End + CF-ACK */ decode_proto_add(dp, "WLAN-CF-END"); break; default: decode_proto_add(dp, "WLAN-CTRL-UNKN"); break; } } /* ieee802.11 wlans */ static void get_wlan(decode_proto_t *dp) { uint8_t type; uint8_t subtype; uint8_t wep; uint8_t fromtods; uint8_t dstofs; uint8_t srcofs; decode_proto_add(dp, "IEE802.11"); /* experimental */ if (dp->cur_len < 10) { g_warning(_("wlan:captured size too small (less than 10 bytes), packet discarded")); return; } /* frame control field: two bytes, network order * frame type is in bits 2-3, subtype 4-7, tods 8, fromds 9, wep 14 */ type = (dp->cur_packet[0] >> 2) & 0x03; subtype = (dp->cur_packet[0] >> 4) & 0x0f; fromtods = (dp->cur_packet[1]) & 0x03; wep = (dp->cur_packet[1] >> 6) & 0x01; /* WLAN packets can have up to four (!) addresses, while EtherApe handles * only two :-) * We *could* register the packet twice or even three times, to show the full * traffic, but while useful to understand how WLAN really works usually one * prefers to ignore switches, APs and so on, so we try to decode only the * SA/DA addresses. AP ones are used only for station to AP traffic. * On most modes BSSID is crammed into one of the unused addresses. * Note: * In monitor mode we could pick up a packet multiple times: for example first * from node A to AP, then from AP to node B. * In that case, traffic statistics will be wrong! */ if (fromtods > 3) { g_warning(_("Invalid tofromds field in WLAN packet: 0x%x"), fromtods); return; } /* a1:4 a2:10 a3:16 a4:24 */ switch (fromtods) { case 0: /* fromds:0, tods:0 ---> DA=addr1, SA=addr2, BSSID=addr3, no addr4 */ dstofs = 4; srcofs = 10; break; case 1: /* fromds:0, tods:1 ---> DA=addr3, SA=addr2, BSSID=addr1, no addr4 */ dstofs = 16; srcofs = 10; break; case 2: /* fromds:1, tods:0 ---> DA=addr1, SA=addr3, BSSID=addr2, no addr4 */ dstofs = 4; srcofs = 16; break; case 3: /* fromds:1, tods:1 ---> DA=addr3, SA=addr4, RA=addr1, TA=addr2 */ dstofs = 16; srcofs = 24; break; } if (dp->cur_len < dstofs + 6) { g_warning(_("wlan:captured size too small (read %u, needed %u), packet discarded"), dp->cur_len, dstofs+6); return; } dp->dst_node_id.node_type = LINK6; memmove(dp->dst_node_id.addr.eth, dp->cur_packet + dstofs, sizeof(dp->dst_node_id.addr.eth)); if (type == 1) { /* control frame */ if (subtype == 11) { /* for type 1 frames (control) only RTS (subtype 11) has two addresses, while other subtypes have only one address. */ if (dp->cur_len < srcofs + 6) { g_warning(_("wlan:captured size too small (read %u, needed %u), RTS packet discarded"), dp->cur_len, srcofs+6); return; } dp->src_node_id.node_type = LINK6; memmove(dp->src_node_id.addr.eth, dp->cur_packet + srcofs, sizeof(dp->src_node_id.addr.eth)); add_offset(dp, 16); } else add_offset(dp, 10); decode_wlan_ctrl(dp, subtype); return; } if (dp->cur_len < srcofs + 6) { g_warning(_("wlan:captured size too small (read %u, needed %u), packet discarded"), dp->cur_len, srcofs+6); return; } dp->src_node_id.node_type = LINK6; memmove(dp->src_node_id.addr.eth, dp->cur_packet + srcofs, sizeof(dp->src_node_id.addr.eth)); if (fromtods != 3) add_offset(dp, 24); else add_offset(dp, 30); /* fourth address present */ switch (type) { case 2: /* data frame */ if (!wep) { if (subtype == 8) add_offset(dp, 2); /* QOS info present */ get_llc(dp); } else decode_proto_add(dp, "WLAN-CRYPTED"); break; case 0: /* mgmt frame */ decode_wlan_mgmt(dp, subtype); break; case 3: /* reserved frame - AP specific */ g_warning(_("wlan:frame type 0x%x is reserved, decode aborted"), type); return; default: g_warning(_("wlan:unknown frame type 0x%x, decode aborted"), type); return; } } /* Gets the protocol type out of the linux-sll header. * I have no real idea of what can be there, but since IP * is 0x800 I guess it follows ethernet specifications */ static void get_linux_sll(decode_proto_t *dp) { etype_t etype; decode_proto_add(dp, "LINUX-SLL"); etype = pntohs(&dp->cur_packet[14]); add_offset(dp, 16); if (etype == ETHERTYPE_IP || etype == ETHERTYPE_IPv6) get_ip(dp); else if (etype == ETHERTYPE_IPX) get_ipx(dp); else append_etype_prot(dp, etype); } /* get_linux_sll_type */ static void get_llc(decode_proto_t *dp) { #define XDLC_I 0x00 /* Information frames */ #define XDLC_U 0x03 /* Unnumbered frames */ #define XDLC_UI 0x00 /* Unnumbered Information */ #define XDLC_IS_INFORMATION(control) \ (((control) & 0x1) == XDLC_I || (control) == (XDLC_UI|XDLC_U)) sap_type_t dsap, ssap; guint16 control; if (dp->cur_len < 4) return; dsap = dp->cur_packet[0]; ssap = dp->cur_packet[1]; if (dsap == SAP_SNAP && ssap == SAP_SNAP) { /* LLC SNAP: has an additional ethernet II type added */ etype_t eth2_type; eth2_type = (etype_t)pntohs(dp->cur_packet + 6); add_offset(dp, 8); get_eth_II(dp, eth2_type); return; } decode_proto_add(dp, "LLC"); /* To get this control value is actually a lot more * complicated than this, see xdlc.c in ethereal, * but I'll try like this, it seems it works for my pourposes at * least most of the time */ control = dp->cur_packet[2]; if (!XDLC_IS_INFORMATION(control)) return; add_offset(dp, 3); switch (dsap) { case SAP_NULL: decode_proto_add(dp, "LLC-NULL"); break; case SAP_LLC_SLMGMT: decode_proto_add(dp, "LLC-SLMGMT"); break; case SAP_SNA_PATHCTRL: decode_proto_add(dp, "PATHCTRL"); break; case SAP_IP: get_ip(dp); break; case SAP_SNA1: decode_proto_add(dp, "SNA1"); break; case SAP_SNA2: decode_proto_add(dp, "SNA2"); break; case SAP_PROWAY_NM_INIT: decode_proto_add(dp, "PROWAY-NM-INIT"); break; case SAP_TI: decode_proto_add(dp, "TI"); break; case SAP_BPDU: decode_proto_add(dp, "BPDU"); break; case SAP_RS511: decode_proto_add(dp, "RS511"); break; case SAP_X25: decode_proto_add(dp, "X25"); break; case SAP_XNS: decode_proto_add(dp, "XNS"); break; case SAP_NESTAR: decode_proto_add(dp, "NESTAR"); break; case SAP_PROWAY_ASLM: decode_proto_add(dp, "PROWAY-ASLM"); break; case SAP_ARP: decode_proto_add(dp, "ARP"); break; case SAP_SNAP: /* We are not supposed to reach this point */ g_warning("Reached SNAP while checking for DSAP in get_llc"); decode_proto_add(dp, "LLC-SNAP"); break; case SAP_VINES1: decode_proto_add(dp, "VINES1"); break; case SAP_VINES2: decode_proto_add(dp, "VINES2"); break; case SAP_NETWARE: get_ipx(dp); break; case SAP_NETBIOS: decode_proto_add(dp, "NETBIOS"); get_netbios(dp); break; case SAP_IBMNM: decode_proto_add(dp, "IBMNM"); break; case SAP_RPL1: decode_proto_add(dp, "RPL1"); break; case SAP_UB: decode_proto_add(dp, "UB"); break; case SAP_RPL2: decode_proto_add(dp, "RPL2"); break; case SAP_OSINL: decode_proto_add(dp, "OSINL"); break; case SAP_GLOBAL: decode_proto_add(dp, "LLC-GLOBAL"); break; } } /* get_llc */ static void get_ip(decode_proto_t *dp) { guint16 fragment_offset = 0; iptype_t ip_type; int ip_version, ip_hl; if (dp->cur_len < 20) return; ip_version = (dp->cur_packet[0] >> 4) & 15; switch (ip_version) { case 4: // ipv4 ip_hl = (dp->cur_packet[0] & 15) << 2; if (ip_hl < 20) return; decode_proto_add(dp, "IP"); ip_type = dp->cur_packet[9]; fragment_offset = pntohs(dp->cur_packet + 6); fragment_offset &= 0x0fff; if (appdata.mode != LINK6) { /* we want node higher level node ids */ dp->dst_node_id.node_type = IP; address_clear(&dp->dst_node_id.addr.ip); dp->dst_node_id.addr.ip.type = AF_INET; memmove(dp->dst_node_id.addr.ip.addr_v4, dp->cur_packet + 16, sizeof(dp->dst_node_id.addr.ip.addr_v4)); dp->src_node_id.node_type = IP; address_clear(&dp->src_node_id.addr.ip); dp->src_node_id.addr.ip.type = AF_INET; memmove(dp->src_node_id.addr.ip.addr_v4, dp->cur_packet + 12, sizeof(dp->src_node_id.addr.ip.addr_v4)); } add_offset(dp, ip_hl); break; case 6: // ipv6 if (dp->cur_len < 40) return; decode_proto_add(dp, "IPV6"); ip_type = dp->cur_packet[6]; if (appdata.mode != LINK6) { /* we want higher level node ids */ dp->dst_node_id.node_type = IP; dp->dst_node_id.addr.ip.type = AF_INET6; memmove(dp->dst_node_id.addr.ip.addr_v6, dp->cur_packet + 24, sizeof(dp->dst_node_id.addr.ip.addr_v6)); dp->src_node_id.node_type = IP; dp->src_node_id.addr.ip.type = AF_INET6; memmove(dp->src_node_id.addr.ip.addr_v6, dp->cur_packet + 8, sizeof(dp->src_node_id.addr.ip.addr_v6)); } add_offset(dp, 40); break; default: return; } /* This is used for conversations */ address_copy(&dp->global_src_address, &dp->src_node_id.addr.ip); address_copy(&dp->global_dst_address, &dp->dst_node_id.addr.ip); switch (ip_type) { case IP_PROTO_ICMP: decode_proto_add(dp, "ICMP"); break; case IP_PROTO_TCP: if (fragment_offset) decode_proto_add(dp, "TCP_FRAGMENT"); else get_tcp(dp); break; case IP_PROTO_UDP: if (fragment_offset) decode_proto_add(dp, "UDP_FRAGMENT"); else get_udp(dp); break; case IP_PROTO_IGMP: decode_proto_add(dp, "IGMP"); break; case IP_PROTO_GGP: decode_proto_add(dp, "GGP"); break; case IP_PROTO_IPIP: decode_proto_add(dp, "IPIP"); break; case IP_PROTO_ST: decode_proto_add(dp, "ST"); break; case IP_PROTO_CBT: decode_proto_add(dp, "CBT"); break; case IP_PROTO_EGP: decode_proto_add(dp, "EGP"); break; case IP_PROTO_IGP: decode_proto_add(dp, "IGP"); break; case IP_PROTO_PUP: decode_proto_add(dp, "PUP"); break; case IP_PROTO_IDP: decode_proto_add(dp, "IDP"); break; case IP_PROTO_TP: decode_proto_add(dp, "TP"); break; case IP_PROTO_IPV6: decode_proto_add(dp, "IPV6"); break; case IP_PROTO_ROUTING: decode_proto_add(dp, "ROUTING"); break; case IP_PROTO_FRAGMENT: decode_proto_add(dp, "FRAGMENT"); break; case IP_PROTO_RSVP: decode_proto_add(dp, "RSVP"); break; case IP_PROTO_GRE: decode_proto_add(dp, "GRE"); break; case IP_PROTO_ESP: decode_proto_add(dp, "ESP"); break; case IP_PROTO_AH: decode_proto_add(dp, "AH"); break; case IP_PROTO_ICMPV6: decode_proto_add(dp, "ICMPV6"); break; case IP_PROTO_NONE: decode_proto_add(dp, "NONE"); break; case IP_PROTO_DSTOPTS: decode_proto_add(dp, "DSTOPTS"); break; case IP_PROTO_VINES: decode_proto_add(dp, "VINES"); break; case IP_PROTO_EIGRP: decode_proto_add(dp, "EIGRP"); break; case IP_PROTO_OSPF: decode_proto_add(dp, "OSPF"); break; case IP_PROTO_ENCAP: decode_proto_add(dp, "ENCAP"); break; case IP_PROTO_PIM: decode_proto_add(dp, "PIM"); break; case IP_PROTO_IPCOMP: decode_proto_add(dp, "IPCOMP"); break; case IP_PROTO_VRRP: decode_proto_add(dp, "VRRP"); break; default: decode_proto_add(dp, "IP_UNKNOWN"); } } static void get_ipx(decode_proto_t *dp) { ipx_socket_t ipx_dsocket, ipx_ssocket; ipx_type_t ipx_type; /* Make sure this is an IPX cur_packet */ if (dp->cur_len < 30 || *(guint16 *)(dp->cur_packet) != 0xffff) return; decode_proto_add(dp, "IPX"); ipx_dsocket = pntohs(dp->cur_packet + 16); ipx_ssocket = pntohs(dp->cur_packet + 28); ipx_type = *(guint8 *)(dp->cur_packet + 5); switch (ipx_type) { /* Look at the socket with these two types */ case IPX_PACKET_TYPE_PEP: case IPX_PACKET_TYPE_IPX: break; case IPX_PACKET_TYPE_RIP: decode_proto_add(dp, "IPX-RIP"); break; case IPX_PACKET_TYPE_ECHO: decode_proto_add(dp, "IPX-ECHO"); break; case IPX_PACKET_TYPE_ERROR: decode_proto_add(dp, "IPX-ERROR"); break; case IPX_PACKET_TYPE_SPX: decode_proto_add(dp, "IPX-SPX"); break; case IPX_PACKET_TYPE_NCP: decode_proto_add(dp, "IPX-NCP"); break; case IPX_PACKET_TYPE_WANBCAST: decode_proto_add(dp, "IPX-NetBIOS"); break; } if ((ipx_type != IPX_PACKET_TYPE_IPX) && (ipx_type != IPX_PACKET_TYPE_PEP) && (ipx_type != IPX_PACKET_TYPE_WANBCAST)) return; if ((ipx_dsocket == IPX_SOCKET_SAP) || (ipx_ssocket == IPX_SOCKET_SAP)) decode_proto_add(dp, "IPX-SAP"); else if ((ipx_dsocket == IPX_SOCKET_ATTACHMATE_GW) || (ipx_ssocket == IPX_SOCKET_ATTACHMATE_GW)) decode_proto_add(dp, "ATTACHMATE-GW"); else if ((ipx_dsocket == IPX_SOCKET_PING_NOVELL) || (ipx_ssocket == IPX_SOCKET_PING_NOVELL)) decode_proto_add(dp, "PING-NOVELL"); else if ((ipx_dsocket == IPX_SOCKET_NCP) || (ipx_ssocket == IPX_SOCKET_NCP)) decode_proto_add(dp, "IPX-NCP"); else if ((ipx_dsocket == IPX_SOCKET_IPXRIP) || (ipx_ssocket == IPX_SOCKET_IPXRIP)) decode_proto_add(dp, "IPX-RIP"); else if ((ipx_dsocket == IPX_SOCKET_NETBIOS) || (ipx_ssocket == IPX_SOCKET_NETBIOS)) decode_proto_add(dp, "IPX-NetBIOS"); else if ((ipx_dsocket == IPX_SOCKET_DIAGNOSTIC) || (ipx_ssocket == IPX_SOCKET_DIAGNOSTIC)) decode_proto_add(dp, "IPX-DIAG"); else if ((ipx_dsocket == IPX_SOCKET_SERIALIZATION) || (ipx_ssocket == IPX_SOCKET_SERIALIZATION)) decode_proto_add(dp, "IPX-SERIAL."); else if ((ipx_dsocket == IPX_SOCKET_ADSM) || (ipx_ssocket == IPX_SOCKET_ADSM)) decode_proto_add(dp, "IPX-ADSM"); else if ((ipx_dsocket == IPX_SOCKET_EIGRP) || (ipx_ssocket == IPX_SOCKET_EIGRP)) decode_proto_add(dp, "EIGRP"); else if ((ipx_dsocket == IPX_SOCKET_WIDE_AREA_ROUTER) || (ipx_ssocket == IPX_SOCKET_WIDE_AREA_ROUTER)) decode_proto_add(dp, "IPX W.A. ROUTER"); else if ((ipx_dsocket == IPX_SOCKET_TCP_TUNNEL) || (ipx_ssocket == IPX_SOCKET_TCP_TUNNEL)) decode_proto_add(dp, "IPX-TCP-TUNNEL"); else if ((ipx_dsocket == IPX_SOCKET_UDP_TUNNEL) || (ipx_ssocket == IPX_SOCKET_UDP_TUNNEL)) decode_proto_add(dp, "IPX-UDP-TUNNEL"); else if ((ipx_dsocket == IPX_SOCKET_NWLINK_SMB_SERVER) || (ipx_ssocket == IPX_SOCKET_NWLINK_SMB_SERVER) || (ipx_dsocket == IPX_SOCKET_NWLINK_SMB_NAMEQUERY) || (ipx_ssocket == IPX_SOCKET_NWLINK_SMB_NAMEQUERY) || (ipx_dsocket == IPX_SOCKET_NWLINK_SMB_REDIR) || (ipx_ssocket == IPX_SOCKET_NWLINK_SMB_REDIR) || (ipx_dsocket == IPX_SOCKET_NWLINK_SMB_MAILSLOT) || (ipx_ssocket == IPX_SOCKET_NWLINK_SMB_MAILSLOT) || (ipx_dsocket == IPX_SOCKET_NWLINK_SMB_MESSENGER) || (ipx_ssocket == IPX_SOCKET_NWLINK_SMB_MESSENGER) || (ipx_dsocket == IPX_SOCKET_NWLINK_SMB_BROWSE) || (ipx_ssocket == IPX_SOCKET_NWLINK_SMB_BROWSE)) decode_proto_add(dp, "IPX-SMB"); else if ((ipx_dsocket == IPX_SOCKET_SNMP_AGENT) || (ipx_ssocket == IPX_SOCKET_SNMP_AGENT) || (ipx_dsocket == IPX_SOCKET_SNMP_SINK) || (ipx_ssocket == IPX_SOCKET_SNMP_SINK)) decode_proto_add(dp, "SNMP"); else g_my_debug("Unknown IPX ports %d, %d", ipx_dsocket, ipx_ssocket); } /* get_ipx */ static void get_tcp(decode_proto_t *dp) { const port_service_t *src_service, *dst_service, *chosen_service; port_type_t src_port, dst_port, chosen_port; guint8 th_off_x2; guint8 tcp_len; const gchar *str; gboolean src_pref = FALSE; gboolean dst_pref = FALSE; decode_proto_add(dp, "TCP"); dp->global_src_port = src_port = pntohs(dp->cur_packet); dp->global_dst_port = dst_port = pntohs(dp->cur_packet + 2); if (appdata.mode == TCP) { /* tcp mode node ids have both addr and port - to work we need * to already have an IP node id */ g_assert(dp->dst_node_id.node_type == IP); dp->dst_node_id.node_type = TCP; address_copy(&dp->dst_node_id.addr.tcp.host, &dp->global_dst_address); dp->dst_node_id.addr.tcp.port = dp->global_dst_port; g_assert(dp->src_node_id.node_type == IP); dp->src_node_id.node_type = TCP; address_copy(&dp->src_node_id.addr.tcp.host, &dp->global_src_address); dp->src_node_id.addr.tcp.port = dp->global_src_port; } th_off_x2 = *(guint8 *)(dp->cur_packet + 12); tcp_len = hi_nibble(th_off_x2) * 4; /* TCP header length, in bytes */ add_offset(dp, tcp_len); /* Check whether this cur_packet belongs to a registered conversation */ if ((str = find_conversation(&dp->global_src_address, &dp->global_dst_address, src_port, dst_port))) { decode_proto_add(dp, str); return; } /* It's not possible to know in advance whether an UDP * cur_packet is an RPC cur_packet. We'll try */ /* False means we are calling rpc from a TCP cur_packet */ if (get_rpc(dp, FALSE)) return; if (src_port == TCP_NETBIOS_SSN || dst_port == TCP_NETBIOS_SSN) { get_netbios_ssn(dp); return; } else if (src_port == TCP_FTP || dst_port == TCP_FTP) { get_ftp(dp); return; } src_service = services_tcp_find(src_port); dst_service = services_tcp_find(dst_port); chosen_port = choose_port(src_port, dst_port); if (!src_service && !dst_service) { if (pref.group_unk) decode_proto_add(dp, "TCP-UNKNOWN"); else { if (chosen_port == src_port) decode_proto_add_fmt(dp, "TCP:%d-%d", chosen_port, dst_port); else decode_proto_add_fmt(dp, "TCP:%d-%d", chosen_port, src_port); } return; } /* if one of the services has user-defined color, then we favor it, * otherwise chosen_port wins */ if (src_service) src_pref = src_service->preferred; if (dst_service) dst_pref = dst_service->preferred; if (src_pref && !dst_pref) chosen_service = src_service; else if (!src_pref && dst_pref) chosen_service = dst_service; else if (!dst_service || ((src_port == chosen_port) && src_service)) chosen_service = src_service; else chosen_service = dst_service; decode_proto_add(dp, chosen_service->name); } /* get_tcp */ static void get_udp(decode_proto_t *dp) { const port_service_t *src_service, *dst_service, *chosen_service; port_type_t src_port, dst_port, chosen_port; gboolean src_pref = FALSE; gboolean dst_pref = FALSE; decode_proto_add(dp, "UDP"); dp->global_src_port = src_port = pntohs(dp->cur_packet); dp->global_dst_port = dst_port = pntohs(dp->cur_packet + 2); if (appdata.mode == TCP) { /* tcp/udp mode node ids have both addr and port - to work we need * to already have an IP node id */ g_assert(dp->dst_node_id.node_type == IP); dp->dst_node_id.node_type = TCP; address_copy(&dp->dst_node_id.addr.tcp.host, &dp->global_dst_address); dp->dst_node_id.addr.tcp.port = dp->global_dst_port; g_assert(dp->src_node_id.node_type == IP); dp->src_node_id.node_type = TCP; address_copy(&dp->src_node_id.addr.tcp.host, &dp->global_src_address); dp->src_node_id.addr.tcp.port = dp->global_src_port; } add_offset(dp, 8); /* It's not possible to know in advance whether an UDP * cur_packet is an RPC cur_packet. We'll try */ if (get_rpc(dp, TRUE)) return; if (src_port == UDP_NETBIOS_NS || dst_port == UDP_NETBIOS_NS) { get_netbios_dgm(dp); return; } src_service = services_udp_find(src_port); dst_service = services_udp_find(dst_port); chosen_port = choose_port(src_port, dst_port); if (!dst_service && !src_service) { if (pref.group_unk) decode_proto_add(dp, "UDP-UNKNOWN"); else { if (chosen_port == src_port) decode_proto_add_fmt(dp, "UDP:%d-%d", chosen_port, dst_port); else decode_proto_add_fmt(dp, "UDP:%d-%d", chosen_port, src_port); } return; } /* if one of the services has user-defined color, then we favor it, * otherwise chosen_port wins */ if (src_service) src_pref = src_service->preferred; if (dst_service) dst_pref = dst_service->preferred; if (src_pref && !dst_pref) chosen_service = src_service; else if (!src_pref && dst_pref) chosen_service = dst_service; else if (!dst_service || ((src_port == chosen_port) && src_service)) chosen_service = src_service; else chosen_service = dst_service; decode_proto_add(dp, chosen_service->name); } static gboolean get_rpc(decode_proto_t *dp, gboolean is_udp) { int rpcstart; uint32_t rpcver; enum rpc_type msg_type; enum rpc_program msg_program; const gchar *rpc_prot = NULL; /* Determine whether this is an RPC packet */ if (dp->cur_len < 24) return FALSE; /* not big enough */ if (is_udp) rpcstart = 0; else rpcstart = 4; msg_type = pntohl(dp->cur_packet + rpcstart + 4); switch (msg_type) { case RPC_REPLY: /* RPC_REPLYs don't carry an rpc program tag */ /* TODO In order to be able to dissect what is it's * protocol I'd have to keep track of who sent * which call - we use the same addr for both sides */ if (!(rpc_prot = find_conversation(&dp->global_dst_address, &dp->global_dst_address, dp->global_dst_port, 0))) return FALSE; decode_proto_add(dp, "ONC-RPC"); decode_proto_add(dp, rpc_prot); return TRUE; case RPC_CALL: rpcver = pntohl(dp->cur_packet + rpcstart + 8); if (rpcver != 2) return FALSE; /* only ONC-RPC v2 */ msg_program = pntohl(dp->cur_packet + rpcstart + 12); switch (msg_program) { case BOOTPARAMS_PROGRAM: rpc_prot = "BOOTPARAMS"; break; case MOUNT_PROGRAM: rpc_prot = "MOUNT"; break; case NLM_PROGRAM: rpc_prot = "NLM"; break; case PORTMAP_PROGRAM: rpc_prot = "PORTMAP"; break; case STAT_PROGRAM: rpc_prot = "STAT"; break; case NFS_PROGRAM: rpc_prot = "NFS"; break; case YPBIND_PROGRAM: rpc_prot = "YPBIND"; break; case YPSERV_PROGRAM: rpc_prot = "YPSERV"; break; case YPXFR_PROGRAM: rpc_prot = "YPXFR"; break; case YPPASSWD_PROGRAM: rpc_prot = "YPPASSWD"; break; case REXEC_PROGRAM: rpc_prot = "REXEC"; break; case KERBPROG_PROGRAM: rpc_prot = "KERBPROG"; break; default: if (msg_program >= 100000 && msg_program <= 101999) rpc_prot = "RPC-UNKNOWN"; else return FALSE; break; } /* Search for an already existing conversation, if not, create one using the same address for both src and dst */ g_assert(rpc_prot); if (!find_conversation(&dp->global_src_address, &dp->global_src_address, dp->global_src_port, 0)) add_conversation(&dp->global_src_address, &dp->global_src_address, dp->global_src_port, 0, rpc_prot); decode_proto_add(dp, "ONC-RPC"); decode_proto_add(dp, rpc_prot); return TRUE; default: return FALSE; } return FALSE; } /* get_rpc */ /* This function is only called from a straight llc cur_packet, * never from an IP cur_packet */ void get_netbios(decode_proto_t *dp) { #define pletohs(p) ((guint16) \ ((guint16)*((guint8 *)(p)+1)<<8| \ (guint16)*((guint8 *)(p)+0)<<0)) guint16 hdr_len; /* Check that there is room for the minimum header */ if (dp->cur_len < 5) return; hdr_len = pletohs(dp->cur_packet); /* If there is any data at all, it is SMB (or so I understand * from Ethereal's cur_packet-netbios.c */ if (dp->cur_len > hdr_len) decode_proto_add(dp, "SMB"); } /* get_netbios */ void get_netbios_ssn(decode_proto_t *dp) { #define SESSION_MESSAGE 0 guint8 mesg_type; decode_proto_add(dp, "NETBIOS-SSN"); mesg_type = dp->cur_packet[0]; if (mesg_type == SESSION_MESSAGE) decode_proto_add(dp, "SMB"); /* TODO Calculate new dp->offset whenever we have * a "dissector" for a higher protocol */ } /* get_netbions_ssn */ void get_netbios_dgm(decode_proto_t *dp) { guint8 mesg_type; decode_proto_add(dp, "NETBIOS-DGM"); mesg_type = dp->cur_packet[0]; /* Magic numbers copied from ethereal, as usual * They mean Direct (unique|group|broadcast) datagram */ if (mesg_type == 0x10 || mesg_type == 0x11 || mesg_type == 0x12) decode_proto_add(dp, "SMB"); /* TODO Calculate new dp->offset whenever we have * a "dissector" for a higher protocol */ } /* get_netbios_dgm */ void get_ftp(decode_proto_t *dp) { gchar *mesg = NULL; gchar *str; guint hi_byte, low_byte; guint16 server_port; guint size = dp->cur_len; guint i = 0; decode_proto_add(dp, "FTP"); if (dp->cur_len < 3) return; /* not big enough */ if ((gchar)dp->cur_packet[0] != '2' || (gchar)dp->cur_packet[1] != '2' || (gchar)dp->cur_packet[2] != '7') return; /* We have a passive message. Get the port */ mesg = g_malloc(size + 1); g_assert(mesg); memcpy(mesg, dp->cur_packet, size); mesg[size] = '\0'; g_my_debug("Found FTP passive command: %s", mesg); str = strtok(mesg, "(,)"); g_my_debug("FTP Token: %s", str ? str : "NULL"); for (i = 0; i < 4 && str; i++) { str = strtok(NULL, "(,)"); g_my_debug("FTP Token: %s", str ? str : "NULL"); } str = strtok(NULL, "(,)"); g_my_debug("FTP Token: %s", str ? str : "NULL"); if (!str || !sscanf(str, "%d", &hi_byte)) { g_free(mesg); return; } str = strtok(NULL, "(,)"); g_my_debug("FTP Token: %s", str ? str : "NULL"); if (!str || !sscanf(str, "%d", &low_byte)) { g_free(mesg); return; } server_port = hi_byte * 256 + low_byte; g_my_debug("FTP Hi: %d. Low: %d. Passive port is %d", hi_byte, low_byte, server_port); /* A port number zero means any port */ add_conversation(&dp->global_src_address, &dp->global_dst_address, server_port, 0, "FTP-PASSIVE"); g_free(mesg); } /* Given two port numbers, it returns the * one that is a privileged port if the other * is not. If not, just returns the lower numbered */ static guint16 choose_port(guint16 a, guint16 b) { guint ret; if ((a < 1024) && (b >= 1024)) ret = a; else if ((a >= 1024) && (b < 1024)) ret = b; else if (a <= b) ret = a; else ret = b; return ret; } /* choose_port */ static void append_etype_prot(decode_proto_t *dp, etype_t etype) { switch (etype) { case ETHERTYPE_IP: decode_proto_add(dp, "IP"); break; case ETHERTYPE_ARP: decode_proto_add(dp, "ARP"); break; case ETHERTYPE_IPv6: decode_proto_add(dp, "IPV6"); break; case ETHERTYPE_X25L3: decode_proto_add(dp, "X25L3"); break; case ETHERTYPE_REVARP: decode_proto_add(dp, "REVARP"); break; case ETHERTYPE_ATALK: decode_proto_add(dp, "ATALK"); break; case ETHERTYPE_AARP: decode_proto_add(dp, "AARP"); break; case ETHERTYPE_IPX: break; case ETHERTYPE_VINES: decode_proto_add(dp, "VINES"); break; case ETHERTYPE_TRAIN: decode_proto_add(dp, "TRAIN"); break; case ETHERTYPE_LOOP: decode_proto_add(dp, "LOOP"); break; case ETHERTYPE_PPPOED: decode_proto_add(dp, "PPPOED"); break; case ETHERTYPE_PPPOES: decode_proto_add(dp, "PPPOES"); break; case ETHERTYPE_VLAN: decode_proto_add(dp, "VLAN"); break; case ETHERTYPE_SNMP: decode_proto_add(dp, "SNMP"); break; case ETHERTYPE_DNA_DL: decode_proto_add(dp, "DNA-DL"); break; case ETHERTYPE_DNA_RC: decode_proto_add(dp, "DNA-RC"); break; case ETHERTYPE_DNA_RT: decode_proto_add(dp, "DNA-RT"); break; case ETHERTYPE_DEC: decode_proto_add(dp, "DEC"); break; case ETHERTYPE_DEC_DIAG: decode_proto_add(dp, "DEC-DIAG"); break; case ETHERTYPE_DEC_CUST: decode_proto_add(dp, "DEC-CUST"); break; case ETHERTYPE_DEC_SCA: decode_proto_add(dp, "DEC-SCA"); break; case ETHERTYPE_DEC_LB: decode_proto_add(dp, "DEC-LB"); break; case ETHERTYPE_MPLS: decode_proto_add(dp, "MPLS"); break; case ETHERTYPE_MPLS_MULTI: decode_proto_add(dp, "MPLS-MULTI"); break; case ETHERTYPE_LAT: decode_proto_add(dp, "LAT"); break; case ETHERTYPE_PPP: decode_proto_add(dp, "PPP"); break; case ETHERTYPE_WCP: decode_proto_add(dp, "WCP"); break; case ETHERTYPE_3C_NBP_DGRAM: decode_proto_add(dp, "3C-NBP-DGRAM"); break; case ETHERTYPE_ETHBRIDGE: decode_proto_add(dp, "ETHBRIDGE"); break; case ETHERTYPE_UNK: decode_proto_add(dp, "ETH_UNKNOWN"); } } /* append_etype_prot */ etherape-0.9.20/src/stats/node_id.c0000644000175000017500000002021714021134023014002 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "appdata.h" #include "node_id.h" #include "util.h" /*************************************************************************** * * node_id_t implementation * **************************************************************************/ void node_id_clear(node_id_t *a) { memset(a, 0, sizeof(*a)); a->node_type = APEMODE_DEFAULT; } /* Comparison function used to order the (GTree *) nodes * and canvas_nodes heard on the network */ gint node_id_compare(const node_id_t *na, const node_id_t *nb) { const guint8 *ga; const guint8 *gb; int i; g_assert(na != NULL); g_assert(nb != NULL); if (na->node_type < nb->node_type) return -1; else if (na->node_type > nb->node_type) return 1; /* same node type, compare */ switch (na->node_type) { case APEMODE_DEFAULT: return 0; /* default has only one value */ case IP: ga = na->addr.ip.all8; gb = nb->addr.ip.all8; i = sizeof(na->addr.ip.all8); break; case TCP: ga = na->addr.tcp.host.all8; gb = nb->addr.tcp.host.all8; i = sizeof(na->addr.tcp.host.all8)+sizeof(na->addr.tcp.port); break; default: g_error(_("Unsupported ape mode in node_id_compare")); /* Fallthrough, default to compare-by-MAC */ case LINK6: ga = na->addr.eth; gb = nb->addr.eth; i = sizeof(na->addr.eth); break; } i = memcmp(ga, gb, i); if (i > 1) i = 1; else if (i < -1) i = -1; return i; } /* node_id_compare */ /* returns a newly allocated string with a human-readable id */ gchar *node_id_str(const node_id_t *id) { gchar *msg; g_assert(id); switch (id->node_type) { case APEMODE_DEFAULT: msg = g_strdup("00:00:00:00:00:00"); break; case LINK6: msg = g_strdup(ether_to_str(id->addr.eth)); break; case IP: msg = g_strdup(address_to_str(&id->addr.ip)); break; case TCP: msg = g_strdup_printf("%s:%u", address_to_str(&id->addr.tcp.host), id->addr.tcp.port); break; default: g_error("node_id_type %d unknown", (int)(id->node_type)); break; } return msg; } gchar *node_id_dump(const node_id_t *id) { gchar *msg; g_assert(id); switch (id->node_type) { case APEMODE_DEFAULT: msg = g_strdup_printf("NONE: 00:00:00:00:00:00"); break; case LINK6: msg = g_strdup_printf("LINK: %s", ether_to_str(id->addr.eth)); break; case IP: msg = g_strdup_printf("%s: %s", type_to_str(&id->addr.ip), address_to_str(&id->addr.ip)); break; case TCP: msg = g_strdup_printf("TCP/UDP: %s:%u", address_to_str(&id->addr.tcp.host), id->addr.tcp.port); break; default: msg = g_strdup_printf("node_id_type %d unknown", (int)(id->node_type)); break; } return msg; } gchar *node_id_xml(const node_id_t *id) { gchar *msg; gchar *msgb; gchar *xml; g_assert(id); switch (id->node_type) { case APEMODE_DEFAULT: msg = g_strdup_printf(" "); break; case LINK6: msg = xmltag_escaped("link-id", "%s", ether_to_str(id->addr.eth)); break; case IP: msg = xmltag_escaped(type_to_str(&id->addr.ip), "%s", address_to_str(&id->addr.ip)); break; case TCP: xml = xmltag_escaped(type_to_str(&id->addr.tcp.host), "%s", address_to_str(&id->addr.tcp.host)); msgb = xmltag_escaped("port", "%u", id->addr.tcp.port); msg = g_strdup_printf("%s %s", xml, msgb); g_free(xml); g_free(msgb); break; default: msg = xmltag("unknown", "node_id_type %d unknown", (int)(id->node_type)); break; } xml = xmltag("id", "\n%s", msg); g_free(msg); return xml; } /*************************************************************************** * * name_t implementation * **************************************************************************/ static long node_name_count = 0; long active_names(void) { return node_name_count; } name_t *node_name_create(const node_id_t *node_id) { name_t *name; g_assert(node_id); name = g_malloc(sizeof(name_t)); g_assert(name); name->node_id = *node_id; name->accumulated = 0; name->numeric_name = NULL; name->res_name = NULL; ++node_name_count; { gchar *gg = node_id_dump(node_id); g_my_debug("node name created (%p): >%s<, total %ld", name, gg, node_name_count); g_free(gg); } return name; } void node_name_delete(name_t *name) { if (name) { { gchar *gg = node_id_dump(&name->node_id); g_my_debug("node name delete (%p): >%s<, total %ld", name, gg, node_name_count-1); g_free(gg); } if (name->res_name) g_string_free(name->res_name, TRUE); if (name->numeric_name) g_string_free(name->numeric_name, TRUE); g_free(name); --node_name_count; } } void node_name_assign(name_t *name, const gchar *nm, const gchar *num_nm, gdouble sz) { if (DEBUG_ENABLED) { gchar *msgid = node_id_dump(&name->node_id); g_my_debug(" node_name_assign: id %s, name %s, num.name %s\n", msgid, (nm) ? nm : "", num_nm); g_free(msgid); } g_assert(name); if (!name->numeric_name) name->numeric_name = g_string_new(num_nm); else g_string_assign(name->numeric_name, num_nm); if (nm) { if (!name->res_name) name->res_name = g_string_new(nm); else g_string_assign(name->res_name, nm); } name->accumulated += sz; } gchar *node_name_dump(const name_t *name) { gchar *msg; gchar *nid; if (!name) return g_strdup("name_t NULL"); nid = node_id_dump(&name->node_id); msg = g_strdup_printf("node id: %s, name: %s, numeric_name: %s, solved: %d, " "accumulated %f", nid, (name->res_name) ? name->res_name->str : "", name->numeric_name->str, name->res_name != NULL, name->accumulated); g_free(nid); return msg; } gchar *node_name_xml(const name_t *name) { gchar *msg; gchar *nid; gchar *nres; if (!name) return xmltag("name", ""); nid = node_id_xml(&name->node_id); if (name->res_name) nres = xmltag_escaped("resolved_name", "%s", name->res_name->str); else nres = g_strdup(""); msg = xmltag("name", "\n%s%s%s\n" "%.0f", nid, nres, name->numeric_name->str, name->accumulated); g_free(nid); g_free(nres); return msg; } /* compares by node id */ gint node_name_id_compare(const name_t *a, const name_t *b) { g_assert(a != NULL); g_assert(b != NULL); return node_id_compare(&a->node_id, &b->node_id); } /* Comparison function to sort protocols by their accumulated traffic */ gint node_name_freq_compare(gconstpointer a, gconstpointer b) { const name_t *name_a, *name_b; g_assert(a != NULL); g_assert(b != NULL); name_a = (const name_t *)a; name_b = (const name_t *)b; if (name_a->accumulated > name_b->accumulated) return -1; if (name_a->accumulated < name_b->accumulated) return 1; return 0; } etherape-0.9.20/src/stats/decode_proto.h0000644000175000017500000000176313657562503015107 00000000000000 /* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef DECODE_PROTO_H #define DECODE_PROTO_H #include "pkt_info.h" #include "node_id.h" gboolean has_linklevel(void); /* true if current device captures l2 data */ gboolean setup_link_type(unsigned int linktype); void packet_acquired(guint8 *packet, guint raw_size, guint pkt_size); #endif etherape-0.9.20/src/stats/protocols.c0000644000175000017500000003633514023171551014446 00000000000000/* EtherApe * Copyright (C) 2005 Juan Toledo, R.Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "appdata.h" #include #include #include "protocols.h" #include "node.h" #include "links.h" #include "preferences.h" #include "util.h" static gint protocol_compare(gconstpointer a, gconstpointer b); /*************************************************************************** * * protocol_stack implementation * **************************************************************************/ void protocol_stack_open(protostack_t *pstk) { g_assert(pstk); guint i; for (i = 0; i <= STACK_SIZE; ++i) pstk->protostack[i] = NULL; } void protocol_stack_reset(protostack_t *pstk) { guint i; protocol_t *protocol_info; g_assert(pstk); for (i = 0; i <= STACK_SIZE; ++i) { while (pstk->protostack[i]) { protocol_info = pstk->protostack[i]->data; protocol_t_delete(protocol_info); pstk->protostack[i] = g_list_delete_link(pstk->protostack[i], pstk->protostack[i]); } } } /* sums another stack */ void protocol_stack_sum(protostack_t *pstk, const protostack_t *tosum) { GList *protocol_item; protocol_t *protocol_info; guint i; g_assert(pstk); g_assert(tosum); for (i = 0; i <= STACK_SIZE; i++) { const GList *tosum_item = tosum->protostack[i]; if (!tosum_item) continue; /* no protocols to sum at this level */ for (; tosum_item; tosum_item = tosum_item->next) { const protocol_t *tosum_info = tosum_item->data; protocol_item = g_list_find_custom(pstk->protostack[i], tosum_info->name, protocol_compare); if (protocol_item) protocol_info = protocol_item->data; else { /* If there is yet not such protocol, create it */ protocol_info = protocol_t_create(tosum_info->name); pstk->protostack[i] = g_list_prepend(pstk->protostack[i], protocol_info); } g_assert(!strcmp(protocol_info->name, tosum_info->name)); basic_stats_sum(&protocol_info->stats, &tosum_info->stats); } } } /* adds the given packet to the stack */ void protocol_stack_add_pkt(protostack_t *pstk, const packet_info_t *packet) { GList *protocol_item; protocol_t *protocol_info; guint i; g_assert(packet); g_assert(pstk); for (i = 0; i <= STACK_SIZE; i++) { if (!(packet->prot_desc.protonames[i])) continue; protocol_item = g_list_find_custom(pstk->protostack[i], packet->prot_desc.protonames[i], protocol_compare); if (protocol_item) protocol_info = protocol_item->data; else { /* If there is yet not such protocol, create it */ protocol_info = protocol_t_create(packet->prot_desc.protonames[i]); pstk->protostack[i] = g_list_prepend(pstk->protostack[i], protocol_info); } g_assert(!strcmp(protocol_info->name, packet->prot_desc.protonames[i])); basic_stats_add(&protocol_info->stats, packet->size); } } void protocol_stack_sub_pkt(protostack_t *pstk, const packet_info_t *packet) { guint i = 0; GList *item = NULL; protocol_t *protocol = NULL; g_assert(pstk); if (!packet) return; /* We remove protocol aggregate information */ while ((i <= STACK_SIZE) && packet->prot_desc.protonames[i]) { item = g_list_find_custom(pstk->protostack[i], packet->prot_desc.protonames[i], protocol_compare); if (!item) { g_my_critical ("Protocol not found while subtracting packet in protocol_stack_sub_pkt"); break; } protocol = item->data; g_assert(!strcmp(protocol->name, packet->prot_desc.protonames[i])); basic_stats_sub(&protocol->stats, packet->size); i++; } } /* calculates averages on protocol stack items */ void protocol_stack_avg(protostack_t *pstk, gdouble avgtime) { GList *item; protocol_t *protocol; guint i; g_assert(pstk); for (i = 0; i <= STACK_SIZE; i++) { item = pstk->protostack[i]; while (item) { protocol = (protocol_t *)item->data; basic_stats_avg(&protocol->stats, avgtime); item = item->next; } } } /* checks for protocol expiration ... */ void protocol_stack_purge_expired(protostack_t *pstk, double expire_time) { g_assert(pstk); if (expire_time > 0) { GList *item; GList *next_item; protocol_t *protocol; double diffms; guint i; for (i = 0; i <= STACK_SIZE; i++) { item = pstk->protostack[i]; while (item) { protocol = (protocol_t *)item->data; next_item = item->next; if (protocol->stats.aver_accu <= 0) { /* no traffic active on this proto, check purging */ diffms = subtract_times_ms(&appdata.now, &protocol->stats.last_time); if (diffms >= expire_time) { protocol_t_delete(protocol); pstk->protostack[i] = g_list_delete_link(pstk->protostack[i], item); } } item = next_item; } } } } /* finds named protocol in the level protocols of protostack*/ const protocol_t *protocol_stack_find(const protostack_t *pstk, size_t level, const gchar *protoname) { GList *item; g_assert(pstk); if (level > STACK_SIZE || !protoname) return NULL; item = g_list_find_custom(pstk->protostack[level], protoname, protocol_compare); if (item && item->data) return item->data; return NULL; } /* Comparison function to sort protocols by their accumulated traffic (descending) */ static gint prot_freq_compare(gconstpointer a, gconstpointer b) { const protocol_t *prot_a, *prot_b; g_assert(a != NULL); g_assert(b != NULL); prot_a = (const protocol_t *)a; prot_b = (const protocol_t *)b; if (prot_a->stats.accumulated > prot_b->stats.accumulated) return -1; if (prot_a->stats.accumulated < prot_b->stats.accumulated) return 1; return 0; } /* sorts stack levels on the most used protocol */ void protocol_stack_sort_most_used(protostack_t *pstk) { guint i; for (i = 0; i <= STACK_SIZE; ++i) pstk->protostack[i] = g_list_sort(pstk->protostack[i], prot_freq_compare); } const gchar *protocol_stack_most_used(const protostack_t *pstk, size_t level) { protocol_t *protocol; /* If we haven't recognized any protocol at that level, * we say it's unknown */ if (level > STACK_SIZE || !pstk || !pstk->protostack[level]) return NULL; protocol = (protocol_t *)pstk->protostack[level]->data; return protocol->name; } /* returns a newly allocated string with a dump of pstk */ gchar *protocol_stack_dump(const protostack_t *pstk) { guint i; gchar *msg; if (!pstk) return g_strdup("protostack_t NULL"); msg = g_strdup(""); for (i = 0; i <= STACK_SIZE; ++i) { gchar *msg_level; gchar *tmp; if (!pstk->protostack[i]) msg_level = g_strdup("-none-"); else { const GList *cur_el = pstk->protostack[i]; msg_level = NULL; while (cur_el) { gchar *msg_proto; const protocol_t *p = (const protocol_t *)(cur_el->data); g_assert(p); msg_proto = protocol_t_dump(p); if (!msg_level) msg_level = msg_proto; else { tmp = msg_level; msg_level = g_strdup_printf("%s,[%s]", tmp, msg_proto); g_free(tmp); g_free(msg_proto); } cur_el = cur_el->next; } } tmp = msg; msg = g_strdup_printf("%slevel %d: [%s]\n", tmp, i, msg_level); g_free(tmp); g_free(msg_level); } return msg; } /* returns a newly allocated string with an xml dump of pstk */ gchar *protocol_stack_xml(const protostack_t *pstk, const gchar *tag) { guint i; gchar *msg; gchar *xml; if (!pstk) return xmltag(tag, ""); msg = g_strdup(""); for (i = 1; i <= STACK_SIZE; ++i) { gchar *msg_level; gchar *tmp; if (!pstk->protostack[i]) continue; const GList *cur_el = pstk->protostack[i]; msg_level = NULL; while (cur_el) { gchar *msg_proto; const protocol_t *p = (const protocol_t *)(cur_el->data); g_assert(p); msg_proto = protocol_t_xml(p, i); if (!msg_level) msg_level = msg_proto; else { tmp = msg_level; msg_level = g_strdup_printf("%s%s", tmp, msg_proto); g_free(tmp); g_free(msg_proto); } cur_el = cur_el->next; } tmp = msg; msg = g_strdup_printf("%s%s", tmp, msg_level); g_free(tmp); g_free(msg_level); } xml = xmltag(tag, "%s", msg); g_free(msg); return xml; } /*************************************************************************** * * protocol_t implementation * **************************************************************************/ protocol_t *protocol_t_create(const gchar *protocol_name) { protocol_t *pr = NULL; pr = g_malloc(sizeof(protocol_t)); g_assert(pr); pr->name = g_strdup(protocol_name); basic_stats_reset(&pr->stats); pr->node_names = NULL; return pr; } void protocol_t_delete(protocol_t *prot) { g_assert(prot); g_free(prot->name); prot->name = NULL; while (prot->node_names) { GList *name_item = prot->node_names; name_t *name = name_item->data; node_name_delete(name); prot->node_names = g_list_delete_link(prot->node_names, name_item); } g_free(prot); } /* returns a new string with a dump of prot */ gchar *protocol_t_dump(const protocol_t *prot) { gchar *msg; gchar *msg_stats; gchar *msg_names; if (!prot) return g_strdup("protocol_t NULL"); msg_stats = basic_stats_dump(&prot->stats); if (!prot->node_names) msg_names = g_strdup("-- no names --"); else { const GList *cur_el; msg_names = NULL; cur_el = prot->node_names; while (cur_el) { gchar *str_name; const name_t *cur_name; cur_name = (const name_t *)(cur_el->data); str_name = node_name_dump(cur_name); if (!msg_names) msg_names = str_name; else { gchar *tmp = msg_names; msg_names = g_strjoin(",", tmp, str_name, NULL); g_free(tmp); g_free(str_name); } cur_el = cur_el->next; } } msg = g_strdup_printf("protocol name: %s, stats [%s], " "node_names [%s]", prot->name, msg_stats, msg_names); g_free(msg_stats); g_free(msg_names); return msg; } /* returns a new string with an xml dump of prot */ gchar *protocol_t_xml(const protocol_t *prot, guint level) { gchar *msg; gchar *msg_stats; gchar *msg_key; gchar *msg_names; if (!prot) return xmltag("protocol", ""); msg_stats = basic_stats_xml(&prot->stats); if (!prot->node_names) msg_names = g_strdup(""); else { const GList *cur_el; msg_names = NULL; cur_el = prot->node_names; while (cur_el) { gchar *str_name; const name_t *cur_name; cur_name = (const name_t *)(cur_el->data); str_name = node_name_xml(cur_name); if (!msg_names) msg_names = str_name; else { gchar *tmp = msg_names; msg_names = g_strjoin(",", tmp, str_name, NULL); g_free(tmp); g_free(str_name); } cur_el = cur_el->next; } } msg_key = xmltag_escaped("key", "%s", prot->name); msg = xmltag("protocol", "\n%u\n%s%s%s", level, msg_key, msg_stats, msg_names); g_free(msg_key); g_free(msg_stats); g_free(msg_names); return msg; } /* Comparison function used to compare two link protocols */ static gint protocol_compare(gconstpointer a, gconstpointer b) { g_assert(a != NULL); g_assert(b != NULL); return strcmp(((const protocol_t *)a)->name, b); } /*************************************************************************** * * protocol_summary_t implementation * **************************************************************************/ static traffic_stats_t *protosummary_stats = NULL; /* initializes the summary */ void protocol_summary_open(void) { if (protosummary_stats) protocol_summary_close(); protosummary_stats = g_malloc(sizeof(traffic_stats_t)); g_assert(protosummary_stats); traffic_stats_init(protosummary_stats); } /* frees summary, releasing resources */ void protocol_summary_close(void) { if (protosummary_stats) { traffic_stats_reset(protosummary_stats); g_free(protosummary_stats); protosummary_stats = NULL; } } /* adds a new packet to summary */ void protocol_summary_add_packet(packet_info_t *packet) { if (!protosummary_stats) protocol_summary_open(); traffic_stats_add_packet(protosummary_stats, packet, EITHERBOUND); } /* update stats on protocol summary */ void protocol_summary_update_all(void) { if (protosummary_stats) traffic_stats_update(protosummary_stats, pref.averaging_time, pref.proto_timeout_time); } /* number of protos at specified level */ long protocol_summary_size(void) { long totproto = 0; gint i; if (!protosummary_stats) return 0; for (i = 0; i <= STACK_SIZE; ++i) { if (protosummary_stats->stats_protos.protostack[i]) { totproto += g_list_length(protosummary_stats->stats_protos.protostack[i]); } } return totproto; } /* calls func for every protocol at the specified level */ void protocol_summary_foreach(size_t level, GFunc func, gpointer data) { if (!protosummary_stats || level > STACK_SIZE) return; g_list_foreach(protosummary_stats->stats_protos.protostack[level], func, data); } /* generates a summary xml */ gchar *protocol_summary_xml(void) { gchar *xml; if (!protosummary_stats) xml = g_strdup(""); else xml = protocol_stack_xml(&protosummary_stats->stats_protos, "global_protocols"); return xml; } /* finds named protocol in the level protocols of protostack*/ const protocol_t *protocol_summary_find(size_t level, const gchar *protoname) { if (!protosummary_stats) return NULL; return protocol_stack_find(&protosummary_stats->stats_protos, level, protoname); } /* access directly the stack (only for proto windows) */ const protostack_t *protocol_summary_stack(void) { if (!protosummary_stats) return NULL; return &protosummary_stats->stats_protos; } /* sums the link statistics to the summary */ static gboolean protosum_accumulate_link(gpointer key, gpointer value, gpointer data) { const link_t *link = (const link_t *)value; traffic_stats_sum(protosummary_stats, &link->link_stats); return FALSE; } /* recalcs procotol summary stats from link statistics */ void protocol_summary_recalc_fromlinks(void) { if (!protosummary_stats) return; traffic_stats_reset(protosummary_stats); links_catalog_foreach(protosum_accumulate_link, NULL); traffic_stats_calc_averages(protosummary_stats, pref.averaging_time); protocol_stack_sort_most_used(&protosummary_stats->stats_protos); } etherape-0.9.20/src/stats/node.c0000644000175000017500000004640414023171551013345 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, 2005 Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "appdata.h" #include "node.h" #include "capture/capctl.h" #include "preferences.h" #include "util.h" #include "compat.h" typedef struct { const gchar *protocol; gboolean must_resolve; /* true if a name must be resolved to be used */ } name_decode_t; static name_decode_t ethernet_sequence[] = { {"ETH_II", TRUE}, {"802.2", TRUE}, {"803.3", TRUE}, {"FDDI", TRUE}, {"IEEE802", TRUE}, {"NETBIOS-DGM", FALSE}, {"NETBIOS-SSN", FALSE}, {"IP", FALSE}, {"IPV6", FALSE}, {"IPX-SAP", FALSE}, {"ARP", FALSE}, {"ETH_II", FALSE}, {"802.2", FALSE}, {"802.3", FALSE}, {"FDDI", FALSE}, {"IEEE802", FALSE}, {NULL, FALSE} }; static name_decode_t ip_sequence[] = { {"NETBIOS-DGM", FALSE}, {"NETBIOS-SSN", FALSE}, {"IP", FALSE}, {"IPV6", FALSE}, {NULL, FALSE} }; static name_decode_t tcp_sequence[] = { {"TCP", FALSE}, {NULL, FALSE} }; static GTree *all_nodes = NULL; /* Has all the nodes heard on the network */ static gint nodes_num = 0; /* nodes counter */ /*************************************************************************** * * node_t implementation * **************************************************************************/ static void node_protocol_sort(node_t *node); static void set_node_name(node_t *node, const name_decode_t *sequence); static gchar *node_xml(node_t *node); /* Allocates a new node structure */ node_t *node_create(const node_id_t *node_id) { node_t *node; gchar *name; g_assert(node_id); node = g_malloc(sizeof(node_t)); g_assert(node); node->node_id = *node_id; name = node_id_str(node_id); node->name = g_string_new(name); node->numeric_name = g_string_new(name); g_free(name); traffic_stats_init(&node->node_stats); ++nodes_num; if (INFO_ENABLED) { gchar *msg = node_id_dump(&node->node_id); g_my_info(_("New node: %s. Number of nodes %d"), msg, nodes_num); g_free(msg); } return node; } /* create_node */ /* destroys a node */ void node_delete(node_t *node) { if (!node) return; /* nothing to do */ if (node->name) g_string_free(node->name, TRUE); node->name = NULL; if (node->numeric_name) g_string_free(node->numeric_name, TRUE); node->numeric_name = NULL; traffic_stats_reset(&node->node_stats); if (INFO_ENABLED) { gchar *msg = node_id_dump(&node->node_id); g_my_info(_("delete node: %s. Number of nodes %d"), msg, nodes_num-1); g_free(msg); } g_free(node); --nodes_num; } gint node_count(void) { return nodes_num; } gchar *node_dump(const node_t *node) { gchar *msg; gchar *msg_id; gchar *msg_stats; gchar *msg_mprot; const gchar *main_prot; guint i; if (!node) return g_strdup("node_t NULL"); msg_id = node_id_dump(&node->node_id); msg_stats = traffic_stats_dump(&node->node_stats); main_prot = traffic_stats_most_used_proto(&node->node_stats, 0); msg_mprot = g_strdup_printf("top: [%s], stack:", (main_prot) ? main_prot : "-none-"); for (i = 1; i <= STACK_SIZE; i++) { gchar *tmp = msg_mprot; main_prot = traffic_stats_most_used_proto(&node->node_stats, i); msg_mprot = g_strdup_printf("%s %d:>%s<", msg_mprot, i, (main_prot) ? main_prot : "-none-"); g_free(tmp); } msg = g_strdup_printf("id: %s, name: %s, numeric_name: %s, main_prot: [%s], " "stats [%s]", msg_id, node->name->str, node->numeric_name->str, msg_mprot, msg_stats); g_free(msg_id); g_free(msg_stats); g_free(msg_mprot); return msg; } /* returns a newly allocated string with an xml dump of node */ gchar *node_xml(node_t *node) { gchar *msg; gchar *msg_id; gchar *msg_stats; gchar *msg_resolved; gchar *msg_numeric; if (!node) return xmltag("node", ""); /* first update protocol sorting to guarantee up-to-date ordering */ node_protocol_sort(node); msg_id = node_id_xml(&node->node_id); msg_stats = traffic_stats_xml(&node->node_stats); msg_resolved = xmltag_escaped("resolved_name", "%s", node->name->str); msg_numeric = xmltag_escaped("numeric_name", "%s", node->numeric_name->str); msg = xmltag("node", "\n\n%s%s%s\n%s", msg_id, msg_resolved, msg_numeric, msg_stats); g_free(msg_id); g_free(msg_stats); g_free(msg_resolved); g_free(msg_numeric); return msg; } /* This function is called to discard packets from the list * of packets beloging to a node or a link, and to calculate * the average traffic for that node or link */ static gboolean node_update(node_id_t *node_id, node_t *node, gpointer delete_list_ptr) { double diffms; g_assert(delete_list_ptr); if (traffic_stats_update(&node->node_stats, pref.averaging_time, pref.proto_node_timeout_time)) { /* packet(s) active, update name and protocols for this link */ node_protocol_sort(node); } else { /* no packets remaining on node - if node expiration active, see if the * node is expired */ if (pref.proto_node_timeout_time) { diffms = subtract_times_ms(&appdata.now, &node->node_stats.stats.last_time); if (diffms >= pref.proto_node_timeout_time) { /* node expired, remove */ GList * *delete_list = (GList * *)delete_list_ptr; if (DEBUG_ENABLED) { gchar *msg = node_id_dump(&node->node_id); g_my_debug(_("Queuing node '%s' for remove"), msg); g_free(msg); } /* First thing we do is delete the node from the list of new_nodes, * if it's there */ new_nodes_remove(node); /* adds current to list of nodes to be delete */ *delete_list = g_list_prepend(*delete_list, node_id); } } } return FALSE; } /* Sets the node->name and node->numeric_name to the most used of * the default name for the current mode */ static void node_protocol_sort(node_t *node) { GList *protocol_item; protocol_t *protocol; guint i; /* sort the protocol stack by most used */ protocol_stack_sort_most_used(&node->node_stats.stats_protos); /* for each level and each protocol at that level, sort names by traffic, * placing the busiest at front */ for (i = 0; i <= STACK_SIZE; ++i) { for (protocol_item = node->node_stats.stats_protos.protostack[i]; protocol_item; protocol_item = protocol_item->next) { protocol = (protocol_t *)(protocol_item->data); protocol->node_names = g_list_sort(protocol->node_names, node_name_freq_compare); } } switch (appdata.mode) { case LINK6: set_node_name(node, ethernet_sequence); break; case IP: set_node_name(node, ip_sequence); break; case TCP: set_node_name(node, tcp_sequence); break; default: break; } } /* update_node_names */ static void set_node_name(node_t *node, const name_decode_t *sequence) { const name_decode_t *iter; gboolean cont; if (DEBUG_ENABLED) { gchar *msgid = node_id_dump(&node->node_id); g_my_debug("set_node_name: node id [%s]", msgid); g_free(msgid); } cont = TRUE; for (iter = sequence; iter->protocol && cont; ++iter) { const GList *name_item; const name_t *name; const protocol_t *protocol; guint j; /* We don't do level 0, which has the topmost prot */ for (j = STACK_SIZE; j && cont; j--) { g_my_debug(" Searching %s at stack level %d", iter->protocol, j); protocol = protocol_stack_find(&node->node_stats.stats_protos, j, iter->protocol); if (!protocol || strcmp(protocol->name, iter->protocol)) continue; /* protocol found, we take the first name (i.e. the most used one) */ name_item = protocol->node_names; if (!name_item) { g_my_debug(" found protocol without names, ignore"); continue; } name = (const name_t *)(name_item->data); if (DEBUG_ENABLED) { gchar *msgname = node_name_dump(name); if (name->res_name || !iter->must_resolve || !pref.name_res) g_my_debug(" found protocol with name [%s]", msgname); else g_my_debug(" found protocol with UNRESOLVED name [%s], ignored", msgname); g_free(msgname); } /* If we require this protocol to be solved and it's not, * the we have to go on */ if (name->res_name || !iter->must_resolve || !pref.name_res) { if (name->res_name) { if (!node->name || strcmp(node->name->str, name->res_name->str)) { g_my_debug(" set node name from %s to %s", (node->name) ? node->name->str : "", name->res_name->str); g_string_assign(node->name, name->res_name->str); } } if (!node->numeric_name || strcmp(node->numeric_name->str, name->numeric_name->str)) { g_my_debug(" set node numeric_name from %s to %s", (node->numeric_name) ? node->numeric_name->str : "none", name->numeric_name->str); g_string_assign(node->numeric_name, name->numeric_name->str); } cont = FALSE; } } } g_my_debug("set_node_name END --"); } /*************************************************************************** * * new nodes methods * **************************************************************************/ static GList *new_nodes = NULL; /* List that contains ptrs to every new node * not yet acknowledged by the main app with * new_nodes_pop */ void new_nodes_clear(void) { g_list_free(new_nodes); new_nodes = NULL; } void new_nodes_add(node_t *node) { new_nodes = g_list_prepend(new_nodes, node); } void new_nodes_remove(node_t *node) { new_nodes = g_list_remove(new_nodes, node); } /* Returns a node from the list of new nodes or NULL if there are no more * new nodes */ node_t *new_nodes_pop(void) { node_t *node = NULL; GList *old_item = NULL; if (!new_nodes) return NULL; node = new_nodes->data; old_item = new_nodes; /* We make sure now that the node hasn't been deleted since */ /* TODO Sometimes when I get here I have a node, but a null * node->node_id. What gives? */ while (node && !nodes_catalog_find(&node->node_id)) { g_my_debug ("Already deleted node in list of new nodes, in new_nodes_pop"); /* Remove this node from the list of new nodes */ new_nodes = g_list_remove_link(new_nodes, new_nodes); g_list_free_1(old_item); if (new_nodes) node = new_nodes->data; else node = NULL; old_item = new_nodes; } if (!new_nodes) return NULL; /* Remove this node from the list of new nodes */ new_nodes = g_list_remove_link(new_nodes, new_nodes); g_list_free_1(old_item); return node; } /*************************************************************************** * * nodes catalog implementation * **************************************************************************/ /* nodes catalog compare function */ static gint nodes_catalog_compare(gconstpointer a, gconstpointer b, gpointer dummy) { return node_id_compare((const node_id_t *)a, (const node_id_t *)b); } /* initializes the catalog */ void nodes_catalog_open(void) { g_assert(!all_nodes); all_nodes = g_tree_new_full(nodes_catalog_compare, NULL, NULL, (GDestroyNotify)node_delete); } /* closes the catalog, releasing all nodes */ void nodes_catalog_close(void) { if (all_nodes) { g_tree_destroy(all_nodes); all_nodes = NULL; } } /* insert a new node */ node_t *nodes_catalog_new(const node_id_t *node_id) { node_t *new_node; g_assert(all_nodes); g_assert(node_id); new_node = node_create(node_id); if (!new_node) return NULL; g_tree_insert(all_nodes, &new_node->node_id, new_node); return new_node; } /* removes AND DESTROYS the named node from catalog */ void nodes_catalog_remove(const node_id_t *key) { g_assert(all_nodes); g_assert(key); g_tree_remove(all_nodes, key); } /* finds a node */ node_t *nodes_catalog_find(const node_id_t *key) { g_assert(key); if (!all_nodes) return NULL; return g_tree_lookup(all_nodes, key); } /* returns the current number of nodes in catalog */ gint nodes_catalog_size(void) { if (!all_nodes) return 0; return g_tree_nnodes(all_nodes); } /* calls the func for every node */ void nodes_catalog_foreach(GTraverseFunc func, gpointer data) { if (!all_nodes) return; return g_tree_foreach(all_nodes, func, data); } /* gfunc called by g_list_foreach to remove the node */ static void gfunc_remove_node(gpointer data, gpointer user_data) { nodes_catalog_remove((const node_id_t *)data); } /* Calls update_node for every node. This is actually a function that shouldn't be called often, because it might take a very long time to complete */ void nodes_catalog_update_all(void) { GList *delete_list = NULL; if (!all_nodes) return; /* we can't delete nodes while traversing the catalog, so while updating we * fill a list with the node_id's to remove */ nodes_catalog_foreach((GTraverseFunc)node_update, &delete_list); /* after, remove all nodes on the list from catalog * WARNING: after this call, the list items are also destroyed */ g_list_foreach(delete_list, gfunc_remove_node, NULL); /* free the list - list items are already destroyed */ g_list_free(delete_list); g_my_debug(_("Updated nodes. Active nodes %d"), nodes_catalog_size()); } /* update_nodes */ static gboolean node_dump_tvs(gpointer key, gpointer value, gpointer data) { gchar *msg_node; gchar *tmp; gchar * *msg = (gchar * *)data; const node_t *node = (const node_t *)value; msg_node = node_dump(node); tmp = *msg; *msg = g_strdup_printf("%snode %p:\n%s\n", tmp, node, msg_node); g_free(tmp); g_free(msg_node); return FALSE; } gchar *nodes_catalog_dump(void) { gchar *msg; msg = g_strdup(""); nodes_catalog_foreach(node_dump_tvs, &msg); return msg; } static gboolean node_xml_tvs(gpointer key, gpointer value, gpointer data) { gchar *msg_node; gchar *tmp; gchar * *msg = (gchar * *)data; node_t *node = (node_t *)value; msg_node = node_xml(node); tmp = *msg; *msg = g_strdup_printf("%s%s", tmp, msg_node); g_free(tmp); g_free(msg_node); return FALSE; } gchar *nodes_catalog_xml(void) { gchar *msg; gchar *xml; msg = g_strdup(""); nodes_catalog_foreach(node_xml_tvs, &msg); xml = xmltag("nodes", "\n%s", msg); g_free(msg); return xml; } /* * Attempt to parse orig_specstr as an IP address or CIDR range * (e.g. 192.168.1.0/24) in either v4 or v6 notation; if both fail, fall back * to treating orig_specstr as a single hostname. */ static struct nodeset_spec *parse_nodeset_spec(const gchar *orig_specstr) { gchar *addr_str; gchar *pfxlen_str; long pfxlen; gchar *slash; gchar *specstr = g_strdup(orig_specstr); struct nodeset_spec *nodeset = g_malloc(sizeof(*nodeset)); slash = strchr(specstr, '/'); if (slash) { /* Split prefix-length off from address */ *slash = '\0'; pfxlen_str = slash + 1; if (strict_strtol(pfxlen_str, 10, &pfxlen) || pfxlen < 0) pfxlen = -1; } else pfxlen = -1; addr_str = specstr; if (inet_pton(AF_INET, addr_str, &nodeset->cidrrange.addr.addr_v4)) { nodeset->kind = NS_CIDRRANGE; nodeset->cidrrange.addr.type = AF_INET; if (pfxlen >= 0 && pfxlen <= 32) nodeset->cidrrange.nbits = pfxlen; else nodeset->cidrrange.nbits = 32; } else if (inet_pton(AF_INET6, addr_str, &nodeset->cidrrange.addr.addr_v6)) { nodeset->kind = NS_CIDRRANGE; nodeset->cidrrange.addr.type = AF_INET6; if (pfxlen >= 0 && pfxlen <= 128) nodeset->cidrrange.nbits = pfxlen; else nodeset->cidrrange.nbits = 128; } else if (*orig_specstr) { nodeset->kind = NS_HOSTNAME; nodeset->hostname = g_strdup(orig_specstr); } else nodeset->kind = NS_NONE; g_free(specstr); return nodeset; } /* * str[c]spn()-friendly set of separator characters for user-provided * nodeset-spec list strings */ #define NODESET_SPECLIST_SEPS " ," /* * Parse a string of into a list of nodeset_spec structs. Elements of the * list can be separated by spaces, commas, or a combination thereof. */ GList *parse_nodeset_spec_list(const gchar *orig_s) { /* scratch copy for operating on */ gchar *s = g_strdup(orig_s); gchar *p = s; gchar tmp; size_t span; struct nodeset_spec *spec; GList *speclist = NULL; while (*p) { /* Find the span that runs until the next space or comma */ span = strcspn(p, NODESET_SPECLIST_SEPS); /* Save a copy of the next character */ tmp = p[span]; /* Chop the string there, parse and save it */ p[span] = '\0'; spec = parse_nodeset_spec(p); speclist = g_list_append(speclist, spec); /* Restore the clobbered character */ p[span] = tmp; /* Skip forward to the next entry */ p += span; p += strspn(p, NODESET_SPECLIST_SEPS); } g_free(s); return speclist; } /* FNM_CASEFOLD is a GNU extension, so fail gracefully if it's absent */ #ifndef FNM_CASEFOLD #define FNM_CASEFOLD 0 #endif /* Check if 'node' matches 'spec' */ static int nodeset_match(const struct nodeset_spec *spec, const node_t *node) { const address_t *nodeaddr; g_assert(spec); if (spec->kind == NS_HOSTNAME && (!fnmatch(spec->hostname, node->name->str, FNM_CASEFOLD) || !fnmatch(spec->hostname, node->numeric_name->str, FNM_CASEFOLD))) return 1; /* found */ if (node->node_id.node_type == IP) nodeaddr = &node->node_id.addr.ip; else if (node->node_id.node_type == TCP) nodeaddr = &node->node_id.addr.tcp.host; else return 0; if (nodeaddr->type != spec->cidrrange.addr.type) return 0; return !bitwise_memcmp(nodeaddr->addr8, spec->cidrrange.addr.addr8, spec->cidrrange.nbits); } static int nodeset_speclist_findmatch(gconstpointer spec, gconstpointer node) { return !nodeset_match(spec, node); } /* returns TRUE if column spec matches node */ gboolean node_matches_spec_list(const node_t *node, GList *specs) { g_assert(node); if (!specs) return FALSE; return g_list_find_custom(specs, node, nodeset_speclist_findmatch) != NULL; } static void free_nodeset_spec(gpointer p) { struct nodeset_spec *s = p; if (s && s->kind == NS_HOSTNAME) g_free(s->hostname); g_free(s); } void free_nodeset_spec_list(GList *specs) { g_list_free_full(specs, free_nodeset_spec); } etherape-0.9.20/src/stats/links.h0000644000175000017500000000517414014523771013551 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef ETHERAPE_LINKS_H #define ETHERAPE_LINKS_H #include "node_id.h" #include "traffic_stats.h" /* a link identification */ typedef struct { node_id_t src; node_id_t dst; } link_id_t; gint link_id_compare(const link_id_t *a, const link_id_t *b); /* returns a NEW gchar * with the node names of the link_id */ gchar *link_id_node_names(const link_id_t *link_id); /* returns a NEW gchar * with xml dump the link_id */ gchar *link_id_xml(const link_id_t *id); /* Link information */ typedef struct { link_id_t link_id; /* src and dest addresses of link */ traffic_stats_t link_stats; /* link statistics */ } link_t; link_t *link_create(const link_id_t *link_id); /* creates a new link object */ void link_delete(link_t *link); /* destroys a link, releasing memory */ gchar *link_dump(const link_t *link); /* dumps link to newly allocated string */ /* link catalog methods */ void links_catalog_open(void); void links_catalog_close(void); /* closes the catalog, releasing all links */ void links_catalog_insert(link_t *new_link); /* insert a new link */ void links_catalog_remove(const link_id_t *key); /* removes AND DESTROYS the named link from catalog */ link_t *links_catalog_find(const link_id_t *key); /* finds a link */ link_t *links_catalog_find_create(const link_id_t *key); /* finds a link, creating one if necessary */ gint links_catalog_size(void); /* returns the current number of links in catalog */ void links_catalog_foreach(GTraverseFunc func, gpointer data); /* calls the func for every link */ void links_catalog_update_all(void); /* adds a new packet to the link, creating it if necessary */ void links_catalog_add_packet(const link_id_t *link_id, packet_info_t *packet, packet_direction direction); gchar *links_catalog_dump(void); /* dumps all links to a newly allocated string */ gchar *links_catalog_xml(void); /* returns a newly allocated string with an xml dump of all links */ #endif etherape-0.9.20/src/stats/links.c0000644000175000017500000002620114023171551013531 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, 2005 Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "appdata.h" #include "protocols.h" #include "links.h" #include "node.h" #include "preferences.h" #include "conversations.h" #include "util.h" struct xml_tvs_helper { double total_size; unsigned long total_packets; gchar *msg; }; static GTree *all_links = NULL; /* Has all links heard on the net */ /* sort protocols by accumulated size */ static void link_protocol_sort(link_t *link); static gchar *link_xml(link_t *link); /*************************************************************************** * * link_id_t implementation * **************************************************************************/ /* Comparison function used to order the (GTree *) links * and canvas_links heard on the network */ gint link_id_compare(const link_id_t *a, const link_id_t *b) { int i; g_return_val_if_fail(a != NULL, 1); /* This shouldn't happen. * We arbitrarily passing 1 to * the comparison */ g_return_val_if_fail(b != NULL, 1); i = node_id_compare(&a->src, &b->src); if (i != 0) return i; return node_id_compare(&a->dst, &b->dst); } /* link_id_compare */ /* returns a NEW gchar * with the node names of the link_id */ gchar *link_id_node_names(const link_id_t *link_id) { const node_t *src_node, *dst_node; src_node = nodes_catalog_find(&link_id->src); dst_node = nodes_catalog_find(&link_id->dst); if (!src_node || !dst_node || !src_node->name->str || !dst_node->name->str) return g_strdup(""); /* invalid info */ return g_strdup_printf("%s-%s", src_node->name->str, dst_node->name->str); } gchar *link_id_xml(const link_id_t *id) { gchar *nodea; gchar *nodeb; gchar *xml; g_assert(id); nodea = node_id_xml(&id->src); nodeb = node_id_xml(&id->dst); xml = g_strdup_printf("\n%s\n\n%s\n", nodea, nodeb); g_free(nodea); g_free(nodeb); return xml; } /*************************************************************************** * * link_t implementation * **************************************************************************/ static gint update_link(link_id_t *link_id, link_t *link, gpointer delete_list_ptr); /* creates a new link object */ link_t *link_create(const link_id_t *link_id) { link_t *link; link = g_malloc(sizeof(link_t)); g_assert(link); link->link_id = *link_id; traffic_stats_init(&link->link_stats); return link; } /* destroys a link, releasing memory */ void link_delete(link_t *link) { g_assert(link); /* first, free any conversation belonging to the link */ delete_conversation_link(&link->link_id.src.addr.ip, &link->link_id.dst.addr.ip); traffic_stats_reset(&link->link_stats); g_free(link); } gchar *link_dump(const link_t *link) { gchar *msg; gchar *msg_idsrc; gchar *msg_iddst; gchar *msg_stats; gchar *msg_mprot; const gchar *main_prot; guint i; if (!link) return g_strdup("link_t NULL"); msg_idsrc = node_id_dump(&link->link_id.src); msg_iddst = node_id_dump(&link->link_id.dst); msg_stats = traffic_stats_dump(&link->link_stats); main_prot = traffic_stats_most_used_proto(&link->link_stats, 0); msg_mprot = g_strdup_printf("top: [%s], stack:", (main_prot) ? main_prot : "-none-"); for (i = 1; i <= STACK_SIZE; i++) { gchar *tmp = msg_mprot; main_prot = traffic_stats_most_used_proto(&link->link_stats, i); msg_mprot = g_strdup_printf("%s %d:>%s<", msg_mprot, i, (main_prot) ? main_prot : "-none-"); g_free(tmp); } msg = g_strdup_printf("src: %s, dst: %s, main_prot: [%s], stats [%s]", msg_idsrc, msg_iddst, msg_mprot, msg_stats); g_free(msg_idsrc); g_free(msg_iddst); g_free(msg_stats); g_free(msg_mprot); return msg; } /* returns a newly allocated string with an xml dump of link */ gchar *link_xml(link_t *link) { gchar *msg; gchar *msg_id; gchar *msg_stats; if (!link) return xmltag("link", ""); msg_id = link_id_xml(&link->link_id); msg_stats = traffic_stats_xml(&link->link_stats); msg = xmltag("link", "\n\n%s\n%s", msg_id, msg_stats); g_free(msg_id); g_free(msg_stats); return msg; } /* gfunc called by g_list_foreach to remove a link */ static void gfunc_remove_link(gpointer data, gpointer user_data) { links_catalog_remove((const link_id_t *)data); } static gint update_link(link_id_t *link_id, link_t *link, gpointer delete_list_ptr) { double diffms; g_assert(delete_list_ptr); /* update stats - returns true if there are active packets */ if (traffic_stats_update(&link->link_stats, pref.averaging_time, pref.proto_link_timeout_time)) { /* packet(s) active, update the most used protocols for this link */ link_protocol_sort(link); } else { /* no packets remaining on link - if link expiration active, see if the * link is expired */ if (pref.proto_link_timeout_time) { diffms = subtract_times_ms(&appdata.now, &link->link_stats.stats.last_time); if (diffms >= pref.proto_link_timeout_time) { /* link expired, remove */ GList * *delete_list = (GList * *)delete_list_ptr; /* adds current to list of links to delete */ *delete_list = g_list_prepend(*delete_list, link_id); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("Queuing link for remove")); } } } return FALSE; } /* sort protocols by accumulated size */ static void link_protocol_sort(link_t *link) { protocol_stack_sort_most_used(&link->link_stats.stats_protos); } /*************************************************************************** * * links catalog implementation * **************************************************************************/ /* links catalog compare function */ static gint links_catalog_compare(gconstpointer a, gconstpointer b, gpointer dummy) { return link_id_compare((const link_id_t *)a, (const link_id_t *)b); } /* initializes the catalog */ void links_catalog_open(void) { g_assert(!all_links); all_links = g_tree_new_full(links_catalog_compare, NULL, NULL, (GDestroyNotify)link_delete); } /* closes the catalog, releasing all links */ void links_catalog_close(void) { if (all_links) { g_tree_destroy(all_links); all_links = NULL; } } /* insert a new link */ void links_catalog_insert(link_t *new_link) { g_assert(all_links); g_assert(new_link); g_tree_insert(all_links, &new_link->link_id, new_link); if (DEBUG_ENABLED) { gchar *str = link_id_node_names(&new_link->link_id); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, _("New link: %s. Number of links %d"), str, links_catalog_size()); g_free(str); } } /* removes AND DESTROYS the named link from catalog */ void links_catalog_remove(const link_id_t *key) { g_assert(all_links); g_assert(key); g_tree_remove(all_links, key); } /* finds a link */ link_t *links_catalog_find(const link_id_t *key) { g_assert(key); if (!all_links) return NULL; return g_tree_lookup(all_links, key); } /* finds a link, creating one if necessary */ link_t *links_catalog_find_create(const link_id_t *key) { link_t *link; g_assert(all_links); g_assert(key); link = links_catalog_find(key); if (!link) { link = link_create(key); links_catalog_insert(link); } return link; } /* returns the current number of links in catalog */ gint links_catalog_size(void) { if (!all_links) return 0; return g_tree_nnodes(all_links); } /* calls the func for every link */ void links_catalog_foreach(GTraverseFunc func, gpointer data) { if (!all_links) return; return g_tree_foreach(all_links, func, data); } /* Calls update_link for every link. This is actually a function that shouldn't be called often, because it might take a very long time to complete */ void links_catalog_update_all(void) { GList *delete_list = NULL; if (!all_links) return; /* we can't delete links while traversing the catalog, so while updating links * we fill a list with the expired link_id's */ links_catalog_foreach((GTraverseFunc)update_link, &delete_list); /* after, remove all links on the list from catalog * WARNING: after this call, the list items are also destroyed */ g_list_foreach(delete_list, gfunc_remove_link, NULL); /* free the list - list items are already destroyed */ g_list_free(delete_list); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("Updated links. Active links %d"), links_catalog_size()); } /* adds a new packet to the link, creating it if necessary */ void links_catalog_add_packet(const link_id_t *link_id, packet_info_t *packet, packet_direction direction) { link_t *link; /* retrieves link from catalog, creating a new one if necessary */ link = links_catalog_find_create(link_id); traffic_stats_add_packet(&link->link_stats, packet, direction); } static gboolean link_dump_tvs(gpointer key, gpointer value, gpointer data) { gchar *msg_link; gchar *tmp; gchar * *msg = (gchar * *)data; const link_t *link = (const link_t *)value; msg_link = link_dump(link); tmp = *msg; *msg = g_strdup_printf("%slink %p:\n%s\n", tmp, link, msg_link); g_free(tmp); g_free(msg_link); return FALSE; } gchar *links_catalog_dump(void) { gchar *msg; msg = g_strdup(""); links_catalog_foreach(link_dump_tvs, &msg); return msg; } static gboolean link_xml_tvs(gpointer key, gpointer value, gpointer data) { gchar *msg_link; gchar *tmp; struct xml_tvs_helper *xth = (struct xml_tvs_helper *)data; link_t *link = (link_t *)value; msg_link = link_xml(link); tmp = xth->msg; xth->msg = g_strdup_printf("%s%s", tmp, msg_link); g_free(tmp); g_free(msg_link); xth->total_size += link->link_stats.stats.accumulated; xth->total_packets += link->link_stats.stats.accu_packets; return FALSE; } /* returns a newly allocated string with an xml dump of all links */ gchar *links_catalog_xml(void) { gchar *xml; struct xml_tvs_helper xth; xth.total_size = 0; xth.total_packets = 0; xth.msg = g_strdup(""); links_catalog_foreach(link_xml_tvs, &xth); xml = xmltag("links", "\n%.0f\n%lu\n%s", xth.total_size, xth.total_packets, xth.msg); g_free(xth.msg); return xml; } etherape-0.9.20/src/stats/basic_stats.c0000644000175000017500000001604714023171551014717 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" #include "basic_stats.h" #include "util.h" static long packet_list_item_n = 0; /*************************************************************************** * * utility functions * **************************************************************************/ /* Returns a timeval structure with the time difference between to * other timevals. result = a - b */ struct timeval subtract_times(struct timeval a, struct timeval b) { struct timeval result; /* Perform the carry for the later subtraction by updating b. */ if (a.tv_usec < b.tv_usec) { int nsec = (b.tv_usec - a.tv_usec) / 1000000 + 1; b.tv_usec -= 1000000 * nsec; b.tv_sec += nsec; } if (a.tv_usec - b.tv_usec > 1000000) { int nsec = (a.tv_usec - b.tv_usec) / 1000000; b.tv_usec += 1000000 * nsec; b.tv_sec -= nsec; } /* result.tv_usec is positive. */ result.tv_sec = a.tv_sec - b.tv_sec; result.tv_usec = a.tv_usec - b.tv_usec; return result; } /* subtract_times */ /* returns the time difference a-b expressed in ms */ double subtract_times_ms(const struct timeval *a, const struct timeval *b) { double result; result = (a->tv_sec - b->tv_sec) * 1000.0 + (a->tv_usec - b->tv_usec) / 1000.0; #if CHECK_EXPIRATION { struct timeval t = subtract_times(*a, *b); double ck = (double)(t.tv_sec*1000.0 + t.tv_usec/1000.0); if (fabs(ck - result) > 0.000001) g_warning("Errore subtract_times_ms: ms: %.f, timeval: %.f, delta: %.10f", result, ck, fabs(ck-result)); } #endif return result; } /*************************************************************************** * * packet_protos_t implementation * **************************************************************************/ static void packet_protos_delete(packet_protos_t *pt) { guint i; for (i = 0; i <= STACK_SIZE; ++i) g_free(pt->protonames[i]); } /*************************************************************************** * * packet_list_item_t implementation * **************************************************************************/ long packet_list_item_count(void) { return packet_list_item_n; } packet_list_item_t *packet_list_item_create(packet_info_t *i, packet_direction d) { packet_list_item_t *newit; g_assert(i); newit = g_malloc(sizeof(packet_list_item_t)); g_assert(newit); /* increments refcount of packet */ i->ref_count++; /* fills item, adding it to pkt list */ newit->info = i; newit->direction = d; ++packet_list_item_n; return newit; } void packet_list_item_delete(packet_list_item_t *pli) { if (pli) { if (pli->info) { /* packet exists, decrement ref count */ pli->info->ref_count--; if (pli->info->ref_count < 1) { /* packet now unused, delete it */ packet_protos_delete(&pli->info->prot_desc); g_free(pli->info); pli->info = NULL; /* global packet stats */ appdata.total_mem_packets--; } } g_free(pli); --packet_list_item_n; } } /*************************************************************************** * * basic_stats_t implementation * **************************************************************************/ /* resets counters */ void basic_stats_reset(basic_stats_t *tf_stat) { g_assert(tf_stat); tf_stat->average = 0; tf_stat->aver_accu = 0; tf_stat->accumulated = 0; tf_stat->avg_size = 0; tf_stat->accu_packets = 0; tf_stat->last_time = appdata.now; } /* accumulate another basic_stats */ void basic_stats_sum(basic_stats_t *tf_stat, const basic_stats_t *tosum) { g_assert(tf_stat); g_assert(tosum); tf_stat->accumulated += tosum->accumulated; tf_stat->aver_accu += tosum->aver_accu; tf_stat->accu_packets += tosum->accu_packets; if (subtract_times_ms(&tf_stat->last_time, &tosum->last_time) < 0) tf_stat->last_time = tosum->last_time; tf_stat->avg_size = tf_stat->accumulated / tf_stat->accu_packets; /* averages are calculated by basic_stats_avg */ } void basic_stats_add(basic_stats_t *tf_stat, gdouble val) { g_assert(tf_stat); tf_stat->accumulated += val; tf_stat->aver_accu += val; ++tf_stat->accu_packets; tf_stat->last_time = appdata.now; tf_stat->avg_size = tf_stat->accumulated / tf_stat->accu_packets; /* averages are calculated by basic_stats_avg */ } void basic_stats_sub(basic_stats_t *tf_stat, gdouble val) { g_assert(tf_stat); tf_stat->aver_accu -= val; if (!tf_stat->aver_accu) tf_stat->average = 0; tf_stat->avg_size = tf_stat->accumulated / tf_stat->accu_packets; /* averages are calculated by basic_stats_avg */ } void basic_stats_avg(basic_stats_t *tf_stat, gdouble avg_msecs) { g_assert(tf_stat); /* average in bps, and timer in ms, so we multiply by 8 and 1000 */ if (avg_msecs != 0) tf_stat->average = 8000 * tf_stat->aver_accu / avg_msecs; } /* returns a newly allocated string with a dump of the stats */ gchar *basic_stats_dump(const basic_stats_t *tf_stat) { gchar *msg; gchar *msg_time; if (!tf_stat) return g_strdup("basic_stats_t NULL"); msg_time = timeval_to_str(tf_stat->last_time); msg = g_strdup_printf("avg: %f, avg_acc: %f, total: %f, avg_size: %f, " "packets: %lu, last heard: %s", tf_stat->average, tf_stat->aver_accu, tf_stat->accumulated, tf_stat->avg_size, tf_stat->accu_packets, msg_time); g_free(msg_time); return msg; } /* returns a newly allocated string with an xml dump of the stats */ gchar *basic_stats_xml(const basic_stats_t *tf_stat) { gchar *msg; double diffms; if (!tf_stat) return xmltag("stats", ""); diffms = subtract_times_ms(&appdata.now, &tf_stat->last_time); // recalculates average size for better accuracy msg = xmltag("stats", "\n%.0f\n" "%.0f\n" "%.0f\n" "%lu\n" "%f\n", tf_stat->average, tf_stat->accumulated, tf_stat->accu_packets != 0 ? (double)tf_stat->accumulated / (double)tf_stat->accu_packets : (double)0.0, tf_stat->accu_packets, diffms / 1000.0); return msg; } etherape-0.9.20/src/stats/node_id.h0000644000175000017500000000410714014271415014020 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef ETHERAPE_NODE_ID_H #define ETHERAPE_NODE_ID_H /* a node identification */ typedef struct { apemode_t node_type; union __attribute__((packed)) { guint8 eth[6]; address_t ip; struct __attribute__((packed)) { address_t host; guint16 port; } tcp; } addr; } node_id_t; void node_id_clear(node_id_t *a); gint node_id_compare(const node_id_t *a, const node_id_t *b); /* returns a newly allocated string with a human-readable id */ gchar *node_id_str(const node_id_t *id); /* returns a newly allocated string with a dump of id */ gchar *node_id_dump(const node_id_t *id); /* returns a newly allocated string with an xml dump of id */ gchar *node_id_xml(const node_id_t *id); /* a node name */ typedef struct { node_id_t node_id; GString *numeric_name; /* readable version of node_id */ GString *res_name; /* resolved name - NULL if not resolved */ gdouble accumulated; /* total accumulated traffic */ } name_t; name_t *node_name_create(const node_id_t *node_id); void node_name_delete(name_t *name); void node_name_assign(name_t *name, const gchar *nm, const gchar *num_nm, gdouble sz); gint node_name_id_compare(const name_t *a, const name_t *b); gint node_name_freq_compare(gconstpointer a, gconstpointer b); gchar *node_name_dump(const name_t *name); gchar *node_name_xml(const name_t *name); long active_names(void); #endif etherape-0.9.20/src/stats/traffic_stats.h0000644000175000017500000000423114023171551015251 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef TRAFFIC_STATS_H #define TRAFFIC_STATS_H #include #include "protocols.h" typedef struct { GQueue pkt_list; /* list of packet_list_item_t - private */ basic_stats_t stats; /* total traffic stats */ basic_stats_t stats_in; /* inbound traffic stats */ basic_stats_t stats_out; /* outbound traffic stats */ protostack_t stats_protos; /* protocol stack */ } traffic_stats_t; void traffic_stats_init(traffic_stats_t *pkt_stat); /* initializes counters */ void traffic_stats_reset(traffic_stats_t *pkt_stat); /* releases memory */ /* adds another item stats to current element stats - doesn't copies packets! */ void traffic_stats_sum(traffic_stats_t *pkt_stat, const traffic_stats_t *tosum); void traffic_stats_add_packet(traffic_stats_t *pkt_stat, packet_info_t *new_pkt, packet_direction dir); /* adds a packet */ void traffic_stats_calc_averages(traffic_stats_t *pkt_stat, double avg_time); /* purges expired packets and recalc averages */ gboolean traffic_stats_update(traffic_stats_t *pkt_stat, double pkt_expire_time, double proto_expire_time); /* returns the name of most used protocol at the specified level, if present (NULL otherwise) */ const gchar *traffic_stats_most_used_proto(const traffic_stats_t *pkt_stat, size_t level); gchar *traffic_stats_dump(const traffic_stats_t *pkt_stat); gchar *traffic_stats_xml(const traffic_stats_t *pkt_stat); #endif etherape-0.9.20/src/stats/protocols.h0000644000175000017500000000756014023171551014451 00000000000000 /* EtherApe * Copyright (C) 2005 Juan Toledo, R.Ghetta * * 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, see . */ #ifndef PROTOCOLS_H #define PROTOCOLS_H #include "basic_stats.h" #include "node_id.h" /* Information about each protocol heard on a link */ typedef struct { gchar *name; /* Name of the protocol */ basic_stats_t stats; GList *node_names; /* A list of all node names (name_t) used with * this protocol (used in node protocols) */ } protocol_t; protocol_t *protocol_t_create(const gchar *protocol_name); void protocol_t_delete(protocol_t *prot); /* returns a new string with a dump of prot */ gchar *protocol_t_dump(const protocol_t *prot); /* returns a new string with an xml dump of prot */ gchar *protocol_t_xml(const protocol_t *prot, guint level); typedef struct { GList *protostack[STACK_SIZE + 1]; /* It's a stack. Each level is a list of * all protocol_t heard at that level */ } protostack_t; /* protocol stack methods */ void protocol_stack_open(protostack_t *pstk); void protocol_stack_reset(protostack_t *pstk); /* sums another stack */ void protocol_stack_sum(protostack_t *pstk, const protostack_t *tosum); /* adds packet data to the stack */ void protocol_stack_add_pkt(protostack_t *pstk, const packet_info_t *packet); /* subtracts packet data from stack */ void protocol_stack_sub_pkt(protostack_t *pstk, const packet_info_t *packet); /* calculates averages */ void protocol_stack_avg(protostack_t *pstk, gdouble avg_usecs); /* checks for protocol expiration ... */ void protocol_stack_purge_expired(protostack_t *pstk, double expire_time); /* finds named protocol in the requested level of protostack*/ const protocol_t *protocol_stack_find(const protostack_t *pstk, size_t level, const gchar *protoname); /* sorts the stack on the most used protocol */ void protocol_stack_sort_most_used(protostack_t *pstk); /* returns from the stack the name of most used protocol at the specified level, if present (NULL otherwise) */ const gchar *protocol_stack_most_used(const protostack_t *pstk, size_t level); /* returns a newly allocated string with a dump of pstk */ gchar *protocol_stack_dump(const protostack_t *pstk); /* returns a newly allocated string with am xml dump of pstk */ gchar *protocol_stack_xml(const protostack_t *pstk, const gchar *tag); /* protocol summary methods */ void protocol_summary_open(void); /* initializes the summary */ void protocol_summary_close(void); /* frees summary, releasing resources */ void protocol_summary_add_packet(packet_info_t *packet); /* adds a new packet to summary */ void protocol_summary_update_all(void); /* update stats on protocol summary */ long protocol_summary_size(void); /* total number of protos */ void protocol_summary_foreach(size_t level, GFunc func, gpointer data); /* calls func for every proto at level */ gchar *protocol_summary_xml(void); /* returns a newly allocated string with an xml dump of protocol summary */ const protocol_t *protocol_summary_find(size_t level, const gchar *protoname); /* finds named protocol */ const protostack_t *protocol_summary_stack(void); /* access directly the stack (only for proto windows) */ void protocol_summary_recalc_fromlinks(void); /* recalcs procotol summary stats from link statistics */ #endif etherape-0.9.20/src/stats/conversations.c0000644000175000017500000001304714021134023015301 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "common.h" // #include // #include "appdata.h" #include "conversations.h" #include "names/dns.h" #include "util.h" /* Some protocols add an item here to help identify further packets of the * same protocol */ static GList *conversations = NULL; static long n_conversations = 0; long active_conversations(void) { return n_conversations; } /* Returns the item ptr if there is any matching conversation in any of the * two directions */ /* A zero in any of the ports matches any port number */ static GList *find_conversation_ptr(address_t *src_address, address_t *dst_address, guint16 src_port, guint16 dst_port) { GList *item = conversations; conversation_t *conv = NULL; g_assert(src_address); g_assert(dst_address); while (item) { conv = item->data; if ((is_addr_eq(src_address, &conv->src_address) && is_addr_eq(dst_address, &conv->dst_address) && (!src_port || !conv->src_port || (src_port == conv->src_port)) && (!dst_port || !conv->dst_port || (dst_port == conv->dst_port)) ) || (is_addr_eq(src_address, &conv->dst_address) && is_addr_eq(dst_address, &conv->src_address) && (!src_port || !conv->dst_port || (src_port == conv->dst_port)) && (!dst_port || !conv->src_port || (dst_port == conv->src_port)) ) ) { /* found */ break; } item = item->next; } return item; } /* find_conversation_ptr */ void add_conversation(address_t *src_address, address_t *dst_address, guint16 src_port, guint16 dst_port, const gchar *data) { conversation_t *conv = NULL; const gchar *old_data = NULL; if (!src_address || !dst_address) { g_my_critical("NULL ptr in add_conversation"); return; } /* Make sure there is not one such conversation */ if ((old_data = find_conversation(src_address, dst_address, src_port, dst_port))) { if (!strcmp(old_data, data)) g_my_critical ("Conflicting conversations %s:%d-%s:%d in add_conversation", address_to_str(src_address), src_port, address_to_str(dst_address), dst_port); else g_my_debug ("Conversation %s:%d-%s:%d %s already exists in add_conversation", address_to_str(src_address), src_port, address_to_str(dst_address), dst_port, data); return; } g_my_debug("Adding new conversation %s:%d-%s:%d %s", address_to_str(src_address), src_port, address_to_str(dst_address), dst_port, data); conv = g_malloc(sizeof(conversation_t)); g_assert(conv); address_copy(&conv->src_address, src_address); address_copy(&conv->dst_address, dst_address); conv->src_port = src_port; conv->dst_port = dst_port; conv->data = g_strdup(data); conversations = g_list_prepend(conversations, conv); n_conversations++; } /* add_conversation */ /* Returns the data if there is any matching conversation in any of the * two directions */ /* A zero in any of the ports matches any port number */ const gchar *find_conversation(address_t *src_address, address_t *dst_address, guint16 src_port, guint16 dst_port) { GList *item; if (!src_address || !dst_address) { g_my_critical("NULL ptr in find_conversation"); return NULL; } item = find_conversation_ptr(src_address, dst_address, src_port, dst_port); if (item) { /* found */ conversation_t *conv = item->data; return conv->data; } else return NULL; } /* removes all conversations with the specified addresses */ void delete_conversation_link(address_t *src_address, address_t *dst_address) { GList *item; if (!src_address || !dst_address) { g_my_critical("NULL ptr in delete_conversation_link"); return; } while ((item = find_conversation_ptr(src_address, dst_address, 0, 0))) { conversation_t *conv = NULL; conv = item->data; g_my_debug("Removing conversation %s:%d-%s:%d %s", address_to_str(&conv->src_address), conv->src_port, address_to_str(&conv->dst_address), conv->dst_port, conv->data); g_free(conv->data); g_free(conv); conversations = g_list_delete_link(conversations, item); n_conversations--; } } void delete_conversations(void) { GList *item = conversations; conversation_t *conv = NULL; while (item) { conv = item->data; g_my_debug("Removing conversation %s:%d-%s:%d %s", address_to_str(&conv->src_address), conv->src_port, address_to_str(&conv->dst_address), conv->dst_port, conv->data); g_free(conv->data); g_free(conv); item = item->next; n_conversations--; } g_list_free(conversations); conversations = NULL; } /* delete_conversations */ etherape-0.9.20/src/stats/util.h0000644000175000017500000000357513662166303013413 00000000000000/* util.h * Utility definitions * * * Original file by Gerald Combs * Copyright 1998 Gerald Combs * Later changes copyright 2016 Riccardo Ghetta * * * 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. */ #ifndef __UTIL_H__ #define __UTIL_H__ #include "common.h" char *safe_strncpy(char *dst, const char *src, size_t maxlen); char *safe_strncat(char *dst, const char *src, size_t maxlen); /* utility functions */ const gchar *ipv4_to_str(const guint8 *ad); const gchar *ether_to_str(const guint8 *ad); const gchar *ipv6_to_str(const guint8 *ad); const gchar *address_to_str(const address_t *ad); const gchar *type_to_str(const address_t *ad); /* * strtol()-like that writes converted value to *val and returns an errno * value (0 for success, non-zero for failure) */ int strict_strtol(const char *str, int base, long *val); int bitwise_memcmp(const void *a, const void *b, size_t nbits); /* returns a newly allocated string with a timeval in human readable form */ gchar *timeval_to_str(struct timeval last_heard); /* xml helpers */ gchar *xmlescape(const gchar *str); gchar *xmltag(const gchar *name, const gchar *fmt, ...); gchar *xmltag_escaped(const gchar *name, const gchar *fmt, ...); #endif /* __UTIL_H__ */ etherape-0.9.20/src/stats/conversations.h0000644000175000017500000000246113657562503015332 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ typedef struct { address_t src_address; address_t dst_address; guint16 src_port; guint16 dst_port; gchar *data; } conversation_t; void add_conversation(address_t *src_address, address_t *dst_address, guint16 src_port, guint16 dst_port, const gchar *data); const gchar *find_conversation(address_t *src_address, address_t *dst_address, guint16 src_port, guint16 dst_port); void delete_conversation_link(address_t *src_address, address_t *dst_address); void delete_conversations(void); long active_conversations(void); etherape-0.9.20/src/stats/util.c0000644000175000017500000002263714034534171013402 00000000000000/* This is pretty messy because it is pretty much copied as is from * ethereal. I should probably clean it up some day */ /* util.c * Utility routines * * Original file by Gerald Combs * Copyright 1998 Gerald Combs * Later changes copyright 2016 Riccardo Ghetta * * * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_STAT_H #include #endif #ifdef HAVE_INET_NTOP #include #endif #ifdef HAVE_NETINET_IN_H #include #elif !defined(INET6_ADDRSTRLEN) #define INET6_ADDRSTRLEN 46 #endif #include #include #include "appdata.h" #include "util.h" #include "traffic_stats.h" /* safe strncpy */ char *safe_strncpy(char *dst, const char *src, size_t maxlen) { if (maxlen < 1) return dst; assert(src); assert(dst); strncpy(dst, src, maxlen - 1); /* no need to copy that last char */ dst[maxlen - 1] = '\0'; return dst; } /* safe strncat */ char *safe_strncat(char *dst, const char *src, size_t maxlen) { assert(dst); assert(src); size_t lendst = strlen(dst); if (lendst >= maxlen) return dst; /* already full, nothing to do */ strncat(dst, src, maxlen - lendst); dst[maxlen - 1] = '\0'; return dst; } /* Next three functions copied directly from ethereal packet.c * by Gerald Combs */ /* Output has to be copied elsewhere */ const gchar *ipv4_to_str(const guint8 *ad) { #ifdef HAVE_INET_NTOP static char buf[INET6_ADDRSTRLEN]; if (!inet_ntop(AF_INET, ad, buf, sizeof(buf))) return ""; return buf; #else static gchar str[3][16]; static gchar *cur; gchar *p; int i; guint32 octet; guint32 digit; if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { cur = &str[2][0]; } else { cur = &str[0][0]; } p = &cur[16]; *--p = '\0'; i = 3; for (;;) { octet = ad[i]; *--p = (octet % 10) + '0'; octet /= 10; digit = octet % 10; octet /= 10; if (digit != 0 || octet != 0) *--p = digit + '0'; if (octet != 0) *--p = octet + '0'; if (i == 0) break; *--p = '.'; i--; } return p; #endif } /* ipv4_to_str */ /* (toledo) This function I copied from capture.c of ethereal it was * without comments, but I believe it keeps three different * strings conversions in memory so as to try to make sure that * the conversions made will be valid in memory for a longer * period of time */ /* Places char punct in the string as the hex-digit separator. * If punct is '\0', no punctuation is applied (and thus * the resulting string is 5 bytes shorter) */ static const gchar *ether_to_str_punct(const guint8 *ad, char punct) { static gchar str[3][18]; static gchar *cur; gchar *p; int i; guint32 octet; static const gchar hex_digits[16] = "0123456789abcdef"; if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { cur = &str[2][0]; } else { cur = &str[0][0]; } p = &cur[18]; *--p = '\0'; i = 5; for (;;) { octet = ad[i]; *--p = hex_digits[octet & 0xF]; octet >>= 4; *--p = hex_digits[octet & 0xF]; if (i == 0) break; if (punct) *--p = punct; i--; } return p; } /* ether_to_str_punct */ /* Wrapper for the most common case of asking * for a string using a colon as the hex-digit separator. */ const gchar *ether_to_str(const guint8 *ad) { return ether_to_str_punct(ad, ':'); } /* ether_to_str */ /* * These functions are for IP/IPv6 handling */ const gchar *ipv6_to_str(const guint8 *ad) { if (!ad) return ""; #ifdef HAVE_INET_NTOP static char buf[INET6_ADDRSTRLEN]; if (!inet_ntop(AF_INET6, ad, buf, sizeof(buf))) return ""; return buf; #else static gchar str[3][40]; static gchar *cur; gchar *p; int i; guint32 octet; static const gchar hex_digits[16] = "0123456789abcdef"; if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { cur = &str[2][0]; } else { cur = &str[0][0]; } p = &cur[40]; *--p = '\0'; i = 15; for (;;) { octet = ad[i]; *--p = hex_digits[octet & 0xF]; octet >>= 4; *--p = hex_digits[octet & 0xF]; i--; octet = ad[i]; *--p = hex_digits[octet & 0xF]; octet >>= 4; *--p = hex_digits[octet & 0xF]; if (i == 0) break; *--p = ':'; i--; } return p; #endif } /* ipv6_to_str */ const gchar *address_to_str(const address_t *ad) { if (!ad) return ""; switch (ad->type) { case AF_INET: return ipv4_to_str(ad->addr_v4); case AF_INET6: return ipv6_to_str(ad->addr_v6); default: return ""; } } /* address_to_str */ const gchar *type_to_str(const address_t *ad) { if (!ad) return ""; switch (ad->type) { case AF_INET: return "IP"; case AF_INET6: return "IPv6"; default: return ""; } } /* type_to_str */ int strict_strtol(const char *str, int base, long *val) { char *end; *val = strtol(str, &end, base); return (*str && !*end) ? 0 : EINVAL; } /* Like memcp(3), but bitwise (big-endian at the sub-byte level) */ int bitwise_memcmp(const void *a, const void *b, size_t nbits) { int ret; unsigned char a_last, b_last, mask; size_t wholebytes = nbits / CHAR_BIT, rembits = nbits % CHAR_BIT; ret = memcmp(a, b, wholebytes); if (ret) return ret; mask = ~(rembits ? (1 << (CHAR_BIT - rembits)) - 1 : 0xFF); a_last = *((unsigned char *)a + wholebytes) & mask; b_last = *((unsigned char *)b + wholebytes) & mask; return a_last - b_last; } /* returns a newly allocated string with a timeval in human readable form */ gchar *timeval_to_str(struct timeval last_heard) { gchar *str; struct timeval diff; struct tm broken_time; diff = subtract_times(appdata.now, last_heard); if (diff.tv_sec <= 60) { /* Meaning "n seconds" ago */ return g_strdup_printf(_("%ld\" ago"), (long)diff.tv_sec); } if (diff.tv_sec < 600) { /* Meaning "m minutes, n seconds ago" */ return g_strdup_printf(_("%ld'%ld\" ago"), (long)floor((double)diff.tv_sec / 60), (long)diff.tv_sec % 60); } if (!localtime_r((time_t *)&(last_heard.tv_sec), &broken_time)) { g_my_critical("Time conversion failed in timeval_to_str"); return NULL; } if (diff.tv_sec < 3600 * 24) str = g_strdup_printf("%d:%d", broken_time.tm_hour, broken_time.tm_min); else { /* Watch out! The first is month, the second day of the month */ str = g_strdup_printf("%d/%d %d:%d", broken_time.tm_mon, broken_time.tm_mday, broken_time.tm_hour, broken_time.tm_min); } return str; } /* timeval_to_str */ /************************************************ * * xml helpers * *************************************************/ gchar *xmlescape(const gchar *str) { gchar *escaped; gchar *cur; size_t maxlen = strlen(str) * 4 + 8; g_assert(maxlen < 16392); // just to avoid abnormal strings escaped = g_malloc(maxlen); // allow worst case space cur = escaped; while (*str != '\0') { switch (*str) { case '&': *cur++ = '&'; *cur++ = 'a'; *cur++ = 'm'; *cur++ = 'p'; *cur++ = ';'; break; case '<': *cur++ = '&'; *cur++ = 'l'; *cur++ = 't'; *cur++ = ';'; break; default: *cur++ = *str; break; } ++str; } *cur = '\0'; return escaped; } /* returns a new string containing the named tag */ gchar *xmltag(const gchar *name, const gchar *fmt, ...) { gchar *msg; gchar *xml; va_list ap; va_start(ap, fmt); msg = g_strdup_vprintf(fmt, ap); va_end(ap); xml = g_strdup_printf("<%s>%s\n", name, msg, name); g_free(msg); return xml; } /* returns a new string containing the named tag with the string data escaped */ gchar *xmltag_escaped(const gchar *name, const gchar *fmt, ...) { gchar *msg; gchar *escaped; gchar *xml; va_list ap; va_start(ap, fmt); msg = g_strdup_vprintf(fmt, ap); va_end(ap); escaped = xmlescape(msg); xml = g_strdup_printf("<%s>%s\n", name, escaped, name); g_free(escaped); g_free(msg); return xml; } etherape-0.9.20/src/stats/node.h0000644000175000017500000000555714023171551013356 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef ETHERAPE_NODE_H #define ETHERAPE_NODE_H #include "traffic_stats.h" typedef struct { node_id_t node_id; /* node identification */ GString *name; /* String with a readable default name of the node */ GString *numeric_name; /* String with a numeric representation of the id */ traffic_stats_t node_stats; /* node statistics */ } node_t; node_t *node_create(const node_id_t *node_id); /* creates a new node */ void node_delete(node_t *node); /* destroys a node, releasing memory */ gchar *node_dump(const node_t *node); gint node_count(void); /* total number of nodes in memory */ /* methods to handle every new node not yet handled in the main app */ void new_nodes_clear(void); void new_nodes_add(node_t *node); void new_nodes_remove(node_t *node); node_t *new_nodes_pop(void); /* Returns a new node that hasn't been heard of */ /* nodes catalog methods */ void nodes_catalog_open(void); /* initializes the catalog */ void nodes_catalog_close(void); /* closes the catalog, releasing all nodes */ node_t *nodes_catalog_find(const node_id_t *key); /* finds a node */ node_t *nodes_catalog_new(const node_id_t *node_id); /* creates and inserts a new node */ void nodes_catalog_remove(const node_id_t *key); /* removes AND DESTROYS the named node from catalog */ gint nodes_catalog_size(void); /* returns the current number of nodes in catalog */ void nodes_catalog_foreach(GTraverseFunc func, gpointer data); /* calls the func for every node */ void nodes_catalog_update_all(void); /* returns a newly allocated str with a dump of all nodes */ gchar *nodes_catalog_dump(void); /* returns a newly allocated str with an xml dump of all nodes */ gchar *nodes_catalog_xml(void); /* * A specifier for a node or set of nodes, by hostname or address-prefix match * (CIDR range). */ struct nodeset_spec { enum { NS_HOSTNAME, NS_CIDRRANGE, NS_NONE, } kind; union { struct { address_t addr; unsigned nbits; } cidrrange; gchar *hostname; }; }; GList *parse_nodeset_spec_list(const gchar *s); gboolean node_matches_spec_list(const node_t *node, GList *specs); void free_nodeset_spec_list(GList *specs); #endif etherape-0.9.20/src/stats/traffic_stats.c0000644000175000017500000001773114023171551015255 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, 2005 Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "appdata.h" #include "traffic_stats.h" #include "ui_utils.h" #include "util.h" #include "compat.h" /*************************************************************************** * * traffic_stats_t implementation * **************************************************************************/ /* initializes counters */ void traffic_stats_init(traffic_stats_t *pkt_stat) { g_assert(pkt_stat); g_queue_init(&pkt_stat->pkt_list); basic_stats_reset(&pkt_stat->stats); basic_stats_reset(&pkt_stat->stats_in); basic_stats_reset(&pkt_stat->stats_out); protocol_stack_open(&pkt_stat->stats_protos); } /* releases memory */ void traffic_stats_reset(traffic_stats_t *pkt_stat) { gpointer it; g_assert(pkt_stat); /* release items and free list */ while ((it = g_queue_pop_head(&pkt_stat->pkt_list)) != NULL) packet_list_item_delete((packet_list_item_t *)it); /* purges protos */ protocol_stack_reset(&pkt_stat->stats_protos); basic_stats_reset(&pkt_stat->stats); basic_stats_reset(&pkt_stat->stats_in); basic_stats_reset(&pkt_stat->stats_out); } /* adds another item stats to current element stats - doesn't copies packets! */ void traffic_stats_sum(traffic_stats_t *pkt_stat, const traffic_stats_t *tosum) { g_assert(pkt_stat); g_assert(tosum); basic_stats_sum(&pkt_stat->stats, &tosum->stats); basic_stats_sum(&pkt_stat->stats_in, &tosum->stats_in); basic_stats_sum(&pkt_stat->stats_out, &tosum->stats_out); /* adds also to protocol stack */ protocol_stack_sum(&pkt_stat->stats_protos, &tosum->stats_protos); /* note: averages are calculated later, by update_packet_list */ } /* adds a packet */ void traffic_stats_add_packet(traffic_stats_t *pkt_stat, packet_info_t *new_pkt, packet_direction dir) { packet_list_item_t *newit; g_assert(pkt_stat); g_assert(new_pkt); /* creates a new item, incrementing refcount of new_pkt */ newit = packet_list_item_create(new_pkt, dir); /* adds to list */ g_queue_push_head(&pkt_stat->pkt_list, newit); basic_stats_add(&pkt_stat->stats, newit->info->size); if (newit->direction != OUTBOUND) basic_stats_add(&pkt_stat->stats_in, newit->info->size); /* in or either */ if (newit->direction != INBOUND) basic_stats_add(&pkt_stat->stats_out, newit->info->size); /* out or either */ /* adds also to protocol stack */ protocol_stack_add_pkt(&pkt_stat->stats_protos, newit->info); /* note: averages are calculated later, by update_packet_list */ } static gboolean traffic_stats_purge_expired_packets(traffic_stats_t *pkt_stat, double pkt_expire_time, double proto_expire_time) { double diffms; packet_list_item_t *packet; /* pkt queue is ordered by arrival time, so older pkts are at tail */ while (pkt_stat->pkt_list.head) { packet = (packet_list_item_t *)g_queue_peek_tail(&pkt_stat->pkt_list); diffms = subtract_times_ms(&appdata.now, &packet->info->timestamp); if (diffms < pkt_expire_time) break; /* packet valid, subsequent packets are younger, no need to go further */ /* packet expired, remove from stats */ basic_stats_sub(&pkt_stat->stats, packet->info->size); if (packet->direction != OUTBOUND) basic_stats_sub(&pkt_stat->stats_in, packet->info->size); /* in or either */ if (packet->direction != INBOUND) basic_stats_sub(&pkt_stat->stats_out, packet->info->size); /* out or either */ /* and protocol stack */ protocol_stack_sub_pkt(&pkt_stat->stats_protos, packet->info); /* and, finally, from packet queue */ g_queue_pop_tail(&pkt_stat->pkt_list); packet_list_item_delete(packet); } /* purge expired protocols */ protocol_stack_purge_expired(&pkt_stat->stats_protos, proto_expire_time); if (pkt_stat->pkt_list.head == NULL) { /* removed all packets */ pkt_stat->stats.average = 0; pkt_stat->stats_in.average = 0; pkt_stat->stats_out.average = 0; return FALSE; } return TRUE; /* packet list not empty */ } /* recalculate averages */ void traffic_stats_calc_averages(traffic_stats_t *pkt_stat, double avg_time) { basic_stats_avg(&pkt_stat->stats, avg_time); basic_stats_avg(&pkt_stat->stats_in, avg_time); basic_stats_avg(&pkt_stat->stats_out, avg_time); protocol_stack_avg(&pkt_stat->stats_protos, avg_time); } /* Update stats, purging expired packets - returns FALSE if there are no * active packets */ gboolean traffic_stats_update(traffic_stats_t *pkt_stat, double avg_time, double proto_expire_time) { gdouble ms_from_oldest = avg_time; g_assert(pkt_stat); if (!traffic_stats_purge_expired_packets(pkt_stat, avg_time, proto_expire_time)) { traffic_stats_calc_averages(pkt_stat, ms_from_oldest); return FALSE; /* no packets remaining */ } #if CHECK_EXPIRATION /* the last packet of the list is the oldest */ const packet_list_item_t *packet; packet = (const packet_list_item_t *)g_queue_peek_tail(&pkt_stat->pkt_list); ms_from_oldest = subtract_times_ms(&now, &packet->info->timestamp); if (ms_from_oldest < avg_time) ms_from_oldest = avg_time; else g_warning("ms_to_oldest > avg_time: %f", ms_from_oldest); #endif traffic_stats_calc_averages(pkt_stat, ms_from_oldest); return TRUE; /* there are packets */ } /* returns the name of most used protocol at the specified level, if present (NULL otherwise) */ const gchar *traffic_stats_most_used_proto(const traffic_stats_t *pkt_stat, size_t level) { if (!pkt_stat) return NULL; return protocol_stack_most_used(&pkt_stat->stats_protos, level); } /* returns a newly allocated string with a dump of pkt_stat */ gchar *traffic_stats_dump(const traffic_stats_t *pkt_stat) { gchar *msg; gchar *msg_tot, *msg_in, *msg_out; gchar *msg_proto; if (!pkt_stat) return g_strdup("traffic_stats_t NULL"); msg_tot = basic_stats_dump(&pkt_stat->stats); msg_in = basic_stats_dump(&pkt_stat->stats_in); msg_out = basic_stats_dump(&pkt_stat->stats_out); msg_proto = protocol_stack_dump(&pkt_stat->stats_protos); msg = g_strdup_printf("active_packets: %u\n" " in : [%s]\n" " out: [%s]\n" " tot: [%s]\n" " protocols:\n" " %s", pkt_stat->pkt_list.length, msg_in, msg_out, msg_tot, msg_proto); g_free(msg_tot); g_free(msg_in); g_free(msg_out); g_free(msg_proto); return msg; } /* returns a newly allocated string with an xml dump of pkt_stat */ gchar *traffic_stats_xml(const traffic_stats_t *pkt_stat) { gchar *msg; gchar *msg_tot, *msg_in, *msg_out; gchar *msg_proto; if (!pkt_stat) return xmltag("traffic_stats", ""); msg_tot = basic_stats_xml(&pkt_stat->stats); msg_in = basic_stats_xml(&pkt_stat->stats_in); msg_out = basic_stats_xml(&pkt_stat->stats_out); msg_proto = protocol_stack_xml(&pkt_stat->stats_protos, "protocols"); msg = xmltag("traffic_stats", "\n%u\n" "\n%s\n" "\n%s\n" "\n%s\n" "%s", pkt_stat->pkt_list.length, msg_in, msg_out, msg_tot, msg_proto); g_free(msg_tot); g_free(msg_in); g_free(msg_out); g_free(msg_proto); return msg; } etherape-0.9.20/src/stats/pkt_info.h0000644000175000017500000000420414012737533014234 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef PKT_INFO_H #define PKT_INFO_H #include "../common.h" #define STACK_SIZE 5 /* How many protocol levels to keep * track of (+1 for the topmost one) */ /* Flag used in node packets to indicate whether this packet was * inbound or outbound for the node. Links and protocols use * "eitherbound" */ typedef enum { EITHERBOUND = -1, INBOUND = 0, OUTBOUND = 1 } packet_direction; /* stack of protocol names, one protocol per level */ typedef struct { gchar *protonames[STACK_SIZE + 1]; } packet_protos_t; /* Information about each packet heard on the network */ typedef struct { guint size; /* Size in bytes of the packet */ struct timeval timestamp; /* Time at which the packet was heard */ packet_protos_t prot_desc; /* Packet protocol tree */ guint ref_count; /* How many structures are referencing this * packet. When the count reaches zero the packet * is deleted */ } packet_info_t; /* items of a packet list. The "direction" item is used to update in/out * stats */ typedef struct { packet_info_t *info; packet_direction direction; /* packet direction - used for nodes */ } packet_list_item_t; packet_list_item_t *packet_list_item_create(packet_info_t *i, packet_direction d); void packet_list_item_delete(packet_list_item_t *pli); long packet_list_item_count(void); #endif etherape-0.9.20/src/stats/basic_stats.h0000644000175000017500000000401714023171551014716 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef BASIC_STATS_H #define BASIC_STATS_H #include "../common.h" #include "pkt_info.h" /* Returns a timeval structure with the time difference between to * other timevals. result = a - b */ struct timeval subtract_times(struct timeval a, struct timeval b); /* returns the time difference a-b expressed in ms */ double subtract_times_ms(const struct timeval *a, const struct timeval *b); typedef struct { gdouble average; /* Average bytes in or out in the last x ms */ gdouble aver_accu; /* total bytes of active packets */ gdouble accumulated; /* Accumulated bytes */ gdouble avg_size; /* average packet size */ unsigned long accu_packets; /* Accumulated number of packets */ struct timeval last_time; /* Timestamp of the last packet added */ } basic_stats_t; void basic_stats_reset(basic_stats_t *tf_stat); /* resets counters */ void basic_stats_sum(basic_stats_t *tf_stat, const basic_stats_t *tosum); /* accumulate another basic_stats */ void basic_stats_add(basic_stats_t *tf_stat, gdouble val); void basic_stats_sub(basic_stats_t *tf_stat, gdouble val); void basic_stats_avg(basic_stats_t *tf_stat, gdouble avg_msecs); /* average size and byte rate */ gchar *basic_stats_dump(const basic_stats_t *tf_stat); gchar *basic_stats_xml(const basic_stats_t *tf_stat); #endif etherape-0.9.20/src/ui_utils.c0000644000175000017500000001063214021135153013105 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" #include "ui_utils.h" #include /*JTC*/ /* Helper functions */ /* registers the named glade widget on the specified object */ void register_glade_widget(GtkBuilder *bldr, GtkWidget *tgt, const gchar *widgetName) { GtkWidget *widget; widget = GTK_WIDGET(gtk_builder_get_object(bldr, widgetName)); g_assert(widget); g_object_set_data(G_OBJECT(tgt), widgetName, widget); } void update_gtklabel(GtkWidget *window, const gchar *lblname, const gchar *value) { GtkLabel *lbl = GTK_LABEL(g_object_get_data(G_OBJECT(window), lblname)); gint start, end; gboolean sel = gtk_label_get_selection_bounds(lbl, &start, &end); gtk_label_set_text(lbl, value); if (sel) gtk_label_select_region(lbl, start, end); } void show_widget(GtkWidget *window, const gchar *lblname) { GtkWidget *widget = g_object_get_data(G_OBJECT(window), lblname); gtk_widget_show(widget); } void hide_widget(GtkWidget *window, const gchar *lblname) { GtkWidget *widget = g_object_get_data(G_OBJECT(window), lblname); gtk_widget_hide(widget); } /* creates a new text column with a specific title, column number colno and * adds it to treeview gv. If r_just true the column is right justified */ void create_add_text_column(GtkTreeView *gv, const gchar *title, int colno, gboolean r_just) { GtkTreeViewColumn *gc; GtkCellRenderer *gr; gr = gtk_cell_renderer_text_new(); if (r_just) g_object_set(G_OBJECT(gr), "xalign", 1.0, NULL); gc = gtk_tree_view_column_new_with_attributes(title, gr, "text", colno, NULL); g_object_set(G_OBJECT(gc), "resizable", TRUE, "reorderable", TRUE, NULL); gtk_tree_view_column_set_sort_column_id(gc, colno); gtk_tree_view_append_column(gv, gc); } /* returns a newly allocated string with a formatted traffic */ gchar *traffic_to_str(gdouble traffic, gboolean is_speed) { gchar *str; if (is_speed) { if (traffic > 1000000000.0) str = g_strdup_printf("%.2f Gbps", traffic / 1000000000.0); else if (traffic > 1000000) str = g_strdup_printf("%.2f Mbps", traffic / 1000000); else if (traffic > 1000) str = g_strdup_printf("%.2f Kbps", traffic / 1000); else str = g_strdup_printf("%.0f bps", traffic); } else { /* Debug code for sanity check */ if (traffic && traffic < 1) g_warning("Ill traffic value in traffic_to_str"); if (traffic > 1024.0 * 1024.0 * 1024.0) str = g_strdup_printf("%.2f Gbytes", traffic / (1024.0*1024.0*1024.0)); else if (traffic > 1024 * 1024) str = g_strdup_printf("%.2f Mbytes", traffic / 1024 / 1024); else if (traffic > 1024) str = g_strdup_printf("%.2f Kbytes", traffic / 1024); else str = g_strdup_printf("%.0f bytes", traffic); } return str; } /* traffic_to_str */ /* register/get a treeview to/from a window */ void register_treeview(GtkWidget *window, GtkTreeView *gv) { g_assert(window); g_object_set_data(G_OBJECT(window), "EA_gv", gv); } GtkTreeView *retrieve_treeview(GtkWidget *window) { if (!window) return NULL; return GTK_TREE_VIEW(g_object_get_data(G_OBJECT(window), "EA_gv")); } const char *get_home_dir(void) { char *env_value; static const char *home = NULL; struct passwd *pwd; /* Return the cached value, if available */ if (home) return home; env_value = getenv("HOME"); if (env_value) { home = env_value; } else { pwd = getpwuid(getuid()); if (pwd != NULL) { /* This is cached, so we don't need to worry about allocating multiple ones of them. */ home = g_strdup(pwd->pw_dir); } else home = "/tmp"; } return home; } etherape-0.9.20/src/main.c0000644000175000017500000003644414021135153012205 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef HAVE_UNISTD_H #include #endif #include #include #include #include #include #include #include #include "appdata.h" #include "names/ip-cache.h" #include "main.h" #include "diagram.h" #include "preferences.h" #include "info_windows.h" #include "menus.h" #include "capture/capctl.h" #include "datastructs.h" #include "names/dns.h" #include "names/eth_resolv.h" #include "names/names.h" #include "stats/util.h" #include "compat.h" /*************************************************************************** * * local variables * **************************************************************************/ static gboolean quiet = FALSE; static void (*old_sighup_handler) (int); /*************************************************************************** * * internal functions * **************************************************************************/ static void free_static_data(void); static void set_debug_level(void); static void log_handler(gchar *log_domain, GLogLevelFlags mask, const gchar *message, gpointer user_data); static GPtrArray *parse_position_file(const gchar *path); /* signal handling */ static void install_handlers(void); static void signal_export(int signum); /*************************************************************************** * * implementation * **************************************************************************/ int main(int argc, char *argv[]) { GtkWidget *widget; gchar *mode_string = NULL; gchar *cl_filter = NULL; gchar *cl_interface = NULL; gchar *cl_input_file = NULL; gchar *export_file_final = NULL; gchar *export_file_signal = NULL; gboolean cl_numeric = FALSE; glong midelay = 0; glong madelay = G_MAXLONG; gchar *errmsg; gchar *cl_glade_file = NULL; gchar *position_file_path = NULL; gchar *cl_privdrop_user = NULL; poptContext poptcon; gboolean no_obsolete; struct poptOption optionsTable[] = { {"diagram-only", 'd', POPT_ARG_NONE, &(pref.diagram_only), 0, N_("don't display any node text identification"), NULL}, {"replay-file", 'r', POPT_ARG_STRING, &cl_input_file, 0, N_("replay packets from file"), N_("")}, {"filter", 'f', POPT_ARG_STRING, &cl_filter, 0, N_("set capture filter"), N_("")}, {"interface", 'i', POPT_ARG_STRING, &cl_interface, 0, N_("set interface to listen to"), N_("")}, {"final-export", 0, POPT_ARG_STRING, &export_file_final, 0, N_("export to named file at end of replay"), N_("")}, {"signal-export", 0, POPT_ARG_STRING, &export_file_signal, 0, N_("export to named file on receiving USR1"), N_("")}, {"position", 'P', POPT_ARG_STRING, &position_file_path, 0, N_("Manually position nodes based on File"), N_("")}, {"stationary", 's', POPT_ARG_NONE, &(appdata.stationary_layout), 0, N_("don't move nodes around (deprecated)"), NULL}, {"node-limit", 'l', POPT_ARG_INT, &(appdata.node_limit), 0, N_("limits nodes displayed"), N_("")}, {"mode", 'm', POPT_ARG_STRING, &mode_string, 0, N_("mode of operation"), N_("")}, {"numeric", 'n', POPT_ARG_NONE, &cl_numeric, 0, N_("don't convert addresses to names"), NULL}, {"quiet", 'q', POPT_ARG_NONE, &quiet, 0, N_("Disable informational messages"), NULL}, {"min-delay", 0, POPT_ARG_LONG, &midelay, 0, N_("minimum packet delay in ms for reading capture files [cli only]"), N_("")}, {"max-delay", 0, POPT_ARG_LONG, &madelay, 0, N_("maximum packet delay in ms for reading capture files [cli only]"), N_("")}, {"glade-file", 0, POPT_ARG_STRING, &(cl_glade_file), 0, N_("uses the named libglade file for widgets"), N_("")}, {"no-display", 0, POPT_ARG_NONE, &(pref.headless), 0, N_("calculate statistics, but don't display nodes. If replaying, exit at end [cli only]"), NULL}, {"relinquish-privileges", 'Z', POPT_ARG_STRING, &cl_privdrop_user, 0, N_("run as the given user"), N_("")}, POPT_AUTOHELP {NULL, 0, 0, NULL, 0, NULL, NULL} }; #ifdef ENABLE_NLS bindtextdomain(PACKAGE, PACKAGE_LOCALE_DIR); bind_textdomain_codeset(PACKAGE, "UTF-8"); /* force UTF-8 conversion */ textdomain(PACKAGE); #endif appdata_init(&appdata); /* Load saved preferences */ no_obsolete = load_config(&pref); protohash_read_prefvect(pref.colors); centered_node_speclist = parse_nodeset_spec_list(pref.centered_nodes); /* Command line */ poptcon = poptGetContext("Etherape", argc, (const char * *)argv, optionsTable, 0); while (poptGetNextOpt(poptcon) > 0) ; poptFreeContext(poptcon); /* * Start the background capture process early so it doesn't end up with so * much gnome/glib/gtk crud attached to it. * * IMPORTANT: this must come before calling into glib, since it will cache * things and then not invalidate those caches when we setuid to the '-Z' * user id. For example, load_config() calls config_file_name(), which in * turn calls g_get_user_config_dir(), which caches getenv(HOME), leading to * problems opening the user's config file later on (it will still be trying * to open a config file in root's $HOME instead of the unprivileged user's, * even after setuid()). */ errmsg = init_capture(cl_privdrop_user); if (errmsg) { fatal_error_dialog(errmsg); return 1; } pref.name_res = !cl_numeric; /* We set the window icon to use */ if (!getenv("GNOME_DESKTOP_ICON")) putenv("GNOME_DESKTOP_ICON=" PIXMAPS_DIR "/etherape.png"); gtk_init(&argc, &argv); set_debug_level(); if (cl_interface) { appdata.source.type = ST_LIVE; appdata.source.interface = g_strdup(cl_interface); } if (export_file_final) { if (appdata.export_file_final) g_free(appdata.export_file_final); appdata.export_file_final = g_strdup(export_file_final); } if (export_file_signal) { if (appdata.export_file_signal) g_free(appdata.export_file_signal); appdata.export_file_signal = g_strdup(export_file_signal); } if (cl_input_file) { appdata_clear_source(&appdata); appdata.source.type = ST_FILE; appdata.source.file = g_strdup(cl_input_file); } /* Find mode of operation */ if (mode_string) { if (strstr(mode_string, "link")) appdata.mode = LINK6; else if (strstr(mode_string, "ip")) appdata.mode = IP; else if (strstr(mode_string, "tcp")) appdata.mode = TCP; else g_warning(_ ("Unrecognized mode. Do etherape --help for a list of modes")); g_free(pref.filter); pref.filter = get_default_filter(appdata.mode); } if (cl_filter) { if (pref.filter) g_free(pref.filter); pref.filter = g_strdup(cl_filter); } if (midelay >= 0 && midelay <= G_MAXLONG) { appdata.min_delay = midelay; if (appdata.min_delay != 0) g_message("Minimum delay set to %lu ms", appdata.min_delay); } else g_message("Invalid minimum delay %ld, ignored", midelay); if (madelay >= 0 && madelay <= G_MAXLONG) { if (madelay < appdata.min_delay) { g_message("Maximum delay must be less of minimum delay"); appdata.max_delay = appdata.min_delay; } else appdata.max_delay = madelay; if (appdata.max_delay != G_MAXLONG) g_message("Maximum delay set to %lu ms", appdata.max_delay); } else g_message("Invalid maximum delay %ld, ignored", madelay); if (position_file_path) appdata.column_patterns = parse_position_file(position_file_path); /* GtkBuilder */ if (!appdata_init_builder(cl_glade_file)) return 1; /* prepare decoders */ services_init(); /* Sets controls to the values of variables and connects signals */ init_diagram(appdata.xml); if (!pref.show_statusbar) { widget = GTK_WIDGET(appdata.statusbar); gtk_widget_hide(widget); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "status_bar_check")); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), FALSE); } if (!pref.show_toolbar) { widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "handlebox_toolbar")); gtk_widget_hide(widget); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "toolbar_check")); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), FALSE); } if (!pref.show_legend) { widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "handlebox_legend")); gtk_widget_hide(widget); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "legend_check")); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), FALSE); } gtk_widget_show(appdata.app1); install_handlers(); /* With this we force an update of the diagram every x ms * Data in the diagram is updated, and then the canvas redraws itself when * the gtk loop is idle. If the CPU can't handle the set refresh_period, * then it will just do a best effort */ diagram_timeout_changed(); /* This other timeout makes sure that the info windows are updated */ g_timeout_add(500, update_info_windows, NULL); if (pref.name_res && dns_open()) g_warning(_("DNS resolver initialization failed")); init_names(); init_eth_resolv(); init_menus(); gui_start_capture(); if (!no_obsolete) { GtkWidget *dialog; dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Obsolete setting found.\n" "Please review and save your preferences to upgrade")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } /* MAIN LOOP */ gtk_main(); free_static_data(); return 0; } /* * Parse the given line of a node-position file into a speclist and a column * number, returning TRUE on success and FALSE on failure. * * Note: this modifies the string in place -- a bit ugly, but it's only used * in one place, and it'ss easier than allocating a local copy. */ static gboolean parse_position_line(gchar *line, GList * *speclist, long *colnum) { gchar *p; g_assert(line); line = g_strstrip(line); /* Empty line or comment */ if (!line[0] || line[0] == '#') return FALSE; /* * Scan back from end to find beginning of column number at end of line. * The "- 1" starting point is safe because at this point we know that * strlen(line) > 0. */ for (p = line + strlen(line) - 1; p > line; p--) { /* If we hit the character preceding the column number... */ if (*p == ',' || isspace(*p)) { /* ...advance back to the start of it and break. */ p += 1; break; } } if (p == line || strict_strtol(p, 0, colnum)) { fprintf(stderr, _("Invalid position-file line: %s"), line); return FALSE; } else if (*colnum <= 0 || *colnum > 1000) { fprintf(stderr, _("Column number %ld out of range"), *colnum); return FALSE; } /* 'p' > 'line' here; split the string just before the column number */ p[-1] = '\0'; *speclist = parse_nodeset_spec_list(line); return TRUE; } static GPtrArray *parse_position_file(const gchar *path) { gchar *contents; gchar * *lines; gsize len; GError *err; int i; long colnum; GList *speclist; GPtrArray *colpos = NULL; if (!g_file_get_contents(path, &contents, &len, &err)) { fprintf(stderr, _("Failed to read position file %s: %s"), path, err->message); g_error_free(err); return NULL; } colpos = g_ptr_array_sized_new(10); lines = g_strsplit(contents, "\n", 0); g_free(contents); for (i = 0; lines[i]; i++) { if (parse_position_line(lines[i], &speclist, &colnum)) { /* "user" column numbers are one-based; convert to zero-based here. */ colnum -= 1; if (colnum > colpos->len) g_ptr_array_set_size(colpos, colnum); g_ptr_array_insert(colpos, colnum, speclist); } } g_strfreev(lines); return colpos; } /* releases all static and cached data. Called just before exiting. Obviously * it's not stricly needed, since the memory will be returned to the OS anyway, * but makes finding memory leaks much easier. */ static void free_static_data(void) { cleanup_capture(); protohash_clear(); ipcache_clear(); services_clear(); cleanup_eth_resolv(); cleanup_names(); cleanup_diagram(); appdata_free(&appdata); } static void set_debug_level(void) { const gchar *env_debug; env_debug = g_getenv("APE_DEBUG"); appdata.debug_mask = (G_LOG_LEVEL_MASK & ~(G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_INFO)); if (env_debug) { if (!g_ascii_strcasecmp(env_debug, "INFO")) appdata.debug_mask = (G_LOG_LEVEL_MASK & ~G_LOG_LEVEL_DEBUG); else if (!g_ascii_strcasecmp(env_debug, "DEBUG")) appdata.debug_mask = G_LOG_LEVEL_MASK; } else appdata.debug_mask = (G_LOG_LEVEL_MASK & ~G_LOG_LEVEL_DEBUG); // ugly workaround for changed g_log_default_handler behaviour // unfortunately it can be controlled only by environment vars ... // Silly change! g_setenv("G_MESSAGES_DEBUG", "all", TRUE); if (quiet) appdata.debug_mask = 0; g_log_set_handler(NULL, G_LOG_LEVEL_MASK, (GLogFunc)log_handler, NULL); g_my_debug("debug_mask %d", appdata.debug_mask); } static void log_handler(gchar *log_domain, GLogLevelFlags mask, const gchar *message, gpointer user_data) { if (mask & appdata.debug_mask) g_log_default_handler("EtherApe", mask, message, user_data); } /*************************************************************************** * * signal handling * **************************************************************************/ /* installs signal handlers */ static void install_handlers(void) { /* * Signal handling * Catch SIGINT and SIGTERM and, if we get either of them, clean up * and exit. * XXX - deal with signal semantics on various platforms. Or just * use "sigaction()" and be done with it? */ if (signal(SIGTERM, cleanup) == SIG_IGN) signal(SIGTERM, SIG_IGN); if (signal(SIGINT, cleanup) == SIG_IGN) signal(SIGINT, SIG_IGN); #if !defined(WIN32) if ((old_sighup_handler = signal(SIGHUP, cleanup)) != SIG_DFL) /* Play nice with nohup */ signal(SIGHUP, old_sighup_handler); #endif if (signal(SIGUSR1, signal_export) == SIG_IGN) signal(SIGUSR1, SIG_IGN); } /* * Quit the program. * Makes sure that the capture device is closed, or else we might * be leaving it in promiscuous mode */ void cleanup(int signum) { free_static_data(); exit(0); } /* activates a flag requesting an xml dump */ static void signal_export(int signum) { appdata.request_dump = TRUE; } etherape-0.9.20/src/preferences.h0000644000175000017500000001052714021135163013562 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo * Copyright (C) 2011 Riccardo Ghetta * * 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, see . */ #ifndef PREFERENCES_H #define PREFERENCES_H #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "common.h" /* * Preferences data. * * Note that this is strictly for options that live in the config file; * options set by command-line flags should go elsewhere. */ struct pref_struct { gboolean name_res; /* Whether dns lookups are performed */ gboolean diagram_only; /* Do not use text on the diagram */ gboolean group_unk; /* Whether to display as one every unkown port protocol */ gboolean headless; /* don't update display (TODO: implement a proper text mode) */ gdouble node_radius_multiplier; /* used to calculate the radius of the * displayed nodes. So that the user can * select with certain precision this * value, the GUI uses the log10 of the * multiplier */ gdouble inner_ring_scale; /* scale of inner ring in proportion to outer ring */ size_mode_t size_mode; /* Default mode for node size and * link width calculation */ node_size_variable_t node_size_variable; /* Default variable that sets the node * size */ gchar *filter; /* Pcap filter to be used */ gchar *text_color; /* text color */ gchar *fontname; /* Font to be used for text display */ gchar *centered_nodes; /* Name/IP/CIDR-range of nodes to center (optional) */ guint stack_level; /* Which level of the protocol stack * we will concentrate on */ gboolean bck_image_enabled; /* Whether or not to use a background image */ gchar *bck_image_path; /* Path to the background image (optional) */ /* Whether or not these respective UI elements are shown */ gboolean show_statusbar; gboolean show_toolbar; gboolean show_legend; statspos_t pcap_stats_pos; /* Position at which to display pcap stats */ /* after this time has passed without traffic on a protocol, it's removed * from the global protocol stats */ gdouble proto_timeout_time; /* After this time has passed with no traffic for a node, it * disappears from the diagram */ gdouble gui_node_timeout_time; /* After this time has passed with no traffic for a node, it * is deleted from memory */ gdouble proto_node_timeout_time; gchar * *colors; /* list of colors to be used on the diagram. Format is * color[;protocol[,protocol ...]] [color[;protocol] ... * where color is represented by sis hex digits (RGB) */ /* After this time has passed with no traffic for a link, it * disappears from the diagram */ gdouble gui_link_timeout_time; /* after this time has passed without traffic, the link is removed */ gdouble proto_link_timeout_time; guint32 refresh_period; /* Time between diagram refreshes */ gdouble averaging_time; /* Microseconds of time we consider to * calculate traffic averages */ }; extern struct pref_struct pref; /* Parsed version pref.centered_nodes */ extern GList *centered_node_speclist; /* preferences methods */ gboolean load_config(struct pref_struct *p); void save_config(const struct pref_struct *p); void free_config(struct pref_struct *t); void copy_config(struct pref_struct *tgt, const struct pref_struct *src); typedef void (*config_edit_fn)(struct pref_struct *p, void *data); void mutate_saved_config(config_edit_fn edit, void *data); #endif etherape-0.9.20/src/menus.h0000644000175000017500000000444014021135163012405 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" void on_open_activate(GtkMenuItem *menuitem, gpointer user_data); void on_export_activate(GtkMenuItem *menuitem, gpointer user_data); void on_interface_radio_activate(gchar *gui_device); void on_mode_radio_activate(GtkRadioMenuItem *menuitem, gpointer user_data); void on_start_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data); void on_stop_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data); void on_refresh_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data); void on_pause_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data); void on_next_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data); void on_full_screen_activate(GtkCheckMenuItem *menuitem, gpointer user_data); void on_toolbar_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data); void on_legend_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data); void on_status_bar_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data); void on_about1_activate(GtkMenuItem *menuitem, gpointer user_data); void on_help_activate(GtkMenuItem *menuitem, gpointer user_data); void init_menus(void); void fatal_error_dialog(const gchar *message); void gui_start_capture(void); void gui_pause_capture(void); void gui_eof_capture(void); gboolean gui_stop_capture(void); /* gui_stop_capture might fail. For instance, * it can't run if diagram_update is running */ etherape-0.9.20/src/info_windows.h0000644000175000017500000000312413657562503014001 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ #include #include "stats/links.h" gboolean update_info_windows(gpointer dummy); void node_protocols_window_create(const node_id_t *node_id); void link_info_window_create(const link_id_t *link_id); /* callbacks */ gboolean on_prot_table_button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data); gboolean on_node_info_delete_event(GtkWidget *, GdkEvent *, gpointer); gboolean on_prot_info_delete_event(GtkWidget *, GdkEvent *, gpointer); void toggle_protocols_window(void); gboolean on_prot_list_select_row(GtkTreeView *gv, gboolean arg1, gpointer ud); gboolean on_delete_protocol_window(GtkWidget *wdg, GdkEvent *e, gpointer ud); void on_protocols_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data); etherape-0.9.20/src/Makefile.am0000644000175000017500000000436414034344042013150 00000000000000## Process this file with automake to produce Makefile.in AUTOMAKE_OPTIONS = subdir-objects confdir = $(sysconfdir)/etherape gladedir = $(datadir)/etherape/glade etherape_CPPFLAGS = \ -I$(top_srcdir)/intl \ -DGSEAL_ENABLE \ -DGLADEDIR=\""$(gladedir)"\" \ -DCONFDIR=\""$(confdir)"\" \ $(WARN_CFLAGS) \ $(PTHREAD_CFLAGS) \ $(ETHERAPE_CFLAGS) \ $(CANVAS_CFLAGS) bin_PROGRAMS = etherape ## name resolution sources etherape_names_SOURCES = \ names/eth_resolv.c names/eth_resolv.h \ names/dns.c names/dns.h \ names/ip-cache.c names/ip-cache.h \ names/names.c names/names.h \ names/names_netbios.c names/names_netbios.h # statistics sources etherape_stats_SOURCES = \ stats/basic_stats.c stats/basic_stats.h \ stats/conversations.c stats/conversations.h \ stats/decode_proto.c stats/decode_proto.h \ stats/links.c stats/links.h \ stats/node.c stats/node.h \ stats/node_id.c stats/node_id.h \ stats/protocols.c stats/protocols.h \ stats/prot_types.h stats/pkt_info.h \ stats/traffic_stats.c stats/traffic_stats.h \ stats/util.c stats/util.h # capture sources etherape_capture_SOURCES = \ capture/capture.c capture/capture.h \ capture/capctl.c capture/capctl.h \ capture/cap-util.c capture/cap-util.h \ capture/capctl-msg.h etherape_SOURCES = \ $(etherape_stats_SOURCES) \ $(etherape_names_SOURCES) \ $(etherape_capture_SOURCES) \ $(top_builddir)/config.h \ main.c main.h \ common.h \ appdata.c appdata.h\ callbacks.c callbacks.h \ compat.c compat.h \ datastructs.c datastructs.h \ diagram.c diagram.h \ export.c export.h \ info_windows.c info_windows.h \ menus.c menus.h \ node_windows.c node_windows.h \ pref_dialog.c pref_dialog.h \ preferences.c preferences.h \ ui_utils.c ui_utils.h if HAVE_LIBCARES etherape_SOURCES += names/ares_resolve.c names/ares_resolve.h else etherape_SOURCES += names/thread_resolve.c names/thread_resolve.h endif etherape_LDADD = $(ETHERAPE_LIBS) $(PCAP_LIBS) $(PTHREAD_LIBS) $(PTHREAD_CFLAGS) etherape_LDFLAGS = $(ETHERAPE_LDFLAGS) .indent: $(etherape_SOURCES) $(etherape_INCLUDES) uncrustify --no-backup -c ../uncrustify.cfg $? touch .indent indent: .indent purge: rm -f *~ *.bak splint: splint -I.. +posixlib +gnuextensions +charintliteral -nullassign $(etherape_CPPFLAGS) $(etherape_SOURCES) etherape-0.9.20/src/common.h0000644000175000017500000001110614023171543012547 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef ETHERAPE_COMMON_H #define ETHERAPE_COMMON_H /* disable deprecated gnome functions */ /* #define G_DISABLE_DEPRECATED 1 */ #include "config.h" #ifdef HAVE_SYS_TIME_H #include #elif HAVE_TIME_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #include #include #include #ifdef ENABLE_NLS #include #ifndef _ #define _(String) gettext(String) #endif #else #ifndef _ #define _(String) (String) #endif #endif #ifndef MAXDNAME #define MAXDNAME 1025 /* maximum domain name length */ #endif typedef enum { /* Beware! The value given by the option widget is dependant on * the order set in glade! */ LINEAR = 0, LOG = 1, SQRT = 2 } size_mode_t; typedef enum { /* Beware! The value given by the option widget must be coherent with * the order of string in glade combo! */ INST_TOTAL = 0, INST_INBOUND, INST_OUTBOUND, INST_PACKETS, ACCU_TOTAL, ACCU_INBOUND, ACCU_OUTBOUND, ACCU_PACKETS, ACCU_AVG_SIZE, } node_size_variable_t; typedef enum { APEMODE_DEFAULT = -1, LINK6 = 0, /* data link level with 6 bits of address */ IP, TCP } apemode_t; typedef enum { /* Beware! The value given by the option widget must be coherent with * the order of string in glade combo! */ STATSPOS_NONE = 0, STATSPOS_UPPER_LEFT = 1, STATSPOS_UPPER_RIGHT = 2, STATSPOS_LOWER_LEFT = 3, STATSPOS_LOWER_RIGHT = 4, } statspos_t; typedef struct __attribute__ ((packed)) { union __attribute__ ((packed)) { struct __attribute__ ((packed)) { guint32 type; /* address family: AF_INET or AF_INET6 */ union __attribute__ ((packed)) { guint8 addr8[16]; /* 128-bit */ guint8 addr_v4[4]; /* 32-bit */ guint8 addr_v6[16]; /* 128-bit */ }; }; guint8 all8[4*5]; }; } address_t; /* Macros */ #define address_copy(dst, src) memmove((dst), (src), sizeof(address_t)) #define address_clear(dst) memset((dst), 0, sizeof(address_t)) #define address_len(type) ((type) == AF_INET ? 32/8 : (type) == AF_INET6 ? 128/8 : 0) #define is_addr_eq(dst, src) (memcmp((dst), (src), sizeof(address_t)) == 0) #define is_addr_gt(dst, src) (memcmp((dst), (src), sizeof(address_t)) > 0) #define is_addr_lt(dst, src) (memcmp((dst), (src), sizeof(address_t)) < 0) #define is_addr_ge(dst, src) (memcmp((dst), (src), sizeof(address_t)) >= 0) #define is_addr_le(dst, src) (memcmp((dst), (src), sizeof(address_t)) <= 0) static inline int address_cmp(const address_t *a, const address_t *b) { if (a->type != b->type) return a->type - b->type; else return memcmp(a->addr8, b->addr8, address_len(a->type)); } #define g_my_debug(format, args ...) g_log(G_LOG_DOMAIN, \ G_LOG_LEVEL_DEBUG, \ format, ## args) #define g_my_info(format, args ...) g_log(G_LOG_DOMAIN, \ G_LOG_LEVEL_INFO, \ format, ## args) #define g_my_critical(format, args ...) g_log(G_LOG_DOMAIN, \ G_LOG_LEVEL_CRITICAL, \ format, ## args) /* * Pointer versions of ntohs and ntohl. Given a pointer to a member of a * byte array, returns the value of the two or four bytes at the pointer. */ #define MAKE_PNxH(direction, suffix, type) \ static inline type p ## direction ## suffix(const void *p) \ { \ type tmp; \ memcpy(&tmp, p, sizeof(tmp)); \ return direction ## suffix(tmp); \ } MAKE_PNxH(hton, s, guint16); MAKE_PNxH(ntoh, s, guint16); MAKE_PNxH(hton, l, guint32); MAKE_PNxH(ntoh, l, guint32); /* Takes the hi_nibble value from a byte */ #define hi_nibble(b) ((b & 0xf0) >> 4) #endif /* ETHERAPE_COMMON_H */ etherape-0.9.20/src/ui_utils.h0000644000175000017500000000462513657562503013140 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . * * ui_utils: helper gui routines */ #ifndef UI_UTILS_H #define UI_UTILS_H #include "appdata.h" #include #define MAX_C(a, b) ((a) > (b) ? (a) : (b)) #define MIN_C(a, b) ((a) > (b) ? (a) : (b)) #define LUMINANCE(r, g, b) ((MAX_C((double)(r)/0xFFFF, MAX_C((double)(g)/0xFFFF, \ (double)(b)/0xFFFF)) + \ MIN_C((double)(r)/0xFFFF, MIN_C((double)(g)/0xFFFF, \ (double)(b)/0xFFFF))) / 2.0) /* returns a newly allocated string with a formatted traffic */ gchar *traffic_to_str(gdouble traffic, gboolean is_speed); /* registers the named glade widget on the specified object */ void register_glade_widget(GtkBuilder *bldr, GtkWidget *tgt, const gchar *widgetName); /* changes text of label lblname on window wnd */ void update_gtklabel(GtkWidget *wnd, const gchar *lblname, const gchar *value); /* show hide widget named lblname on window wnd */ void show_widget(GtkWidget *wnd, const gchar *lblname); void hide_widget(GtkWidget *wnd, const gchar *lblname); /* creates a new text column with a specific title, column number colno and * adds it to treeview gv. If r_just true the column is right justified */ void create_add_text_column(GtkTreeView *gv, const gchar *title, int colno, gboolean r_just); /* register/get a treeview to/from a window */ void register_treeview(GtkWidget *window, GtkTreeView *gv); GtkTreeView *retrieve_treeview(GtkWidget *window); /* Returns the user's home directory, via the HOME environment * variable, or a default directory if HOME is not set */ const char *get_home_dir(void); #endif etherape-0.9.20/src/pref_dialog.c0000644000175000017500000006722114034542124013535 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo * Copyright (C) 2011 Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "pref_dialog.h" #include "preferences.h" #include "diagram.h" #include "capture/capctl.h" #include "stats/node.h" #include "datastructs.h" #include "compat.h" #define MILLI (1000.0) #define COLSPACES " " static void color_list_to_pref(void); static void pref_to_color_list(void); static void on_stack_level_changed(GtkWidget *combo, gpointer data); static void on_size_variable_changed(GtkComboBox *combo, gpointer data); static void on_size_mode_changed(GtkComboBox *combo, gpointer data); static void on_text_color_changed(GtkColorButton *wdg, gpointer data); static void on_text_font_changed(GtkFontButton *wdg, gpointer data); static void on_filter_entry_changed(GtkComboBox *cbox, gpointer user_data); static void on_center_node_changed(GtkComboBox *cbox, gpointer user_data); static void cbox_add_select(GtkComboBox *cbox, const gchar *str); static gboolean colors_changed = FALSE; static GtkWidget *diag_pref = NULL; /* diagram configuration window */ static struct pref_struct tmp_pref; /* tmp copy of pref data */ static void confirm_changes(void) { GtkWidget *widget = NULL; widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "filter_combo")); on_filter_entry_changed(GTK_COMBO_BOX(widget), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "center_combo")); on_center_node_changed(GTK_COMBO_BOX(widget), NULL); if (colors_changed) { color_list_to_pref(); delete_gui_protocols(); } } /* confirm_changes */ static void hide_pref_dialog(void) { /* purge temporary */ free_config(&tmp_pref); /* reset flags */ colors_changed = FALSE; /* hide dialog */ gtk_widget_hide(diag_pref); } void initialize_pref_controls(void) { GtkWidget *widget; GtkSpinButton *spin; GdkRGBA color; GtkTreeModel *model; diag_pref = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "diag_pref")); /* Updates controls from values of variables */ widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "node_radius_slider")); gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(widget)), log(pref.node_radius_multiplier) / log(10)); g_signal_emit_by_name(G_OBJECT(gtk_range_get_adjustment(GTK_RANGE(widget))), "changed"); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "inner_ring_scale_slider")); gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(widget)), pref.inner_ring_scale); g_signal_emit_by_name(G_OBJECT(gtk_range_get_adjustment(GTK_RANGE(widget))), "changed"); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "averaging_spin")); gtk_spin_button_set_value(spin, pref.averaging_time); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "refresh_spin")); gtk_spin_button_set_value(spin, pref.refresh_period); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "gui_node_to_spin")); gtk_spin_button_set_value(spin, pref.gui_node_timeout_time/MILLI); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "proto_node_to_spin")); gtk_spin_button_set_value(spin, pref.proto_node_timeout_time/MILLI); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "gui_link_to_spin")); gtk_spin_button_set_value(spin, pref.gui_link_timeout_time/MILLI); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "proto_link_to_spin")); gtk_spin_button_set_value(spin, pref.proto_link_timeout_time/MILLI); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(appdata.xml, "proto_to_spin")); gtk_spin_button_set_value(spin, pref.proto_timeout_time/MILLI); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "diagram_only_toggle")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), pref.diagram_only); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "group_unk_check")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), pref.group_unk); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "name_res_check")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), pref.name_res); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "stack_level")); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), pref.stack_level); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "size_variable")); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), pref.node_size_variable); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "size_mode")); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), pref.size_mode); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "text_font")); gtk_font_button_set_font_name(GTK_FONT_BUTTON(widget), pref.fontname); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "text_color")); if (!gdk_rgba_parse(&color, pref.text_color)) gdk_rgba_parse(&color, "#ffff00"); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(widget), &color); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "pcap_stats_pos")); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), pref.pcap_stats_pos); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "filter_combo")); model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); if (!model) { GtkListStore *list_store; list_store = gtk_list_store_new(1, G_TYPE_STRING); gtk_combo_box_set_model(GTK_COMBO_BOX(widget), GTK_TREE_MODEL(list_store)); } widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "center_combo")); model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); if (!model) { GtkListStore *list_store; list_store = gtk_list_store_new(1, G_TYPE_STRING); gtk_combo_box_set_model(GTK_COMBO_BOX(widget), GTK_TREE_MODEL(list_store)); } pref_to_color_list(); /* Updates the color preferences table with pref.colors */ widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "bck_image_enabled")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), pref.bck_image_enabled); gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(appdata.xml, "bck_image_open")), pref.bck_image_enabled); if (pref.bck_image_path && *pref.bck_image_path) { widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "bck_image_open")); gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(widget), pref.bck_image_path); } /* Connects signals */ widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "diag_pref")); g_signal_connect(G_OBJECT(widget), "delete_event", G_CALLBACK(on_cancel_pref_button_clicked), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "node_radius_slider")); g_signal_connect(G_OBJECT(gtk_range_get_adjustment(GTK_RANGE(widget))), "value_changed", G_CALLBACK(on_node_radius_slider_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "inner_ring_scale_slider")); g_signal_connect(G_OBJECT(gtk_range_get_adjustment(GTK_RANGE(widget))), "value_changed", G_CALLBACK(on_inner_ring_scale_slider_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "averaging_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_averaging_spin_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "refresh_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_refresh_spin_adjustment_changed), canvas_widget()); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "gui_node_to_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_gui_node_to_spin_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "proto_node_to_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_proto_node_to_spin_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "gui_link_to_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_gui_link_to_spin_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "proto_link_to_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_proto_link_to_spin_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "proto_to_spin")); g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widget))), "value_changed", G_CALLBACK(on_proto_to_spin_adjustment_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "stack_level")); g_signal_connect(G_OBJECT(widget), "changed", G_CALLBACK(on_stack_level_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "size_variable")); g_signal_connect(G_OBJECT(widget), "changed", G_CALLBACK(on_size_variable_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "size_mode")); g_signal_connect(G_OBJECT(widget), "changed", G_CALLBACK(on_size_mode_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "text_font")); g_signal_connect(G_OBJECT(widget), "font_set", G_CALLBACK(on_text_font_changed), NULL); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "text_color")); g_signal_connect(G_OBJECT(widget), "color_set", G_CALLBACK(on_text_color_changed), NULL); } void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data) { GtkComboBox *cbox; /* saves current prefs to a temporary */ copy_config(&tmp_pref, &pref); initialize_pref_controls(); cbox = GTK_COMBO_BOX(gtk_builder_get_object(appdata.xml, "filter_combo")); cbox_add_select(cbox, pref.filter); cbox = GTK_COMBO_BOX(gtk_builder_get_object(appdata.xml, "center_combo")); cbox_add_select(cbox, pref.centered_nodes); gtk_widget_show(diag_pref); gdk_window_raise(gtk_widget_get_window(diag_pref)); } void on_node_radius_slider_adjustment_changed(GtkAdjustment *adj) { double value = gtk_adjustment_get_value(adj); pref.node_radius_multiplier = exp(value * log(10)); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("Adjustment value: %g. Radius multiplier %g"), value, pref.node_radius_multiplier); } void on_inner_ring_scale_slider_adjustment_changed(GtkAdjustment *adj) { double value = gtk_adjustment_get_value(adj); pref.inner_ring_scale = value; g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("Adjustment value: %g. Inner ring scale %g"), value, pref.inner_ring_scale); ask_reposition(FALSE); } void on_averaging_spin_adjustment_changed(GtkAdjustment *adj) { pref.averaging_time = gtk_adjustment_get_value(adj); /* Control and value in ms */ } void on_refresh_spin_adjustment_changed(GtkAdjustment *adj, GtkWidget *canvas) { change_refresh_period(gtk_adjustment_get_value(adj)); } void on_gui_node_to_spin_adjustment_changed(GtkAdjustment *adj) { pref.gui_node_timeout_time = gtk_adjustment_get_value(adj)*MILLI; /* value in ms */ } void on_proto_node_to_spin_adjustment_changed(GtkAdjustment *adj) { pref.proto_node_timeout_time = gtk_adjustment_get_value(adj)*MILLI; /* value in ms */ } void on_gui_link_to_spin_adjustment_changed(GtkAdjustment *adj) { pref.gui_link_timeout_time = gtk_adjustment_get_value(adj)*MILLI; /* value in ms */ } void on_proto_link_to_spin_adjustment_changed(GtkAdjustment *adj) { pref.proto_link_timeout_time = gtk_adjustment_get_value(adj)*MILLI; /* value in ms */ } void on_proto_to_spin_adjustment_changed(GtkAdjustment *adj) { pref.proto_timeout_time = gtk_adjustment_get_value(adj)*MILLI; /* value in ms */ } static void on_size_mode_changed(GtkComboBox *combo, gpointer data) { /* Beware! Size mode is an enumeration. The menu options * must much the enumaration values */ pref.size_mode = (size_mode_t)gtk_combo_box_get_active(combo); } static void on_size_variable_changed(GtkComboBox *combo, gpointer data) { /* Beware! Size variable is an enumeration. The menu options * must much the enumaration values */ pref.node_size_variable = (node_size_variable_t)gtk_combo_box_get_active(combo); } static void on_stack_level_changed(GtkWidget *combo, gpointer data) { pref.stack_level = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); delete_gui_protocols(); } static void on_text_font_changed(GtkFontButton *wdg, gpointer data) { const gchar *str = gtk_font_button_get_font_name(wdg); if (str) { if (pref.fontname) g_free(pref.fontname); pref.fontname = g_strdup(str); ask_reposition(TRUE); /* reposition and update font */ } } static void on_text_color_changed(GtkColorButton *wdg, gpointer data) { GdkRGBA new_color; gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(wdg), &new_color); g_free(pref.text_color); pref.text_color = gdk_rgba_to_string(&new_color); ask_reposition(TRUE); } void on_diagram_only_toggle_toggled(GtkToggleButton *togglebutton, gpointer user_data) { pref.diagram_only = gtk_toggle_button_get_active(togglebutton); ask_reposition(FALSE); } /* on_diagram_only_toggle_toggled */ void on_group_unk_check_toggled(GtkToggleButton *togglebutton, gpointer user_data) { pref.group_unk = gtk_toggle_button_get_active(togglebutton); } /* on_group_unk_check_toggled */ /* * confirm changes */ void on_ok_pref_button_clicked(GtkWidget *button, gpointer user_data) { confirm_changes(); hide_pref_dialog(); } /* on_ok_pref_button_clicked */ /* reset configuration to saved and close dialog */ void on_cancel_pref_button_clicked(GtkWidget *button, gpointer user_data) { /* reset configuration to saved */ copy_config(&pref, &tmp_pref); ask_reposition(TRUE); if (colors_changed) { protohash_read_prefvect(pref.colors); delete_gui_protocols(); } hide_pref_dialog(); } /* on_cancel_pref_button_clicked */ void on_save_pref_button_clicked(GtkWidget *button, gpointer user_data) { confirm_changes(); /* to save we simulate confirmation */ save_config(&pref); hide_pref_dialog(); } /* on_save_pref_button_clicked */ /* Makes a new filter */ static void on_filter_entry_changed(GtkComboBox *cbox, gpointer user_data) { const gchar *str; gchar *err; /* TODO should make sure that for each mode the filter is set up * correctly */ str = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(cbox)))); if (pref.filter) g_free(pref.filter); pref.filter = g_strdup(str); err = set_filter(pref.filter); g_free(err); cbox_add_select(cbox, pref.filter); } /* on_filter_entry_changed */ /* Makes a new center node */ static void on_center_node_changed(GtkComboBox *cbox, gpointer user_data) { const gchar *str; str = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(cbox)))); g_free(pref.centered_nodes); pref.centered_nodes = g_strdup(str); free_nodeset_spec_list(centered_node_speclist); centered_node_speclist = parse_nodeset_spec_list(pref.centered_nodes); cbox_add_select(cbox, pref.centered_nodes); ask_reposition(FALSE); } void on_numeric_toggle_toggled(GtkToggleButton *togglebutton, gpointer user_data) { pref.name_res = gtk_toggle_button_get_active(togglebutton); } /* on_numeric_toggle_toggled */ void on_background_image_path_selected(GtkFileChooserButton *filechooser, gpointer user_data) { pref.bck_image_path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser)); } /* on_background_image_path_selected */ void on_background_image_enable_toggled(GtkToggleButton *togglebutton, gpointer user_data) { gboolean on = gtk_toggle_button_get_active(togglebutton); pref.bck_image_enabled = on; gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(appdata.xml, "bck_image_open")), on); } void on_pcap_stats_display_changed(GtkComboBox *combobox, gpointer user_data) { pref.pcap_stats_pos = gtk_combo_box_get_active(combobox); } /* ---------------------------------------------------------- Color-proto preferences handling ---------------------------------------------------------- */ /* helper struct used to move around trees data ... */ typedef struct _EATreePos { GtkTreeView *gv; GtkListStore *gs; } EATreePos; /* fill ep with the listore for the color treeview, creating it if necessary Returns FALSE if something goes wrong */ static gboolean get_color_store(EATreePos *ep) { /* initializes the view ptr */ ep->gs = NULL; ep->gv = GTK_TREE_VIEW(gtk_builder_get_object(appdata.xml, "color_list")); if (!ep->gv) return FALSE; /* error */ /* retrieve the model (store) */ ep->gs = GTK_LIST_STORE(gtk_tree_view_get_model(ep->gv)); if (ep->gs) return TRUE; /* model already initialized, finished */ /* store not found, must be created - it uses 3 values: First the color string, then the gdk color, lastly the protocol */ ep->gs = gtk_list_store_new(3, G_TYPE_STRING, GDK_TYPE_RGBA, G_TYPE_STRING); gtk_tree_view_set_model(ep->gv, GTK_TREE_MODEL(ep->gs)); /* the view columns and cell renderers must be also created ... Note: the bkg color is linked to the second column of store */ gtk_tree_view_append_column(ep->gv, gtk_tree_view_column_new_with_attributes (_("Color"), gtk_cell_renderer_text_new(), "text", 0, "background-rgba", 1, NULL)); gtk_tree_view_append_column(ep->gv, gtk_tree_view_column_new_with_attributes (_("Protocol"), gtk_cell_renderer_text_new(), "text", 2, NULL)); return TRUE; } void on_color_edit_dialog_show(GtkWidget *wdg, gpointer user_data) { gchar *protocol_string; GdkRGBA *color; GtkTreePath *gpath = NULL; GtkTreeViewColumn *gcol = NULL; GtkTreeIter it; GtkComboBox *cbox; GtkColorChooser *chos; EATreePos ep; if (!get_color_store(&ep)) return; /* gets the row (path) at cursor */ gtk_tree_view_get_cursor(ep.gv, &gpath, &gcol); if (gpath) { /* row selected */ if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(ep.gs), &it, gpath)) return; /* path not found */ gtk_tree_model_get(GTK_TREE_MODEL(ep.gs), &it, 1, &color, 2, &protocol_string, -1); cbox = GTK_COMBO_BOX(gtk_builder_get_object(appdata.xml, "protocol_entry")); cbox_add_select(cbox, protocol_string); chos = GTK_COLOR_CHOOSER(gtk_builder_get_object(appdata.xml, "color_entry")); gtk_color_chooser_set_rgba(chos, color); g_free(protocol_string); } } void on_color_add_button_clicked(GtkButton *button, gpointer user_data) { GtkWidget *dlg = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "color_edit_dialog")); if (dlg) { g_object_set_data(G_OBJECT(dlg), "isadd", GINT_TO_POINTER(TRUE)); gtk_widget_show(dlg); } } void on_color_edit_button_clicked(GtkButton *button, gpointer user_data) { GtkWidget *dlg = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "color_edit_dialog")); if (dlg) { g_object_set_data(G_OBJECT(dlg), "isadd", GINT_TO_POINTER(FALSE)); gtk_widget_show(dlg); } } void on_color_remove_button_clicked(GtkButton *button, gpointer user_data) { GtkTreePath *gpath = NULL; GtkTreeViewColumn *gcol = NULL; GtkTreeIter it; EATreePos ep; if (!get_color_store(&ep)) return; /* gets the row (path) at cursor */ gtk_tree_view_get_cursor(ep.gv, &gpath, &gcol); if (!gpath) return; /* no row selected */ /* get iterator from path and removes from store */ if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(ep.gs), &it, gpath)) return; /* path not found */ if (gtk_list_store_remove(ep.gs, &it)) { /* iterator still valid, selects current pos */ gpath = gtk_tree_model_get_path(GTK_TREE_MODEL(ep.gs), &it); gtk_tree_view_set_cursor(ep.gv, gpath, NULL, 0); gtk_tree_path_free(gpath); } colors_changed = TRUE; color_list_to_pref(); } void on_colordiag_ok_clicked(GtkButton *button, gpointer user_data) { GtkWidget *colorsel, *colorseldiag; GdkRGBA color; GtkTreePath *gpath = NULL; GtkTreeViewColumn *gcol = NULL; GtkTreeIter it; gint isadd; EATreePos ep; if (!get_color_store(&ep)) return; colorseldiag = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "colorselectiondialog")); isadd = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(colorseldiag), "isadd")); /* gets the row (path) at cursor */ gtk_tree_view_get_cursor(ep.gv, &gpath, &gcol); if (isadd) { if (gpath) { /* row sel, add/change color */ GtkTreeIter itsibling; if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(ep.gs), &itsibling, gpath)) return; /* path not found */ gtk_list_store_insert_before(ep.gs, &it, &itsibling); } else gtk_list_store_append(ep.gs, &it); /* no row selected, append */ } else { if (!gpath || !gtk_tree_model_get_iter(GTK_TREE_MODEL(ep.gs), &it, gpath)) return; /* path not found */ } /* get the selected color */ colorsel = gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(colorseldiag)); gtk_color_selection_get_current_rgba(GTK_COLOR_SELECTION(colorsel), &color); /* fill data */ if (isadd) gtk_list_store_set(ep.gs, &it, 0, COLSPACES, 1, &color, 2, "", -1); else gtk_list_store_set(ep.gs, &it, 0, COLSPACES, 1, &color, -1); gtk_widget_hide(colorseldiag); color_list_to_pref(); colors_changed = TRUE; } void on_color_edit_ok_clicked(GtkButton *button, gpointer user_data) { const gchar *combo_string; gchar *proto_string; GdkRGBA color; GtkTreePath *gpath = NULL; GtkTreeViewColumn *gcol = NULL; GtkTreeIter it; GtkComboBox *cbox; GtkColorChooser *chos; gint isadd; EATreePos ep; GtkWidget *dlg; dlg = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "color_edit_dialog")); if (!dlg) return; if (!get_color_store(&ep)) return; /* modify or add ? */ isadd = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(dlg), "isadd")); cbox = GTK_COMBO_BOX(gtk_builder_get_object(appdata.xml, "protocol_entry")); combo_string = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(cbox)))); proto_string = g_utf8_strup(g_strdup(combo_string), -1); proto_string = remove_spaces(proto_string); cbox_add_select(cbox, proto_string); chos = GTK_COLOR_CHOOSER(gtk_builder_get_object(appdata.xml, "color_entry")); gtk_color_chooser_get_rgba(chos, &color); /* gets the row (path) at cursor */ gtk_tree_view_get_cursor(ep.gv, &gpath, &gcol); if (isadd) { if (gpath) { /* row sel, add/change color */ GtkTreeIter itsibling; if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(ep.gs), &itsibling, gpath)) return; /* path not found */ gtk_list_store_insert_before(ep.gs, &it, &itsibling); } else gtk_list_store_append(ep.gs, &it); /* no row selected, append */ } else { if (!gpath || !gtk_tree_model_get_iter(GTK_TREE_MODEL(ep.gs), &it, gpath)) return; /* path or node not found */ } gtk_list_store_set(ep.gs, &it, 0, COLSPACES, 1, &color, 2, proto_string, -1); g_free(proto_string); gtk_widget_hide(dlg); colors_changed = TRUE; color_list_to_pref(); } static void pref_to_color_list(void) { gint i; EATreePos ep; if (!get_color_store(&ep)) return; /* clear list */ gtk_list_store_clear(ep.gs); for (i = 0; pref.colors[i]; ++i) { GdkRGBA color; gchar * *colors_protocols = NULL; gchar *protocol = NULL; GtkTreeIter it; colors_protocols = g_strsplit(pref.colors[i], ";", 0); /* converting color */ gdk_rgba_parse(&color, colors_protocols[0]); /* converting proto name */ if (!colors_protocols[1]) protocol = ""; else protocol = colors_protocols[1]; /* adds a new row */ gtk_list_store_append(ep.gs, &it); gtk_list_store_set(ep.gs, &it, 0, COLSPACES, 1, &color, 2, protocol, -1); g_strfreev(colors_protocols); } } /* Called whenever preferences are applied or OKed. Copied whatever there is * in the color table to the color preferences in memory */ static void color_list_to_pref(void) { gint i; gint ncolors; GtkTreeIter it; EATreePos ep; if (!get_color_store(&ep)) return; g_strfreev(pref.colors); pref.colors = NULL; ncolors = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(ep.gs), NULL); pref.colors = g_malloc(sizeof(gchar *) * (ncolors+1)); g_assert(pref.colors); gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ep.gs), &it); for (i = 0; i < ncolors; i++) { gchar *protocol; GdkRGBA *color; /* reads the list */ gtk_tree_model_get(GTK_TREE_MODEL(ep.gs), &it, 1, &color, 2, &protocol, -1); pref.colors[i] = g_strdup_printf("#%02x%02x%02x;%s", (unsigned int)(color->red * 255), (unsigned int)(color->green * 255), (unsigned int)(color->blue * 255), protocol); g_free(protocol); gtk_tree_model_iter_next(GTK_TREE_MODEL(ep.gs), &it); } pref.colors[ncolors] = NULL; pref.colors = protohash_compact(pref.colors); protohash_read_prefvect(pref.colors); } /* adds a string to the combo if not already present and loads it in the edit box. If str is "" simply clears the edit box */ static void cbox_add_select(GtkComboBox *cbox, const gchar *str) { GtkTreeModel *model; GtkTreeIter iter, iter3; gboolean res; gchar *modelstr; GtkWidget *entry; if (!str) str = ""; entry = gtk_bin_get_child(GTK_BIN(cbox)); gtk_entry_set_text(GTK_ENTRY(entry), str); if (*str) { model = gtk_combo_box_get_model(GTK_COMBO_BOX(cbox)); for (res = gtk_tree_model_get_iter_first(model, &iter); res; res = gtk_tree_model_iter_next(model, &iter)) { gtk_tree_model_get(model, &iter, 0, &modelstr, -1); if (strcmp(str, modelstr) == 0) { /* already present */ g_free(modelstr); return; } g_free(modelstr); } gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter3, 0, 0, str, -1); } } void change_refresh_period(guint32 newperiod) { pref.refresh_period = newperiod; diagram_timeout_changed(); } etherape-0.9.20/src/export.h0000644000175000017500000000175514034343776012624 00000000000000/* export.h * Export routines * Copyright (C) 2011 Riccardo Ghetta * * 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. */ #ifndef __EXPORT_H__ #define __EXPORT_H__ #include "appdata.h" gchar *generate_xml(unsigned long totpkts); void dump_xml(gchar *ofile, unsigned long totpkts); #endif /* __EXPORT_H__ */ etherape-0.9.20/src/menus.c0000644000175000017500000004306014021135153012400 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include "menus.h" #include "ui_utils.h" #include "diagram.h" #include "stats/decode_proto.h" #include "info_windows.h" #include "capture/capctl.h" #include "preferences.h" #include "export.h" static gboolean in_start_capture = FALSE; static void set_active_interface(void); void init_menus(void) { GtkWidget *widget = NULL, *item = NULL; GList *interfaces; GList *iface; GSList *group = NULL; GString *info_string = NULL; GString *err_str = g_string_new(""); interfaces = get_capture_interfaces(err_str); if (err_str) g_my_info(_("get_interface result: '%s'"), err_str->str); if (!interfaces) { g_my_info(_("No suitables interfaces for capture have been found")); if (err_str) g_string_free(err_str, TRUE); return; } if (err_str) g_string_free(err_str, TRUE); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "interfaces_menu")); info_string = g_string_new(_("Available interfaces for capture:")); /* Set up a hidden dummy interface to set when there is no active * interface */ item = gtk_radio_menu_item_new_with_label(group, "apedummy"); group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(item)); gtk_menu_shell_append(GTK_MENU_SHELL(widget), item); /* Set up the real interfaces menu entries */ for (iface = interfaces; iface; iface = iface->next) { item = gtk_radio_menu_item_new_with_label(group, (gchar *)(iface->data)); group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(item)); gtk_menu_shell_append(GTK_MENU_SHELL(widget), item); gtk_widget_show(item); g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(on_interface_radio_activate), (gpointer)g_strdup(iface->data)); g_string_append(info_string, " "); g_string_append(info_string, (gchar *)(iface->data)); } if (info_string) { g_my_info("%s", info_string->str); g_string_free(info_string, TRUE); } free_capture_interfaces(interfaces); } /* FILE MENU */ void on_open_activate(GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *dialog; if (!gui_stop_capture()) return; dialog = gtk_file_chooser_dialog_new(_("Open Capture File"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); if (appdata.source.type == ST_FILE && appdata.source.file) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), appdata.source.file); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { GtkRecentManager *manager; manager = gtk_recent_manager_get_default(); gtk_recent_manager_add_item(manager, gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(dialog))); appdata_clear_source(&appdata); appdata.source.type = ST_FILE; appdata.source.file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); gtk_widget_destroy(dialog); gui_start_capture(); } else gtk_widget_destroy(dialog); } void on_export_activate(GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new(_("Export to XML File"), NULL, GTK_FILE_CHOOSER_ACTION_SAVE, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); if (appdata.export_file) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), appdata.export_file); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { GtkRecentManager *manager; manager = gtk_recent_manager_get_default(); gtk_recent_manager_add_item(manager, gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(dialog))); g_free(appdata.export_file); appdata.export_file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); gtk_widget_destroy(dialog); dump_xml(appdata.export_file, appdata.n_packets); } else gtk_widget_destroy(dialog); } /* Capture menu */ void on_interface_radio_activate(gchar *gui_device) { g_assert(gui_device != NULL); if (appdata.source.type == ST_LIVE && appdata.source.interface && !strcmp(gui_device, appdata.source.interface)) return; if (in_start_capture) return; /* Disregard when called because * of interface look change from * start_capture */ if (!gui_stop_capture()) return; appdata_clear_source(&appdata); appdata.source.type = ST_LIVE; appdata.source.interface = g_strdup(gui_device); gui_start_capture(); g_my_info(_("Capture interface set to %s in GUI"), gui_device); } void on_mode_radio_activate(GtkRadioMenuItem *menuitem, gpointer user_data) { apemode_t new_mode = APEMODE_DEFAULT; const gchar *menuname = NULL; gchar *filter; if (in_start_capture) return; /* Disregard when called because * of interface look change from * start_capture */ menuname = gtk_widget_get_name(GTK_WIDGET(menuitem)); g_assert(menuname); g_my_debug("Initial mode in on_mode_radio_activate %s", (gchar *)menuname); if (!strcmp("link_radio", menuname)) new_mode = LINK6; else if (!strcmp("ip_radio", menuname)) new_mode = IP; else if (!strcmp("tcp_radio", menuname)) new_mode = TCP; else { g_my_critical(_("Unsupported mode in on_mode_radio_activate")); exit(1); } if (new_mode == appdata.mode) return; /* I don't know why, but this menu item is called twice, instead * of once. This forces me to make sure we are not trying to set * anything impossible */ g_my_debug("Mode menuitem active: %d", gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem))); if (!has_linklevel() && new_mode == LINK6) return; if (!gui_stop_capture()) return; /* if old filter was still default, we can change to default of new mode */ filter = get_default_filter(appdata.mode); if (!strcmp(pref.filter, filter)) { g_free(pref.filter); pref.filter = get_default_filter(new_mode); } appdata.mode = new_mode; g_my_info(_("Mode set to %s in GUI"), (gchar *)menuitem); gui_start_capture(); } /* on_mode_radio_activate */ void on_start_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data) { g_my_debug("on_start_menuitem_activate called"); gui_start_capture(); } /* on_start_menuitem_activate */ void on_pause_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data) { g_my_debug("on_pause_menuitem_activate called"); gui_pause_capture(); } /* on_pause_menuitem_activate */ void on_next_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data) { g_my_debug("on_next_menuitem_activate called"); force_next_packet(); } void on_stop_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data) { g_my_debug("on_stop_menuitem_activate called"); gui_stop_capture(); } /* on_stop_menuitem_activate */ void on_refresh_menuitem_activate(GtkMenuItem *menuitem, gpointer user_data) { refresh_diagram(); } /* on_refresh_menuitem_activate */ /* View menu */ void on_full_screen_activate(GtkCheckMenuItem *menuitem, gpointer user_data) { if (gtk_check_menu_item_get_active(menuitem)) gtk_window_fullscreen((GtkWindow *)appdata.app1); else gtk_window_unfullscreen((GtkWindow *)appdata.app1); } void edit_prefs_show_toolbar(struct pref_struct *p, void *data) { p->show_toolbar = *(gboolean *)data; } void on_toolbar_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data) { GtkWidget *widget; gboolean active = gtk_check_menu_item_get_active(menuitem); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "toolbar")); if (active) gtk_widget_show(widget); else gtk_widget_hide(widget); pref.show_toolbar = active; mutate_saved_config(edit_prefs_show_toolbar, &active); } void edit_prefs_show_legend(struct pref_struct *p, void *data) { p->show_legend = *(gboolean *)data; } void on_legend_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data) { GtkWidget *widget; gboolean active = gtk_check_menu_item_get_active(menuitem); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "legend_frame")); if (active) gtk_widget_show(widget); else gtk_widget_hide(widget); pref.show_legend = active; mutate_saved_config(edit_prefs_show_legend, &active); } void edit_prefs_show_statusbar(struct pref_struct *p, void *data) { p->show_statusbar = *(gboolean *)data; } void on_status_bar_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data) { gboolean active = gtk_check_menu_item_get_active(menuitem); if (active) gtk_widget_show(GTK_WIDGET(appdata.statusbar)); else gtk_widget_hide(GTK_WIDGET(appdata.statusbar)); pref.show_statusbar = active; mutate_saved_config(edit_prefs_show_statusbar, &active); } /* Help menu */ void on_about1_activate(GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *about; about = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "about1")); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about), VERSION); #ifdef PACKAGE_SCM_REV msg = g_strdup_printf("HG revision: %s", (*PACKAGE_SCM_REV) ? PACKAGE_SCM_REV : _("-unknown-")); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about), msg); g_free(msg); #endif gtk_widget_show(about); } /* on_about1_activate */ void on_help_activate(GtkMenuItem *menuitem, gpointer user_data) { GError *err = NULL; #if GTK_CHECK_VERSION(3, 22, 0) gtk_show_uri_on_window(NULL, "help:" PACKAGE_NAME, GDK_CURRENT_TIME, &err); #else gtk_show_uri(NULL, "help:" PACKAGE_NAME, GDK_CURRENT_TIME, &err); #endif } /* Helper functions */ #define EN_PLAY 1 #define EN_PAUSE 2 #define EN_NEXT 4 #define EN_STOP 8 static inline void set_widget_enabled_by_id(const gchar *id, gboolean onoff) { GtkWidget *w = GTK_WIDGET(gtk_builder_get_object(appdata.xml, id)); gtk_widget_set_sensitive(w, onoff); } static void set_ctrl_enablestate(guint32 flags) { set_widget_enabled_by_id("start_button", !!(flags & EN_PLAY)); set_widget_enabled_by_id("start_menuitem", !!(flags & EN_PLAY)); set_widget_enabled_by_id("pause_button", !!(flags & EN_PAUSE)); set_widget_enabled_by_id("pause_menuitem", !!(flags & EN_PAUSE)); set_widget_enabled_by_id("next_button", !!(flags & EN_NEXT)); set_widget_enabled_by_id("next_menuitem", !!(flags & EN_NEXT)); set_widget_enabled_by_id("stop_button", !!(flags & EN_STOP)); set_widget_enabled_by_id("stop_menuitem", !!(flags & EN_STOP)); } /* Sets up the GUI to reflect changes and calls start_capture() */ void gui_start_capture(void) { GtkWidget *widget; gchar *errorbuf = NULL; GString *status_string = NULL; if (get_capture_status() == CAP_EOF) if (!gui_stop_capture()) return; if (get_capture_status() == STOP) { if ((errorbuf = start_capture()) != NULL) { fatal_error_dialog(errorbuf); return; } } else if (get_capture_status() == PLAY) { g_warning(_("Status already PLAY at gui_start_capture")); return; } else if (get_capture_status() == PAUSE) { errorbuf = unpause_capture(); if (errorbuf) { fatal_error_dialog(errorbuf); return; } } in_start_capture = TRUE; /* Enable and disable control buttons */ set_ctrl_enablestate(EN_STOP|EN_PAUSE|(appdata.source.type == ST_FILE ? EN_NEXT : 0)); /* Enable and disable link layer menu */ set_widget_enabled_by_id("link_radio", has_linklevel()); /* Set active mode in GUI */ switch (appdata.mode) { case LINK6: widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "link_radio")); break; case IP: widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "ip_radio")); break; case TCP: widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "tcp_radio")); break; default: g_warning(_("Invalid mode: %d"), appdata.mode); return; } gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE); /* Set the interface in GUI */ set_active_interface(); /* Sets the statusbar */ status_string = g_string_new(_("Reading data from ")); if (appdata.source.type == ST_FILE && appdata.source.file) g_string_append(status_string, appdata.source.file); else if (appdata.source.interface) g_string_append(status_string, appdata.source.interface); else g_string_append(status_string, _("default interface")); switch (appdata.mode) { case LINK6: g_string_append(status_string, _(" in Data Link mode")); break; case IP: g_string_append(status_string, _(" in IP mode")); break; case TCP: g_string_append(status_string, _(" in TCP mode")); break; default: g_critical(_("Invalid mode: %d"), appdata.mode); return; } set_statusbar_msg(status_string->str); g_string_free(status_string, TRUE); in_start_capture = FALSE; g_my_info(_("Diagram started")); } /* gui_start_capture */ void gui_pause_capture(void) { gchar *err; /* * Make sure the data in the info windows is updated * so that it is consistent */ update_info_windows(NULL); err = pause_capture(); if (err) { g_error("Error pausing capture: %s", err); g_free(err); return; } set_ctrl_enablestate(EN_PLAY|EN_STOP); set_statusbar_msg(_("Paused")); g_my_info(_("Diagram paused")); dump_stats(0); } /* gui_pause_capture */ /* reached eof on a file replay */ void gui_eof_capture(void) { GString *status_string = NULL; if (get_capture_status() == STOP) return; set_ctrl_enablestate(EN_PLAY); /* Sets the statusbar */ status_string = g_string_new(""); g_string_printf(status_string, _("Replay from file '%s' completed."), appdata.source.file); set_statusbar_msg(status_string->str); g_string_free(status_string, TRUE); } /* gui_stop_capture */ /* Sets up the GUI to reflect changes and calls stop_capture() */ gboolean gui_stop_capture(void) { GString *status_string = NULL; gchar *err; stop_requested = FALSE; if (get_capture_status() == STOP) return TRUE; /* * gui_stop_capture needs to call update_diagram in order to * delete all canvas_nodes and nodes. But since a slow running * update_diagram will yield to pending events, gui_stop_capture * might end up being called below another update_diagram. We can't * allow two simultaneous calls, so we fail */ if (already_updating) { stop_requested = TRUE; return FALSE; } err = stop_capture(); if (err) { g_error(_("Failed to stop capture: %s"), err); g_free(err); return FALSE; } set_ctrl_enablestate(EN_PLAY); /* Delete and free protocol information */ delete_gui_protocols(); /* final diagram update */ update_diagram_callback(NULL); /* Sets the statusbar */ status_string = g_string_new(_("Ready to capture from ")); if (appdata.source.type == ST_FILE && appdata.source.file) g_string_append(status_string, appdata.source.file); else if (appdata.source.interface) g_string_append(status_string, appdata.source.interface); else g_string_append(status_string, _("default interface")); set_statusbar_msg(status_string->str); g_string_free(status_string, TRUE); g_my_info(_("Diagram stopped")); dump_stats(0); return TRUE; } /* gui_stop_capture */ void fatal_error_dialog(const gchar *message) { GtkWidget *error_messagebox; error_messagebox = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", message); gtk_dialog_run(GTK_DIALOG(error_messagebox)); gtk_widget_destroy(error_messagebox); } void setmenus(GtkWidget *widget, gpointer data) { const gchar *label; if (appdata.source.type == ST_FILE) { gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE); return; } label = gtk_label_get_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(widget)))); if (appdata.source.type == ST_LIVE && !strcmp(label, appdata.source.interface)) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE); } void set_active_interface() { GtkWidget *widget; widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "interfaces_menu")); gtk_container_foreach(GTK_CONTAINER(widget), setmenus, (gpointer)NULL); } etherape-0.9.20/src/Makefile.in0000644000175000017500000027740214034533752013176 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } 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@ bin_PROGRAMS = etherape$(EXEEXT) @HAVE_LIBCARES_TRUE@am__append_1 = names/ares_resolve.c names/ares_resolve.h @HAVE_LIBCARES_FALSE@am__append_2 = names/thread_resolve.c names/thread_resolve.h subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(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)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am__etherape_SOURCES_DIST = stats/basic_stats.c stats/basic_stats.h \ stats/conversations.c stats/conversations.h \ stats/decode_proto.c stats/decode_proto.h stats/links.c \ stats/links.h stats/node.c stats/node.h stats/node_id.c \ stats/node_id.h stats/protocols.c stats/protocols.h \ stats/prot_types.h stats/pkt_info.h stats/traffic_stats.c \ stats/traffic_stats.h stats/util.c stats/util.h \ names/eth_resolv.c names/eth_resolv.h names/dns.c names/dns.h \ names/ip-cache.c names/ip-cache.h names/names.c names/names.h \ names/names_netbios.c names/names_netbios.h capture/capture.c \ capture/capture.h capture/capctl.c capture/capctl.h \ capture/cap-util.c capture/cap-util.h capture/capctl-msg.h \ $(top_builddir)/config.h main.c main.h common.h appdata.c \ appdata.h callbacks.c callbacks.h compat.c compat.h \ datastructs.c datastructs.h diagram.c diagram.h export.c \ export.h info_windows.c info_windows.h menus.c menus.h \ node_windows.c node_windows.h pref_dialog.c pref_dialog.h \ preferences.c preferences.h ui_utils.c ui_utils.h \ names/ares_resolve.c names/ares_resolve.h \ names/thread_resolve.c names/thread_resolve.h am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = stats/etherape-basic_stats.$(OBJEXT) \ stats/etherape-conversations.$(OBJEXT) \ stats/etherape-decode_proto.$(OBJEXT) \ stats/etherape-links.$(OBJEXT) stats/etherape-node.$(OBJEXT) \ stats/etherape-node_id.$(OBJEXT) \ stats/etherape-protocols.$(OBJEXT) \ stats/etherape-traffic_stats.$(OBJEXT) \ stats/etherape-util.$(OBJEXT) am__objects_2 = names/etherape-eth_resolv.$(OBJEXT) \ names/etherape-dns.$(OBJEXT) names/etherape-ip-cache.$(OBJEXT) \ names/etherape-names.$(OBJEXT) \ names/etherape-names_netbios.$(OBJEXT) am__objects_3 = capture/etherape-capture.$(OBJEXT) \ capture/etherape-capctl.$(OBJEXT) \ capture/etherape-cap-util.$(OBJEXT) @HAVE_LIBCARES_TRUE@am__objects_4 = \ @HAVE_LIBCARES_TRUE@ names/etherape-ares_resolve.$(OBJEXT) @HAVE_LIBCARES_FALSE@am__objects_5 = \ @HAVE_LIBCARES_FALSE@ names/etherape-thread_resolve.$(OBJEXT) am_etherape_OBJECTS = $(am__objects_1) $(am__objects_2) \ $(am__objects_3) etherape-main.$(OBJEXT) \ etherape-appdata.$(OBJEXT) etherape-callbacks.$(OBJEXT) \ etherape-compat.$(OBJEXT) etherape-datastructs.$(OBJEXT) \ etherape-diagram.$(OBJEXT) etherape-export.$(OBJEXT) \ etherape-info_windows.$(OBJEXT) etherape-menus.$(OBJEXT) \ etherape-node_windows.$(OBJEXT) etherape-pref_dialog.$(OBJEXT) \ etherape-preferences.$(OBJEXT) etherape-ui_utils.$(OBJEXT) \ $(am__objects_4) $(am__objects_5) etherape_OBJECTS = $(am_etherape_OBJECTS) am__DEPENDENCIES_1 = etherape_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) 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 = etherape_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(etherape_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__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/etherape-appdata.Po \ ./$(DEPDIR)/etherape-callbacks.Po \ ./$(DEPDIR)/etherape-compat.Po \ ./$(DEPDIR)/etherape-datastructs.Po \ ./$(DEPDIR)/etherape-diagram.Po ./$(DEPDIR)/etherape-export.Po \ ./$(DEPDIR)/etherape-info_windows.Po \ ./$(DEPDIR)/etherape-main.Po ./$(DEPDIR)/etherape-menus.Po \ ./$(DEPDIR)/etherape-node_windows.Po \ ./$(DEPDIR)/etherape-pref_dialog.Po \ ./$(DEPDIR)/etherape-preferences.Po \ ./$(DEPDIR)/etherape-ui_utils.Po \ capture/$(DEPDIR)/etherape-cap-util.Po \ capture/$(DEPDIR)/etherape-capctl.Po \ capture/$(DEPDIR)/etherape-capture.Po \ names/$(DEPDIR)/etherape-ares_resolve.Po \ names/$(DEPDIR)/etherape-dns.Po \ names/$(DEPDIR)/etherape-eth_resolv.Po \ names/$(DEPDIR)/etherape-ip-cache.Po \ names/$(DEPDIR)/etherape-names.Po \ names/$(DEPDIR)/etherape-names_netbios.Po \ names/$(DEPDIR)/etherape-thread_resolve.Po \ stats/$(DEPDIR)/etherape-basic_stats.Po \ stats/$(DEPDIR)/etherape-conversations.Po \ stats/$(DEPDIR)/etherape-decode_proto.Po \ stats/$(DEPDIR)/etherape-links.Po \ stats/$(DEPDIR)/etherape-node.Po \ stats/$(DEPDIR)/etherape-node_id.Po \ stats/$(DEPDIR)/etherape-protocols.Po \ stats/$(DEPDIR)/etherape-traffic_stats.Po \ stats/$(DEPDIR)/etherape-util.Po 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 = SOURCES = $(etherape_SOURCES) DIST_SOURCES = $(am__etherape_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 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/mkinstalldirs 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@ 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@ ETHERAPE_CFLAGS = @ETHERAPE_CFLAGS@ ETHERAPE_LDFLAGS = @ETHERAPE_LDFLAGS@ ETHERAPE_LIBS = @ETHERAPE_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PCAP_LIBS = @PCAP_LIBS@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ 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_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@ ax_pthread_config = @ax_pthread_config@ 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@ runstatedir = @runstatedir@ 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@ AUTOMAKE_OPTIONS = subdir-objects confdir = $(sysconfdir)/etherape gladedir = $(datadir)/etherape/glade etherape_CPPFLAGS = \ -I$(top_srcdir)/intl \ -DGSEAL_ENABLE \ -DGLADEDIR=\""$(gladedir)"\" \ -DCONFDIR=\""$(confdir)"\" \ $(WARN_CFLAGS) \ $(PTHREAD_CFLAGS) \ $(ETHERAPE_CFLAGS) \ $(CANVAS_CFLAGS) etherape_names_SOURCES = \ names/eth_resolv.c names/eth_resolv.h \ names/dns.c names/dns.h \ names/ip-cache.c names/ip-cache.h \ names/names.c names/names.h \ names/names_netbios.c names/names_netbios.h # statistics sources etherape_stats_SOURCES = \ stats/basic_stats.c stats/basic_stats.h \ stats/conversations.c stats/conversations.h \ stats/decode_proto.c stats/decode_proto.h \ stats/links.c stats/links.h \ stats/node.c stats/node.h \ stats/node_id.c stats/node_id.h \ stats/protocols.c stats/protocols.h \ stats/prot_types.h stats/pkt_info.h \ stats/traffic_stats.c stats/traffic_stats.h \ stats/util.c stats/util.h # capture sources etherape_capture_SOURCES = \ capture/capture.c capture/capture.h \ capture/capctl.c capture/capctl.h \ capture/cap-util.c capture/cap-util.h \ capture/capctl-msg.h etherape_SOURCES = $(etherape_stats_SOURCES) $(etherape_names_SOURCES) \ $(etherape_capture_SOURCES) $(top_builddir)/config.h main.c \ main.h common.h appdata.c appdata.h callbacks.c callbacks.h \ compat.c compat.h datastructs.c datastructs.h diagram.c \ diagram.h export.c export.h info_windows.c info_windows.h \ menus.c menus.h node_windows.c node_windows.h pref_dialog.c \ pref_dialog.h preferences.c preferences.h ui_utils.c \ ui_utils.h $(am__append_1) $(am__append_2) etherape_LDADD = $(ETHERAPE_LIBS) $(PCAP_LIBS) $(PTHREAD_LIBS) $(PTHREAD_CFLAGS) etherape_LDFLAGS = $(ETHERAPE_LDFLAGS) all: all-am .SUFFIXES: .SUFFIXES: .c .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) --foreign src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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-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 stats/$(am__dirstamp): @$(MKDIR_P) stats @: > stats/$(am__dirstamp) stats/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) stats/$(DEPDIR) @: > stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-basic_stats.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-conversations.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-decode_proto.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-links.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-node.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-node_id.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-protocols.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-traffic_stats.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) stats/etherape-util.$(OBJEXT): stats/$(am__dirstamp) \ stats/$(DEPDIR)/$(am__dirstamp) names/$(am__dirstamp): @$(MKDIR_P) names @: > names/$(am__dirstamp) names/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) names/$(DEPDIR) @: > names/$(DEPDIR)/$(am__dirstamp) names/etherape-eth_resolv.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) names/etherape-dns.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) names/etherape-ip-cache.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) names/etherape-names.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) names/etherape-names_netbios.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) capture/$(am__dirstamp): @$(MKDIR_P) capture @: > capture/$(am__dirstamp) capture/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) capture/$(DEPDIR) @: > capture/$(DEPDIR)/$(am__dirstamp) capture/etherape-capture.$(OBJEXT): capture/$(am__dirstamp) \ capture/$(DEPDIR)/$(am__dirstamp) capture/etherape-capctl.$(OBJEXT): capture/$(am__dirstamp) \ capture/$(DEPDIR)/$(am__dirstamp) capture/etherape-cap-util.$(OBJEXT): capture/$(am__dirstamp) \ capture/$(DEPDIR)/$(am__dirstamp) names/etherape-ares_resolve.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) names/etherape-thread_resolve.$(OBJEXT): names/$(am__dirstamp) \ names/$(DEPDIR)/$(am__dirstamp) etherape$(EXEEXT): $(etherape_OBJECTS) $(etherape_DEPENDENCIES) $(EXTRA_etherape_DEPENDENCIES) @rm -f etherape$(EXEEXT) $(AM_V_CCLD)$(etherape_LINK) $(etherape_OBJECTS) $(etherape_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f capture/*.$(OBJEXT) -rm -f names/*.$(OBJEXT) -rm -f stats/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-appdata.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-callbacks.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-compat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-datastructs.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-diagram.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-export.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-info_windows.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-menus.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-node_windows.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-pref_dialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-preferences.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etherape-ui_utils.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@capture/$(DEPDIR)/etherape-cap-util.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@capture/$(DEPDIR)/etherape-capctl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@capture/$(DEPDIR)/etherape-capture.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-ares_resolve.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-dns.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-eth_resolv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-ip-cache.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-names.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-names_netbios.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@names/$(DEPDIR)/etherape-thread_resolve.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-basic_stats.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-conversations.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-decode_proto.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-links.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-node.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-node_id.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-protocols.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-traffic_stats.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@stats/$(DEPDIR)/etherape-util.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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 $@ $< stats/etherape-basic_stats.o: stats/basic_stats.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-basic_stats.o -MD -MP -MF stats/$(DEPDIR)/etherape-basic_stats.Tpo -c -o stats/etherape-basic_stats.o `test -f 'stats/basic_stats.c' || echo '$(srcdir)/'`stats/basic_stats.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-basic_stats.Tpo stats/$(DEPDIR)/etherape-basic_stats.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/basic_stats.c' object='stats/etherape-basic_stats.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-basic_stats.o `test -f 'stats/basic_stats.c' || echo '$(srcdir)/'`stats/basic_stats.c stats/etherape-basic_stats.obj: stats/basic_stats.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-basic_stats.obj -MD -MP -MF stats/$(DEPDIR)/etherape-basic_stats.Tpo -c -o stats/etherape-basic_stats.obj `if test -f 'stats/basic_stats.c'; then $(CYGPATH_W) 'stats/basic_stats.c'; else $(CYGPATH_W) '$(srcdir)/stats/basic_stats.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-basic_stats.Tpo stats/$(DEPDIR)/etherape-basic_stats.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/basic_stats.c' object='stats/etherape-basic_stats.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-basic_stats.obj `if test -f 'stats/basic_stats.c'; then $(CYGPATH_W) 'stats/basic_stats.c'; else $(CYGPATH_W) '$(srcdir)/stats/basic_stats.c'; fi` stats/etherape-conversations.o: stats/conversations.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-conversations.o -MD -MP -MF stats/$(DEPDIR)/etherape-conversations.Tpo -c -o stats/etherape-conversations.o `test -f 'stats/conversations.c' || echo '$(srcdir)/'`stats/conversations.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-conversations.Tpo stats/$(DEPDIR)/etherape-conversations.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/conversations.c' object='stats/etherape-conversations.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-conversations.o `test -f 'stats/conversations.c' || echo '$(srcdir)/'`stats/conversations.c stats/etherape-conversations.obj: stats/conversations.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-conversations.obj -MD -MP -MF stats/$(DEPDIR)/etherape-conversations.Tpo -c -o stats/etherape-conversations.obj `if test -f 'stats/conversations.c'; then $(CYGPATH_W) 'stats/conversations.c'; else $(CYGPATH_W) '$(srcdir)/stats/conversations.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-conversations.Tpo stats/$(DEPDIR)/etherape-conversations.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/conversations.c' object='stats/etherape-conversations.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-conversations.obj `if test -f 'stats/conversations.c'; then $(CYGPATH_W) 'stats/conversations.c'; else $(CYGPATH_W) '$(srcdir)/stats/conversations.c'; fi` stats/etherape-decode_proto.o: stats/decode_proto.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-decode_proto.o -MD -MP -MF stats/$(DEPDIR)/etherape-decode_proto.Tpo -c -o stats/etherape-decode_proto.o `test -f 'stats/decode_proto.c' || echo '$(srcdir)/'`stats/decode_proto.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-decode_proto.Tpo stats/$(DEPDIR)/etherape-decode_proto.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/decode_proto.c' object='stats/etherape-decode_proto.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-decode_proto.o `test -f 'stats/decode_proto.c' || echo '$(srcdir)/'`stats/decode_proto.c stats/etherape-decode_proto.obj: stats/decode_proto.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-decode_proto.obj -MD -MP -MF stats/$(DEPDIR)/etherape-decode_proto.Tpo -c -o stats/etherape-decode_proto.obj `if test -f 'stats/decode_proto.c'; then $(CYGPATH_W) 'stats/decode_proto.c'; else $(CYGPATH_W) '$(srcdir)/stats/decode_proto.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-decode_proto.Tpo stats/$(DEPDIR)/etherape-decode_proto.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/decode_proto.c' object='stats/etherape-decode_proto.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-decode_proto.obj `if test -f 'stats/decode_proto.c'; then $(CYGPATH_W) 'stats/decode_proto.c'; else $(CYGPATH_W) '$(srcdir)/stats/decode_proto.c'; fi` stats/etherape-links.o: stats/links.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-links.o -MD -MP -MF stats/$(DEPDIR)/etherape-links.Tpo -c -o stats/etherape-links.o `test -f 'stats/links.c' || echo '$(srcdir)/'`stats/links.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-links.Tpo stats/$(DEPDIR)/etherape-links.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/links.c' object='stats/etherape-links.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-links.o `test -f 'stats/links.c' || echo '$(srcdir)/'`stats/links.c stats/etherape-links.obj: stats/links.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-links.obj -MD -MP -MF stats/$(DEPDIR)/etherape-links.Tpo -c -o stats/etherape-links.obj `if test -f 'stats/links.c'; then $(CYGPATH_W) 'stats/links.c'; else $(CYGPATH_W) '$(srcdir)/stats/links.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-links.Tpo stats/$(DEPDIR)/etherape-links.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/links.c' object='stats/etherape-links.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-links.obj `if test -f 'stats/links.c'; then $(CYGPATH_W) 'stats/links.c'; else $(CYGPATH_W) '$(srcdir)/stats/links.c'; fi` stats/etherape-node.o: stats/node.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-node.o -MD -MP -MF stats/$(DEPDIR)/etherape-node.Tpo -c -o stats/etherape-node.o `test -f 'stats/node.c' || echo '$(srcdir)/'`stats/node.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-node.Tpo stats/$(DEPDIR)/etherape-node.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/node.c' object='stats/etherape-node.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-node.o `test -f 'stats/node.c' || echo '$(srcdir)/'`stats/node.c stats/etherape-node.obj: stats/node.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-node.obj -MD -MP -MF stats/$(DEPDIR)/etherape-node.Tpo -c -o stats/etherape-node.obj `if test -f 'stats/node.c'; then $(CYGPATH_W) 'stats/node.c'; else $(CYGPATH_W) '$(srcdir)/stats/node.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-node.Tpo stats/$(DEPDIR)/etherape-node.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/node.c' object='stats/etherape-node.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-node.obj `if test -f 'stats/node.c'; then $(CYGPATH_W) 'stats/node.c'; else $(CYGPATH_W) '$(srcdir)/stats/node.c'; fi` stats/etherape-node_id.o: stats/node_id.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-node_id.o -MD -MP -MF stats/$(DEPDIR)/etherape-node_id.Tpo -c -o stats/etherape-node_id.o `test -f 'stats/node_id.c' || echo '$(srcdir)/'`stats/node_id.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-node_id.Tpo stats/$(DEPDIR)/etherape-node_id.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/node_id.c' object='stats/etherape-node_id.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-node_id.o `test -f 'stats/node_id.c' || echo '$(srcdir)/'`stats/node_id.c stats/etherape-node_id.obj: stats/node_id.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-node_id.obj -MD -MP -MF stats/$(DEPDIR)/etherape-node_id.Tpo -c -o stats/etherape-node_id.obj `if test -f 'stats/node_id.c'; then $(CYGPATH_W) 'stats/node_id.c'; else $(CYGPATH_W) '$(srcdir)/stats/node_id.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-node_id.Tpo stats/$(DEPDIR)/etherape-node_id.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/node_id.c' object='stats/etherape-node_id.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-node_id.obj `if test -f 'stats/node_id.c'; then $(CYGPATH_W) 'stats/node_id.c'; else $(CYGPATH_W) '$(srcdir)/stats/node_id.c'; fi` stats/etherape-protocols.o: stats/protocols.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-protocols.o -MD -MP -MF stats/$(DEPDIR)/etherape-protocols.Tpo -c -o stats/etherape-protocols.o `test -f 'stats/protocols.c' || echo '$(srcdir)/'`stats/protocols.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-protocols.Tpo stats/$(DEPDIR)/etherape-protocols.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/protocols.c' object='stats/etherape-protocols.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-protocols.o `test -f 'stats/protocols.c' || echo '$(srcdir)/'`stats/protocols.c stats/etherape-protocols.obj: stats/protocols.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-protocols.obj -MD -MP -MF stats/$(DEPDIR)/etherape-protocols.Tpo -c -o stats/etherape-protocols.obj `if test -f 'stats/protocols.c'; then $(CYGPATH_W) 'stats/protocols.c'; else $(CYGPATH_W) '$(srcdir)/stats/protocols.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-protocols.Tpo stats/$(DEPDIR)/etherape-protocols.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/protocols.c' object='stats/etherape-protocols.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-protocols.obj `if test -f 'stats/protocols.c'; then $(CYGPATH_W) 'stats/protocols.c'; else $(CYGPATH_W) '$(srcdir)/stats/protocols.c'; fi` stats/etherape-traffic_stats.o: stats/traffic_stats.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-traffic_stats.o -MD -MP -MF stats/$(DEPDIR)/etherape-traffic_stats.Tpo -c -o stats/etherape-traffic_stats.o `test -f 'stats/traffic_stats.c' || echo '$(srcdir)/'`stats/traffic_stats.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-traffic_stats.Tpo stats/$(DEPDIR)/etherape-traffic_stats.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/traffic_stats.c' object='stats/etherape-traffic_stats.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-traffic_stats.o `test -f 'stats/traffic_stats.c' || echo '$(srcdir)/'`stats/traffic_stats.c stats/etherape-traffic_stats.obj: stats/traffic_stats.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-traffic_stats.obj -MD -MP -MF stats/$(DEPDIR)/etherape-traffic_stats.Tpo -c -o stats/etherape-traffic_stats.obj `if test -f 'stats/traffic_stats.c'; then $(CYGPATH_W) 'stats/traffic_stats.c'; else $(CYGPATH_W) '$(srcdir)/stats/traffic_stats.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-traffic_stats.Tpo stats/$(DEPDIR)/etherape-traffic_stats.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/traffic_stats.c' object='stats/etherape-traffic_stats.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-traffic_stats.obj `if test -f 'stats/traffic_stats.c'; then $(CYGPATH_W) 'stats/traffic_stats.c'; else $(CYGPATH_W) '$(srcdir)/stats/traffic_stats.c'; fi` stats/etherape-util.o: stats/util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-util.o -MD -MP -MF stats/$(DEPDIR)/etherape-util.Tpo -c -o stats/etherape-util.o `test -f 'stats/util.c' || echo '$(srcdir)/'`stats/util.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-util.Tpo stats/$(DEPDIR)/etherape-util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/util.c' object='stats/etherape-util.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-util.o `test -f 'stats/util.c' || echo '$(srcdir)/'`stats/util.c stats/etherape-util.obj: stats/util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats/etherape-util.obj -MD -MP -MF stats/$(DEPDIR)/etherape-util.Tpo -c -o stats/etherape-util.obj `if test -f 'stats/util.c'; then $(CYGPATH_W) 'stats/util.c'; else $(CYGPATH_W) '$(srcdir)/stats/util.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stats/$(DEPDIR)/etherape-util.Tpo stats/$(DEPDIR)/etherape-util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stats/util.c' object='stats/etherape-util.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats/etherape-util.obj `if test -f 'stats/util.c'; then $(CYGPATH_W) 'stats/util.c'; else $(CYGPATH_W) '$(srcdir)/stats/util.c'; fi` names/etherape-eth_resolv.o: names/eth_resolv.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-eth_resolv.o -MD -MP -MF names/$(DEPDIR)/etherape-eth_resolv.Tpo -c -o names/etherape-eth_resolv.o `test -f 'names/eth_resolv.c' || echo '$(srcdir)/'`names/eth_resolv.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-eth_resolv.Tpo names/$(DEPDIR)/etherape-eth_resolv.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/eth_resolv.c' object='names/etherape-eth_resolv.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-eth_resolv.o `test -f 'names/eth_resolv.c' || echo '$(srcdir)/'`names/eth_resolv.c names/etherape-eth_resolv.obj: names/eth_resolv.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-eth_resolv.obj -MD -MP -MF names/$(DEPDIR)/etherape-eth_resolv.Tpo -c -o names/etherape-eth_resolv.obj `if test -f 'names/eth_resolv.c'; then $(CYGPATH_W) 'names/eth_resolv.c'; else $(CYGPATH_W) '$(srcdir)/names/eth_resolv.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-eth_resolv.Tpo names/$(DEPDIR)/etherape-eth_resolv.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/eth_resolv.c' object='names/etherape-eth_resolv.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-eth_resolv.obj `if test -f 'names/eth_resolv.c'; then $(CYGPATH_W) 'names/eth_resolv.c'; else $(CYGPATH_W) '$(srcdir)/names/eth_resolv.c'; fi` names/etherape-dns.o: names/dns.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-dns.o -MD -MP -MF names/$(DEPDIR)/etherape-dns.Tpo -c -o names/etherape-dns.o `test -f 'names/dns.c' || echo '$(srcdir)/'`names/dns.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-dns.Tpo names/$(DEPDIR)/etherape-dns.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/dns.c' object='names/etherape-dns.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-dns.o `test -f 'names/dns.c' || echo '$(srcdir)/'`names/dns.c names/etherape-dns.obj: names/dns.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-dns.obj -MD -MP -MF names/$(DEPDIR)/etherape-dns.Tpo -c -o names/etherape-dns.obj `if test -f 'names/dns.c'; then $(CYGPATH_W) 'names/dns.c'; else $(CYGPATH_W) '$(srcdir)/names/dns.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-dns.Tpo names/$(DEPDIR)/etherape-dns.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/dns.c' object='names/etherape-dns.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-dns.obj `if test -f 'names/dns.c'; then $(CYGPATH_W) 'names/dns.c'; else $(CYGPATH_W) '$(srcdir)/names/dns.c'; fi` names/etherape-ip-cache.o: names/ip-cache.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-ip-cache.o -MD -MP -MF names/$(DEPDIR)/etherape-ip-cache.Tpo -c -o names/etherape-ip-cache.o `test -f 'names/ip-cache.c' || echo '$(srcdir)/'`names/ip-cache.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-ip-cache.Tpo names/$(DEPDIR)/etherape-ip-cache.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/ip-cache.c' object='names/etherape-ip-cache.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-ip-cache.o `test -f 'names/ip-cache.c' || echo '$(srcdir)/'`names/ip-cache.c names/etherape-ip-cache.obj: names/ip-cache.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-ip-cache.obj -MD -MP -MF names/$(DEPDIR)/etherape-ip-cache.Tpo -c -o names/etherape-ip-cache.obj `if test -f 'names/ip-cache.c'; then $(CYGPATH_W) 'names/ip-cache.c'; else $(CYGPATH_W) '$(srcdir)/names/ip-cache.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-ip-cache.Tpo names/$(DEPDIR)/etherape-ip-cache.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/ip-cache.c' object='names/etherape-ip-cache.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-ip-cache.obj `if test -f 'names/ip-cache.c'; then $(CYGPATH_W) 'names/ip-cache.c'; else $(CYGPATH_W) '$(srcdir)/names/ip-cache.c'; fi` names/etherape-names.o: names/names.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-names.o -MD -MP -MF names/$(DEPDIR)/etherape-names.Tpo -c -o names/etherape-names.o `test -f 'names/names.c' || echo '$(srcdir)/'`names/names.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-names.Tpo names/$(DEPDIR)/etherape-names.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/names.c' object='names/etherape-names.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-names.o `test -f 'names/names.c' || echo '$(srcdir)/'`names/names.c names/etherape-names.obj: names/names.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-names.obj -MD -MP -MF names/$(DEPDIR)/etherape-names.Tpo -c -o names/etherape-names.obj `if test -f 'names/names.c'; then $(CYGPATH_W) 'names/names.c'; else $(CYGPATH_W) '$(srcdir)/names/names.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-names.Tpo names/$(DEPDIR)/etherape-names.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/names.c' object='names/etherape-names.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-names.obj `if test -f 'names/names.c'; then $(CYGPATH_W) 'names/names.c'; else $(CYGPATH_W) '$(srcdir)/names/names.c'; fi` names/etherape-names_netbios.o: names/names_netbios.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-names_netbios.o -MD -MP -MF names/$(DEPDIR)/etherape-names_netbios.Tpo -c -o names/etherape-names_netbios.o `test -f 'names/names_netbios.c' || echo '$(srcdir)/'`names/names_netbios.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-names_netbios.Tpo names/$(DEPDIR)/etherape-names_netbios.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/names_netbios.c' object='names/etherape-names_netbios.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-names_netbios.o `test -f 'names/names_netbios.c' || echo '$(srcdir)/'`names/names_netbios.c names/etherape-names_netbios.obj: names/names_netbios.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-names_netbios.obj -MD -MP -MF names/$(DEPDIR)/etherape-names_netbios.Tpo -c -o names/etherape-names_netbios.obj `if test -f 'names/names_netbios.c'; then $(CYGPATH_W) 'names/names_netbios.c'; else $(CYGPATH_W) '$(srcdir)/names/names_netbios.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-names_netbios.Tpo names/$(DEPDIR)/etherape-names_netbios.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/names_netbios.c' object='names/etherape-names_netbios.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-names_netbios.obj `if test -f 'names/names_netbios.c'; then $(CYGPATH_W) 'names/names_netbios.c'; else $(CYGPATH_W) '$(srcdir)/names/names_netbios.c'; fi` capture/etherape-capture.o: capture/capture.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT capture/etherape-capture.o -MD -MP -MF capture/$(DEPDIR)/etherape-capture.Tpo -c -o capture/etherape-capture.o `test -f 'capture/capture.c' || echo '$(srcdir)/'`capture/capture.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) capture/$(DEPDIR)/etherape-capture.Tpo capture/$(DEPDIR)/etherape-capture.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='capture/capture.c' object='capture/etherape-capture.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o capture/etherape-capture.o `test -f 'capture/capture.c' || echo '$(srcdir)/'`capture/capture.c capture/etherape-capture.obj: capture/capture.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT capture/etherape-capture.obj -MD -MP -MF capture/$(DEPDIR)/etherape-capture.Tpo -c -o capture/etherape-capture.obj `if test -f 'capture/capture.c'; then $(CYGPATH_W) 'capture/capture.c'; else $(CYGPATH_W) '$(srcdir)/capture/capture.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) capture/$(DEPDIR)/etherape-capture.Tpo capture/$(DEPDIR)/etherape-capture.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='capture/capture.c' object='capture/etherape-capture.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o capture/etherape-capture.obj `if test -f 'capture/capture.c'; then $(CYGPATH_W) 'capture/capture.c'; else $(CYGPATH_W) '$(srcdir)/capture/capture.c'; fi` capture/etherape-capctl.o: capture/capctl.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT capture/etherape-capctl.o -MD -MP -MF capture/$(DEPDIR)/etherape-capctl.Tpo -c -o capture/etherape-capctl.o `test -f 'capture/capctl.c' || echo '$(srcdir)/'`capture/capctl.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) capture/$(DEPDIR)/etherape-capctl.Tpo capture/$(DEPDIR)/etherape-capctl.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='capture/capctl.c' object='capture/etherape-capctl.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o capture/etherape-capctl.o `test -f 'capture/capctl.c' || echo '$(srcdir)/'`capture/capctl.c capture/etherape-capctl.obj: capture/capctl.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT capture/etherape-capctl.obj -MD -MP -MF capture/$(DEPDIR)/etherape-capctl.Tpo -c -o capture/etherape-capctl.obj `if test -f 'capture/capctl.c'; then $(CYGPATH_W) 'capture/capctl.c'; else $(CYGPATH_W) '$(srcdir)/capture/capctl.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) capture/$(DEPDIR)/etherape-capctl.Tpo capture/$(DEPDIR)/etherape-capctl.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='capture/capctl.c' object='capture/etherape-capctl.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o capture/etherape-capctl.obj `if test -f 'capture/capctl.c'; then $(CYGPATH_W) 'capture/capctl.c'; else $(CYGPATH_W) '$(srcdir)/capture/capctl.c'; fi` capture/etherape-cap-util.o: capture/cap-util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT capture/etherape-cap-util.o -MD -MP -MF capture/$(DEPDIR)/etherape-cap-util.Tpo -c -o capture/etherape-cap-util.o `test -f 'capture/cap-util.c' || echo '$(srcdir)/'`capture/cap-util.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) capture/$(DEPDIR)/etherape-cap-util.Tpo capture/$(DEPDIR)/etherape-cap-util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='capture/cap-util.c' object='capture/etherape-cap-util.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o capture/etherape-cap-util.o `test -f 'capture/cap-util.c' || echo '$(srcdir)/'`capture/cap-util.c capture/etherape-cap-util.obj: capture/cap-util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT capture/etherape-cap-util.obj -MD -MP -MF capture/$(DEPDIR)/etherape-cap-util.Tpo -c -o capture/etherape-cap-util.obj `if test -f 'capture/cap-util.c'; then $(CYGPATH_W) 'capture/cap-util.c'; else $(CYGPATH_W) '$(srcdir)/capture/cap-util.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) capture/$(DEPDIR)/etherape-cap-util.Tpo capture/$(DEPDIR)/etherape-cap-util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='capture/cap-util.c' object='capture/etherape-cap-util.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o capture/etherape-cap-util.obj `if test -f 'capture/cap-util.c'; then $(CYGPATH_W) 'capture/cap-util.c'; else $(CYGPATH_W) '$(srcdir)/capture/cap-util.c'; fi` etherape-main.o: main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-main.o -MD -MP -MF $(DEPDIR)/etherape-main.Tpo -c -o etherape-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-main.Tpo $(DEPDIR)/etherape-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='etherape-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c etherape-main.obj: main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-main.obj -MD -MP -MF $(DEPDIR)/etherape-main.Tpo -c -o etherape-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-main.Tpo $(DEPDIR)/etherape-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='etherape-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` etherape-appdata.o: appdata.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-appdata.o -MD -MP -MF $(DEPDIR)/etherape-appdata.Tpo -c -o etherape-appdata.o `test -f 'appdata.c' || echo '$(srcdir)/'`appdata.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-appdata.Tpo $(DEPDIR)/etherape-appdata.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='appdata.c' object='etherape-appdata.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-appdata.o `test -f 'appdata.c' || echo '$(srcdir)/'`appdata.c etherape-appdata.obj: appdata.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-appdata.obj -MD -MP -MF $(DEPDIR)/etherape-appdata.Tpo -c -o etherape-appdata.obj `if test -f 'appdata.c'; then $(CYGPATH_W) 'appdata.c'; else $(CYGPATH_W) '$(srcdir)/appdata.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-appdata.Tpo $(DEPDIR)/etherape-appdata.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='appdata.c' object='etherape-appdata.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-appdata.obj `if test -f 'appdata.c'; then $(CYGPATH_W) 'appdata.c'; else $(CYGPATH_W) '$(srcdir)/appdata.c'; fi` etherape-callbacks.o: callbacks.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-callbacks.o -MD -MP -MF $(DEPDIR)/etherape-callbacks.Tpo -c -o etherape-callbacks.o `test -f 'callbacks.c' || echo '$(srcdir)/'`callbacks.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-callbacks.Tpo $(DEPDIR)/etherape-callbacks.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='callbacks.c' object='etherape-callbacks.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-callbacks.o `test -f 'callbacks.c' || echo '$(srcdir)/'`callbacks.c etherape-callbacks.obj: callbacks.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-callbacks.obj -MD -MP -MF $(DEPDIR)/etherape-callbacks.Tpo -c -o etherape-callbacks.obj `if test -f 'callbacks.c'; then $(CYGPATH_W) 'callbacks.c'; else $(CYGPATH_W) '$(srcdir)/callbacks.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-callbacks.Tpo $(DEPDIR)/etherape-callbacks.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='callbacks.c' object='etherape-callbacks.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-callbacks.obj `if test -f 'callbacks.c'; then $(CYGPATH_W) 'callbacks.c'; else $(CYGPATH_W) '$(srcdir)/callbacks.c'; fi` etherape-compat.o: compat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-compat.o -MD -MP -MF $(DEPDIR)/etherape-compat.Tpo -c -o etherape-compat.o `test -f 'compat.c' || echo '$(srcdir)/'`compat.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-compat.Tpo $(DEPDIR)/etherape-compat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat.c' object='etherape-compat.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-compat.o `test -f 'compat.c' || echo '$(srcdir)/'`compat.c etherape-compat.obj: compat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-compat.obj -MD -MP -MF $(DEPDIR)/etherape-compat.Tpo -c -o etherape-compat.obj `if test -f 'compat.c'; then $(CYGPATH_W) 'compat.c'; else $(CYGPATH_W) '$(srcdir)/compat.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-compat.Tpo $(DEPDIR)/etherape-compat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat.c' object='etherape-compat.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-compat.obj `if test -f 'compat.c'; then $(CYGPATH_W) 'compat.c'; else $(CYGPATH_W) '$(srcdir)/compat.c'; fi` etherape-datastructs.o: datastructs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-datastructs.o -MD -MP -MF $(DEPDIR)/etherape-datastructs.Tpo -c -o etherape-datastructs.o `test -f 'datastructs.c' || echo '$(srcdir)/'`datastructs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-datastructs.Tpo $(DEPDIR)/etherape-datastructs.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='datastructs.c' object='etherape-datastructs.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-datastructs.o `test -f 'datastructs.c' || echo '$(srcdir)/'`datastructs.c etherape-datastructs.obj: datastructs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-datastructs.obj -MD -MP -MF $(DEPDIR)/etherape-datastructs.Tpo -c -o etherape-datastructs.obj `if test -f 'datastructs.c'; then $(CYGPATH_W) 'datastructs.c'; else $(CYGPATH_W) '$(srcdir)/datastructs.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-datastructs.Tpo $(DEPDIR)/etherape-datastructs.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='datastructs.c' object='etherape-datastructs.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-datastructs.obj `if test -f 'datastructs.c'; then $(CYGPATH_W) 'datastructs.c'; else $(CYGPATH_W) '$(srcdir)/datastructs.c'; fi` etherape-diagram.o: diagram.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-diagram.o -MD -MP -MF $(DEPDIR)/etherape-diagram.Tpo -c -o etherape-diagram.o `test -f 'diagram.c' || echo '$(srcdir)/'`diagram.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-diagram.Tpo $(DEPDIR)/etherape-diagram.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='diagram.c' object='etherape-diagram.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-diagram.o `test -f 'diagram.c' || echo '$(srcdir)/'`diagram.c etherape-diagram.obj: diagram.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-diagram.obj -MD -MP -MF $(DEPDIR)/etherape-diagram.Tpo -c -o etherape-diagram.obj `if test -f 'diagram.c'; then $(CYGPATH_W) 'diagram.c'; else $(CYGPATH_W) '$(srcdir)/diagram.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-diagram.Tpo $(DEPDIR)/etherape-diagram.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='diagram.c' object='etherape-diagram.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-diagram.obj `if test -f 'diagram.c'; then $(CYGPATH_W) 'diagram.c'; else $(CYGPATH_W) '$(srcdir)/diagram.c'; fi` etherape-export.o: export.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-export.o -MD -MP -MF $(DEPDIR)/etherape-export.Tpo -c -o etherape-export.o `test -f 'export.c' || echo '$(srcdir)/'`export.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-export.Tpo $(DEPDIR)/etherape-export.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='export.c' object='etherape-export.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-export.o `test -f 'export.c' || echo '$(srcdir)/'`export.c etherape-export.obj: export.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-export.obj -MD -MP -MF $(DEPDIR)/etherape-export.Tpo -c -o etherape-export.obj `if test -f 'export.c'; then $(CYGPATH_W) 'export.c'; else $(CYGPATH_W) '$(srcdir)/export.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-export.Tpo $(DEPDIR)/etherape-export.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='export.c' object='etherape-export.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-export.obj `if test -f 'export.c'; then $(CYGPATH_W) 'export.c'; else $(CYGPATH_W) '$(srcdir)/export.c'; fi` etherape-info_windows.o: info_windows.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-info_windows.o -MD -MP -MF $(DEPDIR)/etherape-info_windows.Tpo -c -o etherape-info_windows.o `test -f 'info_windows.c' || echo '$(srcdir)/'`info_windows.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-info_windows.Tpo $(DEPDIR)/etherape-info_windows.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='info_windows.c' object='etherape-info_windows.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-info_windows.o `test -f 'info_windows.c' || echo '$(srcdir)/'`info_windows.c etherape-info_windows.obj: info_windows.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-info_windows.obj -MD -MP -MF $(DEPDIR)/etherape-info_windows.Tpo -c -o etherape-info_windows.obj `if test -f 'info_windows.c'; then $(CYGPATH_W) 'info_windows.c'; else $(CYGPATH_W) '$(srcdir)/info_windows.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-info_windows.Tpo $(DEPDIR)/etherape-info_windows.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='info_windows.c' object='etherape-info_windows.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-info_windows.obj `if test -f 'info_windows.c'; then $(CYGPATH_W) 'info_windows.c'; else $(CYGPATH_W) '$(srcdir)/info_windows.c'; fi` etherape-menus.o: menus.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-menus.o -MD -MP -MF $(DEPDIR)/etherape-menus.Tpo -c -o etherape-menus.o `test -f 'menus.c' || echo '$(srcdir)/'`menus.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-menus.Tpo $(DEPDIR)/etherape-menus.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='menus.c' object='etherape-menus.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-menus.o `test -f 'menus.c' || echo '$(srcdir)/'`menus.c etherape-menus.obj: menus.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-menus.obj -MD -MP -MF $(DEPDIR)/etherape-menus.Tpo -c -o etherape-menus.obj `if test -f 'menus.c'; then $(CYGPATH_W) 'menus.c'; else $(CYGPATH_W) '$(srcdir)/menus.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-menus.Tpo $(DEPDIR)/etherape-menus.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='menus.c' object='etherape-menus.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-menus.obj `if test -f 'menus.c'; then $(CYGPATH_W) 'menus.c'; else $(CYGPATH_W) '$(srcdir)/menus.c'; fi` etherape-node_windows.o: node_windows.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-node_windows.o -MD -MP -MF $(DEPDIR)/etherape-node_windows.Tpo -c -o etherape-node_windows.o `test -f 'node_windows.c' || echo '$(srcdir)/'`node_windows.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-node_windows.Tpo $(DEPDIR)/etherape-node_windows.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='node_windows.c' object='etherape-node_windows.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-node_windows.o `test -f 'node_windows.c' || echo '$(srcdir)/'`node_windows.c etherape-node_windows.obj: node_windows.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-node_windows.obj -MD -MP -MF $(DEPDIR)/etherape-node_windows.Tpo -c -o etherape-node_windows.obj `if test -f 'node_windows.c'; then $(CYGPATH_W) 'node_windows.c'; else $(CYGPATH_W) '$(srcdir)/node_windows.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-node_windows.Tpo $(DEPDIR)/etherape-node_windows.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='node_windows.c' object='etherape-node_windows.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-node_windows.obj `if test -f 'node_windows.c'; then $(CYGPATH_W) 'node_windows.c'; else $(CYGPATH_W) '$(srcdir)/node_windows.c'; fi` etherape-pref_dialog.o: pref_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-pref_dialog.o -MD -MP -MF $(DEPDIR)/etherape-pref_dialog.Tpo -c -o etherape-pref_dialog.o `test -f 'pref_dialog.c' || echo '$(srcdir)/'`pref_dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-pref_dialog.Tpo $(DEPDIR)/etherape-pref_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pref_dialog.c' object='etherape-pref_dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-pref_dialog.o `test -f 'pref_dialog.c' || echo '$(srcdir)/'`pref_dialog.c etherape-pref_dialog.obj: pref_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-pref_dialog.obj -MD -MP -MF $(DEPDIR)/etherape-pref_dialog.Tpo -c -o etherape-pref_dialog.obj `if test -f 'pref_dialog.c'; then $(CYGPATH_W) 'pref_dialog.c'; else $(CYGPATH_W) '$(srcdir)/pref_dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-pref_dialog.Tpo $(DEPDIR)/etherape-pref_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pref_dialog.c' object='etherape-pref_dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-pref_dialog.obj `if test -f 'pref_dialog.c'; then $(CYGPATH_W) 'pref_dialog.c'; else $(CYGPATH_W) '$(srcdir)/pref_dialog.c'; fi` etherape-preferences.o: preferences.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-preferences.o -MD -MP -MF $(DEPDIR)/etherape-preferences.Tpo -c -o etherape-preferences.o `test -f 'preferences.c' || echo '$(srcdir)/'`preferences.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-preferences.Tpo $(DEPDIR)/etherape-preferences.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='preferences.c' object='etherape-preferences.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-preferences.o `test -f 'preferences.c' || echo '$(srcdir)/'`preferences.c etherape-preferences.obj: preferences.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-preferences.obj -MD -MP -MF $(DEPDIR)/etherape-preferences.Tpo -c -o etherape-preferences.obj `if test -f 'preferences.c'; then $(CYGPATH_W) 'preferences.c'; else $(CYGPATH_W) '$(srcdir)/preferences.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-preferences.Tpo $(DEPDIR)/etherape-preferences.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='preferences.c' object='etherape-preferences.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-preferences.obj `if test -f 'preferences.c'; then $(CYGPATH_W) 'preferences.c'; else $(CYGPATH_W) '$(srcdir)/preferences.c'; fi` etherape-ui_utils.o: ui_utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-ui_utils.o -MD -MP -MF $(DEPDIR)/etherape-ui_utils.Tpo -c -o etherape-ui_utils.o `test -f 'ui_utils.c' || echo '$(srcdir)/'`ui_utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-ui_utils.Tpo $(DEPDIR)/etherape-ui_utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ui_utils.c' object='etherape-ui_utils.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-ui_utils.o `test -f 'ui_utils.c' || echo '$(srcdir)/'`ui_utils.c etherape-ui_utils.obj: ui_utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etherape-ui_utils.obj -MD -MP -MF $(DEPDIR)/etherape-ui_utils.Tpo -c -o etherape-ui_utils.obj `if test -f 'ui_utils.c'; then $(CYGPATH_W) 'ui_utils.c'; else $(CYGPATH_W) '$(srcdir)/ui_utils.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/etherape-ui_utils.Tpo $(DEPDIR)/etherape-ui_utils.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ui_utils.c' object='etherape-ui_utils.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o etherape-ui_utils.obj `if test -f 'ui_utils.c'; then $(CYGPATH_W) 'ui_utils.c'; else $(CYGPATH_W) '$(srcdir)/ui_utils.c'; fi` names/etherape-ares_resolve.o: names/ares_resolve.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-ares_resolve.o -MD -MP -MF names/$(DEPDIR)/etherape-ares_resolve.Tpo -c -o names/etherape-ares_resolve.o `test -f 'names/ares_resolve.c' || echo '$(srcdir)/'`names/ares_resolve.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-ares_resolve.Tpo names/$(DEPDIR)/etherape-ares_resolve.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/ares_resolve.c' object='names/etherape-ares_resolve.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-ares_resolve.o `test -f 'names/ares_resolve.c' || echo '$(srcdir)/'`names/ares_resolve.c names/etherape-ares_resolve.obj: names/ares_resolve.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-ares_resolve.obj -MD -MP -MF names/$(DEPDIR)/etherape-ares_resolve.Tpo -c -o names/etherape-ares_resolve.obj `if test -f 'names/ares_resolve.c'; then $(CYGPATH_W) 'names/ares_resolve.c'; else $(CYGPATH_W) '$(srcdir)/names/ares_resolve.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-ares_resolve.Tpo names/$(DEPDIR)/etherape-ares_resolve.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/ares_resolve.c' object='names/etherape-ares_resolve.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-ares_resolve.obj `if test -f 'names/ares_resolve.c'; then $(CYGPATH_W) 'names/ares_resolve.c'; else $(CYGPATH_W) '$(srcdir)/names/ares_resolve.c'; fi` names/etherape-thread_resolve.o: names/thread_resolve.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-thread_resolve.o -MD -MP -MF names/$(DEPDIR)/etherape-thread_resolve.Tpo -c -o names/etherape-thread_resolve.o `test -f 'names/thread_resolve.c' || echo '$(srcdir)/'`names/thread_resolve.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-thread_resolve.Tpo names/$(DEPDIR)/etherape-thread_resolve.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/thread_resolve.c' object='names/etherape-thread_resolve.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-thread_resolve.o `test -f 'names/thread_resolve.c' || echo '$(srcdir)/'`names/thread_resolve.c names/etherape-thread_resolve.obj: names/thread_resolve.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names/etherape-thread_resolve.obj -MD -MP -MF names/$(DEPDIR)/etherape-thread_resolve.Tpo -c -o names/etherape-thread_resolve.obj `if test -f 'names/thread_resolve.c'; then $(CYGPATH_W) 'names/thread_resolve.c'; else $(CYGPATH_W) '$(srcdir)/names/thread_resolve.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) names/$(DEPDIR)/etherape-thread_resolve.Tpo names/$(DEPDIR)/etherape-thread_resolve.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names/thread_resolve.c' object='names/etherape-thread_resolve.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(etherape_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names/etherape-thread_resolve.obj `if test -f 'names/thread_resolve.c'; then $(CYGPATH_W) 'names/thread_resolve.c'; else $(CYGPATH_W) '$(srcdir)/names/thread_resolve.c'; fi` 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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) -rm -f capture/$(DEPDIR)/$(am__dirstamp) -rm -f capture/$(am__dirstamp) -rm -f names/$(DEPDIR)/$(am__dirstamp) -rm -f names/$(am__dirstamp) -rm -f stats/$(DEPDIR)/$(am__dirstamp) -rm -f stats/$(am__dirstamp) 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-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/etherape-appdata.Po -rm -f ./$(DEPDIR)/etherape-callbacks.Po -rm -f ./$(DEPDIR)/etherape-compat.Po -rm -f ./$(DEPDIR)/etherape-datastructs.Po -rm -f ./$(DEPDIR)/etherape-diagram.Po -rm -f ./$(DEPDIR)/etherape-export.Po -rm -f ./$(DEPDIR)/etherape-info_windows.Po -rm -f ./$(DEPDIR)/etherape-main.Po -rm -f ./$(DEPDIR)/etherape-menus.Po -rm -f ./$(DEPDIR)/etherape-node_windows.Po -rm -f ./$(DEPDIR)/etherape-pref_dialog.Po -rm -f ./$(DEPDIR)/etherape-preferences.Po -rm -f ./$(DEPDIR)/etherape-ui_utils.Po -rm -f capture/$(DEPDIR)/etherape-cap-util.Po -rm -f capture/$(DEPDIR)/etherape-capctl.Po -rm -f capture/$(DEPDIR)/etherape-capture.Po -rm -f names/$(DEPDIR)/etherape-ares_resolve.Po -rm -f names/$(DEPDIR)/etherape-dns.Po -rm -f names/$(DEPDIR)/etherape-eth_resolv.Po -rm -f names/$(DEPDIR)/etherape-ip-cache.Po -rm -f names/$(DEPDIR)/etherape-names.Po -rm -f names/$(DEPDIR)/etherape-names_netbios.Po -rm -f names/$(DEPDIR)/etherape-thread_resolve.Po -rm -f stats/$(DEPDIR)/etherape-basic_stats.Po -rm -f stats/$(DEPDIR)/etherape-conversations.Po -rm -f stats/$(DEPDIR)/etherape-decode_proto.Po -rm -f stats/$(DEPDIR)/etherape-links.Po -rm -f stats/$(DEPDIR)/etherape-node.Po -rm -f stats/$(DEPDIR)/etherape-node_id.Po -rm -f stats/$(DEPDIR)/etherape-protocols.Po -rm -f stats/$(DEPDIR)/etherape-traffic_stats.Po -rm -f stats/$(DEPDIR)/etherape-util.Po -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-binPROGRAMS 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 -f ./$(DEPDIR)/etherape-appdata.Po -rm -f ./$(DEPDIR)/etherape-callbacks.Po -rm -f ./$(DEPDIR)/etherape-compat.Po -rm -f ./$(DEPDIR)/etherape-datastructs.Po -rm -f ./$(DEPDIR)/etherape-diagram.Po -rm -f ./$(DEPDIR)/etherape-export.Po -rm -f ./$(DEPDIR)/etherape-info_windows.Po -rm -f ./$(DEPDIR)/etherape-main.Po -rm -f ./$(DEPDIR)/etherape-menus.Po -rm -f ./$(DEPDIR)/etherape-node_windows.Po -rm -f ./$(DEPDIR)/etherape-pref_dialog.Po -rm -f ./$(DEPDIR)/etherape-preferences.Po -rm -f ./$(DEPDIR)/etherape-ui_utils.Po -rm -f capture/$(DEPDIR)/etherape-cap-util.Po -rm -f capture/$(DEPDIR)/etherape-capctl.Po -rm -f capture/$(DEPDIR)/etherape-capture.Po -rm -f names/$(DEPDIR)/etherape-ares_resolve.Po -rm -f names/$(DEPDIR)/etherape-dns.Po -rm -f names/$(DEPDIR)/etherape-eth_resolv.Po -rm -f names/$(DEPDIR)/etherape-ip-cache.Po -rm -f names/$(DEPDIR)/etherape-names.Po -rm -f names/$(DEPDIR)/etherape-names_netbios.Po -rm -f names/$(DEPDIR)/etherape-thread_resolve.Po -rm -f stats/$(DEPDIR)/etherape-basic_stats.Po -rm -f stats/$(DEPDIR)/etherape-conversations.Po -rm -f stats/$(DEPDIR)/etherape-decode_proto.Po -rm -f stats/$(DEPDIR)/etherape-links.Po -rm -f stats/$(DEPDIR)/etherape-node.Po -rm -f stats/$(DEPDIR)/etherape-node_id.Po -rm -f stats/$(DEPDIR)/etherape-protocols.Po -rm -f stats/$(DEPDIR)/etherape-traffic_stats.Po -rm -f stats/$(DEPDIR)/etherape-util.Po -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-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool 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-binPROGRAMS \ 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 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-binPROGRAMS .PRECIOUS: Makefile .indent: $(etherape_SOURCES) $(etherape_INCLUDES) uncrustify --no-backup -c ../uncrustify.cfg $? touch .indent indent: .indent purge: rm -f *~ *.bak splint: splint -I.. +posixlib +gnuextensions +charintliteral -nullassign $(etherape_CPPFLAGS) $(etherape_SOURCES) # 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: etherape-0.9.20/src/compat.c0000644000175000017500000000343214021135153012533 00000000000000/* compat.c * Compatibility functions * * Copyright 2016 Riccardo Ghetta * * * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" /************************************************ * * compatibility functions * *************************************************/ void compat_g_list_free_full(GList *list, GDestroyNotify free_func) { g_assert(free_func); /* free_func has one parameter, GFunc two ... - works only on cdecl */ g_list_foreach(list, (GFunc)free_func, NULL); g_list_free(list); } void compat_g_ptr_array_insert(GPtrArray *parray, gint idx, gpointer data) { gint pos; g_assert(parray); g_assert(idx >= -1); g_assert(idx <= parray->len); if (idx < 0) { g_ptr_array_add(parray, data); return; } /* adds empty element at end, then moves previous elements */ g_ptr_array_add(parray, NULL); for (pos = parray->len; pos > idx; --pos) g_ptr_array_index(parray, pos) = g_ptr_array_index(parray, pos-1); g_ptr_array_index(parray, idx) = data; } etherape-0.9.20/src/main.h0000644000175000017500000000135013657562503012217 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ void cleanup(int signum); etherape-0.9.20/src/export.c0000644000175000017500000000554014023171551012577 00000000000000/* export.c * Exporting routines * Copyright (C) 2011 Riccardo Ghetta * * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include "stats/node.h" #include "stats/links.h" #include "stats/util.h" #include "export.h" static gchar *header_xml(unsigned long totpkts) { gchar *dvc = NULL; gchar *xml; time_t timenow; const struct tm *tmnow; char timebuf[256]; if (appdata.source.type == ST_FILE) dvc = xmltag_escaped("capture_file", appdata.source.file); else if (appdata.source.interface) dvc = xmltag_escaped("capture_device", appdata.source.interface); timenow = time(NULL); tmnow = localtime(&timenow); strftime(timebuf, sizeof(timebuf), "%F %T %z", tmnow); xml = xmltag("header", "\n%s%s" "\n%lu\n", dvc ? dvc : "", timebuf, totpkts); g_free(dvc); return xml; } gchar *generate_xml(unsigned long totpkts) { gchar *xmlh; gchar *xmln; gchar *xmll; gchar *xmlp; gchar *xml; gchar *oldlocale; // we want to dump in a known locale, so force it as 'C' oldlocale = g_strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, "C"); xmlh = header_xml(totpkts); xmln = nodes_catalog_xml(); xmll = links_catalog_xml(); xmlp = protocol_summary_xml(); xml = g_strdup_printf("\n" "\n" "\n%s%s%s%s", xmlh, xmln, xmll, xmlp); // reset user locale setlocale(LC_ALL, oldlocale); g_free(xmlp); g_free(xmll); g_free(xmln); g_free(xmlh); g_free(oldlocale); return xml; } void dump_xml(gchar *ofile,unsigned long totpkts) { FILE *fout; gchar *xml; if (!ofile) return; xml = generate_xml(totpkts); g_assert(xml); fout = fopen(ofile, "wb"); if (fout) { fprintf(fout, "%s", xml); fclose(fout); } g_free(xml); } etherape-0.9.20/src/node_windows.c0000644000175000017500000003313214021135153013747 00000000000000/* EtherApe * Copyright (C) 2009 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "node_windows.h" #include "info_windows.h" #include "ui_utils.h" #include "stats/util.h" #include "stats/node.h" typedef enum { NODES_COLUMN_NAME = 0, NODES_COLUMN_NUMERIC, NODES_COLUMN_INSTANTANEOUS, NODES_COLUMN_ACCUMULATED, NODES_COLUMN_AVGSIZE, NODES_COLUMN_LASTHEARD, NODES_COLUMN_PACKETS, NODES_COLUMN_N /* must be the last entry */ } NODES_COLUMN; static GtkWidget *nodes_wnd = NULL; /* Ptr to nodes window */ static GtkCheckMenuItem *nodes_check = NULL; /* Ptr to nodes menu */ /* private functions */ static void nodes_table_clear(GtkWidget *window); static void nodes_table_update(GtkWidget *window); void nodes_wnd_show(void) { nodes_wnd = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "nodes_wnd")); nodes_check = GTK_CHECK_MENU_ITEM(gtk_builder_get_object(appdata.xml, "nodes_check")); if (DEBUG_ENABLED) { gchar *nodemsg = nodes_catalog_dump(); g_log(G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, "%s", nodemsg); g_free(nodemsg); } if (!nodes_wnd || gtk_widget_get_visible(nodes_wnd)) return; gtk_widget_show(nodes_wnd); gdk_window_raise(gtk_widget_get_window(nodes_wnd)); if (nodes_check && !gtk_check_menu_item_get_active(nodes_check)) gtk_check_menu_item_set_active(nodes_check, TRUE); nodes_wnd_update(); } void nodes_wnd_hide(void) { if (!nodes_wnd || !gtk_widget_get_visible(nodes_wnd)) return; gtk_widget_hide(nodes_wnd); nodes_table_clear(nodes_wnd); if (nodes_check && gtk_check_menu_item_get_active(nodes_check)) gtk_check_menu_item_set_active(nodes_check, FALSE); } void nodes_wnd_update(void) { if (!nodes_wnd || !gtk_widget_get_visible(nodes_wnd)) return; nodes_table_update(nodes_wnd); /* with viewport, no need to resize gtk_widget_queue_resize (GTK_WIDGET (nodes_wnd)); */ } /* update_nodes_wnd */ /*************************************************************** * * node table handling functions * ***************************************************************/ /* Comparison functions used to sort the clist */ static gint nodes_table_compare(GtkTreeModel *gls, GtkTreeIter *a, GtkTreeIter *b, gpointer data) { gint ret = 0; gdouble t1, t2; double diffms; const node_id_t *nodeid1, *nodeid2; const node_t *node1, *node2; gtk_tree_model_get(gls, a, NODES_COLUMN_N, &nodeid1, -1); gtk_tree_model_get(gls, b, NODES_COLUMN_N, &nodeid2, -1); if (!nodeid1 || !nodeid2) return 0; /* error */ /* retrieve nodes. One or more might be expired */ node1 = nodes_catalog_find(nodeid1); node2 = nodes_catalog_find(nodeid2); if (!node1 && !node2) return 0; else if (!node1) return -1; else if (!node2) return 1; /* gets sort info */ switch (GPOINTER_TO_INT(data)) { case NODES_COLUMN_NAME: /* name */ default: ret = strcmp(node1->name->str, node2->name->str); break; case NODES_COLUMN_NUMERIC: /* id */ ret = node_id_compare(&(node1->node_id), &(node2->node_id)); break; case NODES_COLUMN_INSTANTANEOUS: t1 = node1->node_stats.stats.average; t2 = node2->node_stats.stats.average; if (t1 == t2) ret = 0; else if (t1 < t2) ret = -1; else ret = 1; break; case NODES_COLUMN_ACCUMULATED: t1 = node1->node_stats.stats.accumulated; t2 = node2->node_stats.stats.accumulated; if (t1 == t2) ret = 0; else if (t1 < t2) ret = -1; else ret = 1; break; case NODES_COLUMN_AVGSIZE: t1 = node1->node_stats.stats.avg_size; t2 = node2->node_stats.stats.avg_size; if (t1 == t2) ret = 0; else if (t1 < t2) ret = -1; else ret = 1; break; case NODES_COLUMN_LASTHEARD: diffms = subtract_times_ms(&node1->node_stats.stats.last_time, &node2->node_stats.stats.last_time); if (diffms == 0) ret = 0; else if (diffms < 0) ret = -1; else ret = 1; break; case NODES_COLUMN_PACKETS: if (node1->node_stats.stats.accu_packets == node2->node_stats.stats.accu_packets) ret = 0; else if (node1->node_stats.stats.accu_packets < node2->node_stats.stats.accu_packets) ret = -1; else ret = 1; break; } return ret; } /* retrieves the data store creating if needed */ static GtkListStore *nodes_table_create(GtkWidget *window) { GtkTreeView *gv; GtkListStore *gls; GtkTreeModel *sort_model; int i; /* get the treeview */ gv = retrieve_treeview(window); if (!gv) { gv = GTK_TREE_VIEW(gtk_builder_get_object(appdata.xml, "nodes_table")); if (!gv) { g_critical("can't find nodes_table"); return NULL; } register_treeview(window, gv); } sort_model = gtk_tree_view_get_model(gv); if (sort_model) { gls = GTK_LIST_STORE(gtk_tree_model_sort_get_model (GTK_TREE_MODEL_SORT(sort_model))); if (gls) return gls; } /* create the store. it uses 8 values, 7 displayable and the data pointer */ gls = gtk_list_store_new(8, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); /* to update successfully, the list store must be unsorted. So we wrap it */ sort_model = gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL(gls)); gtk_tree_view_set_model(gv, GTK_TREE_MODEL(sort_model)); create_add_text_column(gv, _("Name"), NODES_COLUMN_NAME, FALSE); create_add_text_column(gv, _("Address"), NODES_COLUMN_NUMERIC, TRUE); create_add_text_column(gv, _("Inst Traffic"), NODES_COLUMN_INSTANTANEOUS, FALSE); create_add_text_column(gv, _("Accum Traffic"), NODES_COLUMN_ACCUMULATED, FALSE); create_add_text_column(gv, _("Avg Size"), NODES_COLUMN_AVGSIZE, FALSE); create_add_text_column(gv, _("Last Heard"), NODES_COLUMN_LASTHEARD, FALSE); create_add_text_column(gv, _("Packets"), NODES_COLUMN_PACKETS, FALSE); /* the sort functions ... */ for (i = 0; i < NODES_COLUMN_N; ++i) gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(sort_model), i, nodes_table_compare, GINT_TO_POINTER(i), NULL); /* initial sort order is by name */ gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(sort_model), NODES_COLUMN_NAME, GTK_SORT_ASCENDING); return gls; } static void nodes_table_clear(GtkWidget *window) { /* releases the datastore */ GtkTreeView *gv; GtkTreeModel *sort_model; GtkTreeModel *gls; GtkTreeIter it; gboolean res; gv = retrieve_treeview(window); if (!gv) return; /* gv not registered, store doesn't exists */ /* parameters came from sorted model; we need to convert to liststore*/ sort_model = gtk_tree_view_get_model(gv); if (!sort_model) return; /* liststore from sorted model */ gls = gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT(sort_model)); if (!gls) return; res = gtk_tree_model_get_iter_first(gls, &it); while (res) { node_id_t *rowitem = NULL; gtk_tree_model_get(gls, &it, NODES_COLUMN_N, &rowitem, -1); g_free(rowitem); res = gtk_list_store_remove(GTK_LIST_STORE(gls), &it); } } static void nodes_table_update_row(GtkListStore *gs, GtkTreeIter *it, const node_t *node) { gchar *sa, *sb, *sc, *sd, *se; const basic_stats_t *stats = (const basic_stats_t *)&(node->node_stats.stats); sa = traffic_to_str(stats->average, TRUE); sb = traffic_to_str(stats->accumulated, FALSE); sc = g_strdup_printf("%lu", stats->accu_packets); sd = timeval_to_str(stats->last_time); se = traffic_to_str(stats->avg_size, FALSE); gtk_list_store_set(gs, it, NODES_COLUMN_NAME, node->name->str, NODES_COLUMN_NUMERIC, node->numeric_name->str, NODES_COLUMN_INSTANTANEOUS, sa, NODES_COLUMN_ACCUMULATED, sb, NODES_COLUMN_AVGSIZE, se, NODES_COLUMN_PACKETS, sc, NODES_COLUMN_LASTHEARD, sd, -1); g_free(sa); g_free(sb); g_free(sc); g_free(sd); g_free(se); } struct NTTraverse { GtkListStore *gs; GtkTreeIter it; gboolean res; }; static gboolean nodes_table_iterate(gpointer key, gpointer value, gpointer data) { const node_t *node = (const node_t *)value; struct NTTraverse *tt = (struct NTTraverse *)data; node_id_t *rowitem; while (tt->res) { gtk_tree_model_get(GTK_TREE_MODEL(tt->gs), &(tt->it), NODES_COLUMN_N, &rowitem, -1); switch (node_id_compare(&(node->node_id), rowitem)) { case 0: /* curnode==cur row, update results and go next */ nodes_table_update_row(tt->gs, &(tt->it), node); tt->res = gtk_tree_model_iter_next(GTK_TREE_MODEL(tt->gs), &(tt->it)); return FALSE; /* continue with next node */ case -1: /* current node name less than current row means node is new. Insert a new node in store before current (it moves to new node), fill it and move next */ gtk_list_store_insert_before(tt->gs, &(tt->it), &(tt->it)); rowitem = g_malloc(sizeof(node_id_t)); g_assert(rowitem); *rowitem = node->node_id; gtk_list_store_set(tt->gs, &(tt->it), NODES_COLUMN_N, rowitem, -1); nodes_table_update_row(tt->gs, &(tt->it), node); tt->res = gtk_tree_model_iter_next(GTK_TREE_MODEL(tt->gs), &(tt->it)); return FALSE; /* continue with next node */ case 1: /* current node name greater than current row means deleted row. * remove row and loop */ g_free(rowitem); tt->res = gtk_list_store_remove(tt->gs, &(tt->it)); break; } } /* end while */ /* coming here means node is new - append and move next */ gtk_list_store_prepend(tt->gs, &(tt->it)); rowitem = g_malloc(sizeof(node_id_t)); g_assert(rowitem); *rowitem = node->node_id; gtk_list_store_set(tt->gs, &(tt->it), NODES_COLUMN_N, rowitem, -1); nodes_table_update_row(tt->gs, &(tt->it), node); return FALSE; } static void nodes_table_update(GtkWidget *window) { GtkListStore *gs; struct NTTraverse tt; gs = nodes_table_create(window); if (!gs) return; /* no datastore, exit */ /* traverse both the full list and the treestore, comparing entries */ tt.gs = gs; tt.res = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(tt.gs), &(tt.it)); nodes_catalog_foreach(nodes_table_iterate, &tt); /* if the iterator is still active, remaining rows must be removed */ while (tt.res) { node_id_t *rowitem; gtk_tree_model_get(GTK_TREE_MODEL(tt.gs), &(tt.it), NODES_COLUMN_N, &rowitem, -1); g_free(rowitem); tt.res = gtk_list_store_remove(tt.gs, &(tt.it)); } } /* ---------------------------------------------------------- Events ---------------------------------------------------------- */ gboolean on_nodes_wnd_delete_event(GtkWidget *wdg, GdkEvent *evt, gpointer ud) { nodes_wnd_hide(); return TRUE; /* ignore signal */ } void on_nodes_check_toggled(GtkCheckMenuItem *checkmenuitem, gpointer data) { if (gtk_check_menu_item_get_active(checkmenuitem)) nodes_wnd_show(); else nodes_wnd_hide(); } void on_nodes_toolbar_button_clicked(void) { GtkWidget *nodes_check = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "nodes_check")); if (!nodes_check) return; gtk_menu_item_activate(GTK_MENU_ITEM(nodes_check)); } /* double click on row */ void on_nodes_table_row_activated(GtkTreeView *gv, GtkTreePath *sorted_path, GtkTreeViewColumn *column, gpointer data) { GtkTreeModel *sort_model; GtkTreeModel *gls; GtkTreePath *path; GtkTreeIter it; /* parameters came from sorted model; we need to convert to liststore*/ sort_model = gtk_tree_view_get_model(gv); if (!sort_model) return; /* liststore from sorted model */ gls = gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT(sort_model)); if (!gls) return; /* liststore path from sorted path */ path = gtk_tree_model_sort_convert_path_to_child_path (GTK_TREE_MODEL_SORT(sort_model), sorted_path); if (!path) return; /* iterator from path */ if (gtk_tree_model_get_iter(gls, &it, path)) { /* and last, value */ node_id_t *rowitem; gtk_tree_model_get(gls, &it, NODES_COLUMN_N, &rowitem, -1); node_protocols_window_create(rowitem); } gtk_tree_path_free(path); } etherape-0.9.20/src/callbacks.c0000644000175000017500000000307214021135153013167 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "appdata.h" #include "callbacks.h" #include "diagram.h" #include "preferences.h" void on_canvas1_size_allocate(GtkWidget *widget, GtkAllocation *allocation, gpointer user_data) { resize_diagram(allocation); } /* TODO this is not necessary, can be set directly in .ui */ gboolean on_node_popup_motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { gtk_widget_destroy(widget); return FALSE; } gboolean on_name_motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { g_message("Motion in name label"); return FALSE; } etherape-0.9.20/src/info_windows.c0000644000175000017500000010005514023171551013760 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "appdata.h" #include "info_windows.h" #include "diagram.h" #include "stats/node.h" #include "datastructs.h" #include "stats/protocols.h" #include "capture/capctl.h" #include "preferences.h" #include "stats/prot_types.h" #include "ui_utils.h" #include "stats/util.h" #include "node_windows.h" #if !defined(G_SOURCE_CONTINUE) // RHEL6/CENTOS6, SLE11 etc don't have this macro #define G_SOURCE_CONTINUE TRUE #endif typedef enum { PROTO_COLUMN_COLOR = 0, PROTO_COLUMN_NAME, PROTO_COLUMN_PORT, PROTO_COLUMN_INSTANTANEOUS, PROTO_COLUMN_ACCUMULATED, PROTO_COLUMN_AVGSIZE, PROTO_COLUMN_LASTHEARD, PROTO_COLUMN_PACKETS, PROTO_COLUMN_N /* must be the last entry */ } PROTO_COLUMN; typedef struct { gchar *prot_name; GtkWidget *window; } prot_info_window_t; typedef struct protocol_list_item_t_tag { gchar *name; /* protocol name */ uint port; /* protocol port */ GdkRGBA color; /* protocol color */ basic_stats_t rowstats; } protocol_list_item_t; /* list of active node/link info windows */ static GList *stats_info_windows = NULL; /* list of active protocol info windows */ static GList *prot_info_windows = NULL; /* private functions */ static void update_prot_info_windows(void); static void update_prot_info_window(prot_info_window_t *prot_info_window); static gint node_info_window_compare(gconstpointer a, gconstpointer b); static gint prot_info_compare(gconstpointer a, gconstpointer b); static void update_stats_info_windows(void); static void update_node_protocols_window(GtkWidget *node_window); static void update_link_info_window(GtkWidget *window); /* ---------------------------------------------------------- Generic Protocol Info Detail window functions (prot_info_windows) Used to display nodes and links detail data (and protos) ---------------------------------------------------------- */ /* Comparison function used to compare prot_info_windows */ static gint prot_info_compare(gconstpointer a, gconstpointer b) { g_assert(a != NULL); g_assert(b != NULL); return strcmp(((prot_info_window_t *)a)->prot_name, (gchar *)b); } /* prot_info_compare */ static GtkBuilder *new_bldr_instance(const gchar *id) { GtkBuilder *bldr; gchar *ids[2]; ids[0] = id; ids[1] = NULL; bldr = gtk_builder_new(); if (!bldr) { g_error(_("We could not load the interface! (%s)"), appdata.itf_file); return NULL; } if (!gtk_builder_add_objects_from_file(bldr, appdata.itf_file, ids, NULL)) { g_error(_("Cannot create widget %s from file %s!"), id, appdata.itf_file); g_object_unref(bldr); return NULL; } gtk_builder_connect_signals(bldr, NULL); return bldr; } static void create_prot_info_window(protocol_t *protocol) { GtkWidget *window; prot_info_window_t *prot_info_window; GtkWidget *widget; GList *list_item; /* If there is already a window, we don't need to create it again */ if (!(list_item = g_list_find_custom(prot_info_windows, protocol->name, prot_info_compare))) { /* GtkWidget *protwin; protwin = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_info"));*/ /* guint err; GError *gerror = NULL; static gchar *objs[] = {"prot_info", NULL}; err = gtk_builder_add_objects_from_file(GtkBuilder *builder, const gchar *filename, objs, &gerror); xml_info_window = GTK_WIDGET(glade_xml_new(appdata.itf_file, "prot_info", NULL)); if (!xml_info_window) { g_error (_("We could not load the interface! (%s)"), appdata.itf_file); return; } glade_xml_signal_autoconnect (xml_info_window); */ window = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_info")); gtk_widget_show(window); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_info_name_label")); g_object_set_data(G_OBJECT(window), "name_label", widget); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_info_last_heard_label")); g_object_set_data(G_OBJECT(window), "last_heard_label", widget); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_info_average")); g_object_set_data(G_OBJECT(window), "average", widget); widget = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "prot_info_accumulated")); g_object_set_data(G_OBJECT(window), "accumulated", widget); prot_info_window = g_malloc(sizeof(prot_info_window_t)); prot_info_window->prot_name = g_strdup(protocol->name); g_object_set_data(G_OBJECT(window), "prot_name", prot_info_window->prot_name); prot_info_window->window = window; prot_info_windows = g_list_prepend(prot_info_windows, prot_info_window); } else prot_info_window = (prot_info_window_t *)list_item->data; update_prot_info_window(prot_info_window); } /* create_prot_info_window */ /* It's called when a prot info window is closed by the user * It has to free memory and delete the window from the list * of windows */ gboolean on_prot_info_delete_event(GtkWidget *prot_info, GdkEvent *evt, gpointer user_data) { GList *item = NULL; gchar *prot_name = NULL; prot_info_window_t *prot_info_window = NULL; prot_name = g_object_get_data(G_OBJECT(prot_info), "prot_name"); if (!prot_name) { g_my_critical(_("No prot_name in on_prot_info_delete_event")); return TRUE; /* ignore event */ } if (!(item = g_list_find_custom(prot_info_windows, prot_name, prot_info_compare))) { g_my_critical(_("No prot_info_window in on_prot_info_delete_event")); return TRUE; /* ignore event */ } prot_info_window = item->data; g_free(prot_info_window->prot_name); gtk_widget_destroy(GTK_WIDGET(prot_info_window->window)); prot_info_windows = g_list_remove_link(prot_info_windows, item); return FALSE; } /* on_prot_info_delete_event */ /* updates a single proto detail window */ static void update_prot_info_window(prot_info_window_t *prot_info_window) { const protocol_t *prot; GtkWidget *window; GtkWidget *widget; gchar *str; window = prot_info_window->window; if (!window) return; prot = protocol_summary_find(pref.stack_level, prot_info_window->prot_name); if (!prot) { /* protocol expired */ widget = g_object_get_data(G_OBJECT(window), "average"); gtk_label_set_text(GTK_LABEL(widget), "X"); widget = g_object_get_data(G_OBJECT(window), "accumulated"); gtk_label_set_text(GTK_LABEL(widget), "X"); gtk_widget_queue_resize(GTK_WIDGET(prot_info_window->window)); return; } gtk_window_set_title(GTK_WINDOW(window), prot_info_window->prot_name); widget = g_object_get_data(G_OBJECT(window), "name_label"); gtk_label_set_text(GTK_LABEL(widget), prot_info_window->prot_name); widget = g_object_get_data(G_OBJECT(window), "last_heard_label"); str = timeval_to_str(prot->stats.last_time); gtk_label_set_text(GTK_LABEL(widget), str); g_free(str); widget = g_object_get_data(G_OBJECT(window), "average"); str = traffic_to_str(prot->stats.average, TRUE); gtk_label_set_text(GTK_LABEL(widget), str); g_free(str); widget = g_object_get_data(G_OBJECT(window), "accumulated"); str = traffic_to_str(prot->stats.accumulated, FALSE); gtk_label_set_text(GTK_LABEL(widget), str); g_free(str); gtk_widget_queue_resize(GTK_WIDGET(prot_info_window->window)); } /* update_prot_info_window */ /* cycles on all proto detail windows updating them */ void update_prot_info_windows(void) { GList *list_item = NULL, *remove_item; prot_info_window_t *prot_info_window = NULL; capstatus_t status; status = get_capture_status(); list_item = prot_info_windows; while (list_item) { prot_info_window = (prot_info_window_t *)list_item->data; if (status == STOP) { g_free(prot_info_window->prot_name); gtk_widget_destroy(GTK_WIDGET(prot_info_window->window)); remove_item = list_item; list_item = list_item->next; prot_info_windows = g_list_remove_link(prot_info_windows, remove_item); } else { update_prot_info_window(prot_info_window); list_item = list_item->next; } } } /* update_prot_info_windows */ /*************************************************************** * * protocol table handling functions * ***************************************************************/ #define MAX_C(a, b) ((a) > (b) ? (a) : (b)) #define MIN_C(a, b) ((a) > (b) ? (a) : (b)) #define LUMINANCE(r, g, b) ((MAX_C((double)(r)/0xFFFF, MAX_C((double)(g)/0xFFFF, \ (double)(b)/0xFFFF)) + \ MIN_C((double)(r)/0xFFFF, MIN_C((double)(g)/0xFFFF, \ (double)(b)/0xFFFF))) / 2.0) /* Comparison functions used to sort the clist */ static gint protocols_table_compare(GtkTreeModel *gs, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint ret = 0; gdouble t1, t2; gdouble diffms; gint idcol; GtkSortType order; const port_service_t *ps1, *ps2; uint port1, port2; /* reads the proto ptr from 6th columns */ const protocol_list_item_t *prot1, *prot2; gtk_tree_model_get(gs, a, PROTO_COLUMN_N, &prot1, -1); gtk_tree_model_get(gs, b, PROTO_COLUMN_N, &prot2, -1); if (!prot1 || !prot2) return 0; /* error */ /* gets sort info */ gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(gs), &idcol, &order); switch (idcol) { case PROTO_COLUMN_COLOR: /* color */ case PROTO_COLUMN_NAME: /* name */ default: ret = strcmp(prot1->name, prot2->name); break; case PROTO_COLUMN_PORT: /* port */ ps1 = services_port_find(prot1->name); ps2 = services_port_find(prot2->name); if (ps1) port1 = ps1->port; else port1 = 0; /* Use port: 0 for sorting if no port value is available */ if (ps2) port2 = ps2->port; else port2 = 0; if (port1 == port2) ret = 0; else if (port1 < port2) ret = -1; else ret = 1; break; case PROTO_COLUMN_INSTANTANEOUS: t1 = prot1->rowstats.average; t2 = prot2->rowstats.average; if (t1 == t2) ret = 0; else if (t1 < t2) ret = -1; else ret = 1; break; case PROTO_COLUMN_ACCUMULATED: t1 = prot1->rowstats.accumulated; t2 = prot2->rowstats.accumulated; if (t1 == t2) ret = 0; else if (t1 < t2) ret = -1; else ret = 1; break; case PROTO_COLUMN_AVGSIZE: t1 = prot1->rowstats.avg_size; t2 = prot2->rowstats.avg_size; if (t1 == t2) ret = 0; else if (t1 < t2) ret = -1; else ret = 1; break; case PROTO_COLUMN_LASTHEARD: diffms = subtract_times_ms(&prot1->rowstats.last_time, &prot2->rowstats.last_time); if (diffms == 0) ret = 0; else if (diffms < 0) ret = -1; else ret = 1; break; case PROTO_COLUMN_PACKETS: if (prot1->rowstats.accu_packets == prot2->rowstats.accu_packets) ret = 0; else if (prot1->rowstats.accu_packets < prot2->rowstats.accu_packets) ret = -1; else ret = 1; break; } return ret; } static GtkListStore *create_protocols_table(GtkWidget *window) { GtkTreeView *gv; GtkListStore *gs; GtkTreeViewColumn *gc; int i; /* get the treeview, if present */ gv = retrieve_treeview(window); if (!gv) return NULL; gs = GTK_LIST_STORE(gtk_tree_view_get_model(gv)); if (gs) return gs; /* create the store - it uses 9 values, 7 displayable, one proto color and the data pointer */ gs = gtk_list_store_new(9, GDK_TYPE_RGBA, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(gv, GTK_TREE_MODEL(gs)); /* the view columns and cell renderers must be also created ... the first column is the proto color; is a text column wich renders only a space with a colored background. We must set some special properties */ gc = gtk_tree_view_column_new_with_attributes (" ", gtk_cell_renderer_text_new(), "background-rgba", PROTO_COLUMN_COLOR, NULL); g_object_set(G_OBJECT(gc), "resizable", TRUE, "reorderable", TRUE, NULL); // gtk_tree_view_column_set_sort_column_id(gc, PROTO_COLUMN_COLOR); gtk_tree_view_append_column(gv, gc); create_add_text_column(gv, _("Protocol"), PROTO_COLUMN_NAME, FALSE); create_add_text_column(gv, _("Port"), PROTO_COLUMN_PORT, TRUE); create_add_text_column(gv, _("Inst Traffic"), PROTO_COLUMN_INSTANTANEOUS, FALSE); create_add_text_column(gv, _("Accum Traffic"), PROTO_COLUMN_ACCUMULATED, FALSE); create_add_text_column(gv, _("Avg Size"), PROTO_COLUMN_AVGSIZE, FALSE); create_add_text_column(gv, _("Last Heard"), PROTO_COLUMN_LASTHEARD, FALSE); create_add_text_column(gv, _("Packets"), PROTO_COLUMN_PACKETS, FALSE); /* the sort functions ... */ for (i = 0; i < PROTO_COLUMN_N; ++i) gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(gs), i, protocols_table_compare, gs, NULL); /* initial sort order is by protocol */ gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(gs), PROTO_COLUMN_NAME, GTK_SORT_ASCENDING); return gs; } static void protocols_table_clear(GtkListStore *gs) { gboolean res; GtkTreeIter it; res = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(gs), &it); while (res) { protocol_list_item_t *row_proto = NULL; gtk_tree_model_get(GTK_TREE_MODEL(gs), &it, PROTO_COLUMN_N, &row_proto, -1); if (row_proto) { g_free(row_proto->name); g_free(row_proto); res = gtk_list_store_remove(gs, &it); } } } static void update_protocols_row(GtkListStore *gs, GtkTreeIter *it, const protocol_list_item_t *row_proto) { gchar *ga, *gb, *gc, *gd, *ge, *gf; const port_service_t *ps; ga = traffic_to_str(row_proto->rowstats.accumulated, FALSE); gb = g_strdup_printf("%lu", row_proto->rowstats.accu_packets); ps = services_port_find(row_proto->name); if (ps) gc = g_strdup_printf("%d", ps->port); else gc = g_strdup("-"); gd = traffic_to_str(row_proto->rowstats.average, TRUE); ge = timeval_to_str(row_proto->rowstats.last_time); gf = traffic_to_str(row_proto->rowstats.avg_size, FALSE); gtk_list_store_set(gs, it, PROTO_COLUMN_ACCUMULATED, ga, PROTO_COLUMN_PACKETS, gb, PROTO_COLUMN_PORT, gc, PROTO_COLUMN_INSTANTANEOUS, gd, PROTO_COLUMN_LASTHEARD, ge, PROTO_COLUMN_AVGSIZE, gf, -1); g_free(ga); g_free(gb); g_free(gc); g_free(gd); g_free(ge); g_free(gf); } static void update_protocols_table(GtkWidget *window, const protostack_t *pstk) { GtkListStore *gs; GList *item; gboolean res; GtkTreeIter it; gs = create_protocols_table(window); if (!gs) return; /* nothing to do */ if (pstk) item = pstk->protostack[pref.stack_level]; else item = NULL; res = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(gs), &it); while (res || item) { const protocol_t *stack_proto = NULL; protocol_list_item_t *row_proto = NULL; /* retrieve current row proto (if present) */ if (res) gtk_tree_model_get(GTK_TREE_MODEL(gs), &it, PROTO_COLUMN_N, &row_proto, -1); if (!item) { /* no more protos on stack, del current row (remove moves to next) */ if (res) { g_free(row_proto->name); g_free(row_proto); res = gtk_list_store_remove(gs, &it); } continue; } /* retrieve current stack proto */ stack_proto = item->data; if (!res) { /* current protocol missing on list, create a new row */ row_proto = g_malloc(sizeof(protocol_list_item_t)); g_assert(row_proto); row_proto->name = g_strdup(stack_proto->name); row_proto->color = *protohash_color(stack_proto->name); gtk_list_store_append(gs, &it); gtk_list_store_set(gs, &it, PROTO_COLUMN_NAME, row_proto->name, PROTO_COLUMN_COLOR, &row_proto->color, PROTO_COLUMN_N, row_proto, -1); } else { /* we have both items, check names */ if (strcmp(row_proto->name, stack_proto->name)) { /* names not identical, delete current row (remove moves to next) */ g_free(row_proto->name); g_free(row_proto); res = gtk_list_store_remove(gs, &it); continue; } } /* everything ok, update stats */ row_proto->rowstats = stack_proto->stats; update_protocols_row(gs, &it, row_proto); if (res) res = gtk_tree_model_iter_next(GTK_TREE_MODEL(gs), &it); item = item->next; } } /* ---------------------------------------------------------- General Protocol Info window functions (protocols_window) Displays the global protocol table ---------------------------------------------------------- */ static void update_protocols_window(void) { GtkWidget *window; GtkTreeView *gv; window = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "protocols_window")); gv = retrieve_treeview(window); if (!gv) { /* register gv */ gv = GTK_TREE_VIEW(gtk_builder_get_object(appdata.xml, "prot_clist")); if (!gv) { g_critical("can't find prot_clist"); return; } register_treeview(window, gv); } update_protocols_table(window, protocol_summary_stack()); } /* update_protocols_window */ void toggle_protocols_window(void) { GtkWidget *protocols_check = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "protocols_check")); if (!protocols_check) return; gtk_menu_item_activate(GTK_MENU_ITEM(protocols_check)); } /* toggle_protocols_window */ gboolean on_delete_protocol_window(GtkWidget *wdg, GdkEvent *evt, gpointer ud) { toggle_protocols_window(); return TRUE; /* ignore signal */ } void on_protocols_check_activate(GtkCheckMenuItem *menuitem, gpointer user_data) { GtkWidget *protocols_window = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "protocols_window")); if (!protocols_window) return; if (gtk_check_menu_item_get_active(menuitem)) { gtk_widget_show(protocols_window); gdk_window_raise(gtk_widget_get_window(protocols_window)); update_protocols_window(); } else { /* retrieve view and model (store) */ GtkListStore *gs; GtkTreeView *gv = GTK_TREE_VIEW(gtk_builder_get_object(appdata.xml, "prot_clist")); if (gv) { gs = GTK_LIST_STORE(gtk_tree_view_get_model(gv)); if (gs) protocols_table_clear(gs); } gtk_widget_hide(protocols_window); } } /* on_protocols_check_activate */ /* opens a protocol detail window when the user clicks a proto row */ gboolean on_prot_list_select_row(GtkTreeView *gv, gboolean arg1, gpointer user_data) { protocol_t *protocol = NULL; GtkListStore *gs; GtkTreePath *gpath = NULL; GtkTreeViewColumn *gcol = NULL; GtkTreeIter it; /* retrieve the model (store) */ gs = GTK_LIST_STORE(gtk_tree_view_get_model(gv)); if (!gs) return FALSE; /* gets the row (path) at cursor */ gtk_tree_view_get_cursor(gv, &gpath, &gcol); if (!gpath) return FALSE; /* no row selected */ /* get iterator from path and removes from store */ if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(gs), &it, gpath)) return FALSE; /* path not found */ gtk_tree_model_get(GTK_TREE_MODEL(gs), &it, PROTO_COLUMN_N, &protocol, -1); create_prot_info_window(protocol); return TRUE; } /* on_prot_clist_select_row */ /* ---------------------------------------------------------- Node Info window functions ---------------------------------------------------------- */ /* Comparison function used to compare stats_info_windows */ static gint node_info_window_compare(gconstpointer a, gconstpointer b) { const node_id_t *id_a; g_assert(a != NULL); g_assert(b != NULL); id_a = g_object_get_data(G_OBJECT(a), "node_id"); if (!id_a) return -1; /* not a node window */ return node_id_compare(id_a, b); } gboolean update_info_windows(gpointer dummy) { static struct timeval last_update_time = { 0, 0 }; capstatus_t status; double diffms; struct timeval nowtime; status = get_capture_status(); if (status == PAUSE) return G_SOURCE_CONTINUE; /* Update info windows at most twice a second */ gettimeofday(&nowtime, NULL); diffms = subtract_times_ms(&nowtime, &last_update_time); if (diffms >= 0 && (diffms < 500 || diffms < pref.refresh_period)) return G_SOURCE_CONTINUE; update_protocols_window(); update_stats_info_windows(); update_prot_info_windows(); nodes_wnd_update(); gettimeofday(&last_update_time, NULL); return G_SOURCE_CONTINUE; } /* It's called when a node info window is closed by the user * It has to free memory and delete the window from the list * of windows */ gboolean on_node_info_delete_event(GtkWidget *node_info, GdkEvent *evt, gpointer user_data) { stats_info_windows = g_list_remove(stats_info_windows, node_info); g_free(g_object_get_data(G_OBJECT(node_info), "node_id")); g_free(g_object_get_data(G_OBJECT(node_info), "link_id")); gtk_widget_destroy(node_info); return FALSE; } /* on_node_info_delete_event */ void update_stats_info_windows(void) { GList *list_item; GtkWidget *window; capstatus_t status; status = get_capture_status(); list_item = stats_info_windows; while (list_item) { window = list_item->data; if (status == STOP) { GList *remove_item = list_item; list_item = list_item->next; stats_info_windows = g_list_delete_link(stats_info_windows, remove_item); g_free(g_object_get_data(G_OBJECT(window), "node_id")); g_free(g_object_get_data(G_OBJECT(window), "link_id")); gtk_widget_destroy(GTK_WIDGET(window)); } else { if (g_object_get_data(G_OBJECT(window), "node_id")) { /* is a node info window */ update_node_protocols_window(window); } else update_link_info_window(window); list_item = list_item->next; } } } /* update_stats_info_windows */ /**************************************************************************** * * node protocols display * ***************************************************************************/ static GtkWidget *stats_info_create(const gchar *idkey, gpointer key) { GtkBuilder *bldr; GtkWidget *window; GtkTreeView *gv; bldr = new_bldr_instance("node_proto_info"); if (!bldr) { g_error(_("We could not load the interface! (%s)"), appdata.itf_file); return NULL; } window = GTK_WIDGET(gtk_builder_get_object(bldr, "node_proto_info")); if (!window) { g_error(_("We could not load the interface! (%s)"), appdata.itf_file); g_object_unref(bldr); return NULL; } gtk_widget_show(window); /* register the widgets in the window */ register_glade_widget(bldr, window, "src_label"); register_glade_widget(bldr, window, "dst_label"); register_glade_widget(bldr, window, "node_iproto_name"); register_glade_widget(bldr, window, "node_iproto_numeric_name"); register_glade_widget(bldr, window, "node_iproto_name_b"); register_glade_widget(bldr, window, "node_iproto_numeric_name_b"); register_glade_widget(bldr, window, "total_label"); register_glade_widget(bldr, window, "inbound_label"); register_glade_widget(bldr, window, "outbound_label"); register_glade_widget(bldr, window, "node_iproto_avg"); register_glade_widget(bldr, window, "node_iproto_avg_in"); register_glade_widget(bldr, window, "node_iproto_avg_out"); register_glade_widget(bldr, window, "node_iproto_accum"); register_glade_widget(bldr, window, "node_iproto_accum_in"); register_glade_widget(bldr, window, "node_iproto_accum_out"); register_glade_widget(bldr, window, "node_iproto_avgsize"); register_glade_widget(bldr, window, "node_iproto_avgsize_in"); register_glade_widget(bldr, window, "node_iproto_avgsize_out"); /* get and register the tree view */ gv = GTK_TREE_VIEW(gtk_builder_get_object(bldr, "node_iproto_proto")); register_treeview(window, gv); /* create columns of proto list */ create_protocols_table(window); // builder is not needed anymore g_object_unref(bldr); /* register key info */ g_object_set_data(G_OBJECT(window), idkey, key); /* insert into list */ stats_info_windows = g_list_prepend(stats_info_windows, window); return window; } static void stats_info_update(GtkWidget *window, const traffic_stats_t *stats) { if (!stats) { update_gtklabel(window, "node_iproto_avg", "X"); update_gtklabel(window, "node_iproto_accum", "X"); update_gtklabel(window, "node_iproto_avgsize", "X"); update_gtklabel(window, "node_iproto_avg_in", "X"); update_gtklabel(window, "node_iproto_avg_out", "X"); update_gtklabel(window, "node_iproto_accum_in", "X"); update_gtklabel(window, "node_iproto_accum_out", "X"); update_gtklabel(window, "node_iproto_avgsize_in", "X"); update_gtklabel(window, "node_iproto_avgsize_out", "X"); update_protocols_table(window, NULL); gtk_widget_queue_resize(GTK_WIDGET(window)); } else { gchar *str; str = traffic_to_str(stats->stats.average, TRUE); update_gtklabel(window, "node_iproto_avg", str); g_free(str); str = traffic_to_str(stats->stats.accumulated, FALSE); update_gtklabel(window, "node_iproto_accum", str); g_free(str); str = traffic_to_str(stats->stats.avg_size, FALSE); update_gtklabel(window, "node_iproto_avgsize", str); g_free(str); str = traffic_to_str(stats->stats_in.average, TRUE); update_gtklabel(window, "node_iproto_avg_in", str); g_free(str); str = traffic_to_str(stats->stats_out.average, TRUE); update_gtklabel(window, "node_iproto_avg_out", str); g_free(str); str = traffic_to_str(stats->stats_in.accumulated, FALSE); update_gtklabel(window, "node_iproto_accum_in", str); g_free(str); str = traffic_to_str(stats->stats_out.accumulated, FALSE); update_gtklabel(window, "node_iproto_accum_out", str); g_free(str); str = traffic_to_str(stats->stats_in.avg_size, FALSE); update_gtklabel(window, "node_iproto_avgsize_in", str); g_free(str); str = traffic_to_str(stats->stats_out.avg_size, FALSE); update_gtklabel(window, "node_iproto_avgsize_out", str); g_free(str); /* update protocol table */ update_protocols_table(window, &stats->stats_protos); } } void node_protocols_window_create(const node_id_t *node_id) { GtkWidget *window; GList *list_item; /* If there is already a window, we don't need to create it again */ list_item = g_list_find_custom(stats_info_windows, node_id, node_info_window_compare); if (!list_item) { window = stats_info_create("node_id", g_memdup(node_id, sizeof(node_id_t))); if (!window) return; /* creation failed */ /* nodes don't need secondary names */ update_gtklabel(window, "node_iproto_name_b", ""); update_gtklabel(window, "node_iproto_numeric_name_b", ""); } else window = list_item->data; update_node_protocols_window(window); } /* node_protocols_window_create */ static void update_node_protocols_window(GtkWidget *window) { const node_id_t *node_id; const node_t *node; node_id = g_object_get_data(G_OBJECT(window), "node_id"); node = nodes_catalog_find(node_id); if (!node) { /* node expired, clear stats */ update_gtklabel(window, "node_iproto_numeric_name", _("Node timed out")); stats_info_update(window, NULL); return; } gtk_window_set_title(GTK_WINDOW(window), node->name->str); update_gtklabel(window, "node_iproto_name", node->name->str); update_gtklabel(window, "node_iproto_numeric_name", node->numeric_name->str); stats_info_update(window, &node->node_stats); } /**************************************************************************** * * link protocols display * ***************************************************************************/ /* Comparison function used to compare stats_info_windows */ static gint link_info_window_compare(gconstpointer a, gconstpointer b) { const link_id_t *id_a; g_assert(a != NULL); g_assert(b != NULL); id_a = g_object_get_data(G_OBJECT(a), "link_id"); if (!id_a) return -1; /* not a link window */ return link_id_compare(id_a, b); } void link_info_window_create(const link_id_t *link_id) { GtkWidget *window; GList *list_item; /* If there is already a window, we don't need to create it again */ list_item = g_list_find_custom(stats_info_windows, link_id, link_info_window_compare); if (!list_item) { window = stats_info_create("link_id", g_memdup(link_id, sizeof(link_id_t))); if (!window) return; /* creation failed */ } else window = list_item->data; update_link_info_window(window); } static void update_link_info_window(GtkWidget *window) { const link_id_t *link_id; const link_t *link; const node_t *node; gchar *linkname; /* updates column descriptions */ show_widget(window, "src_label"); show_widget(window, "dst_label"); update_gtklabel(window, "inbound_label", _("B->A")); update_gtklabel(window, "outbound_label", _("A->B")); link_id = g_object_get_data(G_OBJECT(window), "link_id"); link = links_catalog_find(link_id); if (!link) { /* node expired, clear stats */ update_gtklabel(window, "node_iproto_numeric_name", _("Link timed out")); update_gtklabel(window, "node_iproto_numeric_name_b", ""); stats_info_update(window, NULL); return; } linkname = link_id_node_names(link_id); gtk_window_set_title(GTK_WINDOW(window), linkname); g_free(linkname); node = nodes_catalog_find(&link_id->src); if (node) { update_gtklabel(window, "node_iproto_name", node->name->str); update_gtklabel(window, "node_iproto_numeric_name", node->numeric_name->str); } else { update_gtklabel(window, "node_iproto_name", _("Node timed out")); update_gtklabel(window, "node_iproto_numeric_name", _("Node timed out")); } node = nodes_catalog_find(&link_id->dst); if (node) { update_gtklabel(window, "node_iproto_name_b", node->name->str); update_gtklabel(window, "node_iproto_numeric_name_b", node->numeric_name->str); } else { update_gtklabel(window, "node_iproto_name_b", _("Node timed out")); update_gtklabel(window, "node_iproto_numeric_name_b", _("Node timed out")); } stats_info_update(window, &link->link_stats); } etherape-0.9.20/src/capture/0000755000175000017500000000000014050240620012623 500000000000000etherape-0.9.20/src/capture/capctl.c0000644000175000017500000004413414023171551014171 00000000000000/* * Copyright (C) 2014, 2016 Zev Weiss * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #if HAVE_UNISTD_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_SYS_WAIT_H #include #endif #include #include #include "preferences.h" #include "appdata.h" #include "stats/decode_proto.h" #include "stats/protocols.h" #include "stats/node.h" #include "stats/links.h" #include "stats/util.h" #include "export.h" #include "cap-util.h" #include "capctl.h" #include "capctl-msg.h" #include "capture.h" /* For live capture */ static int ctrlsock = -1; static int pktpipe = -1; static pid_t pktcap_pid = -1; /* For offline (file-sourced) capture */ static struct { pcap_t *pcap; /* pcap support struct */ gboolean new; /* becomes false after reading a packet */ gint64 wait_ms; /* ms to wait before outputting the packet */ unsigned long total_packets; /* total number of packets read from file */ struct pcap_pkthdr lastpkt_hdr; /* header of last packet read */ unsigned char lastpkt_data[MAXCAPSIZE]; /* data of last packet */ } filecap_state; static capstatus_t capture_status = STOP; static gint capture_source = -1; static inline gchar *appdata_source_name(const struct appdata_struct *p) { return p->source.type == ST_LIVE ? p->source.interface : p->source.file; } static inline void zeroreq(struct capctl_req_t *req) { memset(req, 0, sizeof(*req)); } static gboolean ctrl_recv(void *buf, size_t len) { if (read_all(ctrlsock, buf, len)) { g_error(_("Failed to receive message from packet-capture process")); return FALSE; } return TRUE; } static void ctrl_send(const void *buf, size_t len) { if (write_all(ctrlsock, buf, len)) g_error(_("Failed to send message to packet-capture process")); } static void pkt_recv(void *buf, size_t len) { if (read_all(pktpipe, buf, len)) g_error(_("Failed to receive packet from packet-capture process")); } static inline void sendreq(const struct capctl_req_t *req) { ctrl_send(req, sizeof(*req)); } static inline void recvresp(struct capctl_resp_t *resp) { if (!ctrl_recv(resp, sizeof(*resp))) resp->status = CRP_ERR; } static gchar *recvstr(size_t len) { gchar *str = g_malloc(len + 1); if (!ctrl_recv(str, len)) safe_strncpy(str, _("Failed to receive message from packet-capture process"), len+1); else str[len] = '\0'; return str; } static void setenv_warn(const char *var, const char *value) { if (setenv(var, value, 1)) g_warning(_("Failed to set %s environment variable to '%s': %s"), var, value, strerror(errno)); } /* Switch to the given (presumably un-privileged) user. */ static void privdrop(const gchar *user) { struct passwd *pw; pw = getpwnam(user); if (!pw) g_error(_("Unknown user '%s'"), user); if (initgroups(pw->pw_name, pw->pw_gid) || setgid(pw->pw_gid) || setuid(pw->pw_uid)) g_error(_("Failed to switch to user '%s' (uid=%lu, gid=%lu): %s"), user, (unsigned long)pw->pw_uid, (unsigned long)pw->pw_gid, strerror(errno)); setenv_warn("USER", pw->pw_name); setenv_warn("USERNAME", pw->pw_name); setenv_warn("HOME", pw->pw_dir); setenv_warn("SHELL", pw->pw_shell); } gchar *init_capture(const gchar *user) { int status; int sockfds[2]; int pipefds[2]; pid_t pid; struct capctl_req_t req; struct capctl_resp_t resp; gchar *errmsg; zeroreq(&req); capture_status = STOP; /* Create the socket via which we'll control the privileged pktcap process */ status = socketpair(AF_UNIX, SOCK_STREAM, 0, sockfds); if (status < 0) return g_strdup(strerror(errno)); status = pipe(pipefds); if (status < 0) { close(sockfds[0]); close(sockfds[1]); return g_strdup(strerror(errno)); } pid = fork(); if (pid < 0) return g_strdup(strerror(errno)); if (!pid) { /* child */ if (close(sockfds[0])) g_warning("control socket close() failed: %s", strerror(errno)); if (close(pipefds[0])) g_warning("packet pipe close() failed: %s", strerror(errno)); pktcap_run(sockfds[1], pipefds[1]); } if (user) privdrop(user); /* parent */ if (close(sockfds[1])) g_warning("control socket close() failed: %s", strerror(errno)); if (close(pipefds[1])) g_warning("packet pipe close() failed: %s", strerror(errno)); ctrlsock = sockfds[0]; pktpipe = pipefds[0]; req.type = CRQ_PING; ctrl_send(&req, sizeof(req)); ctrl_recv(&resp, sizeof(resp)); if (resp.status == CRP_OK) { set_fd_nonblock(pktpipe, 1); pktcap_pid = pid; return NULL; } else { errmsg = g_malloc(resp.err.msglen + 1); ctrl_recv(errmsg, resp.err.msglen); errmsg[resp.err.msglen] = '\0'; return errmsg; } } GList *get_capture_interfaces(GString *err) { gchar *raw_msg; gchar *devname; struct capctl_resp_t resp; struct capctl_req_t req; GList *ifs = NULL; zeroreq(&req); req.type = CRQ_LISTDEVS; sendreq(&req); recvresp(&resp); if (resp.status == CRP_ERR) { raw_msg = recvstr(resp.err.msglen); g_string_assign(err, raw_msg); g_free(raw_msg); return NULL; } g_assert(resp.status == CRP_OK); raw_msg = g_malloc(resp.listdevs.len); ctrl_recv(raw_msg, resp.listdevs.len); for (devname = raw_msg; *devname; devname += strlen(devname) + 1) ifs = g_list_prepend(ifs, g_strdup(devname)); g_free(raw_msg); g_string_assign(err, ""); return ifs; } static void interface_list_free_cb(gpointer data, gpointer user_data) { g_free(data); } void free_capture_interfaces(GList *ifs) { g_list_foreach(ifs, interface_list_free_cb, NULL); g_list_free(ifs); } static gboolean pktpipe_read_cb(GIOChannel *source, GIOCondition condition, gpointer data) { struct pcap_pkthdr pkthdr; char pktdata[MAXCAPSIZE]; set_fd_nonblock(pktpipe, 0); pkt_recv(&pkthdr, sizeof(pkthdr)); g_assert(pkthdr.caplen <= MAXCAPSIZE); pkt_recv(pktdata, pkthdr.caplen); set_fd_nonblock(pktpipe, 1); appdata.now = pkthdr.ts; packet_acquired((guint8 *)pktdata, pkthdr.caplen, pkthdr.len); return TRUE; } static gchar *start_live_capture(unsigned int *linktype, int *select_fd) { struct capctl_req_t req; struct capctl_resp_t resp; gchar *new_devname; zeroreq(&req); g_assert(appdata.source.type == ST_LIVE); req.type = CRQ_STARTCAP; req.startcap.devlen = appdata.source.interface ? strlen(appdata.source.interface) : 0; sendreq(&req); if (appdata.source.interface) ctrl_send(appdata.source.interface, req.startcap.devlen); recvresp(&resp); if (resp.status == CRP_ERR) return recvstr(resp.err.msglen); new_devname = recvstr(resp.startcap.devlen); if (appdata.source.interface) { g_assert(!strcmp(appdata.source.interface, new_devname)); g_free(new_devname); } else appdata.source.interface = new_devname; *linktype = resp.startcap.linktype; *select_fd = pktpipe; return NULL; } /* FIXME: verify how this works w/ negatives... */ static inline gint64 tv_to_ms(const struct timeval *tv) { gint64 ms = tv->tv_sec * 1000; if (ms > 0) ms += tv->tv_usec / 1000; else if (ms == 0) ms = tv->tv_usec / 1000; else ms -= tv->tv_usec / 1000; return ms; } static gboolean filecap_get_packet(gpointer unused) { int status; struct pcap_pkthdr *nextpkt_hdr; const unsigned char *nextpkt_data; struct timeval pktdelta; size_t copylen; if (capture_status != PLAY) return FALSE; if (!filecap_state.new) { appdata.now = filecap_state.lastpkt_hdr.ts; packet_acquired((guint8 *)filecap_state.lastpkt_data, filecap_state.lastpkt_hdr.caplen, filecap_state.lastpkt_hdr.len); } status = pcap_next_ex(filecap_state.pcap, &nextpkt_hdr, &nextpkt_data); if (status == -2) { capture_status = CAP_EOF; /* xml dump if needed */ if (appdata.export_file_final) dump_xml(appdata.export_file_final, appdata.n_packets); return FALSE; } else if (status == -1) { g_error("Failed to read packet from pcap file: %s", pcap_geterr(filecap_state.pcap)); return FALSE; } else g_assert(status == 1); // another packet read successfully ++filecap_state.total_packets; if (filecap_state.new) filecap_state.wait_ms = 0; else { timersub(&nextpkt_hdr->ts, &filecap_state.lastpkt_hdr.ts, &pktdelta); filecap_state.wait_ms = tv_to_ms(&pktdelta); } if (filecap_state.wait_ms < 0) filecap_state.wait_ms = 0; if (filecap_state.wait_ms < appdata.min_delay) filecap_state.wait_ms = appdata.min_delay; if (filecap_state.wait_ms > appdata.max_delay) filecap_state.wait_ms = appdata.max_delay; filecap_state.lastpkt_hdr = *nextpkt_hdr; if (nextpkt_hdr->caplen > MAXCAPSIZE) { filecap_state.lastpkt_hdr.caplen = MAXCAPSIZE; copylen = MAXCAPSIZE; } else copylen = nextpkt_hdr->caplen; memcpy(filecap_state.lastpkt_data, nextpkt_data, copylen); filecap_state.new = FALSE; return FALSE; } static void filecap_timeout_destroy(gpointer unused) { if (capture_status == STOP) { pcap_close(filecap_state.pcap); filecap_state.pcap = NULL; } else if (capture_status == PLAY) capture_source = g_timeout_add_full(G_PRIORITY_DEFAULT, filecap_state.wait_ms, filecap_get_packet, NULL, filecap_timeout_destroy); } static gchar *start_file_capture(unsigned int *linktype) { char errbuf[PCAP_ERRBUF_SIZE]; g_assert(appdata.source.type == ST_FILE); g_assert(appdata.source.file); g_assert(!filecap_state.pcap); filecap_state.pcap = pcap_open_offline(appdata.source.file, errbuf); filecap_state.new = TRUE; filecap_state.total_packets = 0; if (!filecap_state.pcap) return g_strdup(errbuf); *linktype = pcap_datalink(filecap_state.pcap); return NULL; } gchar *start_capture(void) { gchar *err; unsigned int linktype; int select_fd = -1; if (capture_status == STOP) { protocol_summary_open(); nodes_catalog_open(); links_catalog_open(); } if (appdata.source.type == ST_LIVE) err = start_live_capture(&linktype, &select_fd); else err = start_file_capture(&linktype); if (err) { links_catalog_close(); nodes_catalog_close(); protocol_summary_close(); return err; } /* FIXME: stop capture on errors past here */ if (!setup_link_type(linktype)) return g_strdup_printf(_("%s uses unsupported link type %d, cannot proceed." " Please choose another source."), appdata_source_name(&appdata), linktype); if (appdata.mode == APEMODE_DEFAULT) { appdata.mode = IP; g_free(pref.filter); pref.filter = get_default_filter(appdata.mode); } else if (appdata.mode == LINK6 && !has_linklevel()) return g_strdup_printf(_("This device does not support link-layer mode. " "Please use IP or TCP modes.")); if (pref.filter) { err = set_filter(pref.filter); if (err) return err; } capture_status = PLAY; if (appdata.source.type == ST_LIVE) { GIOChannel *channel = g_io_channel_unix_new(select_fd); capture_source = g_io_add_watch(channel, G_IO_IN | G_IO_HUP | G_IO_ERR, pktpipe_read_cb, NULL); g_io_channel_unref(channel); } else capture_source = g_timeout_add_full(G_PRIORITY_DEFAULT, 1, filecap_get_packet, NULL, filecap_timeout_destroy); return NULL; } gchar *pause_capture(void) { g_assert(capture_status == PLAY); capture_status = PAUSE; return NULL; } gchar *unpause_capture(void) { g_assert(capture_status == PAUSE); if (appdata.source.type == ST_FILE) capture_status = g_timeout_add_full(G_PRIORITY_DEFAULT, 1, filecap_get_packet, NULL, filecap_timeout_destroy); capture_status = PLAY; return NULL; } static gchar *stop_live_capture(void) { struct capctl_req_t req; struct capctl_resp_t resp; g_assert(appdata.source.type == ST_LIVE); zeroreq(&req); g_source_remove(capture_source); req.type = CRQ_STOPCAP; sendreq(&req); recvresp(&resp); if (resp.status == CRP_ERR) return recvstr(resp.err.msglen); g_assert(resp.status == CRP_OK); return NULL; } gchar *stop_capture(void) { gchar *err = NULL; capstatus_t orig_state = capture_status; g_assert(capture_status == PLAY || capture_status == PAUSE || capture_status == CAP_EOF); /* * HACK: setting capture_status = STOP here (before the actual stop * operation) so that callbacks for file capture happening via timers will * see it and tear down. We save the original state and restore it on * failure (kind of gross). */ capture_status = STOP; if (appdata.source.type == ST_LIVE) err = stop_live_capture(); else { if (orig_state == PLAY) { /* * If we're playing, the timeout destroy function will take care of * cleaning up closing and NULLing filecap_state.pcap. */ g_source_remove(capture_source); } else if (orig_state == PAUSE || orig_state == CAP_EOF) { /* * But if we're stopping from a pause the timeout's not armed and * we'll need to do it here. */ pcap_close(filecap_state.pcap); filecap_state.pcap = NULL; } } if (!err) { links_catalog_close(); nodes_catalog_close(); protocol_summary_close(); new_nodes_clear(); } else capture_status = orig_state; return err; } static gchar *cleanup_live_capture(void) { struct capctl_req_t req; struct capctl_resp_t resp; int pktcap_status; pid_t pid; pid_t oldpid; if (pktcap_pid == -1) return NULL; zeroreq(&req); req.type = CRQ_EXIT; sendreq(&req); recvresp(&resp); if (resp.status == CRP_ERR) return recvstr(resp.err.msglen); g_assert(resp.status == CRP_OK); close(ctrlsock); ctrlsock = -1; // always reset pid oldpid = pktcap_pid; pktcap_pid = -1; pid = waitpid(oldpid, &pktcap_status, 0); if (pid != oldpid) return g_strdup_printf("waitpid() returned %d on capture process", pid); else if (!WIFEXITED(pktcap_status) || WEXITSTATUS(pktcap_status)) return g_strdup_printf("capture process exited abnormally"); return NULL; } void cleanup_capture(void) { gchar *err = NULL; if (capture_status != STOP) { err = stop_capture(); if (err) { g_error("failed to stop capture: %s", err); g_free(err); } } if (appdata.source.type == ST_FILE) g_assert(!filecap_state.pcap); /* * This happens unconditionally because even if we've been replaying from a * capture file, the live-capture process is still sitting around in the * background and needs to be stopped. */ err = cleanup_live_capture(); if (err) { g_error("Capture cleanup error: %s", err); g_free(err); } } void force_next_packet(void) { g_assert(capture_status == PLAY); filecap_state.wait_ms = 0; g_source_remove(capture_source); } static gchar *set_live_filter(const gchar *filter) { struct capctl_req_t req; struct capctl_resp_t resp; g_assert(appdata.source.type == ST_LIVE); zeroreq(&req); req.type = CRQ_SETFILTER; req.setfilter.bpflen = strlen(filter); sendreq(&req); ctrl_send(filter, req.setfilter.bpflen); recvresp(&resp); if (resp.status == CRP_ERR) return recvstr(resp.err.msglen); g_assert(resp.status == CRP_OK); return NULL; } static gchar *set_offline_filter(const gchar *filter) { struct bpf_program bpfprog; g_assert(appdata.source.type == ST_FILE); if (!filecap_state.pcap) return g_strdup_printf("no capture file selected"); /* TODO: netmask? */ if (pcap_compile(filecap_state.pcap, &bpfprog, filter, 1, PCAP_NETMASK_UNKNOWN) || pcap_setfilter(filecap_state.pcap, &bpfprog)) return g_strdup(pcap_geterr(filecap_state.pcap)); return NULL; } gchar *set_filter(const gchar *filter) { gchar *errmsg; gchar *err; if (appdata.source.type == ST_LIVE) err = set_live_filter(filter); else err = set_offline_filter(filter); if (err) { errmsg = g_strdup_printf("failed to set filter: %s", err); g_free(err); return errmsg; } else return NULL; } gchar *get_default_filter(apemode_t mode) { switch (mode) { case IP: return g_strdup("ip or ip6"); case TCP: return g_strdup("tcp"); default: g_error("Invalid apemode %d", mode); /* Fallthrough */ case LINK6: return g_strdup(""); } } static gchar *get_live_stats(struct pcap_stat *ps) { struct capctl_req_t req; struct capctl_resp_t resp; zeroreq(&req); req.type = CRQ_GETSTATS; sendreq(&req); recvresp(&resp); if (resp.status == CRP_ERR) return recvstr(resp.err.msglen); g_assert(resp.status == CRP_OK); *ps = resp.getstats.stats; return NULL; } static gchar *get_filecap_stats(struct pcap_stat *ps) { g_assert(appdata.source.type == ST_FILE); if (!filecap_state.pcap) return g_strdup("no capture file selected"); if (pcap_stats(filecap_state.pcap, ps)) return g_strdup(pcap_geterr(filecap_state.pcap)); return NULL; } gchar *get_capture_stats(struct pcap_stat *ps) { return (appdata.source.type == ST_FILE ? get_filecap_stats : get_live_stats)(ps); } capstatus_t get_capture_status(void) { return capture_status; } etherape-0.9.20/src/capture/capctl-msg.h0000644000175000017500000000346313657562503014777 00000000000000/* * Copyright (C) 2014, 2016 Zev Weiss * * 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, see . */ #ifndef CAPCTL_MSG_H #define CAPCTL_MSG_H #include #ifndef PCAP_NETMASK_UNKNOWN #define PCAP_NETMASK_UNKNOWN 0xFFFFFFFF /* only pcap >=1.10 defines this */ #endif typedef enum { CRQ_PING, /* Only used during init to check liveness */ CRQ_LISTDEVS, CRQ_STARTCAP, CRQ_SETFILTER, CRQ_GETSTATS, CRQ_STOPCAP, CRQ_EXIT, } capctl_reqtype_t; struct capctl_req_t { capctl_reqtype_t type; union { struct { } ping; struct { } listdevs; struct { size_t devlen; } startcap; struct { size_t bpflen; } setfilter; struct { } stopcap; struct { } exit; struct { } getstats; }; }; typedef enum { CRP_OK, CRP_ERR, } capctl_status_t; struct capctl_resp_t { capctl_status_t status; union { struct { size_t msglen; } err; struct { } ping; struct { size_t len; } listdevs; struct { size_t devlen; int linktype; } startcap; struct { } setfilter; struct { } stopcap; struct { } exit; struct { struct pcap_stat stats; } getstats; }; }; #endif etherape-0.9.20/src/capture/cap-util.c0000644000175000017500000000417414021134023014430 00000000000000/* * Miscellaneous utility routines for packet-capture code * * Copyright (c) 2016 Zev Weiss * * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_FCNTL_H #include #endif #include "cap-util.h" int write_all(int fd, const void *buf, size_t count) { ssize_t written, total = 0; while (total < count) { written = write(fd, (const char *)buf + total, count - total); if (written < 0) { fprintf(stderr, "write(2) failed in write_all(): %s\n", strerror(errno)); return -1; } total += written; } return 0; } int read_all(int fd, void *buf, size_t count) { ssize_t nread, total = 0; while (total < count) { nread = read(fd, (char *)buf + total, count - total); if (nread < 0) { fprintf(stderr, "read(2) failed in read_all(): %s\n", strerror(errno)); return -1; } else if (!nread) { fprintf(stderr, "unexpected EOF in read_all()\n"); return -1; } total += nread; } return 0; } void set_fd_nonblock(int fd, int on) { int status, flags; flags = fcntl(fd, F_GETFL); if (flags != -1) status = fcntl(fd, F_SETFL, on ? (flags | O_NONBLOCK) : (flags & ~O_NONBLOCK)); if (flags == -1 || status == -1) { fprintf(stderr, "fcntl(2) failed in set_fd_nonblock(): %s\n", strerror(errno)); abort(); } } etherape-0.9.20/src/capture/capture.h0000644000175000017500000000154213657562503014404 00000000000000/* * Copyright (C) 2014, 2016 Zev Weiss * * 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, see . */ #ifndef CAPTURE_H #define CAPTURE_H /* Max pcap packet capture size */ #define MAXCAPSIZE 200 void pktcap_run(int csockfd, int ppipefd); #endif etherape-0.9.20/src/capture/cap-util.h0000644000175000017500000000220013063256076014443 00000000000000/* * Capture utility definitions * * 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. */ #ifndef CAPUTIL_H #define CAPUTIL_H /* * read(2)/write(2) wrappers that either read 'count' bytes and return zero or * fail to do so and return non-zero. */ int write_all(int fd, const void *buf, size_t count); int read_all(int fd, void *buf, size_t count); /* Small wrapper to set (or unset) O_NONBLOCK on a file descriptor */ void set_fd_nonblock(int fd, int on); #endif /* CAPUTIL_H */ etherape-0.9.20/src/capture/capctl.h0000644000175000017500000000322313657562503014205 00000000000000/* * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * Copyright (C) 2014, 2016 Zev Weiss * * 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, see . */ #ifndef ETHERAPE_CAPCTL_H #define ETHERAPE_CAPCTL_H #include #include "common.h" /* Possible states of capture status */ typedef enum { STOP = 0, PLAY = 1, PAUSE = 2, CAP_EOF = 3 /* end-of-file */ } capstatus_t; capstatus_t get_capture_status(void); gchar *init_capture(const gchar *user); /* * Get a list containing the names of available capture interfaces. Returns * NULL on error, with an error message in err_str. The returned list must be * freed with free_capture_interfaces(). */ GList *get_capture_interfaces(GString *err); void free_capture_interfaces(GList *ifs); gchar *start_capture(void); gchar *pause_capture(void); gchar *unpause_capture(void); gchar *stop_capture(void); void cleanup_capture(void); void force_next_packet(void); gchar *set_filter(const gchar *filter); gchar *get_default_filter(apemode_t mode); gchar *get_capture_stats(struct pcap_stat *ps); #endif /* ETHERAPE_CAPCTL_H */ etherape-0.9.20/src/capture/capture.c0000644000175000017500000002170314021134023014352 00000000000000/* * Copyright (C) 2014, 2016 Zev Weiss * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_SYS_SELECT_H #include #endif #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_SYS_TYPES_H #include #endif #include #include "cap-util.h" #include "capctl-msg.h" #include "capture.h" static int ctrlsock = -1; static int pktpipe = -1; static pcap_t *pcap = NULL; static int pcap_fd = -1; /* non-glib convenience wrappers */ static inline void *xmalloc(size_t sz) { void *p = malloc(sz); if (!p) { perror("malloc failure"); abort(); } return p; } static inline char *xstrdup(const char *s) { char *new = strdup(s); if (!new) { perror("strdup failure"); abort(); } return new; } static inline void xfree(void *p) { free(p); } #define __xmessage(pfx, fmt, ...) fprintf(stderr, pfx ": "fmt "\n", ## __VA_ARGS__) #define xwarning(fmt, ...) __xmessage("warning", fmt, ## __VA_ARGS__) #define xerror(fmt, ...) __xmessage("error", fmt, ## __VA_ARGS__) #define xcritical(fmt, ...) __xmessage("critical", fmt, ## __VA_ARGS__) static inline void ctrl_send(const void *buf, size_t len) { if (write_all(ctrlsock, buf, len)) { xcritical("write_all() failed on control socket"); exit(1); } } static inline void ctrl_recv(void *buf, size_t len) { if (read_all(ctrlsock, buf, len)) { xcritical("read_all() failed on control socket"); exit(1); } } static inline void sendresp(const struct capctl_resp_t *resp) { ctrl_send(resp, sizeof(*resp)); } static inline void zeroresp(struct capctl_resp_t *resp) { memset(resp, 0, sizeof(*resp)); } static void senderrmsg(const char *msg) { struct capctl_resp_t resp; zeroresp(&resp); resp.status = CRP_ERR; resp.err.msglen = strlen(msg); sendresp(&resp); ctrl_send(msg, resp.err.msglen); } static void sendstr(const char *str) { ctrl_send(str, strlen(str)); } static char *recvstr(size_t len) { char *str = xmalloc(len + 1); ctrl_recv(str, len); str[len] = '\0'; return str; } static void sendok(void) { struct capctl_resp_t resp; zeroresp(&resp); resp.status = CRP_OK; sendresp(&resp); } static void handle_ping(const struct capctl_req_t *req) { sendok(); } static void handle_listdevs(const struct capctl_req_t *req) { struct capctl_resp_t resp; pcap_if_t *alldevs; pcap_if_t *dev; char errbuf[PCAP_ERRBUF_SIZE]; int status; zeroresp(&resp); status = pcap_findalldevs(&alldevs, errbuf); if (status != 0) { senderrmsg(errbuf); return; } resp.listdevs.len = 0; for (dev = alldevs; dev; dev = dev->next) resp.listdevs.len += strlen(dev->name) + 1; resp.listdevs.len += 1; /* for final list-terminating NUL byte */ resp.status = CRP_OK; sendresp(&resp); for (dev = alldevs; dev; dev = dev->next) ctrl_send(dev->name, strlen(dev->name) + 1); /* List terminator */ ctrl_send("", 1); pcap_freealldevs(alldevs); } /* TODO: screen refresh rate? */ #define PCAP_TIMEOUT 250 static void handle_startcap(const struct capctl_req_t *req) { char *devname; char errbuf[PCAP_ERRBUF_SIZE]; struct capctl_resp_t resp; zeroresp(&resp); if (pcap) { senderrmsg("capture already running"); return; } if (!req->startcap.devlen) { devname = pcap_lookupdev(errbuf); if (!devname) { senderrmsg(errbuf); return; } devname = xstrdup(devname); } else devname = recvstr(req->startcap.devlen); pcap = pcap_open_live(devname, MAXCAPSIZE, 1, PCAP_TIMEOUT, errbuf); if (!pcap) { xfree(devname); senderrmsg(errbuf); return; } pcap_fd = pcap_get_selectable_fd(pcap); if (pcap_fd < 0) { senderrmsg("failed to get selectable pcap fd"); xfree(devname); pcap_close(pcap); pcap = NULL; return; } if (pcap_setnonblock(pcap, 1, errbuf) == -1) xwarning("Failed to set pcap nonblocking: %s", errbuf); resp.status = CRP_OK; resp.startcap.linktype = pcap_datalink(pcap); resp.startcap.devlen = strlen(devname); sendresp(&resp); sendstr(devname); xfree(devname); } static void handle_setfilter(const struct capctl_req_t *req) { char *bpfstr; struct capctl_resp_t resp; struct bpf_program bpfprog; int status; zeroresp(&resp); bpfstr = recvstr(req->setfilter.bpflen); if (!pcap) { senderrmsg("no pcap device started"); return; } /* TODO: netmask? */ status = pcap_compile(pcap, &bpfprog, bpfstr, 1, PCAP_NETMASK_UNKNOWN); xfree(bpfstr); if (status) { senderrmsg(pcap_geterr(pcap)); return; } status = pcap_setfilter(pcap, &bpfprog); pcap_freecode(&bpfprog); if (status) { senderrmsg(pcap_geterr(pcap)); return; } resp.status = CRP_OK; sendresp(&resp); } static void handle_getstats(const struct capctl_req_t *req) { struct capctl_resp_t resp; zeroresp(&resp); if (!pcap) { senderrmsg("no pcap device started"); return; } if (pcap_stats(pcap, &resp.getstats.stats)) { senderrmsg(pcap_geterr(pcap)); return; } resp.status = CRP_OK; sendresp(&resp); } static void handle_stopcap(const struct capctl_req_t *req) { if (pcap) { pcap_close(pcap); pcap = NULL; pcap_fd = -1; sendok(); } else senderrmsg("already stopped"); } static void handle_exit(const struct capctl_req_t *req) { if (pcap) { pcap_close(pcap); pcap = NULL; pcap_fd = -1; } sendok(); close(ctrlsock); close(pktpipe); exit(0); } static void (*const handlers[])(const struct capctl_req_t *) = { [CRQ_PING] = handle_ping, [CRQ_LISTDEVS] = handle_listdevs, [CRQ_STARTCAP] = handle_startcap, [CRQ_SETFILTER] = handle_setfilter, [CRQ_GETSTATS] = handle_getstats, [CRQ_STOPCAP] = handle_stopcap, [CRQ_EXIT] = handle_exit, }; static void handle_ctrlmsg(void) { struct capctl_req_t req; ctrl_recv(&req, sizeof(req)); if (req.type < sizeof(handlers)/sizeof(handlers[0]) && handlers[req.type]) handlers[req.type](&req); else { xcritical("unknown request type %d", req.type); exit(1); } } /* Single-packet in-memory buffer in case pktpipe blocks */ static struct { char buf[MAXCAPSIZE + sizeof(struct pcap_pkthdr)]; size_t buffered, offset; } pktbuf = { .buffered = 0, .offset = 0, }; static void flush_pktbuf(void) { ssize_t status; assert(pktbuf.offset < pktbuf.buffered); while (pktbuf.offset < pktbuf.buffered) { status = write(pktpipe, pktbuf.buf + pktbuf.offset, pktbuf.buffered - pktbuf.offset); if (status < 0) { if (errno == EAGAIN || errno == EWOULDBLOCK) return; else { perror("pktpipe write(2) failed"); abort(); } } else { pktbuf.offset += status; } } pktbuf.buffered = pktbuf.offset = 0; } static void handle_packet(void) { struct pcap_pkthdr *hdr; const unsigned char *data; int status; assert(pktbuf.buffered == 0); status = pcap_next_ex(pcap, &hdr, &data); if (status == 1) { pktbuf.buffered = sizeof(*hdr) + hdr->caplen; assert(pktbuf.buffered <= sizeof(pktbuf.buf)); memcpy(pktbuf.buf, hdr, sizeof(*hdr)); memcpy(pktbuf.buf + sizeof(*hdr), data, hdr->caplen); flush_pktbuf(); } else if (status < 0) xerror("pcap_next_ex failed: %s", pcap_geterr(pcap)); } void pktcap_run(int csockfd, int ppipefd) { fd_set rfds, wfds; int maxfd, status; ctrlsock = csockfd; pktpipe = ppipefd; set_fd_nonblock(ctrlsock, 1); set_fd_nonblock(pktpipe, 1); for (;;) { FD_ZERO(&rfds); FD_ZERO(&wfds); maxfd = -1; FD_SET(ctrlsock, &rfds); maxfd = maxfd > ctrlsock ? maxfd : ctrlsock; if (pcap_fd >= 0) { FD_SET(pcap_fd, &rfds); maxfd = maxfd > pcap_fd ? maxfd : pcap_fd; } if (pktbuf.buffered > 0) { FD_SET(pktpipe, &wfds); maxfd = maxfd > pktpipe ? maxfd : pktpipe; } status = select(maxfd+1, &rfds, &wfds, NULL, NULL); if (status < 0) { xcritical("capture-loop select() failed"); exit(1); } if (FD_ISSET(pktpipe, &wfds)) flush_pktbuf(); if (FD_ISSET(ctrlsock, &rfds)) { set_fd_nonblock(ctrlsock, 0); handle_ctrlmsg(); set_fd_nonblock(ctrlsock, 1); } if (pcap_fd >= 0 && FD_ISSET(pcap_fd, &rfds) && pktbuf.buffered == 0) handle_packet(); } } etherape-0.9.20/src/compat.h0000644000175000017500000000227513657562503012565 00000000000000/* compat.h * Compatibility functions * * Copyright 2016 Riccardo Ghetta * * * 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. */ #ifndef __COMPAT_H__ #define __COMPAT_H__ #if !defined(HAVE_G_LIST_FREE_FULL) void compat_g_list_free_full(GList *list, GDestroyNotify free_func); #define g_list_free_full compat_g_list_free_full #endif #if !defined(HAVE_G_PTR_ARRAY_INSERT) void compat_g_ptr_array_insert(GPtrArray *farray, gint index_, gpointer data); #define g_ptr_array_insert compat_g_ptr_array_insert #endif #endif /* __COMPAT_H__ */ etherape-0.9.20/src/glade-strings0000644000175000017500000001542311220500634013573 00000000000000/* * Archivo de cadenas traducibles generado por Glade. * Aada este archivo a su POTFILES.in de su proyecto. * NO lo compile como parte de su aplicacin. */ gchar *s = N_("EtherApe"); gchar *s = N_("_Capture"); gchar *s = N_("_Mode"); gchar *s = N_("Set Token Ring mode"); gchar *s = N_("Token _Ring"); gchar *s = N_("Set FDDI mode"); gchar *s = N_("_FDDI"); gchar *s = N_("Set Ethernet mode"); gchar *s = N_("_Ethernet"); gchar *s = N_("Set IP mode"); gchar *s = N_("_IP"); gchar *s = N_("Set TCP mode"); gchar *s = N_("_TCP"); gchar *s = N_("Set UDP mode"); gchar *s = N_("_UDP"); gchar *s = N_("_Interfaces"); gchar *s = N_("Start capture"); gchar *s = N_("_Start"); gchar *s = N_("Pause capture"); gchar *s = N_("_Pause"); gchar *s = N_("Stop capture"); gchar *s = N_("St_op"); gchar *s = N_("Show or hide the protocols window"); gchar *s = N_("_Protocols"); gchar *s = N_("Show or hide the toolbar"); gchar *s = N_("_Toolbar"); gchar *s = N_("Show or hide the legend"); gchar *s = N_("_Legend"); gchar *s = N_("Show or hide the status bar"); gchar *s = N_("_Status Bar"); gchar *s = N_("Start capture"); gchar *s = N_("Start"); gchar *s = N_("Pause capture"); gchar *s = N_("Pause"); gchar *s = N_("Stop capture"); gchar *s = N_("Stop"); gchar *s = N_("Preferences (Ctrl-P)"); gchar *s = N_("Pref."); gchar *s = N_("Display the protocols window"); gchar *s = N_("Prot."); gchar *s = N_("Protocols"); gchar *s = N_("Copyright 2001 Juan Toledo"); gchar *s = N_("A Graphical Network Browser.\n" "Web: http://etherape.sourceforge.net"); gchar *s = N_("window1"); gchar *s = N_("name"); gchar *s = N_("accumulated"); gchar *s = N_("average"); gchar *s = N_("This message is not here yet. (Dont tell anybody you saw it ;-) )"); gchar *s = N_("Information"); gchar *s = N_("EtherApe: Preferences"); gchar *s = N_("Save"); gchar *s = N_("Font"); gchar *s = N_("Choose the font used to display text in the diagram"); gchar *s = N_("Protocol Stack Level"); gchar *s = N_("Set what level of the protocol stack is displayed in the legend"); gchar *s = N_("Topmost recognized protocol"); gchar *s = N_("Level 2 (Eg: ETH_II)"); gchar *s = N_("Level 3 (Eg: IP)"); gchar *s = N_("Level 4 (Eg: TCP)"); gchar *s = N_("Level 5 (Eg: HTTP)"); gchar *s = N_("Node size variable"); gchar *s = N_("Set the kind of instantenous or accumulated traffic that the node radius indicates"); gchar *s = N_("Instant. traffic (In+Out)"); gchar *s = N_("Instant. traffic (Inbound)"); gchar *s = N_("Instant. traffic (Outbound)"); gchar *s = N_("Accum. traffic (In+Out)"); gchar *s = N_("Accum. traffic (Inbound)"); gchar *s = N_("Accum. traffic (Outbound)"); gchar *s = N_("Diagram refresh period (ms)"); gchar *s = N_("Refresh diagram every this many miliseconds"); gchar *s = N_("Diagram Node Timeout (ms)"); gchar *s = N_("Remove this node from the diagram after this much time. 0 means never timeout."); gchar *s = N_("Max. Link Width"); gchar *s = N_("Max. Node Radius"); gchar *s = N_("Size Mode"); gchar *s = N_("Choose how node radius and link width are calculated as a function of average traffic"); gchar *s = N_("Linear"); gchar *s = N_("Logarithmic"); gchar *s = N_("Square Root"); gchar *s = N_("Toggle whether the node names are displayed on top of the nodes"); gchar *s = N_("Hide node names"); gchar *s = N_("Group unknown ports"); gchar *s = N_("Diagram"); gchar *s = N_("Color"); gchar *s = N_("Protocol"); gchar *s = N_("Add a new color to the list of colors that can be used to represent protocols"); gchar *s = N_("Add color"); gchar *s = N_("Remove color"); gchar *s = N_("Edit protocol"); gchar *s = N_("Fade link colors to black when there is no traffic"); gchar *s = N_("Fade colors"); gchar *s = N_("Whether or not to use assigned colors for unassigned protocols"); gchar *s = N_("Cycle assigned colors"); gchar *s = N_("Colors"); gchar *s = N_("Mode"); gchar *s = N_("Token Ring"); gchar *s = N_("FDDI"); gchar *s = N_("Ethernet"); gchar *s = N_("IP"); gchar *s = N_("TCP"); gchar *s = N_("Protocol"); gchar *s = N_("Solved"); gchar *s = N_("Add a new protocol to the list of protocols to choose a name from"); gchar *s = N_("Add protocol"); gchar *s = N_("Remove selected protocol"); gchar *s = N_("Remove protocol"); gchar *s = N_("Toggle whether the selected protocol name has to be solved in order to use it"); gchar *s = N_("Toggle solved"); gchar *s = N_("Move selected protocol up one item"); gchar *s = N_("Move up"); gchar *s = N_("Move selected protocol down one item"); gchar *s = N_("Move down"); gchar *s = N_("Don't try to resolve any name. Always present in numeric form."); gchar *s = N_("Force numeric"); gchar *s = N_("Make DNS queries to resolve IP addresses"); gchar *s = N_("DNS resolution"); gchar *s = N_("Names"); gchar *s = N_("Capture filter"); gchar *s = N_("Packet information is averaged for this amount of time"); gchar *s = N_("Averaging Time (ms)"); gchar *s = N_("Delete this link after this much time. 0 means never timeout."); gchar *s = N_("Link Timeout (ms)"); gchar *s = N_("Delete this node from memory after this much time. 0 means never timeout."); gchar *s = N_("Node Timeout (ms)"); gchar *s = N_("Capture"); gchar *s = N_("Select Font"); gchar *s = N_("EtherApe: Open Capture File"); gchar *s = N_("EtherApe: Select capture file"); gchar *s = N_("EtherApe: Select Capture File"); gchar *s = N_("Select capture file"); gchar *s = N_("Optionally, set a capture filter"); gchar *s = N_("File:"); gchar *s = N_("Filter:"); gchar *s = N_("Name:"); gchar *s = N_("This is a test node name"); gchar *s = N_("Numeric Name:"); gchar *s = N_("This is a test node name"); gchar *s = N_("Show traffic"); gchar *s = N_("Show protocols"); gchar *s = N_("Instantaneous"); gchar *s = N_("test label"); gchar *s = N_("Accumulated"); gchar *s = N_("test label"); gchar *s = N_("Inst. Inbound"); gchar *s = N_("test label"); gchar *s = N_("Accu. Outbound"); gchar *s = N_("test label"); gchar *s = N_("Accu. Inbound"); gchar *s = N_("test label"); gchar *s = N_("Inst. Outbound"); gchar *s = N_("test label"); gchar *s = N_("EtherApe: Protocols"); gchar *s = N_("Columns"); gchar *s = N_("Protocol"); gchar *s = N_("Inst Traffic"); gchar *s = N_("Accum Traffic"); gchar *s = N_("Last Heard"); gchar *s = N_("Packets"); gchar *s = N_("Protocol"); gchar *s = N_("Inst Traffic"); gchar *s = N_("Accum Traffic"); gchar *s = N_("Last Heard"); gchar *s = N_("Packets"); gchar *s = N_("name"); gchar *s = N_("Last Heard: "); gchar *s = N_("label73"); gchar *s = N_("Instantaneous"); gchar *s = N_("test label"); gchar *s = N_("Accumulated"); gchar *s = N_("test label"); gchar *s = N_("Nodes"); gchar *s = N_("Select color"); gchar *s = N_("ok_button2"); gchar *s = N_("cancel_button2"); gchar *s = N_("help_button1"); gchar *s = N_("EtherApe: assign protocol"); gchar *s = N_("Type protocol name..."); gchar *s = N_("Type the name of the protocol that will be assigned to the selected color"); etherape-0.9.20/src/callbacks.h0000644000175000017500000000104414021135163013172 00000000000000#ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" void on_canvas1_size_allocate(GtkWidget *widget, GtkAllocation *allocation, gpointer user_data); gboolean on_node_popup_motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer user_data); gboolean on_name_motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer user_data); etherape-0.9.20/src/preferences.c0000644000175000017500000003036414021135153013555 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "preferences.h" #include "math.h" #include "datastructs.h" #include "stats/node.h" struct pref_struct pref; GList *centered_node_speclist = NULL; static const gchar *pref_group = "Diagram"; /* Separator character used in encoding string-vectors */ #define STRVEC_SEP " " /*************************************************************** * * internal helpers * ***************************************************************/ static void read_string_config(gchar * *item, GKeyFile *gkey, const char *key) { gchar *tmp; tmp = g_key_file_get_string(gkey, pref_group, key, NULL); if (!tmp) return; /* frees previous value and sets to new pointer */ g_free(*item); *item = tmp; } static void read_strvec_config(gchar * * *item, GKeyFile *gkey, const char *key) { gchar *tmp = NULL; read_string_config(&tmp, gkey, key); if (tmp) { g_strfreev(*item); *item = g_strsplit(tmp, STRVEC_SEP, 0); g_free(tmp); } } static void read_boolean_config(gboolean *item, GKeyFile *gkey, const char *key) { gboolean tmp; GError *err = NULL; tmp = g_key_file_get_boolean(gkey, pref_group, key, &err); if (err) return; /* key not found, exit */ *item = tmp; } static void read_int_config(gint *item, GKeyFile *gkey, const char *key) { gint tmp; GError *err = NULL; tmp = g_key_file_get_integer(gkey, pref_group, key, &err); if (err) return; /* key not found, exit */ *item = tmp; } static void read_double_config(gdouble *item, GKeyFile *gkey, const char *key) { gdouble tmp; GError *err = NULL; tmp = g_key_file_get_double(gkey, pref_group, key, &err); if (err) return; /* key not found, exit */ *item = tmp; } static gchar *config_file_name(void) { return g_strdup_printf("%s/%s", g_get_user_config_dir(), "etherape"); } static gchar *old_config_file_name(void) { return g_strdup_printf("%s/.gnome2/Etherape", g_get_home_dir()); } typedef enum { PT_bool, PT_int, PT_double, PT_string, PT_strvec, } preftype_t; /* Describes a setting in the config file */ struct preference { /* Label used in the config file */ const char *name; /* where it sits within pref_struct */ ptrdiff_t offset; /* What type of setting it is */ preftype_t type; /* Default value for the setting */ union { gboolean pv_bool; gint pv_int; gdouble pv_double; gchar *pv_string; gchar * *pv_strvec; } defval; }; #define MKPREF(n, t, d) { \ .name = #n, \ .offset = offsetof(struct pref_struct, n), \ .type = PT_ ## t, \ .defval.pv_ ## t = d, \ } static const struct preference preferences[] = { MKPREF(name_res, bool, TRUE), MKPREF(diagram_only, bool, FALSE), MKPREF(group_unk, bool, TRUE), MKPREF(headless, bool, FALSE), MKPREF(centered_nodes, string, ""), MKPREF(text_color, string, "#ffff00"), MKPREF(fontname, string, "Sans 8"), MKPREF(colors, strvec, ((char *[]) {"#ff0000;WWW,HTTP,HTTPS", "#0000ff;DOMAIN", "#00ff00", "#ffff00", "#ff00ff", "#00ffff;ICMP,ICMPV6", "#ffffff", "#ff7700", "#ff0077", "#ffaa77", "#7777ff", "#aaaa33", NULL, })), MKPREF(bck_image_enabled, bool, TRUE), MKPREF(bck_image_path, string, ""), MKPREF(show_statusbar, bool, TRUE), MKPREF(show_toolbar, bool, TRUE), MKPREF(show_legend, bool, TRUE), MKPREF(inner_ring_scale, double, 0.5), MKPREF(node_radius_multiplier, double, 0.0005), MKPREF(node_size_variable, int, INST_OUTBOUND), MKPREF(size_mode, int, LINEAR), MKPREF(gui_node_timeout_time, double, 60000.0), MKPREF(proto_node_timeout_time, double, 120000.0), MKPREF(gui_link_timeout_time, double, 3000.0), MKPREF(proto_link_timeout_time, double, 200000.0), MKPREF(proto_timeout_time, double, 600000.0), MKPREF(refresh_period, int, 100), MKPREF(averaging_time, double, 2000.0), MKPREF(filter, string, "ip or ip6"), MKPREF(pcap_stats_pos, int, STATSPOS_NONE), MKPREF(stack_level, int, 0), }; #define NUM_PREFS (sizeof(preferences) / sizeof(preferences[0])) /*************************************************************** * * pref handling * ***************************************************************/ static void default_config(struct pref_struct *p) { int i; void *addr; gchar *tmp; for (i = 0; i < NUM_PREFS; i++) { addr = (char *)p + preferences[i].offset; switch (preferences[i].type) { case PT_bool: *(gboolean *)addr = preferences[i].defval.pv_bool; break; case PT_int: *(gint *)addr = preferences[i].defval.pv_int; break; case PT_double: *(gdouble *)addr = preferences[i].defval.pv_double; break; case PT_string: *(gchar * *)addr = g_strdup(preferences[i].defval.pv_string); break; case PT_strvec: /* * Slightly clunky join-and-re-split dance so that the initialized * result is a g_strfreev()-able string vector. */ tmp = g_strjoinv(STRVEC_SEP, preferences[i].defval.pv_strvec); *(gchar * * *)addr = g_strsplit(tmp, STRVEC_SEP, 0); g_free(tmp); break; } } } /* checks for obsolete configuration */ static gboolean check_obsolete_config(GKeyFile *gkey) { /* list of obsolete keys to check */ static const char *older_configs[] = { "link_node_ratio", "link_timeout_time", "node_timeout_time", /* must be the last element */ NULL }; int i; for (i = 0; older_configs[i]; ++i) { gchar *tmp; tmp = g_key_file_get_string(gkey, pref_group, older_configs[i], NULL); if (!tmp) continue; /* ok, key not found */ /* obsolete key found - error */ g_free(tmp); return FALSE; } return TRUE; } /* loads configuration from .gnome/Etherape - returns FALSE if config contains obsolete items */ gboolean load_config(struct pref_struct *p) { gchar *pref_file; GKeyFile *gkey; int i; void *addr; gboolean no_obsolete; /* first set up defaults */ default_config(p); gkey = g_key_file_new(); /* tries to read config from file (~/.config/etherape) */ pref_file = config_file_name(); if (!g_key_file_load_from_file(gkey, pref_file, G_KEY_FILE_NONE, NULL)) { /* file not found, try old location (~/.gnome2/Etherape) */ g_free(pref_file); pref_file = old_config_file_name(); if (!g_key_file_load_from_file(gkey, pref_file, G_KEY_FILE_NONE, NULL)) { g_free(pref_file); return TRUE; } } g_free(pref_file); /* first check for obsolete settings */ no_obsolete = check_obsolete_config(gkey); for (i = 0; i < NUM_PREFS; i++) { addr = (char *)p + preferences[i].offset; switch (preferences[i].type) { case PT_bool: read_boolean_config(addr, gkey, preferences[i].name); break; case PT_int: read_int_config(addr, gkey, preferences[i].name); break; case PT_double: read_double_config(addr, gkey, preferences[i].name); break; case PT_string: read_string_config(addr, gkey, preferences[i].name); break; case PT_strvec: read_strvec_config(addr, gkey, preferences[i].name); break; } } p->colors = protohash_compact(p->colors); g_key_file_free(gkey); return no_obsolete; } /* saves configuration to .gnome/Etherape */ /* It's not static since it will be called from the GUI */ void save_config(const struct pref_struct *p) { int i; gchar *pref_file; gchar *cfgdata; gchar *tmp; const gchar *name; gboolean res; GError *error = NULL; GKeyFile *gkey; void *addr; gkey = g_key_file_new(); for (i = 0; i < NUM_PREFS; i++) { addr = (char *)p + preferences[i].offset; name = preferences[i].name; switch (preferences[i].type) { case PT_bool: g_key_file_set_boolean(gkey, pref_group, name, *(gboolean *)addr); break; case PT_int: g_key_file_set_integer(gkey, pref_group, name, *(gint *)addr); break; case PT_double: g_key_file_set_double(gkey, pref_group, name, *(gdouble *)addr); break; case PT_string: g_key_file_set_string(gkey, pref_group, name, *(gchar * *)addr); break; case PT_strvec: tmp = g_strjoinv(STRVEC_SEP, *(gchar * * *)addr); g_key_file_set_string(gkey, pref_group, preferences[i].name, tmp); g_free(tmp); break; } } g_key_file_set_string(gkey, "General", "version", VERSION); /* write config to file */ cfgdata = g_key_file_to_data(gkey, NULL, NULL); pref_file = config_file_name(); res = g_file_set_contents(pref_file, cfgdata, -1, &error); g_free(cfgdata); if (res) g_my_info(_("Preferences saved to %s"), pref_file); else { GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Error saving preferences to '%s': %s"), pref_file, error->message); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } g_free(pref_file); g_key_file_free(gkey); } /* releases all memory allocated for internal fields */ void free_config(struct pref_struct *p) { int i; void *addr; for (i = 0; i < NUM_PREFS; i++) { addr = (char *)p + preferences[i].offset; switch (preferences[i].type) { case PT_string: g_free(*(gchar * *)addr); *(gchar * *)addr = NULL; break; case PT_strvec: g_strfreev(*(gchar * * *)addr); *(gchar * * *)addr = NULL; break; default: break; } } } /* copies a configuration from src to tgt */ void copy_config(struct pref_struct *tgt, const struct pref_struct *src) { int i; void *src_addr; void *tgt_addr; for (i = 0; i < NUM_PREFS; i++) { src_addr = (char *)src + preferences[i].offset; tgt_addr = (char *)tgt + preferences[i].offset; switch (preferences[i].type) { case PT_bool: *(gboolean *)tgt_addr = *(gboolean *)src_addr; break; case PT_int: *(gint *)tgt_addr = *(gint *)src_addr; break; case PT_double: *(gdouble *)tgt_addr = *(gdouble *)src_addr; break; case PT_string: *(gchar * *)tgt_addr = g_strdup(*(gchar * *)src_addr); break; case PT_strvec: *(gchar * * *)tgt_addr = g_strdupv(*(gchar * * *)src_addr); break; } } } /* * Sometimes (when showing/hiding statusbar, toolbar, or legend, specifically) * we want to update the saved form of a single preference setting in-place * without updating any others (to avoid implicitly doing an unwanted 'save' * operation on unsaved preference changes). This function thus loads the * saved preferences into a temporary pref_struct, performs a given * modification on it via the supplied 'edit' function (to which the arbitrary * pointer 'data' is also passed), and then saves it. */ void mutate_saved_config(config_edit_fn edit, void *data) { struct pref_struct tmp_prefs; load_config(&tmp_prefs); edit(&tmp_prefs, data); save_config(&tmp_prefs); free_config(&tmp_prefs); } etherape-0.9.20/src/appdata.h0000644000175000017500000000535313664531724012713 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef ETHERAPE_GLOBALS_H #define ETHERAPE_GLOBALS_H #include "common.h" #include #include /* Variables */ struct appdata_struct { GtkBuilder *xml; GtkWidget *app1; /* Pointer to the main app window */ GtkStatusbar *statusbar; /* Main window statusbar */ struct timeval now; /* Where in packet-capture time we are */ gchar *itf_file; /* fullspec of xml glade file */ gchar *export_file; /* file to export to */ gchar *export_file_final; /* file to export to at end of replay */ gchar *export_file_signal; /* file to export to at receipt of usr1 */ apemode_t mode; /* Mode of operation. Can be * T.RING/FDDI/ETHERNET, IP or TCP */ gint node_limit; /* Max number of nodes to show. If <0 it's not * limited */ struct { enum { ST_FILE, ST_LIVE, } type; union { gchar *interface; /* Network interface to listen to */ gchar *file; /* Capture file to read from */ }; } source; GLogLevelFlags debug_mask; /* debug mask active */ gulong min_delay; /* min packet distance when replaying a file */ gulong max_delay; /* max packet distance when replaying a file */ gboolean stationary_layout; /* if true, use stationary layout */ unsigned long n_packets; /* Number of total packets received */ glong total_mem_packets; /* Number of packets currently in memory */ gboolean request_dump; /* if true, do an xml dump */ GPtrArray *column_patterns; /* Node-matching patterns for columnar-layout mode (-P flag) */ }; extern struct appdata_struct appdata; #define DEBUG_ENABLED (appdata.debug_mask & G_LOG_LEVEL_DEBUG) #define INFO_ENABLED (appdata.debug_mask & G_LOG_LEVEL_INFO) void appdata_init(struct appdata_struct *p); void appdata_clear_source(struct appdata_struct *p); gboolean appdata_init_builder(const gchar *builder_fname); void appdata_free(struct appdata_struct *p); #endif etherape-0.9.20/src/diagram.h0000644000175000017500000000267014013000176012661 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef DIAGRAM_H #define DIAGRAM_H #include "appdata.h" #include "callbacks.h" extern gboolean already_updating; /* True while an instance of update_diagram is running */ extern gboolean stop_requested; /* True if there is a pending stop request */ gboolean update_diagram_callback(gpointer data); gboolean refresh_diagram(void); void init_diagram(GtkBuilder *xml); void cleanup_diagram(); /* free static data */ void set_statusbar_msg(gchar *str); void delete_gui_protocols(void); void dump_stats(guint32 diff_msecs); void diagram_timeout_changed(void); void resize_diagram(const GtkAllocation *allocation); void ask_reposition(gboolean refresh_font); /* request diagram relayout */ GtkWidget *canvas_widget(); #endif /* DIAGRAM_H */ etherape-0.9.20/src/appdata.c0000644000175000017500000000617014021135153012664 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo * Copyright (C) 2011 Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "appdata.h" #include "stats/node.h" #define ETHERAPE_GTKBUILDER_FILE "etherape.ui" /* GtkBuilder file */ struct appdata_struct appdata; void appdata_init(struct appdata_struct *p) { memset(&p->now, 0, sizeof(p->now)); p->xml = NULL; p->app1 = NULL; p->statusbar = NULL; p->itf_file = NULL; p->export_file = NULL; p->export_file_final = NULL; p->export_file_signal = NULL; p->source.type = ST_LIVE; p->source.interface = NULL; p->mode = IP; p->node_limit = -1; p->debug_mask = (G_LOG_LEVEL_MASK & ~(G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_INFO)); p->min_delay = 0; p->max_delay = G_MAXULONG; p->stationary_layout = FALSE; p->n_packets = 0; p->total_mem_packets = 0; p->request_dump = FALSE; p->column_patterns = NULL; } void appdata_clear_source(struct appdata_struct *p) { if (p->source.type == ST_LIVE) { g_free(p->source.interface); p->source.interface = NULL; } else { g_free(p->source.file); p->source.file = NULL; } } gboolean appdata_init_builder(const gchar *builder_fname) { GError *error = NULL; if (builder_fname) appdata.itf_file = g_strdup(builder_fname); else appdata.itf_file = g_strdup(GLADEDIR "/" ETHERAPE_GTKBUILDER_FILE); appdata.xml = gtk_builder_new(); if (!gtk_builder_add_from_file(appdata.xml, appdata.itf_file, &error)) { g_error(_("Could not load interface file '%s'!: %s"), appdata.itf_file, error->message); g_error_free(error); return FALSE; } gtk_builder_connect_signals(appdata.xml, NULL); appdata.app1 = GTK_WIDGET(gtk_builder_get_object(appdata.xml, "app1")); appdata.statusbar = GTK_STATUSBAR(gtk_builder_get_object(appdata.xml, "statusbar1")); return TRUE; } /* releases all memory allocated for internal fields */ void appdata_free(struct appdata_struct *p) { appdata_clear_source(p); g_free(p->itf_file); p->itf_file = NULL; g_free(p->export_file); p->export_file = NULL; g_free(p->export_file_final); p->export_file_final = NULL; g_free(p->export_file_signal); p->export_file_signal = NULL; if (p->column_patterns) { int pos; for (pos = 0; pos < p->column_patterns->len; ++pos) { free_nodeset_spec_list(g_ptr_array_index(p->column_patterns, pos)); } g_ptr_array_free(p->column_patterns, TRUE); p->column_patterns = NULL; } /* no need to free glade widgets ... */ } etherape-0.9.20/src/names/0000755000175000017500000000000014050240620012263 500000000000000etherape-0.9.20/src/names/names.h0000644000175000017500000000216714014523773013502 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ #include "appdata.h" #include "stats/node.h" void init_names(void); void cleanup_names(void); /* decode names from packet for both nodes */ void get_packet_names(protostack_t *src_node_pstk, protostack_t *dst_node_pstk, const guint8 *packet, guint16 size, const packet_protos_t *packet_prot_stack, int link_type); etherape-0.9.20/src/names/ip-cache.c0000644000175000017500000000770614021134023014027 00000000000000/* $Id$ 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., 675 Mass Ave, Cambridge, MA 02139, USA. ---------------------------------------------------------------- A simple cache of ipaddr->hostname lookups. The cache is pruned periodically, removing entries whose expiry times have passed. Negative caching is also performed. Copyright (C) 2014 Zev Weiss */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "common.h" #include "preferences.h" #include "stats/util.h" #include "ip-cache.h" static GTree *ipcache_tree = NULL; static int addr_tree_cmp(gconstpointer a, gconstpointer b, gpointer unused) { return address_cmp(a, b); } struct prune_ctx { time_t now; GSList *to_free; }; static gboolean find_expired(gpointer key, gpointer value, gpointer data) { struct ipcache_item *item = value; struct prune_ctx *ctx = data; /* Don't prune items that are still being resolved */ if (item && item->expiry != 0 && item->state != ICS_RESOLVING && item->expiry < ctx->now) ctx->to_free = g_slist_prepend(ctx->to_free, item); return FALSE; /* don't terminate traversal */ } static void del_expired(gpointer data, gpointer unused) { struct ipcache_item *item = data; gboolean found = g_tree_remove(ipcache_tree, &item->ip); g_assert(found); } static gboolean ipcache_prune(gpointer data) { struct prune_ctx ctx = { .now = time(NULL), .to_free = NULL, }; if (ipcache_tree) { g_tree_foreach(ipcache_tree, find_expired, &ctx); g_slist_foreach(ctx.to_free, del_expired, NULL); g_slist_free(ctx.to_free); } return TRUE; } static void free_ipcache_item(gpointer data) { struct ipcache_item *item = data; g_free(item->hostname); g_free(item); } void ipcache_init(void) { g_timeout_add_seconds(10, ipcache_prune, NULL); ipcache_tree = g_tree_new_full(addr_tree_cmp, NULL, NULL, free_ipcache_item); } void ipcache_clear(void) { if (ipcache_tree) g_tree_destroy(ipcache_tree); ipcache_tree = NULL; } long ipcache_active_entries(void) { if (!ipcache_tree) return 0; return g_tree_nnodes(ipcache_tree); } const char *ipcache_lookup(const address_t *addr) { struct ipcache_item *item; if (!pref.name_res) return address_to_str(addr); /* name resolution globally disabled */ if (!ipcache_tree) return NULL; item = g_tree_lookup(ipcache_tree, addr); if (item) { if (item->state == ICS_RESOLVED) return item->hostname; else return address_to_str(&item->ip); } else return NULL; } static struct ipcache_item *ipcache_alloc_item(const address_t *ip) { struct ipcache_item *item; item = g_malloc0(sizeof(*item)); item->state = ICS_RESOLVING; address_copy(&item->ip, ip); return item; } struct ipcache_item *ipcache_prepare_request(const address_t *ip) { struct ipcache_item *item; g_assert(ip); item = g_tree_lookup(ipcache_tree, ip); g_assert(!item); item = ipcache_alloc_item(ip); g_tree_insert(ipcache_tree, &item->ip, item); return item; } void ipcache_request_succeeded(struct ipcache_item *rp, long ttl, const char *ipname) { rp->hostname = g_strdup(ipname); rp->expiry = time(NULL) + ttl; rp->state = ICS_RESOLVED; } void ipcache_request_failed(struct ipcache_item *rp) { /* Arbitrary default negative cache timeout of 5 minutes */ rp->expiry = time(NULL) + 300; rp->state = ICS_FAILED; } etherape-0.9.20/src/names/eth_resolv.h0000644000175000017500000000201213063256076014540 00000000000000/* * Translate ethernet address to IPs/hostnames via /etc/ethers * * Copyright (C) 2014 Zev Weiss * * 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. */ #ifndef ETH_RESOLV_H #define ETH_RESOLV_H void init_eth_resolv(void); const char *get_ether_name(const unsigned char *addr); void cleanup_eth_resolv(void); #endif /* ETH_RESOLV_H */ etherape-0.9.20/src/names/ip-cache.h0000644000175000017500000000331013657562503014045 00000000000000/* Etherape Copyright (C) 2000 Juan Toledo, Riccardo Ghetta 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., 675 Mass Ave, Cambridge, MA 02139, USA. ---------------------------------------------------------------- ip-caching routines */ /* Prototypes for ip-cache.c */ #ifndef IP_CACHE_H #define IP_CACHE_H typedef enum { ICS_RESOLVED, /* Successfully resolved */ ICS_RESOLVING, /* Currently being resolved */ ICS_FAILED, /* Resolution failed (e.g. NXDOMAIN) */ } ipcache_state_t; struct ipcache_item { address_t ip; /* the IP address this entry caches */ char *hostname; /* hostname 'ip' resolved to */ ipcache_state_t state; /* state of this entry */ time_t expiry; /* when this entry expires */ }; void ipcache_init(void); void ipcache_clear(void); long ipcache_active_entries(void); const char *ipcache_lookup(const address_t *addr); struct ipcache_item *ipcache_prepare_request(const address_t *ip); void ipcache_request_succeeded(struct ipcache_item *rp, long ttl, const char *ipname); void ipcache_request_failed(struct ipcache_item *rp); #endif etherape-0.9.20/src/names/names_netbios.h0000644000175000017500000000262613657562503015233 00000000000000 /* These are all functions from ethereal, just as they are there */ /* packet-nbns.c * Routines for NetBIOS-over-TCP packet disassembly (the name dates back * to when it had only NBNS) * Gilbert Ramirez * Much stuff added by Guy Harris * * * Ethereal - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * * 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. */ #include "appdata.h" #include #define NETBIOS_NAME_LEN 16 int ethereal_nbns_name(const gchar *pd, int offset, int pd_len, char *outname, size_t outname_size, int *name_type_ret); gchar *get_netbios_host_type(int type); etherape-0.9.20/src/names/eth_resolv.c0000644000175000017500000000703514013000176014525 00000000000000/* * Translate ethernet address to IPs/hostnames via /etc/ethers * * Copyright (C) 2014 Zev Weiss * * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #define EPATH_ETHERS "/etc/ethers" #define ETHBUFSIZE 4096 static GTree *ethers = NULL; struct ether_ent { struct ether_addr addr; char hostname[]; }; static int ether_tree_cmp(gconstpointer ga, gconstpointer gb, gpointer unused) { const struct ether_addr *a = ga; const struct ether_addr *b = gb; return memcmp(&a->ether_addr_octet, &b->ether_addr_octet, sizeof(a->ether_addr_octet)); } static void add_ether_ent(const struct ether_addr *addr, const char *hostname) { struct ether_ent *ent = g_malloc(sizeof(*ent) + strlen(hostname) + 1); ent->addr = *addr; strcpy(ent->hostname, hostname); g_tree_insert(ethers, &ent->addr, ent); } void init_eth_resolv(void) { FILE *ethf; size_t linelen; int c; char ethline[ETHBUFSIZE]; /* * This being as large as ethline is important to guarantee ether_line * doesn't overflow it. Lines longer than ETHBUFSIZE are simply rejected. */ char hostname[ETHBUFSIZE]; struct ether_addr addr; ethers = g_tree_new_full(ether_tree_cmp, NULL, NULL, g_free); ethf = fopen(EPATH_ETHERS, "r"); if (!ethf) return; for (;;) { if (!fgets(ethline, sizeof(ethline), ethf)) break; linelen = strlen(ethline); if (linelen == sizeof(ethline) - 1 && ethline[linelen-1] != '\n') { ethline[17] = '\0'; g_warning("Ignoring stupidly long %s line starting \"%s...\"", EPATH_ETHERS, ethline); /* Discard the remainder of the line */ while ((c = fgetc(ethf)) != '\n') { if (c == EOF) break; } } if (!ether_line(ethline, &addr, hostname)) add_ether_ent(&addr, hostname); } fclose(ethf); return; } void cleanup_eth_resolv(void) { if (ethers) g_tree_destroy(ethers); ethers = NULL; } const char *get_ether_name(const unsigned char *addr_bytes) { struct ether_addr addr; struct ether_ent *ent; size_t addrstr_size; memcpy(&addr.ether_addr_octet, addr_bytes, sizeof(addr.ether_addr_octet)); ent = g_tree_lookup(ethers, &addr); if (ent) return ent->hostname; /* Otherwise we'll record a new entry for this address */ addrstr_size = strlen("XX:XX:XX:XX:XX:XX")+1; ent = g_malloc(sizeof(*ent) + addrstr_size); ent->addr = addr; snprintf(ent->hostname, addrstr_size, "%02x:%02x:%02x:%02x:%02x:%02x", addr.ether_addr_octet[0], addr.ether_addr_octet[1], addr.ether_addr_octet[2], addr.ether_addr_octet[3], addr.ether_addr_octet[4], addr.ether_addr_octet[5]); g_tree_insert(ethers, &ent->addr, ent); return ent->hostname; } etherape-0.9.20/src/names/dns.h0000644000175000017500000000205613657562503013166 00000000000000/* Etherape Copyright (C) 2000 Juan Toledo, Riccardo Ghetta 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., 675 Mass Ave, Cambridge, MA 02139, USA. ---------------------------------------------------------------- dns wrapper routines */ /* initialize dns interface. returns 0 on success */ int dns_open(void); /* close dns interface */ void dns_close(void); /* resolves address and returns its fqdn */ const char *dns_lookup(address_t *address); etherape-0.9.20/src/names/thread_resolve.h0000644000175000017500000000170613657562503015411 00000000000000/* Etherape Copyright (C) 2005 R.Ghetta 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* initialize dns interface - returns 0 on success */ int thread_open(void); /* closes dns interface */ void thread_close(void); /* resolves address and returns its fqdn */ const char *thread_lookup(address_t *address); etherape-0.9.20/src/names/ares_resolve.h0000644000175000017500000000173013264431041015053 00000000000000/* Etherape 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., 675 Mass Ave, Cambridge, MA 02139, USA. * optional libcares support by Zev Weiss, (c) 2016 */ /* initialize dns interface - returns 0 on success */ int ares_open (void); /* closes dns interface */ void ares_close(void); /* resolves address and returns its fqdn */ const char *ares_lookup(address_t *address); etherape-0.9.20/src/names/names.c0000644000175000017500000004634414021135002013460 00000000000000/* EtherApe * Copyright (C) 2001 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #ifdef HAVE_UNISTD_H #include #endif #include /* for DLT_* */ #include "appdata.h" #include "names.h" #include "dns.h" #include "eth_resolv.h" #include "names_netbios.h" #include "stats/protocols.h" #include "datastructs.h" #include "preferences.h" #include "stats/util.h" typedef struct { const guint8 *p; guint16 offset; guint16 packet_size; int link_type; node_id_t src_node_id; /* topmost node_id for src node */ node_id_t dst_node_id; /* topmost node_id for dst node */ protostack_t *src_node_protos; /* src node protocol list */ protostack_t *dst_node_protos; /* dst node protocol list */ struct { guint8 level; /* current decoder level */ const packet_protos_t *packet_protos; /* array of protocols found on packet */ } decoder; } name_add_t; typedef gboolean (p_func_t) (name_add_t *); typedef struct { gchar *prot; p_func_t *function; } prot_function_t; static gboolean get_null_name(name_add_t *nt); static gboolean get_linux_sll_name(name_add_t *nt); static gboolean eth_name_common(name_add_t *nt); static gboolean get_llc_name(name_add_t *nt); static gboolean get_arp_name(name_add_t *nt); static gboolean get_ip_name(name_add_t *nt); static gboolean get_ipv6_name(name_add_t *nt); static gboolean get_ipx_name(name_add_t *nt); static gboolean get_udp_name(name_add_t *nt); static gboolean get_tcp_name(name_add_t *nt); static gboolean get_ipxsap_name(name_add_t *nt); static gboolean get_nbss_name(name_add_t *nt); static gboolean get_nbdgm_name(name_add_t *nt); /* not all protocol types can be useful to get a name */ static prot_function_t prot_functions_table[] = { {"ETH_II", eth_name_common}, {"802.2", eth_name_common}, {"802.3", eth_name_common}, {"ISL", eth_name_common}, {"NULL", get_null_name}, {"LINUX-SLL", get_linux_sll_name}, {"FDDI", eth_name_common}, {"Token Ring", eth_name_common}, {"LLC", get_llc_name}, {"ARP", get_arp_name}, {"IP", get_ip_name}, {"IPV6", get_ipv6_name}, {"IPX", get_ipx_name}, {"TCP", get_tcp_name}, {"UDP", get_udp_name}, {"IPX-SAP", get_ipxsap_name}, {"NETBIOS-SSN", get_nbss_name}, {"NETBIOS-DGM", get_nbdgm_name}, /* terminator entry, must be last */ {NULL, NULL} }; static void missing_data_msg(const name_add_t *nt, const char *pr) { if (pr) g_warning (_("not enough captured data, terminating protocol decode for '%s' (level %d)"), pr, nt->decoder.level); else g_warning (_("not enough captured data, terminating protocol decode at level %d"), nt->decoder.level); } static void add_name(const gchar *numeric, const gchar *resolved, const node_id_t *node_id, protostack_t *node_protos, const name_add_t *nt); static void decode_next(name_add_t *nt); void get_packet_names(protostack_t *src_node_pstk, protostack_t *dst_node_pstk, const guint8 *packet, guint16 size, const packet_protos_t *packet_prot_stack, int link_type) { name_add_t nt; g_assert(src_node_pstk != NULL); g_assert(dst_node_pstk != NULL); g_assert(packet != NULL); nt.p = packet; nt.packet_size = size; nt.offset = 0; nt.link_type = link_type; nt.src_node_protos = src_node_pstk; nt.dst_node_protos = dst_node_pstk; /* initializes decoders info * Note: Level 0 means topmost - first usable is 1 */ nt.decoder.level = 1; nt.decoder.packet_protos = packet_prot_stack; /* starts decoding */ decode_next(&nt); } static GTree *prot_functions = NULL; void init_names(void) { guint i; prot_functions = g_tree_new((GCompareFunc)strcmp); for (i = 0; prot_functions_table[i].prot; i++) g_tree_insert(prot_functions, prot_functions_table[i].prot, &prot_functions_table[i]); } void cleanup_names(void) { if (prot_functions) g_tree_destroy(prot_functions); } /* increments the level and calls the next name decoding function, if any */ static void decode_next(name_add_t *nt) { prot_function_t *next_func = NULL; /* whe decode al most STACK_SIZE levels, one protocol per level */ while (nt->decoder.level <= STACK_SIZE && nt->decoder.packet_protos->protonames[nt->decoder.level]) { next_func = g_tree_lookup(prot_functions, nt->decoder.packet_protos->protonames[nt->decoder.level]); if (next_func) { /* before calling the next decoder, we check for size overflow */ if (nt->packet_size <= nt->offset) return; if (!next_func->function(nt)) break; /* can't advance further */ } nt->decoder.level++; } } /* fills a node id with the specified mode and the data taken from nt using current * position (offset) + plus a displacement disp. * For tcp, it also uses the portdisp displacement as an offset for the port number. * Checks also the packet size against overflow */ static void fill_node_id(node_id_t *node_id, apemode_t apemode, const name_add_t *nt, int disp, int portdisp, int type) { guint8 *dt = NULL; size_t sz = 0; memset(node_id, 0, sizeof(node_id_t)); node_id->node_type = apemode; switch (apemode) { case LINK6: dt = node_id->addr.eth; sz = sizeof(node_id->addr.eth); break; case IP: dt = node_id->addr.ip.addr8; sz = address_len(type); break; case TCP: dt = node_id->addr.tcp.host.addr8; sz = address_len(type); break; default: g_error(_("Unsupported ape mode in fill_node_id")); } if (nt->packet_size < nt->offset + disp + sz || nt->packet_size < nt->offset + portdisp + 2) { missing_data_msg(nt, NULL); return; } if (TCP == apemode) { node_id->addr.tcp.host.type = type; memmove(dt, nt->p + nt->offset + disp, sz); node_id->addr.tcp.port = ntohs(*(guint16 *)(nt->p + nt->offset + portdisp)); } else { if (IP == apemode) node_id->addr.ip.type = type; memmove(dt, nt->p + nt->offset + disp, sz); } } /* Null is used for loopback. There is actually no information, * so we just jump to the next protocol */ /* TODO Are we so sure there is actually no information? * Then what are those four bytes? */ static gboolean get_null_name(name_add_t *nt) { nt->offset += 4; return TRUE; } /* get_null_name */ /* linux-sll is used for ISDN on linux, I believe. * Only one of the MAC addresses involved is shown each time, * so by now I will simply not try to decode MAC addresses */ /* TODO Do something useful with the address that shows */ static gboolean get_linux_sll_name(name_add_t *nt) { /* TODO * I'm assuming that the header is always size 16. I don't know * weather that's always the case... (I'm making that assumption * since ethereal is not decoding a couple of bytes, which then * seem to be just padding */ nt->offset += 16; return TRUE; } /* decode and set name */ static void eth_set_name(name_add_t *nt, node_id_t *node_id, protostack_t *node_protos) { const gchar *solved; const gchar *numeric = ether_to_str(node_id->addr.eth); /* solved is not NULL only if the address is in ethers file */ if (pref.name_res) solved = get_ether_name(node_id->addr.eth); else solved = NULL; add_name(numeric, solved, node_id, node_protos, nt); } /* common handling for ethernet-like data */ static gboolean eth_name_common(name_add_t *nt) { fill_node_id(&nt->dst_node_id, LINK6, nt, 0, 0, 0); eth_set_name(nt, &nt->dst_node_id, nt->dst_node_protos); fill_node_id(&nt->src_node_id, LINK6, nt, 6, 0, 0); eth_set_name(nt, &nt->src_node_id, nt->src_node_protos); nt->offset += 14; return TRUE; } /* LLC is the only supported FDDI link layer type */ static gboolean get_llc_name(name_add_t *nt) { /* TODO IMPORTANT * We must decode the llc header to calculate the nt->offset * We are just doing assumptions by now */ if (nt->link_type == DLT_FDDI || nt->link_type == DLT_IEEE802) nt->offset += 8; else if (nt->link_type == DLT_EN10MB) nt->offset += 3; else return FALSE; /* no further info */ return TRUE; } /* get_llc_name */ static gboolean get_arp_name(name_add_t *nt) { guint16 protocol_type; guint8 hardware_len; #define ARPTYPE_IP 0x0800 /* We can only tell the IP address of the asking node. * Most of the times the callee will be the broadcast * address */ if (nt->packet_size <= nt->offset + 4) { missing_data_msg(nt, "ARP"); return FALSE; } /* We only know about IP ARP queries */ protocol_type = pntohs((nt->p + nt->offset + 2)); if (protocol_type != ARPTYPE_IP) return FALSE; if (nt->packet_size <= nt->offset + 7) { missing_data_msg(nt, "ARP"); return FALSE; } hardware_len = *(guint8 *)(nt->p + nt->offset + 4); fill_node_id(&nt->src_node_id, IP, nt, 8 + hardware_len, 0, AF_INET); add_name(ipv4_to_str(nt->src_node_id.addr.ip.addr_v4), dns_lookup(&nt->src_node_id.addr.ip), &nt->src_node_id, nt->src_node_protos, nt); /* ARP doesn't carry any other protocol on top, so we return * directly */ return FALSE; } static gboolean get_ip_name(name_add_t *nt) { fill_node_id(&nt->dst_node_id, IP, nt, 16, 0, AF_INET); fill_node_id(&nt->src_node_id, IP, nt, 12, 0, AF_INET); if (!pref.name_res) { add_name(ipv4_to_str(nt->src_node_id.addr.ip.addr_v4), NULL, &nt->src_node_id, nt->src_node_protos, nt); add_name(ipv4_to_str(nt->dst_node_id.addr.ip.addr_v4), NULL, &nt->dst_node_id, nt->dst_node_protos, nt); } else { add_name(ipv4_to_str(nt->src_node_id.addr.ip.addr_v4), dns_lookup(&nt->src_node_id.addr.ip), &nt->src_node_id, nt->src_node_protos, nt); add_name(ipv4_to_str(nt->dst_node_id.addr.ip.addr_v4), dns_lookup(&nt->dst_node_id.addr.ip), &nt->dst_node_id, nt->dst_node_protos, nt); } /* IPv4 header length can be variable */ nt->offset += nt->offset < nt->packet_size ? (nt->p[nt->offset] & 15) << 2 : 0; return TRUE; } static gboolean get_ipv6_name(name_add_t *nt) { fill_node_id(&nt->dst_node_id, IP, nt, 24, 0, AF_INET6); fill_node_id(&nt->src_node_id, IP, nt, 8, 0, AF_INET6); if (!pref.name_res) { add_name(ipv6_to_str(nt->src_node_id.addr.ip.addr_v6), NULL, &nt->src_node_id, nt->src_node_protos, nt); add_name(ipv6_to_str(nt->dst_node_id.addr.ip.addr_v6), NULL, &nt->dst_node_id, nt->dst_node_protos, nt); } else { add_name(ipv6_to_str(nt->src_node_id.addr.ip.addr_v6), dns_lookup(&nt->src_node_id.addr.ip), &nt->src_node_id, nt->src_node_protos, nt); add_name(ipv6_to_str(nt->dst_node_id.addr.ip.addr_v6), dns_lookup(&nt->dst_node_id.addr.ip), &nt->dst_node_id, nt->dst_node_protos, nt); } /* IPv6 header length is always constant */ nt->offset += 40; return TRUE; } /* get_ipv6_name */ static gboolean get_ipx_name(name_add_t *nt) { nt->offset += 30; return TRUE; } static void tcp_set_name(name_add_t *nt, node_id_t *node_id, protostack_t *node_protos) { gchar *numeric_name; gchar *resolved_name; numeric_name = g_strdup_printf("%s:%d", address_to_str(&node_id->addr.tcp.host), node_id->addr.tcp.port); if (pref.name_res) { const gchar *dnsname; const port_service_t *port; dnsname = dns_lookup(&node_id->addr.tcp.host); port = services_tcp_find(node_id->addr.tcp.port); if (port) resolved_name = g_strdup_printf("%s:%s", dnsname, port->name); else resolved_name = g_strdup_printf("%s:%d", dnsname, node_id->addr.tcp.port); } else resolved_name = NULL; add_name(numeric_name, resolved_name, node_id, node_protos, nt); g_free(numeric_name); g_free(resolved_name); } static gboolean get_tcp_name(name_add_t *nt) { guint8 th_off_x2; guint8 tcp_len; /* tcp names are useful only if someone uses them ... */ if (appdata.mode == TCP) { int src_type = nt->src_node_id.addr.tcp.host.type; int dst_type = nt->dst_node_id.addr.tcp.host.type; fill_node_id(&nt->src_node_id, TCP, nt, (src_type == AF_INET6) ? -32 : -8, 0, src_type); tcp_set_name(nt, &nt->src_node_id, nt->src_node_protos); fill_node_id(&nt->dst_node_id, TCP, nt, (dst_type == AF_INET6) ? -16 : -4, 2, dst_type); tcp_set_name(nt, &nt->dst_node_id, nt->dst_node_protos); } if (nt->packet_size <= nt->offset + 14) { missing_data_msg(nt, "TCP"); return FALSE; } th_off_x2 = *(guint8 *)(nt->p + nt->offset + 12); tcp_len = hi_nibble(th_off_x2) * 4; /* TCP header length, in bytes */ nt->offset += tcp_len; return TRUE; } /* TODO I still have to properly implement this. Right now it's just * a placeholder to get to the UDP/NETBIOS-DGM */ static gboolean get_udp_name(name_add_t *nt) { nt->offset += 8; return TRUE; } /* TODO SET UP THE id's FOR THIS NETBIOS NAME FUNCTIONS */ static gboolean get_ipxsap_name(name_add_t *nt) { guint16 sap_type; guint16 curpos; gchar *name; if (nt->packet_size <= nt->offset + 2) return FALSE; /* not a real ipxsap packet */ sap_type = pntohs(nt->p + nt->offset); /* we want responses */ if (sap_type != 0x0002) return FALSE; for (curpos = nt->offset + 4; curpos < nt->packet_size; ++curpos) { if (!*((gchar *)(nt->p + curpos))) break; /* found termination */ } if (curpos >= nt->packet_size) { missing_data_msg(nt, "IPXSAP"); return FALSE; } name = (gchar *)(nt->p + nt->offset + 4); g_my_debug("Sap name %s found", name); add_name(name, name, &nt->src_node_id, nt->src_node_protos, nt); add_name(name, name, &nt->dst_node_id, nt->dst_node_protos, nt); return FALSE; /* no other names */ } static gboolean get_nbss_name(name_add_t *nt) { #define SESSION_REQUEST 0x81 guint8 mesg_type; if (nt->packet_size < nt->offset + 1) return FALSE; /* not a netbios packet */ mesg_type = *(guint8 *)(nt->p + nt->offset); nt->offset += 2; if (mesg_type == SESSION_REQUEST) { guint i; guint16 length; gchar *numeric_name = NULL; gchar name[(NETBIOS_NAME_LEN - 1) * 4 + MAXDNAME]; guint name_len; int name_type; /* TODO I hate to use an int here, while I have been * using glib data types all the time. But I just don't * know what it might mean in the ethereal implementation */ if (nt->packet_size <= nt->offset + 2) { missing_data_msg(nt, "NBSS"); return FALSE; } length = pntohs((nt->p + nt->offset + 2)); nt->offset += 2; if (nt->packet_size <= nt->offset + length) { missing_data_msg(nt, "NBSS"); return FALSE; } name_len = ethereal_nbns_name((const gchar *)nt->p, nt->offset, nt->packet_size, name, sizeof(name), &name_type); ethereal_nbns_name((const gchar *)nt->p, nt->offset + name_len, nt->packet_size, name, sizeof(name), &name_type); /* We just want the name, not the space padding behind it */ for (i=0; name[i] && i <= (NETBIOS_NAME_LEN - 2) && name[i] != ' '; i++) ; name[i] = '\0'; /* Many packages will be straight TCP packages directed to the proper * port which first byte happens to be SESSION_REQUEST. In those cases * the name will be illegal, and we will not add it */ if (strcmp(name, "Illegal")) { numeric_name = g_strdup_printf("%s %s (%s)", name, name + NETBIOS_NAME_LEN - 1, get_netbios_host_type(name_type)); add_name(numeric_name, name, &nt->src_node_id, nt->src_node_protos, nt); g_free(numeric_name); } nt->offset += length; } return TRUE; } static gboolean get_nbdgm_name(name_add_t *nt) { guint8 mesg_type; gchar *numeric_name = NULL; gchar name[(NETBIOS_NAME_LEN - 1) * 4 + MAXDNAME]; gboolean name_found = FALSE; int name_type; int len; guint i; if (nt->packet_size < nt->offset + 1) return FALSE; /* not a real nbgdm packet */ mesg_type = *(guint8 *)(nt->p + nt->offset); nt->offset += 10; /* Magic numbers copied from ethereal, as usual * They mean Direct (unique|group|broadcast) datagram */ if (mesg_type == 0x10 || mesg_type == 0x11 || mesg_type == 0x12) { nt->offset += 4; len = ethereal_nbns_name((const gchar *)nt->p, nt->offset, nt->packet_size, name, sizeof(name), &name_type); ethereal_nbns_name((const gchar *)nt->p, nt->offset + len, nt->packet_size, name, sizeof(name), &name_type); name_found = TRUE; } else if (mesg_type == 0x14 || mesg_type == 0x15 || mesg_type == 0x16) { len = ethereal_nbns_name((const gchar *)nt->p, nt->offset, nt->packet_size, name, sizeof(name), &name_type); name_found = TRUE; } if (name_found) { /* We just want the name, not the space padding behind it */ for (i=0; name[i] && i <= (NETBIOS_NAME_LEN - 2) && name[i] != ' '; i++) ; name[i] = '\0'; /* The reasing here might not make sense as in the TCP case, but it * doesn't hurt to check that we don't have an illegal name anyhow */ if (strncmp(name, "Illegal", 7)) { numeric_name = g_strdup_printf("%s %s (%s)", name, name + NETBIOS_NAME_LEN - 1, get_netbios_host_type(name_type)); add_name(numeric_name, name, &nt->dst_node_id, nt->dst_node_protos, nt); g_free(numeric_name); } } return FALSE; /* no other names */ } static void add_name(const gchar *numeric_name, const gchar *resolved_name, const node_id_t *node_id, protostack_t *node_protos, const name_add_t *nt) { protocol_t *protocol = NULL; GList *name_item = NULL; name_t *name = NULL; name_t key; /* Find the protocol entry note: protocol_stack_find returns a const ptr, but this function modifies it. At this point, is safe */ protocol = (protocol_t *)protocol_stack_find(node_protos, nt->decoder.level, nt->decoder.packet_protos->protonames[nt->decoder.level]); key.node_id = *node_id; /* Have we heard this address before? */ name_item = g_list_find_custom(protocol->node_names, &key, (GCompareFunc)node_name_id_compare); if (name_item) name = name_item->data; else { /* First time name */ name = node_name_create(node_id); protocol->node_names = g_list_prepend(protocol->node_names, name); } if (!pref.name_res) node_name_assign(name, NULL, numeric_name, nt->packet_size); else node_name_assign(name, resolved_name, numeric_name, nt->packet_size); } etherape-0.9.20/src/names/thread_resolve.c0000644000175000017500000002033514021134023015355 00000000000000/* Etherape Copyright (C) 2005 R.Ghetta 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* These routines use multiple threads to call gethostbyaddr() and resolve names. All thread handling is internal. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #include #include #if defined(__MACH__) && defined(__APPLE__) #include #else #include #endif #include #include #include #include #include #include #include #include #include #include #include "common.h" #include "ip-cache.h" #include "thread_resolve.h" #include "stats/util.h" #define ETHERAPE_THREAD_POOL_SIZE 6 static pthread_t resolver_threads[ETHERAPE_THREAD_POOL_SIZE]; static int resolver_threads_num = 0; /* to-resolve-items linked list */ struct ipresolve_link { struct ipcache_item *itemToResolve; struct ipresolve_link *next; }; static struct ipresolve_link *resolveListHead = NULL; static struct ipresolve_link *resolveListTail = NULL; static int request_stop_thread = 0; /* stop thread flag */ /* mutexes */ static pthread_mutex_t resolvemtx; /* resolve mutex */ static pthread_cond_t resolvecond; /* resolve condition var */ static int open_mutex(void) { if (!pthread_mutex_init(&resolvemtx, NULL) && !pthread_cond_init(&resolvecond, NULL)) return 0; /* ok*/ else return 1; } static void close_mutex(void) { pthread_mutex_destroy(&resolvemtx); pthread_cond_destroy(&resolvecond); } /* thread routine */ static void *thread_pool_routine(void *dt) { struct ipcache_item *curitem; struct ipresolve_link *el; #ifdef FORCE_SINGLE_THREAD struct hostent *resultptr; #endif struct sockaddr_in sa; struct sockaddr_in6 sa6; struct sockaddr *saptr; socklen_t salen; char extrabuf[4096]; int result; while (!request_stop_thread) { pthread_mutex_lock(&resolvemtx); if (!request_stop_thread && !resolveListHead) { /* list empty, wait on condition releasing mutex */ pthread_cond_wait(&resolvecond, &resolvemtx); } /* from now on, mutex is locked */ if (request_stop_thread) { /* must exit */ pthread_mutex_unlock(&resolvemtx); break; } /* if we come here head should be filled, but a check doesn't hurt ... */ if (resolveListHead) { /* there is something to resolve, take out from head */ el = resolveListHead; resolveListHead = el->next; curitem = el->itemToResolve; /* ok, release mutex and resolve */ pthread_mutex_unlock(&resolvemtx); free(el); /* item saved, link elem now useless, freeing */ #ifdef FORCE_SINGLE_THREAD /* if forced single thread, uses gethostbyaddr */ result = 0; resultptr = gethostbyaddr(&curitem->ip.addr8, address_len(curitem->ip.type), curitem->ip.type); if (request_stop_thread) break; /* resolving completed or failed, lock again and notify ip-cache */ pthread_mutex_lock(&resolvemtx); if (result || !resultptr) ipcache_request_failed(curitem); else ipcache_request_succeeded(curitem, 3600L*24L, resultptr->h_name); #else /* full multithreading, use thread safe getnameinfo */ if (curitem->ip.type == AF_INET) { memset(&sa, 0, sizeof sa); sa.sin_family = curitem->ip.type; g_assert(sizeof(sa.sin_addr) == sizeof(curitem->ip.addr_v4)); memmove(&sa.sin_addr, curitem->ip.addr_v4, sizeof sa.sin_addr); saptr = (struct sockaddr *)&sa; salen = sizeof sa; } else { memset(&sa6, 0, sizeof sa6); sa6.sin6_family = curitem->ip.type; g_assert(sizeof(sa6.sin6_addr) == sizeof(curitem->ip.addr_v6)); memmove(&sa6.sin6_addr, curitem->ip.addr_v6, sizeof sa6.sin6_addr); saptr = (struct sockaddr *)&sa6; salen = sizeof sa6; } result = getnameinfo(saptr, salen, extrabuf, sizeof(extrabuf), NULL, 0, 0); if (result != 0 && result != EAI_AGAIN) { g_my_critical("getnameinfo error %d (%s)\n", result, gai_strerror(result)); } if (request_stop_thread) break; /* resolving completed or failed, lock again and notify ip-cache */ pthread_mutex_lock(&resolvemtx); if (result) ipcache_request_failed(curitem); else ipcache_request_succeeded(curitem, 3600L*24L, extrabuf); #endif } pthread_mutex_unlock(&resolvemtx); } return NULL; } static void start_threads() { pthread_t curth; int i; int maxth = ETHERAPE_THREAD_POOL_SIZE; pthread_attr_t attr; /* reset stop flag */ request_stop_thread = 0; if (pthread_attr_init(&attr) || pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED)) { g_critical("pthread_attr_init failed, resolver will not be available\n"); return; } /* if single thread resolving is forced, then start only a single thread, else start ETHERAPE_THREAD_POOL_SIZE threads */ #ifdef FORCE_SINGLE_THREAD maxth = 1; #endif for (i = 0; i < maxth; ++i) { if (pthread_create(&curth, NULL, thread_pool_routine, NULL)) { // error, stop creating threads g_critical("pthread_create failed, resolver has only %d threads\n", i); break; } resolver_threads[i] = curth; } resolver_threads_num = i; } static void stop_threads() { int i; /* take mutex, to make sure other thread will be waiting */ pthread_mutex_lock(&resolvemtx); /* activate variable */ request_stop_thread = 1; pthread_cond_broadcast(&resolvecond); /* wake all threads */ pthread_mutex_unlock(&resolvemtx); /* Now wait for them to actually finish */ for (i = 0; i < resolver_threads_num; i++) pthread_join(resolver_threads[i], NULL); resolver_threads_num = 0; } /* creates a request, placing in the queue NOTE: mutex locked! */ static void sendrequest_inverse(address_t *ip) { struct ipcache_item *rp = NULL; if (!ip) return; /* allocate a new request */ rp = ipcache_prepare_request(ip); /* prepare resolve item */ struct ipresolve_link *newitm = (struct ipresolve_link *)malloc(sizeof(struct ipresolve_link)); newitm->itemToResolve = rp; newitm->next = NULL; /* items placed on list tail and consumed from head (this gives a FIFO strategy) */ if (NULL == resolveListHead) { /* first item, we put head=tail */ resolveListTail = resolveListHead = newitm; } else { resolveListTail->next = newitm; resolveListTail = newitm; } /* signal the condition and release the mux */ pthread_cond_signal(&resolvecond); g_my_debug("Resolver: queued request \"%s\".", address_to_str(&rp->ip)); } /* called to activate the resolver */ int thread_open(void) { /* mutex creation */ if (open_mutex()) return 1; /* cache activation */ ipcache_init(); /* thread pool activation */ start_threads(); return 0; } /* called to close the resolver */ void thread_close(void) { /* thread pool shutdown */ stop_threads(); /* close mutex */ close_mutex(); } const char *thread_lookup(address_t *ip) { const char *ipname; if (!ip) return ""; /* locks mutex */ pthread_mutex_lock(&resolvemtx); /* asks cache */ ipname = ipcache_lookup(ip); if (!ipname) sendrequest_inverse(ip); /* request needed */ /* release mutex and exit */ pthread_mutex_unlock(&resolvemtx); return ipname; } etherape-0.9.20/src/names/ares_resolve.c0000644000175000017500000001103614021134023015036 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., 675 * Mass Ave, Cambridge, MA 02139, USA. * * optional libcares support by Zev Weiss, (c) 2016 */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #include #include "appdata.h" #include "dns.h" #include "ip-cache.h" #include "stats/util.h" static ares_channel ares_chan; static pthread_t dns_thread; static pthread_mutex_t dns_mtx; static pthread_cond_t dns_cond; /* Used to signal the background thread to stop. */ static int stop_pipe[2]; static int should_stop = 0; /* Adapted from the example in ares_process(3) */ static void *dns_threadfn(void *arg) { int nfds, count; fd_set readfds, writefds; struct timeval tv, *tvp; /* We release the the lock when waiting on the condvar or select(2)ing. */ pthread_mutex_lock(&dns_mtx); for (;;) { FD_ZERO(&readfds); FD_ZERO(&writefds); while ((nfds = ares_fds(ares_chan, &readfds, &writefds)) == 0 && !should_stop) pthread_cond_wait(&dns_cond, &dns_mtx); if (should_stop) break; FD_SET(stop_pipe[0], &readfds); tvp = ares_timeout(ares_chan, NULL, &tv); pthread_mutex_unlock(&dns_mtx); count = select(nfds, &readfds, &writefds, NULL, tvp); pthread_mutex_lock(&dns_mtx); if (FD_ISSET(stop_pipe[0], &readfds)) break; if (count >= 0) ares_process(ares_chan, &readfds, &writefds); else g_warning("select(2) failed: %s", strerror(errno)); } pthread_mutex_unlock(&dns_mtx); close(stop_pipe[0]); return NULL; } /* initialize dns interface */ int ares_open(void) { ipcache_init(); /* TODO: check ares_init_options() */ return ares_library_init(ARES_LIB_INIT_ALL) || (ares_init(&ares_chan) != ARES_SUCCESS) || pipe(stop_pipe) || pthread_cond_init(&dns_cond, NULL) || pthread_mutex_init(&dns_mtx, NULL) || pthread_create(&dns_thread, NULL, dns_threadfn, NULL); } /* close dns interface */ void ares_close(void) { pthread_mutex_lock(&dns_mtx); should_stop = 1; close(stop_pipe[1]); pthread_cond_signal(&dns_cond); pthread_mutex_unlock(&dns_mtx); pthread_join(dns_thread, NULL); pthread_mutex_destroy(&dns_mtx); pthread_cond_destroy(&dns_cond); ares_destroy(ares_chan); ares_library_cleanup(); } static void rdns_ares_cb(void *arg, int status, int timeouts, struct hostent *hostent) { struct ipcache_item *item = arg; switch (status) { case ARES_SUCCESS: /* insert into cache */ ipcache_request_succeeded(item, 3600, hostent->h_name); break; /* * ARES_ENODATA isn't documented as a possible status for * ares_gethostbyaddr(3), but empirically it appears to be popping up. * We'll treat it as equivalent to ARES_NOTFOUND. */ case ARES_ENODATA: case ARES_ENOTFOUND: /* NXDOMAIN */ ipcache_request_failed(item); break; case ARES_EDESTRUCTION: case ARES_ECANCELLED: break; case ARES_ENOMEM: g_critical("no memory for RDNS lookup"); break; case ARES_ENOTIMP: g_error("invalid ares addr type?"); break; default: g_warning("unknown ares status: %d\n", status); break; } } static void rdns_request(address_t *addr) { struct ipcache_item *item = ipcache_prepare_request(addr); ares_gethostbyaddr(ares_chan, &addr->addr8, address_len(addr->type), addr->type, rdns_ares_cb, item); pthread_cond_signal(&dns_cond); } /* resolves address and returns its fqdn */ const char *ares_lookup(address_t *addr) { const char *ipname; if (!addr) return ""; pthread_mutex_lock(&dns_mtx); /* check cache */ ipname = ipcache_lookup(addr); if (!ipname) { rdns_request(addr); ipname = address_to_str(addr); } pthread_mutex_unlock(&dns_mtx); return ipname; } etherape-0.9.20/src/names/names_netbios.c0000644000175000017500000002315614021134023015201 00000000000000 /* These are all functions from ethereal, just as they are there */ /* packet-nbns.c * Routines for NetBIOS-over-TCP packet disassembly (the name dates back * to when it had only NBNS) * Gilbert Ramirez * Much stuff added by Guy Harris * * * Ethereal - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * * 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. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "names_netbios.h" #include "stats/util.h" #define NBNAME_BUF_LEN 128 #define BYTES_ARE_IN_FRAME(a, b, c) (((a)+(b)) < (c)) typedef struct { int number; gchar *name; } value_string; static const value_string name_type_vals[] = { {0x00, "Workstation/Redirector"}, {0x01, "Browser"}, {0x02, "Workstation/Redirector"}, /* not sure what 0x02 is, I'm seeing alot of them however */ /* i'm seeing them with workstation/redirection host announcements */ {0x03, "Messenger service/Main name"}, {0x05, "Forwarded name"}, {0x06, "RAS Server service"}, {0x1b, "PDC Domain name"}, {0x1c, "BDC Domain name"}, {0x1d, "Master Browser backup"}, {0x1e, "Browser Election Service"}, {0x1f, "Net DDE Service"}, {0x20, "Server service"}, {0x21, "RAS client service"}, {0x22, "Exchange Interchange (MSMail Connector)"}, {0x23, "Exchange Store"}, {0x24, "Exchange Directory"}, {0x2b, "Lotus Notes Server service"}, {0x30, "Modem sharing server service"}, {0x31, "Modem sharing client service"}, {0x43, "SMS Clients Remote Control"}, {0x44, "SMS Administrators Remote Control Tool"}, {0x45, "SMS Clients Remote Chat"}, {0x46, "SMS Clients Remote Transfer"}, {0x4c, "DEC Pathworks TCP/IP Service on Windows NT"}, {0x52, "DEC Pathworks TCP/IP Service on Windows NT"}, {0x6a, "Microsoft Exchange IMC"}, {0x87, "Microsoft Exchange MTA"}, {0xbe, "Network Monitor Agent"}, {0xbf, "Network Monitor Analyzer"}, {0x00, NULL} }; /*************************************************************************** * * local function definitions * **************************************************************************/ static int get_dns_name(const gchar *pd, int offset, int pd_len, char *name, int maxname); static int process_netbios_name(const gchar *name_ptr, char *name_ret, size_t maxname); /*************************************************************************** * * implementation * **************************************************************************/ static int get_dns_name(const gchar *pd, int offset, int pd_len, char *name, int maxname) { const gchar *dp = pd + offset; const gchar *dptr = dp; char *np = name; int len = -1; unsigned int component_len; int dns_data_offset; if (offset >= pd_len) goto overflow; dns_data_offset = offset; maxname--; /* reserve space for the trailing '\0' */ for (;;) { if (!BYTES_ARE_IN_FRAME(offset, 1, pd_len)) goto overflow; component_len = *dp++; offset++; if (component_len == 0) break; switch (component_len & 0xc0) { case 0x00: /* Label */ if (np != name) { /* Not the first component - put in a '.'. */ if (maxname > 0) { *np++ = '.'; maxname--; } } if (!BYTES_ARE_IN_FRAME(offset, component_len, pd_len)) goto overflow; while (component_len > 0) { if (maxname > 0) { *np++ = *dp; maxname--; } component_len--; dp++; offset++; } break; case 0x40: case 0x80: goto dns_name_terminated; /* error */ case 0xc0: /* Pointer. */ /* XXX - check to make sure we aren't looping, by keeping track of how many characters are in the DNS packet, and of how many characters we've looked at, and quitting if the latter becomes bigger than the former. */ if (!BYTES_ARE_IN_FRAME(offset, 1, pd_len)) goto overflow; offset = dns_data_offset + (((component_len & ~0xc0) << 8) | (*dp++)); /* If "len" is negative, we are still working on the original name, not something pointed to by a pointer, and so we should set "len" to the length of the original name. */ if (len < 0) len = dp - dptr; dp = pd + offset; break; /* now continue processing from there */ } } dns_name_terminated: *np = '\0'; /* If "len" is negative, we haven't seen a pointer, and thus haven't set the length, so set it. */ if (len < 0) len = dp - dptr; /* Zero-length name means "root server" */ if (*name == '\0') safe_strncpy(name, "", maxname); return len; overflow: /* We ran past the end of the captured data in the packet. */ safe_strncpy(name, "", maxname); /* If "len" is negative, we haven't seen a pointer, and thus haven't set the length, so set it. */ if (len < 0) len = dp - dptr; return len; } static int process_netbios_name(const gchar *name_ptr, char *outname, size_t outname_size) { unsigned int i; int name_type = *(name_ptr + NETBIOS_NAME_LEN - 1); gchar name_char; char *name_ret; static const char hex_digits[16] = "0123456780abcdef"; name_ret = outname; for (i = 0; i < NETBIOS_NAME_LEN - 1 && name_ret-outname < outname_size-1; ++i) { name_char = *name_ptr++; if (name_char >= ' ' && name_char <= '~') *name_ret++ = name_char; else { /* It's not printable; show it as , where XX is the value in hex. */ *name_ret++ = '<'; *name_ret++ = hex_digits[(name_char >> 4)]; *name_ret++ = hex_digits[(name_char & 0x0F)]; *name_ret++ = '>'; } } *name_ret = '\0'; return name_type; } int ethereal_nbns_name(const gchar *pd, int offset, int pd_len, char *outname, size_t outname_size, int *name_type_ret) { int name_len; char name[MAXDNAME]; char nbname[NBNAME_BUF_LEN]; char buf[16]; char *pname, *pnbname, cname, cnbname; int name_type; name_len = get_dns_name(pd, offset, pd_len, name, sizeof(name)); /* OK, now undo the first-level encoding. */ pname = &name[0]; pnbname = &nbname[0]; for (;;) { /* Every two characters of the first level-encoded name * turn into one character in the decoded name. */ cname = *pname; if (cname == '\0') break; /* no more characters */ if (cname == '.') break; /* scope ID follows */ if (cname < 'A' || cname > 'Z') { /* Not legal. */ safe_strncpy(nbname, "Illegal NetBIOS name (character not between A and Z in first-level encoding)", sizeof(nbname)); goto bad; } cname -= 'A'; cnbname = cname << 4; pname++; cname = *pname; if (cname == '\0' || cname == '.') { /* No more characters in the name - but we're in * the middle of a pair. Not legal. */ safe_strncpy(nbname, "Illegal NetBIOS name (odd number of bytes)", sizeof(nbname)); goto bad; } if (cname < 'A' || cname > 'Z') { /* Not legal. */ safe_strncpy(nbname, "Illegal NetBIOS name (character not between A and Z in first-level encoding)", sizeof(nbname)); goto bad; } cname -= 'A'; cnbname |= cname; pname++; /* Do we have room to store the character? */ if (pnbname < &nbname[NETBIOS_NAME_LEN]) { /* Yes - store the character. */ *pnbname = cnbname; } /* We bump the pointer even if it's past the end of the name, so we keep track of how long the name is. */ pnbname++; } /* NetBIOS names are supposed to be exactly 16 bytes long. */ if (pnbname - nbname != NETBIOS_NAME_LEN) { /* It's not. */ snprintf(nbname, sizeof(nbname), "Illegal NetBIOS name (%ld bytes long)", (long)(pnbname - nbname)); goto bad; } /* This one is; make its name printable. */ name_type = process_netbios_name(nbname, outname, outname_size); snprintf(buf, sizeof(buf), "<%02x>", name_type); safe_strncat(outname, buf, outname_size); if (cname == '.') { /* We have a scope ID, starting at "pname"; append that to * the decoded host name. */ safe_strncat(outname, pname, outname_size); } if (name_type_ret != NULL) *name_type_ret = name_type; return name_len; bad: if (name_type_ret != NULL) *name_type_ret = -1; safe_strncpy(outname, nbname, outname_size); return name_len; } /* My only code here (JTC) */ gchar *get_netbios_host_type(int type) { guint i = 0; while (name_type_vals[i].number || name_type_vals[i].name) { if (name_type_vals[i].number == type) return name_type_vals[i].name; i++; } return "Unknown"; } /* get_netbios_host_type */ etherape-0.9.20/src/names/dns.c0000644000175000017500000000263014021134023013131 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., 675 * Mass Ave, Cambridge, MA 02139, USA. * * common dns routines * * Extended for optional libcares support by Zev Weiss, (c) 2016 */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" #include "dns.h" #ifdef HAVE_LIBCARES #include "ares_resolve.h" #else #include "thread_resolve.h" #endif /* initialize dns interface */ int dns_open(void) { #ifdef HAVE_LIBCARES return ares_open(); #else return thread_open(); #endif } /* close dns interface */ void dns_close(void) { #ifdef HAVE_LIBCARES ares_close(); #else thread_close(); #endif } /* resolves address and returns its fqdn */ const char *dns_lookup(address_t *addr) { #ifdef HAVE_LIBCARES return ares_lookup(addr); #else return thread_lookup(addr); #endif } etherape-0.9.20/src/datastructs.h0000644000175000017500000000373314021135163013623 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo, Riccardo Ghetta * * 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, see . */ #ifndef DATASTRUCT_H #define DATASTRUCT_H #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "stats/prot_types.h" typedef struct { GdkRGBA color; gboolean preferred; } ColorHashItem; /* clears the proto hash */ void protohash_clear(void); /* returns the proto color as GdkRGBA or rgb guint */ const GdkRGBA *protohash_color(const gchar *protoname); /* returns the preferred flag */ gboolean protohash_is_preferred(const gchar *protoname); /* fills the hash from a pref vector */ gboolean protohash_read_prefvect(gchar * *colors); /* resets the cycle color to start of list */ void protohash_reset_cycle(void); /* compacts the array of colors/protocols mappings by collapsing identical * colors - frees the input array */ gchar **protohash_compact(gchar * *colors); /* removes all spaces from str (in place). Returns str */ gchar *remove_spaces(gchar *str); typedef struct { port_type_t port; gchar *name; gboolean preferred; /* true if has to be favored when choosing proto name */ } port_service_t; /* service mappers */ void services_init(void); void services_clear(void); const port_service_t *services_tcp_find(port_type_t port); const port_service_t *services_udp_find(port_type_t port); const port_service_t *services_port_find(const gchar *name); #endif etherape-0.9.20/src/pref_dialog.h0000644000175000017500000000525114034541742013542 00000000000000/* EtherApe * Copyright (C) 2000 Juan Toledo * Copyright (C) 2011 Riccardo Ghetta * * 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, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "appdata.h" #include "math.h" void initialize_pref_controls(void); void change_refresh_period(guint32 newperiod); /* callbacks */ void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data); void on_averaging_spin_adjustment_changed(GtkAdjustment *adj); void on_refresh_spin_adjustment_changed(GtkAdjustment *adj, GtkWidget *canvas); void on_node_radius_slider_adjustment_changed(GtkAdjustment *adj); void on_inner_ring_scale_slider_adjustment_changed(GtkAdjustment *adj); void on_gui_node_to_spin_adjustment_changed(GtkAdjustment *adj); void on_proto_node_to_spin_adjustment_changed(GtkAdjustment *adj); void on_gui_link_to_spin_adjustment_changed(GtkAdjustment *adj); void on_proto_link_to_spin_adjustment_changed(GtkAdjustment *adj); void on_proto_to_spin_adjustment_changed(GtkAdjustment *adj); void on_save_pref_button_clicked(GtkWidget *button, gpointer user_data); void on_diagram_only_toggle_toggled(GtkToggleButton *togglebutton, gpointer user_data); void on_ok_pref_button_clicked(GtkWidget *button, gpointer user_data); void on_cancel_pref_button_clicked(GtkWidget *button, gpointer user_data); void on_group_unk_check_toggled(GtkToggleButton *togglebutton, gpointer); void on_numeric_toggle_toggled(GtkToggleButton *togglebutton, gpointer user_data); void on_background_image_path_selected(GtkFileChooserButton *filechooser, gpointer user_data); /* proto color tab callbacks */ void on_color_add_button_clicked(GtkButton *button, gpointer user_data); void on_color_edit_button_clicked(GtkButton *button, gpointer user_data); void on_color_remove_button_clicked(GtkButton *button, gpointer user_data); void on_color_edit_dialog_show(GtkWidget *wdg, gpointer user_data); void on_color_edit_ok_clicked(GtkButton *button, gpointer user_data); void on_colordiag_ok_clicked(GtkButton *button, gpointer user_data); etherape-0.9.20/missing0000755000175000017500000001533613755344177011747 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1996-2020 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # 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. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=https://www.perl.org/ flex_URL=https://github.com/westes/flex gnu_software_URL=https://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: etherape-0.9.20/depcomp0000755000175000017500000005602013755344177011720 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2020 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 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: etherape-0.9.20/etherape.desktop0000644000175000017500000000566514050232400013512 00000000000000[Desktop Entry] Name=EtherApe GenericName=A Graphical Network Browser GenericName[de]=Ein grafischer Netzwerk-Browser GenericName[es]=Un monitor gráfico de red GenericName[fr]=Un navigateur de réseau graphique GenericName[it]=Visualizza il traffico di rete GenericName[ru]=Графический просмотр сети GenericName[sv]=En grafisk nätverksbläddrare GenericName[tr]=Grafiksel Ağ İzleyici Comment=Graphical Network Monitor Comment[es]=Monitor Gráfico de Red Comment[sq]=Monitorues Grafik i Rrjetit Comment[af]=Grafiese netwerkmonitor Comment[be]=Графічны сеціўны манітор Comment[eu]=Sare Monitore Grafikoa Comment[ast]=Monitor gráficu de rede Comment[bn]=গ্রাফিকেল নেটওয়ার্ক পর্যবেক্ষণ Comment[bs]=Grafički nadzornik mreže Comment[pt_BR]=Monitor Gráfico de Rede Comment[bg]=Графично наблюдение на мрежата Comment[ca]=Monitor gràfic de xarxa Comment[ca@valencia]=Monitor gràfic de xarxa Comment[zh_HK]=圖像化網絡監控器 Comment[zh_TW]=圖像化網路監控器 Comment[crh]=Grafiksel Ağ Görüntü Birimi Comment[zh_CN]=图形化网络监视器 Comment[hr]=Grafički prikaz mreže Comment[eo]=Grafika Reta Kontrolilo Comment[cs]=Grafické sledování sítě Comment[da]=Grafisk netværksovervågning Comment[nl]=Grafische netwerkmonitor Comment[et]=Graafiline võrgumonitor Comment[fr_CA]=Moniteur graphique de réseau Comment[fi]=Graafinen verkonvalvonta Comment[fr]=Surveillance graphique du réseau Comment[gl]=Monitor Gráfico de Rede Comment[el]=Γραφική παρακολούθηση δικτύου Comment[de]=Grafischer Netzwerkmonitor Comment[id]=Monitor Jaringan Berbasis Grafik Comment[hu]=Grafikus hálózatfigyelő Comment[it]=Monitor di rete grafico Comment[ja]=グラフィカルなネットワークモニタ Comment[ky]=Графикалык тармак монитору Comment[ko]=그래픽 네트워크 모니터 Comment[ms]=Pemantau Rangkaian Bergrafik Comment[fa]=نمایشگر شبکه گرافیکی Comment[oc]=Susvelhança grafica de la ret Comment[nb]=Grafisk nettverksovervåking Comment[pl]=Graficzny monitor sieci Comment[ro]=Monitor grafic pentru rețea Comment[pt]=Monitor Gráfico de Rede Comment[ru]=Графический сетевой монитор Comment[sk]=Grafický monitoring sieťovej prevádzky Comment[sl]=Grafični nadzornik omrežja Comment[th]=กราฟิกแสดงสถานะของเครือข่าย Comment[ta]=வலைப்பின்னல் திரையகம் Comment[tg]=Монитори шабакаи графикӣ Comment[sv]=Grafisk nätverksövervakare Comment[vi]=Trình theo dõi mạng có giao diện đồ hoạ Comment[uk]=Графічний монітор мережі Comment[tr]=Grafiksel Ağ Görüntü Birimi Exec=etherape Terminal=false Type=Application Icon=etherape Categories=GNOME;System;Network; Keywords=network;etherape;network;monitor; etherape-0.9.20/config.h0000644000175000017500000001214314050232400011725 00000000000000/* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ /* disables gdk_input_add */ /* #undef DISABLE_GDKINPUTADD */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #define ENABLE_NLS 1 /* found only gethostbyaddr, while getnameinfo does not exists, resolving is restricted to single thread. */ /* #undef FORCE_SINGLE_THREAD */ /* cmt */ #define GETTEXT_PACKAGE "etherape" /* Define to 1 if you have the header file. */ #define HAVE_ARPA_INET_H 1 /* cmt */ #define HAVE_CATGETS /**/ /* Define if the GNU dcgettext() function is already present or preinstalled. */ #define HAVE_DCGETTEXT 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define if the GNU gettext() function is already present or preinstalled. */ #define HAVE_GETTEXT 1 /* Define to 1 if you have the `g_list_free_full' function. */ #define HAVE_G_LIST_FREE_FULL 1 /* Define to 1 if you have the `g_ptr_array_insert' function. */ #define HAVE_G_PTR_ARRAY_INSERT 1 /* Define if you have the iconv() function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the `inet_ntop' function. */ #define HAVE_INET_NTOP 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define to 1 to use the c-ares DNS library */ /* #undef HAVE_LIBCARES */ /* cmt */ #define HAVE_LIBPCAP 1 /* cmt */ #define HAVE_LIBSM /**/ /* Define to 1 if you have the header file. */ #define HAVE_MATH_H 1 /* Define to 1 if you have the header file. */ #define HAVE_NETDB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_NETINET_IN_H 1 /* Define to 1 if you have the header file. */ #define HAVE_NET_IF_H 1 /* Define if you have POSIX threads libraries and header files. */ #define HAVE_PTHREAD 1 /* Have PTHREAD_PRIO_INHERIT. */ #define HAVE_PTHREAD_PRIO_INHERIT 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDIO_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SOCKET_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* cmt */ #define HAVE_U_INT /**/ /* Define to the sub-directory where libtool stores uninstalled libraries. */ #define LT_OBJDIR ".libs/" /* Name of package */ #define PACKAGE "etherape" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* package locale directory */ #define PACKAGE_LOCALE_DIR "/usr/local/share/locale" /* Define to the full name of this package. */ #define PACKAGE_NAME "etherape" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "etherape 0.9.20" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "etherape" /* Define to the home page for this package. */ #define PACKAGE_URL "" /* Define to the version of this package. */ #define PACKAGE_VERSION "0.9.20" /* pixmaps directory */ #define PIXMAPS_DIR "/usr/local/share/pixmaps" /* Define to necessary symbol if this constant uses a non-standard name on your system. */ /* #undef PTHREAD_CREATE_JOINABLE */ /* Define to 1 if all of the C90 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #define STDC_HEADERS 1 /* Define to 1 if you can safely include both and . This macro is obsolete. */ #define TIME_WITH_SYS_TIME 1 /* Define to 1 if your declares `struct tm'. */ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ #define VERSION "0.9.20" /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN /* # undef WORDS_BIGENDIAN */ # endif #endif /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ etherape-0.9.20/PKGBUILD0000644000175000017500000000165414050232400011440 00000000000000# # copied and adapter for use with opensuse build service # # Maintainer: Thorsten Töpper # Contributor: kevin # Contributor: Damir Perisa pkgname=etherape pkgver=0.9.20 pkgrel=1 pkgdesc='A graphical network monitor for various OSI layers and protocols' arch=('i686' 'x86_64') url="http://etherape.sourceforge.io/" license=('GPL2') # as of 03/2017 'libglvnd' 'mesa' are needed only for OBS depends=('goocanvas' 'libpcap' 'popt' 'libglvnd' 'mesa') makedepends=('yelp-tools' 'itstool') source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz) #sha1ums=('') # building for release - add sha of tar package sha1sums=('SKIP') # building for devel build() { cd ${srcdir}/${pkgname}-${pkgver} ./configure --prefix=/usr --sysconfdir=/etc make } package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install } etherape-0.9.20/etherape.spec0000644000175000017500000001550314050240620012766 00000000000000# Note that this is NOT a relocatable package # This specfile is a generic one aimed primarily at obs builds %define RELEASE 1 %define rel %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE} # define an appropriate suffix for the packages %if 0%{?mgaversion} %define sys mga%{mgaversion} %endif %if 0%{?mageia} %define sys mga%{mageia} %endif %if 0%{?suse_version} %define sys suse%{suse_version} %endif %if 0%{?sles_version} %define sys sles%{sles_version} %endif %if 0%{?fedora_version} %define sys fdv%{fedora_version} %endif %if 0%{?rhel_version} %define sys rhel%{rhel_version} %endif %if 0%{?centos_version} %define sys centos%{centos_version} %endif %if 0%{?scientificlinux_version} %define sys sfl%{scientificlinux_version} %endif Name: etherape Summary: Graphical network viewer modeled after etherman Version: 0.9.20 Release: %{rel}.obs%{sys} License: GPLv2+ URL: http://etherape.sourceforge.io/ Source: http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Autoreqprov: on %if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version} Group: Applications/System %else %if 0%{?suse_version} || 0%{?sles_version} Group: Productivity/Networking/Diagnostic %else Group: Monitoring %endif %endif BuildRoot: %{_tmppath}/%{name}-%{version} #Docdir: %{prefix}/doc # common requisites BuildRequires: libpcap-devel BuildRequires: gettext BuildRequires: autoconf BuildRequires: pkgconfig BuildRequires: libtool BuildRequires: popt-devel # Mageia %if 0%{?mageia}|| 0%{?mgaversion} BuildRequires: libgoocanvas2-devel BuildRequires: desktop-file-utils BuildRequires: polkit-gnome BuildRequires: gettext-devel BuildRequires: autoconf-archive %endif # OpenSuSe - SLES %if 0%{?suse_version} || 0%{?sles_version} || 0%{?sle_version} BuildRequires: goocanvas-devel BuildRequires: gettext-tools BuildRequires: fdupes BuildRequires: update-desktop-files %if 0%{?is_opensuse} BuildRequires: autoconf-archive %endif %endif # CentOS %if 0%{?centos_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel %endif # ScientificLinux %if 0%{?scientificlinux_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel %endif # RHEL %if 0%{?rhel_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel %if 0%{?centos_version} > 600 BuildRequires: autoconf-archive %endif %endif # Fedora %if 0%{?fedora_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel BuildRequires: autoconf-archive %endif ##### # help dependencies ##### # common dependencies for autoreconf BuildRequires: yelp-tools BuildRequires: itstool # mageia %if 0%{?mageia}|| 0%{?mgaversion} BuildRequires: gnome-doc-utils BuildRequires: rarian %endif # OpenSuSe - SLES %if 0%{?suse_version} || 0%{?sles_version} BuildRequires: docbook_4 BuildRequires: fdupes BuildRequires: sed %if ( 0%{?is_opensuse} ) %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 # leap and tumbleweed BuildRequires: scrollkeeper %else # others BuildRequires: rarian-scrollkeeper-compat %endif %else # !is_opensuse, i.e. SLES %if 0%{?suse_version} > 1110 #BuildRequires: rarian-scrollkeeper-compat %endif %endif %endif # CentOS %if 0%{?centos_version} BuildRequires: rarian BuildRequires: rarian-compat %endif # ScientificLinux %if 0%{?scientificlinux_version} BuildRequires: gnome-doc-utils BuildRequires: rarian BuildRequires: rarian-compat %endif # RHEL %if 0%{?rhel_version} BuildRequires: gnome-doc-utils %if 0%{?rhel_version} < 600 BuildRequires: scrollkeeper %else BuildRequires: rarian BuildRequires: rarian-compat %endif %endif %if 0%{?fedora_version} BuildRequires: gnome-doc-utils BuildRequires: rarian BuildRequires: rarian-compat # fedora24 needs a text browser for docbook-utils BuildRequires: w3m %endif ##### # help end ##### %description Etherape is a graphical network monitor for Unix modeled after etherman. Featuring link level, ip and tcp modes, it displays network activity graphically. Hosts and links change in size with traffic. Color coded protocols display. It supports ethernet, fddi, ppp, slip, wlan and other devices. It can filter traffic to be shown, and can read traffic from a file as well as live from the network. %prep %setup -q %{__rm} -rf .hg %if 0%{?suse_version} || 0%{?sles_version} %__sed -ie "s#http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd#file:///usr/share/sgml/docbook/dtd/4.2/docbookx.dtd#" doc/C/index.docbook %__cat >> etherape.desktop.in << _EOF_ X-KDE-SubstituteUID=true X-KDE-Username=root _EOF_ %endif %build %if 0%{?suse_version} || 0%{?sles_version} autoreconf -fi %configure --with-pic --disable-scrollkeeper #%if 0%{?is_opensuse} || ( ! 0%{?suse_version} == 1315 ) # apparently opensuse has a broken xmllib configuration, missing an alias # for omf dtd %__sed -ie "s#--dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd'#--dtdvalidfpi \\\"-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN\\\"#" doc/Makefile #%endif %else %if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version} %if 0%{?rhel_version}>550 || 0%{?centos_version}>550 || 0%{?scientificlinux_version}>550 autoreconf -fi %else # using -fi on rhel5 and likes will fail build autoreconf %endif %endif %if 0%{?mgaversion} %configure2_5x --bindir=%{_sbindir} %else %configure --bindir=%{_sbindir} %endif %endif %__make %{?_smp_flags} %check %__make check %install %__rm -rf %{buildroot} %__mkdir %{buildroot} %__make install DESTDIR=%{buildroot} %find_lang %{name} %if 0%{?suse_version} || 0%{?sles_version} %fdupes %{buildroot} %endif %clean %{__rm} -rf %{buildroot} %files -f %{name}.lang %defattr(-, root, root) %{_datadir}/applications/etherape.desktop %{_datadir}/%{name} %{_datadir}/pixmaps/etherape.png %if 0%{?suse_version} || 0%{?sles_version} %{_bindir}/etherape %else %{_sbindir}/etherape %endif %doc AUTHORS COPYING TODO NEWS README* FAQ %{_mandir}/man1/%{name}.1* %docdir %{_datadir}/help/C/%{name} %doc %{_datadir}/help/C/%{name}/** %post %postun %changelog * Sat Nov 11 2017 R.Ghetta 0.9.15 - move away from gnome-doc-utils and other deprecation work * Sat Oct 8 2016 R.Ghetta 0.9.15 - updates for new release * Sat Feb 6 2016 R.Ghetta 0.9.14 - fixes for newer distributions * Sat Sep 19 2015 R.Ghetta 0.9.14 - updated for newer distributions * Sat Jun 6 2015 R.Ghetta - remove custom services file * Tue Feb 15 2011 R.Ghetta - adapting for OpenSUSE build service * Sun Jan 3 2010 R.Ghetta - change manual build * Sat May 6 2006 R.Ghetta - a bit of modernization * Mon Apr 3 2000 Juan Toledo - Initial spec file copied from electric eyes etherape-0.9.20/m4/0000755000175000017500000000000014050232400010706 500000000000000etherape-0.9.20/m4/inttypes_h.m40000644000175000017500000000207313201411420013256 00000000000000# inttypes_h.m4 serial 4 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([jm_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_inttypes_h=yes, jm_ac_cv_header_inttypes_h=no)]) if test $jm_ac_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) etherape-0.9.20/m4/lib-ld.m40000644000175000017500000000626013201411420012235 00000000000000# lib-ld.m4 serial 1 (gettext-0.11) dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then acl_cv_prog_gnu_ld=yes else acl_cv_prog_gnu_ld=no fi]) with_gnu_ld=$acl_cv_prog_gnu_ld ]) dnl From libtool-1.4. Sets the variable LD. AC_DEFUN([AC_LIB_PROG_LD], [AC_ARG_WITH(gnu-ld, [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else test "$with_gnu_ld" != yes && break fi fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) etherape-0.9.20/m4/ax_pthread.m40000644000175000017500000005052013201574250013222 00000000000000# =========================================================================== # http://www.gnu.org/software/autoconf-archive/ax_pthread.html # =========================================================================== # # SYNOPSIS # # AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) # # DESCRIPTION # # This macro figures out how to build C programs using POSIX threads. It # sets the PTHREAD_LIBS output variable to the threads library and linker # flags, and the PTHREAD_CFLAGS output variable to any special C compiler # flags that are needed. (The user can also force certain compiler # flags/libs to be tested by setting these environment variables.) # # Also sets PTHREAD_CC to any special C compiler that is needed for # multi-threaded programs (defaults to the value of CC otherwise). (This # is necessary on AIX to use the special cc_r compiler alias.) # # NOTE: You are assumed to not only compile your program with these flags, # but also to link with them as well. For example, you might link with # $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS # # If you are only building threaded programs, you may wish to use these # variables in your default LIBS, CFLAGS, and CC: # # LIBS="$PTHREAD_LIBS $LIBS" # CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # CC="$PTHREAD_CC" # # In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant # has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to # that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). # # Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the # PTHREAD_PRIO_INHERIT symbol is defined when compiling with # PTHREAD_CFLAGS. # # ACTION-IF-FOUND is a list of shell commands to run if a threads library # is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it # is not found. If ACTION-IF-FOUND is not specified, the default action # will define HAVE_PTHREAD. # # Please let the authors know if this macro fails on any platform, or if # you have any other suggestions or comments. This macro was based on work # by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help # from M. Frigo), as well as ac_pthread and hb_pthread macros posted by # Alejandro Forero Cuervo to the autoconf macro repository. We are also # grateful for the helpful feedback of numerous users. # # Updated for Autoconf 2.68 by Daniel Richard G. # # LICENSE # # Copyright (c) 2008 Steven G. Johnson # Copyright (c) 2011 Daniel Richard G. # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, either version 3 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure # scripts that are the output of Autoconf when processing the Macro. You # need not follow the terms of the GNU General Public License when using # or distributing such scripts, even though portions of the text of the # Macro appear in them. The GNU General Public License (GPL) does govern # all other use of the material that constitutes the Autoconf Macro. # # This special exception to the GPL applies to versions of the Autoconf # Macro released by the Autoconf Archive. When you make and distribute a # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. #serial 23 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) AC_DEFUN([AX_PTHREAD], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_PROG_SED]) AC_LANG_PUSH([C]) ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on Tru64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then ax_pthread_save_CC="$CC" ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) AC_MSG_RESULT([$ax_pthread_ok]) if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi CC="$ax_pthread_save_CC" CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" fi # We must check for the threads library under a number of different # names; the ordering is very important because some systems # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). # Create a list of thread flags to try. Items starting with a "-" are # C compiler flags, and other items are library names, except for "none" # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # pthreads: AIX (must check this before -lpthread) # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 # (Note: HP C rejects this with "bad form for `-t' option") # -pthreads: Solaris/gcc (Note: HP C also rejects) # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads and # -D_REENTRANT too), HP C (must be checked before -lpthread, which # is present but should not be used directly; and before -mthreads, # because the compiler interprets this as "-mt" + "-hreads") # -mthreads: Mingw32/gcc, Lynx/gcc # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) case $host_os in freebsd*) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) ax_pthread_flags="-kthread lthread $ax_pthread_flags" ;; hpux*) # From the cc(1) man page: "[-mt] Sets various -D flags to enable # multi-threading and also sets -lpthread." ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" ;; openedition*) # IBM z/OS requires a feature-test macro to be defined in order to # enable POSIX threads at all, so give the user a hint if this is # not set. (We don't define these ourselves, as they can affect # other portions of the system API in unpredictable ways.) AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], [ # if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) AX_PTHREAD_ZOS_MISSING # endif ], [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) ;; solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (N.B.: The stubs are missing # pthread_cleanup_push, or rather a function called by this macro, # so we could check for that, but who knows whether they'll stub # that too in a future libc.) So we'll check first for the # standard Solaris way of linking pthreads (-mt -lpthread). ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags" ;; esac # GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) AS_IF([test "x$GCC" = "xyes"], [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"]) # The presence of a feature test macro requesting re-entrant function # definitions is, on some systems, a strong hint that pthreads support is # correctly enabled case $host_os in darwin* | hpux* | linux* | osf* | solaris*) ax_pthread_check_macro="_REENTRANT" ;; aix*) ax_pthread_check_macro="_THREAD_SAFE" ;; *) ax_pthread_check_macro="--" ;; esac AS_IF([test "x$ax_pthread_check_macro" = "x--"], [ax_pthread_check_cond=0], [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) # Are we compiling with Clang? AC_CACHE_CHECK([whether $CC is Clang], [ax_cv_PTHREAD_CLANG], [ax_cv_PTHREAD_CLANG=no # Note that Autoconf sets GCC=yes for Clang as well as GCC if test "x$GCC" = "xyes"; then AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ # if defined(__clang__) && defined(__llvm__) AX_PTHREAD_CC_IS_CLANG # endif ], [ax_cv_PTHREAD_CLANG=yes]) fi ]) ax_pthread_clang="$ax_cv_PTHREAD_CLANG" ax_pthread_clang_warning=no # Clang needs special handling, because older versions handle the -pthread # option in a rather... idiosyncratic way if test "x$ax_pthread_clang" = "xyes"; then # Clang takes -pthread; it has never supported any other flag # (Note 1: This will need to be revisited if a system that Clang # supports has POSIX threads in a separate library. This tends not # to be the way of modern systems, but it's conceivable.) # (Note 2: On some systems, notably Darwin, -pthread is not needed # to get POSIX threads support; the API is always present and # active. We could reasonably leave PTHREAD_CFLAGS empty. But # -pthread does define _REENTRANT, and while the Darwin headers # ignore this macro, third-party headers might not.) PTHREAD_CFLAGS="-pthread" PTHREAD_LIBS= ax_pthread_ok=yes # However, older versions of Clang make a point of warning the user # that, in an invocation where only linking and no compilation is # taking place, the -pthread option has no effect ("argument unused # during compilation"). They expect -pthread to be passed in only # when source code is being compiled. # # Problem is, this is at odds with the way Automake and most other # C build frameworks function, which is that the same flags used in # compilation (CFLAGS) are also used in linking. Many systems # supported by AX_PTHREAD require exactly this for POSIX threads # support, and in fact it is often not straightforward to specify a # flag that is used only in the compilation phase and not in # linking. Such a scenario is extremely rare in practice. # # Even though use of the -pthread flag in linking would only print # a warning, this can be a nuisance for well-run software projects # that build with -Werror. So if the active version of Clang has # this misfeature, we search for an option to squash it. AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown # Create an alternate version of $ac_link that compiles and # links in two steps (.c -> .o, .o -> exe) instead of one # (.c -> exe), because the warning occurs only in the second # step ax_pthread_save_ac_link="$ac_link" ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" ax_pthread_save_CFLAGS="$CFLAGS" for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" ac_link="$ax_pthread_save_ac_link" AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], [ac_link="$ax_pthread_2step_ac_link" AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], [break]) ]) done ac_link="$ax_pthread_save_ac_link" CFLAGS="$ax_pthread_save_CFLAGS" AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" ]) case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in no | unknown) ;; *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; esac fi # $ax_pthread_clang = yes if test "x$ax_pthread_ok" = "xno"; then for ax_pthread_try_flag in $ax_pthread_flags; do case $ax_pthread_try_flag in none) AC_MSG_CHECKING([whether pthreads work without any flags]) ;; -mt,pthread) AC_MSG_CHECKING([whether pthreads work with -mt -lpthread]) PTHREAD_CFLAGS="-mt" PTHREAD_LIBS="-lpthread" ;; -*) AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we # need a special flag -Kthread to make this header compile.) # We check for pthread_join because it is in -lpthread on IRIX # while pthread_create is in libc. We check for pthread_attr_init # due to DEC craziness with -lpthreads. We check for # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. AC_LINK_IFELSE([AC_LANG_PROGRAM([#include # if $ax_pthread_check_cond # error "$ax_pthread_check_macro must be defined" # endif static void routine(void *a) { a = 0; } static void *start_routine(void *a) { return a; }], [pthread_t th; pthread_attr_t attr; pthread_create(&th, 0, start_routine, 0); pthread_join(th, 0); pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_cleanup_pop(0) /* ; */])], [ax_pthread_ok=yes], []) CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" AC_MSG_RESULT([$ax_pthread_ok]) AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi # Various other checks: if test "x$ax_pthread_ok" = "xyes"; then ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. AC_CACHE_CHECK([for joinable pthread attribute], [ax_cv_PTHREAD_JOINABLE_ATTR], [ax_cv_PTHREAD_JOINABLE_ATTR=unknown for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [int attr = $ax_pthread_attr; return attr /* ; */])], [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], []) done ]) AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ test "x$ax_pthread_joinable_attr_defined" != "xyes"], [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$ax_cv_PTHREAD_JOINABLE_ATTR], [Define to necessary symbol if this constant uses a non-standard name on your system.]) ax_pthread_joinable_attr_defined=yes ]) AC_CACHE_CHECK([whether more special flags are required for pthreads], [ax_cv_PTHREAD_SPECIAL_FLAGS], [ax_cv_PTHREAD_SPECIAL_FLAGS=no case $host_os in solaris*) ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" ;; esac ]) AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ test "x$ax_pthread_special_flags_added" != "xyes"], [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" ax_pthread_special_flags_added=yes]) AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], [ax_cv_PTHREAD_PRIO_INHERIT], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[int i = PTHREAD_PRIO_INHERIT;]])], [ax_cv_PTHREAD_PRIO_INHERIT=yes], [ax_cv_PTHREAD_PRIO_INHERIT=no]) ]) AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ test "x$ax_pthread_prio_inherit_defined" != "xyes"], [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) ax_pthread_prio_inherit_defined=yes ]) CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" # More AIX lossage: compile with *_r variant if test "x$GCC" != "xyes"; then case $host_os in aix*) AS_CASE(["x/$CC"], [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], [#handle absolute path differently from PATH based program lookup AS_CASE(["x$CC"], [x/*], [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) ;; esac fi fi test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" AC_SUBST([PTHREAD_LIBS]) AC_SUBST([PTHREAD_CFLAGS]) AC_SUBST([PTHREAD_CC]) # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test "x$ax_pthread_ok" = "xyes"; then ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) : else ax_pthread_ok=no $2 fi AC_LANG_POP ])dnl AX_PTHREAD etherape-0.9.20/m4/gettext.m40000644000175000017500000005730113201411420012560 00000000000000# gettext.m4 serial 17 (gettext-0.11.5) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2002. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define(gt_included_intl, ifelse([$1], [external], [no], [yes])) define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. dnl Add a version number to the cache macros. define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, [AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no)]) if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], gt_cv_func_gnugettext_libintl, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias ();], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=no) dnl Now see whether libintl exists and depends on libiconv. if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias ();], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext_libintl=yes ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if test "$gt_cv_func_gnugettext_libc" = "yes" \ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ && test "$PACKAGE" != gettext; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. INTLOBJS="\$(GETTOBJS)" BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext_libintl" = "yes"; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) AC_SUBST(INTLOBJS) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl Checks for all prerequisites of the po subdirectory, dnl except for USE_NLS. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Search for GNU xgettext 0.11 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU msgfmt. if test "$GMSGFMT" != ":"; then dnl If it is no GNU msgfmt we define it as : so that the dnl Makefiles still can work. if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` AC_MSG_RESULT( [found $GMSGFMT program is not GNU msgfmt; ignore it]) GMSGFMT=":" fi fi dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is no GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po fi AC_OUTPUT_COMMANDS([ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' fi case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= GMOFILES= UPDATEPOFILES= DUMMYPOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it # from automake. eval 'ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_ISC_POSIX])dnl AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_C_CONST])dnl AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_OFF_T])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([jm_GLIBC21])dnl AC_REQUIRE([gt_INTDIV0])dnl AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl AC_REQUIRE([gt_INTTYPES_PRI])dnl AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ stdlib.h string.h unistd.h sys/param.h]) AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) AM_ICONV AM_LANGINFO_CODESET if test $ac_cv_header_locale_h = yes; then AM_LC_MESSAGES fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't dnl compile. dnl bison is only needed for the maintainer (who touches plural.y). But in dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put dnl the rule in general Makefile. Now, some people carelessly touch the dnl files or have a broken "make" program, hence the plural.c rule will dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not dnl present or too old. AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes else dnl Found it, now check the version. AC_MSG_CHECKING([version of bison]) changequote(<<,>>)dnl ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi ]) AC_DEFUN([AM_MKINSTALLDIRS], [ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but $(top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) etherape-0.9.20/m4/lib-prefix.m40000644000175000017500000001175513201411420013140 00000000000000# lib-prefix.m4 serial 1 (gettext-0.11) dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) etherape-0.9.20/m4/Makefile.am0000644000175000017500000000033513201415302012664 00000000000000EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 etherape-0.9.20/m4/inttypes.m40000644000175000017500000000171713201411420012753 00000000000000# inttypes.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_INTTYPES_H if exists and doesn't clash with # . AC_DEFUN([gt_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, [ AC_TRY_COMPILE( [#include #include ], [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) ]) if test $gt_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, [Define if exists and doesn't clash with .]) fi ]) etherape-0.9.20/m4/ltoptions.m40000644000000000000000000003426212456256724013127 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file 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. # serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option '$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the 'shared' and # 'disable-shared' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the 'static' and # 'disable-static' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the 'fast-install' # and 'disable-fast-install' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_AIX_SONAME([DEFAULT]) # ---------------------------------- # implement the --with-aix-soname flag, and support the `aix-soname=aix' # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. m4_define([_LT_WITH_AIX_SONAME], [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[[5-9]]*,yes) AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_ARG_WITH([aix-soname], [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [case $withval in aix|svr4|both) ;; *) AC_MSG_ERROR([Unknown argument to --with-aix-soname]) ;; esac lt_cv_with_aix_soname=$with_aix_soname], [AC_CACHE_VAL([lt_cv_with_aix_soname], [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) with_aix_soname=$lt_cv_with_aix_soname]) AC_MSG_RESULT([$with_aix_soname]) if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac _LT_DECL([], [shared_archive_member_spec], [0], [Shared archive member basename, for filename based shared library versioning on AIX])dnl ])# _LT_WITH_AIX_SONAME LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac], [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) etherape-0.9.20/m4/lt~obsolete.m40000644000000000000000000001377412456256724013453 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software # Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file 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. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) etherape-0.9.20/m4/codeset.m40000644000175000017500000000157613201411420012525 00000000000000# codeset.m4 serial AM1 (gettext-0.10.40) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET);], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) etherape-0.9.20/m4/inttypes-pri.m40000644000175000017500000000222713201411420013540 00000000000000# inttypes-pri.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_REQUIRE([gt_HEADER_INTTYPES_H]) if test $gt_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) fi ]) etherape-0.9.20/m4/stdint_h.m40000644000175000017500000000204313201411420012701 00000000000000# stdint_h.m4 serial 2 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([jm_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_stdint_h=yes, jm_ac_cv_header_stdint_h=no)]) if test $jm_ac_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) etherape-0.9.20/m4/Makefile.in0000644000175000017500000003176014034533752012722 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } 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 = m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(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)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.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 = 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) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs 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@ 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@ ETHERAPE_CFLAGS = @ETHERAPE_CFLAGS@ ETHERAPE_LDFLAGS = @ETHERAPE_LDFLAGS@ ETHERAPE_LIBS = @ETHERAPE_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PCAP_LIBS = @PCAP_LIBS@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ 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_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@ ax_pthread_config = @ax_pthread_config@ 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@ runstatedir = @runstatedir@ 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@ EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 all: all-am .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) --foreign m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign m4/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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 tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 installdirs: 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 mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic 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-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 -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile # 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: etherape-0.9.20/m4/ltsugar.m40000644000000000000000000001044012456256724012545 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file 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. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) etherape-0.9.20/m4/progtest.m40000644000175000017500000000407413201411420012742 00000000000000# progtest.m4 serial 2 (gettext-0.10.40) dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) etherape-0.9.20/m4/ulonglong.m40000644000175000017500000000200013201411420013062 00000000000000# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], [unsigned long long ullmax = (unsigned long long) -1; return ull << i | ull >> i | ullmax / ull | ullmax % ull;], ac_cv_type_unsigned_long_long=yes, ac_cv_type_unsigned_long_long=no)]) if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the unsigned long long type.]) fi ]) etherape-0.9.20/m4/intdiv0.m40000644000175000017500000000356513201411420012454 00000000000000# intdiv0.m4 serial 1 (gettext-0.11.3) dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([gt_INTDIV0], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ AC_TRY_RUN([ #include #include static void #ifdef __cplusplus sigfpe_handler (int sig) #else sigfpe_handler (sig) int sig; #endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, [ # Guess based on the CPU. case "$host_cpu" in alpha* | i[34567]86 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac ]) ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, [Define if integer division by zero raises signal SIGFPE.]) ]) etherape-0.9.20/m4/libtool.m40000644000000000000000000112541713673741342012541 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file 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. m4_define([_LT_COPYING], [dnl # Copyright (C) 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. # 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 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 this program. If not, see . ]) # serial 58 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_PREPARE_CC_BASENAME # ----------------------- m4_defun([_LT_PREPARE_CC_BASENAME], [ # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } ])# _LT_PREPARE_CC_BASENAME # _LT_CC_BASENAME(CC) # ------------------- # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, # but that macro is also expanded into generated libtool script, which # arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], [m4_require([_LT_PREPARE_CC_BASENAME])dnl AC_REQUIRE([_LT_DECL_SED])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl func_cc_basename $1 cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the 'libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to 'config.status' so that its # declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags='_LT_TAGS'dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into 'config.status', and then the shell code to quote escape them in # for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # 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 sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ '$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test 0 != $[#] do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try '$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 _LT_COPYING _LT_LIBTOOL_TAGS # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test yes = "$lt_cv_ld_force_load"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script that will find a shell with a builtin # printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ]) if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) ]) ]) ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links=nottested if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test no = "$hard_links"; then AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_PREPARE_MUNGE_PATH_LIST # --------------------------- # Make sure func_munge_path_list() is defined correctly. m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], [[# func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } ]])# _LT_PREPARE_PATH_LIST # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown AC_ARG_VAR([LT_SYS_LIBRARY_PATH], [User-defined run-time library search path.]) case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], [Detected run-time system search path for libraries]) _LT_DECL([], [configure_time_lt_sys_library_path], [2], [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$1"; then lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], [if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi]) rm -f conftest.i conftest2.i conftest.out]) ])# _LT_PATH_DD # _LT_CMD_TRUNCATE # ---------------- # find command to truncate a binary pipe m4_defun([_LT_CMD_TRUNCATE], [m4_require([_LT_PATH_DD]) AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], [printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], [Command to truncate a binary pipe]) ])# _LT_CMD_TRUNCATE # _LT_CHECK_MAGIC_METHOD # ---------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_MAGIC_METHOD], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # _LT_DLL_DEF_P([FILE]) # --------------------- # True iff FILE is a Windows DLL '.def' file. # Keep in sync with func_dll_def_p in the libtool script AC_DEFUN([_LT_DLL_DEF_P], [dnl test DEF = "`$SED -n dnl -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl -e q dnl Only consider the first "real" line $1`" dnl ])# _LT_DLL_DEF_P # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* 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 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([nm_interface], [lt_cv_nm_interface], [1], [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $compiler_flags $deplibs -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared -Wl,--as-needed' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $compiler_flags $deplibs~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $compiler_flags $deplibs' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $compiler_flags $deplibs' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $compiler_flags $deplibs' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $compiler_flags $deplibs' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $compiler_flags $deplibs']) ;; esac fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS=$save_LDFLAGS]) if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs $wl-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; osf3*) if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $compiler_flags $deplibs $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $compiler_flags $deplibs -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $compiler_flags $deplibs $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $compiler_flags $deplibs -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $compiler_flags $deplibs~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $compiler_flags $deplibs~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $compiler_flags $deplibs' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC=$lt_save_CC ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $compiler_flags $deplibs $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $compiler_flags $deplibs $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $compiler_flags $deplibs $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $compiler_flags $deplibs $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $compiler_flags $deplibs $postdep_objects~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $compiler_flags $deplibs' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(GCC, $1)=$GXX _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf 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). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case @S|@2 in .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)=$prev$p else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$G77 _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS etherape-0.9.20/m4/isc-posix.m40000644000175000017500000000213313201411420013003 00000000000000# isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) # still uses it. Otherwise, the use in gettext.m4 makes autoheader # give these diagnostics: # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX undefine([AC_ISC_POSIX]) AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ] ) etherape-0.9.20/m4/ltversion.m40000644000000000000000000000127312470142720013077 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file 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. # @configure_input@ # serial 4179 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.6]) m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) etherape-0.9.20/m4/lib-link.m40000644000175000017500000005563313201411420012603 00000000000000# lib-link.m4 serial 3 (gettext-0.11.3) dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L, dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec. AC_DEFUN([AC_LIB_RPATH], [ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) etherape-0.9.20/m4/glibc21.m40000644000175000017500000000172713201411420012320 00000000000000# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([jm_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) etherape-0.9.20/m4/lcmessage.m40000644000175000017500000000261613201411420013036 00000000000000# lcmessage.m4 serial 3 (gettext-0.11.3) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([AM_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi ]) etherape-0.9.20/m4/uintmax_t.m40000644000175000017500000000211413201411420013074 00000000000000# uintmax_t.m4 serial 6 (gettext-0.11) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. AC_PREREQ(2.13) # Define uintmax_t to `unsigned long' or `unsigned long long' # if does not exist. AC_DEFUN([jm_AC_TYPE_UINTMAX_T], [ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) AC_REQUIRE([jm_AC_HEADER_STDINT_H]) if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, [Define to unsigned long or unsigned long long if and don't define.]) fi ]) etherape-0.9.20/m4/Makefile0000644000175000017500000003333614050232400012276 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # m4/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2020 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. am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } 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)/etherape pkgincludedir = $(includedir)/etherape pkglibdir = $(libdir)/etherape pkglibexecdir = $(libexecdir)/etherape 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 = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(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)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_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) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} '/opt/svil/etherape/hg-etherape/missing' aclocal-1.16 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AR = ar AUTOCONF = ${SHELL} '/opt/svil/etherape/hg-etherape/missing' autoconf AUTOHEADER = ${SHELL} '/opt/svil/etherape/hg-etherape/missing' autoheader AUTOMAKE = ${SHELL} '/opt/svil/etherape/hg-etherape/missing' automake-1.16 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -g -O2 -I/usr/include/pcap CPP = gcc -E CPPFLAGS = -I/usr/include/pcap CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps DLLTOOL = false DSYMUTIL = DUMPBIN = ECHO_C = ECHO_N = -n ECHO_T = EGREP = /usr/bin/grep -E ETHERAPE_CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/goocanvas-2.0 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/at-spi-2.0 -pthread -Wall ETHERAPE_LDFLAGS = ETHERAPE_LIBS = -lgoocanvas-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lcairo EXEEXT = FGREP = /usr/bin/grep -F GETTEXT_PACKAGE = etherape GMSGFMT = /usr/bin/msgfmt GREP = /usr/bin/grep HELP_DIR = ${datadir}/help INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INTLLIBS = ITSTOOL = itstool LD = /usr/bin/ld -m elf_x86_64 LDFLAGS = -Wl,--export-dynamic LIBICONV = -liconv LIBINTL = LIBOBJS = LIBS = -lpopt -lglib-2.0 -lm LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s LTLIBICONV = -liconv LTLIBINTL = LTLIBOBJS = LT_SYS_LIBRARY_PATH = MAKEINFO = ${SHELL} '/opt/svil/etherape/hg-etherape/missing' makeinfo MANIFEST_TOOL = : MKDIR_P = /usr/bin/mkdir -p MKINSTALLDIRS = .//mkinstalldirs MSGFMT = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge NM = /usr/bin/nm -B NMEDIT = OBJDUMP = objdump OBJEXT = o OTOOL = OTOOL64 = PACKAGE = etherape PACKAGE_BUGREPORT = PACKAGE_NAME = etherape PACKAGE_STRING = etherape 0.9.20 PACKAGE_TARNAME = etherape PACKAGE_URL = PACKAGE_VERSION = 0.9.20 PATH_SEPARATOR = : PCAP_LIBS = -lpcap PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = POSUB = po PTHREAD_CC = gcc PTHREAD_CFLAGS = -pthread PTHREAD_LIBS = RANLIB = ranlib SED = /usr/bin/sed SET_MAKE = SHELL = /bin/sh STRIP = strip USE_NLS = yes VERSION = 0.9.20 XGETTEXT = /usr/bin/xgettext XMLLINT = xmllint YELP_LC_DIST = true YELP_LC_MEDIA_LINKS = true abs_builddir = /opt/svil/etherape/hg-etherape/m4 abs_srcdir = /opt/svil/etherape/hg-etherape/m4 abs_top_builddir = /opt/svil/etherape/hg-etherape abs_top_srcdir = /opt/svil/etherape/hg-etherape ac_ct_AR = ar ac_ct_CC = gcc ac_ct_DUMPBIN = am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - ax_pthread_config = bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /opt/svil/etherape/hg-etherape/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = $(MKDIR_P) oldincludedir = /usr/include pdfdir = ${docdir} prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = /run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../ top_builddir = .. top_srcdir = .. EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 all: all-am .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) --foreign m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign m4/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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 tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 installdirs: 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 mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic 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-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 -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile # 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: etherape-0.9.20/m4/iconv.m40000644000175000017500000000665313201411420012216 00000000000000# iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) etherape-0.9.20/po/0000755000175000017500000000000014050240620011007 500000000000000etherape-0.9.20/po/es.po0000644000175000017500000014423114050232250011703 00000000000000# Translation of EtherApe messages # # Copyright (C) 2000 Juan Toledo # Copyright (C) 2011 Javier Fernandez-Sanguino # # Juan Toledo , 2000 # # Javier Fernandez-Sanguino , 2011 # # This translation is provided under the same terms of the Etherape program. # See the 'COPYING' file for more details msgid "" msgstr "" "Project-Id-Version: 0.9.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2011-06-01 02:13+0200\n" "Last-Translator: Javier Fernandez-Sanguino \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" # src/info_windows.c:221 src/info_windows.c:542 src/main.c:166 src/menus.c:34 # src/menus.c:372 #: src/appdata.c:83 #, fuzzy, c-format msgid "Could not load interface file '%s'!: %s" msgstr "No ha sido posible cargar el archivo glade! (%s)" # src/protocols.c:1070 #: src/datastructs.c:385 #, fuzzy, c-format msgid "%s protocol not supported" msgstr "Protocolos DDP no soportados en %s" #: src/diagram.c:254 #, fuzzy, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" "Nodos: %d (en canvas:%d, mostrados: %u), Enlaces: %d, Conversaciones: %ld, " "nombres %ld, protocolos %ld. Paquetes totales vistos: %lu (en memoria: %ld, " "en la lista %ld). Entradas de caché IP %ld. Objetos de canvas: %ld. " "Refresco: %u ms" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "Se recibió SIGUSR1: exportando a %s" #: src/diagram.c:976 msgid "Canvas node null" msgstr "Modo «null» de canvas" # src/diagram.c:579 #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "Creando nodo de diagrama: %s. Número de nodos: %d" # src/diagram.c:681 #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "Valor desconocido en node_size_variable" # src/diagram.c:681 #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "Valor desconocido en link_size_variable" # src/diagram.c:1227 #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "Protocolo principal del enlace: %s" # src/diagram.c:1230 #: src/diagram.c:1734 #, fuzzy msgid "Link main protocol: unknown" msgstr "Protocolo principal del enlace desconocido" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" # src/info_windows.c:221 src/info_windows.c:542 src/main.c:166 src/menus.c:34 # src/menus.c:372 #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "No ha sido posible cargar el interfaz (%s)" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "" # src/info_windows.c:352 #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "No prot_name en on_prot_info_delete_event" # src/info_windows.c:359 #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "No prot_info_window en on_prot_info_delete_event" # src/glade-strings:47 #: src/info_windows.c:438 src/pref_dialog.c:486 #, fuzzy msgid "Protocol" msgstr "Protocolos" #: src/info_windows.c:439 msgid "Port" msgstr "" # src/glade-strings:139 src/glade-strings:144 #: src/info_windows.c:440 src/node_windows.c:224 #, fuzzy msgid "Inst Traffic" msgstr "Tráfico _instant." # src/glade-strings:140 src/glade-strings:145 #: src/info_windows.c:441 src/node_windows.c:225 #, fuzzy msgid "Accum Traffic" msgstr "Tráfico _acumul." #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" # src/glade-strings:141 src/glade-strings:146 #: src/info_windows.c:443 src/node_windows.c:227 #, fuzzy msgid "Last Heard" msgstr "Ú_ltima vez" # src/glade-strings:142 src/glade-strings:147 #: src/info_windows.c:444 src/node_windows.c:228 #, fuzzy msgid "Packets" msgstr "Pa_quetes" # src/glade-strings:108 #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 msgid "Node timed out" msgstr "Expiró el nodo" #: src/info_windows.c:989 msgid "B->A" msgstr "B->A" #: src/info_windows.c:990 msgid "A->B" msgstr "A->B" # src/glade-strings:108 #: src/info_windows.c:996 msgid "Link timed out" msgstr "Expiró el enlace" # src/main.c:49 #: src/main.c:96 msgid "don't display any node text identification" msgstr "no mostrar ninguna identificación de texto del nodo" #: src/main.c:98 msgid "replay packets from file" msgstr "reproducir paquetes de un fichero" #: src/main.c:98 msgid "" msgstr "" # src/main.c:43 #: src/main.c:100 msgid "set capture filter" msgstr "definir el filtro de captura" # src/main.c:43 #: src/main.c:100 msgid "" msgstr "" # src/main.c:41 #: src/main.c:102 msgid "set interface to listen to" msgstr "definir el interfaz a escuchar" # src/main.c:41 #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "exportar a un fichero con nombre al final de la reproducción" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "exportar al fichero indicado al recibir USR1" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "" #: src/main.c:108 msgid "" msgstr "" # src/main.c:53 #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "no recolocar los nodos (obsoleto)" # src/main.c:55 #: src/main.c:112 msgid "limits nodes displayed" msgstr "limita el número de nodos mostrados" # src/main.c:55 #: src/main.c:112 msgid "" msgstr "" # src/main.c:39 #: src/main.c:114 msgid "mode of operation" msgstr "modo de operación" #: src/main.c:114 msgid "" msgstr "" # src/main.c:47 #: src/main.c:116 msgid "don't convert addresses to names" msgstr "no convertir las direcciones en nombres" #: src/main.c:118 msgid "Disable informational messages" msgstr "Deshabilitar mensajes informativos" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "mínima demora de paquetes en ms al leer archivos de captura (sólo cli)" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "máxima de paquetes en ms al leer archivos de captura (sólo cli)" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "utiliza el archivo libglade indicado para los widgets" # src/main.c:43 #: src/main.c:126 msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "" # src/main.c:45 #: src/main.c:130 #, fuzzy msgid "" msgstr "" # src/main.c:157 #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "" "Modo desconocido. Ejecute etherape --help para mostrar una lista de modos" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "resultado de «get_interface»: '%s'" # src/menus.c:67 #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "No se han encontrado interfaces adecuados para capturar" # src/menus.c:73 #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "Dispositivos de captura disponibles:" # src/glade-strings:111 #: src/menus.c:101 #, fuzzy msgid "Open Capture File" msgstr "EtherApe: Abrir archivo de captura" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" #: src/menus.c:105 msgid "_Open" msgstr "" #: src/menus.c:130 msgid "Export to XML File" msgstr "" # src/glade-strings:58 #: src/menus.c:134 #, fuzzy msgid "_Save" msgstr "Guardar" # src/menus.c:205 #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "Interfaz de captura fijado a %s en el GUI" # src/capture.c:711 #: src/menus.c:206 #, fuzzy msgid "Unsupported mode in on_mode_radio_activate" msgstr "Modo no soportado en get_link_id" # src/menus.c:277 #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "Modo fijado en %s en el GUI" #: src/menus.c:349 msgid "-unknown-" msgstr "-desconocido-" # src/menus.c:594 #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "El estado ya es PLAY en gui_start_capture" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "Módo inválido: %d" # src/menus.c:544 # Sets the appbar #: src/menus.c:453 msgid "Reading data from " msgstr "Leyendo datos de " # src/menus.c:551 src/menus.c:695 #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "interfaz por defecto" # src/menus.c:571 #: src/menus.c:465 msgid " in Data Link mode" msgstr " en modo capa de enlace" # src/menus.c:565 #: src/menus.c:468 msgid " in IP mode" msgstr " en modo IP" # src/menus.c:568 #: src/menus.c:471 msgid " in TCP mode" msgstr " en modo TCP" # src/menus.c:581 #: src/menus.c:483 msgid "Diagram started" msgstr "Diagrama iniciado" # src/menus.c:623 # Sets the appbar #: src/menus.c:505 msgid "Paused" msgstr "Pausado" # src/menus.c:628 #: src/menus.c:507 msgid "Diagram paused" msgstr "Diagrama pausado" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "Se ha completado la reproducción del archivo '%s'." #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "" # src/menus.c:688 # Sets the appbar #: src/menus.c:567 msgid "Ready to capture from " msgstr "Listo para capturar de " # src/menus.c:700 #: src/menus.c:579 msgid "Diagram stopped" msgstr "Diagrama parado" # src/glade-strings:118 #: src/node_windows.c:222 #, fuzzy msgid "Name" msgstr "Nombre:" #: src/node_windows.c:223 msgid "Address" msgstr "" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "" # src/glade-strings:101 #: src/pref_dialog.c:482 #, fuzzy msgid "Color" msgstr "Colores" # src/main.c:386 #: src/preferences.c:373 #, c-format msgid "Preferences saved to %s" msgstr "Preferencias guardadas en %s" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "Error al guardar las preferencias a '%s': %s" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "" #: src/capture/capctl.c:460 #, fuzzy, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" "El dispositivo %s utiliza el tipo de enlace no soportado %d, no se puede " "reproducir. Escoja otra interfaz." #: src/capture/capctl.c:470 #, fuzzy msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" "Este dispositivo no soporta el modo de capa de enlace. Utilice el modo IP o " "TCP." #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" "no existen suficientes datos en la captura, interrumpiendo la decodificación " "del protocolo debido a '%s' (nivel %d)" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" "no existe suficientes datos en la captura, interrumpiendo la decodificación " "de protocolo en el nivel %d" # src/capture.c:711 #: src/names/names.c:221 msgid "Unsupported ape mode in fill_node_id" msgstr "Modo «ape» no soportado en fill_node_id" # src/capture.c:146 # The case for PPP or SLIP, for instance #: src/stats/decode_proto.c:192 #, c-format msgid "Link type is %s" msgstr "El tipo de enlace es %s" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "Entrada de enlace de datos no inicializada" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "" "Radiotap: El tamaño de la captura es demasiado pequeño, paquete descartado" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "PPI: El tamaño de la captura es demasiado pequeño, paquete descartado" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "PPI:tipo de enlace %u no soportado, paquete descartado" #: src/stats/decode_proto.c:690 #, fuzzy msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "wlan: El tamaño de la captura es demasiado pequeño, paquete descartado" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "Valor inválido en el campo «tofromds» del paquet WLAN: 0x%x" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, fuzzy, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "wlan: El tamaño de la captura es demasiado pequeño, paquete descartado" #: src/stats/decode_proto.c:756 #, fuzzy, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "wlan: El tamaño de la captura es demasiado pequeño, paquete descartado" #: src/stats/decode_proto.c:805 #, fuzzy, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "wlan: tipo de trama desconocida 0x%x, se interrumpió la decodificación" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "wlan: tipo de trama desconocida 0x%x, se interrumpió la decodificación" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "Añadiendo el enlace a la cola de eliminaciones" # src/capture.c:882 #: src/stats/links.c:284 #, c-format msgid "New link: %s. Number of links %d" msgstr "Nuevo enlace: %s. Número de enlaces: %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "Enlaces actualizados. Hay %d enlaces activos" # src/capture.c:844 #: src/stats/node.c:108 #, c-format msgid "New node: %s. Number of nodes %d" msgstr "Nuevo nodo: %s. Número de nodos: %d" # src/capture.c:844 #: src/stats/node.c:132 #, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Borrando nodo: %s. Número de nodos: %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "Añadiendo el nodo '%s' a la cola de eliminaciones" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "Nodos actualizados. Hay %d nodos activos" # src/capture.c:711 #: src/stats/node_id.c:69 #, fuzzy msgid "Unsupported ape mode in node_id_compare" msgstr "Modo no soportado en get_link_id" # src/info_windows.c:754 # Meaning "n seconds" ago #: src/stats/util.c:313 #, fuzzy, c-format msgid "%ld\" ago" msgstr "hace %d\"" # src/info_windows.c:760 #: src/stats/util.c:318 #, fuzzy, c-format msgid "%ld'%ld\" ago" msgstr "hace %d'%d\"" #: glade/etherape.ui:12 msgid "A Graphical Network Browser." msgstr "Un monitor gráfico de red." #: glade/etherape.ui:40 #, fuzzy msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" "Vincent van Adrighem \n" "Gôrkem Cetin \n" "Frederic Peters \n" "Daniel Nylander\n" # src/glade-strings:116 #: glade/etherape.ui:176 msgid "_File" msgstr "_Archivo" # src/glade-strings:46 #: glade/etherape.ui:195 msgid "_export" msgstr "_exportar" # src/glade-strings:8 #: glade/etherape.ui:234 msgid "_Capture" msgstr "_Captura" # src/glade-strings:9 #: glade/etherape.ui:243 msgid "_Mode" msgstr "_Modo" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "Capa de en_lace" # src/glade-strings:17 #: glade/etherape.ui:274 msgid "_IP" msgstr "_IP" # src/glade-strings:19 #: glade/etherape.ui:288 msgid "_TCP" msgstr "_TCP" # src/glade-strings:22 #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "_Interfaces" # src/glade-strings:26 #: glade/etherape.ui:343 msgid "_Pause" msgstr "P_ausa" # src/glade-strings:28 #: glade/etherape.ui:356 msgid "St_op" msgstr "_Parar" # src/glade-strings:116 #: glade/etherape.ui:375 msgid "_View" msgstr "_Ver" # src/glade-strings:30 #: glade/etherape.ui:385 msgid "_Protocols" msgstr "_Protocolos" # src/glade-strings:155 #: glade/etherape.ui:394 msgid "_Nodes" msgstr "_Nodos" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" # src/glade-strings:32 #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "Barra de _herramientas" # src/glade-strings:34 #: glade/etherape.ui:431 msgid "_Legend" msgstr "_Leyenda" # src/glade-strings:36 #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "Barra de _estado" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "_Ayuda" # src/glade-strings:23 src/glade-strings:37 #: glade/etherape.ui:522 msgid "Start capture" msgstr "Comenzar captura" # src/glade-strings:38 #: glade/etherape.ui:523 msgid "Start" msgstr "Comenzar" #: glade/etherape.ui:537 msgid "Next" msgstr "Siguiente" # src/glade-strings:25 src/glade-strings:39 #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Pausar captura" # src/glade-strings:40 #: glade/etherape.ui:553 msgid "Pause" msgstr "Pausa" # src/glade-strings:27 src/glade-strings:41 #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Parar captura" # src/glade-strings:42 #: glade/etherape.ui:569 msgid "Stop" msgstr "Parar" # src/glade-strings:43 #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Preferencias (Ctrl-P)" # src/glade-strings:44 #: glade/etherape.ui:595 msgid "Pref." msgstr "Pref." # src/glade-strings:45 #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Mostrar la ventana de protocolos" # src/glade-strings:46 #: glade/etherape.ui:612 msgid "Prot." msgstr "Prot." # src/glade-strings:155 #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "Nodos" # src/glade-strings:47 #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protocolos" # src/glade-strings:156 #: glade/etherape.ui:741 msgid "Select color" msgstr "Seleccione un color" # src/glade-strings:63 #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "Protocolo más alto reconocido" # src/glade-strings:64 #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "Nivel 2 (ej. ETH_II)" # src/glade-strings:65 #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "Nivel 3 (ej. IP)" # src/glade-strings:66 #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "Nivel 4 (ej. TCP)" # src/glade-strings:67 #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "Nivel 5 (ej. HTTP)" # src/glade-strings:70 #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "Tráfico inst. (Entrada/Salida)" # src/glade-strings:71 #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "Tráfico inst. (Entrada)" # src/glade-strings:72 #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "Tráfico inst. (Salida)" # src/glade-strings:70 #: glade/etherape.ui:858 #, fuzzy msgid "Instant. packets (In+Out)" msgstr "Tráfico inst. (Entrada/Salida)" # src/glade-strings:73 #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "Tráfico acumulado (Entrada/Salida)" # src/glade-strings:74 #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "Tráfico acumulado (Entrada)" # src/glade-strings:75 #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "Tráfico acumulado (Salida)" # src/glade-strings:73 #: glade/etherape.ui:870 #, fuzzy msgid "Accum. packets (In+Out)" msgstr "Tráfico acumulado (Entrada/Salida)" # src/glade-strings:54 #: glade/etherape.ui:873 #, fuzzy msgid "Average pkt size (In+Out)" msgstr "Tamaño medio" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" # src/glade-strings:84 #: glade/etherape.ui:907 msgid "Linear" msgstr "Lineal" # src/glade-strings:85 #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Logarítmico" # src/glade-strings:86 #: glade/etherape.ui:913 msgid "Square Root" msgstr "Raiz Cuadrada" # src/glade-strings:57 #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Preferencias" # src/glade-strings:58 #: glade/etherape.ui:935 msgid "Save" msgstr "Guardar" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "Guardar cambios en el archivo de preferencias" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "Confirmar los cambios" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "Cancelar los cambios" # src/glade-strings:61 #: glade/etherape.ui:1017 msgid "Protocol Stack _Level" msgstr "Nive_l de pila de protocolos" # src/glade-strings:62 #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Fijar el nivel de la pila de protocolos que se muestra en el diagrama" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" "La estadística utilizada para calcular el tamaño de los nodos y enlaces" # src/glade-strings:68 #: glade/etherape.ui:1063 msgid "Size _Variable" msgstr "Tamaño _variable" # src/glade-strings:69 #: glade/etherape.ui:1077 #, fuzzy msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" "Fija el tipo de tráfico instantáneo o acumulado que indica el radio del nodo" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "Multiplicador de _radio de nodo" # src/glade-strings:82 #: glade/etherape.ui:1235 msgid "Size _Mode" msgstr "Ajuste de _modo" # src/glade-strings:83 #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" "Determinar cómo se calculan el radio de los nodos y el ancho de los enlaces " "a partir del tráfico medio" # src/glade-strings:88 #: glade/etherape.ui:1276 msgid "_Hide node names" msgstr "_Ocultar nombres de nodos" # src/glade-strings:87 #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "Cambia si se han de mostrar o no los nombres de los nodos" # src/glade-strings:89 #: glade/etherape.ui:1293 msgid "_Group unknown ports" msgstr "A_grupar puertos desconocidos" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "Resolución D_NS" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" "Activar la resolución de nombres. Si no está marcada se mostrarán todas las " "direcciones con sus valores numéricos." # src/glade-strings:102 #: glade/etherape.ui:1354 msgid "_Capture filter" msgstr "Filtro de _captura" # src/main.c:43 #: glade/etherape.ui:1367 msgid "Sets the capture filter" msgstr "Configura el filtro de captura" # src/glade-strings:108 #: glade/etherape.ui:1398 msgid "Node Label _Font" msgstr "_Fuente de etiquetas de nodos" # src/glade-strings:108 #: glade/etherape.ui:1413 msgid "Node Label Font" msgstr "Fuente de etiquetas de nodos" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "C_olor de etiqueta de nodo" # src/glade-strings:60 #: glade/etherape.ui:1454 msgid "Choose the color used to display node labels" msgstr "Elija el color utilizado para mostrar las etiquetas de los nodos" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "Escoja un color" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "" # src/glade-strings:90 #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Diagrama" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" # src/glade-strings:93 #: glade/etherape.ui:1650 #, fuzzy msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" "Añadir un nuevo color a la lista de colores que se pueden usar para " "representar protocolos" # src/glade-strings:95 #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Quitar color" # src/glade-strings:63 #: glade/etherape.ui:1666 #, fuzzy msgid "remove the selected row" msgstr "Cambia el color seleccionado en la columna" # src/glade-strings:96 #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Editar protocolo" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" # src/glade-strings:101 #: glade/etherape.ui:1720 msgid "Colors" msgstr "Colores" # src/glade-strings:76 #: glade/etherape.ui:1755 msgid "Diagram Refresh _Period (ms)" msgstr "_Periodo de refresco de diagrama (ms)" # src/glade-strings:77 #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Refrescar el diagrama cada estos milisegundos" # src/glade-strings:104 #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Tiempo de medida (ms)" # src/glade-strings:103 #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "Hacer media de la información durante este tiempo" # src/glade-strings:79 #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" "Borrar este nodo del diagrama después de pasado este tiempo. 0 significa no " "expirar nunca" #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" # src/glade-strings:79 #: glade/etherape.ui:1921 msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" "Borrar este enlace del diagrama pasado este tiempo. 0 significa no expirar " "nunca." # src/glade-strings:106 #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Expiración de enlaces (s)" # src/glade-strings:105 #: glade/etherape.ui:2000 msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "" "Expirar las estadísticas de protocolo para un nodo pasado este tiempo. 0 " "significa no expirar nunca." # src/glade-strings:79 #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" "Borrar este enlace del diagrama pasado este tiempo. 0 significa no expirar " "nunca." #: glade/etherape.ui:2044 msgid "10" msgstr "" # src/glade-strings:106 #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Expiración de enlaces (s)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Estadísticas de tráfico" # src/glade-strings:107 #: glade/etherape.ui:2125 msgid "Remove this protocol from memory after this much time. " msgstr "Borrar este protocolo de la memoria pasado este tiempo." # src/glade-strings:108 #: glade/etherape.ui:2156 msgid "Global Protocol Timeouts (s)" msgstr "Expiración global de protocolos (s)" #: glade/etherape.ui:2199 msgid "Timings" msgstr "Temporizadores" #: glade/etherape.ui:2229 msgid "WWW" msgstr "WWW" # src/glade-strings:160 #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "EtherApe: asignar protocolos" # src/glade-strings:161 #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Escriba el nombre del protocolo..." # src/glade-strings:161 #: glade/etherape.ui:2327 msgid "Type the protocol name" msgstr "Escriba el nombre del protocolo" # src/glade-strings:91 #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "_Color" # src/glade-strings:120 #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "Nombre numérico" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "Nombre resuelto:" # src/glade-strings:9 #: glade/etherape.ui:2517 msgid "node A" msgstr "nodo A" # src/glade-strings:9 #: glade/etherape.ui:2528 msgid "node B" msgstr "nodo B" #: glade/etherape.ui:2587 msgid "Total" msgstr "Total" # src/glade-strings:132 #: glade/etherape.ui:2599 msgid "Inbound" msgstr "Entrante" # src/glade-strings:130 #: glade/etherape.ui:2612 msgid "Outbound" msgstr "Saliente" # src/glade-strings:124 src/glade-strings:151 #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "Instantáneo" # src/glade-strings:126 src/glade-strings:153 #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "Acumulado" # src/glade-strings:54 #: glade/etherape.ui:2693 msgid "Average size" msgstr "Tamaño medio" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "_Mostrar todos los nodos" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" "Controla cuándo se representan los nodos que han expirado del diagrama pero " "están aún en memoria" # src/glade-strings:52 src/glade-strings:148 #: glade/etherape.ui:2861 msgid "name" msgstr "nombre" # src/glade-strings:149 #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Última vez:" # src/glade-strings:150 #: glade/etherape.ui:2899 msgid "label73" msgstr "label73" # src/glade-strings:125 src/glade-strings:127 src/glade-strings:129 # src/glade-strings:131 src/glade-strings:133 src/glade-strings:135 # src/glade-strings:152 src/glade-strings:154 #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "etiqueta de prueba" # src/glade-strings:136 #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Protocolos" # src/glade-strings:94 #~ msgid "Add color" #~ msgstr "Añadir color" # src/glade-strings:98 #~ msgid "Change color" #~ msgstr "Cambiar color" #~ msgid "Link _Width - Node Radius Ratio" #~ msgstr "_Tamaño de enlace - Ratio del radio de nodo" #~ msgid "Ratio between link width and node radius" #~ msgstr "El ratio entre el ancho del enlace y el radio del nodo" # src/glade-strings:107 #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Borrar este nodo de la memoria después de pasado este tiempo. 0 significa " #~ "no expirar nunca" # src/glade-strings:61 #~ msgid "Protocol Statistics" #~ msgstr "Estadísticas de protocolo" # src/glade-strings:108 #~ msgid "Node Timeouts (s)" #~ msgstr "Expiración de nodos (s)" # src/glade-strings:107 #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Borrar este enlace de la memoria después de este tiempo. 0 significa no " #~ "expirar nunca." # src/glade-strings:7 # append_etype_prot # # * Archivo de cadenas traducibles generado por Glade. # * Añada este archivo a su POTFILES.in de su proyecto. # * NO lo compile como parte de su aplicación. # #~ msgid "EtherApe" #~ msgstr "EtherApe" # src/info_windows.c:772 # Watch out! The first is month, the second day of the month #~ msgid "%d/%d %d:%d" #~ msgstr "%d/%d %d:%d" # src/glade-strings:48 #, fuzzy #~ msgid "Copyright 2001-2018 Juan Toledo, Riccardo Ghetta" #~ msgstr "Copyright 2001-2011 Juan Toledo, Riccardo Ghetta" # src/diagram.c:437 #~ msgid "Unable to allocate color for new protocol %s" #~ msgstr "No ha sido posible reservar un color para el nuevo protocolo %s" #~ msgid "" #~ "Topmost recognized protocol\n" #~ "Level 2 (Eg: ETH_II)\n" #~ "Level 3 (Eg: IP)\n" #~ "Level 4 (Eg: TCP)\n" #~ "Level 5 (Eg: HTTP)" #~ msgstr "" #~ "Protocolo más alto reconocido\n" #~ "Level 2 (Ej: ETH_II)\n" #~ "Level 3 (Ej: IP)\n" #~ "Level 4 (Ej: TCP)\n" #~ "Level 5 (Ej: HTTP)" #~ msgid "" #~ "Instant. traffic (In+Out)\n" #~ "Instant. traffic (Inbound)\n" #~ "Instant. traffic (Outbound)\n" #~ "Instant. packets (In+Out)\n" #~ "Accum. traffic (In+Out)\n" #~ "Accum. traffic (Inbound)\n" #~ "Accum. traffic (Outbound)\n" #~ "Accum. packets (In+Out)\n" #~ "Average pkt size (In+Out)\n" #~ msgstr "" #~ "Tráfico instantáneo (Ent.+Sal.)\n" #~ "Tráfico instantáneo (Entrante)\n" #~ "Tráfico instantáneo (Saliente)\n" #~ "Paquetes instantáneos (Ent.+Sal.)\n" #~ "Tráfico acumulado (Ent.+Sal.)\n" #~ "Tráfico acumulado (Entrante)\n" #~ "Tráfico acumulado (Saliente)\n" #~ "Paquetes acumulados (Ent.+Sal.)\n" #~ "Tamaño medio de paq. (Ent.+Sal.)\n" #~ msgid "" #~ "Linear\n" #~ "Logarithmic\n" #~ "Square Root" #~ msgstr "" #~ "Linear\n" #~ "Logarítmico\n" #~ "Raíz cuadrada" #~ msgid "Export node data as xml" #~ msgstr "Exportar datos de los nodos en XML" #~ msgid "Set Link Layer (OSI level 2) mode" #~ msgstr "Fijar el modo de capa de enlace (capa OSI 2)" # src/glade-strings:16 #~ msgid "Set IP mode" #~ msgstr "Activar modo IP" # src/glade-strings:18 #~ msgid "Set TCP mode" #~ msgstr "Activar modo TCP" #~ msgid "advances to next packet" #~ msgstr "avanza al siguiente paquete" # src/glade-strings:29 #~ msgid "Show or hide the protocols window" #~ msgstr "Muestra u oculta la ventana de protocolos" # src/glade-strings:29 #, fuzzy #~ msgid "Show or hide the nodes window" #~ msgstr "Muestra u oculta la ventana de nodos " # src/glade-strings:31 #~ msgid "Show or hide the toolbar" #~ msgstr "Muestra u oculta la barra de herramientas" # src/glade-strings:33 #~ msgid "Show or hide the legend" #~ msgstr "Muestra u oculta la leyenda" # src/glade-strings:35 #~ msgid "Show or hide the status bar" #~ msgstr "Muestra u oculta la barra de estado" #~ msgid "" #~ "No capture device found or insufficient privileges.\n" #~ "Only file replay will be available.\n" #~ "EtherApe must be run with administrative privileges (e.g. root) to enable " #~ "live capture.\n" #~ "Pcap error: %s" #~ msgstr "" #~ "No se ha encontrado un dispositivo de captura o no tiene privilegios " #~ "suficientes.\n" #~ "Sólo podrá utilizar la reproducción de ficheros.\n" #~ "Debe ejecutar EtherApe con permisos de administración (p.ej. root) para " #~ "poder hacer capturas.\n" #~ "Error pcap: %s" # src/capture.c:103 #~ msgid "" #~ "Error opening %s : %s\n" #~ "- perhaps you need to be root?" #~ msgstr "" #~ "Error al abrir %s : %s\n" #~ "¿Quizás tiene que ser root?)" # src/capture.c:108 #~ msgid "Live device %s opened for capture. pcap_fd: %d" #~ msgstr "Dispositivo de captura \"en vivo\" %s abierto. pcap_fd: %d" # src/capture.c:116 #~ msgid "Can't open both %s and device %s. Please choose one." #~ msgstr "" #~ "No se pueden abrir a la vez %s y el dispositivo %s. Por favor, escoja uno." # src/capture.c:122 #~ msgid "Error opening %s : %s" #~ msgstr "Error buscando dispositivo %s : %s" # src/capture.c:126 #~ msgid "%s opened for offline capture" #~ msgstr "%s abierto para captura offline" #, fuzzy #~ msgid "" #~ "File %s contains packets with unsupported link type %u, cannot replay" #~ msgstr "" #~ "El archivo %s contiene paquetes en un tipo de enlace no soportado %d, no " #~ "se puede reproducir" #, fuzzy #~ msgid "Unsupported link type %u" #~ msgstr "Tipo de enlace %d no soportado " #~ msgid "" #~ "Couldn't obtain netmask info (%s). Filters involving broadcast addresses " #~ "could behave incorrectly." #~ msgstr "" #~ "No se pudo obtener información de la máscara de red (%s). Los filtros " #~ "asociados a direcciones de difusión pueden comportarse de forma errónea." # src/capture.c:288 src/capture.c:314 #~ msgid "Unable to parse filter string (%s). Filter ignored." #~ msgstr "Imposible analizar el filtro (%s). Filtro ignorado." # src/capture.c:293 src/capture.c:319 #~ msgid "Can't install filter (%s). Filter ignored." #~ msgstr "Imposible instalar el filtro (%s). Filtro ignorado." # src/capture.c:340 #~ msgid "Starting live capture" #~ msgstr "Comenzando captura en vivo" # src/capture.c:373 #~ msgid "Using timers for live capture" #~ msgstr "Usanto temporizadores para la captura en vivo" # src/capture.c:347 #~ msgid "Starting offline capture" #~ msgstr "Comenzando captura offline" # src/capture.c:380 #~ msgid "Pausing offline capture" #~ msgstr "Pausando captura fuera de línea" # src/capture.c:385 #~ msgid "Error while trying to pause capture" #~ msgstr "Error al intentar pausar la captura" # src/capture.c:410 #~ msgid "Stopping live capture" #~ msgstr "Parando captura en vivo" # src/capture.c:416 #~ msgid "Stopping offline capture" #~ msgstr "Parando captura offline" # src/capture.c:458 #~ msgid "Capture device stopped or file closed" #~ msgstr "Dispositivo de captura parado of archivo cerrado" # src/glade-strings:56 #~ msgid "Information" #~ msgstr "Información" # src/protocols.c:995 #~ msgid "Failed to open %s. No TCP or UDP services will be recognized" #~ msgstr "" #~ "No se ha podido abrir %s. Los servicios TCP o UDP no podrán ser " #~ "reconocidos" # src/protocols.c:1001 #~ msgid "Reading TCP and UDP services from %s" #~ msgstr "Leyendo servicios TCP y UDP de %s" # src/protocols.c:1046 #~ msgid "Unable to parse line %s" #~ msgstr "Imposible analizar la línea %s" # src/protocols.c:1070 #~ msgid "SCTP protocols not supported in %s" #~ msgstr "Protocolos SCTP no soportados en %s" # src/capture.c:181 #~ msgid "Link type %d not supported" #~ msgstr "Tipo de enlace %d no soportado" # src/capture.c:234 #~ msgid "Mode not available in this device" #~ msgstr "Modo no disponible para este interfaz" # src/main.c:291 #~ msgid "" #~ "Stack Level is not set to Topmost Recognized Protocol. Please check in " #~ "the preferences dialog that this is what you really want" #~ msgstr "" #~ "El Nivel de Pila de Protocols no está fijado en El más alto reconocido. " #~ "Por favor, compruebe en el diálogo de preferencias que eso es lo que " #~ "realmente quiere" # src/glade-strings:100 #~ msgid "Cycle assigned colors" #~ msgstr "Reutilizar colores asignados" # src/glade-strings:99 #~ msgid "Whether or not to use assigned colors for unassigned protocols" #~ msgstr "" #~ "Si se debe o no usar colores ya asignados a protocolos para protocolos no " #~ "asignados" # src/glade-strings:139 src/glade-strings:144 #~ msgid "Traffic" #~ msgstr "Tráfico" # src/glade-strings:137 #~ msgid "Columns" #~ msgstr "Columnas" # src/glade-strings:30 #~ msgid "_Protocol" #~ msgstr "_Protocolo" # src/glade-strings:52 src/glade-strings:148 #~ msgid "dst name" #~ msgstr "nombre dst" # src/glade-strings:88 #, fuzzy #~ msgid "src node name" #~ msgstr "Ocultar los nombres de los nodos" # src/main.c:39 #~ msgid "" #~ msgstr "" # src/capture.c:84 #~ msgid "Error getting device: %s" #~ msgstr "Error buscando dispositivo: %s" # src/capture.c:659 #~ msgid "Reached default in get_node_id" #~ msgstr "Se ha alcanzado el por defecto en get_node_id" # src/capture.c:138 #~ msgid "Link type is Ethernet" #~ msgstr "Tipo de enlace es Ethernet" # src/capture.c:155 # We are assuming LLC async frames only #~ msgid "Link type is FDDI" #~ msgstr "Tipo de enlace es FDDI" # src/capture.c:164 # As far as I know IEEE802 is Token Ring #~ msgid "Link type is Token Ring" #~ msgstr "Tipo de enlace es Token Ring" # src/capture.c:172 # Loopback #~ msgid "Link type is NULL" #~ msgstr "Tipo de enlace es NULL" # src/capture.c:164 # Linux cooked sockets (I believe this # * is used for ISDN on linux) #~ msgid "Link type is Linux cooked sockets" #~ msgstr "Tipo de enlace es \"Linux cooked sockets\"" # src/capture.c:256 #~ msgid "Ape mode not yet supported" #~ msgstr "Modo aún no soportado" # src/menus.c:556 #~ msgid " in Token Ring mode" #~ msgstr " en modo Token Ring" # src/menus.c:559 #~ msgid " in FDDI mode" #~ msgstr " en modo FDDI" # src/menus.c:562 #~ msgid " in Ethernet mode" #~ msgstr " en modo Ethernet" # src/glade-strings:10 #~ msgid "Set Token Ring mode" #~ msgstr "Activar modo Token Ring" # src/glade-strings:11 #~ msgid "Token _Ring" #~ msgstr "Token _Ring" # src/glade-strings:12 #~ msgid "Set FDDI mode" #~ msgstr "Activar modo FDDI" # src/glade-strings:13 #~ msgid "_FDDI" #~ msgstr "_FDDI" # src/glade-strings:14 #~ msgid "Set Ethernet mode" #~ msgstr "Activar modo Ethernet" # src/glade-strings:15 #~ msgid "_Ethernet" #~ msgstr "_Ethernet" # src/main.c:45 #~ msgid "set input file" #~ msgstr "definir el fichero de entrada" # src/main.c:51 #~ msgid "do not fade old links" #~ msgstr "no desvanecer enlaces en desuso" # src/main.c:57 #~ msgid "Don't show warnings" #~ msgstr "no mostrar mensajes de aviso" # src/main.c:59 #~ msgid "set the node color" #~ msgstr "fijar el color de los nodos" # src/main.c:59 src/main.c:61 src/main.c:63 #~ msgid "" #~ msgstr "" # src/main.c:63 #~ msgid "set the text color" #~ msgstr "fijar el color del texto" # src/capture.c:422 #~ msgid "Error while removing capture source in stop_capture" #~ msgstr "Error al intentar quitar capture source en stop_capture" # src/capture.c:711 #, fuzzy #~ msgid "Unsupported ape mode in print_mem" #~ msgstr "Modo no soportado en get_link_id" # src/menus.c:450 #~ msgid "Status not STOP or PAUSE at gui_start_capture" #~ msgstr "Status no es PLAY ni PAUSE en gui_start_capture" # src/diagram.c:318 #~ msgid "Number of nodes: " #~ msgstr "Número de nodos: " # src/diagram.c:322 #~ msgid ". Refresh Period: %d" #~ msgstr ". Periodo de refresco: %d" # src/diagram.c:328 #~ msgid ". IDLE." #~ msgstr ". OCIOSO." # src/diagram.c:330 #~ msgid ". TIMEOUT." #~ msgstr ". EXPIRACIÓN." # src/diagram.c:1015 #, fuzzy #~ msgid "Creating canvas_link: %s. Number of links %d" #~ msgstr "Creando enlace de diagrama: %s-%s. Número de enlaces: %d" # src/glade-strings:20 #~ msgid "Set UDP mode" #~ msgstr "Activar modo UDP" # src/glade-strings:21 #~ msgid "_UDP" #~ msgstr "_UDP" # src/glade-strings:59 #~ msgid "_Font" #~ msgstr "_Fuente" # src/glade-strings:123 #~ msgid "Show protocols" #~ msgstr "Mostrar protocolos" # src/glade-strings:97 #~ msgid "Fade link colors to black when there is no traffic" #~ msgstr "Hacer fundido a negro con los enlaces cuando no hay tráfico" # src/glade-strings:92 src/glade-strings:138 src/glade-strings:143 #~ msgid "Protocol Info" #~ msgstr "Info Protocolo" # src/glade-strings:110 #~ msgid "Select Font" #~ msgstr "Seleccione tipo de fuente" # src/glade-strings:119 src/glade-strings:121 #~ msgid "This is a test node name" #~ msgstr "Este es un nombre de nodo de prueba" # src/glade-strings:122 #~ msgid "Show traffic" #~ msgstr "Mostrar tráfico" # src/glade-strings:128 #~ msgid "Inst. Inbound" #~ msgstr "Entrada Inst." # src/glade-strings:130 #~ msgid "Accu. Outbound" #~ msgstr "Salida Acum." # src/glade-strings:132 #~ msgid "Accu. Inbound" #~ msgstr "Entrada acum." # src/glade-strings:134 #~ msgid "Inst. Outbound" #~ msgstr "Salida Inst" # src/glade-strings:162 #~ msgid "" #~ "Type the name of the protocol that will be assigned to the selected color" #~ msgstr "" #~ "Escriba el nombre del protocolo que será asignado al color seleccionado" # src/capture.c:330 #~ msgid "Status not PAUSE or STOP at start_capture" #~ msgstr "Status no es PAUSE ni STOP en start_capture" # src/capture.c:363 #~ msgid "Status not PLAY at pause_capture" #~ msgstr "Status no es PLAY en pause_capture" # src/capture.c:404 #~ msgid "Status not PLAY or PAUSE at stop_capture" #~ msgstr "Status no es PLAY ni PAUSE en stop_capture" # src/menus.c:654 #~ msgid "Status not PLAY or PAUSE at gui_stop_capture" #~ msgstr "Status no es PLAY ni PAUSE en gui_stop_capture" # src/glade-strings:24 #~ msgid "_Start" #~ msgstr "_Comenzar" # src/glade-strings:49 #~ msgid "" #~ "A Graphical Network Browser.\n" #~ "Web: http://etherape.sourceforge.net" #~ msgstr "" #~ "Un visualizador gráfico de red.\n" #~ "Web: http://etherape.sourceforge.net" # src/glade-strings:55 #~ msgid "This message is not here yet. (Don't tell anybody you saw it ;-) )" #~ msgstr "Este mensaje no está aquí todavía. (No se lo digas a nadie ;-) )" # src/glade-strings:112 #~ msgid "EtherApe: Select capture file" #~ msgstr "EtherApe: Seleccione archivo de captura" # src/glade-strings:113 #~ msgid "EtherApe: Select Capture File" #~ msgstr "EtherApe: Seleccione archivo de captura" # src/glade-strings:114 #~ msgid "Select capture file" #~ msgstr "Seleccione archivo de captura" # src/glade-strings:115 #~ msgid "Optionally, set a capture filter" #~ msgstr "Opcionalmente, defina un filtro de captura" # src/glade-strings:116 #~ msgid "File:" #~ msgstr "Archivo:" # src/glade-strings:117 #~ msgid "Filter:" #~ msgstr "Filtro:" # src/main.c:41 #, fuzzy #~ msgid "skipping interface %s: is down" #~ msgstr "definir el interfaz a escuchar" # src/capture.c:282 src/capture.c:308 #~ msgid "Can't use filter: Couldn't obtain netmask info (%s)." #~ msgstr "" #~ "No se puede usar el filtro: No se pudo obtener información de la máscara " #~ "(%s)." # src/diagram.c:656 #~ msgid "Main node protocol not found in update_canvas_nodes" #~ msgstr "Protocolo principal de nodo no encontrado en update_canvas_nodes" # src/diagram.c:1081 #, fuzzy #~ msgid "Main link protocol not found in canvas_link_update" #~ msgstr "Protocolo principal de enlace no encontrado en update_canvas_links" # src/info_windows.c:323 #~ msgid "No node_id in on_node_info_delete_event" #~ msgstr "No node_id en on_node_info_delete_event" # src/info_windows.c:330 #~ msgid "No node_info_window in on_node_info_delete_event" #~ msgstr "No node_info_window en on_node_info_delete_event" # src/capture.c:1027 #~ msgid "Removing node: %s. Number of nodes %d" #~ msgstr "Borrando nodo: %s. Número de nodos: %d" # src/capture.c:1232 #~ msgid "Removing link. Number of links %d" #~ msgstr "Borrando enlace. Número de enlaces: %d" # src/capture.c:1550 #~ msgid "Null packet in check_packet" #~ msgstr "Paquete nulo en check_packet" # src/diagram.c:433 #~ msgid "Unable to parse color string %s for new protocol %s" #~ msgstr "Falló el análisis del color %s para el nuevo protocolo %s" # src/info_windows.c:382 #~ msgid "No info available" #~ msgstr "No hay información disponible" # src/glade-strings:51 #~ msgid "window1" #~ msgstr "window1" # src/glade-strings:53 #~ msgid "accumulated" #~ msgstr "acumulado" # src/glade-strings:78 #~ msgid "Diagram Node Timeout (ms)" #~ msgstr "Expiración de nodo de diagrama (ms)" # src/glade-strings:80 #~ msgid "Max. Link Width" #~ msgstr "Ancho máx. de enlace" # src/glade-strings:81 #~ msgid "Max. Node Radius" #~ msgstr "Radio máx. de nodo" # src/glade-strings:11 #~ msgid "Token Ring" #~ msgstr "Token Ring" # src/glade-strings:13 #~ msgid "FDDI" #~ msgstr "FDDI" # src/glade-strings:15 #~ msgid "Ethernet" #~ msgstr "Ethernet" # src/glade-strings:17 #~ msgid "IP" #~ msgstr "IP" # src/glade-strings:19 #~ msgid "TCP" #~ msgstr "TCP" # src/glade-strings:58 #~ msgid "Solved" #~ msgstr "Resuelto" # src/glade-strings:93 #~ msgid "Add a new protocol to the list of protocols to choose a name from" #~ msgstr "" #~ "Añadir un nuevo protocolo a la lista de protocolos de entre los que se " #~ "elige el nombre" # src/glade-strings:96 #~ msgid "Add protocol" #~ msgstr "Añadir protocolo" # src/glade-strings:95 #~ msgid "Remove protocol" #~ msgstr "Quitar protocolo" # src/glade-strings:87 #~ msgid "" #~ "Toggle whether the selected protocol name has to be solved in order to " #~ "use it" #~ msgstr "" #~ "Cambia si el protocolo seleccionado ha de estar resuelto para ser usado" #~ msgid "Toggle solved" #~ msgstr "Cambiar resuelto" #~ msgid "Move selected protocol up one item" #~ msgstr "Mover protocolo seleccionado un lugar hacia arriba" #~ msgid "Move up" #~ msgstr "Mover arriba" #~ msgid "Move selected protocol down one item" #~ msgstr "Mover protocolo seleccionado un lugar hacia abajo" #~ msgid "Move down" #~ msgstr "Mover abajo" #~ msgid "Don't try to resolve any name. Always present in numeric form." #~ msgstr "" #~ "No intentar resolver ningún nombre. Presentar siempre en forma numérica" #~ msgid "Force numeric" #~ msgstr "Forzar numérico" #~ msgid "Make DNS queries to resolve IP addresses" #~ msgstr "Hacer consultas DNS para resolver direcciones IP" # src/glade-strings:118 #~ msgid "Names" #~ msgstr "Nombres" # src/glade-strings:109 #~ msgid "Capture" #~ msgstr "Captura" # src/glade-strings:157 #~ msgid "ok_button2" #~ msgstr "ok_button2" # src/glade-strings:158 #~ msgid "cancel_button2" #~ msgstr "cancel_button2" # src/glade-strings:159 #~ msgid "help_button1" #~ msgstr "help_button1" # src/main.c:61 #~ msgid "set the link color" #~ msgstr "fijar el color de los enlaces" #~ msgid "Toggle whether text is shown on the diagram" #~ msgstr "Fijar si se muestra texto en el diagrama" #~ msgid "Click to toggle" #~ msgstr "Pulse para cambiar la selección" #~ msgid "Removing canvas_node. Number of node %d" #~ msgstr "Borrando nodo de diagrama: %s. Número de nodos: %d" #~ msgid "Removing canvas link. Number of links %d" #~ msgstr "Borrando enlace de diagrama: %s-%s. Número de enlaces: %d" etherape-0.9.20/po/ChangeLog0000644000175000017500000001003713501410674012512 000000000000002002-09-19 gettextize * boldquot.sed: New file, from gettext-0.11.5. * en@boldquot.header: New file, from gettext-0.11.5. * en@quot.header: New file, from gettext-0.11.5. * insert-header.sin: New file, from gettext-0.11.5. * quot.sed: New file, from gettext-0.11.5. * remove-potcdate.sin: New file, from gettext-0.11.5. * Rules-quot: New file, from gettext-0.11.5. 2001-05-04 gettextize * Makefile.in.in: Upgrade to gettext-0.10.36. 2001-05-04 gettextize * Makefile.in.in: Upgrade to gettext-0.10.36. * cat-id-tbl.c: Remove file. * stamp-cat-id: Remove file. /* Automatically generated by po2tbl.sed from etherape.pot. */ #if HAVE_CONFIG_H # include #endif #include "libgettext.h" const struct _msg_ent _msg_tbl[] = { {"", 1}, {"mode of operation", 2}, {"", 3}, {"set interface to listen to", 4}, {"", 5}, {"set capture filter", 6}, {"", 7}, {"set input file", 8}, {"", 9}, {"don't convert addresses to names", 10}, {"don't display any node text identification", 11}, {"do not fade old links", 12}, {"set the node color", 13}, {"color", 14}, {"set the link color", 15}, {"set the text color", 16}, {"Unrecognized mode. Do etherape --help for a list of modes", 17}, {"Preferences saved", 18}, {"._New File", 19}, {"_Toolbar", 20}, {"Show or hide the toolbar", 21}, {"_Legend", 22}, {"Show or hide the legend", 23}, {"_Status Bar", 24}, {"Show or hide the status bar", 25}, {"Etherape", 26}, {"New", 27}, {"New File", 28}, {"Open", 29}, {"Open File", 30}, {"Save", 31}, {"Save File", 32}, {"Protocols", 33}, {"Copyright 2000 Juan Toledo", 34}, {"\ A Graphical Network Browser.\n\ Web: http://etherape.sourceforge.net", 35}, {"window1", 36}, {"name", 37}, {"accumulated", 38}, {"average", 39}, {"This message is not here yet. (Dont tell anybody you saw it ;-) )", 40}, {"Etherape: Preferences", 41}, {"Click to toggle", 42}, {"Toggle whether text is shown on the diagram", 43}, {"No text", 44}, {"Max. Node Radius", 45}, {"Max. Link Width", 46}, {"\ Choose how node radius and link width are calculated as a function of \ average traffic", 47}, {"Linear", 48}, {"Logarithmic", 49}, {"Square Root", 50}, {"Size Mode", 51}, {"Choose the font used to display text in the diagram", 52}, {"Font", 53}, {"Refresh diagram every this many miliseconds", 54}, {"Diagram refresh period (ms)", 55}, {"Set what level of the protocol stack is displayed in the legend", 56}, {"2", 57}, {"3", 58}, {"4", 59}, {"5", 60}, {"6", 61}, {"Protocol Stack Level", 62}, {"Diagram", 63}, {"Capture filter", 64}, {"Packet information is averaged for this amount of time", 65}, {"Averaging Time (ms)", 66}, {"Delete this link after this much time. 0 means never timeout.", 67}, {"Link Timeout (ms)", 68}, {"Delete this node after this much time. 0 means never timeout.", 69}, {"Node Timeout (ms)", 70}, {"Capture", 71}, {"Select Font", 72}, {"Filter what's captured. See the tcpdump man page for details", 73}, {"Adjustment value: %g. Radius multiplier %g", 74}, {"Couldn't find pixmap file: %s", 75}, {"Couldn't create pixmap from file: %s", 76}, {"Error getting device: %s", 77}, {"Error opening %s : %s - perhaps you need to be root?", 78}, {"Link type not yet supported", 79}, {"Mode not available in this device", 80}, {"Ape mode not yet supported", 81}, {"Can't use filter: Couldn't obtain netmask info (%s).", 82}, {"Unable to parse filter string (%s).", 83}, {"Can't install filter (%s).", 84}, {"Reached default in get_node_id", 85}, {"Unsupported ape mode in get_link_id", 86}, {"n/a", 87}, {"Creating node: %s. Number of nodes %d", 88}, {"Creating link: %s-%s. Number of links %d", 89}, {"Reached default in fill_names", 90}, {"Removing node: %s. Number of node %d", 91}, {"Removing link. Number of links %d", 92}, {"Null packet in check_packet", 93}, }; int _msg_tbl_length = 93; etherape-0.9.20/po/tr.gmo0000644000175000017500000000747014050232250012070 00000000000000C4YL  /I]dl{1 M [h}   %+<h m?z      ' / 5 < G S X a s {    )     . = ^ u         " 8 T u        ( 2 = D K ^ k q      2 %-?CVrz ~   ?A56* / : 1;2>@&!87'= #+( C4"9< ,0).3$B%- in IP mode in TCP modeAccum. traffic (In+Out)Accum. traffic (Inbound)Accum. traffic (Outbound)Averaging Time (ms)ColorsDiagramDiagram pausedDiagram startedDiagram stoppedDisplay the protocols windowEtherApe: PreferencesEtherApe: ProtocolsEtherApe: assign protocolInstant. traffic (In+Out)Instant. traffic (Inbound)Instant. traffic (Outbound)InstantaneousLast Heard: Level 2 (Eg: ETH_II)Level 3 (Eg: IP)Level 4 (Eg: TCP)Level 5 (Eg: HTTP)LinearLogarithmicNodesPausePause capturePausedPref.Preferences (Ctrl-P)Prot.ProtocolsReading data from Ready to capture from Refresh diagram every this many milisecondsSaveSelect colorSet what level of the protocol stack is displayed in the legendSquare RootSt_opStartStart captureStopStop captureTopmost recognized protocol_Capture_IP_Interfaces_Legend_Mode_Pause_Protocols_Status Bar_TCP_Toolbardefault interfacelabel73mode of operationnameset capture filterset interface to listen toProject-Id-Version: etherape Report-Msgid-Bugs-To: PO-Revision-Date: 2001-08-12 16:37+0200 Last-Translator: Görkem Çetin Language-Team: Görkem Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit (IP konumunda) (TCP konumunda)Toplam trafik (giriş+çıkış)Toplam trafik (giriş)Toplam trafik (çıkış)Ortalama Süre (ms)RenklerPencerePencere bekletiliyorPencere başlatıldıPencere durdurulduProtokol penceresini gösterEtherApe: TercihlerEtherApe: ProtokollerEtherApe: protokol tanımlaAnlık trafik (giriş+çıkış)Anlık trafik (giriş)Anlık trafik (çıkış)AnlıkSon Görülme Zamanı: 2. Seviye (Örnek: ETH_II)3. Seviye (Örnek: IP)4. Seviye (Örnek: TCP)5. Seviye (Örnek: HTTP)DoğrusalLogaritmikUçlarBekletYakalamayı bekletBekletiliyorTerc.Tercihler (Ctrl-P)Prot.Protokoller Arayüzden yakalamaya hazır: Pencere tazeleme aralığıKaydetRengi seçYan çubukta gösterilecek protokolleri belirleyinKök_DurdurBaşlatYakalamaya başlaDurYakalamayı durdurEn çok bilinen protokoller_Yakala_IP_Arayüzler_Ek çubuk_Kaynak_Beklet_Protokol_Durum Çubuğu_TCP_Araç Çubuğuöntanımlı arayüzlabel73işlem kipiisimyakalama filtresini tanımlaizlenecek arayüzü seçetherape-0.9.20/po/ru.gmo0000644000175000017500000006426314050232250012074 00000000000000K   Ptf1  .6J [#h !  2Jc })*! "/CLQ)b %"U,YE',0"](HE;$R3#540(1Y42 #=Wr +  %6H[by   %  9 Z 0_ ) 3  !!!!9!H!N! "+"="S"-\"."6""" " # #!#&#,#A#Y#_#h# ~###2##$+$NF$N$7$ %=%!L%n%!s% %S%?%r6&& && &&& &('*' /'1<'Jn''?'((#(:($L(#q(9($('(*)G)f) ) )))*%***** *+++-+1+ C+O+ W+c+i+z+++ +++ ++++++#+ ,*.,$Y,%~,&,,,,?-?E-----A-I-6.O.e.x. .(.C.G /CS/0/,//*2/2C2X2h25|22t3_L4 4444"5 $5E5BV55505!5!6+@6l6q61616668%7^7 u7b7Y7>=86|88%889%96<9 s9#9G9$:C%:i:g ;r; {;7;);;P<N<:$=L_==>=/=.>)N>Bx>Q>2 ?@?l?EH@"@@-@@AGAiBaBfBWJC9ChCEDmVDD/D/ E4=E6rEEE=E=F'ZF)F$F F!F"G7G0HGByG7GGH.HFHW`H,HHBH;/I kIvIyJ_}JJJK+9K:eKKMKL&M87MpM[MZMR:N N N'NNNOO!'O+IOuOO-OO1O3 P`@PP"PVP;QQa[R3RR=SNSJaSSSxUTT8UV#"V!FV hV rVVCVV!VxWW>XcOX0X X(X4Y_MY[Yn ZmxZoZnV[B[=\F\`\?|\\]B] ] ^^ -^'7^;_^^#^^3^__-_ D_3P_ __ ___!__`&`=`E`*U`?`<`=`A;aN}aPa@b ^bCkbb:ccc c ccd*1eJ\e2eAef>8fuwffugXg`Rh>o3U^<}TstPG&j +K%9qR!ug~ {z[N \ ?rY5W2Hca08l_iFpA"76SOVd' @,fh;.MxynL/(I]XB*ek4`1Z-m$|vEJC=DQ)#bw: in Data Link mode in IP mode in TCP mode%ld" ago%ld'%ld" ago%s protocol not supported%s uses unsupported link type %d, cannot proceed. Please choose another source.'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': packets dropped by interface or driver.(Capture statistics unavailable in offline mode.)(Off)-unknown-Global Protocol Timeouts (s)A Graphical Network Browser.A->BAccum TrafficAccum. packets (In+Out)Accum. traffic (In+Out)Accum. traffic (Inbound)Accum. traffic (Outbound)AccumulatedAddressAdjustment value: %g. Inner ring scale %gAdjustment value: %g. Radius multiplier %gAvailable interfaces for capture:Average pkt size (In+Out)Average sizeAveraging Time (ms)Avg SizeB->ABackground ImageBogus statspos_t (%d) pref.pcap_stats_posC_entral NodeCancel changesCannot create widget %s from file %s!Canvas node nullCapture interface set to %s in GUIChoose how node radius and link width are calculated as a function of average trafficChoose the color used to display node labelsColorColorsColumn number %ld out of rangeConfirm changesControls display of nodes timed out from diagram, but still in memoryCould not load interface file '%s'!: %sCreating canvas_node: %s. Number of nodes %dDNS resolver initialization failedData link entry not initializedDiagramDiagram Refresh _Period (ms)Diagram pausedDiagram startedDiagram stoppedDisable informational messagesDisplay pcap _stats:Display the protocols windowEnable name resolution. If unchecked, all addresses are in numeric form.Enable selection of a background image for the main displayError saving preferences to '%s': %sEtherApe: PreferencesEtherApe: ProtocolsEtherApe: assign protocolExpire protocol statistics for a node after this much time. 0 means never timeout.Export to XML FileFailed to read position file %s: %sFailed to receive message from packet-capture processFailed to receive packet from packet-capture processFailed to send message to packet-capture processFailed to set %s environment variable to '%s': %sFailed to stop capture: %sFailed to switch to user '%s' (uid=%lu, gid=%lu): %sInboundInner ring radius as a fraction of outer ring sizeInst TrafficInstant. packets (In+Out)Instant. traffic (In+Out)Instant. traffic (Inbound)Instant. traffic (Outbound)InstantaneousInvalid mode: %dInvalid position-file line: %sInvalid tofromds field in WLAN packet: 0x%xLast HeardLast Heard: Level 2 (Eg: ETH_II)Level 3 (Eg: IP)Level 4 (Eg: TCP)Level 5 (Eg: HTTP)LinearLink main protocol: %sLink main protocol: unknownLink timed outLink type is %sLogarithmicLower leftLower rightManually position nodes based on FileMode set to %s in GUINameNew link: %s. Number of links %dNew node: %s. Number of nodes %dNextNo prot_info_window in on_prot_info_delete_eventNo prot_name in on_prot_info_delete_eventNo suitables interfaces for capture have been foundNode Label C_olorNode Label FontNode Label _FontNode _Radius MultiplierNode timed outNodesNodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names %ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). IP cache entries %ld. Canvas objs: %ld. Refreshed: %u msNumeric Name:Open Capture FileOptional central nodeOutboundPPI:captured size too small, packet discardedPPI:unsupported link type %u, packet discardedPacket information is averaged for this amount of timePacketsPausePause capturePausedPick a Color PortPref.Preferences (Ctrl-P)Preferences saved to %sProt.ProtocolProtocol Stack _LevelProtocolsQueuing link for removeQueuing node '%s' for removeRadiotap:captured size too small, packet discardedReading data from Ready to capture from Refresh diagram every this many milisecondsRemove this link from the diagram after this much time. 0 means never timeout.Remove this node from the diagram after this much time. 0 means never timeout.Remove this protocol from memory after this much time. Replay from file '%s' completed.Resolved Name:SIGUSR1 received: exporting to %sSaveSaves changes to preferences fileSelect colorSet the kind of instantaneous or accumulated traffic that the node radius indicatesSet what level of the protocol stack is displayed in the legendSet where to display pcap stats: packets received, dropped by OS buffering, and dropped by the interface or driverSets the capture filterSize _ModeSize _VariableSquare RootSt_opStartStart captureStatus already PLAY at gui_start_captureStopStop captureThe statistic used to compute node and link sizesThis device does not support link-layer mode. Please use IP or TCP modes.TimingsToggle whether the node names are displayed on top of the nodesTopmost recognized protocolTotalType the protocol nameUnknown user '%s'Unknown value for link_size_variableUnknown value or node_size_variableUnrecognized mode. Do etherape --help for a list of modesUnsupported ape mode in fill_node_idUnsupported ape mode in node_id_compareUnsupported mode in on_mode_radio_activateUpdated links. Active links %dUpdated nodes. Active nodes %dUpper leftUpper rightUse _background imageVincent van Adrighem AlexL Gôrkem Cetin Javier Fernandez-Sanguino Peña Chris Leick Frederic Peters Daniel Nylander WWWWe could not load the interface! (%s)_Cancel_Capture_Capture filter_File_Full Screen_Group unknown ports_Help_Hide node names_IP_Inner Ring Scale_Interfaces_Legend_Link Layer_Mode_Name Resolution_Nodes_Open_Pause_Protocols_Save_Show all nodes_Status Bar_TCP_Toolbar_View_exportdefault interfacedelete node: %s. Number of nodes %ddon't convert addresses to namesdon't display any node text identificationdon't move nodes around (deprecated)export to named file at end of replayexport to named file on receiving USR1get_interface result: '%s'label73limits nodes displayedmaximum packet delay in ms for reading capture files [cli only]minimum packet delay in ms for reading capture files [cli only]mode of operationnamenode Anode Bnot enough captured data, terminating protocol decode at level %dnot enough captured data, terminating protocol decode for '%s' (level %d)replay packets from filerun as the given userset capture filterset interface to listen totest labeluses the named libglade file for widgetswlan:captured size too small (less than 10 bytes), packet discardedwlan:captured size too small (read %u, needed %u), RTS packet discardedwlan:captured size too small (read %u, needed %u), packet discardedwlan:frame type 0x%x is reserved, decode abortedwlan:unknown frame type 0x%x, decode abortedProject-Id-Version: rus-etherape Report-Msgid-Bugs-To: PO-Revision-Date: 2019-06-16 23:21+0000 Last-Translator: AlexL Language-Team: Russian (http://www.transifex.com/rus-open-source/rus-etherape/language/ru/) Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3); в режиме канала данных в режиме IP в режиме TCP%ld" ранее%ld'%ld" ранееПротокол %s не поддерживается%s использует неподдерживаемый тип канала %d, невозможно продолжить. Пожалуйста, выберите другой источник.'recv': полученные пакеты; 'drop': пакеты, отброшенные буферизацией ОС; 'ifdrop': пакеты, отброшенные интерфейсом или драйвером.(Cтатистика захвата недоступна в автономном режиме.)(Выкл)-неизвестный-<фильтр захвата><задержка><файл для экспорта><файл для повтора><файл glade>Глобальный тайм-аут(ы) протокола<имя интерфейса><канал|ip|tcp><список узлов и их столбцы><количество узлов><имя пользователя>Графический обзор сети.A->BНакоп. трафикНакопленные пакеты (Вх+Исх)Накопленный трафик (Вх+Исх)Накопленный трафик (Входящий)Накопленный трафик (Исходящий)НакопленныйАдресЗначение корректировки: %g. Шкала внутреннего кольца %gЗначение корректировки: %g. Коэффициент радиуса %gДоступные интерфейсы для захвата:Средний размер пакета (Вх+Исх)Средний размерСреднее время (мсек)Средний размерB->AФоновое изображениеФиктивный statspos_t (%d) pref.pcap_stats_pos_Центральный узелОтменить измененияНевозможно создать виджет %s из файла %s!Нулевой узел холстаИнтерфейс захвата установлен в %s в GUIВыберите способ расчёта радиуса узла и ширины канала в зависимости от среднего трафикаВыберите цвет, используемый для отображения меток узловЦветЦветаНомер столбца %ld вне диапазонаПодтвердить измененияУправляет отображением узлов, вышедших из диаграммы, но всё ещё находящихся в памятиНе удалось загрузить файл интерфейса '%s''!: %sСоздание узла холста: %s. Количество узлов %dСбой инициализации резолвера DNSЗапись канала данных не инициализированаДиаграмма_Период освежения диаграммы (мсек)Диаграмма приостановленаДиаграмма начатаДиаграмма остановленаОтключить информационные сообщенияОтображать _статистику захваченных пакетов:Отобразить окна протоколовВключить отображение имён. Если флажок не установлен, все адреса в числовом формате.Включить выбор фонового изображения для основного дисплеяОшибка при сохранении настроек в '%s': %sEtherApe: ПредпочтенияEtherApe: ПротоколыEtherApe: назначить протоколПо истечении этого времени истекает статистика протокола для узла. 0 означает никогда не тайм-аут.Экспорт в XML файлНе удалось прочитать позицию файла %s: %sНе удалось получить сообщение от процесса захвата пакетаНе удалось получить пакет от процесса захвата пакетаНе удалось отправить сообщение процессу захвата пакетаНе удалось установить %s переменную среды в '%s': %sНе удалось остановить захват: %sНе удалось переключиться на пользователя '%s' (uid=%lu, gid=%lu): %sВходящийВнутренний радиус кольца как часть размера внешнего кольцаМгнов. трафикМгновенные пакеты (Вх+Исх)Мгновенный трафик (Вх+Исх)Мгновенный трафик (Входящий)Мгновенный трафик (Исходящий)МгновенныйНеверный режим: %dНеверная позиция - строка файла: %sПоле tofromds в WLAN пакетах неверно: 0x%xПоследнее услышанноеПоследнее услышанное: Уровень 2 (Напр.: ETH_II)Уровень 3 (Напр.: IP)Уровень 4 (Напр.: TCP)Уровень 5 (Напр.: HTTP)ЛинейныйГлавный протокол канала: %sГлавный протокол канала: неизвестенВремя действия канала истеклоТип канала — %sЛогарифмическийНижний левыйНижний правыйПозиционирование узлов вручную на основе файлаРежим установлен в %s в GUIИмяНовый канал: %s. Количество каналов: %dНовый узел: %s. Количество узлов %dДалееНету окна информации протокола в событии на удаление информации о протоколеНету имени протокола в событии на удаление информации о протоколеСоответствующих интерфейсов для захвата не найденоЦвет метки узлаШрифт метки узла_Шрифт метки узлаМножитель _радиуса узлаДля узла заданное время истеклоУзлыУзлы: %d (на холсте: %d, показано: %u), Каналы: %d, Переговоры: %ld, имена %ld, протоколы %ld. Всего увиденных пакетов: %lu (в памяти: %ld, в списке %ld). Записи IP кэша %ld. Объекты холста: %ld. Освежено: %u мсекЧисловое имя:Открыть файл захватаОпциональный центральный узелИсходящийPPI: захваченный размер слишком мал, пакет отброшенPPI: тип канала %u не поддерживается, пакет отброшенИнформация о пакете усредняется за это времяПакетыПаузаПриостановить захватПриостановленоВыберите цвет ПортПредпочтенияПредпочтения (Ctrl-P)Настройки сохранены в %sПротоколыПротокол_Уровень протокола стекаПротоколыОчередь канала на удалениеОчередь узла '%s' на удалениеRadiotap: захваченный размер слишком мал, пакет отброшенЧтение данных из Готов к захвату из Каждые сколько миллисекунд освежать диаграммуУдалить этот канал из диаграммы через это время. 0 означает никогда не тайм-аут.Удалить этот узел из диаграммы через это время. 0 означает никогда не тайм-аут.Удалить этот протокол из памяти после этого времени. Повтор из файла '%s' завершён.Резолвенное имя:SIGUSR1 значение получил: экспорт в %sСохранитьСохранить изменения в файл предпочтенийВыбор цветаУстановите мгновенный или накопленный объём трафика, что радиус узла указываетУстановите, какой уровень протокола стека отображается в легендеУкажите, где отображать статистику захваченных пакетов: пакеты получены, отброшены буферизацией ОС, и отброшены интерфейсом или драйверомУстанавливает фильтра захвата_Режим размераРазмер _переменнойКвадратный корень_СтопНачатьНачать захватСтатус уже ИГРАТЬ в gui начала захватаОстановитьОстановить захватСтатистика, используемая для вычисления размеров узлов и каналовЭто устройство не поддерживает режим канального уровня. Пожалуйста, используйте режимы IP или TCP.ТаймингиПереключить, отображаются ли имена узлов поверх узловСамый признанный протоколИтогоВведите имя протоколаНеизвестный пользователь '%s'Неизвестное значение для переменной размера каналаНеизвестное значение для переменной размера узлаНераспознанный режим. Запустите etherape --help для списка режимовНеподдерживаемый режим ape в идентификаторе узла заполненияНеподдерживаемый режим ape в сравнении идентификаторов узловНеподдерживаемый режим в на активацию режима переключателяКаналы обновлены. Активные каналы: %dОбновлённые узлы. Активные узлы %dВерхний левыйВерхний правыйИспользовать _фоновое изображениеVincent van Adrighem AlexL Gôrkem Cetin Javier Fernandez-Sanguino Peña Chris Leick Frederic Peters Daniel Nylander WWWМы не смогли загрузить интерфейс! (%s)_Отмена_Захват_Фильтр захвата_Файл_Полноэкранный режим_Группировать неизвестные порты_Справка_Скрыть имена узлов_IPМасштаб _внутреннего кольца_Интерфейсы_ЛегендаСлой _канала_Режим_Разрешить отображение имён_Узлы_Открыть_Пауза_Протоколы_Сохранить_Показать все узлы_Строка статуса_TCP_Панель инструментов_Вид_экспортинтерфейс по умолчаниюудалить узел: %s. Количество узлов %dне конвертировать адреса в именане показывать идентификацию узлаперемещение узлов не рекомендуетсяэкспорт в именованный файл в конце повтораэкспорт в именованный файл при получении USR1результат получения интерфейса: '%s'метка73ограничить число отображаемых узловмаксимальная задержка пакетов в мсек для чтения файлов захвата [только в CLI]минимальная задержка пакетов в мсек для чтения файлов захвата [только в CLI]режим работыимяузел Аузел Внедостаточно захваченных данных, завершение протокола декодирования на уровне %dнедостаточно захваченных данных, завершение протокола декодирования для '%s' (уровень %d)повторить пакеты файлазапустить от имени данного пользователяустановить фильтра захватанастроить интерфейс прослушиваниятестовая меткаиспользует файл libglade для виджетовWLAN: захваченный размер слишком мал (менее 10 байт), пакет отброшенWLAN: захваченный размер слишком мал (прочитано %u, нужно %u), RTS-пакет отброшенWLAN: захваченный размер слишком мал (прочитано %u, нужно %u), пакет отброшенWLAN: тип кадра 0x%x получен, декодирование прерваноWLAN: неизвестный тип кадра 0x%x, декодирование прерваноetherape-0.9.20/po/de.gmo0000644000175000017500000004352314050232250012032 00000000000000l     &3PMt1 EO`h| # ! 9 >)J*t! ) "0?"PUs,E,,r"&6UjH;$ 1G[Ru#54"0W142 *8I+h %  4U0Z)3 4CI &<-E.s6  5; Q[s2+NNh7 !A!F hSu?r |   (  1 J/!z!?!!!!$!#"9:"$t"'""""#%#?#H#X# ^#k##### ## #### ## $$$ $&$.$#@$ d$*$$$%$&$"%=%E%?\%?%%%%%A&IC&&&&& &(&C'Gb'C'0',(8L() ) ) )))t)l*B+ C+O+b+&q++ +2++ ,$,8,L,[,{, ,(,),.,-#-:-?-/O------o-O`..)..o.2i/0/,//$0(0:0M0$_000c0?18^1111t1.V2A2@2>3=G3@3 3:3 44"04-S44444145)*5&T5 {525+5A5&6!D6"f6666677 7/88583n8888888"89#9 99.D9>s9499:7:oS:n:=2;1p;;!; ;*; <W<Uu<<y=====-==>M>ba>>C>? ?=?(Y?&?b?2 @5?@*u@&@@@3@ A%A7A ?A IAjAqAAAA AAAAA AA B!B&B6B?BGB)]B!B*B'B4B31C"eCCCXCXD`DpDuD~DKDUD!)E#KEoE4EE0EGEKFFKF;F8Gbz"?'~vGxj@IlZ7\om*%.QAes=L^ k;>KM+:#PRpYqU6rTgXHJ/y9a(ic8_C4|h,]{wDWB1u2[FnN`) 3O}$E-0 V5& f<t!  Sd in Data Link mode in IP mode in TCP mode%ld" ago%ld'%ld" ago%s protocol not supported%s uses unsupported link type %d, cannot proceed. Please choose another source.'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': packets dropped by interface or driver.(Capture statistics unavailable in offline mode.)-unknown-Global Protocol Timeouts (s)A Graphical Network Browser.A->BAccumulatedAdjustment value: %g. Inner ring scale %gAdjustment value: %g. Radius multiplier %gAvailable interfaces for capture:Average sizeAveraging Time (ms)B->ABackground ImageBogus statspos_t (%d) pref.pcap_stats_posC_entral NodeCancel changesCanvas node nullCapture interface set to %s in GUIChoose how node radius and link width are calculated as a function of average trafficChoose the color used to display node labelsColorsColumn number %ld out of rangeConfirm changesControls display of nodes timed out from diagram, but still in memoryCreating canvas_node: %s. Number of nodes %dDNS resolver initialization failedData link entry not initializedDiagramDiagram Refresh _Period (ms)Diagram pausedDiagram startedDiagram stoppedDisable informational messagesDisplay pcap _stats:Display the protocols windowEnable name resolution. If unchecked, all addresses are in numeric form.Enable selection of a background image for the main displayError saving preferences to '%s': %sEtherApe: PreferencesEtherApe: ProtocolsEtherApe: assign protocolExpire protocol statistics for a node after this much time. 0 means never timeout.Failed to read position file %s: %sFailed to receive message from packet-capture processFailed to receive packet from packet-capture processFailed to send message to packet-capture processFailed to set %s environment variable to '%s': %sFailed to switch to user '%s' (uid=%lu, gid=%lu): %sInboundInner ring radius as a fraction of outer ring sizeInstantaneousInvalid mode: %dInvalid position-file line: %sInvalid tofromds field in WLAN packet: 0x%xLast Heard: Link main protocol: %sLink timed outLink type is %sManually position nodes based on FileMode set to %s in GUINew link: %s. Number of links %dNew node: %s. Number of nodes %dNextNo prot_info_window in on_prot_info_delete_eventNo prot_name in on_prot_info_delete_eventNo suitables interfaces for capture have been foundNode Label C_olorNode Label FontNode Label _FontNode _Radius MultiplierNode timed outNodesNodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names %ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). IP cache entries %ld. Canvas objs: %ld. Refreshed: %u msNumeric Name:Optional central nodeOutboundPPI:captured size too small, packet discardedPPI:unsupported link type %u, packet discardedPacket information is averaged for this amount of timePausePause capturePausedPick a Color Pref.Preferences (Ctrl-P)Preferences saved to %sProt.Protocol Stack _LevelProtocolsQueuing link for removeQueuing node '%s' for removeRadiotap:captured size too small, packet discardedReading data from Ready to capture from Refresh diagram every this many milisecondsRemove this link from the diagram after this much time. 0 means never timeout.Remove this node from the diagram after this much time. 0 means never timeout.Remove this protocol from memory after this much time. Replay from file '%s' completed.Resolved Name:SIGUSR1 received: exporting to %sSaveSaves changes to preferences fileSelect colorSet the kind of instantaneous or accumulated traffic that the node radius indicatesSet what level of the protocol stack is displayed in the legendSet where to display pcap stats: packets received, dropped by OS buffering, and dropped by the interface or driverSets the capture filterSize _ModeSize _VariableStartStart captureStatus already PLAY at gui_start_captureStopStop captureThe statistic used to compute node and link sizesThis device does not support link-layer mode. Please use IP or TCP modes.TimingsToggle whether the node names are displayed on top of the nodesTotalType the protocol nameUnknown user '%s'Unknown value for link_size_variableUnknown value or node_size_variableUnrecognized mode. Do etherape --help for a list of modesUnsupported ape mode in fill_node_idUnsupported ape mode in node_id_compareUpdated links. Active links %dUpdated nodes. Active nodes %dUse _background imageWWWWe could not load the interface! (%s)_Capture_Capture filter_File_Full Screen_Group unknown ports_Help_Hide node names_IP_Inner Ring Scale_Interfaces_Legend_Link Layer_Mode_Name Resolution_Nodes_Protocols_Show all nodes_Status Bar_TCP_Toolbar_View_exportdefault interfacedelete node: %s. Number of nodes %ddon't convert addresses to namesdon't display any node text identificationdon't move nodes around (deprecated)export to named file at end of replayexport to named file on receiving USR1get_interface result: '%s'label73limits nodes displayedmaximum packet delay in ms for reading capture files [cli only]minimum packet delay in ms for reading capture files [cli only]mode of operationnamenode Anode Bnot enough captured data, terminating protocol decode at level %dnot enough captured data, terminating protocol decode for '%s' (level %d)replay packets from filerun as the given userset capture filterset interface to listen totest labeluses the named libglade file for widgetswlan:captured size too small (less than 10 bytes), packet discardedwlan:captured size too small (read %u, needed %u), RTS packet discardedwlan:captured size too small (read %u, needed %u), packet discardedwlan:frame type 0x%x is reserved, decode abortedwlan:unknown frame type 0x%x, decode abortedProject-Id-Version: etherape 0.9.12 Report-Msgid-Bugs-To: PO-Revision-Date: 2017-11-18 12:37+0200 Last-Translator: Chris Leick Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit im Sicherungsschichtmodus im IP-Modus im TCP-Modus%ld" vorher%ld'%ld" vorherProtokoll %s nicht unterstützt%s benutzt den nicht unterstützten Verweistyp %d, fortfahren nicht möglich. Bitte benutzen Sie eine andere Quelle.»recv«: Pakete empfangen; »drop«: Pakete durch Betriebssystempufferung verworfen; »ifdrop« Pakete durch Schnittstelle oder Treiber verworfen.(Statistiken erfassen, die im Offline-Modus nicht verfügbar sind)-unbekannt-Globale Protokoll-Zeitüberschreitungen (s)Ein grafischer Netzwerk-BrowserA->BangesammeltKorrekturwert: %g. Innerer Skalenring %gKorrekturwert: %g. Radiusmultiplikator %gVerfügbare Schnittstellen für die Erfassung:DurchschnittsgrößeDurchschnittszeit (ms)B->AHintergrundbildgefälschte statspos_t (%d) pref.pcap_stats_pos_zentraler KnotenÄnderungen abbrechenZeichenflächenknoten nullErfassungsschnittstelle in GUI auf %s gesetztWählen Sie, wie der Knotenradius und die Verweisbreite als Funktion des Durchschnittsverkehrs berechnet werdenWählen Sie die Farbe aus, die zu Anzeige der Knotenbeschriftungen benutzt wirdFarbenSpaltennummer %ld außerhalb des BereichsÄnderungen bestätigenSteuert die Anzeige von Knoten, deren Zeit im Diagramm überschritten war, die aber immer noch im Speicher sindcanvas_node wird erzeugt: %s. Anzahl der Knoten %dInitialisieren des DNS-Auflösers fehlgeschlagenSicherungsschichteintrag nicht initialisiertDiagrammDiagrammaktualisierungs_periode (ms)Diagramm pausiertDiagramm gestartetDiagramm gestopptInformative Nachrichten deaktivierenPCAP-_Statistiken anzeigen:Protokollfenster anzeigenNamensauflösung einschalten. Wenn dies nicht markiert ist, sind alle Adressen in numerischer Form.Auswahl eines Hintergrundbilds für die Hauptansicht aktivierenFehler beim Speichern der Einstellungen unter »%s«: %sEtherApe: EinstellungenEtherApe: ProtokolleEtherApe: Protokoll zuordnenProtokollstatistiken für einen Knoten nach so viel Zeit beenden. 0 bedeutet, dass es keine Zeitüberschreitung gibtLesen von Positionsdatei %s fehlgeschlagen: %sNachrichtenempfang vom Datenpaketerfassungsprozess fehlgeschlagenDatenpaketempfang vom Datenpaketerfassungsprozess fehlgeschlagenNachrichtversand an Datenpaketerfassungsprozess fehlgeschlagenSetzen von Umgebungsvariable %s auf »%s« fehlgeschlagen: %sWechsel zu Benutzer »%s« fehlgeschlagen (uid=%lu, gid=%lu): %sEingehendinnerer Ringradius als Bruchteil der äußeren RinggrößeaugenblicklichUngültiger Modus: %dungültige Positionsdateizeile: %sUngültiges Tofromds-Feld im WLAN-Paket: 0x%xZuletzt gehört:Verweishauptprotokoll: %sZeit des Verweises abgelaufenVerweistyp ist %sKnoten von Hand auf Basis der Datei positionierenModus in GUI auf %s gesetztNeuer Verweis: %s. Anzahl der Verweise %dNeuer Knoten: %s. Anzahl der Knoten %dNächsterKein prot_info_window in on_prot_info_delete_eventKein prot_name in on_prot_info_delete_eventEs wurden keine zur Erfassung geeigneten Schnittstellen gefunden._Farbe der KnotenbeschriftungSchriftart der KnotenbeschriftungSchrift_art der KnotenbeschriftungKnotenradius-_MultiplikatorZeit des Knotens abgelaufenKnotenKnoten: %d (auf Zeichenfläche: %d, angezeigt: %u), Verweise: %d, Gespräche: %ld, Namen %ld, Protokolle %ld. Gesamt gesehene Pakete: %lu (im Speicher: %ld, auf der Liste %ld). IP-Zwischenspeichereinträge %ld. Zeichenflächenobjekte: %ld. Aktualisiert: %u msNumerischer Name:optionaler zentraler KnotenAusgehendPPI: erfasste Größe zu klein, Paket verworfenPPI: nicht unterstützter Verweistyp %u, Paket verworfenPaketinformation ist für diesen Zeitwert gemitteltPauseErfassung pausierenPausiertWählen sie eine FarbeEinst.Einstellungen (Ctrl-P)Einstellungen unter %s gespeichertProt.P_rotokollstapelebeneProtokolleVerweis zum Entfernen in Warteschlange stellenKnoten »%s« wird zum Entfernen in die Warteschlange gestelltRadiotap: erfasste Größe zu klein, Paket verworfenDaten werden gelesen von Bereit zur Erfassung von Diagramm wird nach so vielen Millisekunden aktualisiertDiesen Verweis nach so viel Zeit aus dem Diagramm entfernen. 0 bedeutet, dass es keine Zeitüberschreitung gibtDiesen Knoten nach so viel Zeit aus dem Diagramm entfernen. 0 bedeutet, dass es keine Zeitüberschreitung gibtDieses Protokoll nach so viel Zeit aus dem Speicher löschen.Erneutes Abspielen von Datei »%s« abgeschlossenAufgelöster Name:SIGUSR1 empfangen: Export nach %sSpeichernÄnderungen in Einstellungsdatei speichernFarbe auswählenDie Art des momentanen oder angesammelten Verkehrs setzen, der den Knotenradius angibt.Stellen Sie ein, welche Ebene des Protokollstapels in der Beschriftung angezeigt wirdEinstellen, wohin PCAP-Statistiken angezeigt werden: empfangene Datenpakete, durch Betriebssystempufferung verworfene und durch die Schnittstelle oder den Treiber verworfeneSetzt den ErfassungsfilterGrö_ßenmodusGr_ößenvariableStartErfassung startenStatus bei gui_start_capture ist bereits PLAYStoppErfassung stoppenDie Statistik, die zum Berechnen der Knoten- und Verweisgrößen benutzt wirdDieses Gerät unterstützt den Sicherungsschichtmodus nicht. Bitte benutzen Sie IP- oder TCP-Modi.ZeiteinteilungenUmschalten, ob die Knotennamen oben auf den Knoten angezeigt werdenGesamtDen Protokollnamen eintippenunbekannter Benutzer »%s«Unbekannter Wert für link_size_variableWert oder node_size_variable unbekanntModus wurde nicht erkannt. Führen Sie »etherape --help« aus, um eine Liste der Modi zu erhaltenAffenmodus wird in fill_node_id nicht unterstütztAffenmodus wird in node_id_compare nicht unterstütztAktualisierte Verweise. Aktive Verweise %dAktualisierte Knoten. Aktive Knoten %d_Hintergrundbild verwendenWWWDie Schnittstelle konnte nicht geladen werden. (%s)Erfassun_g_Erfassungsfilter_Datei:_Vollbild_Unbekannte Ports zusammenfassen_HilfeKnotennamen _verstecken_IP_Innerer SkalenringSchnittste_llenErkl_ärungSi_cherungsschichtM_odus_NamensauflösungKno_tenProto_kolleAlle Knoten an_zeigenStatus_leisteTC_P_WerkzeugleisteAnsic_htE_xportStandardschnittstelleKnoten löschen: %s. Anzahl der Knoten %dAdressen nicht in Namen umwandelnkeinen Knotenidentifizierungstext anzeigenKnoten nicht umherbewegen (missbilligt)am Ende der Wiedergabe in genannte Datei exportierenbeim Empfang von USR1 in genannte Datei exportierenErgebnis von get_interface: »%s«label73beschränkt angezeigte Knotenmaximale Paketverzögerung in ms für das Lesen der Erfassungsdateien [nur Befehlszeile]minimale Paketverzögerung in ms für das Lesen der Erfassungsdateien [nur Befehlszeile]OperationsmodusNameKnoten AKnoten Berfasste Daten unzureichend, Protokolldekodierung wird auf Ebene %d beendeterfasste Daten unzureichend, Protokolldekodierung für »%s« (Ebene %d) wird beendetPakete aus Datei erneut abspielenals angegebener Benutzer ausführenErfassungsfilter setzenSchnittstelle angeben, auf der gelauscht werden sollTestbeschriftungbenutzt die genannte Libglade-Datei für Widgetswlan: erfasste Größe zu klein (weniger als 10 Bytes), Paket verworfenwlan: erfasste Größe zu klein (%u gelesen, %u benötigt), Paket verworfenwlan: erfasste Größe zu klein (%u gelesen, %u benötigt), Paket verworfenwlan: Frame-Typ 0x%x ist reserviert, Dekodieren abgebrochenwlan: unbekanntes Frame-Typ 0x%x, Dekodieren abgebrochenetherape-0.9.20/po/Makefile.in.in0000644000175000017500000002431411220500634013405 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2002 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in Makevars remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) POTFILES.in $(DOMAIN).pot \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common); do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkinstalldirs) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkinstalldirs) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ for file in $(DISTFILES.common); do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all dvi info tags TAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: $(DISTFILES) dists="$(DISTFILES)"; \ if test -f $(srcdir)/ChangeLog; then dists="$$dists ChangeLog"; fi; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir); \ else \ cp -p $(srcdir)/$$file $(distdir); \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: etherape-0.9.20/po/POTFILES.in0000644000175000017500000000116513264431041012514 00000000000000#[encoding: UTF-8] src/appdata.c src/callbacks.c src/datastructs.c src/diagram.c src/export.c src/info_windows.c src/main.c src/menus.c src/node_windows.c src/pref_dialog.c src/preferences.c src/ui_utils.c src/compat.c src/capture/capture.c src/capture/capctl.c src/capture/cap-util.c src/names/dns.c src/names/eth_resolv.c src/names/ip-cache.c src/names/names.c src/names/names_netbios.c src/names/thread_resolve.c src/stats/basic_stats.c src/stats/conversations.c src/stats/decode_proto.c src/stats/links.c src/stats/node.c src/stats/node_id.c src/stats/protocols.c src/stats/traffic_stats.c src/stats/util.c glade/etherape.ui etherape-0.9.20/po/sv.gmo0000644000175000017500000001434714050232250012074 00000000000000^   #4 FTl !"U Z ` ,g         , 9 S n        % 0; )l 3  6   # 1 8 > S Y b l  + N   ?# c o u {  ?  # 9%U{    *,4K]bu 2    %2Hb |0<P ^d&l  (4Jd~    *2;+n<1%*:AI] c mw2N& ,C8 |1&:**e     #-:hp% ^&L4>= Q:V35 [NW$ TCSR'2P#I E0\%Z)F(OY+D; /8,<7!1XM"*B.AJHU9?]@ G6K- in IP mode in TCP modeAccum TrafficAccum. traffic (In+Out)Accum. traffic (Inbound)Accum. traffic (Outbound)AccumulatedAvailable interfaces for capture:Averaging Time (ms)Capture interface set to %s in GUIChoose how node radius and link width are calculated as a function of average trafficColorColorsCreating canvas_node: %s. Number of nodes %dDiagramDiagram pausedDiagram startedDiagram stoppedDisplay the protocols windowEtherApe: PreferencesEtherApe: ProtocolsEtherApe: assign protocolInst TrafficInstant. traffic (In+Out)Instant. traffic (Inbound)Instant. traffic (Outbound)InstantaneousLast HeardLast Heard: Level 2 (Eg: ETH_II)Level 3 (Eg: IP)Level 4 (Eg: TCP)Level 5 (Eg: HTTP)LinearLink main protocol: %sLogarithmicMode set to %s in GUINo prot_info_window in on_prot_info_delete_eventNo prot_name in on_prot_info_delete_eventNo suitables interfaces for capture have been foundNodesNumeric Name:Packet information is averaged for this amount of timePacketsPausePause capturePausedPref.Preferences (Ctrl-P)Prot.ProtocolProtocolsReading data from Ready to capture from Refresh diagram every this many milisecondsRemove this node from the diagram after this much time. 0 means never timeout.SaveSelect colorSet what level of the protocol stack is displayed in the legendSquare RootSt_opStartStart captureStopStop captureToggle whether the node names are displayed on top of the nodesTopmost recognized protocolUnknown value or node_size_variableUnrecognized mode. Do etherape --help for a list of modesWe could not load the interface! (%s)_Capture_IP_Interfaces_Legend_Mode_Pause_Protocols_Status Bar_TCP_Toolbardefault interfacedon't convert addresses to namesdon't display any node text identificationlabel73limits nodes displayedmode of operationnameset capture filterset interface to listen totest labelProject-Id-Version: etherape 0.9.0-9 Report-Msgid-Bugs-To: PO-Revision-Date: 2005-12-12 22:23+0100 Last-Translator: Daniel Nylander Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit i IP-läge i TCP-lägeAckum trafikAckum. trafik (In+Ut)Ackum. trafik (Ingående)Ackum. trafik (Utgående)AckumuleradTillgängliga nätverksgränssnitt för fångst:Genomsnittlig tid (ms)Fångstgränssnitt inställd till %s i grafiska gränsnittetVälj hur nodradien och länkbredd räknas fram som en funktion av medeltrafikenFärgFärgerSkapar canvas_node: %s. Antal noder %dDiagramDiagram pausadDiagram startadDiagram stoppadVisa protokollfönstretEtherApe: EgenskaperEtherApe: ProtokollEtherApe: tilldela protokollMom. trafikNuvar. trafik (In+Ut)Nuvar. trafik (Ingående)Nuvar. trafik (Utgående)MomentanSenast hördSenast hörd: Lager 2 (ETH_II)Lager 3 (IP)Lager 4 (TCP)Lager 5 (HTTP)LinjärHuvudprotokoll för länk: %sLogaritmiskLäge satt till %s i grafiska gränsnittetInget prot_info_window i on_prot_info_delete_eventInget prot_name i on_prot_info_delete_eventInga lämpliga nätverksgränssnitt för fångst har hittatsNoderNumeriskt namn:Paketinformation är genomsnittlig för denna tidPaketPausPausa infångstPausadEgensk.Egenskaper (Ctrl-P)ProtoProtokollProtokollLäser data från Klar att fånga in från Uppdatera diagram enligt detta val (millisekunder)Ta bort denna nod från diagrammet efter så här lång tid. 0 betyder aldrig.SparaVälj färgStäll in vilken nivå i protokollstacken som visas i förklaringenKvadratrotSt_oppStartStarta infångstStoppStoppa infångstVäxla visning av nodnamnen på toppen av nodernaMest kända protkollOkänt värde eller node_size_variableOkänt läge. Kör etherape --help för en lista av lägenVi kunde inte läsa in gränssnittet! (%s)Fånga in_IP_NätverksgränssnittFörk_larningLäge_Paus_Protokoll_Statuslist_TCPVerk_tygslistförvalt nätverksgränssnittkonvertera inte addresser till namnvisa inte någon textidentifiering för noderlabel73begränsar att visade noderoperationslägenamnsätt fångstfilterställ in gränssnitt att lyssna på testetikettetherape-0.9.20/po/Rules-quot0000644000175000017500000000323111220500634012731 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header etherape-0.9.20/po/Makevars0000644000175000017500000000207311220500634012425 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = etherape-0.9.20/po/quot.sed0000644000175000017500000000023111220500634012410 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g etherape-0.9.20/po/nl.gmo0000644000175000017500000001372314050232250012052 00000000000000W   !!-O"cU,  ' 7 G d z       2 E L c o 0 ) 3   6( _ e s z     + N J O ?\    ?  #0 9T %         *:em )  0Gbz,2Fd1l4H]du >7X5 2  ) 4? S _kBX@H8X-% 83'l     #6%\%d  W!E.76 J3O-/G9PM<LK",IB >VU S$?#HR&=4 *T1'5+QF%;):CAN28 @0D( in IP mode in TCP modeAccum. traffic (In+Out)Accum. traffic (Inbound)Accum. traffic (Outbound)AccumulatedAvailable interfaces for capture:Averaging Time (ms)Capture interface set to %s in GUIChoose how node radius and link width are calculated as a function of average trafficColorsCreating canvas_node: %s. Number of nodes %dDiagramDiagram pausedDiagram startedDiagram stoppedDisplay the protocols windowEtherApe: PreferencesEtherApe: ProtocolsInstant. traffic (In+Out)Instant. traffic (Inbound)Instant. traffic (Outbound)InstantaneousLast Heard: Level 2 (Eg: ETH_II)Level 3 (Eg: IP)Level 4 (Eg: TCP)Level 5 (Eg: HTTP)LinearLink main protocol: %sLogarithmicMode set to %s in GUINo prot_info_window in on_prot_info_delete_eventNo prot_name in on_prot_info_delete_eventNo suitables interfaces for capture have been foundNodesNumeric Name:Packet information is averaged for this amount of timePausePause capturePausedPref.Preferences (Ctrl-P)Prot.ProtocolsReading data from Ready to capture from Refresh diagram every this many milisecondsRemove this node from the diagram after this much time. 0 means never timeout.SaveSelect colorSet what level of the protocol stack is displayed in the legendSquare RootSt_opStartStart captureStopStop captureToggle whether the node names are displayed on top of the nodesTopmost recognized protocolUnknown value or node_size_variableUnrecognized mode. Do etherape --help for a list of modesWe could not load the interface! (%s)_Capture_IP_Interfaces_Legend_Mode_Pause_Protocols_Status Bar_TCP_Toolbardefault interfacedon't convert addresses to namesdon't display any node text identificationlabel73limits nodes displayedmode of operationnameset capture filterset interface to listen totest labelProject-Id-Version: Etherape 0.8 Report-Msgid-Bugs-To: PO-Revision-Date: 2001-07-31 15:17+0200 Last-Translator: Vincent van Adrighem Language-Team: Dutch Language: nl MIME-Version: (null) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit in IP modus in TCP modus<weergavefilter><interface naam><aantal knooppunten>Totaal verkeer (in+uit)Totaal verkeer (in)Totaal verkeer (uit)TotaalBeschikbare interfaces om naar te luisteren:Uitmiddeltijd (ms)Er wordt geluisterd naar de interface %s in de GUIKies de manier waarop lijnbreedte en knooppuntsgrootte worden berekendKleurenNieuw canvas_knooppunt: %s. Aantal knooppunten %dDiagramDiagram gepauzeerdDiagram gestartDiagram gestoptToon protocollenvensterEtherApe: VoorkeurenEtherApe: ProtocollenDirect verkeer (in+uit)Direct verkeer (in)Direct verkeer (uit)DirectLaatst gehoord: Niveau 2 (Bv: ETH_II)Niveau 3 (Bv: IP)Niveau 4 (Bv: TCP)Niveau 5 (Bv: HTTP)LineairHoofdprotocol van deze lijn: %sLogaritmisch%s-modus ingeschakeld in de GUIGeen prot_info_window bij de functie on_prot_info_delete_eventGeen prot_name bij de functie on_prot_info_delete_eventEr zijn geen interfaces gevonden om naar te luisteren_KnooppuntenAdres:De informatie wordt uitgemiddeld over zo veel tijdPauzePauzeer het luisterenGepauzeerdVoorkeurenVoorkeuren (Ctrl-P)ProtocollenProtocollenData wordt ingelezen vanuit Klaar om te luisteren naar Wacht zo veel milliseconden tussen de verversingen van het diagramVerwijder dit knooppunt uit het diagram nadat deze zo lang niets heeft gedaan. 0 = nooitOpslaanSelecteer KleurProtocolniveau wat weergegeven moet worden in de legendaWortelS_topStartStart het luisterenStopStop het luisterenSchakel tekstweergave in het diagram aan/uit.Hoogste niveauObekende waarde of node_size_variableModus niet herkend. Type etherape --help voor een lijst.We konden de interface niet laden! (%s)_Luisteren_IP_Interfaces_Legenda_Modus_Pauze_Protocollen_Statusbalk_TCP_Werkbalkstandaardinterfaceconverteer adressen niet naar namengeef geen enkele identificatie van de knooppunten weerlabel73beperk aantal weergegeven knooppuntenluister-modusnaamweergavefilterluister naar deze interfacetest labeletherape-0.9.20/po/de.po0000644000175000017500000010061514050232250011662 00000000000000# Translation of etherape to German # Copyright (C) 2000 Juan Toledo . # This file is distributed under the same license as the etherape package. # Chris Leick , 2009-2017 # msgid "" msgstr "" "Project-Id-Version: etherape 0.9.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2017-11-18 12:37+0200\n" "Last-Translator: Chris Leick \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" # https://de.wikipedia.org/wiki/Glade_(Programmierwerkzeug) #: src/appdata.c:83 #, fuzzy, c-format msgid "Could not load interface file '%s'!: %s" msgstr "Die Glade-Schnittstellendatei »%s« konnte nicht geladen werden." #: src/datastructs.c:385 #, c-format msgid "%s protocol not supported" msgstr "Protokoll %s nicht unterstützt" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" "Knoten: %d (auf Zeichenfläche: %d, angezeigt: %u), Verweise: %d, Gespräche: " "%ld, Namen %ld, Protokolle %ld. Gesamt gesehene Pakete: %lu (im Speicher: " "%ld, auf der Liste %ld). IP-Zwischenspeichereinträge %ld. " "Zeichenflächenobjekte: %ld. Aktualisiert: %u ms" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "(Statistiken erfassen, die im Offline-Modus nicht verfügbar sind)" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "gefälschte statspos_t (%d) pref.pcap_stats_pos" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "SIGUSR1 empfangen: Export nach %s" #: src/diagram.c:976 msgid "Canvas node null" msgstr "Zeichenflächenknoten null" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "canvas_node wird erzeugt: %s. Anzahl der Knoten %d" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "Wert oder node_size_variable unbekannt" #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "Unbekannter Wert für link_size_variable" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "Verweishauptprotokoll: %s" #: src/diagram.c:1734 #, fuzzy msgid "Link main protocol: unknown" msgstr "Unbekanntes Verweishauptprotokoll" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" "»recv«: Pakete empfangen; »drop«: Pakete durch Betriebssystempufferung " "verworfen; »ifdrop« Pakete durch Schnittstelle oder Treiber verworfen." #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "Die Schnittstelle konnte nicht geladen werden. (%s)" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "Kein prot_name in on_prot_info_delete_event" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "Kein prot_info_window in on_prot_info_delete_event" #: src/info_windows.c:438 src/pref_dialog.c:486 #, fuzzy msgid "Protocol" msgstr "Protokolle" #: src/info_windows.c:439 msgid "Port" msgstr "" #: src/info_windows.c:440 src/node_windows.c:224 msgid "Inst Traffic" msgstr "" #: src/info_windows.c:441 src/node_windows.c:225 msgid "Accum Traffic" msgstr "" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" #: src/info_windows.c:443 src/node_windows.c:227 #, fuzzy msgid "Last Heard" msgstr "Zuletzt gehört:" #: src/info_windows.c:444 src/node_windows.c:228 msgid "Packets" msgstr "" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 msgid "Node timed out" msgstr "Zeit des Knotens abgelaufen" #: src/info_windows.c:989 msgid "B->A" msgstr "B->A" #: src/info_windows.c:990 msgid "A->B" msgstr "A->B" #: src/info_windows.c:996 msgid "Link timed out" msgstr "Zeit des Verweises abgelaufen" #: src/main.c:96 msgid "don't display any node text identification" msgstr "keinen Knotenidentifizierungstext anzeigen" #: src/main.c:98 msgid "replay packets from file" msgstr "Pakete aus Datei erneut abspielen" #: src/main.c:98 msgid "" msgstr "" #: src/main.c:100 msgid "set capture filter" msgstr "Erfassungsfilter setzen" #: src/main.c:100 msgid "" msgstr "" #: src/main.c:102 msgid "set interface to listen to" msgstr "Schnittstelle angeben, auf der gelauscht werden soll" #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "am Ende der Wiedergabe in genannte Datei exportieren" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" # USR1 ist ein Signal #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "beim Empfang von USR1 in genannte Datei exportieren" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "Knoten von Hand auf Basis der Datei positionieren" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "Knoten nicht umherbewegen (missbilligt)" #: src/main.c:112 msgid "limits nodes displayed" msgstr "beschränkt angezeigte Knoten" #: src/main.c:112 msgid "" msgstr "" #: src/main.c:114 msgid "mode of operation" msgstr "Operationsmodus" #: src/main.c:114 msgid "" msgstr "" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "Adressen nicht in Namen umwandeln" #: src/main.c:118 msgid "Disable informational messages" msgstr "Informative Nachrichten deaktivieren" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" "minimale Paketverzögerung in ms für das Lesen der Erfassungsdateien [nur " "Befehlszeile]" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" "maximale Paketverzögerung in ms für das Lesen der Erfassungsdateien [nur " "Befehlszeile]" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "benutzt die genannte Libglade-Datei für Widgets" # http://de.wikipedia.org/wiki/Glade #: src/main.c:126 msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "als angegebener Benutzer ausführen" #: src/main.c:130 msgid "" msgstr "" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "" "Modus wurde nicht erkannt. Führen Sie »etherape --help« aus, um eine Liste " "der Modi zu erhalten" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "Initialisieren des DNS-Auflösers fehlgeschlagen" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "ungültige Positionsdateizeile: %s" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "Spaltennummer %ld außerhalb des Bereichs" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "Lesen von Positionsdatei %s fehlgeschlagen: %s" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "Ergebnis von get_interface: »%s«" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "Es wurden keine zur Erfassung geeigneten Schnittstellen gefunden." #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "Verfügbare Schnittstellen für die Erfassung:" #: src/menus.c:101 #, fuzzy msgid "Open Capture File" msgstr "_Erfassungsfilter" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" #: src/menus.c:105 msgid "_Open" msgstr "" #: src/menus.c:130 msgid "Export to XML File" msgstr "" #: src/menus.c:134 #, fuzzy msgid "_Save" msgstr "Speichern" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "Erfassungsschnittstelle in GUI auf %s gesetzt" #: src/menus.c:206 #, fuzzy msgid "Unsupported mode in on_mode_radio_activate" msgstr "Affenmodus wird in node_id_compare nicht unterstützt" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "Modus in GUI auf %s gesetzt" #: src/menus.c:349 msgid "-unknown-" msgstr "-unbekannt-" #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "Status bei gui_start_capture ist bereits PLAY" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "Ungültiger Modus: %d" #: src/menus.c:453 msgid "Reading data from " msgstr "Daten werden gelesen von " #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "Standardschnittstelle" # https://de.wikipedia.org/wiki/OSI-Modell #: src/menus.c:465 msgid " in Data Link mode" msgstr " im Sicherungsschichtmodus" #: src/menus.c:468 msgid " in IP mode" msgstr " im IP-Modus" #: src/menus.c:471 msgid " in TCP mode" msgstr " im TCP-Modus" #: src/menus.c:483 msgid "Diagram started" msgstr "Diagramm gestartet" #: src/menus.c:505 msgid "Paused" msgstr "Pausiert" #: src/menus.c:507 msgid "Diagram paused" msgstr "Diagramm pausiert" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "Erneutes Abspielen von Datei »%s« abgeschlossen" #: src/menus.c:553 #, fuzzy, c-format msgid "Failed to stop capture: %s" msgstr "Lesen von Positionsdatei %s fehlgeschlagen: %s" #: src/menus.c:567 msgid "Ready to capture from " msgstr "Bereit zur Erfassung von " #: src/menus.c:579 msgid "Diagram stopped" msgstr "Diagramm gestoppt" #: src/node_windows.c:222 msgid "Name" msgstr "" #: src/node_windows.c:223 msgid "Address" msgstr "" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "Korrekturwert: %g. Radiusmultiplikator %g" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "Korrekturwert: %g. Innerer Skalenring %g" #: src/pref_dialog.c:482 #, fuzzy msgid "Color" msgstr "Farben" #: src/preferences.c:373 #, c-format msgid "Preferences saved to %s" msgstr "Einstellungen unter %s gespeichert" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "Fehler beim Speichern der Einstellungen unter »%s«: %s" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "Nachrichtenempfang vom Datenpaketerfassungsprozess fehlgeschlagen" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "Nachrichtversand an Datenpaketerfassungsprozess fehlgeschlagen" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "Datenpaketempfang vom Datenpaketerfassungsprozess fehlgeschlagen" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "Setzen von Umgebungsvariable %s auf »%s« fehlgeschlagen: %s" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "unbekannter Benutzer »%s«" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "Wechsel zu Benutzer »%s« fehlgeschlagen (uid=%lu, gid=%lu): %s" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" "%s benutzt den nicht unterstützten Verweistyp %d, fortfahren nicht möglich. " "Bitte benutzen Sie eine andere Quelle." #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" "Dieses Gerät unterstützt den Sicherungsschichtmodus nicht. Bitte benutzen " "Sie IP- oder TCP-Modi." #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" "erfasste Daten unzureichend, Protokolldekodierung für »%s« (Ebene %d) wird " "beendet" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" "erfasste Daten unzureichend, Protokolldekodierung wird auf Ebene %d beendet" #: src/names/names.c:221 msgid "Unsupported ape mode in fill_node_id" msgstr "Affenmodus wird in fill_node_id nicht unterstützt" #: src/stats/decode_proto.c:192 #, c-format msgid "Link type is %s" msgstr "Verweistyp ist %s" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "Sicherungsschichteintrag nicht initialisiert" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "Radiotap: erfasste Größe zu klein, Paket verworfen" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "PPI: erfasste Größe zu klein, Paket verworfen" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "PPI: nicht unterstützter Verweistyp %u, Paket verworfen" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "wlan: erfasste Größe zu klein (weniger als 10 Bytes), Paket verworfen" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "Ungültiges Tofromds-Feld im WLAN-Paket: 0x%x" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" "wlan: erfasste Größe zu klein (%u gelesen, %u benötigt), Paket verworfen" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" "wlan: erfasste Größe zu klein (%u gelesen, %u benötigt), Paket verworfen" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "wlan: Frame-Typ 0x%x ist reserviert, Dekodieren abgebrochen" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "wlan: unbekanntes Frame-Typ 0x%x, Dekodieren abgebrochen" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "Verweis zum Entfernen in Warteschlange stellen" #: src/stats/links.c:284 #, c-format msgid "New link: %s. Number of links %d" msgstr "Neuer Verweis: %s. Anzahl der Verweise %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "Aktualisierte Verweise. Aktive Verweise %d" #: src/stats/node.c:108 #, c-format msgid "New node: %s. Number of nodes %d" msgstr "Neuer Knoten: %s. Anzahl der Knoten %d" #: src/stats/node.c:132 #, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Knoten löschen: %s. Anzahl der Knoten %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "Knoten »%s« wird zum Entfernen in die Warteschlange gestellt" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "Aktualisierte Knoten. Aktive Knoten %d" #: src/stats/node_id.c:69 msgid "Unsupported ape mode in node_id_compare" msgstr "Affenmodus wird in node_id_compare nicht unterstützt" #: src/stats/util.c:313 #, c-format msgid "%ld\" ago" msgstr "%ld\" vorher" #: src/stats/util.c:318 #, c-format msgid "%ld'%ld\" ago" msgstr "%ld'%ld\" vorher" #: glade/etherape.ui:12 msgid "A Graphical Network Browser." msgstr "Ein grafischer Netzwerk-Browser" #: glade/etherape.ui:40 #, fuzzy msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" "Vincent van Adrighem \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" #: glade/etherape.ui:176 msgid "_File" msgstr "_Datei:" #: glade/etherape.ui:195 msgid "_export" msgstr "E_xport" #: glade/etherape.ui:234 msgid "_Capture" msgstr "Erfassun_g" #: glade/etherape.ui:243 msgid "_Mode" msgstr "M_odus" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "Si_cherungsschicht" #: glade/etherape.ui:274 msgid "_IP" msgstr "_IP" #: glade/etherape.ui:288 msgid "_TCP" msgstr "TC_P" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "Schnittste_llen" #: glade/etherape.ui:343 #, fuzzy msgid "_Pause" msgstr "Pause" #: glade/etherape.ui:356 msgid "St_op" msgstr "" #: glade/etherape.ui:375 msgid "_View" msgstr "Ansic_ht" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "Proto_kolle" #: glade/etherape.ui:394 msgid "_Nodes" msgstr "Kno_ten" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "_Vollbild" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "_Werkzeugleiste" #: glade/etherape.ui:431 msgid "_Legend" msgstr "Erkl_ärung" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "Status_leiste" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "_Hilfe" #: glade/etherape.ui:522 msgid "Start capture" msgstr "Erfassung starten" #: glade/etherape.ui:523 msgid "Start" msgstr "Start" #: glade/etherape.ui:537 msgid "Next" msgstr "Nächster" #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Erfassung pausieren" #: glade/etherape.ui:553 msgid "Pause" msgstr "Pause" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Erfassung stoppen" #: glade/etherape.ui:569 msgid "Stop" msgstr "Stopp" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Einstellungen (Ctrl-P)" #: glade/etherape.ui:595 msgid "Pref." msgstr "Einst." #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Protokollfenster anzeigen" #: glade/etherape.ui:612 msgid "Prot." msgstr "Prot." #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "Knoten" #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protokolle" #: glade/etherape.ui:741 msgid "Select color" msgstr "Farbe auswählen" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "" #: glade/etherape.ui:858 msgid "Instant. packets (In+Out)" msgstr "" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "" #: glade/etherape.ui:870 msgid "Accum. packets (In+Out)" msgstr "" #: glade/etherape.ui:873 #, fuzzy msgid "Average pkt size (In+Out)" msgstr "Durchschnittsgröße" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" #: glade/etherape.ui:907 msgid "Linear" msgstr "" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "" #: glade/etherape.ui:913 msgid "Square Root" msgstr "" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Einstellungen" #: glade/etherape.ui:935 msgid "Save" msgstr "Speichern" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "Änderungen in Einstellungsdatei speichern" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "Änderungen bestätigen" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "Änderungen abbrechen" #: glade/etherape.ui:1017 msgid "Protocol Stack _Level" msgstr "P_rotokollstapelebene" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "" "Stellen Sie ein, welche Ebene des Protokollstapels in der Beschriftung " "angezeigt wird" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" "Die Statistik, die zum Berechnen der Knoten- und Verweisgrößen benutzt wird" #: glade/etherape.ui:1063 msgid "Size _Variable" msgstr "Gr_ößenvariable" # FIXME instantaneous #: glade/etherape.ui:1077 msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" "Die Art des momentanen oder angesammelten Verkehrs setzen, der den " "Knotenradius angibt." #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "_Innerer Skalenring" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "innerer Ringradius als Bruchteil der äußeren Ringgröße" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "PCAP-_Statistiken anzeigen:" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" "Einstellen, wohin PCAP-Statistiken angezeigt werden: empfangene Datenpakete, " "durch Betriebssystempufferung verworfene und durch die Schnittstelle oder " "den Treiber verworfene" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "Knotenradius-_Multiplikator" #: glade/etherape.ui:1235 msgid "Size _Mode" msgstr "Grö_ßenmodus" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" "Wählen Sie, wie der Knotenradius und die Verweisbreite als Funktion des " "Durchschnittsverkehrs berechnet werden" #: glade/etherape.ui:1276 msgid "_Hide node names" msgstr "Knotennamen _verstecken" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "Umschalten, ob die Knotennamen oben auf den Knoten angezeigt werden" #: glade/etherape.ui:1293 msgid "_Group unknown ports" msgstr "_Unbekannte Ports zusammenfassen" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "_Namensauflösung" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" "Namensauflösung einschalten. Wenn dies nicht markiert ist, sind alle " "Adressen in numerischer Form." #: glade/etherape.ui:1354 msgid "_Capture filter" msgstr "_Erfassungsfilter" #: glade/etherape.ui:1367 msgid "Sets the capture filter" msgstr "Setzt den Erfassungsfilter" #: glade/etherape.ui:1398 msgid "Node Label _Font" msgstr "Schrift_art der Knotenbeschriftung" #: glade/etherape.ui:1413 msgid "Node Label Font" msgstr "Schriftart der Knotenbeschriftung" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "_Farbe der Knotenbeschriftung" #: glade/etherape.ui:1454 msgid "Choose the color used to display node labels" msgstr "" "Wählen Sie die Farbe aus, die zu Anzeige der Knotenbeschriftungen benutzt " "wird" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "Wählen sie eine Farbe" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "_zentraler Knoten" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "optionaler zentraler Knoten" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "Hintergrundbild" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "_Hintergrundbild verwenden" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "Auswahl eines Hintergrundbilds für die Hauptansicht aktivieren" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Diagramm" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 #, fuzzy msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" "Eine neue Farbe zu der Farbenliste hinzufügen, die benutzt werden kann, um " "Protokolle darzustellen" #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Farbe entfernen" #: glade/etherape.ui:1666 #, fuzzy msgid "remove the selected row" msgstr "Ändert die Farbe der ausgewählten Zeile" #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Protokoll bearbeiten" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "Farben" #: glade/etherape.ui:1755 msgid "Diagram Refresh _Period (ms)" msgstr "Diagrammaktualisierungs_periode (ms)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Diagramm wird nach so vielen Millisekunden aktualisiert" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Durchschnittszeit (ms)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "Paketinformation ist für diesen Zeitwert gemittelt" #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" "Diesen Knoten nach so viel Zeit aus dem Diagramm entfernen. 0 bedeutet, dass " "es keine Zeitüberschreitung gibt" #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" "Diesen Verweis nach so viel Zeit aus dem Diagramm entfernen. 0 bedeutet, " "dass es keine Zeitüberschreitung gibt" #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Verweis-Zeitüberschreitungen (s)" #: glade/etherape.ui:2000 msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "" "Protokollstatistiken für einen Knoten nach so viel Zeit beenden. 0 bedeutet, " "dass es keine Zeitüberschreitung gibt" #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" "Diesen Verweis nach so viel Zeit aus dem Diagramm entfernen. 0 bedeutet, " "dass es keine Zeitüberschreitung gibt" #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Verweis-Zeitüberschreitungen (s)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Verkehrsstatistiken" #: glade/etherape.ui:2125 msgid "Remove this protocol from memory after this much time. " msgstr "Dieses Protokoll nach so viel Zeit aus dem Speicher löschen." #: glade/etherape.ui:2156 msgid "Global Protocol Timeouts (s)" msgstr "Globale Protokoll-Zeitüberschreitungen (s)" #: glade/etherape.ui:2199 msgid "Timings" msgstr "Zeiteinteilungen" #: glade/etherape.ui:2229 msgid "WWW" msgstr "WWW" #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "EtherApe: Protokoll zuordnen" #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Protokollnamen eintippen …" #: glade/etherape.ui:2327 msgid "Type the protocol name" msgstr "Den Protokollnamen eintippen" #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "Farben" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "Numerischer Name:" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "Aufgelöster Name:" #: glade/etherape.ui:2517 msgid "node A" msgstr "Knoten A" #: glade/etherape.ui:2528 msgid "node B" msgstr "Knoten B" #: glade/etherape.ui:2587 msgid "Total" msgstr "Gesamt" #: glade/etherape.ui:2599 msgid "Inbound" msgstr "Eingehend" #: glade/etherape.ui:2612 msgid "Outbound" msgstr "Ausgehend" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "augenblicklich" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "angesammelt" #: glade/etherape.ui:2693 msgid "Average size" msgstr "Durchschnittsgröße" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "Alle Knoten an_zeigen" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" "Steuert die Anzeige von Knoten, deren Zeit im Diagramm überschritten war, " "die aber immer noch im Speicher sind" #: glade/etherape.ui:2861 msgid "name" msgstr "Name" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Zuletzt gehört:" #: glade/etherape.ui:2899 msgid "label73" msgstr "label73" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "Testbeschriftung" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Protokolle" #~ msgid "Add color" #~ msgstr "Farbe hinzufügen" #~ msgid "Change color" #~ msgstr "Farbe ändern" #, c-format #~ msgid "Adjustment value: %g. Link-node ratio %g" #~ msgstr "Korrekturwert: %g. Verweisknotenverhältnis %g" #~ msgid "Link _Width - Node Radius Ratio" #~ msgstr "Verhältnis Verweis_breite - Knotenradius" #~ msgid "Ratio between link width and node radius" #~ msgstr "Verhältnis zwischen Verweisbreite und Knotenradius" #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Diesen Knoten nach so viel Zeit aus dem Speicher löschen. 0 bedeutet, " #~ "dass es keine Zeitüberschreitung gibt" #~ msgid "Protocol Statistics" #~ msgstr "Protokollstatistiken" #~ msgid "Node Timeouts (s)" #~ msgstr "Knoten-Zeitüberschreitungen (s)" #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Diesen Verweis nach so viel Zeit aus dem Speicher löschen. 0 bedeutet, " #~ "dass es keine Zeitüberschreitung gibt." #~ msgid "EtherApe" #~ msgstr "EtherApe" #~ msgid "%d/%d %d:%d" #~ msgstr "%d/%d %d:%d" #, fuzzy #~ msgid "Copyright 2001-2018 Juan Toledo, Riccardo Ghetta" #~ msgstr "Copyright 2001-2013 Juan Toledo, Riccardo Ghetta" #~ msgid "Unable to allocate color for new protocol %s" #~ msgstr "Neuem Protokoll %s kann keine Farbe zugewiesen werden" #~ msgid "" #~ "Topmost recognized protocol\n" #~ "Level 2 (Eg: ETH_II)\n" #~ "Level 3 (Eg: IP)\n" #~ "Level 4 (Eg: TCP)\n" #~ "Level 5 (Eg: HTTP)" #~ msgstr "" #~ "Höchstes erkanntes Protokoll\n" #~ "Ebene 2 (z.B.: ETH_II)\n" #~ "Ebene 3 (z.B.: IP)\n" #~ "Ebene 4 (z.B.: TCP)\n" #~ "Ebene 5 (z.B.: HTTP)" #~ msgid "" #~ "Instant. traffic (In+Out)\n" #~ "Instant. traffic (Inbound)\n" #~ "Instant. traffic (Outbound)\n" #~ "Instant. packets (In+Out)\n" #~ "Accum. traffic (In+Out)\n" #~ "Accum. traffic (Inbound)\n" #~ "Accum. traffic (Outbound)\n" #~ "Accum. packets (In+Out)\n" #~ "Average pkt size (In+Out)\n" #~ msgstr "" #~ "momentaner Verkehr (ein+aus)\n" #~ "momentaner Verkehr (eingehend)\n" #~ "momentaner Verkehr (ausgehend)\n" #~ "momentaner Pakete (ein+aus)\n" #~ "summierter Verkehr (ein+aus)\n" #~ "summierter Verkehr (eingehend)\n" #~ "summierter Verkehr (ausgehend)\n" #~ "summierter Pakete (ein+aus)\n" #~ "durchschnittliche Paketgröße (ein+aus)\n" #~ msgid "" #~ "(Off)\n" #~ "Upper left\n" #~ "Upper right\n" #~ "Lower left\n" #~ "Lower right" #~ msgstr "" #~ "(Aus)\n" #~ "Oben links\n" #~ "Oben rechts\n" #~ "Unten links\n" #~ "Unten rechts" #~ msgid "" #~ "Linear\n" #~ "Logarithmic\n" #~ "Square Root" #~ msgstr "" #~ "Linear\n" #~ "Logarithmisch\n" #~ "Quadratwurzel" #~ msgid "Export node data as xml" #~ msgstr "Knotendaten als XML exportieren" #~ msgid "Set Link Layer (OSI level 2) mode" #~ msgstr "Sicherungsschichtmodus (OSI-Schicht 2) setzen" #~ msgid "Set IP mode" #~ msgstr "IP-Modus setzen" #~ msgid "Set TCP mode" #~ msgstr "TCP-Modus setzen" #~ msgid "advances to next packet" #~ msgstr "zu nächstem Paket fortschreiten" #~ msgid "Show or hide the protocols window" #~ msgstr "Das Protokollfenster anzeigen oder verstecken" #~ msgid "Show or hide the nodes window" #~ msgstr "Das Knotenfenster anzeigen oder verstecken" #~ msgid "Activate full screen mode" #~ msgstr "Vollbildmodus aktivieren" #~ msgid "Show or hide the toolbar" #~ msgstr "Die Werkzeugleiste anzeigen oder verstecken" #~ msgid "Show or hide the legend" #~ msgstr "Die Beschriftung anzeigen oder verstecken" #~ msgid "Show or hide the status bar" #~ msgstr "Die Statusleiste anzeigen oder verstecken" etherape-0.9.20/po/sv.po0000644000175000017500000010602614050232250011724 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: etherape 0.9.0-9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2005-12-12 22:23+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/appdata.c:83 #, fuzzy, c-format msgid "Could not load interface file '%s'!: %s" msgstr "Vi kunde inte läsa in gränssnittet! (%s)" #: src/datastructs.c:385 #, fuzzy, c-format msgid "%s protocol not supported" msgstr "DDP-protokoll stöds inte i %s" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "" #: src/diagram.c:976 msgid "Canvas node null" msgstr "" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "Skapar canvas_node: %s. Antal noder %d" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "Okänt värde eller node_size_variable" #: src/diagram.c:1686 #, fuzzy msgid "Unknown value for link_size_variable" msgstr "Okänt värde eller node_size_variable" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "Huvudprotokoll för länk: %s" #: src/diagram.c:1734 #, fuzzy msgid "Link main protocol: unknown" msgstr "Huvudprotokoll för länk okänt" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "Vi kunde inte läsa in gränssnittet! (%s)" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "Inget prot_name i on_prot_info_delete_event" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "Inget prot_info_window i on_prot_info_delete_event" #: src/info_windows.c:438 src/pref_dialog.c:486 msgid "Protocol" msgstr "Protokoll" #: src/info_windows.c:439 msgid "Port" msgstr "" #: src/info_windows.c:440 src/node_windows.c:224 msgid "Inst Traffic" msgstr "Mom. trafik" #: src/info_windows.c:441 src/node_windows.c:225 msgid "Accum Traffic" msgstr "Ackum trafik" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" #: src/info_windows.c:443 src/node_windows.c:227 msgid "Last Heard" msgstr "Senast hörd" #: src/info_windows.c:444 src/node_windows.c:228 msgid "Packets" msgstr "Paket" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 #, fuzzy msgid "Node timed out" msgstr "Nod-timeout (ms)" #: src/info_windows.c:989 msgid "B->A" msgstr "" #: src/info_windows.c:990 msgid "A->B" msgstr "" #: src/info_windows.c:996 #, fuzzy msgid "Link timed out" msgstr "Länk-timeout (ms)" #: src/main.c:96 msgid "don't display any node text identification" msgstr "visa inte någon textidentifiering för noder" #: src/main.c:98 msgid "replay packets from file" msgstr "" #: src/main.c:98 msgid "" msgstr "" #: src/main.c:100 msgid "set capture filter" msgstr "sätt fångstfilter" #: src/main.c:100 msgid "" msgstr "" #: src/main.c:102 msgid "set interface to listen to" msgstr "ställ in gränssnitt att lyssna på " #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 #, fuzzy msgid "don't move nodes around (deprecated)" msgstr "flytta inte runt noder" #: src/main.c:112 msgid "limits nodes displayed" msgstr "begränsar att visade noder" #: src/main.c:112 msgid "" msgstr "" #: src/main.c:114 msgid "mode of operation" msgstr "operationsläge" #: src/main.c:114 msgid "" msgstr "" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "konvertera inte addresser till namn" #: src/main.c:118 msgid "Disable informational messages" msgstr "" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "" #: src/main.c:126 #, fuzzy msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "" #: src/main.c:130 #, fuzzy msgid "" msgstr "" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "Okänt läge. Kör etherape --help för en lista av lägen" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "Inga lämpliga nätverksgränssnitt för fångst har hittats" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "Tillgängliga nätverksgränssnitt för fångst:" #: src/menus.c:101 #, fuzzy msgid "Open Capture File" msgstr "EtherApe: Öppna fångstfil" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" #: src/menus.c:105 msgid "_Open" msgstr "" #: src/menus.c:130 msgid "Export to XML File" msgstr "" #: src/menus.c:134 #, fuzzy msgid "_Save" msgstr "Spara" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "Fångstgränssnitt inställd till %s i grafiska gränsnittet" #: src/menus.c:206 #, fuzzy msgid "Unsupported mode in on_mode_radio_activate" msgstr "Ej stöd för ape-läge i get_link_id" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "Läge satt till %s i grafiska gränsnittet" #: src/menus.c:349 msgid "-unknown-" msgstr "" #: src/menus.c:412 #, fuzzy msgid "Status already PLAY at gui_start_capture" msgstr "Status är inte PLAY vid gui_pause_capture" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "" #: src/menus.c:453 msgid "Reading data from " msgstr "Läser data från " #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "förvalt nätverksgränssnitt" #: src/menus.c:465 #, fuzzy msgid " in Data Link mode" msgstr " i UDP-läge" #: src/menus.c:468 msgid " in IP mode" msgstr " i IP-läge" #: src/menus.c:471 msgid " in TCP mode" msgstr " i TCP-läge" #: src/menus.c:483 msgid "Diagram started" msgstr "Diagram startad" #: src/menus.c:505 msgid "Paused" msgstr "Pausad" #: src/menus.c:507 msgid "Diagram paused" msgstr "Diagram pausad" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "" #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "" #: src/menus.c:567 msgid "Ready to capture from " msgstr "Klar att fånga in från " #: src/menus.c:579 msgid "Diagram stopped" msgstr "Diagram stoppad" #: src/node_windows.c:222 #, fuzzy msgid "Name" msgstr "Namn" #: src/node_windows.c:223 msgid "Address" msgstr "" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "" #: src/pref_dialog.c:482 msgid "Color" msgstr "Färg" #: src/preferences.c:373 #, fuzzy, c-format msgid "Preferences saved to %s" msgstr "Egenskaper sparade" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" #: src/names/names.c:221 #, fuzzy msgid "Unsupported ape mode in fill_node_id" msgstr "Ej stöd för ape-läge i get_link_id" #: src/stats/decode_proto.c:192 #, fuzzy, c-format msgid "Link type is %s" msgstr "Länktyp är RAW" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "" #: src/stats/links.c:284 #, fuzzy, c-format msgid "New link: %s. Number of links %d" msgstr "Skapar länk: %s-%s. Antal länkar %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "" #: src/stats/node.c:108 #, fuzzy, c-format msgid "New node: %s. Number of nodes %d" msgstr "Skapar nod: %s. Antal noder %d" #: src/stats/node.c:132 #, fuzzy, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Skapar nod: %s. Antal noder %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "" #: src/stats/node_id.c:69 #, fuzzy msgid "Unsupported ape mode in node_id_compare" msgstr "Ej stöd för ape-läge i get_link_id" #: src/stats/util.c:313 #, fuzzy, c-format msgid "%ld\" ago" msgstr "%d\" sedan" #: src/stats/util.c:318 #, fuzzy, c-format msgid "%ld'%ld\" ago" msgstr "%d'%d\" sedan" #: glade/etherape.ui:12 #, fuzzy msgid "A Graphical Network Browser." msgstr "" "En grafisk nätverksbläddrare.\n" "Webb: http://etherape.sourceforge.net" #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" #: glade/etherape.ui:176 #, fuzzy msgid "_File" msgstr "Fil:" #: glade/etherape.ui:195 msgid "_export" msgstr "" #: glade/etherape.ui:234 msgid "_Capture" msgstr "Fånga in" #: glade/etherape.ui:243 msgid "_Mode" msgstr "Läge" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "" #: glade/etherape.ui:274 msgid "_IP" msgstr "_IP" #: glade/etherape.ui:288 msgid "_TCP" msgstr "_TCP" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "_Nätverksgränssnitt" #: glade/etherape.ui:343 msgid "_Pause" msgstr "_Paus" #: glade/etherape.ui:356 msgid "St_op" msgstr "St_opp" #: glade/etherape.ui:375 msgid "_View" msgstr "" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "_Protokoll" #: glade/etherape.ui:394 #, fuzzy msgid "_Nodes" msgstr "Noder" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "Verk_tygslist" #: glade/etherape.ui:431 msgid "_Legend" msgstr "Förk_larning" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "_Statuslist" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "" #: glade/etherape.ui:522 msgid "Start capture" msgstr "Starta infångst" #: glade/etherape.ui:523 msgid "Start" msgstr "Start" #: glade/etherape.ui:537 msgid "Next" msgstr "" #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Pausa infångst" #: glade/etherape.ui:553 msgid "Pause" msgstr "Paus" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Stoppa infångst" #: glade/etherape.ui:569 msgid "Stop" msgstr "Stopp" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Egenskaper (Ctrl-P)" #: glade/etherape.ui:595 msgid "Pref." msgstr "Egensk." #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Visa protokollfönstret" #: glade/etherape.ui:612 msgid "Prot." msgstr "Proto" #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "Noder" #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protokoll" #: glade/etherape.ui:741 msgid "Select color" msgstr "Välj färg" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "Mest kända protkoll" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "Lager 2 (ETH_II)" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "Lager 3 (IP)" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "Lager 4 (TCP)" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "Lager 5 (HTTP)" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "Nuvar. trafik (In+Ut)" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "Nuvar. trafik (Ingående)" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "Nuvar. trafik (Utgående)" #: glade/etherape.ui:858 #, fuzzy msgid "Instant. packets (In+Out)" msgstr "Nuvar. trafik (In+Ut)" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "Ackum. trafik (In+Ut)" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "Ackum. trafik (Ingående)" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "Ackum. trafik (Utgående)" #: glade/etherape.ui:870 #, fuzzy msgid "Accum. packets (In+Out)" msgstr "Ackum. trafik (In+Ut)" #: glade/etherape.ui:873 #, fuzzy msgid "Average pkt size (In+Out)" msgstr "medel" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" #: glade/etherape.ui:907 msgid "Linear" msgstr "Linjär" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Logaritmisk" #: glade/etherape.ui:913 msgid "Square Root" msgstr "Kvadratrot" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Egenskaper" #: glade/etherape.ui:935 msgid "Save" msgstr "Spara" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "" #: glade/etherape.ui:1017 #, fuzzy msgid "Protocol Stack _Level" msgstr "Stacknivå för protokoll" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Ställ in vilken nivå i protokollstacken som visas i förklaringen" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" #: glade/etherape.ui:1063 #, fuzzy msgid "Size _Variable" msgstr "Variabel för nodstorlek" #: glade/etherape.ui:1077 #, fuzzy msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" "Ställ in typ av nuvarande eller ackumulerad trafik som nodradiusen indikerar" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "" #: glade/etherape.ui:1235 #, fuzzy msgid "Size _Mode" msgstr "Storleksläge" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" "Välj hur nodradien och länkbredd räknas fram som en funktion av medeltrafiken" #: glade/etherape.ui:1276 #, fuzzy msgid "_Hide node names" msgstr "Göm nodnamn" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "Växla visning av nodnamnen på toppen av noderna" #: glade/etherape.ui:1293 #, fuzzy msgid "_Group unknown ports" msgstr "Gruppera okända portar" #: glade/etherape.ui:1320 #, fuzzy msgid "_Name Resolution" msgstr "DNS-uppslagning" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" #: glade/etherape.ui:1354 #, fuzzy msgid "_Capture filter" msgstr "Fångstfilter" #: glade/etherape.ui:1367 #, fuzzy msgid "Sets the capture filter" msgstr "sätt fångstfilter" #: glade/etherape.ui:1398 msgid "Node Label _Font" msgstr "" #: glade/etherape.ui:1413 msgid "Node Label Font" msgstr "" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "" #: glade/etherape.ui:1454 #, fuzzy msgid "Choose the color used to display node labels" msgstr "Välj typsnitt som används för att visa text i diagram" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Diagram" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 #, fuzzy msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" "Lägg till ny färg till listan av färger som kan användas för att " "representera protokoll" #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Ta bort färg" #: glade/etherape.ui:1666 #, fuzzy msgid "remove the selected row" msgstr "Ta bort valt protokoll" #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Redigera protokoll" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "Färger" #: glade/etherape.ui:1755 #, fuzzy msgid "Diagram Refresh _Period (ms)" msgstr "Uppdateringsperiod för diagram (ms)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Uppdatera diagram enligt detta val (millisekunder)" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Genomsnittlig tid (ms)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "Paketinformation är genomsnittlig för denna tid" #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" "Ta bort denna nod från diagrammet efter så här lång tid. 0 betyder aldrig." #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 #, fuzzy msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" "Ta bort denna nod från diagrammet efter så här lång tid. 0 betyder aldrig." #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Länk-timeout (ms)" #: glade/etherape.ui:2000 #, fuzzy msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "Ta bort denna länk efter så här lång tid. 0 betyder aldrig." #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" "Ta bort denna nod från diagrammet efter så här lång tid. 0 betyder aldrig." #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Länk-timeout (ms)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Stacknivå för protokoll" #: glade/etherape.ui:2125 #, fuzzy msgid "Remove this protocol from memory after this much time. " msgstr "Ta bort denna nod från minnet efter så här lång tid. 0 betyder aldrig." #: glade/etherape.ui:2156 msgid "Global Protocol Timeouts (s)" msgstr "" #: glade/etherape.ui:2199 msgid "Timings" msgstr "" #: glade/etherape.ui:2229 msgid "WWW" msgstr "" #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "EtherApe: tilldela protokoll" #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Ange protokollnamn..." #: glade/etherape.ui:2327 #, fuzzy msgid "Type the protocol name" msgstr "Ange protokollnamn..." #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "Färg" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "Numeriskt namn:" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "" #: glade/etherape.ui:2517 #, fuzzy msgid "node A" msgstr "Läge" #: glade/etherape.ui:2528 #, fuzzy msgid "node B" msgstr "Läge" #: glade/etherape.ui:2587 msgid "Total" msgstr "" #: glade/etherape.ui:2599 #, fuzzy msgid "Inbound" msgstr "Mom. ingående" #: glade/etherape.ui:2612 #, fuzzy msgid "Outbound" msgstr "Acku. utgående" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "Momentan" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "Ackumulerad" #: glade/etherape.ui:2693 #, fuzzy msgid "Average size" msgstr "medel" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" #: glade/etherape.ui:2861 msgid "name" msgstr "namn" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Senast hörd: " #: glade/etherape.ui:2899 msgid "label73" msgstr "label73" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "testetikett" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Protokoll" #~ msgid "Add color" #~ msgstr "Lägg till färg" #, fuzzy #~ msgid "Change color" #~ msgstr "Tona färger" #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Ta bort denna nod från minnet efter så här lång tid. 0 betyder aldrig." #, fuzzy #~ msgid "Node Timeouts (s)" #~ msgstr "Nod-timeout (ms)" #, fuzzy #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Ta bort denna nod från minnet efter så här lång tid. 0 betyder aldrig." #~ msgid "EtherApe" #~ msgstr "EtherApe" #~ msgid "%d/%d %d:%d" #~ msgstr "%d/%d %d:%d" #, fuzzy #~ msgid "Copyright 2001-2018 Juan Toledo, Riccardo Ghetta" #~ msgstr "Copyright 2001 Juan Toledo" #~ msgid "Unable to allocate color for new protocol %s" #~ msgstr "Kunde inte allokera färg för nytt protokoll %s" #~ msgid "Set IP mode" #~ msgstr "Sätt IP-läge" #~ msgid "Set TCP mode" #~ msgstr "Sätt TCP-läge" #~ msgid "Show or hide the protocols window" #~ msgstr "Visa eller göm protokollfönstret" #, fuzzy #~ msgid "Show or hide the nodes window" #~ msgstr "Visa eller göm protokollfönstret" #~ msgid "Show or hide the toolbar" #~ msgstr "Visa eller göm verktygslisten" #~ msgid "Show or hide the legend" #~ msgstr "Visa eller göm förklarning" #~ msgid "Show or hide the status bar" #~ msgstr "Visa eller göm statuslisten" #, fuzzy #~ msgid "" #~ "Error opening %s : %s\n" #~ "- perhaps you need to be root?" #~ msgstr "Fel vid öppning av %s : %s - kanske behöver du vara root?" #~ msgid "Live device %s opened for capture. pcap_fd: %d" #~ msgstr "Realtidsenhet %s öppnad för fångst. pcap_fd: %d" #~ msgid "Can't open both %s and device %s. Please choose one." #~ msgstr "Kan inte öppna både %s och enheten %s. Vänligen välj en." #~ msgid "Error opening %s : %s" #~ msgstr "Fel vid öppning av %s : %s" #~ msgid "%s opened for offline capture" #~ msgstr "%s öppnad för offline-fångst" #, fuzzy #~ msgid "Unable to parse filter string (%s). Filter ignored." #~ msgstr "Kunde inte tolka filtersträng (%s)." #, fuzzy #~ msgid "Can't install filter (%s). Filter ignored." #~ msgstr "Kan inte installera filter (%s)." #~ msgid "Starting live capture" #~ msgstr "Startar realtidsfångst" #, fuzzy #~ msgid "Using timers for live capture" #~ msgstr "Pausar realtidsfångst" #~ msgid "Starting offline capture" #~ msgstr "Startar offline-fångst" #~ msgid "Pausing offline capture" #~ msgstr "Pause offline-fångst" #~ msgid "Error while trying to pause capture" #~ msgstr "Fel vid försök att pause fångst" #~ msgid "Stopping live capture" #~ msgstr "Stoppar realtidsfångst" #~ msgid "Stopping offline capture" #~ msgstr "Stoppar offline-fångst" #~ msgid "Capture device stopped or file closed" #~ msgstr "Fångstenhet stoppad eller fil stängd" #~ msgid "Information" #~ msgstr "Information" #~ msgid "Failed to open %s. No TCP or UDP services will be recognized" #~ msgstr "" #~ "Misslyckades att öppna %s. Inga TCP eller UDP-tjänster kommer att kännas " #~ "igen" #~ msgid "Reading TCP and UDP services from %s" #~ msgstr "Läser TCP och UDP-tjänster från %s" #~ msgid "Unable to parse line %s" #~ msgstr "Kunde inte tolka rad %s" #, fuzzy #~ msgid "SCTP protocols not supported in %s" #~ msgstr "DDP-protokoll stöds inte i %s" #, fuzzy #~ msgid "Link type %d not supported" #~ msgstr "Länktyp saknar stöd för närvarande" #~ msgid "Mode not available in this device" #~ msgstr "Läge inte tillgängligt för denna enhet" #~ msgid "" #~ "Stack Level is not set to Topmost Recognized Protocol. Please check in " #~ "the preferences dialog that this is what you really want" #~ msgstr "" #~ "Stacknivån är inte inställd till Mest kända protkoll. Vänligen " #~ "kontrollera i inställningarna att detta verkligen är vad du vill" #~ msgid "Cycle assigned colors" #~ msgstr "Växla tilldelade färger" #~ msgid "Whether or not to use assigned colors for unassigned protocols" #~ msgstr "" #~ "Om tilldelade färger för icke-tilldelade protokoll ska användas eller inte" #~ msgid "" #~ msgstr "" #~ msgid "set input file" #~ msgstr "sätt inmatningsfil" #~ msgid "do not fade old links" #~ msgstr "tona inte ut gamla länkar" #~ msgid "Don't show warnings" #~ msgstr "Visa inte varningar" #~ msgid "set the node color" #~ msgstr "sätt nodfärgen" #~ msgid "color" #~ msgstr "färg" #~ msgid "set the text color" #~ msgstr "sätt textfärgen" #~ msgid "Error getting device: %s" #~ msgstr "Fel vid hämtning av enhet: %s" #~ msgid "Link type is Ethernet" #~ msgstr "Länktyp är Ethernet" #~ msgid "Link type is FDDI" #~ msgstr "Länktyp är FDDI" #~ msgid "Link type is Token Ring" #~ msgstr "Länktyp är Token Ring" #~ msgid "Link type is NULL" #~ msgstr "Länktyp är NULL" #~ msgid "Link type is Linux cooked sockets" #~ msgstr "Länktyp är Linux cooked sockets" #~ msgid "Ape mode not yet supported" #~ msgstr "Ape-läge stöds inte just nu" #~ msgid "Can't use filter: Couldn't obtain netmask info (%s)." #~ msgstr "" #~ "Kan inte använda filtret: Kunde inte hämta information om nätmasken (%s)." #~ msgid "Status not PAUSE or STOP at start_capture" #~ msgstr "Status är inte PAUSE eller STOP vid start_capture" #~ msgid "Status not PLAY at pause_capture" #~ msgstr "Status är inte PLAY vid pause_capture" #~ msgid "Status not PLAY or PAUSE at stop_capture" #~ msgstr "Status är inte PLAY eller PAUSE vid stop_capture" #~ msgid "Error while removing capture source in stop_capture" #~ msgstr "Fel vid borttagning av fångstkälla i stop_capture" #~ msgid "Reached default in get_node_id" #~ msgstr "Nådde förvalt värde i get_node_id" #~ msgid "Removing node: %s. Number of nodes %d" #~ msgstr "Tar bort nod: %s. Antal noder %d" #~ msgid "Removing link. Number of links %d" #~ msgstr "Ta bort länk. Antal länkar %d" #~ msgid "Null packet in check_packet" #~ msgstr "Noll paket i check_packet" #~ msgid "Status not STOP or PAUSE at gui_start_capture" #~ msgstr "Status är inte STOP eller PAUSE vid gui_start_capture" #~ msgid " in Token Ring mode" #~ msgstr " i Token Ring-läge" #~ msgid " in FDDI mode" #~ msgstr " i FDDI-läge" #~ msgid " in Ethernet mode" #~ msgstr " i Ethernet-läge" #~ msgid "Status not PLAY or PAUSE at gui_stop_capture" #~ msgstr "Status är inte PLAY eller PAUSE vid gui_stop_capture" #~ msgid "Number of nodes: " #~ msgstr "Antal noder: " #~ msgid ". Refresh Period: %d" #~ msgstr ". Uppdateringsperiod: %d" #~ msgid ". IDLE." #~ msgstr ". VÄNTAR." #~ msgid ". TIMEOUT." #~ msgstr ". TIMEOUT." #~ msgid "Unable to parse color string %s for new protocol %s" #~ msgstr "Kunde inte tolka färgsträng %s för nytt protokoll %s" #~ msgid "Main node protocol not found in update_canvas_nodes" #~ msgstr "Huvudnodprotokoll hittades inte i update_canvas_nodes" #~ msgid "Creating canvas_link: %s-%s. Number of links %d" #~ msgstr "Skapar canvas_link: %s-%s. Antal länkar %d" #~ msgid "Main link protocol not found in update_canvas_links" #~ msgstr "Huvudlänkprotokoll hittades inte i update_canvas_links" #~ msgid "Set Token Ring mode" #~ msgstr "Sätt Token Ring-läge" #~ msgid "Token _Ring" #~ msgstr "Token _Ring" #~ msgid "Set FDDI mode" #~ msgstr "Sätt FDDI-läge" #~ msgid "_FDDI" #~ msgstr "_FDDI" #~ msgid "Set Ethernet mode" #~ msgstr "Sätt Ethernet-läge" #~ msgid "_Ethernet" #~ msgstr "_Ethernet" #~ msgid "Set UDP mode" #~ msgstr "Sätt UDP-läge" #~ msgid "_UDP" #~ msgstr "_UDP" #~ msgid "_Start" #~ msgstr "_Start" #~ msgid "window1" #~ msgstr "window1" #~ msgid "accumulated" #~ msgstr "ackumulerad" #~ msgid "This message is not here yet. (Dont tell anybody you saw it ;-) )" #~ msgstr "" #~ "Detta meddelande är inte här ännu. (Säg inget till dom andra att du såg " #~ "det ;-))" #~ msgid "Font" #~ msgstr "Typsnitt" #~ msgid "Diagram Node Timeout (ms)" #~ msgstr "Timeout för noddiagram (ms)" #~ msgid "Max. Link Width" #~ msgstr "Max bredd för länkar" #~ msgid "Max. Node Radius" #~ msgstr "Max radius för noder" #~ msgid "Fade link colors to black when there is no traffic" #~ msgstr "Tona länkfärger till svart när det inte är någon trafik" #~ msgid "Token Ring" #~ msgstr "Token Ring" #~ msgid "FDDI" #~ msgstr "FDDI" #~ msgid "Ethernet" #~ msgstr "Ethernet" #~ msgid "IP" #~ msgstr "IP" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "Solved" #~ msgstr "Löst" #~ msgid "Add a new protocol to the list of protocols to choose a name from" #~ msgstr "" #~ "Lägg till ett nytt protokoll till listan av protkoll att välja ett namn " #~ "från" #~ msgid "Add protocol" #~ msgstr "Lägg till protokoll" #~ msgid "Remove protocol" #~ msgstr "Ta bort protokoll" #~ msgid "" #~ "Toggle whether the selected protocol name has to be solved in order to " #~ "use it" #~ msgstr "" #~ "Växla om det valda protokollnamnet måste slås upp för att kunna användas" #~ msgid "Toggle solved" #~ msgstr "Växla fixad" #~ msgid "Move selected protocol up one item" #~ msgstr "Flytta markerat protokoll upp ett steg" #~ msgid "Move up" #~ msgstr "Flytta upp" #~ msgid "Move selected protocol down one item" #~ msgstr "Flytta markerat protokoll ned ett steg" #~ msgid "Move down" #~ msgstr "Flytta ned" #~ msgid "Don't try to resolve any name. Always present in numeric form." #~ msgstr "" #~ "Försök inte att slå upp något namn. Presentera alltid i numerisk form." #~ msgid "Force numeric" #~ msgstr "Tvinga numerisk" #~ msgid "Make DNS queries to resolve IP addresses" #~ msgstr "Gör DNS-förfrågningar för att slå upp IP-adresser" #~ msgid "Capture" #~ msgstr "Fånga" #~ msgid "Select Font" #~ msgstr "Välj typsnitt" #~ msgid "EtherApe: Select capture file" #~ msgstr "EtherApe: Välj fångstfil" #~ msgid "EtherApe: Select Capture File" #~ msgstr "EtherApe: Välj fångstfil" #~ msgid "Select capture file" #~ msgstr "Välj fångstfil" #~ msgid "Optionally, set a capture filter" #~ msgstr "Valfritt, sätt ett fångstfilter" #~ msgid "Filter:" #~ msgstr "Filter:" #~ msgid "Name:" #~ msgstr "Namn:" #~ msgid "This is a test node name" #~ msgstr "Detta är ett testnodnamn" #~ msgid "Show traffic" #~ msgstr "Visa trafik" #~ msgid "Show protocols" #~ msgstr "Visa protokoll" #~ msgid "Accu. Inbound" #~ msgstr "Acku. ingående" #~ msgid "Inst. Outbound" #~ msgstr "Mom. utgående" #~ msgid "Columns" #~ msgstr "Kolumner" #~ msgid "ok_button2" #~ msgstr "ok_button2" #~ msgid "cancel_button2" #~ msgstr "cancel_button2" #~ msgid "help_button1" #~ msgstr "help_button1" #~ msgid "" #~ "Type the name of the protocol that will be assigned to the selected color" #~ msgstr "Ange namnet på protokollen som ska tilldelas den markerade färgen" #~ msgid "No node_id in on_node_info_delete_event" #~ msgstr "Inget node_id i on_node_info_delete_event" #~ msgid "No node_info_window in on_node_info_delete_event" #~ msgstr "Inget node_info_window i on_node_info_delete_event" #~ msgid "No info available" #~ msgstr "Ingen information tillgänglig" etherape-0.9.20/po/es.gmo0000644000175000017500000003271314050232250012050 00000000000000,    08L ]#j  ,!8 Zg{"U,FME],$4DcH$R2 + )6K\n   "0')X3 $--.[6  # 9C[2x+NNP7 !)!. P?]   ( #10b?j$#9,$f% '-> BN Vbhy  # *!$L%q&??8xAI)BU p({,  ! ! #!1!E!N!h!!+!! !!!"#"7"T" p"$z" """"")"h#@###c#2K$*~$$%$$$$" % .%vO%,%% &&e<&&&&& & '>' \'i'~''''"''' (((1($Z( (0()(7()7)T)r)))))G)6 *2A*t*z******** */+28+Lk+++-+Q,Zb,7,3,)-$:-_--g--E--.. 0.>.E.N.)_.. .I..9.0/O/U/'u/'/I/)0,90(f00*0000011"1 &121;1K1Q1b1i1 p1|11111 11'1'2462!k2=2,2$23$%3AJ3H33333h3tf4!445955L5H5k1Y0EK 59 O]6 7`t,h->^JND.e s{%8&G/HZRC|)wgdrXc?pT$bMF=Si *UoVuL4_!(QlI\W"<vz+~@32jnAfqP;'mB}a [y:x# in Data Link mode in IP mode in TCP mode-unknown-Global Protocol Timeouts (s)A Graphical Network Browser.A->BAccum. traffic (In+Out)Accum. traffic (Inbound)Accum. traffic (Outbound)AccumulatedAvailable interfaces for capture:Average sizeAveraging Time (ms)B->ACancel changesCanvas node nullCapture interface set to %s in GUIChoose how node radius and link width are calculated as a function of average trafficChoose the color used to display node labelsColorsConfirm changesControls display of nodes timed out from diagram, but still in memoryCreating canvas_node: %s. Number of nodes %dData link entry not initializedDiagramDiagram Refresh _Period (ms)Diagram pausedDiagram startedDiagram stoppedDisable informational messagesDisplay the protocols windowEnable name resolution. If unchecked, all addresses are in numeric form.Error saving preferences to '%s': %sEtherApe: PreferencesEtherApe: ProtocolsEtherApe: assign protocolExpire protocol statistics for a node after this much time. 0 means never timeout.InboundInstant. traffic (In+Out)Instant. traffic (Inbound)Instant. traffic (Outbound)InstantaneousInvalid mode: %dInvalid tofromds field in WLAN packet: 0x%xLast Heard: Level 2 (Eg: ETH_II)Level 3 (Eg: IP)Level 4 (Eg: TCP)Level 5 (Eg: HTTP)LinearLink main protocol: %sLink timed outLink type is %sLogarithmicMode set to %s in GUINew link: %s. Number of links %dNew node: %s. Number of nodes %dNextNo prot_info_window in on_prot_info_delete_eventNo prot_name in on_prot_info_delete_eventNo suitables interfaces for capture have been foundNode Label C_olorNode Label FontNode Label _FontNode _Radius MultiplierNode timed outNodesNumeric Name:OutboundPPI:captured size too small, packet discardedPPI:unsupported link type %u, packet discardedPacket information is averaged for this amount of timePausePause capturePausedPick a Color Pref.Preferences (Ctrl-P)Preferences saved to %sProt.Protocol Stack _LevelProtocolsQueuing link for removeQueuing node '%s' for removeRadiotap:captured size too small, packet discardedReading data from Ready to capture from Refresh diagram every this many milisecondsRemove this link from the diagram after this much time. 0 means never timeout.Remove this node from the diagram after this much time. 0 means never timeout.Remove this protocol from memory after this much time. Replay from file '%s' completed.Resolved Name:SIGUSR1 received: exporting to %sSaveSaves changes to preferences fileSelect colorSet what level of the protocol stack is displayed in the legendSets the capture filterSize _ModeSize _VariableSquare RootSt_opStartStart captureStatus already PLAY at gui_start_captureStopStop captureThe statistic used to compute node and link sizesTimingsToggle whether the node names are displayed on top of the nodesTopmost recognized protocolTotalType the protocol nameUnknown value for link_size_variableUnknown value or node_size_variableUnrecognized mode. Do etherape --help for a list of modesUnsupported ape mode in fill_node_idUpdated links. Active links %dUpdated nodes. Active nodes %dWWWWe could not load the interface! (%s)_Capture_Capture filter_File_Group unknown ports_Help_Hide node names_IP_Interfaces_Legend_Link Layer_Mode_Name Resolution_Nodes_Pause_Protocols_Show all nodes_Status Bar_TCP_Toolbar_View_exportdefault interfacedelete node: %s. Number of nodes %ddon't convert addresses to namesdon't display any node text identificationdon't move nodes around (deprecated)export to named file at end of replayexport to named file on receiving USR1get_interface result: '%s'label73limits nodes displayedmaximum packet delay in ms for reading capture files [cli only]minimum packet delay in ms for reading capture files [cli only]mode of operationnamenode Anode Bnot enough captured data, terminating protocol decode at level %dnot enough captured data, terminating protocol decode for '%s' (level %d)replay packets from fileset capture filterset interface to listen totest labeluses the named libglade file for widgetswlan:unknown frame type 0x%x, decode abortedProject-Id-Version: 0.9.12 Report-Msgid-Bugs-To: PO-Revision-Date: 2011-06-01 02:13+0200 Last-Translator: Javier Fernandez-Sanguino Language-Team: Spanish Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit en modo capa de enlace en modo IP en modo TCP-desconocido-Expiración global de protocolos (s)Un monitor gráfico de red.A->BTráfico acumulado (Entrada/Salida)Tráfico acumulado (Entrada)Tráfico acumulado (Salida)AcumuladoDispositivos de captura disponibles:Tamaño medioTiempo de medida (ms)B->ACancelar los cambiosModo «null» de canvasInterfaz de captura fijado a %s en el GUIDeterminar cómo se calculan el radio de los nodos y el ancho de los enlaces a partir del tráfico medioElija el color utilizado para mostrar las etiquetas de los nodosColoresConfirmar los cambiosControla cuándo se representan los nodos que han expirado del diagrama pero están aún en memoriaCreando nodo de diagrama: %s. Número de nodos: %dEntrada de enlace de datos no inicializadaDiagrama_Periodo de refresco de diagrama (ms)Diagrama pausadoDiagrama iniciadoDiagrama paradoDeshabilitar mensajes informativosMostrar la ventana de protocolosActivar la resolución de nombres. Si no está marcada se mostrarán todas las direcciones con sus valores numéricos.Error al guardar las preferencias a '%s': %sEtherApe: PreferenciasEtherApe: ProtocolosEtherApe: asignar protocolosExpirar las estadísticas de protocolo para un nodo pasado este tiempo. 0 significa no expirar nunca.EntranteTráfico inst. (Entrada/Salida)Tráfico inst. (Entrada)Tráfico inst. (Salida)InstantáneoMódo inválido: %dValor inválido en el campo «tofromds» del paquet WLAN: 0x%xÚltima vez:Nivel 2 (ej. ETH_II)Nivel 3 (ej. IP)Nivel 4 (ej. TCP)Nivel 5 (ej. HTTP)LinealProtocolo principal del enlace: %sExpiró el enlaceEl tipo de enlace es %sLogarítmicoModo fijado en %s en el GUINuevo enlace: %s. Número de enlaces: %dNuevo nodo: %s. Número de nodos: %dSiguienteNo prot_info_window en on_prot_info_delete_eventNo prot_name en on_prot_info_delete_eventNo se han encontrado interfaces adecuados para capturarC_olor de etiqueta de nodoFuente de etiquetas de nodos_Fuente de etiquetas de nodosMultiplicador de _radio de nodoExpiró el nodoNodosNombre numéricoSalientePPI: El tamaño de la captura es demasiado pequeño, paquete descartadoPPI:tipo de enlace %u no soportado, paquete descartadoHacer media de la información durante este tiempoPausaPausar capturaPausadoEscoja un colorPref.Preferencias (Ctrl-P)Preferencias guardadas en %sProt.Nive_l de pila de protocolosProtocolosAñadiendo el enlace a la cola de eliminacionesAñadiendo el nodo '%s' a la cola de eliminacionesRadiotap: El tamaño de la captura es demasiado pequeño, paquete descartadoLeyendo datos de Listo para capturar de Refrescar el diagrama cada estos milisegundosBorrar este enlace del diagrama pasado este tiempo. 0 significa no expirar nunca.Borrar este nodo del diagrama después de pasado este tiempo. 0 significa no expirar nuncaBorrar este protocolo de la memoria pasado este tiempo.Se ha completado la reproducción del archivo '%s'.Nombre resuelto:Se recibió SIGUSR1: exportando a %sGuardarGuardar cambios en el archivo de preferenciasSeleccione un colorFijar el nivel de la pila de protocolos que se muestra en el diagramaConfigura el filtro de capturaAjuste de _modoTamaño _variableRaiz Cuadrada_PararComenzarComenzar capturaEl estado ya es PLAY en gui_start_capturePararParar capturaLa estadística utilizada para calcular el tamaño de los nodos y enlacesTemporizadoresCambia si se han de mostrar o no los nombres de los nodosProtocolo más alto reconocidoTotalEscriba el nombre del protocoloValor desconocido en link_size_variableValor desconocido en node_size_variableModo desconocido. Ejecute etherape --help para mostrar una lista de modosModo «ape» no soportado en fill_node_idEnlaces actualizados. Hay %d enlaces activosNodos actualizados. Hay %d nodos activosWWWNo ha sido posible cargar el interfaz (%s)_CapturaFiltro de _captura_ArchivoA_grupar puertos desconocidos_Ayuda_Ocultar nombres de nodos_IP_Interfaces_LeyendaCapa de en_lace_ModoResolución D_NS_NodosP_ausa_Protocolos_Mostrar todos los nodosBarra de _estado_TCPBarra de _herramientas_Ver_exportarinterfaz por defectoBorrando nodo: %s. Número de nodos: %dno convertir las direcciones en nombresno mostrar ninguna identificación de texto del nodono recolocar los nodos (obsoleto)exportar a un fichero con nombre al final de la reproducciónexportar al fichero indicado al recibir USR1resultado de «get_interface»: '%s'label73limita el número de nodos mostradosmáxima de paquetes en ms al leer archivos de captura (sólo cli)mínima demora de paquetes en ms al leer archivos de captura (sólo cli)modo de operaciónnombrenodo Anodo Bno existe suficientes datos en la captura, interrumpiendo la decodificación de protocolo en el nivel %dno existen suficientes datos en la captura, interrumpiendo la decodificación del protocolo debido a '%s' (nivel %d)reproducir paquetes de un ficherodefinir el filtro de capturadefinir el interfaz a escucharetiqueta de pruebautiliza el archivo libglade indicado para los widgetswlan: tipo de trama desconocida 0x%x, se interrumpió la decodificaciónetherape-0.9.20/po/insert-header.sin0000644000175000017500000000124011220500634014171 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } etherape-0.9.20/po/en@quot.header0000644000175000017500000000226311220500634013517 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # etherape-0.9.20/po/remove-potcdate.sin0000644000175000017500000000066011220500634014542 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } etherape-0.9.20/po/ru.po0000644000175000017500000011005114050232250011713 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # # Translators: # AlexL , 2015,2019 # Kашицин Роман , 2015 # Kашицин Роман , 2015 # Kашицин Роман , 2015 msgid "" msgstr "" "Project-Id-Version: rus-etherape\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2019-06-16 23:21+0000\n" "Last-Translator: AlexL \n" "Language-Team: Russian (http://www.transifex.com/rus-open-source/rus-" "etherape/language/ru/)\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" #: src/appdata.c:83 #, c-format msgid "Could not load interface file '%s'!: %s" msgstr "Не удалось загрузить файл интерфейса '%s''!: %s" #: src/datastructs.c:385 #, c-format msgid "%s protocol not supported" msgstr "Протокол %s не поддерживается" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" "Узлы: %d (на холсте: %d, показано: %u), Каналы: %d, Переговоры: %ld, имена " "%ld, протоколы %ld. Всего увиденных пакетов: %lu (в памяти: %ld, в списке " "%ld). Записи IP кэша %ld. Объекты холста: %ld. Освежено: %u мсек" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "(Cтатистика захвата недоступна в автономном режиме.)" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "Фиктивный statspos_t (%d) pref.pcap_stats_pos" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "SIGUSR1 значение получил: экспорт в %s" #: src/diagram.c:976 msgid "Canvas node null" msgstr "Нулевой узел холста" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "Создание узла холста: %s. Количество узлов %d" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "Неизвестное значение для переменной размера узла" #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "Неизвестное значение для переменной размера канала" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "Главный протокол канала: %s" #: src/diagram.c:1734 msgid "Link main protocol: unknown" msgstr "Главный протокол канала: неизвестен" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" "'recv': полученные пакеты; 'drop': пакеты, отброшенные буферизацией ОС; " "'ifdrop': пакеты, отброшенные интерфейсом или драйвером." #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "Мы не смогли загрузить интерфейс! (%s)" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "Невозможно создать виджет %s из файла %s!" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "Нету имени протокола в событии на удаление информации о протоколе" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "" "Нету окна информации протокола в событии на удаление информации о протоколе" #: src/info_windows.c:438 src/pref_dialog.c:486 msgid "Protocol" msgstr "Протокол" #: src/info_windows.c:439 msgid "Port" msgstr "Порт" #: src/info_windows.c:440 src/node_windows.c:224 msgid "Inst Traffic" msgstr "Мгнов. трафик" #: src/info_windows.c:441 src/node_windows.c:225 msgid "Accum Traffic" msgstr "Накоп. трафик" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "Средний размер" #: src/info_windows.c:443 src/node_windows.c:227 msgid "Last Heard" msgstr "Последнее услышанное" #: src/info_windows.c:444 src/node_windows.c:228 msgid "Packets" msgstr "Пакеты" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 msgid "Node timed out" msgstr "Для узла заданное время истекло" #: src/info_windows.c:989 msgid "B->A" msgstr "B->A" #: src/info_windows.c:990 msgid "A->B" msgstr "A->B" #: src/info_windows.c:996 msgid "Link timed out" msgstr "Время действия канала истекло" #: src/main.c:96 msgid "don't display any node text identification" msgstr "не показывать идентификацию узла" #: src/main.c:98 msgid "replay packets from file" msgstr "повторить пакеты файла" #: src/main.c:98 msgid "" msgstr "<файл для повтора>" #: src/main.c:100 msgid "set capture filter" msgstr "установить фильтра захвата" #: src/main.c:100 msgid "" msgstr "<фильтр захвата>" #: src/main.c:102 msgid "set interface to listen to" msgstr "настроить интерфейс прослушивания" #: src/main.c:102 msgid "" msgstr "<имя интерфейса>" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "экспорт в именованный файл в конце повтора" #: src/main.c:104 src/main.c:106 msgid "" msgstr "<файл для экспорта>" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "экспорт в именованный файл при получении USR1" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "Позиционирование узлов вручную на основе файла" #: src/main.c:108 msgid "" msgstr "<список узлов и их столбцы>" #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "перемещение узлов не рекомендуется" #: src/main.c:112 msgid "limits nodes displayed" msgstr "ограничить число отображаемых узлов" #: src/main.c:112 msgid "" msgstr "<количество узлов>" #: src/main.c:114 msgid "mode of operation" msgstr "режим работы" #: src/main.c:114 msgid "" msgstr "<канал|ip|tcp>" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "не конвертировать адреса в имена" #: src/main.c:118 msgid "Disable informational messages" msgstr "Отключить информационные сообщения" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" "минимальная задержка пакетов в мсек для чтения файлов захвата [только в CLI]" #: src/main.c:121 src/main.c:124 msgid "" msgstr "<задержка>" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" "максимальная задержка пакетов в мсек для чтения файлов захвата [только в CLI]" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "использует файл libglade для виджетов" #: src/main.c:126 msgid "" msgstr "<файл glade>" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "запустить от имени данного пользователя" #: src/main.c:130 msgid "" msgstr "<имя пользователя>" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "Нераспознанный режим. Запустите etherape --help для списка режимов" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "Сбой инициализации резолвера DNS" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "Неверная позиция - строка файла: %s" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "Номер столбца %ld вне диапазона" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "Не удалось прочитать позицию файла %s: %s" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "результат получения интерфейса: '%s'" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "Соответствующих интерфейсов для захвата не найдено" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "Доступные интерфейсы для захвата:" #: src/menus.c:101 msgid "Open Capture File" msgstr "Открыть файл захвата" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "_Отмена" #: src/menus.c:105 msgid "_Open" msgstr "_Открыть" #: src/menus.c:130 msgid "Export to XML File" msgstr "Экспорт в XML файл" #: src/menus.c:134 msgid "_Save" msgstr "_Сохранить" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "Интерфейс захвата установлен в %s в GUI" #: src/menus.c:206 msgid "Unsupported mode in on_mode_radio_activate" msgstr "Неподдерживаемый режим в на активацию режима переключателя" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "Режим установлен в %s в GUI" #: src/menus.c:349 msgid "-unknown-" msgstr "-неизвестный-" #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "Статус уже ИГРАТЬ в gui начала захвата" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "Неверный режим: %d" #: src/menus.c:453 msgid "Reading data from " msgstr "Чтение данных из " #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "интерфейс по умолчанию" #: src/menus.c:465 msgid " in Data Link mode" msgstr " в режиме канала данных" #: src/menus.c:468 msgid " in IP mode" msgstr " в режиме IP" #: src/menus.c:471 msgid " in TCP mode" msgstr " в режиме TCP" #: src/menus.c:483 msgid "Diagram started" msgstr "Диаграмма начата" #: src/menus.c:505 msgid "Paused" msgstr "Приостановлено" #: src/menus.c:507 msgid "Diagram paused" msgstr "Диаграмма приостановлена" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "Повтор из файла '%s' завершён." #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "Не удалось остановить захват: %s" #: src/menus.c:567 msgid "Ready to capture from " msgstr "Готов к захвату из " #: src/menus.c:579 msgid "Diagram stopped" msgstr "Диаграмма остановлена" #: src/node_windows.c:222 msgid "Name" msgstr "Имя" #: src/node_windows.c:223 msgid "Address" msgstr "Адрес" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "Значение корректировки: %g. Коэффициент радиуса %g" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "Значение корректировки: %g. Шкала внутреннего кольца %g" #: src/pref_dialog.c:482 msgid "Color" msgstr "Цвет" #: src/preferences.c:373 #, c-format msgid "Preferences saved to %s" msgstr "Настройки сохранены в %s" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "Ошибка при сохранении настроек в '%s': %s" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "Не удалось получить сообщение от процесса захвата пакета" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "Не удалось отправить сообщение процессу захвата пакета" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "Не удалось получить пакет от процесса захвата пакета" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "Не удалось установить %s переменную среды в '%s': %s" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "Неизвестный пользователь '%s'" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "Не удалось переключиться на пользователя '%s' (uid=%lu, gid=%lu): %s" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" "%s использует неподдерживаемый тип канала %d, невозможно продолжить. " "Пожалуйста, выберите другой источник." #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" "Это устройство не поддерживает режим канального уровня. Пожалуйста, " "используйте режимы IP или TCP." #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" "недостаточно захваченных данных, завершение протокола декодирования для " "'%s' (уровень %d)" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" "недостаточно захваченных данных, завершение протокола декодирования на " "уровне %d" #: src/names/names.c:221 msgid "Unsupported ape mode in fill_node_id" msgstr "Неподдерживаемый режим ape в идентификаторе узла заполнения" #: src/stats/decode_proto.c:192 #, c-format msgid "Link type is %s" msgstr "Тип канала — %s" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "Запись канала данных не инициализирована" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "Radiotap: захваченный размер слишком мал, пакет отброшен" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "PPI: захваченный размер слишком мал, пакет отброшен" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "PPI: тип канала %u не поддерживается, пакет отброшен" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "WLAN: захваченный размер слишком мал (менее 10 байт), пакет отброшен" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "Поле tofromds в WLAN пакетах неверно: 0x%x" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" "WLAN: захваченный размер слишком мал (прочитано %u, нужно %u), пакет отброшен" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" "WLAN: захваченный размер слишком мал (прочитано %u, нужно %u), RTS-пакет " "отброшен" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "WLAN: тип кадра 0x%x получен, декодирование прервано" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "WLAN: неизвестный тип кадра 0x%x, декодирование прервано" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "Очередь канала на удаление" #: src/stats/links.c:284 #, c-format msgid "New link: %s. Number of links %d" msgstr "Новый канал: %s. Количество каналов: %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "Каналы обновлены. Активные каналы: %d" #: src/stats/node.c:108 #, c-format msgid "New node: %s. Number of nodes %d" msgstr "Новый узел: %s. Количество узлов %d" #: src/stats/node.c:132 #, c-format msgid "delete node: %s. Number of nodes %d" msgstr "удалить узел: %s. Количество узлов %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "Очередь узла '%s' на удаление" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "Обновлённые узлы. Активные узлы %d" #: src/stats/node_id.c:69 msgid "Unsupported ape mode in node_id_compare" msgstr "Неподдерживаемый режим ape в сравнении идентификаторов узлов" #: src/stats/util.c:313 #, c-format msgid "%ld\" ago" msgstr "%ld\" ранее" #: src/stats/util.c:318 #, c-format msgid "%ld'%ld\" ago" msgstr "%ld'%ld\" ранее" #: glade/etherape.ui:12 msgid "A Graphical Network Browser." msgstr "Графический обзор сети." #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" #: glade/etherape.ui:176 msgid "_File" msgstr "_Файл" #: glade/etherape.ui:195 msgid "_export" msgstr "_экспорт" #: glade/etherape.ui:234 msgid "_Capture" msgstr "_Захват" #: glade/etherape.ui:243 msgid "_Mode" msgstr "_Режим" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "Слой _канала" #: glade/etherape.ui:274 msgid "_IP" msgstr "_IP" #: glade/etherape.ui:288 msgid "_TCP" msgstr "_TCP" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "_Интерфейсы" #: glade/etherape.ui:343 msgid "_Pause" msgstr "_Пауза" #: glade/etherape.ui:356 msgid "St_op" msgstr "_Стоп" #: glade/etherape.ui:375 msgid "_View" msgstr "_Вид" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "_Протоколы" #: glade/etherape.ui:394 msgid "_Nodes" msgstr "_Узлы" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "_Полноэкранный режим" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "_Панель инструментов" #: glade/etherape.ui:431 msgid "_Legend" msgstr "_Легенда" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "_Строка статуса" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "_Справка" #: glade/etherape.ui:522 msgid "Start capture" msgstr "Начать захват" #: glade/etherape.ui:523 msgid "Start" msgstr "Начать" #: glade/etherape.ui:537 msgid "Next" msgstr "Далее" #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Приостановить захват" #: glade/etherape.ui:553 msgid "Pause" msgstr "Пауза" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Остановить захват" #: glade/etherape.ui:569 msgid "Stop" msgstr "Остановить" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Предпочтения (Ctrl-P)" #: glade/etherape.ui:595 msgid "Pref." msgstr "Предпочтения" #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Отобразить окна протоколов" #: glade/etherape.ui:612 msgid "Prot." msgstr "Протоколы" #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "Узлы" #: glade/etherape.ui:690 msgid "Protocols" msgstr "Протоколы" #: glade/etherape.ui:741 msgid "Select color" msgstr "Выбор цвета" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "Самый признанный протокол" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "Уровень 2 (Напр.: ETH_II)" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "Уровень 3 (Напр.: IP)" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "Уровень 4 (Напр.: TCP)" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "Уровень 5 (Напр.: HTTP)" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "Мгновенный трафик (Вх+Исх)" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "Мгновенный трафик (Входящий)" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "Мгновенный трафик (Исходящий)" #: glade/etherape.ui:858 msgid "Instant. packets (In+Out)" msgstr "Мгновенные пакеты (Вх+Исх)" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "Накопленный трафик (Вх+Исх)" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "Накопленный трафик (Входящий)" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "Накопленный трафик (Исходящий)" #: glade/etherape.ui:870 msgid "Accum. packets (In+Out)" msgstr "Накопленные пакеты (Вх+Исх)" #: glade/etherape.ui:873 msgid "Average pkt size (In+Out)" msgstr "Средний размер пакета (Вх+Исх)" #: glade/etherape.ui:884 msgid "(Off)" msgstr "(Выкл)" #: glade/etherape.ui:887 msgid "Upper left" msgstr "Верхний левый" #: glade/etherape.ui:890 msgid "Upper right" msgstr "Верхний правый" #: glade/etherape.ui:893 msgid "Lower left" msgstr "Нижний левый" #: glade/etherape.ui:896 msgid "Lower right" msgstr "Нижний правый" #: glade/etherape.ui:907 msgid "Linear" msgstr "Линейный" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Логарифмический" #: glade/etherape.ui:913 msgid "Square Root" msgstr "Квадратный корень" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Предпочтения" #: glade/etherape.ui:935 msgid "Save" msgstr "Сохранить" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "Сохранить изменения в файл предпочтений" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "Подтвердить изменения" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "Отменить изменения" #: glade/etherape.ui:1017 msgid "Protocol Stack _Level" msgstr "_Уровень протокола стека" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Установите, какой уровень протокола стека отображается в легенде" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "Статистика, используемая для вычисления размеров узлов и каналов" #: glade/etherape.ui:1063 msgid "Size _Variable" msgstr "Размер _переменной" #: glade/etherape.ui:1077 msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" "Установите мгновенный или накопленный объём трафика, что радиус узла " "указывает" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "Масштаб _внутреннего кольца" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "Внутренний радиус кольца как часть размера внешнего кольца" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "Отображать _статистику захваченных пакетов:" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" "Укажите, где отображать статистику захваченных пакетов: пакеты получены, " "отброшены буферизацией ОС, и отброшены интерфейсом или драйвером" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "Множитель _радиуса узла" #: glade/etherape.ui:1235 msgid "Size _Mode" msgstr "_Режим размера" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" "Выберите способ расчёта радиуса узла и ширины канала в зависимости от " "среднего трафика" #: glade/etherape.ui:1276 msgid "_Hide node names" msgstr "_Скрыть имена узлов" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "Переключить, отображаются ли имена узлов поверх узлов" #: glade/etherape.ui:1293 msgid "_Group unknown ports" msgstr "_Группировать неизвестные порты" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "_Разрешить отображение имён" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" "Включить отображение имён. Если флажок не установлен, все адреса в числовом " "формате." #: glade/etherape.ui:1354 msgid "_Capture filter" msgstr "_Фильтр захвата" #: glade/etherape.ui:1367 msgid "Sets the capture filter" msgstr "Устанавливает фильтра захвата" #: glade/etherape.ui:1398 msgid "Node Label _Font" msgstr "_Шрифт метки узла" #: glade/etherape.ui:1413 msgid "Node Label Font" msgstr "Шрифт метки узла" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "Цвет метки узла" #: glade/etherape.ui:1454 msgid "Choose the color used to display node labels" msgstr "Выберите цвет, используемый для отображения меток узлов" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "Выберите цвет " #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "_Центральный узел" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "Опциональный центральный узел" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "Фоновое изображение" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "Использовать _фоновое изображение" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "Включить выбор фонового изображения для основного дисплея" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Диаграмма" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 #, fuzzy msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" "Добавить новый цвет в список цветов, которые можно использовать для " "представления протоколов" #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Удалить цвет" #: glade/etherape.ui:1666 #, fuzzy msgid "remove the selected row" msgstr "Изменяет цвет выбранной строки" #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Редактировать протокол" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "Цвета" #: glade/etherape.ui:1755 msgid "Diagram Refresh _Period (ms)" msgstr "_Период освежения диаграммы (мсек)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Каждые сколько миллисекунд освежать диаграмму" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Среднее время (мсек)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "Информация о пакете усредняется за это время" #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" "Удалить этот узел из диаграммы через это время. 0 означает никогда не тайм-" "аут." #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" "Удалить этот канал из диаграммы через это время. 0 означает никогда не тайм-" "аут." #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Тайм-аут(ы) канала" #: glade/etherape.ui:2000 msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "" "По истечении этого времени истекает статистика протокола для узла. 0 " "означает никогда не тайм-аут." #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" "Удалить этот канал из диаграммы через это время. 0 означает никогда не тайм-" "аут." #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Тайм-аут(ы) канала" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Статистика трафика" #: glade/etherape.ui:2125 msgid "Remove this protocol from memory after this much time. " msgstr "Удалить этот протокол из памяти после этого времени. " #: glade/etherape.ui:2156 msgid "Global Protocol Timeouts (s)" msgstr "Глобальный тайм-аут(ы) протокола" #: glade/etherape.ui:2199 msgid "Timings" msgstr "Тайминги" #: glade/etherape.ui:2229 msgid "WWW" msgstr "WWW" #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "EtherApe: назначить протокол" #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Введите имя протокола..." #: glade/etherape.ui:2327 msgid "Type the protocol name" msgstr "Введите имя протокола" #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "Цвет" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "Числовое имя:" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "Резолвенное имя:" #: glade/etherape.ui:2517 msgid "node A" msgstr "узел А" #: glade/etherape.ui:2528 msgid "node B" msgstr "узел В" #: glade/etherape.ui:2587 msgid "Total" msgstr "Итого" #: glade/etherape.ui:2599 msgid "Inbound" msgstr "Входящий" #: glade/etherape.ui:2612 msgid "Outbound" msgstr "Исходящий" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "Мгновенный" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "Накопленный" #: glade/etherape.ui:2693 msgid "Average size" msgstr "Средний размер" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "_Показать все узлы" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" "Управляет отображением узлов, вышедших из диаграммы, но всё ещё находящихся " "в памяти" #: glade/etherape.ui:2861 msgid "name" msgstr "имя" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Последнее услышанное: " #: glade/etherape.ui:2899 msgid "label73" msgstr "метка73" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "тестовая метка" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Протоколы" #~ msgid "Add color" #~ msgstr "Добавить цвет" #~ msgid "Change color" #~ msgstr "Изменить цвет" #, c-format #~ msgid "Adjustment value: %g. Link-node ratio %g" #~ msgstr "Значение корректировки: %g. Соотношение канал-узел %g" #~ msgid "Link _Width - Node Radius Ratio" #~ msgstr "Отношение: _ширина канала - радиус узла" #~ msgid "Ratio between link width and node radius" #~ msgstr "Соотношение между шириной канала и радиусом узла" #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Удалить этот узел из памяти через это время. 0 означает никогда не тайм-" #~ "аут." #~ msgid "Protocol Statistics" #~ msgstr "Статистика протоколов" #~ msgid "Node Timeouts (s)" #~ msgstr "Тайм-аут(ы) узла" #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Удалить этот канал из памяти через это время. 0 означает никогда не тайм-" #~ "аут." etherape-0.9.20/po/it.po0000644000175000017500000010250614050240454011714 00000000000000msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2021-05-16 17:58+0200\n" "Last-Translator: R.Ghetta \n" "Language-Team: \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: ..\n" "X-Generator: Poedit 2.4.2\n" #: src/appdata.c:83 #, c-format msgid "Could not load interface file '%s'!: %s" msgstr "Impossibile caricare file interfaccia '%s'!: %s" #: src/datastructs.c:385 #, c-format msgid "%s protocol not supported" msgstr "Protocollo %s non supportato" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" "Nodi: %d (su canvas: %d, visualizzati: %u), Collegamenti: %d, Conversazioni: " "%ld, nomi: %ld, protocolli: %ld. Totale pacchetti letti: %lu (in memoria: " "%ld, su lista %ld). Elementi cache IP: %ld. Oggetti canvas: %ld. Aggiornato: " "%u ms" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "(Statistiche non disponibili in modalità offline)" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "SIGUSR1 ricevuto: scrittura in %s" #: src/diagram.c:976 msgid "Canvas node null" msgstr "Nodo canvas null" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "Creazione canvas_node: %s. Numero di nodi %d" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "Valore node_size non ammesso" #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "Valore link_size non ammesso" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "Protocollo principale: %s" #: src/diagram.c:1734 msgid "Link main protocol: unknown" msgstr "Protocollo principale: sconosciuto" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" "'recv': pacchetti ricevuti, 'drop': pacchetti persi dal SO, 'ifdrop':\n" "pacchetti persi dal driver" #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "Impossibile caricare file interfaccia! (%s)" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "Impossibile creare il widget %s dal file %s!" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "prot_name non specificato nell'evento on_prot_info_delete" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "prot_info_window non specificata nell'evento on_prot_info_delete" #: src/info_windows.c:438 src/pref_dialog.c:486 msgid "Protocol" msgstr "Protocollo" #: src/info_windows.c:439 msgid "Port" msgstr "Porta" #: src/info_windows.c:440 src/node_windows.c:224 msgid "Inst Traffic" msgstr "Traffico Ist." #: src/info_windows.c:441 src/node_windows.c:225 msgid "Accum Traffic" msgstr "Traffico acc. (In+Out)" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "Dim.Media" #: src/info_windows.c:443 src/node_windows.c:227 msgid "Last Heard" msgstr "Ultimo pkt" #: src/info_windows.c:444 src/node_windows.c:228 msgid "Packets" msgstr "Pacchetti" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 msgid "Node timed out" msgstr "Nodo scaduto" #: src/info_windows.c:989 msgid "B->A" msgstr "" #: src/info_windows.c:990 msgid "A->B" msgstr "" #: src/info_windows.c:996 msgid "Link timed out" msgstr "Connessione scaduta" # Italian translations for etherape package. # Copyright (C) 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the etherape package. # svil , 2011. # #: src/main.c:96 msgid "don't display any node text identification" msgstr "non visualizzare etichette sui nodi" #: src/main.c:98 msgid "replay packets from file" msgstr "legge pacchetti da file" #: src/main.c:98 msgid "" msgstr "" #: src/main.c:100 msgid "set capture filter" msgstr "imposta filtro di cattura" #: src/main.c:100 msgid "" msgstr "" #: src/main.c:102 msgid "set interface to listen to" msgstr "imposta l'interfaccia di rete" #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "esporta automaticamente nel file specificato a fine lettura" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "esporta nel file specificato alla ricezione di SIGUSR1" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "Posiziona manualmente i nodi in base al File" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "nodi fissi (deprecato)" #: src/main.c:112 msgid "limits nodes displayed" msgstr "limita il numero di nodi visualizzati" #: src/main.c:112 msgid "" msgstr "" #: src/main.c:114 msgid "mode of operation" msgstr "modo operativo" #: src/main.c:114 msgid "" msgstr "" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "non convertire indirizzi in nomi" #: src/main.c:118 msgid "Disable informational messages" msgstr "disabilita messaggi informativi" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "ritardo minimo in ms durante la lettura da file [solo linea comando]" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "ritardo massimo in ms durante la lettura da file [solo linea comando]" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "usa il file specificato per le maschere" #: src/main.c:126 msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "Esegue come l'utente specificato" #: src/main.c:130 msgid "" msgstr "" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "modo sconosciuto. Eseguire etherape --help per un elenco di modi" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "Fallita inizializzazione risolutore nomi DNS" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "Posizione file-linea non valida alla linea %s" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "Numero colonna %ld eccessivo" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "Fallita la lettura del file %s: %s" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "risultato di get_interface: '%s'" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "Nessuna interfaccia di rete utilizzabile per cattura" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "Interfaccie disponibili per cattura" #: src/menus.c:101 msgid "Open Capture File" msgstr "Apri ..." #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "_Annulla" #: src/menus.c:105 msgid "_Open" msgstr "&_Seleziona" #: src/menus.c:130 msgid "Export to XML File" msgstr "Esporta su file XML" #: src/menus.c:134 msgid "_Save" msgstr "_Salva" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "Interfaccia di cattura impostata a %s (via GUI)" #: src/menus.c:206 msgid "Unsupported mode in on_mode_radio_activate" msgstr "Modo non supportato in fill_node_id" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "Modo impostato a %s (via GUI)" #: src/menus.c:349 msgid "-unknown-" msgstr "-non noto-" #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "Status era già PLAY in 'gui_start_capture'" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "Modo non valido: %d" #: src/menus.c:453 msgid "Reading data from " msgstr "Lettura da " #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "interfaccia di default" #: src/menus.c:465 msgid " in Data Link mode" msgstr " modo Data Link" #: src/menus.c:468 msgid " in IP mode" msgstr " modo IP" #: src/menus.c:471 msgid " in TCP mode" msgstr " modo TCP" #: src/menus.c:483 msgid "Diagram started" msgstr "Diagramma attivato" #: src/menus.c:505 msgid "Paused" msgstr "In pausa" #: src/menus.c:507 msgid "Diagram paused" msgstr "Diagramma in pausa" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "Lettura da file '%s' completata." #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "Errore fermando la lettura pacchetti: %s" #: src/menus.c:567 msgid "Ready to capture from " msgstr "Pronto per cattura da " #: src/menus.c:579 msgid "Diagram stopped" msgstr "Diagramma fermo" #: src/node_windows.c:222 msgid "Name" msgstr "Nome" #: src/node_windows.c:223 msgid "Address" msgstr "Indirizzo" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "Aggiustamento: %g. Moltiplicatore raggio %g" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "Aggiustamento %g. Rapporto anello interno: %g " #: src/pref_dialog.c:482 msgid "Color" msgstr "Colore" #: src/preferences.c:373 #, c-format msgid "Preferences saved to %s" msgstr "Preferenze salvate su %s" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "Impossibile salvare le impostazioni su '%s': %s" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "Errore di ricezione messaggi dal processo di cattura" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "Errore inviando messaggi al processo di cattura" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "Errore ricezione pacchetti dal processo di cattura" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "Errore impostando la variabile d'ambiente %s a '%s': %s" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "Utente '%s' sconosciuto" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "Impossibile passare all'utente '%s' (uid %lu, gid %lu): %s" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" "Dispositivo %s utilizza un tipo link non supportato (%d). Selezionare " "un'altro dispositivo." #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" "Questa interfaccia non supporta il modo Link layer. Selezionare IP o TCP" #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" "dati letti insufficienti, decodifica protocolli terminata per '%s' (livello " "%d)" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "dati letti insufficienti, decodifica protocollo terminata a livello %d" #: src/names/names.c:221 msgid "Unsupported ape mode in fill_node_id" msgstr "Modo non supportato in fill_node_id" #: src/stats/decode_proto.c:192 #, c-format msgid "Link type is %s" msgstr "Tipo connessione è %s" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "Tipo connession non inizializzato" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "Radiotap:buffer di acquisizione troppo piccolo, pacchetto ignorato" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "PPI:buffer di acquisizione troppo piccolo, pacchetto ignorato" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "PPI:tipo link %u non supportato, pacchetto ignorato" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "wlan:acquisiti meno di 10 bytes, pacchetto ignorato" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "wlan:acquisiti %u bytes, necessari almeno %u, pacchetto ignorato" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "wlan:acquisiti %u bytes, necessari almeno %u, pacchetto RTS ignorato" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "wlan:tipo frame 0x%x sconosciuto, decodifica annullata" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "wlan:tipo frame 0x%x sconosciuto, decodifica annullata" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "Connessione accodata per eliminazione" #: src/stats/links.c:284 #, c-format msgid "New link: %s. Number of links %d" msgstr "Nuova connessione: %s. Numero connessioni %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "Connessione aggiornata: Attive %d" #: src/stats/node.c:108 #, c-format msgid "New node: %s. Number of nodes %d" msgstr "Nuovo nodo: %s. Numero nodi %d" #: src/stats/node.c:132 #, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Elimina nodo: %s. Numero nodi %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "Nodo '%s' accodato per eliminazione" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "Nodi aggiornati. Attivi: %d" #: src/stats/node_id.c:69 msgid "Unsupported ape mode in node_id_compare" msgstr "Modo non supportato in fill_node_id" #: src/stats/util.c:313 #, c-format msgid "%ld\" ago" msgstr "%ld\" fa" #: src/stats/util.c:318 #, c-format msgid "%ld'%ld\" ago" msgstr "%ld'%ld\" fa" #: glade/etherape.ui:12 msgid "A Graphical Network Browser." msgstr "Visualizza il traffico di rete" #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" #: glade/etherape.ui:176 msgid "_File" msgstr "" #: glade/etherape.ui:195 msgid "_export" msgstr "_esporta" #: glade/etherape.ui:234 msgid "_Capture" msgstr "_Cattura" #: glade/etherape.ui:243 msgid "_Mode" msgstr "_Modo" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "Livello _Link" #: glade/etherape.ui:274 msgid "_IP" msgstr "" #: glade/etherape.ui:288 msgid "_TCP" msgstr "" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "_Interfacce" #: glade/etherape.ui:343 msgid "_Pause" msgstr "_Pausa" #: glade/etherape.ui:356 msgid "St_op" msgstr "" #: glade/etherape.ui:375 msgid "_View" msgstr "_Viste" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "_Protocolli" #: glade/etherape.ui:394 msgid "_Nodes" msgstr "_Nodi" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "" #: glade/etherape.ui:431 msgid "_Legend" msgstr "_Legenda" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "Barra di _Stato" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "_Aiuto" #: glade/etherape.ui:522 msgid "Start capture" msgstr "Inizio cattura" #: glade/etherape.ui:523 msgid "Start" msgstr "" #: glade/etherape.ui:537 msgid "Next" msgstr "Avanti" #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Pausa cattura" #: glade/etherape.ui:553 msgid "Pause" msgstr "Pausa" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Stop cattura" #: glade/etherape.ui:569 msgid "Stop" msgstr "" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Preferenze (Ctrl-P)" #: glade/etherape.ui:595 msgid "Pref." msgstr "" #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Visualizza la finestra protocolli" #: glade/etherape.ui:612 msgid "Prot." msgstr "" #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "Nodi" #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protocolli" #: glade/etherape.ui:741 msgid "Select color" msgstr "Selezionare il colore" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "Protocollo di livello più alto" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "Livello 2 (Es. ETH_II)" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "Livello 3 (Es. IP)" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "Livello 4 (Es. TCP)" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "Livello 5 (Es. HTTP)" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "Traffico ist. (In+Out)" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "Traffico ist. (Ingresso)" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "Traffico ist. (Uscita)" #: glade/etherape.ui:858 msgid "Instant. packets (In+Out)" msgstr "Pacchetti ist. (In+Out)" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "Traffico acc. (In+Out)" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "Traffico acc. (Ingresso)" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "Traffico acc. (Uscita)" #: glade/etherape.ui:870 msgid "Accum. packets (In+Out)" msgstr "Pacchetti accum. (In+Out)" #: glade/etherape.ui:873 msgid "Average pkt size (In+Out)" msgstr "Dim. media pacchetto (In+Out)" #: glade/etherape.ui:884 msgid "(Off)" msgstr "Spento" #: glade/etherape.ui:887 msgid "Upper left" msgstr "Alto sx" #: glade/etherape.ui:890 msgid "Upper right" msgstr "Alto dx" #: glade/etherape.ui:893 msgid "Lower left" msgstr "Basso sx" #: glade/etherape.ui:896 msgid "Lower right" msgstr "Basso dx" #: glade/etherape.ui:907 msgid "Linear" msgstr "Lineare" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Logaritmico" #: glade/etherape.ui:913 msgid "Square Root" msgstr "Quadratico" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Preferenze" #: glade/etherape.ui:935 msgid "Save" msgstr "Salva" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "Salva modifiche nel file di configurazione" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "Conferma modifiche" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "Annulla modifiche" #: glade/etherape.ui:1017 msgid "Protocol Stack _Level" msgstr "_Livello Stack Protocolli" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Imposta il livello dello stack protocolli visualizzato nella legenda" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "Statistica utilizzata per calcolare dimensione di nodi e link" #: glade/etherape.ui:1063 msgid "Size _Variable" msgstr "_Variabile Calcolo" #: glade/etherape.ui:1077 msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "Variabile controllante la dimensione del nodo" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "Scala del cerchio _Interno" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "Raggio del cerchio interno in rapporto al cerchio esterno" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "Statistiche di cattura:" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" "Seleziona dove mostrare le statistiche di cattura: pacchetti ricevuti, " "persi\n" "dall'OS, persi dal driver" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "Moltiplicatore _Raggio Nodo" #: glade/etherape.ui:1235 msgid "Size _Mode" msgstr "_Modalità pesatura" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" "Seleziona l'algoritmo di pesatura utilizzato per dimensionare nodi e " "connessioni" #: glade/etherape.ui:1276 msgid "_Hide node names" msgstr "Nome nodi _nascosti" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "Se selezionato, nasconde i nomi dei nodi" #: glade/etherape.ui:1293 msgid "_Group unknown ports" msgstr "Ra_ggruppa porte sconosciute" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "_Risoluzione nomi" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" "Attiva risoluzione nomi. Se deselezionato, tutti gli indirizzi sono in forma " "numerica." #: glade/etherape.ui:1354 msgid "_Capture filter" msgstr "Filtro _cattura" #: glade/etherape.ui:1367 msgid "Sets the capture filter" msgstr "Imposta l'espressione di filtro per cattura pacchetti" #: glade/etherape.ui:1398 msgid "Node Label _Font" msgstr "_Carattere etichette nodi" #: glade/etherape.ui:1413 msgid "Node Label Font" msgstr "Carattere usato per i nomi dei nodi" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "C_olore etichette nodi" #: glade/etherape.ui:1454 msgid "Choose the color used to display node labels" msgstr "Colore utilizzato per i nomi dei nodi" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "Scegliere un colore" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "Nodo C_entrale" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "Nodo centrale (opzionale)" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "Immagine di sfondo" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "_Immagine di sfondo" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "Attiva immagine di sfondo" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Diagramma" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 #, fuzzy msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" "Aggiunge un nuovo colore all'elenco di quelli usabili per rappresentare i " "protocolli" #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Elimina colore" #: glade/etherape.ui:1666 msgid "remove the selected row" msgstr "cambia il colore della riga selezionata" #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Modifica protocollo" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "Colori" #: glade/etherape.ui:1755 msgid "Diagram Refresh _Period (ms)" msgstr "Intervallo aggiornamento Diagramma (ms)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Tempo in ms fra un aggiornamento e l'altro del diagramma" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Tempo di media (ms)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "" "Durata della media mobile. Le informazioni sui pacchetti sono mediate su " "questo intervallo." #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" "Elimina il nodo dal diagramma dopo questo intervallo. 0 significa non " "eliminare mai." #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" "elimina il link dal diagramma al termine dell'intervallo. 0 disabilita." #: glade/etherape.ui:1949 msgid "Diagram Timeouts (s)" msgstr "Timeout Diagramma (s)" #: glade/etherape.ui:2000 msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "" "Elimina statistiche di protocollo al termine di questo intervallo. 0 " "disabilita." #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" "elimina il link dal diagramma al termine dell'intervallo. 0 disabilita." #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 msgid "Statistics Timeouts (s)" msgstr "Timeout Statistiche (s)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Statistiche traffico" #: glade/etherape.ui:2125 msgid "Remove this protocol from memory after this much time. " msgstr "Elimina il protocollo dalla memoria dopo questo tempo." #: glade/etherape.ui:2156 msgid "Global Protocol Timeouts (s)" msgstr "Timeout Protocollo Globali (s)" #: glade/etherape.ui:2199 msgid "Timings" msgstr "Temporizzazioni" #: glade/etherape.ui:2229 msgid "WWW" msgstr "" #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "EtherApe: assegnare il protocollo" #: glade/etherape.ui:2311 msgid "Row _protocol name(s) ..." msgstr "nome/i _protocollo ..." #: glade/etherape.ui:2327 msgid "Type the protocol name" msgstr "Inserire il nome del protocollo" #: glade/etherape.ui:2365 msgid "Row _Color" msgstr "_Colore" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "Indirizzo" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "Nome" #: glade/etherape.ui:2517 msgid "node A" msgstr "nodo A" #: glade/etherape.ui:2528 msgid "node B" msgstr "nodo B" #: glade/etherape.ui:2587 msgid "Total" msgstr "Totale" #: glade/etherape.ui:2599 msgid "Inbound" msgstr "Entrante" #: glade/etherape.ui:2612 msgid "Outbound" msgstr "Uscente" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "Istantaneo" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "Accumulato" #: glade/etherape.ui:2693 msgid "Average size" msgstr "Dimensione media" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "_Mostra tutti i nodi" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" "Abilita/disabilita la visualizzazione dei nodi non visibili sul grafico, ma " "tuttora in memoria" #: glade/etherape.ui:2861 msgid "name" msgstr "nome" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Ultimo pkt" #: glade/etherape.ui:2899 msgid "label73" msgstr "" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Protocolli" #~ msgid "Add color" #~ msgstr "Aggiunta colore" #~ msgid "Change color" #~ msgstr "Cambia colore" #, c-format #~ msgid "Adjustment value: %g. Link-node ratio %g" #~ msgstr "Aggiustamento %g. Rapporto link-nodo %g" #~ msgid "Link _Width - Node Radius Ratio" #~ msgstr "Rapporto _Connessione - Nodo" #~ msgid "Ratio between link width and node radius" #~ msgstr "" #~ "Rapporto fra larghezza connessione e raggio del cerchio associato al nodo" #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "Elimina il nodo dalla memoria dopo questo intervallo. 0 disabilita." #~ msgid "Protocol Statistics" #~ msgstr "Statistiche Protocolli" #~ msgid "Node Timeouts (s)" #~ msgstr "Timeout nodo (s)" #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "elimina il link dalla memoria al termine dell'intervallo. 0 disabilita." #~ msgid "Unable to allocate color for new protocol %s" #~ msgstr "Impossibile allocare un colore per il nuovo protocollo %s" #~ msgid "" #~ "Topmost recognized protocol\n" #~ "Level 2 (Eg: ETH_II)\n" #~ "Level 3 (Eg: IP)\n" #~ "Level 4 (Eg: TCP)\n" #~ "Level 5 (Eg: HTTP)" #~ msgstr "" #~ "Protocollo di livello più alto\n" #~ "Livello 2 (Es. ETH_II)\n" #~ "Livello 3 (Es. IP)\n" #~ "Livello 4 (Es. TCP)\n" #~ "Livello 5 (Es. HTTP)" #~ msgid "" #~ "Instant. traffic (In+Out)\n" #~ "Instant. traffic (Inbound)\n" #~ "Instant. traffic (Outbound)\n" #~ "Instant. packets (In+Out)\n" #~ "Accum. traffic (In+Out)\n" #~ "Accum. traffic (Inbound)\n" #~ "Accum. traffic (Outbound)\n" #~ "Accum. packets (In+Out)\n" #~ "Average pkt size (In+Out)\n" #~ msgstr "" #~ "Traffico istantaneo (In+Out)\n" #~ "Traffico istantaneo (Entrante)\n" #~ "Traffico istantaneo (Uscente)\n" #~ "Pacchetti attivi (In+Out)\n" #~ "Traffico totale (In+Out)\n" #~ "Traffico totale (Entrante)\n" #~ "Traffico totale (Uscente)\n" #~ "Pacchetti totali (In+Out)\n" #~ "Dimensione media (In+Out)\n" #~ msgid "" #~ "Linear\n" #~ "Logarithmic\n" #~ "Square Root" #~ msgstr "" #~ "Lineare\n" #~ "Logaritmico\n" #~ "Quadratico" #~ msgid "Export node data as xml" #~ msgstr "Esporta le statistiche dei nodi in XML" #~ msgid "Set Link Layer (OSI level 2) mode" #~ msgstr "Imposta modo Link Layer (livello OSI 2)" #~ msgid "Set IP mode" #~ msgstr "Imposta modo IP" #~ msgid "Set TCP mode" #~ msgstr "Imposta modo TCP" #~ msgid "advances to next packet" #~ msgstr "passa al pacchetto successivo" #~ msgid "Show or hide the protocols window" #~ msgstr "Mostra/nasconde la finestra protocolli" #, fuzzy #~ msgid "Show or hide the nodes window" #~ msgstr "Mostra/nasconde la finestra nodi" #~ msgid "Activate full screen mode" #~ msgstr "Modalità schermo intero" #~ msgid "Show or hide the toolbar" #~ msgstr "Mostra/nasconde la toolbar" #~ msgid "Show or hide the legend" #~ msgstr "Mostra/nasconde la legenda" #~ msgid "Show or hide the status bar" #~ msgstr "Mostra/nasconde la barra di stato" #~ msgid "Reading columns file '%s'" #~ msgstr "Lettura colonne dal file '%s'" #~ msgid "row %d: regexp/ip %s, column %u" #~ msgstr "riga %d: regexp/ip %s, colonna %u" #~ msgid "Columns file read. Total columns %d" #~ msgstr "File colonne letto. Colonne totali %d" #~ msgid "" #~ "No capture device found or insufficient privileges.\n" #~ "Only file replay will be available.\n" #~ "EtherApe must be run with administrative privileges (e.g. root) to enable " #~ "live capture.\n" #~ "Pcap error: %s" #~ msgstr "" #~ "Nessuna interfaccia di rete trovata o privilegi insufficienti.\n" #~ "Sarà possibile solo visualizzare pacchetti da file.\n" #~ "EtherApe richiede privilegi di amministratore (cioè root) per leggere da " #~ "rete.\n" #~ "Errore pcap: %s" #~ msgid "" #~ "Error opening %s : %s\n" #~ "- perhaps you need to be root?" #~ msgstr "" #~ "Errore aprendo %s : %s\n" #~ "forse devi essere root ?" #~ msgid "Live device %s opened for capture. pcap_fd: %d" #~ msgstr "Device di rete %s aperto in lettura. pcap_fd: %d" #~ msgid "Can't open both %s and device %s. Please choose one." #~ msgstr "" #~ "Impossibile aprire contemporaneamente %s ed il device %s. Prego " #~ "selezionarne uno solo." #~ msgid "Error opening %s : %s" #~ msgstr "Errore aprendo %s : %s" #~ msgid "%s opened for offline capture" #~ msgstr "%s aperto in lettura" #, fuzzy #~ msgid "" #~ "File %s contains packets with unsupported link type %u, cannot replay" #~ msgstr "" #~ "File %s contiene pacchetti con il tipo link %d, non supportato. Lettura " #~ "annullata." #, fuzzy #~ msgid "Unsupported link type %u" #~ msgstr "PPI:tipo link %d non supportato, pacchetto ignorato" #~ msgid "" #~ "Couldn't obtain netmask info (%s). Filters involving broadcast addresses " #~ "could behave incorrectly." #~ msgstr "" #~ "impossibile ottenere informazioni sulla maschera di rete (%s). Filtri " #~ "corrispondenti ad indirizzi broadcast protrebbero non funzionare " #~ "correttamente." #~ msgid "Unable to parse filter string (%s). Filter ignored." #~ msgstr "Impossibile analizzare la stringa filtro (%s)." #~ msgid "Can't install filter (%s). Filter ignored." #~ msgstr "Impossibile attivare il filtro (%s). Filtro ignorato." #~ msgid "Starting live capture" #~ msgstr "Attivazione cattura da rete" #~ msgid "Using timers for live capture" #~ msgstr "Live capture utilizza timers" #~ msgid "Starting offline capture" #~ msgstr "Inizio lettura da file" #~ msgid "Pausing offline capture" #~ msgstr "Lettura file in pausa" #~ msgid "Error while trying to pause capture" #~ msgstr "Errore durante la messa in pausa" #~ msgid "Stopping live capture" #~ msgstr "Cattura da rete in chiusura" #~ msgid "Stopping offline capture" #~ msgstr "Lettura da file in chiusura" #~ msgid "Capture device stopped or file closed" #~ msgstr "Cattura terminata o file chiuso" #~ msgid "Loading of background image failed with error '%s'" #~ msgstr "Caricamento dell'immagine di sfondo fallito con errore '%s'" #~ msgid "New background image path: '%s'" #~ msgstr "Nuova path per l'immagine di sfondo: '%s'" #~ msgid "Information" #~ msgstr "Informazioni" etherape-0.9.20/po/it.gmo0000644000175000017500000004537414050240552012070 00000000000000l9   PtN1 2 CP#l !   *8Ph )*!& @Maj {%"U,Hu{E',"LoH4;}$R"u#5401Hz42 ,Fa }   %<Xg w  %  0")S3}   !!-!.M!6|!!! !! !!!!"" 5"?"W"2t"""+"N"NL#7# ## $$!($J$!O$ q$S~$?$r%% %% % %(% %1&J9&&?&&&&'$'#<'9`'$'''*'(1( P( [(g(%}(((((((( )) )")()9)@)F) M)X)^) n)z)))#) )*)$ *%/*&U*|**?*?*.+@+E+L+AS+I+++,&,9,(T,C},G,C -0M-,~-,-.. .. //[,/`/2/0 #0.0 70A0Y0 i0v0%000 0%01 81F1e1|1111 1 1.1+!2#M2q222 2222,23/03P`3%33334^4/t4,4,4!4 5'*5R5e5x555!5V596/S666!6P6 7"474W727/777('8:P8898 888 9$9 ;9F9-Z9 9 9999999":6:J: c:o:x:,:::,::;@$;9e;4;;#;<)< E<R<W< A=K=T=n==v=3=[= D>N> T>b>k>>>> >> >%>#?B,? o?{?8?G?T@6h@ @@@@!@A* A8A-NAD|AfA5(B^BtB BB-B B=BHCcC(sCCCCCCD@5D#vD#D#D!DE E(E0E+DEpEyEEEEEE EE EFF F &F2F 9FEFLFaFqFxFF F F#FF;G6QG G%GEGDHZHiHnHuHF|HOH'I;I SItII'I3IDJ@MJ6J6J vdU+.b2C|XR]}:GBQg{<VJ/"%A'[j-4ctNfD WxprEy!w,HF1mPeh5Tu&M;a 0z?_L )Z\o$3 qOn@87YI#*=slK^Sk9~( >6`i in Data Link mode in IP mode in TCP mode%ld" ago%ld'%ld" ago%s protocol not supported%s uses unsupported link type %d, cannot proceed. Please choose another source.'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': packets dropped by interface or driver.(Capture statistics unavailable in offline mode.)(Off)-unknown-Diagram Timeouts (s)Global Protocol Timeouts (s)Statistics Timeouts (s)A Graphical Network Browser.Accum TrafficAccum. packets (In+Out)Accum. traffic (In+Out)Accum. traffic (Inbound)Accum. traffic (Outbound)AccumulatedAddressAdjustment value: %g. Inner ring scale %gAdjustment value: %g. Radius multiplier %gAvailable interfaces for capture:Average pkt size (In+Out)Average sizeAveraging Time (ms)Avg SizeBackground ImageC_entral NodeCancel changesCannot create widget %s from file %s!Canvas node nullCapture interface set to %s in GUIChoose how node radius and link width are calculated as a function of average trafficChoose the color used to display node labelsColorColorsColumn number %ld out of rangeConfirm changesControls display of nodes timed out from diagram, but still in memoryCould not load interface file '%s'!: %sCreating canvas_node: %s. Number of nodes %dDNS resolver initialization failedData link entry not initializedDiagramDiagram Refresh _Period (ms)Diagram pausedDiagram startedDiagram stoppedDisable informational messagesDisplay pcap _stats:Display the protocols windowEnable name resolution. If unchecked, all addresses are in numeric form.Enable selection of a background image for the main displayError saving preferences to '%s': %sEtherApe: PreferencesEtherApe: ProtocolsEtherApe: assign protocolExpire protocol statistics for a node after this much time. 0 means never timeout.Export to XML FileFailed to read position file %s: %sFailed to receive message from packet-capture processFailed to receive packet from packet-capture processFailed to send message to packet-capture processFailed to set %s environment variable to '%s': %sFailed to stop capture: %sFailed to switch to user '%s' (uid=%lu, gid=%lu): %sInboundInner ring radius as a fraction of outer ring sizeInst TrafficInstant. packets (In+Out)Instant. traffic (In+Out)Instant. traffic (Inbound)Instant. traffic (Outbound)InstantaneousInvalid mode: %dInvalid position-file line: %sLast HeardLast Heard: Level 2 (Eg: ETH_II)Level 3 (Eg: IP)Level 4 (Eg: TCP)Level 5 (Eg: HTTP)LinearLink main protocol: %sLink main protocol: unknownLink timed outLink type is %sLogarithmicLower leftLower rightManually position nodes based on FileMode set to %s in GUINameNew link: %s. Number of links %dNew node: %s. Number of nodes %dNextNo prot_info_window in on_prot_info_delete_eventNo prot_name in on_prot_info_delete_eventNo suitables interfaces for capture have been foundNode Label C_olorNode Label FontNode Label _FontNode _Radius MultiplierNode timed outNodesNodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names %ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). IP cache entries %ld. Canvas objs: %ld. Refreshed: %u msNumeric Name:Open Capture FileOptional central nodeOutboundPPI:captured size too small, packet discardedPPI:unsupported link type %u, packet discardedPacket information is averaged for this amount of timePacketsPausePause capturePausedPick a Color PortPreferences (Ctrl-P)Preferences saved to %sProtocolProtocol Stack _LevelProtocolsQueuing link for removeQueuing node '%s' for removeRadiotap:captured size too small, packet discardedReading data from Ready to capture from Refresh diagram every this many milisecondsRemove this link from the diagram after this much time. 0 means never timeout.Remove this node from the diagram after this much time. 0 means never timeout.Remove this protocol from memory after this much time. Replay from file '%s' completed.Resolved Name:Row _ColorRow _protocol name(s) ...SIGUSR1 received: exporting to %sSaveSaves changes to preferences fileSelect colorSet the kind of instantaneous or accumulated traffic that the node radius indicatesSet what level of the protocol stack is displayed in the legendSet where to display pcap stats: packets received, dropped by OS buffering, and dropped by the interface or driverSets the capture filterSize _ModeSize _VariableSquare RootStart captureStatus already PLAY at gui_start_captureStop captureThe statistic used to compute node and link sizesThis device does not support link-layer mode. Please use IP or TCP modes.TimingsToggle whether the node names are displayed on top of the nodesTopmost recognized protocolTotalType the protocol nameUnknown user '%s'Unknown value for link_size_variableUnknown value or node_size_variableUnrecognized mode. Do etherape --help for a list of modesUnsupported ape mode in fill_node_idUnsupported ape mode in node_id_compareUnsupported mode in on_mode_radio_activateUpdated links. Active links %dUpdated nodes. Active nodes %dUpper leftUpper rightUse _background imageWe could not load the interface! (%s)_Cancel_Capture_Capture filter_Group unknown ports_Help_Hide node names_Inner Ring Scale_Interfaces_Legend_Link Layer_Mode_Name Resolution_Nodes_Open_Pause_Protocols_Save_Show all nodes_Status Bar_View_exportdefault interfacedelete node: %s. Number of nodes %ddon't convert addresses to namesdon't display any node text identificationdon't move nodes around (deprecated)export to named file at end of replayexport to named file on receiving USR1get_interface result: '%s'limits nodes displayedmaximum packet delay in ms for reading capture files [cli only]minimum packet delay in ms for reading capture files [cli only]mode of operationnamenode Anode Bnot enough captured data, terminating protocol decode at level %dnot enough captured data, terminating protocol decode for '%s' (level %d)remove the selected rowreplay packets from filerun as the given userset capture filterset interface to listen touses the named libglade file for widgetswlan:captured size too small (less than 10 bytes), packet discardedwlan:captured size too small (read %u, needed %u), RTS packet discardedwlan:captured size too small (read %u, needed %u), packet discardedwlan:frame type 0x%x is reserved, decode abortedwlan:unknown frame type 0x%x, decode abortedProject-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2021-05-16 17:58+0200 Last-Translator: R.Ghetta Language-Team: Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Basepath: .. X-Generator: Poedit 2.4.2 modo Data Link modo IP modo TCP%ld" fa%ld'%ld" faProtocollo %s non supportatoDispositivo %s utilizza un tipo link non supportato (%d). Selezionare un'altro dispositivo.'recv': pacchetti ricevuti, 'drop': pacchetti persi dal SO, 'ifdrop': pacchetti persi dal driver(Statistiche non disponibili in modalità offline)Spento-non noto-Timeout Diagramma (s)Timeout Protocollo Globali (s)Timeout Statistiche (s)Visualizza il traffico di reteTraffico acc. (In+Out)Pacchetti accum. (In+Out)Traffico acc. (In+Out)Traffico acc. (Ingresso)Traffico acc. (Uscita)AccumulatoIndirizzoAggiustamento %g. Rapporto anello interno: %g Aggiustamento: %g. Moltiplicatore raggio %gInterfaccie disponibili per catturaDim. media pacchetto (In+Out)Dimensione mediaTempo di media (ms)Dim.MediaImmagine di sfondoNodo C_entraleAnnulla modificheImpossibile creare il widget %s dal file %s!Nodo canvas nullInterfaccia di cattura impostata a %s (via GUI)Seleziona l'algoritmo di pesatura utilizzato per dimensionare nodi e connessioniColore utilizzato per i nomi dei nodiColoreColoriNumero colonna %ld eccessivoConferma modificheAbilita/disabilita la visualizzazione dei nodi non visibili sul grafico, ma tuttora in memoriaImpossibile caricare file interfaccia '%s'!: %sCreazione canvas_node: %s. Numero di nodi %dFallita inizializzazione risolutore nomi DNSTipo connession non inizializzatoDiagrammaIntervallo aggiornamento Diagramma (ms)Diagramma in pausaDiagramma attivatoDiagramma fermodisabilita messaggi informativiStatistiche di cattura:Visualizza la finestra protocolliAttiva risoluzione nomi. Se deselezionato, tutti gli indirizzi sono in forma numerica.Attiva immagine di sfondoImpossibile salvare le impostazioni su '%s': %sEtherApe: PreferenzeEtherApe: ProtocolliEtherApe: assegnare il protocolloElimina statistiche di protocollo al termine di questo intervallo. 0 disabilita.Esporta su file XMLFallita la lettura del file %s: %sErrore di ricezione messaggi dal processo di catturaErrore ricezione pacchetti dal processo di catturaErrore inviando messaggi al processo di catturaErrore impostando la variabile d'ambiente %s a '%s': %sErrore fermando la lettura pacchetti: %sImpossibile passare all'utente '%s' (uid %lu, gid %lu): %sEntranteRaggio del cerchio interno in rapporto al cerchio esternoTraffico Ist.Pacchetti ist. (In+Out)Traffico ist. (In+Out)Traffico ist. (Ingresso)Traffico ist. (Uscita)IstantaneoModo non valido: %dPosizione file-linea non valida alla linea %sUltimo pktUltimo pktLivello 2 (Es. ETH_II)Livello 3 (Es. IP)Livello 4 (Es. TCP)Livello 5 (Es. HTTP)LineareProtocollo principale: %sProtocollo principale: sconosciutoConnessione scadutaTipo connessione è %sLogaritmicoBasso sxBasso dxPosiziona manualmente i nodi in base al FileModo impostato a %s (via GUI)NomeNuova connessione: %s. Numero connessioni %dNuovo nodo: %s. Numero nodi %dAvantiprot_info_window non specificata nell'evento on_prot_info_deleteprot_name non specificato nell'evento on_prot_info_deleteNessuna interfaccia di rete utilizzabile per catturaC_olore etichette nodiCarattere usato per i nomi dei nodi_Carattere etichette nodiMoltiplicatore _Raggio NodoNodo scadutoNodiNodi: %d (su canvas: %d, visualizzati: %u), Collegamenti: %d, Conversazioni: %ld, nomi: %ld, protocolli: %ld. Totale pacchetti letti: %lu (in memoria: %ld, su lista %ld). Elementi cache IP: %ld. Oggetti canvas: %ld. Aggiornato: %u msIndirizzoApri ...Nodo centrale (opzionale)UscentePPI:buffer di acquisizione troppo piccolo, pacchetto ignoratoPPI:tipo link %u non supportato, pacchetto ignoratoDurata della media mobile. Le informazioni sui pacchetti sono mediate su questo intervallo.PacchettiPausaPausa catturaIn pausaScegliere un colorePortaPreferenze (Ctrl-P)Preferenze salvate su %sProtocollo_Livello Stack ProtocolliProtocolliConnessione accodata per eliminazioneNodo '%s' accodato per eliminazioneRadiotap:buffer di acquisizione troppo piccolo, pacchetto ignoratoLettura da Pronto per cattura da Tempo in ms fra un aggiornamento e l'altro del diagrammaelimina il link dal diagramma al termine dell'intervallo. 0 disabilita.Elimina il nodo dal diagramma dopo questo intervallo. 0 significa non eliminare mai.Elimina il protocollo dalla memoria dopo questo tempo.Lettura da file '%s' completata.Nome_Colorenome/i _protocollo ...SIGUSR1 ricevuto: scrittura in %sSalvaSalva modifiche nel file di configurazioneSelezionare il coloreVariabile controllante la dimensione del nodoImposta il livello dello stack protocolli visualizzato nella legendaSeleziona dove mostrare le statistiche di cattura: pacchetti ricevuti, persi dall'OS, persi dal driverImposta l'espressione di filtro per cattura pacchetti_Modalità pesatura_Variabile CalcoloQuadraticoInizio catturaStatus era già PLAY in 'gui_start_capture'Stop catturaStatistica utilizzata per calcolare dimensione di nodi e linkQuesta interfaccia non supporta il modo Link layer. Selezionare IP o TCPTemporizzazioniSe selezionato, nasconde i nomi dei nodiProtocollo di livello più altoTotaleInserire il nome del protocolloUtente '%s' sconosciutoValore link_size non ammessoValore node_size non ammessomodo sconosciuto. Eseguire etherape --help per un elenco di modiModo non supportato in fill_node_idModo non supportato in fill_node_idModo non supportato in fill_node_idConnessione aggiornata: Attive %dNodi aggiornati. Attivi: %dAlto sxAlto dx_Immagine di sfondoImpossibile caricare file interfaccia! (%s)_Annulla_CatturaFiltro _catturaRa_ggruppa porte sconosciute_AiutoNome nodi _nascostiScala del cerchio _Interno_Interfacce_LegendaLivello _Link_Modo_Risoluzione nomi_Nodi&_Seleziona_Pausa_Protocolli_Salva_Mostra tutti i nodiBarra di _Stato_Viste_esportainterfaccia di defaultElimina nodo: %s. Numero nodi %dnon convertire indirizzi in nominon visualizzare etichette sui nodinodi fissi (deprecato)esporta automaticamente nel file specificato a fine letturaesporta nel file specificato alla ricezione di SIGUSR1risultato di get_interface: '%s'limita il numero di nodi visualizzatiritardo massimo in ms durante la lettura da file [solo linea comando]ritardo minimo in ms durante la lettura da file [solo linea comando]modo operativonomenodo Anodo Bdati letti insufficienti, decodifica protocollo terminata a livello %ddati letti insufficienti, decodifica protocolli terminata per '%s' (livello %d)cambia il colore della riga selezionatalegge pacchetti da fileEsegue come l'utente specificatoimposta filtro di catturaimposta l'interfaccia di reteusa il file specificato per le mascherewlan:acquisiti meno di 10 bytes, pacchetto ignoratowlan:acquisiti %u bytes, necessari almeno %u, pacchetto RTS ignoratowlan:acquisiti %u bytes, necessari almeno %u, pacchetto ignoratowlan:tipo frame 0x%x sconosciuto, decodifica annullatawlan:tipo frame 0x%x sconosciuto, decodifica annullataetherape-0.9.20/po/fr.po0000644000175000017500000010411314050232250011676 00000000000000# Translation of etherape messages # Copyright (C) 2000 Frederic Peters # Frederic Peters , 2000 # # msgid "" msgstr "" "Project-Id-Version: 0.8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2001-08-10 12:57+02:00\n" "Last-Translator: Frederic Peters \n" "Language-Team: None\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" # src/support.c:98 src/support.c:136 #: src/appdata.c:83 #, fuzzy, c-format msgid "Could not load interface file '%s'!: %s" msgstr "Impossible de trouver le fichier pixmap: %s" # src/capture.c:986 #: src/datastructs.c:385 #, fuzzy, c-format msgid "%s protocol not supported" msgstr "Type de liaison pas encore supporté" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "" #: src/diagram.c:976 msgid "Canvas node null" msgstr "" # src/capture.c:409 #: src/diagram.c:985 #, fuzzy, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "Création du noeud: %s. Nombre de noeuds: %d" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "" #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "" #: src/diagram.c:1734 msgid "Link main protocol: unknown" msgstr "" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "" # src/support.c:114 #: src/info_windows.c:116 #, fuzzy, c-format msgid "Cannot create widget %s from file %s!" msgstr "Impossible de créer un pixmap à partir du fichier: %s" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "" # src/interface.c:278 #: src/info_windows.c:438 src/pref_dialog.c:486 #, fuzzy msgid "Protocol" msgstr "Protocoles" #: src/info_windows.c:439 msgid "Port" msgstr "" #: src/info_windows.c:440 src/node_windows.c:224 msgid "Inst Traffic" msgstr "" #: src/info_windows.c:441 src/node_windows.c:225 msgid "Accum Traffic" msgstr "" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" #: src/info_windows.c:443 src/node_windows.c:227 msgid "Last Heard" msgstr "" #: src/info_windows.c:444 src/node_windows.c:228 msgid "Packets" msgstr "" # src/interface.c:648 #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 #, fuzzy msgid "Node timed out" msgstr "Timeout pour les noeuds (ms)" #: src/info_windows.c:989 msgid "B->A" msgstr "" #: src/info_windows.c:990 msgid "A->B" msgstr "" # src/interface.c:648 #: src/info_windows.c:996 #, fuzzy msgid "Link timed out" msgstr "Timeout pour les noeuds (ms)" # src/main.c:61 #: src/main.c:96 msgid "don't display any node text identification" msgstr "ne pas afficher d'identification pour les noeuds" #: src/main.c:98 msgid "replay packets from file" msgstr "" #: src/main.c:98 msgid "" msgstr "" # src/main.c:70 #: src/main.c:100 msgid "set capture filter" msgstr "définir le filtre de capture" # src/main.c:70 #: src/main.c:100 msgid "" msgstr "" # src/main.c:67 #: src/main.c:102 msgid "set interface to listen to" msgstr "définir l'interface sur laquelle écouter" # src/main.c:67 #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "" #: src/main.c:112 msgid "limits nodes displayed" msgstr "" #: src/main.c:112 msgid "" msgstr "" # src/main.c:64 #: src/main.c:114 msgid "mode of operation" msgstr "mode d'opération" #: src/main.c:114 msgid "" msgstr "" # src/main.c:58 #: src/main.c:116 msgid "don't convert addresses to names" msgstr "ne pas convertir les adresses en noms" #: src/main.c:118 msgid "Disable informational messages" msgstr "" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "" # src/main.c:70 #: src/main.c:126 #, fuzzy msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "" # src/main.c:67 #: src/main.c:130 #, fuzzy msgid "" msgstr "" # src/main.c:118 #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "Mode inconnu. Faites etherape --help pour la liste des modes" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "" #: src/menus.c:101 #, fuzzy msgid "Open Capture File" msgstr "Etherape: Préférences" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" # src/interface.c:258 #: src/menus.c:105 #, fuzzy msgid "_Open" msgstr "Ouvrir" #: src/menus.c:130 msgid "Export to XML File" msgstr "" # src/interface.c:270 #: src/menus.c:134 #, fuzzy msgid "_Save" msgstr "Enregistrer" # src/main.c:67 #: src/menus.c:180 #, fuzzy, c-format msgid "Capture interface set to %s in GUI" msgstr "définir l'interface sur laquelle écouter" # src/capture.c:749 #: src/menus.c:206 #, fuzzy msgid "Unsupported mode in on_mode_radio_activate" msgstr "Mode ape non supporté dans get_link_id" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "" #: src/menus.c:349 msgid "-unknown-" msgstr "" #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "" # Sets the appbar #: src/menus.c:453 msgid "Reading data from " msgstr "" #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "" # src/interface.c:709 #: src/menus.c:465 #, fuzzy msgid " in Data Link mode" msgstr "Mode de la taille" # src/interface.c:709 #: src/menus.c:468 #, fuzzy msgid " in IP mode" msgstr "Mode de la taille" # src/interface.c:709 #: src/menus.c:471 #, fuzzy msgid " in TCP mode" msgstr "Mode de la taille" # src/interface.c:510 #: src/menus.c:483 #, fuzzy msgid "Diagram started" msgstr "Diagramme" # Sets the appbar #: src/menus.c:505 msgid "Paused" msgstr "" # src/interface.c:510 #: src/menus.c:507 #, fuzzy msgid "Diagram paused" msgstr "Diagramme" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "" #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "" # src/main.c:70 # Sets the appbar #: src/menus.c:567 #, fuzzy msgid "Ready to capture from " msgstr "définir le filtre de capture" # src/interface.c:510 #: src/menus.c:579 #, fuzzy msgid "Diagram stopped" msgstr "Diagramme" #: src/node_windows.c:222 msgid "Name" msgstr "" #: src/node_windows.c:223 msgid "Address" msgstr "" # src/callbacks.c:195 src/callbacks.c:206 #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "Valeur d'ajustement: %g. Multiplicateur de rayon: %g." # src/callbacks.c:195 src/callbacks.c:206 #: src/pref_dialog.c:265 #, fuzzy, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "Valeur d'ajustement: %g. Multiplicateur de rayon: %g." # src/main.c:76 src/main.c:79 src/main.c:82 #: src/pref_dialog.c:482 #, fuzzy msgid "Color" msgstr "couleur" #: src/preferences.c:373 #, fuzzy, c-format msgid "Preferences saved to %s" msgstr "Préférences enregistrées" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" # src/capture.c:749 #: src/names/names.c:221 #, fuzzy msgid "Unsupported ape mode in fill_node_id" msgstr "Mode ape non supporté dans get_link_id" #: src/stats/decode_proto.c:192 #, c-format msgid "Link type is %s" msgstr "" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "" # src/capture.c:438 src/capture.c:443 #: src/stats/links.c:284 #, fuzzy, c-format msgid "New link: %s. Number of links %d" msgstr "Création de la liaison: %s-%s. Nombre de liaisons: %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "" # src/capture.c:409 #: src/stats/node.c:108 #, fuzzy, c-format msgid "New node: %s. Number of nodes %d" msgstr "Création du noeud: %s. Nombre de noeuds: %d" # src/capture.c:409 #: src/stats/node.c:132 #, fuzzy, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Création du noeud: %s. Nombre de noeuds: %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "" # src/capture.c:749 #: src/stats/node_id.c:69 #, fuzzy msgid "Unsupported ape mode in node_id_compare" msgstr "Mode ape non supporté dans get_link_id" #: src/stats/util.c:313 #, c-format msgid "%ld\" ago" msgstr "" #: src/stats/util.c:318 #, c-format msgid "%ld'%ld\" ago" msgstr "" # src/interface.c:350 #: glade/etherape.ui:12 #, fuzzy msgid "A Graphical Network Browser." msgstr "" "Un navigateur de réseau graphique.\n" "Web: http://etherape.sourceforge.net" #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" # src/interface.c:23 #: glade/etherape.ui:176 #, fuzzy msgid "_File" msgstr "Nouveau fichier" # src/interface.c:278 #: glade/etherape.ui:195 #, fuzzy msgid "_export" msgstr "Protocoles" #: glade/etherape.ui:234 #, fuzzy msgid "_Capture" msgstr "Capture" # src/interface.c:709 #: glade/etherape.ui:243 #, fuzzy msgid "_Mode" msgstr "Mode de la taille" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "" #: glade/etherape.ui:274 msgid "_IP" msgstr "" #: glade/etherape.ui:288 msgid "_TCP" msgstr "" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "" #: glade/etherape.ui:343 msgid "_Pause" msgstr "" #: glade/etherape.ui:356 msgid "St_op" msgstr "" # src/interface.c:23 #: glade/etherape.ui:375 #, fuzzy msgid "_View" msgstr "Nouveau fichier" # src/interface.c:278 #: glade/etherape.ui:385 #, fuzzy msgid "_Protocols" msgstr "Protocoles" # src/interface.c:709 #: glade/etherape.ui:394 #, fuzzy msgid "_Nodes" msgstr "Mode de la taille" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" # src/interface.c:46 #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "Barre d'_outils" # src/interface.c:53 #: glade/etherape.ui:431 msgid "_Legend" msgstr "_Légende" # src/interface.c:60 #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "Barre d'_état" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "" #: glade/etherape.ui:522 #, fuzzy msgid "Start capture" msgstr "Capture" #: glade/etherape.ui:523 msgid "Start" msgstr "" #: glade/etherape.ui:537 #, fuzzy msgid "Next" msgstr "Pas de texte" #: glade/etherape.ui:552 #, fuzzy msgid "Pause capture" msgstr "Capture" #: glade/etherape.ui:553 msgid "Pause" msgstr "" #: glade/etherape.ui:568 #, fuzzy msgid "Stop capture" msgstr "Capture" #: glade/etherape.ui:569 msgid "Stop" msgstr "" #: glade/etherape.ui:594 #, fuzzy msgid "Preferences (Ctrl-P)" msgstr "Préférences enregistrées" # src/interface.c:278 #: glade/etherape.ui:595 #, fuzzy msgid "Pref." msgstr "Protocoles" #: glade/etherape.ui:611 #, fuzzy msgid "Display the protocols window" msgstr "Affiche ou cache la barre d'outils" # src/interface.c:278 #: glade/etherape.ui:612 #, fuzzy msgid "Prot." msgstr "Protocoles" # src/interface.c:709 #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 #, fuzzy msgid "Nodes" msgstr "Mode de la taille" # src/interface.c:278 #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protocoles" #: glade/etherape.ui:741 #, fuzzy msgid "Select color" msgstr "Choisir la police" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "" #: glade/etherape.ui:858 msgid "Instant. packets (In+Out)" msgstr "" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "" #: glade/etherape.ui:870 msgid "Accum. packets (In+Out)" msgstr "" #: glade/etherape.ui:873 msgid "Average pkt size (In+Out)" msgstr "" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" # src/interface.c:698 #: glade/etherape.ui:907 msgid "Linear" msgstr "Linéaire" # src/interface.c:701 #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Lograrithmique" # src/interface.c:704 #: glade/etherape.ui:913 msgid "Square Root" msgstr "Racine carrée" #: glade/etherape.ui:919 #, fuzzy msgid "EtherApe: Preferences" msgstr "Etherape: Préférences" # src/interface.c:270 #: glade/etherape.ui:935 msgid "Save" msgstr "Enregistrer" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "" #: glade/etherape.ui:1017 #, fuzzy msgid "Protocol Stack _Level" msgstr "Niveau du protocole" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Défini le niveau du protocole affiché dans la légende" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" #: glade/etherape.ui:1063 msgid "Size _Variable" msgstr "" #: glade/etherape.ui:1077 msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "" # src/interface.c:709 #: glade/etherape.ui:1235 #, fuzzy msgid "Size _Mode" msgstr "Mode de la taille" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" "Défini comment le rayon des noeuds et la largeur des liaisons sont " "calculésen fonction du traffic moyen" #: glade/etherape.ui:1276 msgid "_Hide node names" msgstr "" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "" #: glade/etherape.ui:1293 msgid "_Group unknown ports" msgstr "" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" # src/main.c:70 #: glade/etherape.ui:1354 #, fuzzy msgid "_Capture filter" msgstr "Filtre de capture" # src/main.c:70 #: glade/etherape.ui:1367 #, fuzzy msgid "Sets the capture filter" msgstr "définir le filtre de capture" # src/interface.c:648 #: glade/etherape.ui:1398 #, fuzzy msgid "Node Label _Font" msgstr "Timeout pour les noeuds (ms)" # src/interface.c:648 #: glade/etherape.ui:1413 #, fuzzy msgid "Node Label Font" msgstr "Timeout pour les noeuds (ms)" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "" #: glade/etherape.ui:1454 #, fuzzy msgid "Choose the color used to display node labels" msgstr "Défini la police utilisée pour afficher le texte dans le diagramme" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "" # src/interface.c:510 #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Diagramme" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" # src/main.c:76 #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "définir la couleur des noeuds" #: glade/etherape.ui:1666 msgid "remove the selected row" msgstr "" # src/interface.c:278 #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Protocoles" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" # src/main.c:76 src/main.c:79 src/main.c:82 #: glade/etherape.ui:1720 #, fuzzy msgid "Colors" msgstr "couleur" # src/interface.c:570 #: glade/etherape.ui:1755 #, fuzzy msgid "Diagram Refresh _Period (ms)" msgstr "Période de rafraichissement (ms)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Nombre de millisecondes entre les rafraîchissement du diagramme" # src/interface.c:545 #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Temps moyen (ms)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "" "La moyenne sur les informations des paquets est effectuée pour cette " "quantité de temps" #: glade/etherape.ui:1878 #, fuzzy msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 #, fuzzy msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." # src/interface.c:674 #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Timeout pour les liaisons (ms)" #: glade/etherape.ui:2000 #, fuzzy msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." #: glade/etherape.ui:2044 msgid "10" msgstr "" # src/interface.c:674 #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Timeout pour les liaisons (ms)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Niveau du protocole" #: glade/etherape.ui:2125 #, fuzzy msgid "Remove this protocol from memory after this much time. " msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." # src/interface.c:648 #: glade/etherape.ui:2156 #, fuzzy msgid "Global Protocol Timeouts (s)" msgstr "Timeout pour les noeuds (ms)" #: glade/etherape.ui:2199 msgid "Timings" msgstr "" #: glade/etherape.ui:2229 msgid "WWW" msgstr "" #: glade/etherape.ui:2235 #, fuzzy msgid "EtherApe: assign protocol" msgstr "Etherape: Préférences" # src/interface.c:278 #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Protocoles" #: glade/etherape.ui:2327 #, fuzzy msgid "Type the protocol name" msgstr "Affiche ou cache la barre d'outils" # src/main.c:76 src/main.c:79 src/main.c:82 #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "couleur" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "" #: glade/etherape.ui:2517 msgid "node A" msgstr "" #: glade/etherape.ui:2528 msgid "node B" msgstr "" #: glade/etherape.ui:2587 msgid "Total" msgstr "" #: glade/etherape.ui:2599 msgid "Inbound" msgstr "" #: glade/etherape.ui:2612 msgid "Outbound" msgstr "" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "" #: glade/etherape.ui:2693 msgid "Average size" msgstr "" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" #: glade/etherape.ui:2861 msgid "name" msgstr "" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "" #: glade/etherape.ui:2899 msgid "label73" msgstr "" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "" #: glade/etherape.ui:3023 #, fuzzy msgid "EtherApe: Protocols" msgstr "Etherape: Préférences" # src/main.c:76 src/main.c:79 src/main.c:82 #, fuzzy #~ msgid "Add color" #~ msgstr "couleur" # src/main.c:76 src/main.c:79 src/main.c:82 #, fuzzy #~ msgid "Change color" #~ msgstr "couleur" # src/callbacks.c:195 src/callbacks.c:206 #, fuzzy, c-format #~ msgid "Adjustment value: %g. Link-node ratio %g" #~ msgstr "Valeur d'ajustement: %g. Multiplicateur de rayon: %g." #, fuzzy #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." # src/interface.c:648 #, fuzzy #~ msgid "Node Timeouts (s)" #~ msgstr "Timeout pour les noeuds (ms)" #, fuzzy #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "Supprime ce noeud après cette quantité de temps. 0 signifie jamais." # src/interface.c:107 # append_etype_prot # # * Archivo de cadenas traducibles generado por Glade. # * Añada este archivo a su POTFILES.in de su proyecto. # * NO lo compile como parte de su aplicación. # #, fuzzy #~ msgid "EtherApe" #~ msgstr "Etherape" # src/interface.c:348 #, fuzzy #~ msgid "Copyright 2001-2018 Juan Toledo, Riccardo Ghetta" #~ msgstr "Copyright 2000 Juan Toledo" # src/interface.c:709 #, fuzzy #~ msgid "Set IP mode" #~ msgstr "Mode de la taille" # src/interface.c:709 #, fuzzy #~ msgid "Set TCP mode" #~ msgstr "Mode de la taille" #, fuzzy #~ msgid "Show or hide the protocols window" #~ msgstr "Affiche ou cache la barre d'outils" #, fuzzy #~ msgid "Show or hide the nodes window" #~ msgstr "Affiche ou cache la barre d'outils" #~ msgid "Show or hide the toolbar" #~ msgstr "Affiche ou cache la barre d'outils" #~ msgid "Show or hide the legend" #~ msgstr "Affiche ou cache la légende" #~ msgid "Show or hide the status bar" #~ msgstr "Affiche ou cache la barre d'état" # src/capture.c:931 #, fuzzy #~ msgid "" #~ "Error opening %s : %s\n" #~ "- perhaps you need to be root?" #~ msgstr "Erreur à l'ouverture de %s : %s (vous devriez peut-être être root?)" # src/capture.c:922 #, fuzzy #~ msgid "Error opening %s : %s" #~ msgstr "Erreur au périphérique: %s" #, fuzzy #~ msgid "%s opened for offline capture" #~ msgstr "Capture" # src/capture.c:948 #, fuzzy #~ msgid "Unable to parse filter string (%s). Filter ignored." #~ msgstr "Impossible d'analyser le filtre (%s)." # src/capture.c:954 #, fuzzy #~ msgid "Can't install filter (%s). Filter ignored." #~ msgstr "Impossible d'installer le filtre (%s)." #, fuzzy #~ msgid "Starting live capture" #~ msgstr "Capture" #, fuzzy #~ msgid "Using timers for live capture" #~ msgstr "Capture" #, fuzzy #~ msgid "Starting offline capture" #~ msgstr "Capture" #, fuzzy #~ msgid "Pausing offline capture" #~ msgstr "Capture" #, fuzzy #~ msgid "Stopping live capture" #~ msgstr "Capture" #, fuzzy #~ msgid "Stopping offline capture" #~ msgstr "Capture" # src/capture.c:948 #, fuzzy #~ msgid "Unable to parse line %s" #~ msgstr "Impossible d'analyser le filtre (%s)." # src/capture.c:979 #~ msgid "Mode not available in this device" #~ msgstr "Mode non disponible pour ce périphérique." # src/main.c:76 src/main.c:79 src/main.c:82 #, fuzzy #~ msgid "Columns" #~ msgstr "couleur" # src/interface.c:278 #, fuzzy #~ msgid "_Protocol" #~ msgstr "Protocoles" # src/main.c:64 #, fuzzy #~ msgid "" #~ msgstr "" # src/capture.c:922 #~ msgid "Error getting device: %s" #~ msgstr "Erreur au périphérique: %s" # src/capture.c:713 #~ msgid "Reached default in get_node_id" #~ msgstr "Comportement par défaut atteint dans get_node_id" # src/capture.c:1005 #~ msgid "Ape mode not yet supported" #~ msgstr "Mode ape pas encore supporté" # src/interface.c:709 #, fuzzy #~ msgid " in Token Ring mode" #~ msgstr "Mode de la taille" # src/interface.c:107 #, fuzzy #~ msgid " in Ethernet mode" #~ msgstr "Etherape" # src/interface.c:709 #, fuzzy #~ msgid "Set Token Ring mode" #~ msgstr "Mode de la taille" # src/interface.c:709 #, fuzzy #~ msgid "Token _Ring" #~ msgstr "Mode de la taille" # src/interface.c:709 #, fuzzy #~ msgid "Set FDDI mode" #~ msgstr "Mode de la taille" # src/interface.c:107 #, fuzzy #~ msgid "Set Ethernet mode" #~ msgstr "Etherape" # src/interface.c:107 #, fuzzy #~ msgid "_Ethernet" #~ msgstr "Etherape" # src/main.c:70 #, fuzzy #~ msgid "set input file" #~ msgstr "définir le filtre de capture" # src/main.c:73 #~ msgid "do not fade old links" #~ msgstr "ne pas assombrir les anciennes liaisons" # src/main.c:76 #~ msgid "set the node color" #~ msgstr "définir la couleur des noeuds" # src/main.c:76 src/main.c:79 src/main.c:82 #, fuzzy #~ msgid "" #~ msgstr "couleur" # src/main.c:82 #~ msgid "set the text color" #~ msgstr "définir la couleur du texte" # src/capture.c:749 #, fuzzy #~ msgid "Unsupported ape mode in print_mem" #~ msgstr "Mode ape non supporté dans get_link_id" # src/capture.c:438 src/capture.c:443 #, fuzzy #~ msgid "Creating canvas_link: %s. Number of links %d" #~ msgstr "Création de la liaison: %s-%s. Nombre de liaisons: %d" # src/interface.c:709 #, fuzzy #~ msgid "Set UDP mode" #~ msgstr "Mode de la taille" #, fuzzy #~ msgid "_Font" #~ msgstr "Police" # src/interface.c:278 #, fuzzy #~ msgid "Protocol Info" #~ msgstr "Protocoles" #~ msgid "Select Font" #~ msgstr "Choisir la police" # src/interface.c:436 #, fuzzy #~ msgid "This message is not here yet. (Don't tell anybody you saw it ;-) )" #~ msgstr "" #~ "Cette fonction n'est pas encore présente. (Ne le dites à personne ;-) )" # src/main.c:70 #, fuzzy #~ msgid "EtherApe: Select capture file" #~ msgstr "définir le filtre de capture" #, fuzzy #~ msgid "EtherApe: Select Capture File" #~ msgstr "Etherape: Préférences" # src/main.c:70 #, fuzzy #~ msgid "Select capture file" #~ msgstr "définir le filtre de capture" # src/main.c:70 #, fuzzy #~ msgid "Optionally, set a capture filter" #~ msgstr "définir le filtre de capture" # src/interface.c:23 #, fuzzy #~ msgid "File:" #~ msgstr "Nouveau fichier" # src/interface.c:23 #, fuzzy #~ msgid "Filter:" #~ msgstr "Nouveau fichier" # src/main.c:67 #, fuzzy #~ msgid "skipping interface %s: is down" #~ msgstr "définir l'interface sur laquelle écouter" # src/capture.c:942 #~ msgid "Can't use filter: Couldn't obtain netmask info (%s)." #~ msgstr "" #~ "Impossible d'utiliser le filtre: impossible d'obtenir l'info de netmask " #~ "(%s)." # src/capture.c:409 #, fuzzy #~ msgid "Removing node: %s. Number of nodes %d" #~ msgstr "Suppression du noeud: %s. Nombre de noeuds: %d" # src/capture.c:438 src/capture.c:443 #~ msgid "Removing link. Number of links %d" #~ msgstr "Suppression de la liaison. Nombre de liaisons: %d" # src/capture.c:499 #~ msgid "Null packet in check_packet" #~ msgstr "Paquet NULL dans check_packet" # src/capture.c:948 #, fuzzy #~ msgid "Unable to parse color string %s for new protocol %s" #~ msgstr "Impossible d'analyser le filtre (%s)." # src/interface.c:648 #, fuzzy #~ msgid "Diagram Node Timeout (ms)" #~ msgstr "Timeout pour les noeuds (ms)" # src/interface.c:622 #~ msgid "Max. Link Width" #~ msgstr "Largeur de liaison maximale" # src/interface.c:596 #~ msgid "Max. Node Radius" #~ msgstr "Rayon de noeud maximal" # src/interface.c:107 #, fuzzy #~ msgid "Ethernet" #~ msgstr "Etherape" # src/interface.c:270 #, fuzzy #~ msgid "Solved" #~ msgstr "Enregistrer" # src/interface.c:278 #, fuzzy #~ msgid "Add protocol" #~ msgstr "Protocoles" # src/main.c:76 #, fuzzy #~ msgid "Remove protocol" #~ msgstr "définir la couleur des noeuds" #~ msgid "Capture" #~ msgstr "Capture" # src/main.c:79 #~ msgid "set the link color" #~ msgstr "définir la couleur des liaisons" #~ msgid "Toggle whether text is shown on the diagram" #~ msgstr "Défini si le texte est affiché sur le diagramme" #~ msgid "Click to toggle" #~ msgstr "Cliquer pour sélectionner" # src/capture.c:409 #, fuzzy #~ msgid "Removing canvas_node. Number of node %d" #~ msgstr "Suppression du noeud: %s. Nombre de noeuds: %d" # src/capture.c:438 src/capture.c:443 #, fuzzy #~ msgid "Removing canvas link. Number of links %d" #~ msgstr "Suppression de la liaison. Nombre de liaisons: %d" # src/capture.c:375 #~ msgid "Reached default in fill_names" #~ msgstr "Comportement par défaut atteint dans fill_names" # src/interface.c:23 #~ msgid "._New File" #~ msgstr "_Nouveau fichier" # src/interface.c:246 #~ msgid "New" #~ msgstr "Nouveau" # src/interface.c:23 #~ msgid "Open File" #~ msgstr "Ouvrir fichier" # src/interface.c:23 #~ msgid "Save File" #~ msgstr "Enregistrer fichier" # src/capture.c:388 #~ msgid "n/a" #~ msgstr "n/a" #~ msgid "2" #~ msgstr "2" #~ msgid "3" #~ msgstr "3" #~ msgid "4" #~ msgstr "4" #~ msgid "5" #~ msgstr "5" #~ msgid "6" #~ msgstr "6" #~ msgid "Filter what's captured. See the tcpdump man page for details" #~ msgstr "" #~ "Filtre ce qui est capturé. Voyez la page de man de tcpdump pour les " #~ "détails" # src/interface.c:247 #~ msgid "Nuevo archivo" #~ msgstr "Nouvelle archive" # src/interface.c:259 #~ msgid "Abrir archivo" #~ msgstr "Ouvrir une archive" # src/interface.c:271 #~ msgid "Guardar archivo" #~ msgstr "Enregistrer l'archive" etherape-0.9.20/po/etherape.pot0000644000175000017500000005021214050232250013250 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/appdata.c:83 #, c-format msgid "Could not load interface file '%s'!: %s" msgstr "" #: src/datastructs.c:385 #, c-format msgid "%s protocol not supported" msgstr "" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "" #: src/diagram.c:976 msgid "Canvas node null" msgstr "" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "" #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "" #: src/diagram.c:1734 msgid "Link main protocol: unknown" msgstr "" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "" #: src/info_windows.c:438 src/pref_dialog.c:486 msgid "Protocol" msgstr "" #: src/info_windows.c:439 msgid "Port" msgstr "" #: src/info_windows.c:440 src/node_windows.c:224 msgid "Inst Traffic" msgstr "" #: src/info_windows.c:441 src/node_windows.c:225 msgid "Accum Traffic" msgstr "" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" #: src/info_windows.c:443 src/node_windows.c:227 msgid "Last Heard" msgstr "" #: src/info_windows.c:444 src/node_windows.c:228 msgid "Packets" msgstr "" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 msgid "Node timed out" msgstr "" #: src/info_windows.c:989 msgid "B->A" msgstr "" #: src/info_windows.c:990 msgid "A->B" msgstr "" #: src/info_windows.c:996 msgid "Link timed out" msgstr "" #: src/main.c:96 msgid "don't display any node text identification" msgstr "" #: src/main.c:98 msgid "replay packets from file" msgstr "" #: src/main.c:98 msgid "" msgstr "" #: src/main.c:100 msgid "set capture filter" msgstr "" #: src/main.c:100 msgid "" msgstr "" #: src/main.c:102 msgid "set interface to listen to" msgstr "" #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "" #: src/main.c:112 msgid "limits nodes displayed" msgstr "" #: src/main.c:112 msgid "" msgstr "" #: src/main.c:114 msgid "mode of operation" msgstr "" #: src/main.c:114 msgid "" msgstr "" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "" #: src/main.c:118 msgid "Disable informational messages" msgstr "" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "" #: src/main.c:126 msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "" #: src/main.c:130 msgid "" msgstr "" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "" #: src/menus.c:101 msgid "Open Capture File" msgstr "" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" #: src/menus.c:105 msgid "_Open" msgstr "" #: src/menus.c:130 msgid "Export to XML File" msgstr "" #: src/menus.c:134 msgid "_Save" msgstr "" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "" #: src/menus.c:206 msgid "Unsupported mode in on_mode_radio_activate" msgstr "" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "" #: src/menus.c:349 msgid "-unknown-" msgstr "" #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "" #: src/menus.c:453 msgid "Reading data from " msgstr "" #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "" #: src/menus.c:465 msgid " in Data Link mode" msgstr "" #: src/menus.c:468 msgid " in IP mode" msgstr "" #: src/menus.c:471 msgid " in TCP mode" msgstr "" #: src/menus.c:483 msgid "Diagram started" msgstr "" #: src/menus.c:505 msgid "Paused" msgstr "" #: src/menus.c:507 msgid "Diagram paused" msgstr "" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "" #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "" #: src/menus.c:567 msgid "Ready to capture from " msgstr "" #: src/menus.c:579 msgid "Diagram stopped" msgstr "" #: src/node_windows.c:222 msgid "Name" msgstr "" #: src/node_windows.c:223 msgid "Address" msgstr "" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "" #: src/pref_dialog.c:482 msgid "Color" msgstr "" #: src/preferences.c:373 #, c-format msgid "Preferences saved to %s" msgstr "" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" #: src/names/names.c:221 msgid "Unsupported ape mode in fill_node_id" msgstr "" #: src/stats/decode_proto.c:192 #, c-format msgid "Link type is %s" msgstr "" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "" #: src/stats/links.c:284 #, c-format msgid "New link: %s. Number of links %d" msgstr "" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "" #: src/stats/node.c:108 #, c-format msgid "New node: %s. Number of nodes %d" msgstr "" #: src/stats/node.c:132 #, c-format msgid "delete node: %s. Number of nodes %d" msgstr "" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "" #: src/stats/node_id.c:69 msgid "Unsupported ape mode in node_id_compare" msgstr "" #: src/stats/util.c:313 #, c-format msgid "%ld\" ago" msgstr "" #: src/stats/util.c:318 #, c-format msgid "%ld'%ld\" ago" msgstr "" #: glade/etherape.ui:12 msgid "A Graphical Network Browser." msgstr "" #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" #: glade/etherape.ui:176 msgid "_File" msgstr "" #: glade/etherape.ui:195 msgid "_export" msgstr "" #: glade/etherape.ui:234 msgid "_Capture" msgstr "" #: glade/etherape.ui:243 msgid "_Mode" msgstr "" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "" #: glade/etherape.ui:274 msgid "_IP" msgstr "" #: glade/etherape.ui:288 msgid "_TCP" msgstr "" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "" #: glade/etherape.ui:343 msgid "_Pause" msgstr "" #: glade/etherape.ui:356 msgid "St_op" msgstr "" #: glade/etherape.ui:375 msgid "_View" msgstr "" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "" #: glade/etherape.ui:394 msgid "_Nodes" msgstr "" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "" #: glade/etherape.ui:431 msgid "_Legend" msgstr "" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "" #: glade/etherape.ui:522 msgid "Start capture" msgstr "" #: glade/etherape.ui:523 msgid "Start" msgstr "" #: glade/etherape.ui:537 msgid "Next" msgstr "" #: glade/etherape.ui:552 msgid "Pause capture" msgstr "" #: glade/etherape.ui:553 msgid "Pause" msgstr "" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "" #: glade/etherape.ui:569 msgid "Stop" msgstr "" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "" #: glade/etherape.ui:595 msgid "Pref." msgstr "" #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "" #: glade/etherape.ui:612 msgid "Prot." msgstr "" #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "" #: glade/etherape.ui:690 msgid "Protocols" msgstr "" #: glade/etherape.ui:741 msgid "Select color" msgstr "" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "" #: glade/etherape.ui:858 msgid "Instant. packets (In+Out)" msgstr "" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "" #: glade/etherape.ui:870 msgid "Accum. packets (In+Out)" msgstr "" #: glade/etherape.ui:873 msgid "Average pkt size (In+Out)" msgstr "" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" #: glade/etherape.ui:907 msgid "Linear" msgstr "" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "" #: glade/etherape.ui:913 msgid "Square Root" msgstr "" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "" #: glade/etherape.ui:935 msgid "Save" msgstr "" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "" #: glade/etherape.ui:1017 msgid "Protocol Stack _Level" msgstr "" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" #: glade/etherape.ui:1063 msgid "Size _Variable" msgstr "" #: glade/etherape.ui:1077 msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "" #: glade/etherape.ui:1235 msgid "Size _Mode" msgstr "" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" #: glade/etherape.ui:1276 msgid "_Hide node names" msgstr "" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "" #: glade/etherape.ui:1293 msgid "_Group unknown ports" msgstr "" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" #: glade/etherape.ui:1354 msgid "_Capture filter" msgstr "" #: glade/etherape.ui:1367 msgid "Sets the capture filter" msgstr "" #: glade/etherape.ui:1398 msgid "Node Label _Font" msgstr "" #: glade/etherape.ui:1413 msgid "Node Label Font" msgstr "" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "" #: glade/etherape.ui:1454 msgid "Choose the color used to display node labels" msgstr "" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" #: glade/etherape.ui:1662 msgid "R_emove row" msgstr "" #: glade/etherape.ui:1666 msgid "remove the selected row" msgstr "" #: glade/etherape.ui:1681 msgid "_Edit row" msgstr "" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "" #: glade/etherape.ui:1755 msgid "Diagram Refresh _Period (ms)" msgstr "" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "" #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" #: glade/etherape.ui:1949 msgid "Diagram Timeouts (s)" msgstr "" #: glade/etherape.ui:2000 msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "" #: glade/etherape.ui:2043 msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 msgid "Statistics Timeouts (s)" msgstr "" #: glade/etherape.ui:2112 msgid "Statistics" msgstr "" #: glade/etherape.ui:2125 msgid "Remove this protocol from memory after this much time. " msgstr "" #: glade/etherape.ui:2156 msgid "Global Protocol Timeouts (s)" msgstr "" #: glade/etherape.ui:2199 msgid "Timings" msgstr "" #: glade/etherape.ui:2229 msgid "WWW" msgstr "" #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "" #: glade/etherape.ui:2311 msgid "Row _protocol name(s) ..." msgstr "" #: glade/etherape.ui:2327 msgid "Type the protocol name" msgstr "" #: glade/etherape.ui:2365 msgid "Row _Color" msgstr "" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "" #: glade/etherape.ui:2517 msgid "node A" msgstr "" #: glade/etherape.ui:2528 msgid "node B" msgstr "" #: glade/etherape.ui:2587 msgid "Total" msgstr "" #: glade/etherape.ui:2599 msgid "Inbound" msgstr "" #: glade/etherape.ui:2612 msgid "Outbound" msgstr "" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "" #: glade/etherape.ui:2693 msgid "Average size" msgstr "" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" #: glade/etherape.ui:2861 msgid "name" msgstr "" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "" #: glade/etherape.ui:2899 msgid "label73" msgstr "" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "" etherape-0.9.20/po/fr.gmo0000644000175000017500000000427614050232250012053 00000000000000%01B*S~U 6 :+Dp?u 9  *9dv 5i   X @ R8^< % 02cu*     Adjustment value: %g. Radius multiplier %gAveraging Time (ms)Choose how node radius and link width are calculated as a function of average trafficDiagramLinearLogarithmicPacket information is averaged for this amount of timeProtocolsRefresh diagram every this many milisecondsSaveSet what level of the protocol stack is displayed in the legendSquare RootUnrecognized mode. Do etherape --help for a list of modes_Legend_Status Bar_Toolbardon't convert addresses to namesdon't display any node text identificationmode of operationset capture filterset interface to listen toProject-Id-Version: 0.8.0 Report-Msgid-Bugs-To: PO-Revision-Date: 2001-08-10 12:57+02:00 Last-Translator: Frederic Peters Language-Team: None Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Valeur d'ajustement: %g. Multiplicateur de rayon: %g.Temps moyen (ms)Défini comment le rayon des noeuds et la largeur des liaisons sont calculésen fonction du traffic moyenDiagrammeLinéaireLograrithmiqueLa moyenne sur les informations des paquets est effectuée pour cette quantité de tempsProtocolesNombre de millisecondes entre les rafraîchissement du diagrammeEnregistrerDéfini le niveau du protocole affiché dans la légendeRacine carréeMode inconnu. Faites etherape --help pour la liste des modes_LégendeBarre d'_étatBarre d'_outilsne pas convertir les adresses en nomsne pas afficher d'identification pour les noeudsmode d'opérationdéfinir le filtre de capturedéfinir l'interface sur laquelle écouteretherape-0.9.20/po/boldquot.sed0000644000175000017500000000033111220500634013252 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g etherape-0.9.20/po/tr.po0000644000175000017500000007112514050232250011722 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # Görkem Çetin , 2002 # msgid "" msgstr "" "Project-Id-Version: etherape\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2001-08-12 16:37+0200\n" "Last-Translator: Görkem Çetin \n" "Language-Team: Görkem \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: src/appdata.c:83 #, c-format msgid "Could not load interface file '%s'!: %s" msgstr "" #: src/datastructs.c:385 #, fuzzy, c-format msgid "%s protocol not supported" msgstr "Uç Bağlantı Zaman Aşımı (ms)" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "" #: src/diagram.c:976 msgid "Canvas node null" msgstr "" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "" #: src/diagram.c:1686 msgid "Unknown value for link_size_variable" msgstr "" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "" #: src/diagram.c:1734 msgid "Link main protocol: unknown" msgstr "" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "" #: src/info_windows.c:438 src/pref_dialog.c:486 #, fuzzy msgid "Protocol" msgstr "Protokoller" #: src/info_windows.c:439 msgid "Port" msgstr "" #: src/info_windows.c:440 src/node_windows.c:224 #, fuzzy msgid "Inst Traffic" msgstr "Anlık Trafik" #: src/info_windows.c:441 src/node_windows.c:225 #, fuzzy msgid "Accum Traffic" msgstr "Toplam Trafik" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" #: src/info_windows.c:443 src/node_windows.c:227 #, fuzzy msgid "Last Heard" msgstr "Son Görülme" #: src/info_windows.c:444 src/node_windows.c:228 #, fuzzy msgid "Packets" msgstr "Paket" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 #, fuzzy msgid "Node timed out" msgstr "Uç Bağlantı Zaman Aşımı (ms)" #: src/info_windows.c:989 msgid "B->A" msgstr "" #: src/info_windows.c:990 msgid "A->B" msgstr "" #: src/info_windows.c:996 #, fuzzy msgid "Link timed out" msgstr "Uç Bağlantı Zaman Aşımı (ms)" #: src/main.c:96 msgid "don't display any node text identification" msgstr "" #: src/main.c:98 msgid "replay packets from file" msgstr "" #: src/main.c:98 msgid "" msgstr "" #: src/main.c:100 msgid "set capture filter" msgstr "yakalama filtresini tanımla" #: src/main.c:100 msgid "" msgstr "" #: src/main.c:102 msgid "set interface to listen to" msgstr "izlenecek arayüzü seç" #: src/main.c:102 msgid "" msgstr "" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 msgid "don't move nodes around (deprecated)" msgstr "" #: src/main.c:112 msgid "limits nodes displayed" msgstr "" #: src/main.c:112 msgid "" msgstr "" #: src/main.c:114 msgid "mode of operation" msgstr "işlem kipi" #: src/main.c:114 msgid "" msgstr "" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "" #: src/main.c:118 msgid "Disable informational messages" msgstr "" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "" #: src/main.c:126 #, fuzzy msgid "" msgstr "" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "" #: src/main.c:130 #, fuzzy msgid "" msgstr "" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "" #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "" #: src/menus.c:101 #, fuzzy msgid "Open Capture File" msgstr "Yakalama filtresi" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" #: src/menus.c:105 msgid "_Open" msgstr "" #: src/menus.c:130 msgid "Export to XML File" msgstr "" #: src/menus.c:134 #, fuzzy msgid "_Save" msgstr "Kaydet" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "" #: src/menus.c:206 msgid "Unsupported mode in on_mode_radio_activate" msgstr "" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "" #: src/menus.c:349 msgid "-unknown-" msgstr "" #: src/menus.c:412 msgid "Status already PLAY at gui_start_capture" msgstr "" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "" # Sets the appbar #: src/menus.c:453 msgid "Reading data from " msgstr " " #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "öntanımlı arayüz" #: src/menus.c:465 #, fuzzy msgid " in Data Link mode" msgstr " (UDP konumunda)" #: src/menus.c:468 msgid " in IP mode" msgstr " (IP konumunda)" #: src/menus.c:471 msgid " in TCP mode" msgstr " (TCP konumunda)" #: src/menus.c:483 msgid "Diagram started" msgstr "Pencere başlatıldı" # Sets the appbar #: src/menus.c:505 msgid "Paused" msgstr "Bekletiliyor" #: src/menus.c:507 msgid "Diagram paused" msgstr "Pencere bekletiliyor" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "" #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "" # Sets the appbar #: src/menus.c:567 msgid "Ready to capture from " msgstr "Arayüzden yakalamaya hazır: " #: src/menus.c:579 msgid "Diagram stopped" msgstr "Pencere durduruldu" #: src/node_windows.c:222 #, fuzzy msgid "Name" msgstr "İsim:" #: src/node_windows.c:223 msgid "Address" msgstr "" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "" #: src/pref_dialog.c:482 #, fuzzy msgid "Color" msgstr "Renkler" #: src/preferences.c:373 #, fuzzy, c-format msgid "Preferences saved to %s" msgstr "Tercihler kaydedildi" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" #: src/names/names.c:221 msgid "Unsupported ape mode in fill_node_id" msgstr "" # The case for PPP or SLIP, for instance #: src/stats/decode_proto.c:192 #, fuzzy, c-format msgid "Link type is %s" msgstr "Bağlantı türü RAW" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "" #: src/stats/links.c:284 #, c-format msgid "New link: %s. Number of links %d" msgstr "" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "" #: src/stats/node.c:108 #, fuzzy, c-format msgid "New node: %s. Number of nodes %d" msgstr "Uç sayısı: " #: src/stats/node.c:132 #, fuzzy, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Uç sayısı: " #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "" #: src/stats/node_id.c:69 msgid "Unsupported ape mode in node_id_compare" msgstr "" # Meaning "n seconds" ago #: src/stats/util.c:313 #, fuzzy, c-format msgid "%ld\" ago" msgstr "%d\" önce" #: src/stats/util.c:318 #, fuzzy, c-format msgid "%ld'%ld\" ago" msgstr "%d'%d\" ago" #: glade/etherape.ui:12 #, fuzzy msgid "A Graphical Network Browser." msgstr "" "Grafiksel Ağ İzleyici.\n" "Web: http://etherape.sourceforge.net" #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" #: glade/etherape.ui:176 #, fuzzy msgid "_File" msgstr "Dosya:" #: glade/etherape.ui:195 #, fuzzy msgid "_export" msgstr "Prot." #: glade/etherape.ui:234 msgid "_Capture" msgstr "_Yakala" #: glade/etherape.ui:243 msgid "_Mode" msgstr "_Kaynak" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "" #: glade/etherape.ui:274 msgid "_IP" msgstr "_IP" #: glade/etherape.ui:288 msgid "_TCP" msgstr "_TCP" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "_Arayüzler" #: glade/etherape.ui:343 msgid "_Pause" msgstr "_Beklet" #: glade/etherape.ui:356 msgid "St_op" msgstr "_Durdur" #: glade/etherape.ui:375 #, fuzzy msgid "_View" msgstr "Dosya:" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "_Protokol" #: glade/etherape.ui:394 #, fuzzy msgid "_Nodes" msgstr "Uçlar" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "_Araç Çubuğu" #: glade/etherape.ui:431 msgid "_Legend" msgstr "_Ek çubuk" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "_Durum Çubuğu" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "" #: glade/etherape.ui:522 msgid "Start capture" msgstr "Yakalamaya başla" #: glade/etherape.ui:523 msgid "Start" msgstr "Başlat" #: glade/etherape.ui:537 msgid "Next" msgstr "" #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Yakalamayı beklet" #: glade/etherape.ui:553 msgid "Pause" msgstr "Beklet" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Yakalamayı durdur" #: glade/etherape.ui:569 msgid "Stop" msgstr "Dur" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Tercihler (Ctrl-P)" #: glade/etherape.ui:595 msgid "Pref." msgstr "Terc." #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Protokol penceresini göster" #: glade/etherape.ui:612 msgid "Prot." msgstr "Prot." #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "Uçlar" #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protokoller" #: glade/etherape.ui:741 msgid "Select color" msgstr "Rengi seç" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "En çok bilinen protokoller" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "2. Seviye (Örnek: ETH_II)" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "3. Seviye (Örnek: IP)" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "4. Seviye (Örnek: TCP)" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "5. Seviye (Örnek: HTTP)" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "Anlık trafik (giriş+çıkış)" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "Anlık trafik (giriş)" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "Anlık trafik (çıkış)" #: glade/etherape.ui:858 #, fuzzy msgid "Instant. packets (In+Out)" msgstr "Anlık trafik (giriş+çıkış)" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "Toplam trafik (giriş+çıkış)" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "Toplam trafik (giriş)" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "Toplam trafik (çıkış)" #: glade/etherape.ui:870 #, fuzzy msgid "Accum. packets (In+Out)" msgstr "Toplam trafik (giriş+çıkış)" #: glade/etherape.ui:873 #, fuzzy msgid "Average pkt size (In+Out)" msgstr "ortalama" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" #: glade/etherape.ui:907 msgid "Linear" msgstr "Doğrusal" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Logaritmik" #: glade/etherape.ui:913 msgid "Square Root" msgstr "Kök" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Tercihler" #: glade/etherape.ui:935 msgid "Save" msgstr "Kaydet" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "" #: glade/etherape.ui:1017 #, fuzzy msgid "Protocol Stack _Level" msgstr "Protokol Seviyesi" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Yan çubukta gösterilecek protokolleri belirleyin" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" #: glade/etherape.ui:1063 #, fuzzy msgid "Size _Variable" msgstr "Bilgi yok" #: glade/etherape.ui:1077 msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "" #: glade/etherape.ui:1235 #, fuzzy msgid "Size _Mode" msgstr "Büyüklük" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "" #: glade/etherape.ui:1276 #, fuzzy msgid "_Hide node names" msgstr "Uç isimleri gizle" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "" #: glade/etherape.ui:1293 #, fuzzy msgid "_Group unknown ports" msgstr "Bilinmeyen portları grupla" #: glade/etherape.ui:1320 #, fuzzy msgid "_Name Resolution" msgstr "DNS çözümlemesi" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" #: glade/etherape.ui:1354 #, fuzzy msgid "_Capture filter" msgstr "Yakalama filtresi" #: glade/etherape.ui:1367 #, fuzzy msgid "Sets the capture filter" msgstr "yakalama filtresini tanımla" #: glade/etherape.ui:1398 #, fuzzy msgid "Node Label _Font" msgstr "Uç Bağlantı Zaman Aşımı (ms)" #: glade/etherape.ui:1413 #, fuzzy msgid "Node Label Font" msgstr "Uç Bağlantı Zaman Aşımı (ms)" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "" #: glade/etherape.ui:1454 #, fuzzy msgid "Choose the color used to display node labels" msgstr "Pencerede gösterilecek yazıtipini belirleyin" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Pencere" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "" #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Rengi sil" #: glade/etherape.ui:1666 #, fuzzy msgid "remove the selected row" msgstr "Seçili protokolü sil" #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Protokolü düzenle" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "Renkler" #: glade/etherape.ui:1755 #, fuzzy msgid "Diagram Refresh _Period (ms)" msgstr "Pencere tazeleme aralığı (ms)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Pencere tazeleme aralığı" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Ortalama Süre (ms)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "" #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Bağlantı Zaman Aşımı (ms)" #: glade/etherape.ui:2000 msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "" #: glade/etherape.ui:2043 msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Bağlantı Zaman Aşımı (ms)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Protokol Seviyesi" #: glade/etherape.ui:2125 msgid "Remove this protocol from memory after this much time. " msgstr "" #: glade/etherape.ui:2156 #, fuzzy msgid "Global Protocol Timeouts (s)" msgstr "Uç Bağlantı Zaman Aşımı (ms)" #: glade/etherape.ui:2199 msgid "Timings" msgstr "" #: glade/etherape.ui:2229 msgid "WWW" msgstr "" #: glade/etherape.ui:2235 msgid "EtherApe: assign protocol" msgstr "EtherApe: protokol tanımla" #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Protokol adını girin..." #: glade/etherape.ui:2327 #, fuzzy msgid "Type the protocol name" msgstr "Protokol adını girin..." #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "Renk" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "" #: glade/etherape.ui:2517 #, fuzzy msgid "node A" msgstr "Kip" #: glade/etherape.ui:2528 #, fuzzy msgid "node B" msgstr "Kip" #: glade/etherape.ui:2587 msgid "Total" msgstr "" #: glade/etherape.ui:2599 #, fuzzy msgid "Inbound" msgstr "Toplam Giren" #: glade/etherape.ui:2612 #, fuzzy msgid "Outbound" msgstr "Toplam Çıkan" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "Anlık" #: glade/etherape.ui:2637 glade/etherape.ui:2979 #, fuzzy msgid "Accumulated" msgstr "toplam" #: glade/etherape.ui:2693 #, fuzzy msgid "Average size" msgstr "ortalama" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" #: glade/etherape.ui:2861 msgid "name" msgstr "isim" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Son Görülme Zamanı: " #: glade/etherape.ui:2899 msgid "label73" msgstr "label73" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Protokoller" #~ msgid "Add color" #~ msgstr "Renk ekle" #, fuzzy #~ msgid "Change color" #~ msgstr "Renkleri soluklaştır" #, fuzzy #~ msgid "Node Timeouts (s)" #~ msgstr "Uç Bağlantı Zaman Aşımı (ms)" # append_etype_prot # # * Archivo de cadenas traducibles generado por Glade. # * Añada este archivo a su POTFILES.in de su proyecto. # * NO lo compile como parte de su aplicación. # #~ msgid "EtherApe" #~ msgstr "EtherApe" # Watch out! The first is month, the second day of the month #~ msgid "%d/%d %d:%d" #~ msgstr "%d/%d %d:%d" #, fuzzy #~ msgid "Copyright 2001-2018 Juan Toledo, Riccardo Ghetta" #~ msgstr "Copyright 2001 Juan Toledo" #~ msgid "Set IP mode" #~ msgstr "IP konumuna getir" #~ msgid "Set TCP mode" #~ msgstr "TCP konumuna getir" #~ msgid "Show or hide the protocols window" #~ msgstr "Protokol penceresini göster/gizle" #, fuzzy #~ msgid "Show or hide the nodes window" #~ msgstr "Protokol penceresini göster/gizle" #~ msgid "Show or hide the toolbar" #~ msgstr "Araç çubuğu göster/gizle" #, fuzzy #~ msgid "Show or hide the legend" #~ msgstr "Araç çubuğu göster/gizle" #, fuzzy #~ msgid "Show or hide the status bar" #~ msgstr "Araç çubuğu göster/gizle" #, fuzzy #~ msgid "" #~ "Error opening %s : %s\n" #~ "- perhaps you need to be root?" #~ msgstr "%s aygıtı açılamıyor: %s - Bu işlemi yapmak için root olmalısınız!" #~ msgid "Error opening %s : %s" #~ msgstr "%s açılamadı: %s" #, fuzzy #~ msgid "Using timers for live capture" #~ msgstr "Canlı yakalama durduruluyor" #~ msgid "Stopping live capture" #~ msgstr "Canlı yakalama durduruluyor" #~ msgid "Capture device stopped or file closed" #~ msgstr "Yakalama aygıtı durduruldu" #~ msgid "Information" #~ msgstr "Bilgi" #~ msgid "Cycle assigned colors" #~ msgstr "Tanımlı renkleri çevir" #, fuzzy #~ msgid "Traffic" #~ msgstr "Anlık Trafik" #~ msgid "Columns" #~ msgstr "Sütun" #, fuzzy #~ msgid "_Protocol" #~ msgstr "_Protokol" #, fuzzy #~ msgid "dst name" #~ msgstr "isim" #, fuzzy #~ msgid "src node name" #~ msgstr "Uç isimleri gizle" #~ msgid "" #~ msgstr "" #~ msgid "Error getting device: %s" #~ msgstr "Aygıt açılamıyor: %s" #~ msgid "Link type is Ethernet" #~ msgstr "Bağlantı türü Ethernet" # We are assuming LLC async frames only #~ msgid "Link type is FDDI" #~ msgstr "Bağlantı türü FDDI" # As far as I know IEEE802 is Token Ring #~ msgid "Link type is Token Ring" #~ msgstr "Bağlantı türü Token Ring" # Loopback #~ msgid "Link type is NULL" #~ msgstr "Bağlantı türü NULL" #~ msgid " in Token Ring mode" #~ msgstr " (Token Ring konumunda)" #~ msgid " in FDDI mode" #~ msgstr " (FDDI konumunda)" #~ msgid " in Ethernet mode" #~ msgstr " (Ethernet konumunda)" #, fuzzy #~ msgid "Set Token Ring mode" #~ msgstr " (Token Ring konumunda)" #~ msgid "Token _Ring" #~ msgstr "Token _Ring" #~ msgid "Set FDDI mode" #~ msgstr "FDDI konumuna getir" #~ msgid "_FDDI" #~ msgstr "_FDDI" #~ msgid "Set Ethernet mode" #~ msgstr "Ethernet konumuna getir" #~ msgid "_Ethernet" #~ msgstr "_Ethernet" #~ msgid "set input file" #~ msgstr "girdi dosyasını tanımla" #~ msgid "Don't show warnings" #~ msgstr "Uyarıları gösterme" #~ msgid "set the node color" #~ msgstr "uç rengini tanımla" #, fuzzy #~ msgid "" #~ msgstr "renk" #~ msgid "set the text color" #~ msgstr "metin rengini tanımla" #~ msgid "Set UDP mode" #~ msgstr "UDP konumuna getir" #~ msgid "_UDP" #~ msgstr "_UDP" #, fuzzy #~ msgid "_Font" #~ msgstr "Yazıtipi" #~ msgid "Show protocols" #~ msgstr "Protokolleri göster" #, fuzzy #~ msgid "Protocol Info" #~ msgstr "Protokol" #~ msgid "Select Font" #~ msgstr "Yazıtipini Seç" #~ msgid "This is a test node name" #~ msgstr "Bu bir deneme uç ismidir" #~ msgid "Show traffic" #~ msgstr "Trafiği göster" #, fuzzy #~ msgid "Inst. Inbound" #~ msgstr "Anlık Çıkan" #~ msgid "Accu. Outbound" #~ msgstr "Toplam Çıkan" #~ msgid "Accu. Inbound" #~ msgstr "Toplam Giren" #~ msgid "Inst. Outbound" #~ msgstr "Anlık Çıkan" #, fuzzy #~ msgid "label100" #~ msgstr "label73" #, fuzzy #~ msgid "label104" #~ msgstr "label73" #, fuzzy #~ msgid "label101" #~ msgstr "label73" #, fuzzy #~ msgid "label105" #~ msgstr "label73" #~ msgid "_Start" #~ msgstr "_Başla" #, fuzzy #~ msgid "EtherApe: Select capture file" #~ msgstr "yakalama filtresini tanımla" #, fuzzy #~ msgid "EtherApe: Select Capture File" #~ msgstr "EtherApe: Tercihler" #, fuzzy #~ msgid "Select capture file" #~ msgstr "yakalama filtresini tanımla" #, fuzzy #~ msgid "Optionally, set a capture filter" #~ msgstr "yakalama filtresini tanımla" #~ msgid "File:" #~ msgstr "Dosya:" #~ msgid "Filter:" #~ msgstr "Filtre:" #, fuzzy #~ msgid "skipping interface %s: is down" #~ msgstr "izlenecek arayüzü seç" #~ msgid "window1" #~ msgstr "window1" #~ msgid "Diagram Node Timeout (ms)" #~ msgstr "Pencere Uç Zaman Aşımı (ms)" #~ msgid "Max. Link Width" #~ msgstr "Azami Bağlantı Genişliği" #~ msgid "Max. Node Radius" #~ msgstr "Azami Uç Çapı" #~ msgid "Token Ring" #~ msgstr "Token Ring" #~ msgid "FDDI" #~ msgstr "FDDI" #~ msgid "Ethernet" #~ msgstr "Ethernet" #~ msgid "IP" #~ msgstr "IP" #~ msgid "TCP" #~ msgstr "TCP" #~ msgid "Add protocol" #~ msgstr "Protokol ekle" #~ msgid "Remove protocol" #~ msgstr "Protokolü sil" #~ msgid "Move selected protocol up one item" #~ msgstr "Seçilen protokolü bir seviye yukarı taşı" #~ msgid "Move up" #~ msgstr "Yukarı Taşı" #~ msgid "Move selected protocol down one item" #~ msgstr "Seçilen protokolü bir seviye aşağı taşı" #~ msgid "Move down" #~ msgstr "Aşağı Taşı" #~ msgid "Names" #~ msgstr "İsimler" #~ msgid "Capture" #~ msgstr "Yakala" #~ msgid "ok_button2" #~ msgstr "ok_düğmesi" #~ msgid "cancel_button2" #~ msgstr "iptal_düğmesi2" #~ msgid "help_button1" #~ msgstr "yardım_düğmesi1" #~ msgid "set the link color" #~ msgstr "bağlantı resmini tanımla" etherape-0.9.20/po/en@boldquot.header0000644000175000017500000000247111220500634014361 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # etherape-0.9.20/po/nl.po0000644000175000017500000011043714050232250011706 00000000000000# Copyright (C) 2001 Free Software Foundation, Inc. # Vincent van Adrighem <V.vanAdrighem@ITS.TUDelft.nl>, 2001. # msgid "" msgstr "" "Project-Id-Version: Etherape 0.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-16 17:05+0200\n" "PO-Revision-Date: 2001-07-31 15:17+0200\n" "Last-Translator: Vincent van Adrighem \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: (null)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/appdata.c:83 #, fuzzy, c-format msgid "Could not load interface file '%s'!: %s" msgstr "We konden de interface niet laden! (%s)" #: src/datastructs.c:385 #, fuzzy, c-format msgid "%s protocol not supported" msgstr "DDP protocollen werken niet in %s" #: src/diagram.c:254 #, c-format msgid "" "Nodes: %d (on canvas: %d, shown: %u), Links: %d, Conversations: %ld, names " "%ld, protocols %ld. Total Packets seen: %lu (in memory: %ld, on list %ld). " "IP cache entries %ld. Canvas objs: %ld. Refreshed: %u ms" msgstr "" #: src/diagram.c:618 msgid "(Capture statistics unavailable in offline mode.)" msgstr "" #: src/diagram.c:673 #, c-format msgid "Bogus statspos_t (%d) pref.pcap_stats_pos" msgstr "" #: src/diagram.c:700 #, c-format msgid "SIGUSR1 received: exporting to %s" msgstr "" #: src/diagram.c:976 msgid "Canvas node null" msgstr "" #: src/diagram.c:985 #, c-format msgid "Creating canvas_node: %s. Number of nodes %d" msgstr "Nieuw canvas_knooppunt: %s. Aantal knooppunten %d" #: src/diagram.c:1049 msgid "Unknown value or node_size_variable" msgstr "Obekende waarde of node_size_variable" #: src/diagram.c:1686 #, fuzzy msgid "Unknown value for link_size_variable" msgstr "Obekende waarde of node_size_variable" #: src/diagram.c:1732 #, c-format msgid "Link main protocol: %s" msgstr "Hoofdprotocol van deze lijn: %s" #: src/diagram.c:1734 #, fuzzy msgid "Link main protocol: unknown" msgstr "Hoofdprotocol van deze lijn is onbekend" #: src/diagram.c:1797 msgid "" "'recv': packets received; 'drop': packets dropped by OS buffering; 'ifdrop': " "packets dropped by interface or driver." msgstr "" #: src/info_windows.c:110 src/info_windows.c:794 src/info_windows.c:800 #, c-format msgid "We could not load the interface! (%s)" msgstr "We konden de interface niet laden! (%s)" #: src/info_windows.c:116 #, c-format msgid "Cannot create widget %s from file %s!" msgstr "" #: src/info_windows.c:200 msgid "No prot_name in on_prot_info_delete_event" msgstr "Geen prot_name bij de functie on_prot_info_delete_event" #: src/info_windows.c:206 msgid "No prot_info_window in on_prot_info_delete_event" msgstr "Geen prot_info_window bij de functie on_prot_info_delete_event" #: src/info_windows.c:438 src/pref_dialog.c:486 #, fuzzy msgid "Protocol" msgstr "Protocollen" #: src/info_windows.c:439 msgid "Port" msgstr "" #: src/info_windows.c:440 src/node_windows.c:224 #, fuzzy msgid "Inst Traffic" msgstr "Direct verkeer" #: src/info_windows.c:441 src/node_windows.c:225 #, fuzzy msgid "Accum Traffic" msgstr "Totaal verkeer" #: src/info_windows.c:442 src/node_windows.c:226 msgid "Avg Size" msgstr "" #: src/info_windows.c:443 src/node_windows.c:227 #, fuzzy msgid "Last Heard" msgstr "Laatst gehoord" #: src/info_windows.c:444 src/node_windows.c:228 #, fuzzy msgid "Packets" msgstr "Pakketten" #: src/info_windows.c:929 src/info_windows.c:1012 src/info_windows.c:1013 #: src/info_windows.c:1022 src/info_windows.c:1023 #, fuzzy msgid "Node timed out" msgstr "Knooppunt timeout (ms)" #: src/info_windows.c:989 msgid "B->A" msgstr "" #: src/info_windows.c:990 msgid "A->B" msgstr "" #: src/info_windows.c:996 #, fuzzy msgid "Link timed out" msgstr "Knooppunt timeout (ms)" #: src/main.c:96 msgid "don't display any node text identification" msgstr "geef geen enkele identificatie van de knooppunten weer" #: src/main.c:98 msgid "replay packets from file" msgstr "" #: src/main.c:98 msgid "" msgstr "" #: src/main.c:100 msgid "set capture filter" msgstr "weergavefilter" #: src/main.c:100 msgid "" msgstr "<weergavefilter>" #: src/main.c:102 msgid "set interface to listen to" msgstr "luister naar deze interface" #: src/main.c:102 msgid "" msgstr "<interface naam>" #: src/main.c:104 msgid "export to named file at end of replay" msgstr "" #: src/main.c:104 src/main.c:106 msgid "" msgstr "" #: src/main.c:106 msgid "export to named file on receiving USR1" msgstr "" #: src/main.c:108 msgid "Manually position nodes based on File" msgstr "" #: src/main.c:108 msgid "" msgstr "" #: src/main.c:110 #, fuzzy msgid "don't move nodes around (deprecated)" msgstr "verschuif de knooppunten niet" #: src/main.c:112 msgid "limits nodes displayed" msgstr "beperk aantal weergegeven knooppunten" #: src/main.c:112 msgid "" msgstr "<aantal knooppunten>" #: src/main.c:114 msgid "mode of operation" msgstr "luister-modus" #: src/main.c:114 msgid "" msgstr "" #: src/main.c:116 msgid "don't convert addresses to names" msgstr "converteer adressen niet naar namen" #: src/main.c:118 msgid "Disable informational messages" msgstr "" #: src/main.c:120 msgid "minimum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:121 src/main.c:124 msgid "" msgstr "" #: src/main.c:123 msgid "maximum packet delay in ms for reading capture files [cli only]" msgstr "" #: src/main.c:126 msgid "uses the named libglade file for widgets" msgstr "" #: src/main.c:126 #, fuzzy msgid "" msgstr "<weergavefilter>" #: src/main.c:128 msgid "" "calculate statistics, but don't display nodes. If replaying, exit at end " "[cli only]" msgstr "" #: src/main.c:130 msgid "run as the given user" msgstr "" #: src/main.c:130 #, fuzzy msgid "" msgstr "<bestand>" #: src/main.c:215 msgid "Unrecognized mode. Do etherape --help for a list of modes" msgstr "Modus niet herkend. Type etherape --help voor een lijst." #: src/main.c:297 msgid "DNS resolver initialization failed" msgstr "" #: src/main.c:310 msgid "" "Obsolete setting found.\n" "Please review and save your preferences to upgrade" msgstr "" #: src/main.c:356 #, c-format msgid "Invalid position-file line: %s" msgstr "" #: src/main.c:360 #, c-format msgid "Column number %ld out of range" msgstr "" #: src/main.c:384 #, c-format msgid "Failed to read position file %s: %s" msgstr "" #: src/menus.c:50 #, c-format msgid "get_interface result: '%s'" msgstr "" #: src/menus.c:52 msgid "No suitables interfaces for capture have been found" msgstr "Er zijn geen interfaces gevonden om naar te luisteren" #: src/menus.c:62 msgid "Available interfaces for capture:" msgstr "Beschikbare interfaces om naar te luisteren:" #: src/menus.c:101 #, fuzzy msgid "Open Capture File" msgstr "Etherape: Open capture-bestand" #: src/menus.c:104 src/menus.c:133 msgid "_Cancel" msgstr "" #: src/menus.c:105 msgid "_Open" msgstr "" #: src/menus.c:130 msgid "Export to XML File" msgstr "" #: src/menus.c:134 #, fuzzy msgid "_Save" msgstr "Opslaan" #: src/menus.c:180 #, c-format msgid "Capture interface set to %s in GUI" msgstr "Er wordt geluisterd naar de interface %s in de GUI" #: src/menus.c:206 #, fuzzy msgid "Unsupported mode in on_mode_radio_activate" msgstr "Ape modus in get_link_id is niet beschikbaar" #: src/menus.c:233 #, c-format msgid "Mode set to %s in GUI" msgstr "%s-modus ingeschakeld in de GUI" #: src/menus.c:349 msgid "-unknown-" msgstr "" #: src/menus.c:412 #, fuzzy msgid "Status already PLAY at gui_start_capture" msgstr "Status is geen PLAY bij gui_pause_capture" #: src/menus.c:444 src/menus.c:474 #, c-format msgid "Invalid mode: %d" msgstr "" # Sets the appbar #: src/menus.c:453 msgid "Reading data from " msgstr "Data wordt ingelezen vanuit " #: src/menus.c:460 src/menus.c:574 msgid "default interface" msgstr "standaardinterface" #: src/menus.c:465 #, fuzzy msgid " in Data Link mode" msgstr " in UDP modus" #: src/menus.c:468 msgid " in IP mode" msgstr " in IP modus" #: src/menus.c:471 msgid " in TCP mode" msgstr " in TCP modus" #: src/menus.c:483 msgid "Diagram started" msgstr "Diagram gestart" # Sets the appbar #: src/menus.c:505 msgid "Paused" msgstr "Gepauzeerd" #: src/menus.c:507 msgid "Diagram paused" msgstr "Diagram gepauzeerd" #: src/menus.c:523 #, c-format msgid "Replay from file '%s' completed." msgstr "" #: src/menus.c:553 #, c-format msgid "Failed to stop capture: %s" msgstr "" # Sets the appbar #: src/menus.c:567 msgid "Ready to capture from " msgstr "Klaar om te luisteren naar " #: src/menus.c:579 msgid "Diagram stopped" msgstr "Diagram gestopt" #: src/node_windows.c:222 #, fuzzy msgid "Name" msgstr "Naam:" #: src/node_windows.c:223 msgid "Address" msgstr "" #: src/pref_dialog.c:256 #, c-format msgid "Adjustment value: %g. Radius multiplier %g" msgstr "" #: src/pref_dialog.c:265 #, c-format msgid "Adjustment value: %g. Inner ring scale %g" msgstr "" #: src/pref_dialog.c:482 #, fuzzy msgid "Color" msgstr "Kleuren" #: src/preferences.c:373 #, fuzzy, c-format msgid "Preferences saved to %s" msgstr "Voorkeuren opgeslagen" #: src/preferences.c:377 #, c-format msgid "Error saving preferences to '%s': %s" msgstr "" #: src/capture/capctl.c:88 src/capture/capctl.c:121 msgid "Failed to receive message from packet-capture process" msgstr "" #: src/capture/capctl.c:97 msgid "Failed to send message to packet-capture process" msgstr "" #: src/capture/capctl.c:103 msgid "Failed to receive packet from packet-capture process" msgstr "" #: src/capture/capctl.c:130 #, c-format msgid "Failed to set %s environment variable to '%s': %s" msgstr "" #: src/capture/capctl.c:142 #, c-format msgid "Unknown user '%s'" msgstr "" #: src/capture/capctl.c:147 #, c-format msgid "Failed to switch to user '%s' (uid=%lu, gid=%lu): %s" msgstr "" #: src/capture/capctl.c:460 #, c-format msgid "" "%s uses unsupported link type %d, cannot proceed. Please choose another " "source." msgstr "" #: src/capture/capctl.c:470 msgid "" "This device does not support link-layer mode. Please use IP or TCP modes." msgstr "" #: src/names/names.c:109 #, c-format msgid "" "not enough captured data, terminating protocol decode for '%s' (level %d)" msgstr "" #: src/names/names.c:113 #, c-format msgid "not enough captured data, terminating protocol decode at level %d" msgstr "" #: src/names/names.c:221 #, fuzzy msgid "Unsupported ape mode in fill_node_id" msgstr "Ape modus in get_link_id is niet beschikbaar" # The case for PPP or SLIP, for instance #: src/stats/decode_proto.c:192 #, fuzzy, c-format msgid "Link type is %s" msgstr "Verbindingstype is RAW" #: src/stats/decode_proto.c:257 msgid "Data link entry not initialized" msgstr "" #: src/stats/decode_proto.c:556 msgid "Radiotap:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:584 msgid "PPI:captured size too small, packet discarded" msgstr "" #: src/stats/decode_proto.c:612 #, c-format msgid "PPI:unsupported link type %u, packet discarded" msgstr "" #: src/stats/decode_proto.c:690 msgid "wlan:captured size too small (less than 10 bytes), packet discarded" msgstr "" #: src/stats/decode_proto.c:713 #, c-format msgid "Invalid tofromds field in WLAN packet: 0x%x" msgstr "" #: src/stats/decode_proto.c:743 src/stats/decode_proto.c:772 #, c-format msgid "wlan:captured size too small (read %u, needed %u), packet discarded" msgstr "" #: src/stats/decode_proto.c:756 #, c-format msgid "wlan:captured size too small (read %u, needed %u), RTS packet discarded" msgstr "" #: src/stats/decode_proto.c:805 #, c-format msgid "wlan:frame type 0x%x is reserved, decode aborted" msgstr "" #: src/stats/decode_proto.c:809 #, c-format msgid "wlan:unknown frame type 0x%x, decode aborted" msgstr "" #: src/stats/links.c:228 msgid "Queuing link for remove" msgstr "" #: src/stats/links.c:284 #, fuzzy, c-format msgid "New link: %s. Number of links %d" msgstr "Nieuwe lijn: %s-%s. Aantal lijnen %d" #: src/stats/links.c:364 #, c-format msgid "Updated links. Active links %d" msgstr "" #: src/stats/node.c:108 #, fuzzy, c-format msgid "New node: %s. Number of nodes %d" msgstr "Nieuw knooppunt: %s. Aantal knooppunten %d" #: src/stats/node.c:132 #, fuzzy, c-format msgid "delete node: %s. Number of nodes %d" msgstr "Nieuw knooppunt: %s. Aantal knooppunten %d" #: src/stats/node.c:239 #, c-format msgid "Queuing node '%s' for remove" msgstr "" #: src/stats/node.c:543 #, c-format msgid "Updated nodes. Active nodes %d" msgstr "" #: src/stats/node_id.c:69 #, fuzzy msgid "Unsupported ape mode in node_id_compare" msgstr "Ape modus in get_link_id is niet beschikbaar" # Meaning "n seconds" ago #: src/stats/util.c:313 #, fuzzy, c-format msgid "%ld\" ago" msgstr "%d\" geleden" #: src/stats/util.c:318 #, fuzzy, c-format msgid "%ld'%ld\" ago" msgstr "%d'%d\" geleden" #: glade/etherape.ui:12 #, fuzzy msgid "A Graphical Network Browser." msgstr "" "Een netwerkanalyseprogramma dat de informatie\n" "intuïtief en overzichtelijk grafisch weergeeft.\n" "Web: http://etherape.sourceforge.net" #: glade/etherape.ui:40 msgid "" "Vincent van Adrighem \n" "AlexL \n" "Gôrkem Cetin \n" "Javier Fernandez-Sanguino Peña\n" "Chris Leick \n" "Frederic Peters \n" "Daniel Nylander\n" msgstr "" #: glade/etherape.ui:176 #, fuzzy msgid "_File" msgstr "Bestand:" #: glade/etherape.ui:195 #, fuzzy msgid "_export" msgstr "Protocollen" #: glade/etherape.ui:234 msgid "_Capture" msgstr "_Luisteren" #: glade/etherape.ui:243 msgid "_Mode" msgstr "_Modus" #: glade/etherape.ui:255 msgid "_Link Layer" msgstr "" #: glade/etherape.ui:274 msgid "_IP" msgstr "_IP" #: glade/etherape.ui:288 msgid "_TCP" msgstr "_TCP" #: glade/etherape.ui:304 msgid "_Interfaces" msgstr "_Interfaces" #: glade/etherape.ui:343 msgid "_Pause" msgstr "_Pauze" #: glade/etherape.ui:356 msgid "St_op" msgstr "S_top" #: glade/etherape.ui:375 #, fuzzy msgid "_View" msgstr "Bestand:" #: glade/etherape.ui:385 msgid "_Protocols" msgstr "_Protocollen" #: glade/etherape.ui:394 #, fuzzy msgid "_Nodes" msgstr "_Knooppunten" #: glade/etherape.ui:409 msgid "_Full Screen" msgstr "" #: glade/etherape.ui:420 msgid "_Toolbar" msgstr "_Werkbalk" #: glade/etherape.ui:431 msgid "_Legend" msgstr "_Legenda" #: glade/etherape.ui:442 msgid "_Status Bar" msgstr "_Statusbalk" #: glade/etherape.ui:456 msgid "Refresh" msgstr "" #: glade/etherape.ui:474 msgid "_Help" msgstr "" #: glade/etherape.ui:522 msgid "Start capture" msgstr "Start het luisteren" #: glade/etherape.ui:523 msgid "Start" msgstr "Start" #: glade/etherape.ui:537 #, fuzzy msgid "Next" msgstr " " #: glade/etherape.ui:552 msgid "Pause capture" msgstr "Pauzeer het luisteren" #: glade/etherape.ui:553 msgid "Pause" msgstr "Pauze" #: glade/etherape.ui:568 msgid "Stop capture" msgstr "Stop het luisteren" #: glade/etherape.ui:569 msgid "Stop" msgstr "Stop" #: glade/etherape.ui:594 msgid "Preferences (Ctrl-P)" msgstr "Voorkeuren (Ctrl-P)" #: glade/etherape.ui:595 msgid "Pref." msgstr "Voorkeuren" #: glade/etherape.ui:611 msgid "Display the protocols window" msgstr "Toon protocollenvenster" #: glade/etherape.ui:612 msgid "Prot." msgstr "Protocollen" #: glade/etherape.ui:626 glade/etherape.ui:1865 glade/etherape.ui:1988 #: glade/etherape.ui:2781 msgid "Nodes" msgstr "_Knooppunten" #: glade/etherape.ui:690 msgid "Protocols" msgstr "Protocollen" #: glade/etherape.ui:741 msgid "Select color" msgstr "Selecteer Kleur" #: glade/etherape.ui:826 msgid "Topmost recognized protocol" msgstr "Hoogste niveau" #: glade/etherape.ui:829 msgid "Level 2 (Eg: ETH_II)" msgstr "Niveau 2 (Bv: ETH_II)" #: glade/etherape.ui:832 msgid "Level 3 (Eg: IP)" msgstr "Niveau 3 (Bv: IP)" #: glade/etherape.ui:835 msgid "Level 4 (Eg: TCP)" msgstr "Niveau 4 (Bv: TCP)" #: glade/etherape.ui:838 msgid "Level 5 (Eg: HTTP)" msgstr "Niveau 5 (Bv: HTTP)" #: glade/etherape.ui:849 msgid "Instant. traffic (In+Out)" msgstr "Direct verkeer (in+uit)" #: glade/etherape.ui:852 msgid "Instant. traffic (Inbound)" msgstr "Direct verkeer (in)" #: glade/etherape.ui:855 msgid "Instant. traffic (Outbound)" msgstr "Direct verkeer (uit)" #: glade/etherape.ui:858 #, fuzzy msgid "Instant. packets (In+Out)" msgstr "Direct verkeer (in+uit)" #: glade/etherape.ui:861 msgid "Accum. traffic (In+Out)" msgstr "Totaal verkeer (in+uit)" #: glade/etherape.ui:864 msgid "Accum. traffic (Inbound)" msgstr "Totaal verkeer (in)" #: glade/etherape.ui:867 msgid "Accum. traffic (Outbound)" msgstr "Totaal verkeer (uit)" #: glade/etherape.ui:870 #, fuzzy msgid "Accum. packets (In+Out)" msgstr "Totaal verkeer (in+uit)" #: glade/etherape.ui:873 #, fuzzy msgid "Average pkt size (In+Out)" msgstr "gemiddeld" #: glade/etherape.ui:884 msgid "(Off)" msgstr "" #: glade/etherape.ui:887 msgid "Upper left" msgstr "" #: glade/etherape.ui:890 msgid "Upper right" msgstr "" #: glade/etherape.ui:893 msgid "Lower left" msgstr "" #: glade/etherape.ui:896 msgid "Lower right" msgstr "" #: glade/etherape.ui:907 msgid "Linear" msgstr "Lineair" #: glade/etherape.ui:910 msgid "Logarithmic" msgstr "Logaritmisch" #: glade/etherape.ui:913 msgid "Square Root" msgstr "Wortel" #: glade/etherape.ui:919 msgid "EtherApe: Preferences" msgstr "EtherApe: Voorkeuren" #: glade/etherape.ui:935 msgid "Save" msgstr "Opslaan" #: glade/etherape.ui:940 msgid "Saves changes to preferences file" msgstr "" #: glade/etherape.ui:957 msgid "Confirm changes" msgstr "" #: glade/etherape.ui:974 msgid "Cancel changes" msgstr "" #: glade/etherape.ui:1017 #, fuzzy msgid "Protocol Stack _Level" msgstr "Herkenningsniveau protocol" #: glade/etherape.ui:1031 msgid "Set what level of the protocol stack is displayed in the legend" msgstr "Protocolniveau wat weergegeven moet worden in de legenda" #: glade/etherape.ui:1061 msgid "The statistic used to compute node and link sizes" msgstr "" #: glade/etherape.ui:1063 #, fuzzy msgid "Size _Variable" msgstr "knooppuntsgrootte" #: glade/etherape.ui:1077 #, fuzzy msgid "" "Set the kind of instantaneous or accumulated traffic that the node radius " "indicates" msgstr "Kies het type verkeer wat de grootte van het knoopunt bepaalt" #: glade/etherape.ui:1108 msgid "_Inner Ring Scale" msgstr "" #: glade/etherape.ui:1122 msgid "Inner ring radius as a fraction of outer ring size" msgstr "" #: glade/etherape.ui:1149 msgid "Display pcap _stats:" msgstr "" #: glade/etherape.ui:1162 msgid "" "Set where to display pcap stats: packets received, dropped by OS buffering, " "and dropped by the interface or driver" msgstr "" #: glade/etherape.ui:1194 msgid "Node _Radius Multiplier" msgstr "" #: glade/etherape.ui:1235 #, fuzzy msgid "Size _Mode" msgstr "lijnbreedte" #: glade/etherape.ui:1248 msgid "" "Choose how node radius and link width are calculated as a function of " "average traffic" msgstr "Kies de manier waarop lijnbreedte en knooppuntsgrootte worden berekend" #: glade/etherape.ui:1276 #, fuzzy msgid "_Hide node names" msgstr "Verberg knooppuntsnamen" #: glade/etherape.ui:1280 msgid "Toggle whether the node names are displayed on top of the nodes" msgstr "Schakel tekstweergave in het diagram aan/uit." #: glade/etherape.ui:1293 #, fuzzy msgid "_Group unknown ports" msgstr "Groepeer onbekende poorten" #: glade/etherape.ui:1320 msgid "_Name Resolution" msgstr "" #: glade/etherape.ui:1324 msgid "" "Enable name resolution. If unchecked, all addresses are in numeric form." msgstr "" #: glade/etherape.ui:1354 #, fuzzy msgid "_Capture filter" msgstr "Weergavefilter" #: glade/etherape.ui:1367 #, fuzzy msgid "Sets the capture filter" msgstr "weergavefilter" #: glade/etherape.ui:1398 #, fuzzy msgid "Node Label _Font" msgstr "Knooppunt timeout (ms)" #: glade/etherape.ui:1413 #, fuzzy msgid "Node Label Font" msgstr "Knooppunt timeout (ms)" #: glade/etherape.ui:1439 msgid "Node Label C_olor" msgstr "" #: glade/etherape.ui:1454 #, fuzzy msgid "Choose the color used to display node labels" msgstr "Kies welk font gebruikt moet worden in het diagram" #: glade/etherape.ui:1455 msgid "Pick a Color " msgstr "" #: glade/etherape.ui:1480 msgid "C_entral Node" msgstr "" #: glade/etherape.ui:1493 msgid "Optional central node" msgstr "" #: glade/etherape.ui:1523 msgid "Background Image" msgstr "" #: glade/etherape.ui:1534 msgid "Use _background image" msgstr "" #: glade/etherape.ui:1538 msgid "Enable selection of a background image for the main display" msgstr "" #: glade/etherape.ui:1597 msgid "Diagram" msgstr "Diagram" #: glade/etherape.ui:1646 msgid "A_dd row" msgstr "" #: glade/etherape.ui:1650 #, fuzzy msgid "" "Add a new row to the list of colors that can be used to represent protocols" msgstr "Voeg een nieuwe kleur toe aan de kleurenlijst voor protocolweergave" #: glade/etherape.ui:1662 #, fuzzy msgid "R_emove row" msgstr "Kleur verwijderen" #: glade/etherape.ui:1666 #, fuzzy msgid "remove the selected row" msgstr "Hoogste niveau" #: glade/etherape.ui:1681 #, fuzzy msgid "_Edit row" msgstr "Protocollen bewerken" #: glade/etherape.ui:1685 msgid "Edite the current row" msgstr "" #: glade/etherape.ui:1720 msgid "Colors" msgstr "Kleuren" #: glade/etherape.ui:1755 #, fuzzy msgid "Diagram Refresh _Period (ms)" msgstr "Diagram verversingsperiode (ms)" #: glade/etherape.ui:1768 msgid "Refresh diagram every this many miliseconds" msgstr "Wacht zo veel milliseconden tussen de verversingen van het diagram" #: glade/etherape.ui:1798 msgid "Averaging Time (ms)" msgstr "Uitmiddeltijd (ms)" #: glade/etherape.ui:1810 msgid "Packet information is averaged for this amount of time" msgstr "De informatie wordt uitgemiddeld over zo veel tijd" #: glade/etherape.ui:1878 msgid "" "Remove this node from the diagram after this much time. 0 means never " "timeout." msgstr "" "Verwijder dit knooppunt uit het diagram nadat deze zo lang niets heeft " "gedaan. 0 = nooit" #: glade/etherape.ui:1908 glade/etherape.ui:2030 msgid "Links" msgstr "" #: glade/etherape.ui:1921 #, fuzzy msgid "" "Remove this link from the diagram after this much time. 0 means never " "timeout." msgstr "" "Verwijder dit knooppunt uit het diagram nadat deze zo lang niets heeft " "gedaan. 0 = nooit" #: glade/etherape.ui:1949 #, fuzzy msgid "Diagram Timeouts (s)" msgstr "Lijn timeout (ms)" #: glade/etherape.ui:2000 #, fuzzy msgid "" "Expire protocol statistics for a node after this much time. 0 means never " "timeout." msgstr "Verwijder een lijn nadat deze zo lang niets heeft gedaan. 0 = nooit" #: glade/etherape.ui:2043 #, fuzzy msgid "" "Remove this link from from statistics after this much time without traffic. " "0 means never timeout." msgstr "" "Verwijder dit knooppunt uit het diagram nadat deze zo lang niets heeft " "gedaan. 0 = nooit" #: glade/etherape.ui:2044 msgid "10" msgstr "" #: glade/etherape.ui:2073 #, fuzzy msgid "Statistics Timeouts (s)" msgstr "Lijn timeout (ms)" #: glade/etherape.ui:2112 #, fuzzy msgid "Statistics" msgstr "Herkenningsniveau protocol" #: glade/etherape.ui:2125 #, fuzzy msgid "Remove this protocol from memory after this much time. " msgstr "" "Verwijder dit knooppunt uit het geheugen nadat deze zo lang niets heeft " "gedaan. 0 = nooit" #: glade/etherape.ui:2156 #, fuzzy msgid "Global Protocol Timeouts (s)" msgstr "Knooppunt timeout (ms)" #: glade/etherape.ui:2199 msgid "Timings" msgstr "" #: glade/etherape.ui:2229 msgid "WWW" msgstr "" #: glade/etherape.ui:2235 #, fuzzy msgid "EtherApe: assign protocol" msgstr "EtherApe: Protocollen" #: glade/etherape.ui:2311 #, fuzzy msgid "Row _protocol name(s) ..." msgstr "Laat protocollen zien" #: glade/etherape.ui:2327 #, fuzzy msgid "Type the protocol name" msgstr "Toon protocollenvenster" #: glade/etherape.ui:2365 #, fuzzy msgid "Row _Color" msgstr "Kleur" #: glade/etherape.ui:2494 msgid "Numeric Name:" msgstr "Adres:" #: glade/etherape.ui:2506 msgid "Resolved Name:" msgstr "" #: glade/etherape.ui:2517 #, fuzzy msgid "node A" msgstr "_Modus" #: glade/etherape.ui:2528 #, fuzzy msgid "node B" msgstr "_Modus" #: glade/etherape.ui:2587 msgid "Total" msgstr "" #: glade/etherape.ui:2599 #, fuzzy msgid "Inbound" msgstr "Totaal in" #: glade/etherape.ui:2612 #, fuzzy msgid "Outbound" msgstr "Totaal uit" #: glade/etherape.ui:2625 glade/etherape.ui:2938 msgid "Instantaneous" msgstr "Direct" #: glade/etherape.ui:2637 glade/etherape.ui:2979 msgid "Accumulated" msgstr "Totaal" #: glade/etherape.ui:2693 #, fuzzy msgid "Average size" msgstr "gemiddeld" #: glade/etherape.ui:2796 msgid "_Show all nodes" msgstr "" #: glade/etherape.ui:2801 msgid "Controls display of nodes timed out from diagram, but still in memory" msgstr "" #: glade/etherape.ui:2861 msgid "name" msgstr "naam" #: glade/etherape.ui:2886 msgid "Last Heard: " msgstr "Laatst gehoord: " #: glade/etherape.ui:2899 msgid "label73" msgstr "label73" #: glade/etherape.ui:2952 glade/etherape.ui:2993 msgid "test label" msgstr "test label" #: glade/etherape.ui:3023 msgid "EtherApe: Protocols" msgstr "EtherApe: Protocollen" #~ msgid "Add color" #~ msgstr "Kleur toevoegen" #, fuzzy #~ msgid "Change color" #~ msgstr "Vervaag kleuren" #~ msgid "" #~ "Delete this node from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Verwijder dit knooppunt uit het geheugen nadat deze zo lang niets heeft " #~ "gedaan. 0 = nooit" #, fuzzy #~ msgid "Node Timeouts (s)" #~ msgstr "Knooppunt timeout (ms)" #, fuzzy #~ msgid "" #~ "Delete this link from memory after this much time. 0 means never timeout." #~ msgstr "" #~ "Verwijder dit knooppunt uit het geheugen nadat deze zo lang niets heeft " #~ "gedaan. 0 = nooit" # append_etype_prot # # * Archivo de cadenas traducibles generado por Glade. # * Añada este archivo a su POTFILES.in de su proyecto. # * NO lo compile como parte de su aplicación. # #~ msgid "EtherApe" #~ msgstr "EtherApe" # Watch out! The first is month, the second day of the month #~ msgid "%d/%d %d:%d" #~ msgstr "%d/%d %d:%d" #, fuzzy #~ msgid "Copyright 2001-2018 Juan Toledo, Riccardo Ghetta" #~ msgstr "Copyright 2001 Juan Toledo" #~ msgid "Set IP mode" #~ msgstr "Kies IP modus" #~ msgid "Set TCP mode" #~ msgstr "Kies TCP modus" #~ msgid "Show or hide the protocols window" #~ msgstr "Protocolvenster verbergen / weergeven" #, fuzzy #~ msgid "Show or hide the nodes window" #~ msgstr "Protocolvenster verbergen / weergeven" #~ msgid "Show or hide the toolbar" #~ msgstr "Werkbalk verbergen / weergeven" #~ msgid "Show or hide the legend" #~ msgstr "Weergeven / verbergen legenda" #~ msgid "Show or hide the status bar" #~ msgstr "Weergeven / verbergen statusbalk" #, fuzzy #~ msgid "" #~ "Error opening %s : %s\n" #~ "- perhaps you need to be root?" #~ msgstr "Fout bij het openen van %s : %s - moet je geen root zijn?" #~ msgid "Live device %s opened for capture. pcap_fd: %d" #~ msgstr "Live apparaat %s geopend voor luisteren. pcap_fd: %d" #~ msgid "Can't open both %s and device %s. Please choose one." #~ msgstr "Kan niet beide apparaten openen: %s, %s. Kies er één." #~ msgid "Error opening %s : %s" #~ msgstr "Fout bij het openen van %s : %s" #~ msgid "%s opened for offline capture" #~ msgstr "%s is geopend voor offline luisteren" #, fuzzy #~ msgid "Unable to parse filter string (%s). Filter ignored." #~ msgstr "Ik begrijp het filter niet (%s)." #, fuzzy #~ msgid "Can't install filter (%s). Filter ignored." #~ msgstr "Kan filter niet gebruiken (%s)." #~ msgid "Starting live capture" #~ msgstr "Live luisteren wordt gestart" #, fuzzy #~ msgid "Using timers for live capture" #~ msgstr "Live luisteren wordt gepauzeerd" #~ msgid "Starting offline capture" #~ msgstr "Offline luisteren wordt gestart" #~ msgid "Pausing offline capture" #~ msgstr "Offline luisteren wordt gepauzeerd" #~ msgid "Error while trying to pause capture" #~ msgstr "Fout bij het pauzeren van het luisteren" #~ msgid "Stopping live capture" #~ msgstr "Live luisteren wordt gestopt" #~ msgid "Stopping offline capture" #~ msgstr "Offline luisteren wordt gestopt" #~ msgid "Capture device stopped or file closed" #~ msgstr "Apparaat gestopt of bestand gesloten" #~ msgid "Information" #~ msgstr "Informatie" #~ msgid "Failed to open %s. No TCP or UDP services will be recognized" #~ msgstr "Kon %s niet openen. UDP en TCP typen zullen niet worden herkend" #~ msgid "Reading TCP and UDP services from %s" #~ msgstr "TCP en UDP wordt ingelezen vanuit %s" #~ msgid "Unable to parse line %s" #~ msgstr "Ik begrijp deze regel niet (%s)." #, fuzzy #~ msgid "SCTP protocols not supported in %s" #~ msgstr "DDP protocollen werken niet in %s" #, fuzzy #~ msgid "Link type %d not supported" #~ msgstr "Linktype nog niet beschikbaar" #~ msgid "Mode not available in this device" #~ msgstr "Deze modus is niet beschikbaar bij dit apparaat" #~ msgid "" #~ "Stack Level is not set to Topmost Recognized Protocol. Please check in " #~ "the preferences dialog that this is what you really want" #~ msgstr "" #~ "Stackniveau is niet ingesteld op het hoogste niveau. Controleer in de " #~ "voorkeuren of dit echt is wat je wilt." #~ msgid "Cycle assigned colors" #~ msgstr "Hergebruik gebruikte kleuren" #, fuzzy #~ msgid "Whether or not to use assigned colors for unassigned protocols" #~ msgstr "Hergebruik kleuren voor nieuwe protocollen" #, fuzzy #~ msgid "Traffic" #~ msgstr "Direct verkeer" #~ msgid "Columns" #~ msgstr "Kolommen" #, fuzzy #~ msgid "_Protocol" #~ msgstr "_Protocollen" #, fuzzy #~ msgid "dst name" #~ msgstr "naam" #, fuzzy #~ msgid "src node name" #~ msgstr "Verberg knooppuntsnamen" #~ msgid "" #~ msgstr "<ethernet|fddi|ip|tcp>" #~ msgid "Error getting device: %s" #~ msgstr "Fout bij het openen van het apparaat: %s" #~ msgid "Reached default in get_node_id" #~ msgstr "Default bereikt in get_node_id" #~ msgid "Link type is Ethernet" #~ msgstr "Verbindingstype is Ethernet" # We are assuming LLC async frames only #~ msgid "Link type is FDDI" #~ msgstr "Verbindingstype is FDDI" # As far as I know IEEE802 is Token Ring #~ msgid "Link type is Token Ring" #~ msgstr "Verbindingstype is Token Ring" # Loopback #~ msgid "Link type is NULL" #~ msgstr "Verbindingstype is NULL" # Linux cooked sockets (I believe this # * is used for ISDN on linux) #, fuzzy #~ msgid "Link type is Linux cooked sockets" #~ msgstr "Verbindingstype is Token Ring" #~ msgid "Ape mode not yet supported" #~ msgstr "Ape modus is nog niet beschikbaar" #~ msgid " in Token Ring mode" #~ msgstr " in Token Ring modus" #~ msgid " in FDDI mode" #~ msgstr " in FDDI modus" #~ msgid " in Ethernet mode" #~ msgstr " in Ethernet modus" #~ msgid "Set Token Ring mode" #~ msgstr "Kies Token Ring modus" #~ msgid "Token _Ring" #~ msgstr "Token _Ring" #~ msgid "Set FDDI mode" #~ msgstr "Kies FDDI modus" #~ msgid "_FDDI" #~ msgstr "_FDDI" #~ msgid "Set Ethernet mode" #~ msgstr "Kies Ethernet modus" #~ msgid "_Ethernet" #~ msgstr "_Ethernet" #~ msgid "set input file" #~ msgstr "selecteer invoerbestand" #~ msgid "do not fade old links" #~ msgstr "laat oude lijnen niet vervagen" #~ msgid "Don't show warnings" #~ msgstr "laat geen waarschuwingen zien" #~ msgid "set the node color" #~ msgstr "kies de knooppuntskleur" #, fuzzy #~ msgid "" #~ msgstr "kleur" #~ msgid "set the text color" #~ msgstr "kies de tekstkleur" #~ msgid "Error while removing capture source in stop_capture" #~ msgstr "Fout bij het stoppen van het luisteren" #, fuzzy #~ msgid "Unsupported ape mode in print_mem" #~ msgstr "Ape modus in get_link_id is niet beschikbaar" #~ msgid "Status not STOP or PAUSE at gui_start_capture" #~ msgstr "Status is geen PLAY of PAUZE bij gui_start_capture" #~ msgid "Number of nodes: " #~ msgstr "Aantal knooppunten:" #~ msgid ". Refresh Period: %d" #~ msgstr ". Verversingsperiode: %d" #~ msgid ". IDLE." #~ msgstr ". IDLE ." #~ msgid ". TIMEOUT." #~ msgstr ". TIMEOUT." #, fuzzy #~ msgid "Creating canvas_link: %s. Number of links %d" #~ msgstr "Nieuwe canvas_link: %s-%s. Aantal lijnen %d" #~ msgid "Set UDP mode" #~ msgstr "Kies UDP modus" #~ msgid "_UDP" #~ msgstr "_UDP" #, fuzzy #~ msgid "_Font" #~ msgstr "Font" #~ msgid "Fade link colors to black when there is no traffic" #~ msgstr "Laat lijnkleuren vervagen naar zwart wanneer er geen verkeer is" #, fuzzy #~ msgid "Protocol Info" #~ msgstr "Protocol" #~ msgid "Select Font" #~ msgstr "Selecteer Lettertype" #~ msgid "This is a test node name" #~ msgstr "Dit is een testnaam" #~ msgid "Show traffic" #~ msgstr "Laat verkeer zien" #~ msgid "Inst. Inbound" #~ msgstr "Direct in" #~ msgid "Accu. Outbound" #~ msgstr "Totaal uit" #~ msgid "Accu. Inbound" #~ msgstr "Totaal in" #~ msgid "Inst. Outbound" #~ msgstr "Direct uit" #, fuzzy #~ msgid "label100" #~ msgstr "label73" #, fuzzy #~ msgid "label104" #~ msgstr "label73" #, fuzzy #~ msgid "label101" #~ msgstr "label73" #, fuzzy #~ msgid "label105" #~ msgstr "label73" #~ msgid "Status not PAUSE or STOP at start_capture" #~ msgstr "Status is geen PAUSE of STOP bij het starten van de capture" #~ msgid "Status not PLAY at pause_capture" #~ msgstr "Status is geen PLAY bij het pauzeren" #~ msgid "Status not PLAY or PAUSE at stop_capture" #~ msgstr "Status is geen PLAY of PAUZE bij het stoppen van de capture" #~ msgid "Status not PLAY or PAUSE at gui_stop_capture" #~ msgstr "Status is geen PLAY of PAUZE bij gui_stop_capture" #~ msgid "_Start" #~ msgstr "_Start" #, fuzzy #~ msgid "This message is not here yet. (Don't tell anybody you saw it ;-) )" #~ msgstr "Dit bericht bestaat nu nog niet. (Niemand vertellen hoor. ;-) )" #~ msgid "EtherApe: Select capture file" #~ msgstr "EtherApe: Selecteer capture bestand" #~ msgid "EtherApe: Select Capture File" #~ msgstr "EtherApe: Selecteer capture bestand" #~ msgid "Select capture file" #~ msgstr "Selecteer capture bestand" #~ msgid "Optionally, set a capture filter" #~ msgstr "Kies een capture filter (optioneel)" #~ msgid "File:" #~ msgstr "Bestand:" #~ msgid "Filter:" #~ msgstr "Filter:" #, fuzzy #~ msgid "skipping interface %s: is down" #~ msgstr "luister naar deze interface" #~ msgid "Can't use filter: Couldn't obtain netmask info (%s)." #~ msgstr "Kan filter niet gebruiken: Kon geen netmasker vinden (%s)." #~ msgid "Main node protocol not found in update_canvas_nodes" #~ msgstr "" #~ "Hoofdprotocol van het knooppunt niet gevonden bij de functie " #~ "update_canvas_nodes" #, fuzzy #~ msgid "Main link protocol not found in canvas_link_update" #~ msgstr "" #~ "Hoofdprotocol van deze lijn niet gevonden bij de functie " #~ "update_canvas_links" #~ msgid "No node_id in on_node_info_delete_event" #~ msgstr "Geen node_id bij de functie on_node_info_delete_event" #~ msgid "No node_info_window in on_node_info_delete_event" #~ msgstr "Geen node_info_window bij de functie on_node_info_delete_event" #~ msgid "Removing node: %s. Number of nodes %d" #~ msgstr "Knooppunt verwijderd: %s. Aantal knooppunten %d" #~ msgid "Removing link. Number of links %d" #~ msgstr "Lijn verwijderd. Aantal lijnen %d" #~ msgid "Null packet in check_packet" #~ msgstr "(null)-pakket in check_packet" #, fuzzy #~ msgid "Unable to parse color string %s for new protocol %s" #~ msgstr "Ik begrijp het filter niet (%s)." #~ msgid "No info available" #~ msgstr "Geen informatie becshikbaar" #~ msgid "window1" #~ msgstr "window1" #~ msgid "accumulated" #~ msgstr "totaal" #~ msgid "Diagram Node Timeout (ms)" #~ msgstr "Knooppunt diagram timeout (ms)" #~ msgid "Max. Link Width" #~ msgstr "Maximale lijnbreedte" #~ msgid "Max. Node Radius" #~ msgstr "Maximale knooppuntsgrootte" #, fuzzy #~ msgid "Token Ring" #~ msgstr "Token _Ring" #, fuzzy #~ msgid "FDDI" #~ msgstr "_FDDI" #, fuzzy #~ msgid "Ethernet" #~ msgstr "_Ethernet" #, fuzzy #~ msgid "IP" #~ msgstr "_IP" #, fuzzy #~ msgid "TCP" #~ msgstr "_TCP" #, fuzzy #~ msgid "Solved" #~ msgstr "Opslaan" #, fuzzy #~ msgid "Add a new protocol to the list of protocols to choose a name from" #~ msgstr "Voeg een nieuwe kleur toe aan de kleurenlijst voor protocolweergave" #, fuzzy #~ msgid "Add protocol" #~ msgstr "Protocollen bewerken" #, fuzzy #~ msgid "Remove protocol" #~ msgstr "Kleur verwijderen" #, fuzzy #~ msgid "" #~ "Toggle whether the selected protocol name has to be solved in order to " #~ "use it" #~ msgstr "Schakel tekstweergave in het diagram aan/uit." #, fuzzy #~ msgid "Names" #~ msgstr "Naam:" #~ msgid "Capture" #~ msgstr "Fijnafstelling" #~ msgid "ok_button2" #~ msgstr "ok_button2" #~ msgid "cancel_button2" #~ msgstr "cancel_button2" #~ msgid "help_button1" #~ msgstr "help_button1" #~ msgid "set the link color" #~ msgstr "kies de lijnkleur" #~ msgid "Toggle whether text is shown on the diagram" #~ msgstr "Schakel tekstweergave in het diagram aan/uit." #~ msgid "Click to toggle" #~ msgstr "Geen tekst bij de knooppunten" #~ msgid "<capture filter>" #~ msgstr "<filter>" #~ msgid "<number of nodes>" #~ msgstr "<aantal knooppunten>" etherape-0.9.20/config.h.in0000644000175000017500000001133514034534047012352 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* disables gdk_input_add */ #undef DISABLE_GDKINPUTADD /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* found only gethostbyaddr, while getnameinfo does not exists, resolving is restricted to single thread. */ #undef FORCE_SINGLE_THREAD /* cmt */ #undef GETTEXT_PACKAGE /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* cmt */ #undef HAVE_CATGETS /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `g_list_free_full' function. */ #undef HAVE_G_LIST_FREE_FULL /* Define to 1 if you have the `g_ptr_array_insert' function. */ #undef HAVE_G_PTR_ARRAY_INSERT /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define to 1 if you have the `inet_ntop' function. */ #undef HAVE_INET_NTOP /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 to use the c-ares DNS library */ #undef HAVE_LIBCARES /* cmt */ #undef HAVE_LIBPCAP /* cmt */ #undef HAVE_LIBSM /* Define to 1 if you have the header file. */ #undef HAVE_MATH_H /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_H /* Define if you have POSIX threads libraries and header files. */ #undef HAVE_PTHREAD /* Have PTHREAD_PRIO_INHERIT. */ #undef HAVE_PTHREAD_PRIO_INHERIT /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_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_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_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_TIME_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_SYS_WAIT_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* cmt */ #undef HAVE_U_INT /* Define to the sub-directory where 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 /* package locale directory */ #undef PACKAGE_LOCALE_DIR /* 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 /* pixmaps directory */ #undef PIXMAPS_DIR /* Define to necessary symbol if this constant uses a non-standard name on your system. */ #undef PTHREAD_CREATE_JOINABLE /* Define to 1 if all of the C90 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . This macro is obsolete. */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Version number of package */ #undef VERSION /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `unsigned int' if does not define. */ #undef size_t etherape-0.9.20/ABOUT-NLS0000644000175000017500000006015711220500633011550 00000000000000Notes on the Free Translation Project ************************************* Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work at translations should contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. Quick configuration advice ========================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. INSTALL Matters =============== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the GNU `gettext' own library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will respectively bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might be not what is desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages have usually many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. Using This Package ================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your country by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. Translating Teams ================= For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skill are praised more than programming skill, here. Available Packages ================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of August 2002. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files be bg ca cs da de el en eo es et fi fr +----------------------------------------+ a2ps | [] [] [] [] | ap-utils | | bash | [] [] [] [] | bfd | [] [] | binutils | [] [] | bison | [] [] [] [] | clisp | | clisp | [] [] [] [] | clisplow | | cpio | [] [] [] [] | darkstat | () | diffutils | [] [] [] [] [] [] | enscript | [] [] | error | [] [] [] | fetchmail | [] () [] [] [] () | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | gas | [] [] | gawk | [] [] [] | gcal | [] [] | gcc | [] [] | gettext | [] [] [] [] [] | gnupg | [] [] [] [] [] [] [] | gprof | [] [] | gpsdrive | () () () () () | grep | [] [] [] [] [] [] [] [] | gretl | [] | gthumb | () () () | hello | [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] | indent | [] [] [] [] [] | jpilot | () [] [] [] | jwhois | [] [] | kbd | [] [] [] | ld | [] [] | libc | [] [] [] [] [] [] [] [] | libiconv | [] [] [] [] | lifelines | () () | lilypond | [] [] | lingoteach | [] [] | lingoteach_lessons| () () | lynx | [] [] [] [] [] | m4 | [] [] [] [] [] | make | [] [] [] [] | man-db | [] () () [] () () | mysecretdiary | [] [] [] | nano | [] () [] [] [] [] | nano_1_0 | [] () [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] [] | ptx | [] [] [] [] [] [] [] | python | | recode | [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] [] | sharutils | [] [] [] [] [] [] [] | sketch | () [] () | soundtracker | [] [] [] | sp | [] | tar | [] [] [] [] [] [] | texinfo | [] [] [] [] [] | textutils | [] [] [] [] [] | util-linux | [] [] [] [] [] [] | vorbis-tools | [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] [] [] | +----------------------------------------+ be bg ca cs da de el en eo es et fi fr 0 2 19 10 30 44 9 1 12 44 17 6 53 gl he hr hu id it ja ko lv nb nl nn +-------------------------------------+ a2ps | () () [] | ap-utils | | bash | [] | bfd | [] | binutils | [] | bison | [] [] [] [] | clisp | | clisp | [] | clisplow | | cpio | [] [] [] [] | darkstat | | diffutils | [] [] [] [] [] | enscript | [] [] | error | [] | fetchmail | [] | fileutils | [] [] [] | findutils | [] [] [] [] [] [] [] [] | flex | [] | gas | | gawk | [] | gcal | | gcc | [] | gettext | [] [] | gnupg | [] [] [] [] | gprof | [] | gpsdrive | [] () () | grep | [] [] [] [] [] [] [] | gretl | | gthumb | () () | hello | [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] | indent | [] [] [] [] | jpilot | () () | jwhois | [] [] | kbd | | ld | | libc | [] [] [] [] | libiconv | [] [] [] | lifelines | | lilypond | [] | lingoteach | [] | lingoteach_lessons| | lynx | [] [] [] [] | m4 | [] [] [] [] | make | [] [] [] [] [] [] | man-db | () () | mysecretdiary | [] | nano | [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] | parted | [] [] [] | ptx | [] [] [] [] [] | python | | recode | [] [] [] | sed | [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | sharutils | [] [] [] | sketch | () | soundtracker | [] [] | sp | | tar | [] [] [] [] [] [] | texinfo | [] [] [] | textutils | [] [] [] [] | util-linux | () [] | vorbis-tools | [] | wastesedge | | wdiff | [] [] [] | wget | [] [] [] [] [] [] | +-------------------------------------+ gl he hr hu id it ja ko lv nb nl nn 23 9 12 19 16 13 26 9 1 7 19 3 no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW +----------------------------------------------+ a2ps | () () () [] [] [] [] [] | 10 ap-utils | () | 0 bash | [] | 6 bfd | [] [] | 5 binutils | [] [] | 5 bison | [] [] [] [] | 12 clisp | | 0 clisp | | 5 clisplow | | 0 cpio | [] [] [] [] | 12 darkstat | [] [] () () | 2 diffutils | [] [] [] [] [] [] | 17 enscript | [] [] [] [] | 8 error | [] [] [] | 7 fetchmail | () () [] | 6 fileutils | [] [] [] [] [] [] | 14 findutils | [] [] [] [] [] [] [] | 21 flex | [] [] [] | 9 gas | [] | 3 gawk | [] [] | 6 gcal | [] [] | 4 gcc | [] | 4 gettext | [] [] [] [] [] [] | 13 gnupg | [] [] [] | 14 gprof | [] [] | 5 gpsdrive | [] [] | 3 grep | [] [] [] [] [] | 20 gretl | | 1 gthumb | () () [] | 1 hello | [] [] [] [] [] [] [] | 28 id-utils | [] [] [] [] | 9 indent | [] [] [] [] [] | 14 jpilot | () () [] [] | 5 jwhois | [] () () [] [] | 7 kbd | [] [] | 5 ld | [] [] | 4 libc | [] [] [] [] [] [] | 18 libiconv | [] [] [] [] [] | 12 lifelines | [] | 1 lilypond | [] | 4 lingoteach | [] [] | 5 lingoteach_lessons| () | 0 lynx | [] [] [] [] | 13 m4 | [] [] [] [] | 13 make | [] [] [] [] [] | 15 man-db | | 3 mysecretdiary | [] [] [] | 7 nano | [] [] [] [] | 13 nano_1_0 | [] [] [] [] | 14 opcodes | [] [] [] | 8 parted | [] [] [] [] | 12 ptx | [] [] [] [] [] [] [] | 19 python | | 0 recode | [] [] [] [] [] [] | 15 sed | [] [] [] [] [] [] | 24 sh-utils | [] [] | 9 sharutils | [] [] [] [] | 14 sketch | [] () [] | 4 soundtracker | [] | 6 sp | | 1 tar | [] [] [] [] [] [] [] | 19 texinfo | [] [] | 10 textutils | [] [] [] [] [] | 14 util-linux | [] [] [] | 10 vorbis-tools | [] | 3 wastesedge | | 0 wdiff | [] [] [] [] [] | 14 wget | [] [] [] [] [] [] [] [] | 24 +----------------------------------------------+ 37 teams no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW 68 domains 4 15 2 28 28 12 10 49 43 4 1 9 609 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If August 2002 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. Using `gettext' in new packages =============================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle to use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. etherape-0.9.20/COPYING0000644000175000017500000004325412765440510011367 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 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 Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser General Public License instead of this License. etherape-0.9.20/TODO0000644000175000017500000000213313305033054011003 00000000000000fix resize User visible features: ---------------------- * identify nodes from protocol window. It could be done by maintaining a node tree for every global protocol. * show all node stats in node window * find a way to record both ports of a link/connection * revise preferences dialog; allow filtering out netbios names * Ability to set per node preferences. Like setting an hour long averaging time only for the router. * Ability to manually place nodes. It's dependent on the above. Once is done you will be able to open and save your own diagrams. * Make OSI level decoding consistent even with encapsulation. Multiple protocols should be shown comma separated at the proper level, instead of being incorrectly bumped up. Example: "ETHII, LLC-SNAP -> IP", instead of "ETHII -> LLC-SNAP -> IP". Issues in the source code ------------------------- * rewrite names handling. Do only packet extraction at capture time, name resolution at display time and only for the chosen address. * refactor stop handling; separate clearing data from updating. etherape-0.9.20/OVERVIEW0000644000175000017500000000614411540456145011523 00000000000000 EtherApe Code Overview ====================== Current as of 0.4.2 -------------------------------------------------------------------- Here I'll try to explain the workings of EtherApe, both for new contributors to have a clearer view of the program and for self future reference. 0. Index of files ----------------- etherape.glade This file has all of the GUI. Use glade to modify it. src/appdata.h Declaration of all main data structures. src/main.c Parses command line options. Calls initialization functions of capture and diagram. Loads and saves configuration. Handles gnome session management. src/capture.c Reads packets from the network and keeps track of information gathered. src/protocols.c Functions used to find the protocol stack of a given packet. src/dns.c Asynchronously reverse lookup of ip addresses. src/resolv.c Several helper functions, mostly to look up the ethernet address in /etc/ethers src/util.c helper functions for resolv.c src/diagram.c Updates the diagram, which is a gnome_canvas widget. Takes care of statusbar information and node pop-ups. src/callbacks.c Handles GUI interaction. Buttons clicked, adjustments changed, etc. 1. Basic Architecture --------------------- EtherApe is running on a gtk_look started in main(). There are two callbacks functions active that execute code. One is a timeout set each refresh_period to update the diagram on the screen, update_diagram, and the other is a gdk_input called each time there is a new packet available in the network, packet_read. I try to clearly separate code and data structures of data gathering and presentation. Data gathering is performed in capture.c and presentation in diagram.c. capture.c is completely independent from presentation, except for the fact that nodes and links are updated (deletion of irrelevant packet, nodes and links; recalculation of traffic averages, main protocol, etc) only if externally called. node_update and link_update are called from canvas_node_update and canvas_link_update. I also try to keep separate the functions in protocols.c, so that more protocol recognition can be added easily without further knowledge of the rest of the program. It is used as a library with a single api: get_packet_prot. Given a pointer to a packet, it returs a slash tokenized string with the protocol stack, e.g.: "/ETH_II/IP/TCP/SSH/UNKNOWN/UNKNOWN" Each time update_diagram is called, it checks to see how nodes, links and protocols have changed, and the diagram is updated accordingly. 2. Data Structures ------------------ See appdata.h for the declaration of all data structures. I'll give a short explanation here of the main ones. capture.c keeps track of nodes and links using balanced binary trees. Each item of the tree is identified with a key which is different for each mode. Each time a packet arrives, get_node_id is called and it returns whatever constitutes the key. Thus, creating new modes is as easy as just setting the global node_id_legth and returning the address. Then you'd only have to add naming code in fill_names. Look for 'mode' in capture.c TO BE CONTINUED etherape-0.9.20/etherape.spec.in0000644000175000017500000001550614023166276013414 00000000000000# Note that this is NOT a relocatable package # This specfile is a generic one aimed primarily at obs builds %define RELEASE 1 %define rel %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE} # define an appropriate suffix for the packages %if 0%{?mgaversion} %define sys mga%{mgaversion} %endif %if 0%{?mageia} %define sys mga%{mageia} %endif %if 0%{?suse_version} %define sys suse%{suse_version} %endif %if 0%{?sles_version} %define sys sles%{sles_version} %endif %if 0%{?fedora_version} %define sys fdv%{fedora_version} %endif %if 0%{?rhel_version} %define sys rhel%{rhel_version} %endif %if 0%{?centos_version} %define sys centos%{centos_version} %endif %if 0%{?scientificlinux_version} %define sys sfl%{scientificlinux_version} %endif Name: etherape Summary: Graphical network viewer modeled after etherman Version: @VERSION@ Release: %{rel}.obs%{sys} License: GPLv2+ URL: http://etherape.sourceforge.io/ Source: http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Autoreqprov: on %if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version} Group: Applications/System %else %if 0%{?suse_version} || 0%{?sles_version} Group: Productivity/Networking/Diagnostic %else Group: Monitoring %endif %endif BuildRoot: %{_tmppath}/%{name}-%{version} #Docdir: %{prefix}/doc # common requisites BuildRequires: libpcap-devel BuildRequires: gettext BuildRequires: autoconf BuildRequires: pkgconfig BuildRequires: libtool BuildRequires: popt-devel # Mageia %if 0%{?mageia}|| 0%{?mgaversion} BuildRequires: libgoocanvas2-devel BuildRequires: desktop-file-utils BuildRequires: polkit-gnome BuildRequires: gettext-devel BuildRequires: autoconf-archive %endif # OpenSuSe - SLES %if 0%{?suse_version} || 0%{?sles_version} || 0%{?sle_version} BuildRequires: goocanvas-devel BuildRequires: gettext-tools BuildRequires: fdupes BuildRequires: update-desktop-files %if 0%{?is_opensuse} BuildRequires: autoconf-archive %endif %endif # CentOS %if 0%{?centos_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel %endif # ScientificLinux %if 0%{?scientificlinux_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel %endif # RHEL %if 0%{?rhel_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel %if 0%{?centos_version} > 600 BuildRequires: autoconf-archive %endif %endif # Fedora %if 0%{?fedora_version} BuildRequires: goocanvas2-devel BuildRequires: gettext-devel BuildRequires: autoconf-archive %endif ##### # help dependencies ##### # common dependencies for autoreconf BuildRequires: yelp-tools BuildRequires: itstool # mageia %if 0%{?mageia}|| 0%{?mgaversion} BuildRequires: gnome-doc-utils BuildRequires: rarian %endif # OpenSuSe - SLES %if 0%{?suse_version} || 0%{?sles_version} BuildRequires: docbook_4 BuildRequires: fdupes BuildRequires: sed %if ( 0%{?is_opensuse} ) %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 # leap and tumbleweed BuildRequires: scrollkeeper %else # others BuildRequires: rarian-scrollkeeper-compat %endif %else # !is_opensuse, i.e. SLES %if 0%{?suse_version} > 1110 #BuildRequires: rarian-scrollkeeper-compat %endif %endif %endif # CentOS %if 0%{?centos_version} BuildRequires: rarian BuildRequires: rarian-compat %endif # ScientificLinux %if 0%{?scientificlinux_version} BuildRequires: gnome-doc-utils BuildRequires: rarian BuildRequires: rarian-compat %endif # RHEL %if 0%{?rhel_version} BuildRequires: gnome-doc-utils %if 0%{?rhel_version} < 600 BuildRequires: scrollkeeper %else BuildRequires: rarian BuildRequires: rarian-compat %endif %endif %if 0%{?fedora_version} BuildRequires: gnome-doc-utils BuildRequires: rarian BuildRequires: rarian-compat # fedora24 needs a text browser for docbook-utils BuildRequires: w3m %endif ##### # help end ##### %description Etherape is a graphical network monitor for Unix modeled after etherman. Featuring link level, ip and tcp modes, it displays network activity graphically. Hosts and links change in size with traffic. Color coded protocols display. It supports ethernet, fddi, ppp, slip, wlan and other devices. It can filter traffic to be shown, and can read traffic from a file as well as live from the network. %prep %setup -q %{__rm} -rf .hg %if 0%{?suse_version} || 0%{?sles_version} %__sed -ie "s#http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd#file:///usr/share/sgml/docbook/dtd/4.2/docbookx.dtd#" doc/C/index.docbook %__cat >> etherape.desktop.in << _EOF_ X-KDE-SubstituteUID=true X-KDE-Username=root _EOF_ %endif %build %if 0%{?suse_version} || 0%{?sles_version} autoreconf -fi %configure --with-pic --disable-scrollkeeper #%if 0%{?is_opensuse} || ( ! 0%{?suse_version} == 1315 ) # apparently opensuse has a broken xmllib configuration, missing an alias # for omf dtd %__sed -ie "s#--dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd'#--dtdvalidfpi \\\"-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN\\\"#" doc/Makefile #%endif %else %if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version} %if 0%{?rhel_version}>550 || 0%{?centos_version}>550 || 0%{?scientificlinux_version}>550 autoreconf -fi %else # using -fi on rhel5 and likes will fail build autoreconf %endif %endif %if 0%{?mgaversion} %configure2_5x --bindir=%{_sbindir} %else %configure --bindir=%{_sbindir} %endif %endif %__make %{?_smp_flags} %check %__make check %install %__rm -rf %{buildroot} %__mkdir %{buildroot} %__make install DESTDIR=%{buildroot} %find_lang %{name} %if 0%{?suse_version} || 0%{?sles_version} %fdupes %{buildroot} %endif %clean %{__rm} -rf %{buildroot} %files -f %{name}.lang %defattr(-, root, root) %{_datadir}/applications/etherape.desktop %{_datadir}/%{name} %{_datadir}/pixmaps/etherape.png %if 0%{?suse_version} || 0%{?sles_version} %{_bindir}/etherape %else %{_sbindir}/etherape %endif %doc AUTHORS COPYING TODO NEWS README* FAQ %{_mandir}/man1/%{name}.1* %docdir %{_datadir}/help/C/%{name} %doc %{_datadir}/help/C/%{name}/** %post %postun %changelog * Sat Nov 11 2017 R.Ghetta 0.9.15 - move away from gnome-doc-utils and other deprecation work * Sat Oct 8 2016 R.Ghetta 0.9.15 - updates for new release * Sat Feb 6 2016 R.Ghetta 0.9.14 - fixes for newer distributions * Sat Sep 19 2015 R.Ghetta 0.9.14 - updated for newer distributions * Sat Jun 6 2015 R.Ghetta - remove custom services file * Tue Feb 15 2011 R.Ghetta - adapting for OpenSUSE build service * Sun Jan 3 2010 R.Ghetta - change manual build * Sat May 6 2006 R.Ghetta - a bit of modernization * Mon Apr 3 2000 Juan Toledo - Initial spec file copied from electric eyes etherape-0.9.20/NEWS0000644000175000017500000014757614050232200011027 00000000000000 Changelog for EtherApe Overview of changes in EtherApe 0.9.20 (Sunday, May 16, 2021): Link fading now follows the averaging timer, giving a better feel of packet flow. Improved xml output. Now contains also links and global protocol statistics. Several preferences were removed or merged in a general tidying. Preference upgrade is automatic, but if EtherApe detects obsolete parameters the user will be asked to review and confirm the new settings. Compatibility Warnings: * the link-level xml element is now called 'link-id', instead of simply 'link' as in the past releases. 'link' xml elements now refer to node-to-node statistics. * removed node-link ratio preference. * merged link protocol and traffic timeout preferences. * merged node protocol and traffic timeout preferences. Changes summary: * fix for ticket #100, thanks to Salam for reporting it. * diagram refresh command, thanks to Ronald W. Henderson * patch to remove artifact when resizing, thanks to Ronald W. Henderson * reorder keyboard shortcuts, thanks to Ronald W. Henderson * sort by port on protocol windows, thanks to Ronald W. Henderson * xml output now containes also link and global protocols statistics. * link fades with averaging times * node-link ratio slider removed, ratio always fixed at 1 (links sizes are aligned with nodes) * improve statistics repeatability esp. when setting max-delay=0 (useful for tests or just to calcolate quickly statistics of a dump file). * new no-display mode (command line only), disables diagram updates (again, mostly for testing). * merged link protocol and traffic timeouts. Overview of changes in EtherApe 0.9.19 (Friday, May 15, 2020): This is primarily a bugfix release, but thanks to AlexL adds also a Russian translation. Changes summary: * better sizing of connections lines, thanks to Ronald Henderson. * fix for ui crash by "MandatoryField" * fix a crash happening when the capture process wasn't able to set the filter. Thanks to Benjamin Woods for providing a vital backtrace. * russian translation and fixes by AlexL * fix for debian bug #958408 from Bernhard Übelacker Thanks from Patrick Matthäi for sending the patch upstream Overview of changes in EtherApe 0.9.18 (Sunday, June 3, 2018): EtherApe now is a pure GTK 3 application, with canvas supplied by GooCanvas (https://wiki.gnome.org/Projects/GooCanvas). While GooCanvas itself is in maintenance mode, is still the simpler canvas library available and with an API almost identical to gnome-canvas, too! Longer term, EtherApe ui should be completely redesigned and modernized, but this is for another day. Changes summary: * EtherApe ported to GTK3 using GooCanvas instead of the obsolete GnomeCanvas. Overview of changes in EtherApe 0.9.17 (Thursday, April 5, 2018): This is a bugfix release, because a bug made 0.9.16 still runtime-dependent on gnomeui and other gnome 2 libraries. Changes summary: * EtherApe now requires Gtk 2.24 * fixed a bug making libglade load gnome2 libraries * Sometimes node/links windows were freezing. Overview of changes in EtherApe 0.9.16 (Sunday, January 14, 2018): Several distributions are phasing out Gnome 2 libraries and EtherApe needs to update as well. Unfortunately, this mean dropping support for older distributions, for example CENTOS 5 and 6. At this time the EtherApe executable can still be built for those distributions, but not the project as a whole. This is an interim release, where the only Gnome 2 component is gnome-canvas. Apart of that, EtherApe is now a GTK2 application. Work is underway to replace gnome-canvas with another component. Documentation is now based on yelp-tools instead of Scroolkeeper/Rarian. Many thanks to Patrick Matthäi for packaging EtherApe for Debian and helping to keep this tool current. Changes summary: * require only gnome-canvas, not gnome-ui. Based on the work of Arch Linux packager bgyorgy (Balló György). Thanks! * migrate from deprecated gnome-doc-utils to yelp-tools. Unfortunately this change rules out older distributions * updated German translation, thanks to Chris Leick Overview of changes in EtherApe 0.9.15 (Friday, February 10, 2017): The central node ring setting now accepts multiple node specifiers (separated by any combination of spaces and/or commas), and also now understands glob syntax, so you can put for example 10.0.0.0/24, *.mydomain.tld, somehost.otherdomain.tld and it will do what you'd expect. There is now a compile-time configure option ('--with-c-ares', disabled by default) to enable DNS resolution via the c-ares library, supplanting EtherApe's built-in multithreaded gethostbyaddr(3)-based resolver. This is a fully non-blocking DNS library and thus has potential for better performance while using only a single background resolver thread, but also means that name-lookup is strictly DNS-based, and will thus not take /etc/hosts, NIS, or other name services into account. There is a slightly backwards-incompatible change in the syntax of the node-position file used with the '-P' flag added in release 0.9.14. It now uses the same CIDR notation plus hostname-globbing syntax used by the central node ring setting (instead of POSIX regular expressions). This provides simpler and more consistent syntax with essentially the same real-world utility, but may require some small changes to existing node-position files. Some examples: Old (regex) New (CIDR+glob) =============== =============== 172.16.2.[0-9]* 172.16.2.0/24 .*.mydomain.com *.mydomain.com fe80:.* fe80::/16 Additionally, each line of the node-position file may now include multiple such node-matching patterns (separated by spaces and/or commas as with the central node ring setting), so a single line might look like: *.mydomain.com, 10.0.0.0/24 3 (to put all nodes matching the given domain or CIDR range into column 3). As a security feature (privilege separation), packet-capture operations are now isolated in a separate background process. The new '-Z' flag can be used to specify a user to run the main (foreground) process as. Changes summary: * New option to use c-ares for DNS resolution. * Multiple node/subnets and glob syntax now supported for central node ring. * Node-matching syntax for '-P' flag's file now uses CIDR notation and hostname-globbing instead of regexes. * Multiple patterns can now be given on a single line of the node-position ('-P') file. * The columnar-layout ('-P') code has been changed to re-adjust the spacing of nodes within a column when the number of nodes decreases. The 10-column limit has also been removed. * The background-image feature introduced in 0.9.14 can now be turned off via a preference check-box. * The background of the protocol legend is now black so that lighter colors (e.g. yellow) are more readable. * There is now an option to display packet-capture statistics from libpcap in the main window (hover the mouse over them for an explanation in the status bar). * The show/hide state of the toolbar, protocol legend, and status bar are now preserved along with other preferences in the user's config file. * New '-Z' flag (or '--relinquish-privileges') can be used to run most processing as an unprivileged user. Overview of changes in EtherApe 0.9.14 (Saturday February 06, 2016): EtherApe now users the system /etc/services file instead of its own. While this change make some customizations a bit harder, it guarantees an up-to-date services file. Note to packagers: /etc/etherape is not needed anymore. Central node option now undestands CIDR notation, allowing for a central ring of nodes, thanks to Zev Weiss. Static background image, courtesy of Glenn Feunteun. Nodes can be optionally arranged as columns, thanks to David Goldfarb. Changes summary: * autoconf updated to 2.69 * fixed incorrect WLAN control frames decoding * fix UTF-8 encoding of several files, thanks to StrPt. * read system services file instead of EtherApe one, thanks to Zev Weiss. * fix race condition on exit, thanks to Zev Weiss * central ring option, thanks to Zev Weiss * tweaks to preference windows to better work with tiling managers, thanks to Zev Weiss. * static background image (Glenn Feunteun) * arrange nodes in 'columns' (David Goldfarb) Overview of changes in EtherApe 0.9.13 (Sun May 05, 2013): Central node option, useful for displaying routers or proxies. Translations and documentation updates, plus some fixes. Changes summary: * Optional central node, based on work of Javier Fernandez-Sanguino Peña. * re-enabled full-screen mode, thanks to nrvale0 * Updated spanish translation, thanks to Javier Fernandez-Sanguino Peña. * Added German translation, and fixed typos, thanks to Chris Leick. * Updated documentation. Overview of changes in EtherApe 0.9.12 (Tuesday May 31, 2011): This is a bug fix release. David Goldfarb discovered a critical bug in EtherApe, causing a NULL pointer indirection with RPC traffic. This bug has security implications, because can be exploited to a (remote) DOS attack. Packet content is not involved, however, so no privilege escalation should happen (unless the machine is already subverted by other means). Changes summary: * fix bug 3309061 (CVE-2011-3369) Overview of changes in EtherApe 0.9.11 (Friday May 27, 2011): Several users asked for a way to export traffic statistics. EtherApe now can save a snapshot with all known nodes and relevant information to an XML file. With option --final-export, a dump is automatically generated when a capture file is fully replayed. Additionally, option --signal-export enables SIGUSR1 handling, to dump on signal. EtherApe used to have two links for connection, one for each traffic direction. With this release, only one link is needed, gaining more complete statistics and better resource usage. EtherApe config file is now ~/.config/etherape, instead of the older, deprecated, ~/.gnome2/Etherape. Migration is automatic. Filter expression is now saved. Thanks to OpenSUSE Build Service and a new spec file, development rpms can easily be built for OpenSUSE 11.3, SLE11, Centos5/RHEL5, Fedora and Mandriva. The spec file is somewhat generic, lacking the nicer integrations of official distribution packages, so you are advised to build with EtherApe spec file only as a last resort. OSX compatibility improved, thanks to Zack Perry. The old, deprecated, direct resolver was removed. Name resolution is now only done with the full fledged threaded resolver. Changes summary: * XML export of node statistics. * added --final-export to export statistics at replay end. * added --signal-export to export statistics on SIGUSR1 (FR 3185920). * improved link statistics * added a toolbar button to open the nodes window. * a new button allows skipping lengthy pauses when replaying. * fixed a long-standing bug affecting expiry timeouts. EtherApe was overestimating traffic averages. * used stock icons when possible to improve consistency with themes. * EtherApe now builds natively on CENTOS5/RHEL5. * rewrote spec file for use with OpenSUSE Build Service. * updated documentation. * removed several (harmless) compiler warnings to make packager's life easier. * imported debian-specific patches and a swedish translation by Daniel Nylander. * workaround for OSX troubles with gtk_input_add. Thanks to Zack Perry persistence for helping diagnose and fix. * removed obsolete preference "cycle assigned colors". * removed deprecated direct resolver * config file now saved to ~/.config/etherape * filter expression is now saved with the other preferences. * italian translation * link and node sizes now computed with the same variable types. * new size variables: active packets, total packets, average packet size. Overview of changes in EtherApe 0.9.10 (Sunday Feb 06, 2011): The most notable change is IPV6 support, thanks to David Flamand. EtherApe now computes average packet size, to better estimate network usage. The new option --min-delay allows slow-motion replay of a capture file. In 0.9.9 relnotes I forgot to mention a fix from Sotiris Sotiropoulos. Many apologies for the mistake. Note: the old non-threaded name resolver is deprecated and will be removed on the next release. If you really need it, speak up *now*. Works only with IPV4 addresses, anyway. Changes summary: * IPV6 support, thanks to David Flamand. * new statistic: average packet size. * added option --min-delay, to complement --max-delay when replaying from file. With this option you can replay a capture in slow-motion. * tweaked default service file, adding some common ports. * added check for invalid proto-color mappings (debian bug 566226). * removed bogus double assignement. Thanks to "johndoe123321". Important: CVS repository shutdown Effective from today, EtherApe CVS is no longer accessible. Plese refer to the Mercurial repository. Overview of changes in EtherApe 0.9.9 (Monday Jan 04, 2010): The most interesting change of this release is *basic* 802.11 WLAN support. WLAN is one of the most complex protocols around ('crazy' sometimes seems a better description) and there's no way to support it completely without a dedicated display mode. As an example, a single WLAN packet could contain up to four (4) addresses, source and destination, plus AP interchange. Showing the exact packet route could be interesting for someone trying to understand WLANs, but not very useful to monitor application traffic. So EtherApe tries to treat APs like routers, ignoring them if not directly addressed. Thus a packet starting from node X and ending with node Y will be shown as a straight link between the two nodes, even if the real path was X-AP and AP-Y. The other notable improvement is 802.1Q VLAN tagging support. VLAN tags are decoded but ignored, showing all traffic as being in a normal LAN. Filtering a single vlan could be accomplished with pcap expressions. Note: Due to pcap limitations, to correctly filter VLAN traffic the pcap filter must start with the keyword "vlan" (e.g. vlan and ip) and *all* traffic must be VLAN-tagged. Note to packagers: EtherApe now uses gnome-doc-utils. Manual should appear in yelp under 'Internet'. Important: this release will be the last mirrored on the CVS repository, wich will be shut down as of march 2010. Changes summary: * wlan and wlan/radiotap protocol decoding. * wlan QOS support. * PPI (Per Packet Incapsulation) decoding. * basic 802.1Q VLAN support (FRQ: 1561647). * LLC-SNAP support. * unified link level modes. * several performance enhancements. * refactored and streamlined node id definition. * improved l3 packet deconding, now fully dynamic. * improved documentation, now using gnome-doc-utils. * borrowed some info from Mandriva .desktop file. * Mandriva now compiles with -Werror=format-security and EtherApe was failing to compile. Thanks to Jerome Brenier for the fix. Overview of changes in EtherApe 0.9.8 (Sunday Sep 27 2009): Apart for the usual bug fixes, this release see a the switch to glade-3, the overdue removal of bonobo dock and several other deprecated widgets. Most of the ui now uses directly Gtk+ instead of Gnome. At this time there isn't a real alternative to GnomeCanvas, so quite a bit of Gnome still remains. To make partially up for the long delay, there are some new functionality as well: a node listing window, substantial performance enhancements, and some improvements here and there. See the details below. Note the new timing defaults: out of the box, Etherape will react faster to traffic changes and give a better "feel" of current the network state. The faster expiration will also help to reduce memory and cpu requirements. On the other hand, "forgetting" inactive nodes faster makes Etherape less suited for mid-term monitoring; the new values will be too small. I believe this change will be useful to most people, though, and especially suited to newcomers, who often have difficulties understanding the different timing types. Experienced users can still easily adapt Etherape to their needs. I have already mentioned the switch to mercurial. A couple months from now the CVS repository will be shut down. Changes summary: * Fixed bug 1713590, bad replaying of out-of-order packets (Bug report by "haywire_dk") * Fixed bug 1435271, about box doesn't report version (Bug report by Cullen Newsom, who had to wait more than three years for this fix). * Fixed bug 2839050, a massive memory leak reported by "psistormyamato". * Fixed a bug causing no-data tcp packets to have incorrect port. * Improved performance in several key areas. * Upgraded to glade-3, removed deprecated widgets and functions, tweaked the looks a bit. * Added --glade-file option to load a different glade file. * Renamed --infile to --replay-file to be more consistent with the shortcut (-r). * Option --zero-delay (-z) is now replaced by --max-delay, receiving a maximum delay in ms between packet when replaying from file. * Revised preferences dialog. Timeouts now expressed in seconds. * Added preference for diagram text color. * Added port column to protocol infos (Feature request 2818525). * Made node name and ip selectable in node/link info (FR 2818525 again). * Preferences dialog now accepts multiple protocols for a color. * Added a node window, showing a table with all non-expired nodes (i.e. both those visible on diagram and the inactive, hidden, but not removed ones). * Removed several outdated preferences: diagram is always anti-aliased, links always fade on timeout and info windows show protocol data. * Revised default timings, now geared toward instant monitoring. Previous values where more suited for mid-term analisys. Since sub-second timeouts aren't very useful, and reading milliseconds less than ideal, all expire periods now are entered in seconds. * Etherape had always the ability to map multiple protocols to a single color, but you had to create multiple rows, manually matching the RGB code. Now the preferences dialog accepts protocols separated by ',' for the same row and also compacts automatically previously distinct rows. You can also change the row color. * The link width slider now controls the link width/node radius ratio, so changing both node and link size will be easier, while retaining the ability to have a links smaller or greater than nodes. * Expanded internal consistency checks. * Info and debug levels are now enabled by defining the environment variable APE_DEBUG with values respectively info or debug (case insensitive). Development repository switched to Mercurial (Tuesday Sep 08 2009): Now that SourceForge officially supports Mercurial, there's no reason to still use CVS. DVCs are faster, have much more features and imho much better suited to open source work. Using hg should also lower the barrier for anyone wishing to hack on Etherape. The old CVS repo will be occasionally (e.g. on releases) synchronized for a while to make life easier for packagers. Full history will be available only on hg, however. Note: The new mercurial repo contains almost all the past project history, but since it's a conversion between two very different systems (for example, CVS doesn't have changesets, so the converter must infer them from timestamps and commit messages), there are some differences. So, if you really want to know how the project evolved before release 0.9.7, please consult the CVS repo. Overview of changes in EtherApe 0.9.7 (Saturday Sep 30 2006): Bugfix release. Special thanks to Pav Lucistnik for providing patches and bug reports. Changes summary: * Fixed bug 1496607, thread termination failure (Bug report by Pav Lucistnik). * Fixed bug 1496621, crash after pausing (Fix by Pav Lucistnik). * Fixed bug 1496614, crash in initialize_ethers() (Fix by Pav Lucistnik). Overview of changes in EtherApe 0.9.6 (Tuesday May 16 2006): Some distributions had trouble linking correctly EtherApe. This release should fix that. Changes summary: * On newer distros (like FC5) the linker was called without --export-dynamic, making EtherApe unusable. * Fixed bug 1488215, "cancel" button on preferences dialog doesn't work. * Updated .desktop and .spec files * Updated debian files. Thanks to F.Peters (debian maintainer). Overview of changes in EtherApe 0.9.5 (Saturday May 06 2006): After the recent changes the manual was really obsolete. This release features a completely rewritten one, properly integrated with the Gnome help browser. You'll find EtherApe under Applications - System tools. Changes summary: * Manual completely rewritten with docbook-XML. Now registers with scrollkeeper. * Thanks to Jeffrey G. Gomberg, who had the patience to test and identify problems, this release features improved OSX support. * Thanks to Ben Allen, added a new opzion, 'zero-delay' (-z) to play captured files without accounting for timestamp. Usually EtherApe uses the timestamp to playback packets as they came in when recording. This option essentially disables this, making as if all packets came in at once. As Ben said 'It provides a QUICK way to generate a graph of all of the conversations in a capture file, without having to wait the length of the capture. This is helpful for visualizing data from long (hours to days) captures'. * Fixed a bug preventing conversations to expire properly. Overview of changes in EtherApe 0.9.4 (Saturday Jan 14 2006): This release comes after a first round of extensive refactoring, needed to clean up some of the cruft accumulated during the years and make further developments easier. While still a work in progress, memory control is tighter and protocol dissectors more robust. EtherApe calculates an extensive set of traffic statistics, even if only a small part is always visible on the diagram. For example, every node and link maintains complete data for every protocol seen, but only the most active one is displayed. Thus, the detail dialogs now show also traffic breakdown by protocol. Changes summary: * New feature: link info dialog. Double-clicking on a link shows traffic and protocol statistics. * New feature: improved node info dialog now displays both traffic and protocol statistics. * New feature: protocol aging. Now protocols, like nodes and links, can expire and be purged automatically. * Heavy refactoring to make sources easier to understand and maintain. * Small performance enhancements due to refactoring. * Better memory handling due to refactoring. * Unified handling of traffic statistics. * Rewritten interface listing. Now uses directly pcap_findalldevs to list interfaces available for capturing. The interface submenu now list also the "any" device, if present. The older method is deprecated (at the moment it can be enabled with a #define) and will be removed in a future release. If someone needs it, please file a feature request. * Tidied up preferences dialog, removing unneeded entries. * Rewritten and improved node/link timeout handling. * Fixes bug 1362426 (i8n issues). Thanks to Daniel Nylander for hunting down that and providing a detailed example. * Fixes bug 1385105 (crash with double free). Thanks to goga_russian for the segnalation. * Fixes bug 1372245 (crashes when node goes too big). Thanks to goga_russing for the segnalation. * Fixes bug 1396236 ("force numeric" and "dns resolution" checkboxes not working). * Fixes bug 1268291 (OSX net/if.h). Thanks to Eric Stewart for the patch. * Legend labels now align to left. * Fixed a bug when closing the preferences dialog. Overview of changes in EtherApe 0.9.3 (Thursday 8-18-2005): * Fixes bug 1083524 (deletion of all user colors) * Fixes bug 1024944 (compilation on OSX). Thanks to Lars Eggert for the patch. * Fixes a bug with the legend handling (beware: on later gnomes the legend could behave strangely if you use a binary package built for an older gnome release) Overview of changes in EtherApe 0.9.2 (Saturday 8-13-2005): * New multithreaded name resolution using the standard resolver api. Works with dns, /etc/host, ... Note: The multithreaded resolver needs gethostbyaddr_r(). If your distribution doesn't have it, you're forced to use the old resolver. * Small fixes for gcc 4 * cvs cleanup Overview of changes in EtherApe 0.9.1 (Wednesday 8-11-2004): * Color-coded protocol dialog * Some tweaks to compile with newer distros Overview of changes in EtherApe 0.9.0(Saturday 01-03-2003): * Gnome 2 preliminary support, including a new option for an antialiased diagram. * Gcc 3.2 compile support * Some bug and potential bug fixes * New Turkish translation, by Gôrkem Cetin * Several fixes to assure proper compilation with newer autotools * Resolved memory bug by limiting resolved names to 1024 entries and arranging them in a simple LRU cache Overview of changes in EtherApe 0.8.2 (Sunday 08-12-2001): * Fix from Dave Yearke to bring back compilability to systems not defining DLT_LINUX_SLL * Should fix node globbing on screen under heavy loads * Added dialogs for name selection. The code behind the dialogs is not there yet, so don't expect it to work Overview of changes in EtherApe 0.8.1 (Monday 08-06-2001): * Added support for ISDN on Linux (added support for linux cooked sockets in general). Thanks to Ole Andreas Weel for providing the capture file. * Removes some testing info that was showing up when adding a new color to the color-protocols table Overview of changes in EtherApe 0.8.0 (Friday 08-03-2001): * Added much requested color selection dialog, to set and save your preferences for protocol coloring * Fixes program not behaving when using pause in live capture * Fixes a potential crash when deleting the font selection window using the window manager Juan Toledo got his engineering [1]degree (07-20-2001) Overview of changes in EtherApe 0.7.8 (Friday 07-06-2001): * Fixes device being left in promiscuous mode at exit Overview of changes in EtherApe 0.7.7 (Friday 06-22-2001): * Per mode name selection code was not working. For instance, /etc/ethers was not being used in ethernet mode. Fixed * Fixes a crash triggered at times when changing modes or restarting a capture * Should fix a cluttering of the display under heavy loads * Removes a compilation warning about floor not being declared Overview of changes in EtherApe 0.7.6 (Sunday 05-13-2001): * Now you can decide if you want to group unknown TCP and udp ports or not * Can show IPX SAP resource names in ethernet mode * Added a good deal of new protocols: ICQ, napster, DEC, LAT, IPX and many, many more. Remember that you must set Ethernet mode in order to see non IP protocols * You can select the columns to display in the protocols window * Pausing a live capture doesn't drop packets (statistics will still be valid) * Fixes mode setting from the command line Overview of changes in EtherApe 0.7.5 (Friday 05-10-2001): * Added more information to the protocols window: instantenous traffic, last heard and number of packets * Greatly improves CPU usage, should drop less packets in heavy loaded networks (increase refresh period if you are more interested in truthful statistics) * Double click a protocol in the protocols window to get an individual window for that protocol (yet to be filled with more data) * Fixes a segfault introduced in 0.7.4 triggered under heavy loads Overview of changes in EtherApe 0.7.4 (Wednesday 05-09-2001): * Added support for RPC_REPLYs and passive FTP. That's because EtherApe now understands the notion of conversations * Application is more responsive now under heavy loads * Fixed the CPU problem and part of the leak that was introduced in 0.7.1 * Fixed CPU hogging when in pause * Fixed a segfault triggered when a capture file was given first in the command line and later through the GUI Overview of changes in EtherApe 0.7.3 (Tuesday 05-08-2001): * Added ability to resize columns and sort rows in the protocols window table * Added a toolbar button and a menu entry to call the protocols window * Unregistered TCP and udp ports now show as an unique protocol, instead of being summed up in TCP_UNKNOWN and UDP_UNKNOWN Overview of changes in EtherApe 0.7.2 (Monday 05-07-2001): * Displays a protocol statistics window when you double click the protocols legend * Fixes the problem with links not disappearing when stopping the capture Overview of changes in EtherApe 0.7.1 (Sunday 05-06-2001): * The protocol table is emptied after stopping a capture, and now only shows the relevant protocols when changing the stack level setting * Better color behavior: removed repeated colors, and cycles color usage for further protocols * Fixes token ring mode in token ring networks (IP mode was working already) * Fixes a problem that showed up after a second offline capture in a row Overview of changes in EtherApe 0.7.0 (Saturday 05-05-2001): * New node cache timeout adjustment to avoid building on memory usage * Some improvements to reduce CPU usage as time passes by * Updated Dutch and Spanish translations Overview of changes in EtherApe 0.6.9 (Thursday 04-26-2001): * Added new node info window that pops up when a node is double clicked and is updated in real time. Since we have a proper window now, we can remove the hideous node pop up window * Fixes nodes reappearing in the diagram after a while and never being timed out again * Fixes the "** WARNING **: could not find signal handler" bug for architectures that were not automatically exporting symbols by adding libtool support Overview of changes in EtherApe 0.6.8 (Wednesday 04-25-2001): * Added support for Token Ring (Thanks to Robert Frank for the capture file) * Squashed yet another memory leak. (I won't say it's the last, lest Jim Howards proves me wrong again :-) ) * Fixed more problems with names in FDDI mode Overview of changes in EtherApe 0.6.7 (Monday 04-23-2001): * RPM package finally works for RedHat users * Choose node size from among (total|inbound|outbound) instantenous or accumulated traffic * Tooltips show correct accumulated traffic value * Node names are not forgotten when they timeout * Removed interape binary and moved etherape to bin from sbin Overview of changes in EtherApe 0.6.6 (Saturday 04-21-2001): * Fixes a serious leak introduced in 0.6.1 Overview of changes in EtherApe 0.6.5 (Saturday 04-21-2001): * Reports less false positive by giving priority to registered port numbers (below 1024) and fixing a bug that was causing etherape to only acknowledge RCP_REPLY messages * Get extensive node info in console by double clicking it (use export DEBUG=INFO) Overview of changes in EtherApe 0.6.4 (Friday 04-20-2001): * Better support for NetBIOS over IP name recognition (captures names from host announcements messages, besides the already supported session_request) * Fixes the "Illegal" node name bug * Compile fixes for platforms breaking at the libpcap check Overview of changes in EtherApe 0.6.3 (Thursday 04-19-2001): * Can find windows names in netbios over TCP session packets * Fixed a couple of cases in which ethernet addresses were displayed instead of IP addresses * Should report less false positive protocol identifications Overview of changes in EtherApe 0.6.2 (Wednesday 04-18-2001): * New interface setting menu: now you can set the device to capture from at run time * Added support for RPC protocols. That means that NFS shows as such most of the time at last * Fixed a bug introduced in 0.6.0 that froze EtherApe * Fixed a couple of references to null pointers which I believe where the cause of most crashes Overview of changes in EtherApe 0.6.1 (Tuesday 04-17-2001): * New mode setting menu: now you can choose among link layer, IP or TCP modes on the fly from whitin the GUI * The status bar now shows an actually informative message Overview of changes in EtherApe 0.6.0 (Saturday 04-15-2001): * Play, pause and stop buttons now work as expected * New open capture file menu item * Fixed filter history * Fixed ip addresses not showing in FDDI Overview of changes in EtherApe 0.5.9 (Thursday 04-12-2001): * Does not leak anymore. Formally tested! :-) * Online documentation. At least you get the menu entries. I still need to finish writing the docs :-) * Default operation mode is now IP. If you want to go back to ethernet mode, use -m ethernet at the command line * Loopback device now supported (was needed to test non-leakage) Overview of changes in EtherApe 0.5.8 (Thursday 04-05-2001): * Fixed non-displaying text on diagram. If you still see squares instead of text, go to preferences and choose a new font. Save your preferences. * Application icon now shows on the window manager and the about box * Rpm package does not require alsa anymore Overview of changes in EtherApe 0.5.7 (Tuesday 04-03-2001): * Dutch translation. (Thanks, Vincent) * Fixed compilation problem with resolver library and newer libc * Menu entries for Gnome and Debian systems * Included application icon. I can't track who sent me the couple of icons I have. If anybody knows who the author is, please tell me so that I can properly credit him * New version after eleven months! Development is retaken! :-) Overview of changes in EtherApe 0.5.6 (Thursday 05-4-2000): * Fixed a stupid but serious bug introduced in 0.5.3 which caused the capture to stop for no good reason. This happened because I was away from home and I was developing using only capture files with no access to any live network. I'm sorry it took me this long to solve the problem... :-( Overview of changes in EtherApe 0.5.5 (Saturday 04-22-2000): * New Stack Level setting: "Topmost Recognized Protocol". This is probably what you want to have as default. If you have used any previous version of EtherApe and have saved your settings, you will probably want to change it. Overview of changes in EtherApe 0.5.4 (Saturday 04-22-2000): * TCP and UDP protocols are read from a configuration file: services. I could use some help in trying to determine what's missing and what should not be in in the deafault services file. Unified diffs accepted. :-) Overview of changes in EtherApe 0.5.3 (Friday 04-21-2000): * Added start and stop buttons. The toolbar is back, since it is now useful. :-) * General menu cleanup Overview of changes in EtherApe 0.5.2 (Thursday 04-20-2000): * Added new -l option. You can use it to limit the nodes displayed only to the N most active. GUI configuration and more the ability to use more criteria will come next Overview of changes in EtherApe 0.5.1 (Wednesday 04-19-2000): * Fixed lots of memory leaks thanks to Owen Taylor and his fantastic memprof * Should not hog the CPU in offline mode anymore * Node size is zero again when the average traffic is zero * Got rid of the toolbar by default Overview of changes in EtherApe 0.5.0 (Saturday 04-15-2000): * Fixed PPP and SLIP modes not showing any protocols nor names * Moved code to libglade. This means: + You will need libglade to compile and run EtherApe + No more GTK warnings + The view menu is fixed. Check buttons work as expected + You can change the interface by editing EtherApe.glade with glade without having to recompile + All kinds of benefits for the developer. Now I can go back at dealing with the GUI * These are major changes. Please report any problems (see README.bugs) Overview of changes in EtherApe 0.4.7 (Friday 04-14-2000): * Fixed segfault when applying preferences changes and a filter had been set up in the command line * (Bill Barth) New, improved static mode * Debug messages depend on the DEBUG environment variable. You can set it to DEBUG or INFO if you want to see them again. Added -q option too, to get rid of WARNINGS as well * Refresh period is finally working the intended way (I hope). Should free up CPU in many cases Overview of changes in EtherApe 0.4.6 (Monday 04-10-2000): * Ports were not appearing in TCP mode * Accumulated per name traffic was not properly updated Overview of changes in EtherApe 0.4.5 (Sunday 04-09-2000): * /etc/ethers is used again in Ethernet mode * FQDN is again only used in IP or TCP mode * Added new --stationary option, so that people getting sick of following nodes around can have a rest. :-) Overview of changes in EtherApe 0.4.4 (Sunday 04-09-2000): * Nodes keep track of all names by which they are referenced. Right now only the most used one is displayed * This breaks /etc/ethers usage for IP nodes. You'll see your router change names a lot in ethernet mode. :-) I'll try to solve this tonight. * I changed quite a lot of things. Please test it and tell me any problems you find so that I can fix them Overview of changes in EtherApe 0.4.3 (Tuesday 04-04-2000): * Recognizes IP fragmentation. Should make up for unexpected protocols in your network * Node colors are those of its most common protocol. This is a bonus on my way of handling several names per node. * Fixed a bug by which actually the least common protocol had its color shown. Come on, guys... How come nobody reported this one? :-) Overview of changes in EtherApe 0.4.2 (Tuesday 04-04-2000): * Initial FDDI support. * Uploaded working RPM (for version 0.4.1). Overview of changes in EtherApe 0.4.1 (Monday 04-03-2000): * Hiding legend works again (for me, at least). * Link directions were reversed in ethernet mode. * New webpage (mostly copied from ethereal's :-) ) * First try at RPM distribution. Please report whether it works. Overview of changes in EtherApe 0.4.0 (Wednesday 03-29-2000): * Node size is dependent on outbound traffic * You can distinguish both directions of a link. Overview of changes in EtherApe 0.3.9 (Wednesday 03-29-2000): * You may safely turn down refresh period to minimum. If CPU can't handle it, it will just do a best effort. * Patch from Fabrice Bellet. Should fix more RedHat problems. Please report if it solves yours. * Some more segfault fixing. Overview of changes in EtherApe 0.3.8 (Wednesday 03-29-2000): * Filter entry has history. * Prefs window is raised when called. * I think I fixed almost all memory leaks. * Some more segfaults fixed. Overview of changes in EtherApe 0.3.7 (Friday 03-24-2000): * You can now "playback" tcpdump output files. * The legend now has a scrollbar if there are more protocols than it can hold. Overview of changes in EtherApe 0.3.6 (Friday 03-24-2000): * Recognizes level 5 UDP protocols. * Default stack level is now 5 * Can anybody please send me the most complete /etc/services in Earth? Mine in debian is quite complete, but it's missing things like ICQ. Overview of changes in EtherApe 0.3.5 (Thursday 03-23-2000): * Sorry. I forgot to include the new files in the distribution. :-( Overview of changes in EtherApe 0.3.4 (Thursday 03-23-2000): * Recognizes level 5 TCP protocols (Set stack level to 5) UDP protocols should be done tomorrow morning. (Can somebody explain me why 6000 is not a recognized protocol in standard /etc/services?) * Fixed a compilation problem for people with libbind.a installed. Overview of changes in EtherApe 0.3.3 (Thursday 03-23-2000): * Fixes a serious and stupid segfault. * Recognizes level 4 IP protocols (set stack level to 4) Overview of changes in EtherApe 0.3.2 (Wednesday 03-22-2000): * You may choose what level of the protocol stack to look at. Now I should be able to add more protocol decoding easyly. * I think I have squashed the growing legend bug. Please report. * Diagram tries to use most of the window. * Got away with some other memory leaks, though I probably just introduced some others. Overview of changes in EtherApe 0.3.1 (Monday 03-20-2000): * Capture filter may be set in the preferences dialog in runtime * Warning! The above is just candy to have you all test some major code restructuring. Please report any problems. Overview of changes in EtherApe 0.3.0 (Saturday 03-18-2000): * Preferences can be saved * The status bar shows the main protocol when over a link, and the node name when over a node. * EtherApe turns 1 month old! Thanks everybody for using this software. :-) Overview of changes in EtherApe 0.2.11 (Friday 03-17-2000): * Fixed a segfault in linuxppc * Fixed a minor bug in the protocols legend * Translations to French and Spanish Overview of changes in EtherApe 0.2.10 (Thursday 03-16-2000): * Fixed several memory leaks (it's still leaking, though :-( ) * Added font picker to the diagram settings * Size mode menu is now working. * Should compile again in Solaris Overview of changes in EtherApe 0.2.9 (Thursday 03-16-2000): * Fix for bug introduced in 0.2.8. Resetting the refresh rate eventually broght a SIGSEGV. Overview of changes in EtherApe 0.2.8 (Wednesday 03-15-2000): * GUI enhancements suggested by mdf to save screen real state. + Diagram settings is a dialog under the preferences menu + Legend becomes a dockable item + Toolbar, legend and appbar may be hidden using the view menu. * GUI for two more sizing algorithms: log and sqrt. I'm afraid I still don't know how to get the menu item from an option_menu, though. Patch, anyone? :-) Overview of changes in EtherApe 0.2.7 (Monday 03-13-2000): * Node info is now a popup. * Popup window shows Name, IP address and MAC address again. * Name is only FQDN in ip and tcp modes (more readable) * Now links age the moment they are not used. * Added 802.2 and 802.3 to ethernet protocols. * Fix for sigsegv when small link timeouts. Overview of changes in EtherApe 0.2.6 (Saturday 03-11-2000): * Ethernet protocols are recognized and presented in different colors. * Links not in use are slowly faded out (patch by Ted Wright). Use --no-fade to avoid it. * Finally found a way to set the diagram background to black. Overview of changes in EtherApe 0.2.5 (Friday 03-10-2000): * Initial support for color coded protocols display * Click on a link and a get a debug message with the most common ethernet protocol * Released to test for bugs some major changes in the code. Go for 0.2.4 if you want some guarantee of a more stable version. Overview of changes in EtherApe 0.2.4 (Thursday 03-09-2000): * Major bug fix. * Added README.bugs with procedures for bug reporting. Overview of changes in EtherApe 0.2.3 (Wednesday 03-08-2000): * Non blocking reverse lookups. I brought dns.c in from mtr to provide this functionality. This code is from Simon Kirby. * Removed now unnecessary -r option. Overview of changes in EtherApe 0.2.2 (Tuesday 03-07-2000): * Added ppp and slip devices support. * Brought back IP address display in ethernet mode when no /etc/ethers is available * Fixed another bug with RedHat 6.1. (I really have to find time to talk to this guy) Overview of changes in EtherApe 0.2.1 (Monday 03-06-2000): * Added tcp mode. Run with etherape -m tcp * Added fix from Ted Wright to provide a more readable display in crowded diagrams. Run with -o. Very useful for tcp. * Cleaned up sources so that adding other modes should be trivial. Please have a look at the source. Overview of changes in EtherApe 0.2.0 (Friday 03-03-2000): * RedHat 6.1 fix. Works around "featureful" redhat 6.1 libpcap. * Fixed node-in-the-center bug. * Timeout=0 means never timeout. Overview of changes in EtherApe 0.1.9 (Thursday 03-02-2000): * Finally I'm properly calculating average traffic. (yeah, right :-) * Node and link timeout work as expected as well. * Should now compile cleanly in Solaris. * Interape is a hardlinked to etherape. Runs as interape when called with that name. * Minor changes to the naming algorithm. Overview of changes in EtherApe 0.1.8 (Wednesday 03-01-2000): * First version of interape. Run as EtherApe -I. I guess I'll have to change the name to netape now. :-) * Added node and link timeouts controls. Overview of changes in EtherApe 0.1.7 (Tuesday 02-29-2000): * Pcap filtering added. Now you can use tcpdump style filtering (enclosed in quotes) with the -f option. * Added libm to autoconf.in for systems with a separate math lib. * First try at Debian packaging. Overview of changes in EtherApe 0.1.6 (Monday 02-28-2000): * Refresh period spin, averaging time spin, and link width sliders now work. Time to get better than Quake frame rates! :-) * Node, link and text colours can be set from the command line. * The rest of the GUI is active, so that it can answer itself people's favourite question. :-) (Well, Control-Q does actually work!) * Automated release process so that I can keep bombarding you with releases. Overview of changes in EtherApe 0.1.5 (Sunday 02-27-2000): * More for readability: Click on a node and a pop-up window appears with all node data. * You can change the network interface to listen to in the command line. * Fixed a bug in the dotted quad ip number display * Compiles without warnings * Updated README Overview of changes in EtherApe 0.1.4 (Sunday 02-27-2000): * Now parses command line arguments: etherape options -n, --numeric don't convert addresses to names -r, --with-dns-resolving use IP name resolving. Caution! Long timeouts! -d, --diagram-only don't display any node text identification * The resolver is turned off by default since it can potentially freeze your display for too long * digram-only makes for a clearer display. It's intended to be practical whenever I have per-node pop-up windows ready. Overview of changes in EtherApe 0.1.3 (Saturday 02-26-2000): * Links with no traffic disappear with time. Makes diagram more readable. * IP host name displayed if no ether name available * Oops! Was confusing ether dst and src addresses. Solved. * Web page now has a much more interesting screenshot thanks to Nico Lumma * Buttons are in English now. * (This file I had to get out from download because it had the dangerous DNS behaviour by default. You see? That's what happens when you are rushed by deadlines! :-) ) Overview of changes in EtherApe 0.1.2 (Saturday 02-26-2000): * James Wallace provided code to automatically detect proper network interface. It now compiles in NetBSD. * IP number displayed if no /etc/ethers is available. IP host name will be there in the Saturday Night edition. :-) Overview of changes in EtherApe 0.1.1 (Friday 02-25-2000): * First look at GUI side of things * Now you can dynamically reset the node radius using a slider * First users reports! Thanks R., Don! * First improvements due to user feedback: + Solved configuration problem for some people + Improved web page and README: reference to /etc/ethers Overview of changes in EtherApe 0.1.0 (Friday 02-25-2000): * Diagram resizes with window * Basic functionality is all there now, and calls for a minor version upgrade. :-) Overview of changes in EtherApe 0.0.8 (Thursday 02-24-2000): * Correctly (I hope) calculates average traffic intensity for nodes and links. The proper constant multiplier should be user defined. Overview of changes in EtherApe 0.0.7 (Thursday 02-24-2000): * First version showing links among nodes * Aborts gracefully if run by non-root. * http://etherape.sourceforge.net has a screenshot. * Expect proper node size and link width calculation in 0.0.8 Overview of changes in EtherApe 0.0.6 (Wednesday 02-23-2000): * Copied proper libpcap autoconfigure detection function from ethereal * Added Ethernet address resolution functions from ethereal Overview of changes in EtherApe 0.0.5 (Wednesday 02-23-2000): * Now uses gnome_canvas to display the diagram Overview of changes in EtherApe 0.0.4 (Monday 02-21-2000): * Node size is now an average of the last ten seconds traffic. * Proper distribution file. Overview of changes in EtherApe 0.0.3 (Sunday 02-20-2000): * Added gnome support. * Substituted hash table for binary tree to store nodes * Correctly display hardware addresses. Overview of changes in EtherApe 0.0.2 (Saturday 02-19-2000): * Displays circles representing nodes and text which will identify it eventually. Overview of EtherApe 0.0.1 (Friday 02-18-2000): * Initial version. Don't even expect it to run. _________________________________________________________________ $Id$ [2]sourceforge References 1. file://localhost/opt/svil/etherape/etherape/html/juan_degree.html 2. http://sourceforge.net/ etherape-0.9.20/glade/0000755000175000017500000000000014050240620011445 500000000000000etherape-0.9.20/glade/etherape.png0000644000175000017500000000437611220500634013702 00000000000000PNG  IHDR00WgAMA aIDATxŚ{PT?w},.A " 1>*DM5N4cMcLi6mc&iZ%1S#jb%XDX`Y{م]\Μ>~{~sq'AQ@ڝy\~GH>y Ȯ } \8CJ 8=lbyg x0NvułfA}:)ˣ!͚4ٰPs#'d-AU5uy@ i: p$89wXR9]|޴`tx)Sxxri1O S7hUd/_8dp4~\UMRYQrdl|g?dł%VCv-b 1ͳ@R?hժ̌! [4lXZBȄI,!Fij$f+鸻| <:>'s,.=>D]Ngp3pΐYԃa@%M>=d7r@Fqtڽ&>[x]N`FNZ3]$yڸlpr+o4Az;<zFSQ\yd?1YBl~vKNy9Ġ]݅ofŀu (2p6g;ID[1襬xиcr8S=Gq]wv {܏^"08,!FƚvR{EQ[ 6%#96?X ]*bf%N` (!־/NRXf/깲Jފ̡x{0zvdwXUJvZjd@k5tb\Ks>C}vw ,wiG݌(CLS 8=]gų FF72K\{$3;#)\Jynj vD%IR9H%y@%bjTb@NF$1l6d!a&i֤QRJ\O&gX"j<SG:9k}d !=ͭɘ Ol狓~8V("`2襩cF` 3S0>a8{%FJTh](AdᡀbkxQXBj:ύ[IvS O؄Kg/SWos"_d4ZSK+-),!܀HnĎ Oٓ+"]W:ۀC.r/#iȈ== hR(~hEZOYM*DR2 $HgnClr|{ o'7o \ H<tme Rmb@ {? 6ཉ dyswx͟Nz[̵^(o݊K] 1wx`6pK}AWoQ2})%A@0G8(tx. #.#DLwz-lCq`)"l{[o%JFNy*oC} whۈ%DĠ`}~(4}\6+>*Y&"*tu L1XRUvVCnz2:[ M|%Inj r P$.K\TWo͈3)L6s;7b,̉yHM`Rƍ6%gXbC9Il qww 0u,>MP+*>--Р=meb^&NfDM%LCS S+9q OW 2Tj#-510jo7ѯϱLI_pף"KKh_\Hs3Kyu."0uӧG 0otRq.*|@ᴥkW:R_>c.<ԤM[eײ7"j~hdfǞ}{7m;xڝ;}lvEÇd )=s'8e2~m)\+N(T)h6XQ[͟?YTr-Q$fT^S!vQ(\ I4嗮3i"+t/UCIENDB`etherape-0.9.20/glade/etherape.ui0000644000175000017500000046032314034542117013541 00000000000000 False 5 center normal EtherApe Copyright 2000-2021 Juan Toledo, Riccardo Ghetta A Graphical Network Browser. http://etherape.sourceforge.io/ Juan Toledo <toledo@users.sourceforge.net> Riccardo Ghetta <bchiara@users.sourceforge.net> Vincent van Adrighem <vincent@dirck.mine.nu> Ben Allen Bill Barth <bbarth@users.sourceforge.net> Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr> Gôrkem Cetin <gorkem@gelecek.com.tr> Laurent Deniel <deniel@worldnet.fr> Lars Eggert David Flamand <dflamand@gmail.com> David Goldfarb Ronald W. Henderson <rwhalb@users.sourceforge.net> Simon Kirby <sim@neato.org> Pav Lucistnik Eran Mann <eran@nbase.co.il> Frederic Peters <fpeters@debian.org> Eric Stewart Jasper Wallace <jasper@pointless.net> Zev Weiss <zev@bewilderbeest.net> Ted Wright <ted.wright@grc.nasa.gov> Dave Yearke <yearke@eng.buffalo.edu> Vincent van Adrighem <vincent@dirck.mine.nu> AlexL <alexl000@users.sourceforge.net> Gôrkem Cetin <gorkem@gelecek.com.tr> Javier Fernandez-Sanguino Peña Chris Leick <c.leick@vollbio.de> Frederic Peters <fpeters@debian.org> Daniel Nylander etherape.png gpl-2-0 True False vertical 2 True False end False True end 0 0.01 1 0.5 0.01 0.25 36000 10 1 10 36000 10 1 10 36000 10 1 10 0.10 2 1 0.10 0.25 -4 -0.01 -0.01 0.05 0.20 10 10000 100 10 100 1 36000000 10000 100 1000 36000 10 1 10 36000 10 1 10 36000 10 1 10 36000 10 1 10 True False EtherApe 620 440 etherape.png True False vertical True False True False _File True False gtk-open True False True True True False _export True gtk-preferences True False True True True False gtk-quit True False True True True False _Capture True False True False _Mode True False link_radio True False False True _Link Layer True True True False ip_radio True False True _IP True True link_radio tcp_radio True False True _TCP True True link_radio True False _Interfaces True False True False gtk-media-play True False True True True gtk-media-next True False True True _Pause True False False True True False St_op True False False True True False True False _View True False True False True _Protocols True True False _Nodes True True False True False _Full Screen True True False True _Toolbar True True True False True _Legend True True True False True _Status Bar True True True False Refresh True False True True False True False _Help True False gtk-help True False True True gtk-about True False True True False True 0 True False 1 both 1 True False True Start capture Start True gtk-media-play False True True False Next True gtk-media-next False True True False True Pause capture Pause True gtk-media-pause False True True False True Stop capture Stop True gtk-media-stop False True True False False False True False True Preferences (Ctrl-P) Pref. True gtk-preferences False True True False True Display the protocols window Prot. True gtk-index False True True False Nodes True gtk-justify-fill False True False True 1 True False True False 5 0 True True never True False queue none True False vertical 5 True True False Protocols False True 0 True True never never True True 1 True True 2 True False 2 False True 3 False 10 Select color False center dialog False False True True True False True True 0 True True True False True True 1 True True False True True 2 True False False 0 True False False True 1 cancel_button2 ok_button2 help_button1 Topmost recognized protocol Level 2 (Eg: ETH_II) Level 3 (Eg: IP) Level 4 (Eg: TCP) Level 5 (Eg: HTTP) Instant. traffic (In+Out) Instant. traffic (Inbound) Instant. traffic (Outbound) Instant. packets (In+Out) Accum. traffic (In+Out) Accum. traffic (Inbound) Accum. traffic (Outbound) Accum. packets (In+Out) Average pkt size (In+Out) (Off) Upper left Upper right Lower left Lower right Linear Logarithmic Square Root False EtherApe: Preferences center dialog True False vertical 8 True False end Save True True True False Saves changes to preferences file True False False 0 gtk-ok True True True False Confirm changes True False False 1 gtk-cancel True True True False Cancel changes True False False 2 False True end 1 True True True False 5 5 5 5 10 20 True False vertical True False start Protocol Stack _Level True False False 0 True False True Set what level of the protocol stack is displayed in the legend model1 0 True True 1 0 0 True False vertical True False The statistic used to compute node and link sizes start Size _Variable True False False 0 True False True Set the kind of instantaneous or accumulated traffic that the node radius indicates model2 0 True True 1 0 1 True False vertical True False start _Inner Ring Scale True False False 2 0 True True Inner ring radius as a fraction of outer ring size adjustment1 2 right False False 1 0 6 True False vertical True False start Display pcap _stats: True False False 1 True True Set where to display pcap stats: packets received, dropped by OS buffering, and dropped by the interface or driver model3 0 True True 2 1 6 True False vertical True False start Node _Radius Multiplier True False False 2 0 True True adjustment3 2 False right False False 1 0 3 True False vertical True False start Size _Mode True False False 0 True True Choose how node radius and link width are calculated as a function of average traffic model4 0 True True 1 0 2 True False vertical _Hide node names True True False Toggle whether the node names are displayed on top of the nodes True True False False 0 _Group unknown ports True True False True True False False 1 1 3 True False vertical _Name Resolution True True False Enable name resolution. If unchecked, all addresses are in numeric form. True True False False 0 1 4 True False vertical True False start _Capture filter True False False 0 True False Sets the capture filter 0 True True True True 1 1 0 True False vertical True False start Node Label _Font True False False 0 True True True Sans 12 Node Label Font True True False True 1 1 1 True False vertical True False start Node Label C_olor True True True 0 True True True True Choose the color used to display node labels Pick a Color rgb(255,255,0) True True 1 1 2 True False vertical True False start C_entral Node True False False 0 True False Optional central node True True False False 1 0 5 True False vertical True False start Background Image True True True 0 Use _background image True True False Enable selection of a background image for the main display True True False False 1 True False True True 2 1 5 True False Diagram center False True False 5 5 5 5 vertical True False True False in True True True True 0 True False vertical True A_dd row True True False Add a new row to the list of colors that can be used to represent protocols True True False 0 R_emove row True True False remove the selected row True True False 1 _Edit row True True False Edite the current row True True False 3 False False 10 end 1 True True 0 1 True False Colors center 1 False True False 5 5 5 5 10 10 True False 10 True True False vertical True False start Diagram Refresh _Period (ms) True False False 0 True True Refresh diagram every this many miliseconds False False adjustment4 1 if-valid False False 1 True True 0 True False vertical True False start Averaging Time (ms) False False 0 True True Packet information is averaged for this amount of time False False adjustment5 1 if-valid False False 1 True True 1 0 0 True False 0 True False 5 5 5 5 True False 10 True True False vertical True False start Nodes True False False 0 True True Remove this node from the diagram after this much time. 0 means never timeout. False False adjustment6 1 if-valid False False 1 True True 0 True False vertical True False start Links True False False 0 True True Remove this link from the diagram after this much time. 0 means never timeout. False False adjustment9 1 if-valid False False 1 True True 1 True False <i>Diagram Timeouts (s)</i> True 0 1 True False 0 True False 5 5 5 5 True False 10 True True False vertical True False start Nodes False False 0 True True Expire protocol statistics for a node after this much time. 0 means never timeout. False False adjustment8 1 if-valid False False 1 True True 0 True False vertical True False start Links True False False 0 True True Remove this link from from statistics after this much time without traffic. 0 means never timeout. 10 False False adjustment11 1 if-valid 10 False False 1 True True 1 True False <i>Statistics Timeouts (s)</i> True 0 2 True False 0 True False 5 5 5 5 True False 10 True True False vertical True False start Statistics True False False 0 True True Remove this protocol from memory after this much time. False False adjustment12 1 if-valid False False 1 True True 0 True False <i>Global Protocol Timeouts (s)</i> True 0 3 2 True False Timings center 2 False False False 0 save_pref_button ok_pref_button cancel_pref_button WWW False EtherApe: assign protocol True center dialog True False vertical 8 True False end gtk-ok True True True True False True False False 0 gtk-cancel True True True False True False False 2 False True end 0 True False vertical 10 True False vertical True False start Row _protocol name(s) ... True center protocol_entry False False 5 0 True False Type the protocol name model5 True 0 True False False 1 False True 2 True False vertical True False start Row _Color True color_entry False True 0 True True True False True 1 False True 3 True True 10 2 button5 button7 False 500 300 True True False vertical True False vertical True False 0 True False 10 True True False start True True 1 2 True False start True True 2 2 True False start True True 2 1 True False start True True 1 1 True False start Numeric Name: 0 2 True False start Resolved Name: 0 1 False start node A 1 0 False start node B 2 0 False False 0 True False 0 True False 1 5 True True False start 1 1 True False start 1 2 True False start Total 1 0 True False start Inbound center 2 0 True False start Outbound center 3 0 True False start Instantaneous 0 1 True False start Accumulated 0 2 True False start 2 1 True False start 2 2 True False start 3 1 True False start 3 2 True False start Average size 0 3 True False start 1 3 True False start 2 3 True False start 3 3 True True 1 False True 0 True True in True True False 5 both True True 1 False Nodes 500 200 True False vertical True False _Show all nodes True False False False Controls display of nodes timed out from diagram, but still in memory True True True True True 0 False True 0 True True in True True True True 1 False True False vertical True False 0 True False name center False False 0 True False 0 True False True False start Last Heard: center False False 0 True False label73 center True False 1 False True 1 True False 0 True False 10 True False vertical 5 True False start Instantaneous center False False 0 True False start test label center False False 1 False True 0 True False vertical 5 True False start Accumulated center False False 0 True False start test label center False False 1 True False 1 False True 2 False EtherApe: Protocols 550 300 True True in True True False etherape-0.9.20/glade/Makefile.am0000644000175000017500000000017213264431041013426 00000000000000gladedir = $(datadir)/etherape/glade glade_DATA = \ etherape.ui \ etherape.png EXTRA_DIST = \ $(glade_DATA) etherape-0.9.20/glade/Makefile.in0000644000175000017500000003605214034533752013455 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } 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 = glade ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(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)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.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 = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac 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)$(gladedir)" DATA = $(glade_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs 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@ 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@ ETHERAPE_CFLAGS = @ETHERAPE_CFLAGS@ ETHERAPE_LDFLAGS = @ETHERAPE_LDFLAGS@ ETHERAPE_LIBS = @ETHERAPE_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PCAP_LIBS = @PCAP_LIBS@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ 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_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@ ax_pthread_config = @ax_pthread_config@ 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@ runstatedir = @runstatedir@ 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@ gladedir = $(datadir)/etherape/glade glade_DATA = \ etherape.ui \ etherape.png EXTRA_DIST = \ $(glade_DATA) all: all-am .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) --foreign glade/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign glade/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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 install-gladeDATA: $(glade_DATA) @$(NORMAL_INSTALL) @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(gladedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(gladedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gladedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(gladedir)" || exit $$?; \ done uninstall-gladeDATA: @$(NORMAL_UNINSTALL) @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(gladedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(DATA) installdirs: for dir in "$(DESTDIR)$(gladedir)"; 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 mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-gladeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: 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 -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-gladeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool 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-gladeDATA \ 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 maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-gladeDATA .PRECIOUS: Makefile # 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: etherape-0.9.20/mkinstalldirs0000755000175000017500000000667213720443363013146 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy scriptversion=2020-07-26.22; # UTC # Original author: Noah Friedman # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' IFS=" "" $nl" errstatus=0 dirmode= usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit $? ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit $? ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the 'mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because '.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "umask 22" umask 22 echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac echo "umask 22" umask 22 for file do case $file in /*) pathcomp=/ ;; *) pathcomp= ;; esac oIFS=$IFS IFS=/ set fnord $file shift IFS=$oIFS for d do test "x$d" = x && continue pathcomp=$pathcomp$d case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp=$pathcomp/ done if test ! -z "$dirmode"; then echo "chmod $dirmode $file" chmod "$dirmode" "$file" || errstatus=$? fi done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: etherape-0.9.20/config.sub0000755000175000017500000007557413632230230012317 00000000000000#!/usr/bin/sh # Configuration validation subroutine script. # Copyright 1992-2020 Free Software Foundation, Inc. timestamp='2020-01-01' # 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"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -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.sub ($timestamp) Copyright 1992-2020 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 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Split fields of configuration type # shellcheck disable=SC2162 IFS="-" read field1 field2 field3 field4 <&2 exit 1 ;; *-*-*-*) basic_machine=$field1-$field2 os=$field3-$field4 ;; *-*-*) # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two # parts maybe_os=$field2-$field3 case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | storm-chaos* | os2-emx* | rtmk-nova*) basic_machine=$field1 os=$maybe_os ;; android-linux) basic_machine=$field1-unknown os=linux-android ;; *) basic_machine=$field1-$field2 os=$field3 ;; esac ;; *-*) # A lone config we happen to match not fitting any pattern case $field1-$field2 in decstation-3100) basic_machine=mips-dec os= ;; *-*) # Second component is usually, but not always the OS case $field2 in # Prevent following clause from handling this valid os sun*os*) basic_machine=$field1 os=$field2 ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ | convergent* | ncr* | news | 32* | 3600* | 3100* \ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ | ultra | tti* | harris | dolphin | highlevel | gould \ | cbm | ns | masscomp | apple | axis | knuth | cray \ | microblaze* | sim | cisco \ | oki | wec | wrs | winbond) basic_machine=$field1-$field2 os= ;; *) basic_machine=$field1 os=$field2 ;; esac ;; esac ;; *) # Convert single-component short-hands not valid as part of # multi-component configurations. case $field1 in 386bsd) basic_machine=i386-pc os=bsd ;; a29khif) basic_machine=a29k-amd os=udi ;; adobe68k) basic_machine=m68010-adobe os=scout ;; alliant) basic_machine=fx80-alliant os= ;; altos | altos3068) basic_machine=m68k-altos os= ;; am29k) basic_machine=a29k-none os=bsd ;; amdahl) basic_machine=580-amdahl os=sysv ;; amiga) basic_machine=m68k-unknown os= ;; amigaos | amigados) basic_machine=m68k-unknown os=amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=sysv4 ;; apollo68) basic_machine=m68k-apollo os=sysv ;; apollo68bsd) basic_machine=m68k-apollo os=bsd ;; aros) basic_machine=i386-pc os=aros ;; aux) basic_machine=m68k-apple os=aux ;; balance) basic_machine=ns32k-sequent os=dynix ;; blackfin) basic_machine=bfin-unknown os=linux ;; cegcc) basic_machine=arm-unknown os=cegcc ;; convex-c1) basic_machine=c1-convex os=bsd ;; convex-c2) basic_machine=c2-convex os=bsd ;; convex-c32) basic_machine=c32-convex os=bsd ;; convex-c34) basic_machine=c34-convex os=bsd ;; convex-c38) basic_machine=c38-convex os=bsd ;; cray) basic_machine=j90-cray os=unicos ;; crds | unos) basic_machine=m68k-crds os= ;; da30) basic_machine=m68k-da30 os= ;; decstation | pmax | pmin | dec3100 | decstatn) basic_machine=mips-dec os= ;; delta88) basic_machine=m88k-motorola os=sysv3 ;; dicos) basic_machine=i686-pc os=dicos ;; djgpp) basic_machine=i586-pc os=msdosdjgpp ;; ebmon29k) basic_machine=a29k-amd os=ebmon ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=ose ;; gmicro) basic_machine=tron-gmicro os=sysv ;; go32) basic_machine=i386-pc os=go32 ;; h8300hms) basic_machine=h8300-hitachi os=hms ;; h8300xray) basic_machine=h8300-hitachi os=xray ;; h8500hms) basic_machine=h8500-hitachi os=hms ;; harris) basic_machine=m88k-harris os=sysv3 ;; hp300 | hp300hpux) basic_machine=m68k-hp os=hpux ;; hp300bsd) basic_machine=m68k-hp os=bsd ;; hppaosf) basic_machine=hppa1.1-hp os=osf ;; hppro) basic_machine=hppa1.1-hp os=proelf ;; i386mach) basic_machine=i386-mach os=mach ;; isi68 | isi) basic_machine=m68k-isi os=sysv ;; m68knommu) basic_machine=m68k-unknown os=linux ;; magnum | m3230) basic_machine=mips-mips os=sysv ;; merlin) basic_machine=ns32k-utek os=sysv ;; mingw64) basic_machine=x86_64-pc os=mingw64 ;; mingw32) basic_machine=i686-pc os=mingw32 ;; mingw32ce) basic_machine=arm-unknown os=mingw32ce ;; monitor) basic_machine=m68k-rom68k os=coff ;; morphos) basic_machine=powerpc-unknown os=morphos ;; moxiebox) basic_machine=moxie-unknown os=moxiebox ;; msdos) basic_machine=i386-pc os=msdos ;; msys) basic_machine=i686-pc os=msys ;; mvs) basic_machine=i370-ibm os=mvs ;; nacl) basic_machine=le32-unknown os=nacl ;; ncr3000) basic_machine=i486-ncr os=sysv4 ;; netbsd386) basic_machine=i386-pc os=netbsd ;; netwinder) basic_machine=armv4l-rebel os=linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=newsos ;; news1000) basic_machine=m68030-sony os=newsos ;; necv70) basic_machine=v70-nec os=sysv ;; nh3000) basic_machine=m68k-harris os=cxux ;; nh[45]000) basic_machine=m88k-harris os=cxux ;; nindy960) basic_machine=i960-intel os=nindy ;; mon960) basic_machine=i960-intel os=mon960 ;; nonstopux) basic_machine=mips-compaq os=nonstopux ;; os400) basic_machine=powerpc-ibm os=os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=ose ;; os68k) basic_machine=m68k-none os=os68k ;; paragon) basic_machine=i860-intel os=osf ;; parisc) basic_machine=hppa-unknown os=linux ;; pw32) basic_machine=i586-unknown os=pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=rdos ;; rdos32) basic_machine=i386-pc os=rdos ;; rom68k) basic_machine=m68k-rom68k os=coff ;; sa29200) basic_machine=a29k-amd os=udi ;; sei) basic_machine=mips-sei os=seiux ;; sequent) basic_machine=i386-sequent os= ;; sps7) basic_machine=m68k-bull os=sysv2 ;; st2000) basic_machine=m68k-tandem os= ;; stratus) basic_machine=i860-stratus os=sysv4 ;; sun2) basic_machine=m68000-sun os= ;; sun2os3) basic_machine=m68000-sun os=sunos3 ;; sun2os4) basic_machine=m68000-sun os=sunos4 ;; sun3) basic_machine=m68k-sun os= ;; sun3os3) basic_machine=m68k-sun os=sunos3 ;; sun3os4) basic_machine=m68k-sun os=sunos4 ;; sun4) basic_machine=sparc-sun os= ;; sun4os3) basic_machine=sparc-sun os=sunos3 ;; sun4os4) basic_machine=sparc-sun os=sunos4 ;; sun4sol2) basic_machine=sparc-sun os=solaris2 ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun os= ;; sv1) basic_machine=sv1-cray os=unicos ;; symmetry) basic_machine=i386-sequent os=dynix ;; t3e) basic_machine=alphaev5-cray os=unicos ;; t90) basic_machine=t90-cray os=unicos ;; toad1) basic_machine=pdp10-xkl os=tops20 ;; tpf) basic_machine=s390x-ibm os=tpf ;; udi29k) basic_machine=a29k-amd os=udi ;; ultra3) basic_machine=a29k-nyu os=sym1 ;; v810 | necv810) basic_machine=v810-nec os=none ;; vaxv) basic_machine=vax-dec os=sysv ;; vms) basic_machine=vax-dec os=vms ;; vsta) basic_machine=i386-pc os=vsta ;; vxworks960) basic_machine=i960-wrs os=vxworks ;; vxworks68) basic_machine=m68k-wrs os=vxworks ;; vxworks29k) basic_machine=a29k-wrs os=vxworks ;; xbox) basic_machine=i686-pc os=mingw32 ;; ymp) basic_machine=ymp-cray os=unicos ;; *) basic_machine=$1 os= ;; esac ;; esac # Decode 1-component or ad-hoc basic machines case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) cpu=hppa1.1 vendor=winbond ;; op50n) cpu=hppa1.1 vendor=oki ;; op60c) cpu=hppa1.1 vendor=oki ;; ibm*) cpu=i370 vendor=ibm ;; orion105) cpu=clipper vendor=highlevel ;; mac | mpw | mac-mpw) cpu=m68k vendor=apple ;; pmac | pmac-mpw) cpu=powerpc vendor=apple ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) cpu=m68000 vendor=att ;; 3b*) cpu=we32k vendor=att ;; bluegene*) cpu=powerpc vendor=ibm os=cnk ;; decsystem10* | dec10*) cpu=pdp10 vendor=dec os=tops10 ;; decsystem20* | dec20*) cpu=pdp10 vendor=dec os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) cpu=m68k vendor=motorola ;; dpx2*) cpu=m68k vendor=bull os=sysv3 ;; encore | umax | mmax) cpu=ns32k vendor=encore ;; elxsi) cpu=elxsi vendor=elxsi os=${os:-bsd} ;; fx2800) cpu=i860 vendor=alliant ;; genix) cpu=ns32k vendor=ns ;; h3050r* | hiux*) cpu=hppa1.1 vendor=hitachi os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) cpu=m68000 vendor=hp ;; hp9k3[2-9][0-9]) cpu=m68k vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) cpu=hppa1.1 vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; i*86v32) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=sysv32 ;; i*86v4*) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=sysv4 ;; i*86v) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=sysv ;; i*86sol2) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc os=solaris2 ;; j90 | j90-cray) cpu=j90 vendor=cray os=${os:-unicos} ;; iris | iris4d) cpu=mips vendor=sgi case $os in irix*) ;; *) os=irix4 ;; esac ;; miniframe) cpu=m68000 vendor=convergent ;; *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) cpu=m68k vendor=atari os=mint ;; news-3600 | risc-news) cpu=mips vendor=sony os=newsos ;; next | m*-next) cpu=m68k vendor=next case $os in openstep*) ;; nextstep*) ;; ns2*) os=nextstep2 ;; *) os=nextstep3 ;; esac ;; np1) cpu=np1 vendor=gould ;; op50n-* | op60c-*) cpu=hppa1.1 vendor=oki os=proelf ;; pa-hitachi) cpu=hppa1.1 vendor=hitachi os=hiuxwe2 ;; pbd) cpu=sparc vendor=tti ;; pbb) cpu=m68k vendor=tti ;; pc532) cpu=ns32k vendor=pc532 ;; pn) cpu=pn vendor=gould ;; power) cpu=power vendor=ibm ;; ps2) cpu=i386 vendor=ibm ;; rm[46]00) cpu=mips vendor=siemens ;; rtpc | rtpc-*) cpu=romp vendor=ibm ;; sde) cpu=mipsisa32 vendor=sde os=${os:-elf} ;; simso-wrs) cpu=sparclite vendor=wrs os=vxworks ;; tower | tower-32) cpu=m68k vendor=ncr ;; vpp*|vx|vx-*) cpu=f301 vendor=fujitsu ;; w65) cpu=w65 vendor=wdc ;; w89k-*) cpu=hppa1.1 vendor=winbond os=proelf ;; none) cpu=none vendor=none ;; leon|leon[3-9]) cpu=sparc vendor=$basic_machine ;; leon-*|leon[3-9]-*) cpu=sparc vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; *-*) # shellcheck disable=SC2162 IFS="-" read cpu vendor <&2 exit 1 ;; esac ;; esac # Here we canonicalize certain aliases for manufacturers. case $vendor in digital*) vendor=dec ;; commodore*) vendor=cbm ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x$os != x ] then case $os in # First match some system type aliases that might get confused # with valid system types. # solaris* is a basic system type, with this one exception. auroraux) os=auroraux ;; bluegene*) os=cnk ;; solaris1 | solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; solaris) os=solaris2 ;; unixware*) os=sysv4.2uw ;; gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) es1800*) os=ose ;; # Some version numbers need modification chorusos*) os=chorusos ;; isc) os=isc2.2 ;; sco6) os=sco5v6 ;; sco5) os=sco3.2v5 ;; sco4) os=sco3.2v4 ;; sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` ;; sco3.2v[4-9]* | sco5v6*) # Don't forget version if it is 3.2v4 or newer. ;; scout) # Don't match below ;; sco*) os=sco3.2v2 ;; psos*) os=psos ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. # sysv* is not here because it comes later, after sysvr4. gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ | sym* | kopensolaris* | plan9* \ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* | twizzler* \ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | knetbsd* | mirbsd* | netbsd* \ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ | chorusrdb* | cegcc* | glidix* \ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ | linux-newlib* | linux-musl* | linux-uclibc* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ | interix* | uwin* | mks* | rhapsody* | darwin* \ | openstep* | oskit* | conix* | pw32* | nonstopux* \ | storm-chaos* | tops10* | tenex* | tops20* | its* \ | os2* | vos* | palmos* | uclinux* | nucleus* \ | morphos* | superux* | rtmk* | windiss* \ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix) # Remember, each alternative MUST END IN *, to match a version number. ;; qnx*) case $cpu in x86 | i*86) ;; *) os=nto-$os ;; esac ;; hiux*) os=hiuxwe2 ;; nto-qnx*) ;; nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; sim | xray | os68k* | v88r* \ | windows* | osx | abug | netware* | os9* \ | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) ;; linux-dietlibc) os=linux-dietlibc ;; linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; lynx*178) os=lynxos178 ;; lynx*5) os=lynxos5 ;; lynx*) os=lynxos ;; mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; opened*) os=openedition ;; os400*) os=os400 ;; sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; wince*) os=wince ;; utek*) os=bsd ;; dynix*) os=bsd ;; acis*) os=aos ;; atheos*) os=atheos ;; syllable*) os=syllable ;; 386bsd) os=bsd ;; ctix* | uts*) os=sysv ;; nova*) os=rtmk-nova ;; ns2) os=nextstep2 ;; # Preserve the version number of sinix5. sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; sinix*) os=sysv4 ;; tpf*) os=tpf ;; triton*) os=sysv3 ;; oss*) os=sysv3 ;; svr4*) os=sysv4 ;; svr3) os=sysv3 ;; sysvr4) os=sysv4 ;; # This must come after sysvr4. sysv*) ;; ose*) os=ose ;; *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) os=mint ;; zvmoe) os=zvmoe ;; dicos*) os=dicos ;; pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. case $cpu in arm*) os=eabi ;; *) os=elf ;; esac ;; nacl*) ;; ios) ;; none) ;; *-eabi) ;; *) echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $cpu-$vendor in score-*) os=elf ;; spu-*) os=elf ;; *-acorn) os=riscix1.2 ;; arm*-rebel) os=linux ;; arm*-semi) os=aout ;; c4x-* | tic4x-*) os=coff ;; c8051-*) os=elf ;; clipper-intergraph) os=clix ;; hexagon-*) os=elf ;; tic54x-*) os=coff ;; tic55x-*) os=coff ;; tic6x-*) os=coff ;; # This must come before the *-dec entry. pdp10-*) os=tops20 ;; pdp11-*) os=none ;; *-dec | vax-*) os=ultrix4.2 ;; m68*-apollo) os=domain ;; i386-sun) os=sunos4.0.2 ;; m68000-sun) os=sunos3 ;; m68*-cisco) os=aout ;; mep-*) os=elf ;; mips*-cisco) os=elf ;; mips*-*) os=elf ;; or32-*) os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=sysv3 ;; sparc-* | *-sun) os=sunos4.1.1 ;; pru-*) os=elf ;; *-be) os=beos ;; *-ibm) os=aix ;; *-knuth) os=mmixware ;; *-wec) os=proelf ;; *-winbond) os=proelf ;; *-oki) os=proelf ;; *-hp) os=hpux ;; *-hitachi) os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=sysv ;; *-cbm) os=amigaos ;; *-dg) os=dgux ;; *-dolphin) os=sysv3 ;; m68k-ccur) os=rtu ;; m88k-omron*) os=luna ;; *-next) os=nextstep ;; *-sequent) os=ptx ;; *-crds) os=unos ;; *-ns) os=genix ;; i370-*) os=mvs ;; *-gould) os=sysv ;; *-highlevel) os=bsd ;; *-encore) os=bsd ;; *-sgi) os=irix ;; *-siemens) os=sysv4 ;; *-masscomp) os=rtu ;; f30[01]-fujitsu | f700-fujitsu) os=uxpv ;; *-rom68k) os=coff ;; *-*bug) os=coff ;; *-apple) os=macos ;; *-atari*) os=mint ;; *-wrs) os=vxworks ;; *) os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) case $os in riscix*) vendor=acorn ;; sunos*) vendor=sun ;; cnk*|-aix*) vendor=ibm ;; beos*) vendor=be ;; hpux*) vendor=hp ;; mpeix*) vendor=hp ;; hiux*) vendor=hitachi ;; unos*) vendor=crds ;; dgux*) vendor=dg ;; luna*) vendor=omron ;; genix*) vendor=ns ;; clix*) vendor=intergraph ;; mvs* | opened*) vendor=ibm ;; os400*) vendor=ibm ;; ptx*) vendor=sequent ;; tpf*) vendor=ibm ;; vxsim* | vxworks* | windiss*) vendor=wrs ;; aux*) vendor=apple ;; hms*) vendor=hitachi ;; mpw* | macos*) vendor=apple ;; *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; vos*) vendor=stratus ;; esac ;; esac echo "$cpu-$vendor-$os" exit # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End:

!9=%+"M43soZdBJ#JId_kM"_+bCe4C$i9oDbgNU=!rtO5#6;$WdKT]Vd`,0!!u3e>daA@#Z2W/Q% 01DHdL%l4#Q=ZNTK!)sSc7%F`_mKQ'f^EcdO,#_qU,EQ!-J(c!XA_1rR)(n;A93J3-Wg!)ZY!Zd L4&m'E](0GLFnE!3uLN.)o.!!u3e>daA@#Z-q&)!3stp !.=`R"M"-up@J1M"6naUGCa2M@0>*\`>4#5JRJRfI"2~> !36!\"Ln$rp%&"I"6\ORRt6aMOotLZB30YIJW^%sWdk~> !9=%-"L[jno^VhF"6S@Lb^n9ke-#^M.'nKSJ^a_Mj+%~> !.=`V!OM:jp&a6`G_'GQAHUQa`>=):JRnjnI"2~> !36!`!OV=jo`F*_SUm*RQ36p^B3BeOJX->&Wdk~> !9=%0!O;(foE*p[c@OTof)u$P.(+WXJ_'qSj+%~> !.=`[!0R#_!OI0)C !36!d!NEI#ZN-YLRa.?'$34=^RXpn.R]:l~> !9=%2!QMD>Y5toSJ_A?%!XA_7J_>V-!SQL`~> !.9?8JSp$V\S_CpJ,~> !31UAJY%Fa\Xif$J,~> !98XbJ_Pb1\_@,EJ,~> !.9?=JTHB`\T7auJ,~> !31UEJYI^i\Y9)(J,~> !98XeJ_kt7\_[>HJ,~> !.9?AJTlZh\T\%$J,~> !31UIJYn!q\Y]A,J,~> !98XgJ`)+;\_mJJJ,~> J^8nnJ^:gOJ,~> J_,J)J_.B_J,~> J_u%9J`!roJ,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> "OGuop@a'^J^&bj_9N#R!q5$mJ,~> "P;i.p%^_8lTK!qYU,J,~> "Q/\Bo^m^OJ\luT_8?6E!r)0@J,~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@cbji<#7,c_KG#P`jA1i;thg\F\Y\1bQ:hiL&R-c1^l"hp6f~> "kVr/p%?Abh?'".g8!L+QBg1Ah?#PkeaqW!2)Nj7hO*.'a7],skLY4~> "lJeCo^p#[g]*N=fq[=%PlTLTgB';lfCR_u2`B9=gR-_!_Y!Kpn)&W~> "jc)pp@cbti "kVr/p%?Alh?KC5Q'\&Dd/Mo%V#]8Vh?M3(R[9\Vh>#h.QBg1Jh>fS41]u31=kE9%!a8aYJ_ldN "ip "lJeCo^p#egBO"0Q'e2Lf)FG(U]B,TgBGHjR@'_\pY5_5!85TN!'0m6"4gXZf^mkt=od3+gR-_! _Y!Kpn)&W~> "jc)pp@cbti "kVr/p%?Alh?TI6U84-@QHJ@H!8YiT#KlBch?[Ln>;S0<>?f[0hLs_h a7],skLY4~> "lJeCo^p#egBX(1UnX0?R+19Q!85QM#IB\\U8ONHgA'G&PlTM0gAop\gB_+j=uJ9B>[5p4gP";b _Y!Kpn)&W~> "jc)pp@cbtiA[QqWSudGP*Fh^P`jAO[%*DGU<2BQg81%/`fcnOiKTMETU"KCS<]>5al23AP/X)Y YhGn;V;L4i.H$_ZT&8Mcf&#BBZ'gfI^u=7:P0`+DZ'gfI^u=7:P/X)ZiP;"JQ_Mpcif\tf;=Y`sP/k=mZQUW\i;8@bAZ/Gl2p@dt4c[Y~> "kVr/p%?AlhDUdecJI?VQ'pIbQBg1\X.5NDW79\\c_-W*Z^%]MhNjGESXSE9S:D]R?s_lhVOQ`_k!7Q[@EPPVVC"b"5>XhbPp?L 2)Nk?1c1ss5EN?J3H3G3UoDr0<"6T.58f7De`h?Csmp%.@uJ,~> "lJeCo^p#egGYC`eD&KDQ)!*gQ'L%WVOEg>Xk2=^^mpduTU![SgQe&5R]"o;R[0DEfA#&FQ+39Q ahO=5\_l-De!?95rnAX7gY9iHQ^Fc#gY8!Yg"XWFQ^Fc#gY8!Y\!j5KXI5BEWS67a"49"be,J)2 2`B:B2E$FY8$J@K5E#Nq)`K\,gG_$F6Tp+VgY82e5(-6cZeO,L5WM;EfR_e^gBGIdo_7h3J,~> "jc)pp@cbtiA[QqWSugnP*3K:P`jAOUThD9P*P"aT9>\JPEMKqiKTLiWiY0SYe76(Q/U\bP*N&1 P+/D;P-*[$"5B!%e,8/Ii1uO+Z'1?eiKTMOi1uO+Z'1?eiKTLiWiY!=Qb0`(b2;.[i%?XDro#Cb 0"Bjm/i7,m010)//o9M*1bQ;s1bLV69.j]4hb,RhE\K+9iRKP@MLo*8J`3lm"jQc7n))HA~> "kVr/p%?AlhD^jfcJIF2Q'KqWQBg1\S@#r0Q(-XcR$FSOQ^+`1hNjFmYH6TN[(NH)S)3"eQ'eV; Q'eY=Q-A1C"4NO#g\fnNgmXM,Y*G=&hNjG\gmXM,Y*G=&hNjFmYH631coA.2*,G11pc&q2)Nk?2)IOO4#EklffM#tCcF7ihSh "lJeCo^p#egGbIaeD&`uQ'KtUQ'L%WTXMG)Q)`TfQBePJQBfVIgQe%mYHciT[^r,sWnZ9nQ(Oq= QC+_=Q.4aH"0e&VgAK\Jel.p>W4RIgO(nnNI+:KJ_RHa"iBp(p[@!i~> "jc)pp@cbti<#g "kVr/p%?Alh?'+1cMl]#Po8'-QBg1\h;6r@QBg1LQ($RdU6VnXhbPp?J2)Nk? 1c2c"5ra7],skLY4~> "lJeCo^p#egC0F6eD&a3Q'KqTQ'L&%gC`,hQBg.)Q)<-?f@r2A bhG6 "jc)pp@cbti=D`IWSugnP*3K:P`jAO\siS\%ER+`Qf6oMP+CRjP`j8ii;pNYrK7T1iKBAJiO+iK iQm[Yi8FdmP*4;li?6X5Qf6oQP*b-lP0_X@Qf6oQP*b-lP0DnDi3SW1P*X5Ii "kVr/p%?Alh@H$>cJIF2Q'KqWQBg1[Z'kQU'%t0fTAJG2Q*0!#QBg.[hVGH)rKRfEhNaAZhOTqX hQrKPi8+RbQ'L,%hAa4pT\eP?Q([!"Q.j!!M.j"h?2Lh1s>mT/2]97 hD@(f73~> "lJeCo^p#egCKX9eD&`uQ'KtUQ'L%RWL*RK'%s.I]\D27Q-.k9Q'L%WgX`?jrKRfEgQe&WgR4>W gRshTi7e@%D%D@PM=hh2RD/a<&Z]n>1J2YZ.fH!o^qnHhgb~> "jc)pp@cbtiA[QqWSudFP*Fh^P`jAEP*O)5Q'02AP*Fk_^65&GiKTMOiSiCOQ,h18P/lOEP0`*q P,mQfP+LUj+Q/`PTASVdfA>2DQ/LWBP+:KqP0_gEQ/LWBP+:KqP0a*c"Q.V=P+UXj"5kdaOT+2a 1bQ;s/hXZmIkGBm\LpJ4iA<0siA<0siP.!4iR'87h;OML8,hHMgqARt9S)0-i<@L"p@$nbJ,~> "kVr/p%?AlhD^jfcJI=S&rp@Q.XrYQ.k)c Q."NqQ*K9("5K6.ZMr\uc/$U/Rblo%Q)`],Q.jHIRblo%Q)`],Q.l2n"PM&$Q*fH*"5>XhbPp?D 2)Nk?1c3b>7l8*>Gr0X"hDI.?hDI.?hMF("hRYO.h;2'eDuSSrd^NpII=^7[h?Csmp%.@uJ,~> "lJeCo^p#egGbIaeD&KDQ)!*gQ'L%%Q)_sJQBg.*Q)EBkR[)%MgQe&WgY8]mWl`AKQ.aoWQ.ao[ Q.F]_Q-8+?"4NR$_#E(4`7q>XWS?0uQ,q^FQ.`4'WS?0uQ,q^FQ.apHg=t)uSX%FVgB5h]2UhZ[ /2oK=gGUtAgHIOAgJKl9gY4YFf@r5Bf@s=aYM3qQ@GBO(2RD/lgW?Zl2Re7lZ.fH!o^qnHhgb~> "jc)pp@cbtiA[QqQ_Kk1PITT1P`jAEP*O&#P*3lDT9>\HPEMKqiKTMOiSiCOQ,^M#P/lOEP0`*q P,mQfP+LRi.+ONEQDgI>g>J`hS["BA^u:N@cetR]S["BA^u:N@cf*j\D/8)`#hHAuSj "kVr/p%?AlhD^jfU8+'?QHJ(@QBg1EQ(,k%Q'L"WR$FPLQ^+`1hNjG\hVQ;&*]W3;JPeD?LVg>:]9Updq0Q+u55"5>XhbPp?L 2)Nk?1c3b>7l8*>Gr0X"hDI.?hDI.?hMF("hUstI?"Z,RDr/N:J<*M`Q%@esh?Csmp%.@uJ,~> "lJeCo^p#egGbIaUS4!=R+0mFQ'L%$Q)hm$Q'L%OQBeMGQBfVIgQe&WgY8ZlX2Us$Q.aoWQ.ao[ Q.F]_Q-8(>.']&&U8OQIg=2ISXJhDNf@uRUg!l@RXJhDNf@uRUg"Y8eWOB@+Q-\@B"49"be,J)Q 2`B:B2E'1A4uUaA;)Yf9gG_%BgG_%BgK$59gW2B5Bim>QZeKh "jc)pp@cbtiCiki%?XDro#Cb 0"Bjm0"Bki/na.R/kP$\1bQ;s1bQ;s^Fhn4iR1g`;kks:iS%^'0K*CgJ`3lm"jQc7n))HA~> "kVr/p%?Alh?KC5Q'\&Dd/MlRQBg1[Xd>KfQ^-4[c_-W*Z'DQMhNjG\hVR(jQ^YLPQ.XrYQ.k)c Q."NqQ*K3&-d/KXQ_1bChUSWnQ__a[hNjG\hUSWnQ__a[hNjG\hVQn^R['>Hh;@&kgGCb1rn]1` 1tCG>1tCGQ1rA*p1j%U22)Nk?2)Nk?M)8c"hRZE@B6?%PhToIl2*lB>J_mZg"ip "lJeCo^p#egBO"0Q'\,Kf)FG(Pq1P=V3[^lQBg.X^mg^tT9[USgQe&WgY:;UQCc']Q.aoWQ.ao[ Q.F]_Q-8%=-c)XHR%h4IgW61WR&JEegQe&WgW61WR&JEegQe&WgY9T>R?jDRg>CWed5Eo3rnAt_ 2V6\A2V6\I2UC,T2RM5n2`B:B2`B:B<]7/9gR:PoI8;c.gRqS22bAhZJ_RHa"iBp(p[@!i~> "jc)pp@cb^i;ha6i<$WSUk.LSi;hU2i<"oi=+T>0i<@L"p@$nbJ,~> "kVr/p%?AVh>l.+h?'@8_1CImh>kauh?$J0Rt9Fqh?Csmp%.@uJ,~> "lJeCo^p#OgAon*gB*h/d"0s$gAo_%gB']"_L^I@gBGIdo_7h3J,~> "jc)pp@cb^i "kVr/p%?AVh?KaX]WRNegO\52h?HttNc$[7eq)\Wh?Csmp%.@uJ,~> "lJeCo^p#OgBO1Q\tt[ag4A#.gBL/lNE\;8fR_eVgBGIdo_7h3J,~> "jc)pp@cb^i<@Z$Pa/&dJ`5):"hmPa2--c/iMb]=c1^l"hp6f~> "kVr/p%?AVh?CBZQC4f%J_nl4"bT9'5%_]`hPf97a7],skLY4~> "lJeCo^p#OgBFaLQCG)0J_SZ."`Qjh7 "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iITs=iPXUXc1^l"hp6f~> "kVr/p%?@VhLXO7hS\1Ra7],skLY4~> "lJeCo^p"OgO\+1gV_bL_Y!Kpn)&W~> "jc)pp@ca^iRQnn21a`"i<@L"p@$nbJ,~> "kVr/p%?@VhUUJhKRr!nh?Csmp%.@uJ,~> "lJeCo^p"OgXY&bjFQ(!gBGIdo_7h3J,~> "jc)pp@ca^iRQnn21a`"i<@L"p@$nbJ,~> "kVr/p%?@VhUUJhKRr!nh?Csmp%.@uJ,~> "lJeCo^p"OgXY&bjFQ(!gBGIdo_7h3J,~> "OGuop@a'^eBP "P;i.p% "Q/\Bo^m^OeAAQQJ\o(:s7?Ben)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@cc%rrHZ.a8Z8:A34GmrrH3.jSo6kVtL&jcr0`?!RkNFrrJ%\bPqTRVrdpZA>eYk!RkNF rrJ%\JcGQG"jQc7n))HA~> "kVr/p%?ArrrGFNa8Z80<^F%[rrG=NjSo6HlLk/XLQ201!LTePrrH$[bPqT/lK/$H60d\6!LTeP rrH$[JcGQG"ip "lJeCo^p#krrG7Ua8Z7^91.\,rrG4UjSo6Cp@\Fdu;T4SJ"=!FagO rrGR]JcGQG"iBp(p[@!i~> "jc)pp@cc.rsF$(0/ZObp](9-g=?3,GqL^,?J5/S!R+I/rrH3.p\tDB/hT"fg@YCG^=r8[!ROaA rrW-glg=]QlTt+A!gbY5h>[Mig@"t@rq\5KCVJNerrW-glg=]QlTp+%q>UWCp@dt4c[Y~> "kVr/p%?B&rsD4P2*P<@rVuo$pXT9I7PlqcF7oA/!ITmorrG=Np\tCd1c.C[MZp[8%]r;&5Oe$&N1rrW![qX+:`dU.S*q>UW=p%@q>f73~> "lJeCo^p#trsCtK3(%Dkrr<##r71fN5;kDiM>R,K!E.//rrG4Up\tC]2E"'_qt0mhXo.kl!ER_I rrV7VrU'UcL8XVB!^flbh>[MXr9jRbo(k6Gm&g3MrrV7VrU'UcL8TV&q>UW8o^qnHhgb~> "jc)pp@cc.rs!a`r:SEJ8a? "kVr/p%?B&rrts?r:7`uEpEZ)rTX=c7a_/"=Dms7!EI,:rrE#hrrG=Np\tCddJW3+D>*u0rUTsh LQ232!Ocb0rrW-\o^r.cnhiMTmf*:cg].9K"?bT;q>TRW!Ocb0rrW-\oR[&=rrpI9p%.@uJ,~> "lJeCo^p#trrt^Qr9UaTV<\'\q<@n_5O/1'7DSa!!Cc2LrrDldrrG4Up\tC]lMT=&^@qR,q==Od "jc)pp@cc.rrIC\rr4MD1St+^VuO;(3CBP@s7'SY;^6mFZN=^s8T5k4%#bBs/ou+rs%.;c9M?a 6N7!;b>&$4JNPr@s8Q/i?;:I1:cUn;s8VV!3**Fbs8QW-s&Y[u;-`eos7'SY;^6mFZN=^s8VnG4?7ierrK!2rr3[6U0BKkq/n_okl:[c7QWu3s8T66JcGTH"jQc7n))HA~> "kVr/p%?B&rrGUI4B0B$s$"4q4H&`?3bJ6c s!^Fds8T;os7("k7%=3g3(?X35-eKis7("k7%=5VO@)?2lMj&c;`]+#qu7j0e,THO8H83u5"(n? s$!_p:B*WFs5[TO9<\BqhGupZJW9R,!E@2?rtIZ4;*9d,A3+?!s8S0J6;ZtIs&Qo,rs##hL0O\U @K-9ZJUd^iDa$RYs8P9g?;CN\90?1os8UnU6>_:5s8PCMs$!bt:j2g;s4p^BD1R]BrrG7Crr3Wt lMj&`;*9d,A3+?!s8VV-5"(n;rrH*@rr3Zr^em4PnRO[mqZ$SW6UFW7s8Q-7JcGTH"ip "lJeCo^p#trrG@Nrr4Ld2tm86pA]P24_3gWs0tZkLf;h's#Z]U>lT4B4_3gWs#[&L6aP3@4G3V0 s!^2!s8QYbs3tIB:qls53)!*C4.BM\s3tIB:qlu0GXFf$pA[4S8jJ[@qu7j)m/R)sLB#b35Z#2p s#Z]U>lQq[s2%f$=k*KO\k5JK;q1^E!CZ2OrtIPk8jfr5 "jc)pp@cc.rrIC\rVn?r?N4Q6s1m^qe1pCj@!_e;5#VF\=%;o`s1m^qe1pCk=%_ZN:ghKFOBqb` .=#_/p5)0:H"ZgCE.\+uBE/!57eZl^H"ZgCE.[^>j8\Vqs&VbNqfZlSruu`(s8A-Js*88Mol,N_ =%;o`s(&&,Ao.A27A9]iFoCMb;Z$Ip>+GTl'N[oipeYAArK(=boJP\/nBh48d7X'23,E4"0A6.U kPtQaU&TCNp%<9Us&V\`s8Tmqs3rdkra:'NlTS5Hs(&&-=%W5fMf/Ro@!_e;5#V4V!Dn^RrtK"A s&VhUpeYAArK(=bs*88Mol,N\rrH;nrr3[69'>tG@*AM1?2sOSj8\Vqs8UJ=JcGTH"jQc7n))HA~> "kVr/p%?B&rrGU5)oUB5&L8us/PJd]/oih5%aKT4BLS?=Ju&r .7VedmTF-$9q)%H8]q'4a8c0'D>jM79q)%H8]p9ao`+(Hs#so_ogm!trusq]s8-,5s%Ss\lUf8! 5&L8us$>rK6DOP53o^*(X8gU2NVi_V53W"G'L$.%m6"J1qcKcrksG%Bk4ScSLj/Lk3't+>2YQ`% q>^FXkPn8FrTd%ts#t;us8T+ds1:>hrB[Xeeio)ns$>rM5'?l(;8`G46*L=>5)oC "lJeCo^p#trrG@NrVn?3i;Yq5s0q\"P#)&M4OO2<3n4304/)ZPs0q\"P#)&V4-f`o3c+BW7G[k@ .6m2!iC16S6,!9J5jJA=Fs#ZA>jZhr*rus\os6iIerB\-reNiF" 4/)ZPs#g#M4i[N747`,.cMt(.eGK7H48&UQ'K_TXeN.O;nO;:6U2Tr/f_YXJ=3^F<3W;2%X?HI* 7/d/^48&P<^&HPIlMir>rr)l+p&1%LrUrA$s0k&=s8P4Ts#[4[q*X?Fp,pb&[lW%7rrG1Prr3Zp pA[4>r7*iEo'o0)s8>6srma:!r;QdZp&=t*4-f`o3c+BW7G\! "jc)pp@cc.rrIC\rVm"ps8TN*s8Q/_qYpt=T`8)Ws8TK-s8V%Equ6YAr[o0S e+GKms8V1Hs0cS?s&Y?_s7J/Ds8V1Hp+j2Prr3.'P5kR39`+i#Gr.fJ9$?l_qZ$TW62t#Krr3L> Vt;bBs8U/5oJ?IGs0,DurrGBirr3I0PQ1ZjUIlMuN_jA>fH/PQ1Zj "kVr/p%?B&rrGU0s8R=gk?\RK*;n?N9=Sc2IV@!M!Khrta]Sp]!Xbs%^W7ha7A. 49#9[^L$q(jneuZ6L!Ysrr3L9NW9#ElMj'3s8SF7s5uTFrrHJdq>UIXjSo/n60eJ6jo>?\RK*;n ?N9:Prr<#5?Msg(3UQhG%R0"Ss&GKes0H&3lTNMkrVlng?@i.QrrpI9p%.@uJ,~> "lJeCo^p#trrG@NrVm!ffDdu,r;Qj^p6oFhrrksCs8P1PqYpsepA[5Gs8PO?s8Q]Lqu6X\r\ak+ q5%'irsWYUs$c/Os#]iPs.r]orrm/NXBO?Wrr3-`oDehochm_I5=\7)G57t6rr3+9^&L1crr3'_ p7,7arrZ0DRp5ml!CtZ:rrG+Rrr3HioDehZf`1t``;coBgA_'N!FE_;rsk\br;St=s$GrLQ#H]! <;un#C;'X/oD8Ih4nb=Qrr3L"eGoP2pA[5Is8Q?Ms-dBqrrG[?q>UIVoD\b#4SJe:oDehZf`1t` `;cZ5rr3"6^&7m23; "jc)pp@cc.rrIC\rVm=V?N4Q6s3"_97lZIr3WB$^cVjfC=1%u,&BeBI7lZJ-=1&#-_.*HEjZ`SA #C1+bk>/JR0`FfU9hGAnBE/!5[/^0p0`FfW9hGB*@l7cLs&ZT-s4L!@rs*g\m.12VmkF`9"AMJf =1%u,"(\=u3<&p[gck0err3#F;Z$Ip=e,Kk'N_[As1r1Es5cHEs2SV,A(gn^d7X*3%`1F0s4K@2 i]dCXrrGrSrr3L> VuKi*s8ToEs8V1Es6hZ@:'"'\r;Qe#SGrO&=1&#-_.*HEjZ`_Ea($u:g&M*"8qI$=rrp[@p@$nb J,~> "kVr/p%?B&rrGU.Xb6^fL@4 #=d2Aej&9Q2uZ_a;-a-#a8c0'mJm4C2uZ_c;-a.%>W[3's$#iMs.FK2rs)$3mIgMZhDbF4"ArG( 54/@L"$u5/8H/VkVcMYGrr3"MNVi_V53W"G'L(pas'!#6s1h\8s/TBdGkM+:Lj&Ik%WtqSs.)[[ \QAfNPlKT!r_iqs>lR"Trr35(=\;CHjk`T.rss[?s8PCMs$#iMs.FK6hF[_H!J-7+rrG7Crr3Kp lMj'8s8Q96s8Tl8s5#^6;ZTa#r;Qd]kl1Sr54/CM>.Xb6^fLL8X'@`2p&G&JG(K\irrpI9p%.@u J,~> "lJeCo^p#trrG@NrVm "jc)pp@cc.rrIC\rr4MD1St+^Vt`$ks8QtpoJ?LHs0bi*s&ZT-s7e@ns8Qtps&ZT-s1r1Es5cHA rs3mcs8Un;oJHOErsH2Is8Q0-s8V^JrVHO#qOC1X=1&#-fh))@!I8JZrrVgLrVZZr=1%u,$=p(, 1Aq1Pa\27`rr3#4;Z$IpV/$#0$!4M6s1r1Es5cHCrs&=i9)nppAbQ-8rC8V/5sR'+r&38"\Gu1X rVZ[@=1&#-pbL(ns)*be1]IFS[Sm/*A>fH/[/^0Z8cSE=rr<#,;Yg=n:lG>Q&7h^==1&#-_.*HE jZ`_:2#[4L!MsQ1rs;c6s8ToEs8V1ErVm)uS4`h]Y@W:bqYp`Dp@dt4c[Y~> "kVr/p%?B&rrGU.Xb6^fLL! 5PP0Y;p,+>#sRbVs'!#6s1h\6rs&"/GQ7\D^4H=\rrpI9p%.@uJ,~> "lJeCo^p#trrG@Nrr3JI2tm86p:4,is8P7RRUQ3q)+`9Ws#]uTs1)(rs8P7Rs#]uTs$u,Ls(]=G rs(dTs8QksTO[m!#t=(Xs#]uTs.Eltrs@g\c2Tm"s8QHMqu6[]m/?qbTO[m!!B^&TrrYCWS6>jk "&dC5CB"569%4SJe:p](8#bl=,?rr3!ieG9+F3qN@N%m9Rc488dT8)sXLC;9eA A,$!(7-X^N#s7n]s$u,Ls(]=Irs%UYc2[f4jamI.rrp:3o_7h3J,~> "jc)pp@cc.s"J_5r:\QP8H8^#VtDnfE:E;])nT)N,`s7f)^qu6]U7fNE%=1&#-_.*HEjZ`_=^\If19`P)cbP(r;l7q;tlNNGJ s.iURrr4KlD"7Pj]Dks>s8VaKoDe,1MuI%0rp)aGs8QW-s&ZT-s4L!Dra'sNlTS5BrrGrSrr3[C VuKi*s8ToEs8V1Es8R7Ync.mdr;QfV7fNE%=1&#-_.*HEjZ`_=^\If19`P)cbCT]irrp[@p@$nb J,~> "kVr/p%?B&s"Hpir:@p&EW?&)lKUV4s3ER`rBIOdeif#ms$#iMs6;iIs3ER`s$#iMs'!#6s1h\4 s!^Fds8VsYg.e+6rnl-'<6,%=54/CMr_8pZrnl,jdf',iHiH:ss8Sa6qu6[de,B:Qr_8pZrnl-' 54/@L%mfLZ6Dsh;3oKs&c2[2mNVi_VZu#aA'L(pas'!#6s1h\8mF(t3H$fSi4S/:H!m<[jrp2I> LAtA:8H8_h9q;(ZhpMHfmJm4O5Q1W.2<=^#YlE9;NW9#ElMj'8s8Sa6s8>0ds40>mq>UIXjSo/n 60eJ6mJm2i])VfGp%@q> f73~> "lJeCo^p#ts"H\&r9gsXV#UHWp7u:!s.hUFp,pe'[lW%=s#]uTs.j6*s.hUFs#]uTs$u,Ls(]=G s!^2!s8VLJm6J>_qU+a27HjdO488dTq`qgmqU+`BiVrRKcMp!#s8QHMqu6[]m/?qjq`qgmqU+a2 488aS%m9R[4N[W;3qDu,li5UIVoD\b( 4SJe:p](7`j8]-o^]40r]`%]Smem(cBu0fK'Kc'hs$u,Ls(]=K]&EY_;9o4:4SaR.qYp`9o^qnH hgb~> "jc)pp@cc.ru?;:0/cXgq#CA)VuNV_@rQ[Ns6sJVa*s&ZT,rt)%r@rQ[Ns&ZT-s1r1Es5cHA rrIC\rr3JX4o'dq3Dc@J[V,X?=1%u,')@5F3Dc@?@6-JSgAb6]s8UbDqu6\BC]+2fJ"D`9e;s8VV!=_+=+qu7N27I1!R=1&#-_.*HEjZ`_:@6-JSgAgM)p&>&d;#UCtlSJ>" /mePW#l00<3Dc@J=1%u,+/VJ:E-R<@n7"=VZrI)*A>fH/[/^0Z8cSh[@Q.;o<;HOp:lG>Q'P+-A =1&#-_.*HEjZ`_Eq1V!m:nR[c)#Qhgs8Q0-s8ToEs8V1Es7B_\4'UG=lp-.%q>UWCp@dt4c[Y~> "kVr/p%?B&ru=Kb2*P?BrVum`lMlT7Bo#7>s4UI>CjhKHs$#iLrt'o\Bo#7>s$#iMs'!#6s1h\4 rrGU!>2jpA[>Ds8Sa6qu6[de,94OnT6u\?crC4 mJd+r60eL0?p.,`s8UkT@qp@Mqu7N/55YB[54/CM>.Xb6^fLL!>!>2jpA`QHp&>%oM#I>Wc9D3J 1ogQT#k<"$5[V\654/@L+,3R*LdpJ*g/UIUI?OX160eJ6mJm3ZFT;Bp.Xb6^fLL8nT6u\?crUW=p%@q>f73~> "lJeCo^p#trrkVF3(%Dlrr4?.pASu5C8F,cs0bKhLJl_'s#]uTs8Hq>C8F,cs#]uTs$u,Ls(]=G rrG@Nrr3I6QI]V47;_Aj7HjdO488aS'%UVZ7;_@g;F![+qu8bPs8QHMqu6[]m/6khen%*8D%]cMdbHK3eM% 2W"H5/(S8s7;_Aj488dTrbkqSV*=MN[RiuE;V(mJ4SJe:p](8#bl@^O8OnP6f(o=H3qN@N'Kl*h 488dT8)sXLC;9fKen%*8DLd?Lo#\&q>UW8o^qnHhgb~> "jc)pp@cblrrKK8M>mV(A*s9sN3(A*!OQ;)rrKK8g&D*#A*s9sN3%U1q>UWCp@dt4c[Y~> "kVr/p%?AdrrHE7M>mUCW9sTc;WZ7)!F<2(rrHE7g&D)>W9sTc;WWK0q>UW=p%@q>f73~> "lJeCo^p#]rrGXMM>mTahrrGXMg&D(\hUW8o^qnHhgb~> "jc)pp@cbprrq]Gs5Z8XJcEXf"mY%Gj?(3Mrrq]Gs5Z8XJcE:\"jQc7n))HA~> "kVr/p%?AhrrpF4s3 "lJeCo^p#arrp(2s0"W^JcEXf"ha[2Y "jc)pp@cbprrh1L5!P9_s2+d=hFKgpPk4nXhFKgpP_&kErrp[@p@$nbJ,~> "kVr/p%?AhrrfAl6;P%@s2+d=X%#EO[e'M%X%#EO[XnIgrrpI9p%.@uJ,~> "lJeCo^p#arrdsA6=&>ss2+d=K0qt2g[kFJK0qt2gO]C7rrp:3o_7h3J,~> "jc)pp@cc-rrV]Dc[j?ublZ5FnFQY]nCl3>c/6bIce@lerrp[@p@$nbJ,~> "kVr/p%?B%rrVW=aaqLi`raB5mdpG[ma]F1a5=o=ajogXrrpI9p%.@uJ,~> "lJeCo^p#srrVQ7`IYn`_?.^)mIU>Zm*We'_V`33`R=.Prrp:3o_7h3J,~> "jc)pp@cc.rr_B3n,/mZ!:\nG!:]%K"8qW;jn8WUjjW\rU&P,^hu<]Gj8T5Zn'pHurrp[@p@$nb J,~> "kVr/p%?B&rr_9*mJN[X!:JbE!:JnI"8qQ4iq< "lJeCo^p#trr_0#lhmIV!:A\D!:AhH"8qK.i:[*PhoY3^U&P,[hu<]Dj8T5Zlc\4crrp:3o_7h3 J,~> "jc)pp@cc/rrV] "kVr/p%?B'rrVW5qk*lgmbe$Emc"0Iqp"R'rrVW5qk*lgmbe$Emc"0Iqp"Q/rrpI9p%.@uJ,~> "lJeCo^p#urrVT0qk*lgmGIpDmG\'HqoS7"rrVT0qk*lgmGIpDmG\'HqoS6*rrp:3o_7h3J,~> "jc)pp@cc/rrLjBT)Sf[hu<]Gi;WiGg@tUJg@(X5!:\nG!:\qH!Ue[Arrp[@p@$nbJ,~> "kVr/p%?B'rrL[;T)SfYhu<]Ei;WiEebB(Eea8t.!:JbE!:JeF!US@:rrpI9p%.@uJ,~> "lJeCo^p#urrLO5T)SfXhu<]Di;WiDdeEbBdHdD(!:A\D!:A_E!UJ16rrp:3o_7h3J,~> "jc)pp@cc/rrLIET)Sf[hu<]Gi;WiUd.dP@ci'I8!:\nG!:\qH!W: "kVr/p%?B'rrL7>T)SfYhu<]Ei;WiUb4ko:ao%b1!:JbE!:JeF!W:*?rrpI9p%.@uJ,~> "lJeCo^p#urrL+:T)SfXhu<]Di;WiU`V9B5`Vc>-!:A\D!:A_E!W9p:rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=7rr^A*#pK9I"T3BR&9%RJ"T3BR&9#Db!:\nG!:]OYs$Q>V!6t9 "kVr/p%?B'rrC+1rr[U%!`8jq"Sl"((mP%""Sl"((mMl:!:JbE!:KCWs%)\[!6=j6!6=^2"oMsQ "=L)Grri-s$5f$,rri-s$5f$,rri-s$5f#LrrDKErrDKWs8PX[rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq,rrZgY!P\O4"QV]N.)c,b"QV]N.)`t%!:A\D!:B=Vs%;h]!5eL1!5e@-"nGY, "ut*2rrhCG#:ROirrhCG#:ROirrhCG#:RO4rrDHDrrDHVs8P^]rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=7rr^`JU*9L8%BgZ2kT5W]s0!=%kT5VurrDQGrrDQYs8PIVrrC= "kVr/p%?B'rrC+1rr\Ol92PTe%9YmfdKnJ)s&hPYdKnIArrDKErrDKWs8PX[rrC+6rrC+2ruUuY bj:r'lMple55!>0fDkkR55!>0fDkkR55!>0f?4*nmbe$Emd^>W8Fc][a/].Ca7],skLY4~> "lJeCo^p#urrBq,rr\Iu*kqUQ%3p5sXp+:os!)mfXp+:2rrDHDrrDHVs8P^]rrBq1rrBq-ruU6[ e`V,\pAb.;Hi'rLn,ND4Hi'rLn,ND4Hi'rLn&kY1mGIpDmIC5V9(Do]_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=5rrKqZrr3K-(lSFo]H@1Q(lSFo]H>#j!:\nG!:]OYs$Q>V!6t9 "kVr/p%?B'rrC+/rrH4urr3K,#3,[_=A&Vl#3,[_=A$I1!:JbE!:KCWs%)\[!6=j6!6=O-)&C0j rrrpI9p%.@uJ,~> "lJeCo^p#urrBq*rrFCZrr3K%"7lKl,e3mJ"7lKl,e1_k!:A\D!:B=Vs%;h]!5eL1!5e1()%,O+ p&jmcs!5,Sp&jmcs!5,Sp&jmcs!5+srrDHDrrDHVs8P^]rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=5rrKqZrr3K&!:0[bi!o_\!:0[bi!mR'!:\nG!:]OYs$Q>V!6t9 "kVr/p%?B'rrC+/rrH4urr3Jq!;lfrZQ0#4!;lfrZQ-j^!:JbE!:KCWs%)\[!6=j6!6=R.)Y=3s s6Tg`s8TDFs6Tg`s8TDFs6Tg`s8TDFb5VJ0hu<]Enc/V[nc&U0WrE7Cp%@q>f73~> "lJeCo^p#urrBq*rrFCZrr3J7!<)rt6Z`:6!<)rt6Z^-E!:A\D!:B=Vs%;h]!5eL1!5e4))UJW[ s0D_(s8PH-s0D_(s8PH-s0D_(s8PH-b5VJ/hu<]Dnc/V]nc&U+WrE7>o^qnHhgb~> "jc)pp@cc/rrC=5rrKqZrr3#k!WN*%kR.@^!WN*"kR,3,!:][]pI"WR!:][]pI"WR!6t9 "kVr/p%?B'rrC+/rrH4urr3#^!WN*%b81-@!WN*"b8.tp!:KO[pIOuW!:KO[pIOuW!6=j6!6=U/ #5gMos8V6_rr3,E(B "lJeCo^p#urrBq*rrFCZrr3"f"TJE(93V@a"TJE%93T44!:BIZpIb,Y!:BIZpIb,Y!5eL1!5e7* #4`S2s8SMjrr3*o>5t#orr3*o>5t#orr3!l>0?jFmIgMR9(i2amIgMR9(i2a_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=5rrKqZrr3K&!:0[bi!o_\!:0[bi!mR'!:][]pI"WR!:][]pI"WR!6t9^Kh!:0[bi!o_\!:0[bi!o_\!:0[bi!mj/!:][]pI"WR!:][]pI"WR!6qPD"jQc7n))HA~> "kVr/p%?B'rrC+/rrH4urr3Jq!;lfrZlK,5!;lfrZlHs_!:KO[pIOuW!:KO[pIOuW!6=j6!6=X0 *;rQ/rr<#c!;lfrZlK,5!;lfrZlK,5!;lfrZlI6g!:KO[pIOuW!:KO[pIOuW!6;,>"ip "lJeCo^p#urrBq*rrFCZrr3J7!<)rt6Z`:6!<)rt6Z^-E!:BIZpIb,Y!:BIZpIb,Y!5eL1!5e:+ !qd[krr3b?!<)rt6Z`:6!<)rt6Z`:6!<)rt6Z^EM!:BIZpIb,Y!:BIZpIb,Y!5bc9"iBp(p[@!i~> "jc)pp@cc/rrC=5rrKqZrr3K-(lnXr^*!CS(lnXr^)t5l!:\nG!:]OYs$Q>V!6t9V!6qPD"jQc7n))HA~> "kVr/p%?B'rrC+/rrH4urr3K,#3>ga>>"qo#3>ga>=ud4!:JbE!:KCWs%)\[!6=j6!6=[1"8u(h rVlg4rrrpI9p%.@uJ,~> "lJeCo^p#urrBq*rrFCZrr3K$"7uQm-+O!J"7uQm-+Lhl!:A\D!:B=Vs%;h]!5eL1!5e=,"83sg rr2p5o`Ogcs!>2To`Ogcs!>2To`Ogcs!>1trrDHDrrDHVs8P^]rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=7rtYP-\fgbCs8T8AlKoaPs8T8AlKoaP_Z'W*hu<]Gnc/VVnc&U6p\t6^Ju)sZf6MZ<^[)sZf6MZ<^[)sZf6MTYr!nDF6GnF?PY6h10Vc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+1rtYG*"ip "lJeCo^p#urrBq,rtYA(,.RCHs8OrPOp\t3m,D,m%"n2Kk,D,m%"n2Kk,D,m%"n0V6!:A\D!:B=Vs%;h]!5bc9"iBp(p[@!i~> "jc)pp@cc/rrC=7rrC:A!!b(Ts86sL%W;:G"T3?P%W9,_!:\nG!:]OYs$Q>V!6t9 "kVr/p%?B'rrC+1rr@W8Fc][a/].Ca7],skLY4~> "lJeCo^p#urrBq,rr=_N!!gXGs5Z9K-H#i_"QVZO-H!\"!:A\D!:B=Vs%;h]!5eL1!5e@-!58:1 #MK.Wj?*_q_uBZ=j?*_q_uBZ=j?*_q_o_oYmGIpDmIC5V9(Do]_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC<7rrDQGrrDQYs8PIVrrC= "kVr/p%?B'rrC*1rrDKErrDKWs8PX[rrC+6rrC*1rrDKErrDKWs8PX[rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHVs8P^]rrBq1rrBp,rrDHDrrDHVs8P^]rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC<7rrDQGrrDQGrrC= "kVr/p%?B'rrC*1rrDKErrDKErrC+6rrC*1rrDKErrDKErrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBp,rrDHDrrDHDrrBq1rrBp,rrDHDrrDHDrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrLIDT)Sf[hu<]Gi;WiUd.dP@chsC7!:\nG!:\qH!W: "kVr/p%?B'rrL7>T)SfYhu<]Ei;WiUb4ko:ao%b1!:JbE!:JeF!W:*?rrpI9p%.@uJ,~> "lJeCo^p#urrL+:T)SfXhu<]Di;WiU`V9B5`Vc>-!:A\D!:A_E!W9p:rrp:3o_7h3J,~> "jc)pp@cc/rrLjBT)Sf[hu<]Gi;WiHg@tUJg@(X5!:\nG!:\qH!UnaBrrp[@p@$nbJ,~> "kVr/p%?B'rrL[;T)SfYhu<]Ei;WiFebB(Eea8t.!:JbE!:JeF!U\F;rrpI9p%.@uJ,~> "lJeCo^p#urrLR6T)SfXhu<]Di;WiDdeEbBdd*M)!:A\D!:A_E!UJ16rrp:3o_7h3J,~> "jc)pp@cc/rrV]?r1EuhnDF6GnDXBKr7(61rrV]?r1EuhnDF6GnDXBKr7(59rrp[@p@$nbJ,~> "kVr/p%?B'rrVW7qk*lgmbe$Emc"0Iqp4a*rrVW7qk*lgmbe$Emc"0Iqp4`2rrpI9p%.@uJ,~> "lJeCo^p#urrVT2qk*lgmGIpDmG\'HqoeC$rrVT2qk*lgmGIpDmG\'HqoeB,rrp:3o_7h3J,~> "jc)pp@cc.rr_B2meidY!:\nG!:]%K"8qW;k4S`VjjNSpU&P,^hu<]Gj8T5Zn'pL!rrp[@p@$nb J,~> "kVr/p%?B&rr_9*m/3RW!:JbE!:JnI"8qQ4j7WESim$ifU&P,\hu<]Ej8T5ZmEaglrrpI9p%.@u J,~> "lJeCo^p#trr_3#lhmIV!:A\D!:AhH"8hE-i:[*Pi5k6^U&P,[hu<]Dj8T5Ylc\4crrp:3o_7h3 J,~> "jc)pp@cc-rrV]Dd"0I!blZ8Gnalb^nCl6?c/6bId+\#grrp[@p@$nbJ,~> "kVr/p%?B%rrVW=b(7Uj`raE7n+6P\ma]I2a5=o=b1?$[rrpI9p%.@uJ,~> "lJeCo^p#srrVT9`IYn`_?.^)mIU>ZmF&t)_V`33`R=.Prrp:3o_7h3J,~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@cbnrrLeGmJd2nY0R%KlUUjLrrMFVJcC<$[/U "kVr/p%?AfrrJ[8mJd2OmEY_5b[LMJrrLAdJcC<$[/Uf73~> "lJeCo^p#_rrHHNmJd2LpWid>TTf6P!JA(:s+13Wrrp:3o_7h3J,~> "jc)pp@cc.rrW-P3r]-[a\ML.!PDt:rrD6Z/d!csVtT!I!F;f!rrW!jchdYCr^5q$s+13Xrrp[@ p@$nbJ,~> "kVr/p%?B&rrW!R9E+qlF+Nu`!FNY9rrC+:1]oZ5Wr:fS!C,rCrrV^VoD8IgrB0q-s+13XrrpI9 p%.@uJ,~> "lJeCo^p#trrV7?OoG@]:snq8!D2GIrr?p52?Q)=X8^uU!Bg)JrrUGAqYL3no0rV/s+13Xrrp:3 o_7h3J,~> "jc)pp@cc.rs/0P6e25:Mer%c!IC=1rs/Pups_J%q"`_F!rO_Do`"rZAbc9+P_=VfJcE.X"jQc7 n))HA~> "kVr/p%?B&rs.[M3q`OQ9$?l,!Cl>Irri;rq4:Oaq:tuOpGW!BrrHN*q#:@ghgtfYs0_k1a7],s kLY4~> "lJeCo^p#trs+is48]'X5jJ"A!C-8Nrs/Drq-L,tq>/nH!oH0?o`"q_h"^mM61TU,JcE.X"iBp( p[@!i~> "jc)pp@cc.ruL#]ZY9C=5-Y(e\ktIiirB%a:d:"%l2Ue!<&RS(qYpT+<;un+k "kVr/p%?B&ruJ@F@D2^?3:6bGT1V7bq>^GZ9LcKMqZ$Sj:-)tZqYpS%P5bIi``N2[;L_qFiLOFD \GlLLUJf73~> "lJeCo^p#truG[U8`g!K3;>XLo0s8PRKJcC<$[JpEI o^qnHhgb~> "jc)pp@cc.ruJsVks#.B0_bUf6/;I79`NF*i;JHhs8UD,ci1+;qYpS5FoMCfbuOeg1s#^124ad2 2uip(44!o07fULph#='Bs/Tl6s7&,Ls5HBErre"/rVkCGrrKZ,rr37WL&M#%s8T32JcC<$[JpET p@dt4c[Y~> "kVr/p%?B&ruGa:b#eW22uWc=@da25I/fUHmJ9jMs8SNck5C*QqYpR`fDbdsI$jq]5j&)k7`>>J 7fWLW;Wdq6D?#`-meq'Os&I/?s56KKs0lG9rrc$-s8:(f73~> "lJeCo^p#truFbaGGtPQ62pmqMYQj=b5Z+;q!C^ks8Qh^o(H2!qYpRZmf*55;qV+K@eKau:?2A% JH,XaIId)6^&MZ$q"7A(s$c2Ps+cX7s(B+GrrbX=s7Xt?rrGd?rr36if)PHns8PLJJcC<$[JpEI o^qnHhgb~> "jc)pp@cc.ruHK2rAWs+33rD1hs8Un=s8+jgs8VaNqu6`r0u3r`E_s8UeCs8U)Crr3$rIId77!EG6\rrQ#Fo)8RhAqkm:JcE.X"jQc7 n))HA~> "kVr/p%?B&ruFS]q)S;u8H8?CpAb0D9D:L?s8T*#s7SD=s8V@Rqu6`o2=^\G-;N:p:;?i/O_Ojq j@91C2spYFl:1G,pAb0D9E.6Bs8Sj3s8Qr6rr3$^XShqp!C#QCrrP "lJeCo^p#truF>lj$N]dM#Yslqu?\:Ph\P#s8QQ7s4KF,s8SsGqu6``2u3IQ-:72$6K\=J>.Xb6 Ndq)^3VWRRVLR)_qu?\:PlEl>s8QKKs8PjMrr3$\`VoZ5!B]oPrrP7#rVc`s4S"('JcE.X"iBp( p[@!i~> "jc)pp@cc/rsJ``_uH6Ocq"-$3r]-]j?Dljrr3,KO3r]-fj?EJpnc/X"@K6@_LAq2Uk&*(kh>R?Tr@ZY"rs@h*2JM"Ipb:t4J^'2! WrE7Ip@dt4c[Y~> "kVr/p%?B'rsJ]_nc)M6LMd(::B(7q^K8cUrr3+WPlK&gr_ihq=o84"kW8\B%m0=]47W@N=2b.= ZX*UW2uZ_X;H_:?rr3DA=8+WNs8QE7s8P[Mrr3,?ANYG9rVlrr2"gkJ$,pI rrpI9p%.@uJ,~> "lJeCo^p#ursJ?Wq>WhK"OnTrVlrc2Z*LR$*%0#P5P?o6iI%9_MuF4 rrp:3o_7h3J,~> "jc)pp@cc/rsJHSrVthETORr\4oYH`TOm%Err3+;FoUDcpAY0R3r]-jq(_jD1&_.PAYoG,```?# 5lCW_i][;@"/'5t2ZE^[>*T'e4k'?/!r.=OrVlrt0')s1"o*XRs2ml`s,?sXc)UdIc1^l"hp6f~> "kVr/p%?B'rsJ'Qs8TH<:UpG5;uZe)>dUh9s8W'bf)N'[pAY0*9`G%po/cpC3WB$a60eLMCngs9 >5\C$[T!2*$s^1%70!;d53DnE3;*4L!q&a\rVlrq2#7(L"n#'_s+k]Hs,?sXa/].Ca7],skLY4~> "lJeCo^p#ursGi%s8QcE6f\2Z[f6:78)e*es8VmXmf-n8pAY/-R/[*gbtA#\9)ehr4SJgT:>Gk] _>O<6B=@g>$qK47rRM3;`XR!o?3!rVlrc2Z_Y!Kpn)&W~> "jc)pp@cc/ruU>as8VmM9UYqQ1=H0;3:?5ic2=h!]DqFW`W,b]rVQTq`_?C30CLt%mlLLKrA!d@ s+c7,nhS2aq9f051=H0;3:?App]%]UirAs0g].<+f`1YaMu "kVr/p%?B'ruK*Qs8V[O46QY+4R;s@9)IF+lM$>rn,MB1hZ*8eqYpS7HN*pthFmn*9E5%f2Z3UT 8`9X.4l653`;es^li!SNqrC'Arg#G;s7nMEs8T4bs6<&*r;R0hnGiNjkl9p:f^q;rJcC]/!6;,> "ip "lJeCo^p#uruH!Fs8U;=3q`NI "jc)pp@cc/rrL>;rr3gc0BiH9]gOngf)Pc@2aMmHqZ$T/9K,.SqYpSOBE%o:fh)4s8cSh_2ZE^l 5LBH1]hC@KE<#sO6on]+s8IX6@$WYKrs5A[56%ZR2*QfmrsQGWs8T,i2*QfqUMYS^MuNe%WrE7I p@dt4c[Y~> "kVr/p%?B's8REErtn6`qZ$S`5XBP_s8IC+8XML:s8SW[5"UD'rrG^2rr417FoS(Vs8V7Ns8W'X p&G&_7m9Lss8SKP6$;_trFo&@X?cdb#^ea(s+!R&9r7ae$Ymf`s+!R&9r7l+Vh+l+rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrH$Crr3Np3;rmWIm6D\q>^A(4&htCrr3+S69nGCqYpR]kPkK*?d/OWbl@^5GlRg@ 3;W[TKL.q%UAt7C5=US,s7KDsD3\]3rs31$>lSb16!D;*rsMNbs8R%*6!D;.9\G!sMuNdoWrE7> o^qnHhgb~> "jc)pp@cb%rrM^TqYpWU9`BVCMuNe%WrE7Ip@dt4c[Y~> "kVr/p%?@rrrM+^qYpT*G_,mPrrC*>rrpI9p%.@uJ,~> "lJeCo^p"krrJmhqYpSKW.Fu+rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=7rrHZ.JcDqR!G&+grrHZ.p&>&'VmQI(c)UdIc1^l"hp6f~> "kVr/p%?B'rrC+1rrGFNJcDqR!C?#2rrGFNp&>%YlEpQka/].Ca7],skLY4~> "lJeCo^p#urrBq,rrG7UJcDqR!Bg)9rrG7Up&>%Tp9ai"_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@rsF$(0/ZObp](9-g4B:Zrrm[#/i?tho`"quVs43^A>fA*$1)@b3)cROs'DVt rrHH(rr3#5gA:gM?Dmf&!P[9prrC "kVr/p%?B'rrC+:rsD4P2*P<@rVuo$pOWA"rrkkK1d6$So`"qVlKS6=SUIs$,fC rrG@Lrr3#&p\Omj5O/7J!O)7)rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rsCtK3(%Dkrr<##r.4n'rrkVF2FiZ%o`"qSp?DSX4SJ^Q$*dJj7rRnss#g#L rrG7Urr3#$r;-Eo4SJdS!Nl:,rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rs!a`r:SEJ8a?UJ%Vs43^A>fD+$N3JAnFtD4 s8QE'p\t8#VtL&j?Dk",!6qPD"jQc7n))HA~> "kVr/p%?B'rrC+:rrts?r:7`uEpEZ)rIP"r9.$qrVllrq>UI[lKST s8P=Kp\t7YlLk/X5O,HP!6;,>"ip "lJeCo^p#urrBq5rrt^Qr9UaTV<\'\q18S8rrkXPr7OHOrVllnq>UIXp?DSX4SJaR$L9^kqs:f] s8P4Tp\t7Vp@\Fd4SGuY!5bc9"iBp(p[@!i~> "jc)pp@cc/rrC=@rrIC\rr4MD1St+^VuO;(3CBP@s7'SYfI17QWu3`AB_JFoQ!Ms7h+-3b/3iY!tK?U;?j0c)UdIc1^l" hp6f~> "kVr/p%?B'rrC+:rrGUI4B0B$s$"4q4H&`? 3bJ5?s"6dis8T8ns$!_p:B0B`4\N!YC,S[Y_uJe+4\N!Ys6ahi6@&V2jC(2EYQ+VglM^_am5=k? s"8%E8km5'N_;K6a8]m48km5'60eK36UFW7C,S[Y_uE$fs6ahi6@&V2O@)?2lG "lJeCo^p#urrBq5rrG@Nrr4Ld2tm86pA]P24_3gWs0tZkLf;h's#Z]U>lT4B4_3gWs#[&L6aP3@ 4G3Tas"6P&s8QYbs#Z]U>lVZA5?ZM9>W5DQkPrD"5?ZM9s3Y:?8>6(`_H&m(eGoP2pAP!mZT.s^ s"7P8:/:!PI7HG2l2P!I:/:!P4SJf"6UFuM>W5DQkPm[6(`GXFf$p;-b/_Q*V>_Y!Kp n)&W~> "jc)pp@cc/rrC=@rrIC\rVn?r?N4Q6s1m^qe1pCj@!_e;5#VF\=%;o`s1m^qe1pCk=%_ZN:ghKF OBmJf&Wj8\Vqs'DW&rsiS;s)VT;rRCl>2<4`+d)#_^c)UdIc1^l" hp6f~> "kVr/p%?B'rrC+:rrGU5)oUB5&L8us/PJd]/oih5%aKT4BLS? =JpcN/k4=iqd*h55&L8urBd:YffJ-m5O/:KrBd:YffJ-l8sB,Ja8c*)U]/q-ir;=0rVm#u5(UiG rVlm_lMgehWpThu3rAqAlMgej60d]$o`+(Hs$,fJrsh?[r^rCNqT&X#6M1 "lJeCo^p#urrBq5rrG@NrVn?3i;Yq5s0q\"P#)&M4OO2<3n4304/)ZPs0q\"P#)&V4-f`o3c+BW 7GWRq/jJ_&mmjke4/)ZPpcZXs]K>]a4SJgTpcZXs]K>]]5e$^cc2[Q%`rE\5o)CiGrVm#h4.+Il rVlm\pAY't\+T]_:]:;UpAY(!4SGLfqu>=Fs#g#Srsh0bq`qXhp_Y!Kp n)&W~> "jc)pp@cc/rrC=@rrIC\rVm"ps8TN*s8Q/_qYpt=T`8)Ws8TK-s8V%EK)Zs= 1dO/pbPtY+s8V^Hr;Zf<9E/=rs8V^Hr;Zf<9Ct"7rVm2r1Aq1Pa@lPDVu6Q$p5rrVlun1:d+nrrC "kVr/p%?B'rrC+:rrGU4jEs)rrG@Lrr3*elKCA/rVluc4jEr?rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rrG@NrVm!ffDdu,r;Qj^p6oFhrrksCs8P1PqYpsepA[5Gs8PO?s8Q]LK)Z6D 7n>X`q>WPJs8STkrr37%c2Tp"s8STkrr3'uc(J)7rrJWlrr3+!c2Tp"r;R)MGY0uGq#C@VpA4dl 4nen\[rkJI5_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@rrIC\rVm=V?N4Q6s3"_97lZIr3WB$^cVjfC=1%u,&BeBI7lZJ-=1&#-_.*HE jZ\:r"*nJEo)AXm=1&#-ml:=H#i%WD?Dmi'ml:=H"5H*/3;idWml:=H"Pc3@A>f8'#5FEFs8QE' rr38I?:.4BN;m4^rr3=9VuOeI2.P>>?Dmf&"(\=u3;`^Ya($u:ftm[gc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:rrGU.Xb6 ^fH'e"%L5rp&=sp54/CMhFRYG#cC`'5O/:KhFRYG"/f2V8,WAfhFRYG"K,<#60e:G#4?;+s8P=K rr38)=\;CHjo7R1rr3 "lJeCo^p#urrBq5rrG@NrVm_Y!Kpn)&W~> "jc)pp@cc/rrC=@rrIC\rr4MD1St+^Vt`$ks8QtpoJ?LHs0bi*s&ZT-s7e@ns8Qtps&ZT-s1r1E s5cFrrrIC\r;RX9[/^0u1Aq1Pa\2Y?VZ6\g1Aq1Pa\27]q>L="oJ6@Es2dq6A>f5&&b%OTs'DT& s7e@ns8Qtps'DT%rrHZ.rr3/uS4`ffVZ-SuA>f&Tq>1*mqOC0orrC "kVr/p%?B'rrC+:rrGUrrpI9p%.@uJ,~> "lJeCo^p#urrBq5rrG@Nrr3JI2tm86p:4,is8P7RRUQ3q)+`9Ws#]uTs1)(rs8P7Rs#]uTs$u,L s(]<#rrG@Nr;Qp^p](8`=oSF,;U,5(pAb/_=oSF';U(n9r;Qef=oSF(;U,5(pA"Y"Io?=H4SJgT \Pqqrs#ouR4SJdS!Bg)TrrqOXc2Tp"rr3'_p7YO_rrV=Uc,'D[_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@s"J_5r:\QP8H8^#VtDnf1:q#7Bhs*f=orsiS;s)MW?rRClA^\If19Yp`/c)UdIc1^l" hp6f~> "kVr/p%?B'rrC+:s"Hpir:@p&EW?&)lKUV4s3ER`rBIOdeif#ms$#iMs6;iIs3ER`s$#iMs'!#6 s1hZerrGU9^rnBKls$>rKrtb0mi;DhR =o\LlcN!q05Q1W.2<=d-cMmhN60djcrV_"gs$tB6rsh?[r^iFQqoJg)df',iHbo^^a/].Ca7],s kLY4~> "lJeCo^p#urrBq5s"H\&r9gsXV#UHWp7u:!s.hUFp,pe'[lW%=s#]uTs.j6*s.hUFs#]uTs$u,L s(]<#rrG@Nr;S-+p](9f4N[W;3qE;8li7"Z4N[W;3qE/5\c)6Is7\Xts1UPbs#g#Rrt`_WkPa1. T)\gTli7!\AcD_*2tR&6li-nk4SHAFrqB:8s$,iKrsh0bq`q^jp_Y!Kp n)&W~> "jc)pp@cc/rrC=@ru?;:0/cXgq#CA)VuNV_@rQ[Ns6sJVa*s&ZT,rt)%r@rQ[Ns&ZT-s1r1E s5cFrrrIC\r;Qe![/U(LoPZZNN;rq;8igegoPZZNN;rqQIQBN"s8V_02a!'!s(&&+s#0e39eeP9 eGoR.8igegVF>!6G`2U]8igegA>f'.3]gR"s5HX3D#\%Ds7h%(3b/3^@6-JSg;3dhc)UdIc1^l" hp6f~> "kVr/p%?B'rrC+:ru=Kb2*P?BrVum`lMlT7Bo#7>s4UI>CjhKHs$#iLrt'o\Bo#7>s$#iMs'!#6 s1hZerrGUrKs#0Y&8N&kX nc/Wu7R4]fL/2N>7caTY7R4]f60dZ;5!X)\s0kH_^AgLas6XYd6@/[q>!>2jp;-b/a/].Ca7],s kLY4~> "lJeCo^p#urrBq5rrkVF3(%Dlrr4?.pASu5C8F,cs0bKhLJl_'s#]uTs8Hq>C8F,cs#]uTs$u,L s(]<#rrG@Nr;QdZp\t1:^f3O#dJs6-6UKr8^f3O#dJs6n?U%)Vs8Tl65?Q>5s#g#Rs#/bV76!nt q>^JU6UKr7DcphO54ef86UKr84SG[N5XgJ*s,TN6k5RR;s3P+;8>H3_;F![+qn`:4_Q*V>_Y!Kp n)&W~> "jc)pp@cc/rrC=)rrKK8JcC<$_#FDZWrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+#rrHE7JcC<$_#FDTWrE7Cp%@q>f73~> "lJeCo^p#urrBpsrrGXMJcC<$_#FDOWrE7>o^qnHhgb~> "jc)pp@cc/rrC=-rrq]Gs5Z8XJcC<$_#FDZWrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+'rrpF4s3f73~> "lJeCo^p#urrBq"rrp(2s0"W^JcC<$_#FDOWrE7>o^qnHhgb~> "jc)pp@cc/rrC=-rrh1L5!P9_s+13brrC "kVr/p%?B'rrC+'rrfAl6;P%@s+13brrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq"rrdsA6=&>ss+13brrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=?rrV]Dc[j@&blZ5FnFQY]nCl3>c/m1Oce@mbrrC "kVr/p%?B'rrC+9rrVW=aaqLo`raB5mdpG[ma]F1a5t>CajohUrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq4rrVQ7`IYnf_?.^)mIU>Zm*We'_WAW9`R=/MrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rr_B3n,0*`!:\nG!:]%K"8qW;jn8WUjjW\rVuHbdhu<]Gj8T5Zn'pIrrrC "kVr/p%?B'rrC+:rr_9*mJNm^!:JbE!:JnI"8qQ4iq< rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rr_0#lhm[\!:A\D!:AhH"8qK.i:[*PhoY3^VuHbahu<]Dj8T5Zlc\5`rrBp9 rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrV] "kVr/p%?B'rrC+;rrVW5qka;mmbe$Emc"0Iqp"R'rrVW5qka;mmbe$Emc"0Iqp"R,rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrBq6rrVT0qka;mmGIpDmG\'HqoS7"rrVT0qka;mmGIpDmG\'HqoS7'rrBp9rrp:3 o_7h3J,~> "jc)pp@cc/rrC=ArrLjBV#LGahu<]Gi;WiGg@tUJg@(j;!:\nG!:\qH!Ue\>rrC "kVr/p%?B'rrC+;rrL[;V#LG_hu<]Ei;WiEebB(Eea914!:JbE!:JeF!USA7rrC*>rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrLO5V#LG^hu<]Di;WiDdeEbBdHdV.!:A\D!:A_E!UJ23rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrLIEV#LGahu<]Gi;WiUd.dP@ci'[>!:\nG!:\qH!W:=BrrC "kVr/p%?B'rrC+;rrL7>V#LG_hu<]Ei;WiUb4ko:ao%t7!:JbE!:JeF!W:+rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrL+:V#LG^hu<]Di;WiU`V9B5`VcP3!:A\D!:A_E!W9q7rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=6rsQq+#9&a)s87!N&9#>`!:\nG!:]OYs$Q>V!6t9 "kVr/p%?B'rrC+;rrC+0rsPGF"XW:1s7oV$(mMf8!:JbE!:KCWs%)\[!6=j6!6=X0$_J^K-0>1, q,@\W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq+rsO5l#W2/Qs5Z_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=7rsdrmU[6XHs8T8?jldbC_#FE(hu<]Gnc/VVnc&U6p\t6 "kVr/p%?B'rrC+;rrC+1rsc=F^@0>8s8Q4cp!O,t_#FE&hu<]Enc/V[nc&U0p\t66o)B0+%_hDV n,NDj55!>0f>.Cdmbe$Emd^>W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq,rs`d$dHeL@s8O_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=7rrH5)r;R!#(lSFo]H=rh!:\nG!:]OYs$Q>V!6t9 MuWgi+2ImVnDF6GnF?PY6h10Vc2@SAc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;rrC+1rrEkGr;R!"#3,[_=A$C/!:JbE!:KCWs%)\[!6=j6!6=[1!>W3Drs&E+ irB$\9#1H,mbe$Emd^>W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq,rrEJer;Qup"7lKl,e1Yi!:A\D!:B=Vs%;h]!5eL1!5e=,!=Ilbrs&0! o)J_8\A8+EmGIpDmIC5V9(Do]_YjE6_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=8rsno+QmW83mJln\li7"C%D_uDnDF6GnF?PY6h10Vc1h5 "kVr/p%?B'rrC+;rrC+2rsn`&M\cq6qu?$`qu?]&*5MRSmbe$Emd^>W8Fc][a7oT6a7K<@p&L!e &7YP:m/[%`s0E]\rrDKErrDKWs8PX[rrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rsm]^C(M89rr9;)rVumbF27eUmGIpDmIC5V9(Do]_Y='1_Xmd;f`5au )2/"hZN0t(s$LkCrrDHDrrDHVs8P^]rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=8rsAE"(YSOj0)tPErr3#_$GcZAnFchU6hUHZnFchU6hUHZc1h5 "kVr/p%?B'rrC+;rrC+2rsA&m2rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rs?%4DY;Qk`;c8/rr3!l>/:. "jc)pp@cc/rrC=ArrC=8rsnl*B)hnl$ifr$li7"C%D_uDnFchU6hUHZnFchU6hUHZc1h5b.-s5XRfpAjOZs54@%rrDQ]s7\nRrrDQ]s7\nRrrC=ArrC "kVr/p%?B'rrC+;rrC+2rsnW#f)Pcb(]Wk&qu?]'*5MRSme-VS8G2u_me-VS8G2u_a7oT6a7K<@ o)RAAs1]BMm/[%`s0Nc]rrDK[s7](WrrDK[s7](WrrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rsm9RmJm2X?2q52rVumbF27eUmIgMR9(i2amIgMR9(i2a_Y='1_Xmd; blI/2s%-MrZN0t(s$LkCrrDHZs7].YrrDHZs7].YrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=7rs^Jks8V0gs8Ejqs8TeT_#FE(hu<]Gnc/VVnc&U6p\t6 "kVr/p%?B'rrC+;rrC+1rs]@fs8TkNs8W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq-rso#3mJm2X?2sR"oDeh:\A8+EmGIpDmIC5V9(Do]_Y='1_Xmd;rWV]h s%-Mro`Ogcs!>1jrrDHDrrDHVs8P^]rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=7rscg\hYC\8s8T8AlKoaP_#FE(hu<]Gnc/VVnc&U6p\t6ejt 0E;'U)sZf6MST5lnDF6GnF?PY6h10Vc2@SAc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;rrC+1rs`p,n*_TCs8Q1hpt#i(_#FE&hu<]Enc/V[nc&U0p\t66o)B/<3:H;_ EW?&@7/5@?f>.Cdmbe$Emd^>W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq,rs^W%ptHA!s8O_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=7rs\m['FIG$s8W"=%h "kVr/p%?B'rrC+;rrC+1rs\g7$k?hGs8Vmn$5\o@rrDKErrDKWs8PX[rrC+6rrC+1rs\g7$k?hG s8Vmn$5\o@rrDKErrDKWs8PX[rrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq,rs\Be#T/ "jc)pp@cc/rrC=ArrC<=rrDQGrrDQYs8PIVrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKWs8PX[rrC+6rrC*7rrDKErrDKWs8PX[rrC+;rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHVs8P^]rrBq1rrBp2rrDHDrrDHVs8P^]rrBq6rrBp9rrp:3 o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrLIDV#LGahu<]Gi;WiUd.dP@chsU=!:\nG!:\qH!W:=BrrC "kVr/p%?B'rrC+;rrL7>V#LG_hu<]Ei;WiUb4ko:ao%t7!:JbE!:JeF!W:+rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrL+:V#LG^hu<]Di;WiU`V9B5`VcP3!:A\D!:A_E!W9q7rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrLjBV#LGahu<]Gi;WiHg@tUJg@(j;!:\nG!:\qH!Unb?rrC "kVr/p%?B'rrC+;rrL[;V#LG_hu<]Ei;WiFebB(Eea914!:JbE!:JeF!U\G8rrC*>rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrLR6V#LG^hu<]Di;WiDdeEbBdd*_/!:A\D!:A_E!UJ23rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrV]?r2'DnnDF6GnDXBKr7(61rrV]?r2'DnnDF6GnDXBKr7(66rrC "kVr/p%?B'rrC+;rrVW7qka;mmbe$Emc"0Iqp4a*rrVW7qka;mmbe$Emc"0Iqp4a/rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrBq6rrVT2qka;mmGIpDmG\'HqoeC$rrVT2qka;mmGIpDmG\'HqoeC)rrBp9rrp:3 o_7h3J,~> "jc)pp@cc/rrC=@rr_B2mej!_!:\nG!:]%K"8qW;k4S`VjjNSpVuHbdhu<]Gj8T5Zn'pLsrrC "kVr/p%?B'rrC+:rr_9*m/3d]!:JbE!:JnI"8qQ4j7WESim$ifVuHbbhu<]Ej8T5ZmEahirrC*> rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rr_3#lhm[\!:A\D!:AhH"8hE-i:[*Pi5k6^VuHbahu<]Dj8T5Ylc\5`rrBp9 rrp:3o_7h3J,~> "jc)pp@cc/rrC=?rrV]Dd"0I'blZ8Gnalb^nCl6?c/m1Od+\$drrC "kVr/p%?B'rrC+9rrVW=b(7Up`raE7n+6P\ma]I2a5t>Cb1?%XrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq4rrVT9`IYnf_?.^)mIU>ZmF&t)_WAW9`R=/MrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/s+/FGc(E7\rrp[@p@$nbJ,~> "kVr/p%?B's+/4Aa.LDPrrpI9p%.@uJ,~> "lJeCo^p#us+/%<_On]Frrp:3o_7h3J,~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@cc&rrHH/q#:A%X7?2j?EVTR!p`ARqu6]_8:gels/uA*c1^l"hp6f~> "kVr/p%?AsrrG@Oq#:@[m.()V5OHbr!mG*Pqu6]AFFjICs/uA*a7],skLY4~> "lJeCo^p#lrrG7Vq#:@Wp@8.`4SR/$!MGYQrrIbcJcC<$Y5\[Bo^qnHhgb~> "jc)pp@cc.rrW*Nd/ "kVr/p%?B&rrVpOp&4mlri5qmrrW!Sr;-Ena87[q2Z'NQhZ!U@m.C;ZnNldCrrW-]qLSZts0)G+ a7],skLY4~> "lJeCo^p#trrV(9qYgEqr2]hmrrV7DrqcWpD>Q3n4Su2YhZ!U=p@S@dbu"95rrVd\rIP!"s0)G+ _Y!Kpn)&W~> "jc)pp@cc.rrM^Hnc&X^2>R7WrqQ9<4o"gJh#@HR0D+o:!LRHnrrJ@;JcC<$YQ"dNp@dt4c[Y~> "kVr/p%?B&rrM1Dnc&XP7/?icrV?8\;uZUJrrVpQrUg*j@&Nf"!DMC%s+13RrrpI9p%.@uJ,~> "lJeCo^p#trrJ6anc&WYG5;.CqYBqnX82Sfh#@H54oY*R!D)#@rrGFVJcC<$YQ"dCo^qnHhgb~> "jc)pp@cc.rrLq;r;RAl56'_.P[$A "kVr/p%?B&rrK2tr;RAK=9$*;JR:jds8TZ7s8.1dqYU9n?'>3e%)uBK`_q:k9];OO6+Hpo*huIk AbH*'T1V7bq>ZY/s8VaOrpiW>9i(cQBgP$sr;R5`55bH\l"NIKBE/!4\Ujd3s0)G+a7],skLY4~> "lJeCo^p#trrHW,r;R@G[/Xm7FBVT-s8QcDs6j3ZrVQTq8Cme?/o@uqD4PcJ?h&kY9B?-Qrf'E2 IJa'CM+0afrVp'Js8UM;s2dGl:0IV<>XLo0r;R4r>lOd'aBV)#JH,X=j+75]s0)G+_Y!Kpn)&W~> "jc)pp@cc.rrKl2r;R>Q "jc)pp@cc/rrW0W\,?789#CTu_#OGa9`P,\;.'+u!q\5Grr3L$_Z*6Es8T?:s8V"Cs6DB<:'43] l8nqE%-0VM0Cf)B\RGO "kVr/p%?B'rrW*Vmem(o47W>3nc/WPIK0=.6)=;U!U)TCrsq3]s#]cNs&[/=s0H#2cSti%"&`:I :B(8%^K:.fr;Ze'\,ZJ"ir8r\`FV/\p\k*nq_\!Frs?YU4F[&)ml1+CJ]EPdWrE7Cp%@q>f73~> "lJeCo^p#urrVaMq#(.$3ViY7q>^IuciD. TDnj!BsZSWrr]/8Ws#O^-hl!J\m2ZWrE7>o^qnHhgb~> "jc)pp@cc/rrVjIq>L=(q(_jD1&V(OX(_P/1%Rl=q>UKU3r]-jq(_jD1&_.PAYoG,```?#5lCW_ i][;@"/'5t2ZE^[>*T'e4k'?/!r.=OrVlrt0')s1"o*XRs2ml`s+^ORc)UdIc1^l"hp6f~> "kVr/p%?B'rrVIFrr)j-o/cpB3WB'YUK-9`G%po/cpC3WB$a60eLMCngs9>5\C$ [T!2*$s^1%70!;d53DnE3;*4L!q&a\rVlrq2#7(L"n#'_s+k]Hs+^ORa/].Ca7],skLY4~> "lJeCo^p#urrK,fr;QoE9)m%+rr33lkl8^s^.7birrHi$rr3,G9)m..rr36dpAb.fh#D!&r;Qe1 [f6:88)fhYs8VpWo`+eJqu$HqhE]rrrrVOFrVZ[!hE]rto^qnHhgb~> "jc)pp@cc/rrM7ArqH]ns6i#KmlLIJ#[OG0mlLL32UqU'!QIh4s"Eh%s6i#Ks8=\@s8Rk,s7.qa s7t(@oJ4ko^c:cR2#%$Z0B3$10&-F+f\$5tE/XYo$rt"@s4H!(p2Grd6,nKULAq7uWrE7Ip@dt4 c[Y~> "kVr/p%?B'rrL)1rV6WshFmn)9E+qs5O8@)9E2ssp%n[hDgME_0A]A%hFmnKq)80Ns%2/Ki]Z/u ou-mm4R;s@9)I[8rVi*?q>^7Ip&G&okl9p:f_kaX54JUPXm#fM7G.5pnU^^prrC*>rrpI9p%.@u J,~> "lJeCo^p#urrHqnrV6WsK9cIgPlC[g4SJf+Q2d.YqYL3m: "jc)pp@cc/rrC:A/e^,Bfh)4s8cShg0D#4s8cSh74Rr=K!Jb=ers7:Ls4L!Ds7A5Krt[iGs8Tc+ 2a23\s1Lf]?e58VK0 "kVr/p%?B'rr@BD1_W4UT6:1+FoVL92ZL9#CkA0JcCH(!6;,>"ip "lJeCo^p#urr>sq2A:$/?d/OVbl@_#4oYIfbl@]ZKDtcJ!C5iIrutgos'O"Ms."?6s8+ePs8Ra= 5Z4?Vs*m7&Mu!DG "jc)pp@cb+rrM^TqYpWU9`BVCL&V.tWrE7Ip@dt4c[Y~> "kVr/p%?A#rrM+^qYpT*G_,mJrrC*>rrpI9p%.@uJ,~> "lJeCo^p"qrrJmhqYpSKW.Fu%rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=7rrHZ.JcEXf!G&,$rrHZ.Jc>cNc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+1rrGFNJcEXf!C?#DrrGFNJc>cNa/].Ca7],skLY4~> "lJeCo^p#urrBq,rrG7UJcEXf!Bg)KrrG7UJc>cN_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@rsF$(0/ZObp](9-g4B:ZrsA%+2`Oa1s8QE'p\t8#VuH\s^=rG`!FD]'rrKjf Jc>cNc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:rsD4P2*P<@rVuo$pOWA"rs@%Y3^R<.s8P=Kp\t7YlMgeaYP7nn!C,lKrrK=t Jc>cNa/].Ca7],skLY4~> "lJeCo^p#urrBq5rsCtK3(%Dkrr<##r.4n'rs>r13Ce#Ws8P4Tp\t7VpAY'mXo/%q!Bg)TrrK8" Jc>cN_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@rs!a`r:SEJ8a?rsJ]pHgpdYX8i3+Vt^2l?DmJr!FD[Ts82frc)UdI c1^l"hp6f~> "kVr/p%?B'rrC+:rrts?r:7`uEpEZ)rIP"=rsJT`Wqc,'fDkk8lM(;Z5O.qA!C,k#s82fra/].C a7],skLY4~> "lJeCo^p#urrBq5rrt^Qr9UaTV<\'\q18S9rsJ'P`V]#2nGiMNp@nRf4SJIJ!Bg(,s82fr_Q*V> _Y!Kpn)&W~> "jc)pp@cc/rrC=@rrIC\rr4MD1St+^VuO;(3CBP@s7'SYfJ&J3>r's8T5k4%#a% rrC "kVr/p%?B'rrC+:rrGUI4B0B$s$"4q4H&`? 3bJ5@rrVRFrVZ[JC,S[Y_uG`i4B0B$C,S[Y_uE$fs,]T7;!MdR8km5'60eLrrpI9p%.@uJ,~> "lJeCo^p#urrBq5rrG@Nrr4Ld2tm86pA]P24_3gWs0tZkLf;h's#Z]U>lT4B4_3gWs#[&L6aP3@ 4G3TbrrTMdrqudK>W5DQkPos#4_3gW>W5DQkPm[4u2[:/:!P4SJg&@R!DWs8R=26 "jc)pp@cc/rrC=@rrIC\rVn?r?N4Q6s1m^qe1pCj@!_e;5#VF\=%;o`s1m^qe1pCk=%_ZN:ghKF OBmM="T;>)^$#@o!FD]'rs6F$s3rdks'DW&rsE;7oJP\/nBh2AVuH]+A>fHK@.=-Es7A2/s7"Bp rrC "kVr/p%?B'rrC+:rrGU5)oUB5&L8us/PJd]/oih5%aKT4BLS? =JpfO"T1H7amo?0!C,lKrs5Xls1:>hs$,fJrsD'WksG%Bk4Sa=lMgen60eGAPPY-rs62lBs5s!6 rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rrG@NrVn?3i;Yq5s0q\"P#)&M4OO2<3n4304/)ZPs0q\"P#)&V4-f`o3c+BW 7GWUr"ReF>deWkA!Bg)Trs6+,rK9tTs#g#SrsCm^U2Tr/f_YV1pAY(%4SJY;\,H$Fs.XH/s4I1- rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rrIC\rVm"ps8TN*s8Q/_qYpt=T`8)Ws8TK-s8V%EK)Z/N O]4&4bl@]LVu$DrC7tT5VuH]"A>f,V\b?%&!FD]'rrcl1oJ64?rr_sM\b:s]!6qPD"jQc7n))HA~> "kVr/p%?B'rrC+:rrGU"ip "lJeCo^p#urrBq5rrG@NrVm!ffDdu,r;Qj^p6oFhrrksCs8P1PqYpsepA[5Gs8PO?s8Q]LK)Z/( GY0uGq#C@VpA4dl4nen\[repdV_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@rrIC\rVm=V?N4Q6s3"_97lZIr3WB$^cVjfC=1%u,&BeBI7lZJ-=1&#-_.*HE jZ\7qs8N;uPW]!G?Dmf&#g6OA7lZJ-?Dmf&$=p(7a($u:g&GBVrr3(2VscVBrrgAP2.P=!rrC "kVr/p%?B'rrC+:rrGU.Xb6 ^fH$ds8N;kCfCB65O/7J#ch*#9fD,55O/7J$:3tWX'@`2p&@8Arr3'dlJ>&.rrfB-4*^FXrrC*> rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rrG@NrVm_Y4SJdS#a81]:,qkF4SJdS$9\%^PuC24qu8ePrr3'_p325frreTc7udD*rrBp9 rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rrIC\rr4MD1St+^Vt`$ks8QtpoJ?LHs0bi*s&ZT-s7e@ns8Qtps&ZT-s1r1E s5cFqs8N$1n1jtC?Ddc&pbL(ns)*bp?Dd`%!G&,-rrr7h9)i4prr3+3Vt;b?qYpWnS4\e@!6qPD "jQc7n))HA~> "kVr/p%?B'rrC+:rrGU "ip "lJeCo^p#urrBq5rrG@Nrr3JI2tm86p:4,is8P7RRUQ3q)+`9Ws#]uTs1)(rs8P7Rs#]uTs$u,L s(]<"s8N$1Io?=H4SJgT\Pqqrs#ouR4SJdS!Bg)TrrqOXc2Tp"rr3'_p7YO_rrV=Uc&M`'_Q*V> _Y!Kpn)&W~> "jc)pp@cc/rrC=@s"J_5r:\QP8H8^#VtDnf1:q#7Bhs*f=orsiS;s)MW?rRClA^\If1 9TB&Pc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:s"Hpir:@p&EW?&)lKUV4s3ER`rBIOdeif#ms$#iMs6;iIs3ER`s$#iMs'!#6 s1hZfrtb0mi;DhR=o\LlcN!q05Q1W.2<=d-cMmhN60djcrV_"gs$tB6rsh?[r^iFQqoJg)df',i H]A%*a/].Ca7],skLY4~> "lJeCo^p#urrBq5s"H\&r9gsXV#UHWp7u:!s.hUFp,pe'[lW%=s#]uTs.j6*s.hUFs#]uTs$u,L s(]<$rt`_WkPa1.T)\gTli7!\AcD_*2tR&6li-nk4SHAFrqB:8s$,iKrsh0bq`q^jp_Y!Kpn)&W~> "jc)pp@cc/rrC=@ru?;:0/cXgq#CA)VuNV_@rQ[Ns6sJVa*s&ZT,rt)%r@rQ[Ns&ZT-s1r1E s5cFss#0e39eeP9eGoR.8igegVF>!6G`2U]8igegA>f'.3]gR"s5HX3D#\%Ds7h%(3b/3^@6-JS g5Z+4c)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:ru=Kb2*P?BrVum`lMlT7Bo#7>s4UI>CjhKHs$#iLrt'o\Bo#7>s$#iMs'!#6 s1hZfs#0Y&8N&kXnc/Wu7R4]fL/2N>7caTY7R4]f60dZ;5!X)\s0kH_^AgLas6XYd6@/[q>!>2j p5T(Pa/].Ca7],skLY4~> "lJeCo^p#urrBq5rrkVF3(%Dlrr4?.pASu5C8F,cs0bKhLJl_'s#]uTs8Hq>C8F,cs#]uTs$u,L s(]<$s#/bV76!ntq>^JU6UKr7DcphO54ef86UKr84SG[N5XgJ*s,TN6k5RR;s3P+;8>H3_;F![+ qi1UU_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=)rrKK8JcC<$_#FDZWrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+#rrHE7JcC<$_#FDTWrE7Cp%@q>f73~> "lJeCo^p#urrBpsrrGXMJcC<$_#FDOWrE7>o^qnHhgb~> "jc)pp@cc/rrC=-rrq]Gs5Z8XJcC<$_#FDZWrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+'rrpF4s3f73~> "lJeCo^p#urrBq"rrp(2s0"W^JcC<$_#FDOWrE7>o^qnHhgb~> "jc)pp@cc/rrC=-rrh1L5!P9_s+13brrC "kVr/p%?B'rrC+'rrfAl6;P%@s+13brrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq"rrdsA6=&>ss+13brrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=?rrV]Dc[j@&blZ5FnFQY]nCl3>c/m1Oce@mbrrC "kVr/p%?B'rrC+9rrVW=aaqLo`raB5mdpG[ma]F1a5t>CajohUrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq4rrVQ7`IYnf_?.^)mIU>Zm*We'_WAW9`R=/MrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rr_B3n,0*`!:\nG!:]%K"8qW;jn8WUjjW\rVuHbdhu<]Gj8T5Zn'pIrrrC "kVr/p%?B'rrC+:rr_9*mJNm^!:JbE!:JnI"8qQ4iq< rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rr_0#lhm[\!:A\D!:AhH"8qK.i:[*PhoY3^VuHbahu<]Dj8T5Zlc\5`rrBp9 rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrV] "kVr/p%?B'rrC+;rrVW5qka;mmbe$Emc"0Iqp"R'rrVW5qka;mmbe$Emc"0Iqp"R,rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrBq6rrVT0qka;mmGIpDmG\'HqoS7"rrVT0qka;mmGIpDmG\'HqoS7'rrBp9rrp:3 o_7h3J,~> "jc)pp@cc/rrC=ArrLjBV#LGahu<]Gi;WiGg@tUJg@(j;!:\nG!:\qH!Ue\>rrC "kVr/p%?B'rrC+;rrL[;V#LG_hu<]Ei;WiEebB(Eea914!:JbE!:JeF!USA7rrC*>rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrLO5V#LG^hu<]Di;WiDdeEbBdHdV.!:A\D!:A_E!UJ23rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrLIEV#LGahu<]Gi;WiUd.dP@ci'[>!:\nG!:\qH!W:=BrrC "kVr/p%?B'rrC+;rrL7>V#LG_hu<]Ei;WiUb4ko:ao%t7!:JbE!:JeF!W:+rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrL+:V#LG^hu<]Di;WiU`V9B5`VcP3!:A\D!:A_E!W9q7rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=8rrrCI.0LTArr3-!FV#+&^]+<'hu<]Gnc/VVnc&U6p\t6 "kVr/p%?B'rrC+;rrC+2rrr=4*<[aerr3,sW8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq-rrqsn'*^GFrr3,^4U3CR^]+<$hu<]Dnc/V]nc&U+p\t61oD]!b<>,Qr e,K@Mj?3_r`4u_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=8rso!2_ "kVr/p%?B'rrC+;rrC+2rsnjIbj:r'lMple55!>0f>.Cdmbe$Emd^>W8Fc][a7oT6a7K<@q/spJ T*"rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rsn+Ke`V,\pAb.;Hi'rLn%er'mGIpDmIC5V9(Do]_Y='1_Xmd;jG_XP G6[d@s!)mfXp+:0rrDHDrrDHVs8P^]rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=3rs;e!s8Ejns8T_R_#FE(hu<]Gnc/VVnc&U6p\t6 "kVr/p%?B'rrC+;rrC+-rs9IZs8W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq(rs9%ps7QQcs8O@S_#FE%hu<]Dnc/V]nc&U+p\t61mf*S#k5Y,Wo)J_8 \A8+EmGIpDmIC5V9(Do]_YjE6_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=4rsJT9T`=`dli7"C%D_uDnDF6GnF?PY6h10Vc1h5q@fP%pAjOZ s54@%rrDQGrrDQYs8PIVrrC=ArrC "kVr/p%?B'rrC+;rrC+.rsJB%kl:#Mqu?]&*5MRSmbe$Emd^>W8Fc][a7oT6a7'$8oEFIYm/[%` s0E]\rrDKErrDKWs8PX[rrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq)rsI*Up&D>urVumbF27eUmGIpDmIC5V9(Do]_Y='1_XIL3cij%AZN0t( s$LkCrrDHDrrDHVs8P^]rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=5rs&IC0E;(E!WN*"kR,-*!:][]pI"WR!:][]pI"WR!6t9 "kVr/p%?B'rrC+;rrC+/rs&B^B)hno!WN*"b8.nn!:KO[pIOuW!:KO[pIOuW!6=j6!6=U/#5gMo s8V6_rr3#B(;TqMme-VS8G2u_me-VS8G2u_a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq*rs&$1X8i3g"TJE%93T.2!:BIZpIb,Y!:BIZpIb,Y!5eL1!5e7*#4`S2 s8SMjrr3!l>/:._Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=6rs\mW,l.K?pAjOZs54@%rrDQ]s7\nRrrDQ]s7\nRrrC= "kVr/p%?B'rrC+;rrC+0rs\j";Z?^rm/[%`s0Nc]rrDK[s7](WrrDK[s7](WrrC+6rrC+0rs\j" ;Z?^rm/[%`s0Nc]rrDK[s7](WrrDK[s7](WrrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq+rrVj9L]7;XZN0t(s$LkCrrDHZs7].YrrDHZs7].YrrBq1rrBq+rrVj9 L]7;XZN0t(s$LkCrrDHZs7].YrrDHZs7].YrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=6rrRiqo`"jprYU[qs1TSjrrDQGrrDQYs8PIVrrC= "kVr/p%?B'rrC+;rrC+1rr`3s9)\bh#5nbes8Q:q_#FE&hu<]Enc/V[nc&U0p\t66o)Agj;+gfd rs&E+jT#6a9#1H,mbe$Emd^>W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq,rr_s>IfB?H#5&)is8OCT_#FE%hu<]Dnc/V]nc&U+p\t61o)Agc,C]Xk rs&,uoDeh:\A8+EmGIpDmIC5V9(Do]_YjE6_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC=7rsai%kkFiIs8T8AlKoaP_#FE(hu<]Gnc/VVnc&U6p\t6^Ju)sZf6MST5lnDF6GnF?PY6h10Vc2@SAc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;rrC+2rso$.47r:ArVun"7/5@?f>.Cdmbe$Emd^>W8Fc][a7oT6a7K<@r`)&P p\4Xds&_\af*U'ErrDKErrDKWs8PX[rrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rsniODYEi!rr "jc)pp@cc/rrC=ArrC=8rrDil!!bXds86sL%W9&]!:\nG!:]OYs$Q>V!6t9 "kVr/p%?B'rrC+;rrC+2rrDNc!!f1ss7oS#(R)W6!:JbE!:KCWs%)\[!6=j6!6=^2!:Tgc#GD+s q,7V:PJ@+tmbe$Emd^>W8Fc][a8Gr;a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq-rrBb1!!h3Ws5Z9K-H!Uu!:A\D!:B=Vs%;h]!5eL1!5e@-!58:1#MK.W j?*_q_nZ3OmGIpDmIC5V9(Do]_YjE6_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQYs8PIVrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKWs8PX[rrC+6rrC*7rrDKErrDKWs8PX[rrC+;rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHVs8P^]rrBq1rrBp2rrDHDrrDHVs8P^]rrBq6rrBp9rrp:3 o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC<=rrDQGrrDQGrrC= "kVr/p%?B'rrC+;rrC*7rrDKErrDKErrC+6rrC*7rrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBp2rrDHDrrDHDrrBq1rrBp2rrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrLIDV#LGahu<]Gi;WiUd.dP@chsU=!:\nG!:\qH!W:=BrrC "kVr/p%?B'rrC+;rrL7>V#LG_hu<]Ei;WiUb4ko:ao%t7!:JbE!:JeF!W:+rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrL+:V#LG^hu<]Di;WiU`V9B5`VcP3!:A\D!:A_E!W9q7rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrLjBV#LGahu<]Gi;WiHg@tUJg@(j;!:\nG!:\qH!Unb?rrC "kVr/p%?B'rrC+;rrL[;V#LG_hu<]Ei;WiFebB(Eea914!:JbE!:JeF!U\G8rrC*>rrpI9p%.@u J,~> "lJeCo^p#urrBq6rrLR6V#LG^hu<]Di;WiDdeEbBdd*_/!:A\D!:A_E!UJ23rrBp9rrp:3o_7h3 J,~> "jc)pp@cc/rrC=ArrV]?r2'DnnDF6GnDXBKr7(61rrV]?r2'DnnDF6GnDXBKr7(66rrC "kVr/p%?B'rrC+;rrVW7qka;mmbe$Emc"0Iqp4a*rrVW7qka;mmbe$Emc"0Iqp4a/rrC*>rrpI9 p%.@uJ,~> "lJeCo^p#urrBq6rrVT2qka;mmGIpDmG\'HqoeC$rrVT2qka;mmGIpDmG\'HqoeC)rrBp9rrp:3 o_7h3J,~> "jc)pp@cc/rrC=@rr_B2mej!_!:\nG!:]%K"8qW;k4S`VjjNSpVuHbdhu<]Gj8T5Zn'pLsrrC "kVr/p%?B'rrC+:rr_9*m/3d]!:JbE!:JnI"8qQ4j7WESim$ifVuHbbhu<]Ej8T5ZmEahirrC*> rrpI9p%.@uJ,~> "lJeCo^p#urrBq5rr_3#lhm[\!:A\D!:AhH"8hE-i:[*Pi5k6^VuHbahu<]Dj8T5Ylc\5`rrBp9 rrp:3o_7h3J,~> "jc)pp@cc/rrC=?rrV]Dd"0I'blZ8Gnalb^nCl6?c/m1Od+\$drrC "kVr/p%?B'rrC+9rrVW=b(7Up`raE7n+6P\ma]I2a5t>Cb1?%XrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq4rrVT9`IYnf_?.^)mIU>ZmF&t)_WAW9`R=/MrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/s+/FGc(E7\rrp[@p@$nbJ,~> "kVr/p%?B's+/4Aa.LDPrrpI9p%.@uJ,~> "lJeCo^p#us+/%<_On]Frrp:3o_7h3J,~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@cc$rrHK.q>UJ'WV$2k?`_TR!FMr$rrHH/cMmt38,N2`!UE:-s+14 "kVr/p%?AqrrGCOq>UI\lh(2X5jZhs!C6#ErrG@OcMmsi@K-0(!R5_;s+14 "lJeCo^p#jrrG7Uq>UIXp@S@c4SI,$!Bg)KrrG7VcMmp "jc)pp@cc-rsJ_*<]*-P^&S$boD8Igr@dR2rrW-QoDS[mr@]cV3.:Du!F;elrrW-QoD\aikPHk6 0Cbt6hZ!U^XRuMoq+]33rrW0el%/kcs6oskc1^l"hp6f~> "kVr/p%?B%rsJ[k;)h3me,T5%rVHNqq)/'BrrW!SrVca"q)'ud7%NrL!C,r9rrW!SrVlfsa87[q 2Z'NQhZ!U@m.C;ZnNldCrrW-]qLSZts6oska7],skLY4~> "lJeCo^p#srsJ7M8ifk-mf2?2rqcWrjZ*53rrV7Err)j#j>StU:W;r*!Bg)@rrV7Err2otD>Q3n 4Su2YhZ!U=p@S@dbu"95rrVd\rIP!"s6osk_Y!Kpn)&W~> "jc)pp@cc.rsJ^O8&k8p^1mW>2Ym@RoJQ:@!VA;Jrs&*Nr;>/"ao25>rVHNqr%I^-rrMaMrVm-% q"W?%q"X[?rrW*Oo^r.aQt?'m!L/7gs+14=rrp[@p@$nbJ,~> "kVr/p%?B&rsJU*CtAINXb?`:7JZrak$U\rqY@L!r"VOo`"r"Vtg8m9](F$JcG3="ip "lJeCo^p#trsJ'\M<+TrRF;,(Hhm[BS8@it!LeB5rs"chr:cC7q>L"?tq>'mBrrV(@rq-3k8DO"?!C?:-s+14=rrp:3o_7h3J,~> "jc)pp@cc.rrTktpA=k.i^3\F\ktIiirA($SO,E6s8W"D6oA!&s5HBCs"<4ls8W!LZKF?3:1=16 ;)qb "kVr/p%?B&rrR^QrVQU5\mPL;T1V7bq>\-)Kg\PZs8Vh67QP;Zs12S8s":QSs8VmOmD`%O<3Q=o 8j.+gnjtc7:]CBd8j.+gs8T0$4AO`4s.;nHDu'FE?i'd'?'>3e%)uBK`_q:k9];OO6+Hpo*huIk AbH*'T1V7bq>ZY/s8VaOrpiW>9i(cQBgP$sr;R5`55bH\l"NIKBE/!4\Ujd3s6oska7],skLY4~> "lJeCo^p#trrQ/Zrql^6BYONFM+0afrVpT,E^!^ps8Uke7R2V(s(K.Es"7l^s8V+;pMHI;:uM;/ 7R2k0aZ`'e=o\GW7R2k0s8SBY4^7IVrJ=!/MZ*Qg^A@j18Cme?/o@uqD4PcJ?h&kY9B?-Qrf'E2 IJa'CM+0afrVp'Js8UM;s2dGl:0IV<>XLo0r;R4r>lOd'aBV)#JH,X=j+75]s6osk_Y!Kpn)&W~> "jc)pp@cc/rrW'UV#(*0a]\Ya6/;I79`N6jY5HI#s8Vl#o_aSLs2eFArtN=Ms8KYgq9:\%s8U,* h#='Bs5HBErt`X@h#='Bs3j$OrThQ)a$JM[UJ1^0=o/.!D0>jX-I#Qjbr!NA]euA\kVrPAcTBJP Y=AQ46/;I79`M/-s8VULs8V(Frr3+SL&M#%r;Qf.;#^J#KSBC(f)PcP@tFZ2s6oskc1^l"hp6f~> "kVr/p%?B'rrVmPk5,)rEhiYs@da25I/e=Qbl4M,s8VW1qt='bs)On4rtK+1s8A?Prd6iYs8S3j meq'Os0lG9rt^`+meq'Os.E9Hrnd5GO^dbWDg_S*U\auk6eD>;-@D3\HpHioGXfXOa@?40RSr;H Li*0S@da25I/d3fs8V"Ks8TQ:rr3*p]DqfPr;Qe1M#RD[9Y:?&bQ%T?]7L!5s6oska7],skLY4~> "lJeCo^p#urrUn6p%n\,:Ybt]MYQj=b5Y:8h>M8/s8U!jrTQ`*s%hGJrtJ,Xs7g8As&2h_s8QYf q"7A(s(B+Grt]1'q"7A(s)<8Jrlb-;AW$9U:!3K3h"q$O4mr=L-<&Rs;e#G";,60OI";7sC45[H =M=`GMYQj=b5Xops8Rk7s8Q`Hrr3*ef)PHnr;QdjdJj.O6.Z)0eGoP:jFR>^s6osk_Y!Kpn)&W~> "jc)pp@cc/rrMIBrr3^c5s^t>O+7$cg&M*>3rbCMs8VsKo)/Ljf2M^1J,KQ=a#2qe62m5k,,_YsK@q`!4.s6VlIO+7',!rXjirr4=5GlO1Hs8US;s8VXKs8+jg s8VaNq`!4.s6VlI>H%T%g.22C``rHB!`4=9qYpRrOT,7]:jqp5rrH_dJcC<$n,ER9p@dt4c[Y~> "kVr/p%?B'rrLS4rr3^67RlVA9A]>%pAb0D9E.\`s8VdLr;?QtR#q>@hYdBr7RBR,AEEhdXoJFo 3VNLQek?$[VuQei3VNLQek>]smf!.lof;aGs40jC9A]RG!r=eErr4f73~> "lJeCo^p#urrI=Krr3^/84`FR61NGlqu?\:PlF&*s8Ub1rqud!?.Js@nbiD05=\7-GkM)'huE`+ 6i6o`Eg6T!h>dN)6i6o`Eg59@q#14!e3j-5s)OA(61OjP!p_f@rr4<3n,G`:s8Q96s8S+/s4KF, s8SsGe3j-5s)OA(4SJgT@*/HK:>PpL!]n=!qYpRXoD\ak3lV'rrrG7QJcC<$n,ER.o^qnHhgb~> "jc)pp@cc/rrM%;rr38mkq:fl7*=dUrr3Ym56"-is8VjKrr:G^7Ro^Zs$Y$.rri "kVr/p%?B'rrKGtrr38kjtui43qLWlrr3YH=8t>Os8VOKs8TQ;9MIUks#TcMrri9YiU-I?rrkLS s8UA>rr38==8tkOs8UA>rr3)8=3jP;rrLD?rr3,9=8t>Qqu6]\3rT'h47W>4nc/Vj`;fkD?2r50 r_ins=jBeArsZYDpGVsLs'E27s%25Lrrg;P4F[&'rrW'Sp&=st`FV/\p]'\@qYu,ea2b4["ip "lJeCo^p#urrH\grr38kd5Lq$3;IWfrr3XGZi2u\s8Tf.s8S`r:/3h7rAaWOrrhpQkO/^IakPtQn]Dlt? r`'%qSTCG&rsWVJgcYT9s%)2Ms$6/Srrf?*8Ws#MrrVOFqu6U%W`huWr;XJurVqGca24kV"iBp( p[@!i~> "jc)pp@cc/rrVLBqu6U#o/-LC1&g/qrr3Y)Abdt;s8UbAs6hhgs8QW4q(_mIrrVmKrVca#q(_jJ s5H3@rs59/s#nj2s5H3@rr\p*i'%#pS8=o[GG r;QfW4oYH`TOmaRrr3.*PlLbHe,94Ipjl]KrrW-OjS]#]pjl]Mb".*``r?%`WrE7Ip@dt4c[Y~> "kVr/p%?B'rrUV4rr2p&jZie83rcWerr3U9[.?-Ls8Sj1s4BZps8G=NnN-UJ!UDfErrM^Prr3#- ;uZe&>dXJip&G'#;uZe!>dUh9r;Qf+;uZe!>dX#^qYpT.9`G%po/cpC3WB$a60eLMCngs9>5\C$ [T!2*$s^1%70!;d53DnE3;*4L!q&a\rVlrq2#7(L"n#'_s+k]Hs2P'=a/].Ca7],skLY4~> "lJeCo^p#urrI@MrVm+cAcKhHs(Ae>rt7i]br5M"s'iMo^qnHhgb~> "jc)pp@cc/s!.JE@H7=MT0E;D3reh-df.$AmdMlOrn^/]s4om=s1'iVmlLCH!TuK@rrMRLrr427 1=H0;3:?_tg].l`rGGCs7A(prkLM]mlL=F!QIh4s"Eh%s6i#Ks8=\@s8Rk,s7.qa s7t(@oJ4ko^c:cR2#%$Z0B3$10&-F+f\$5tE/XYo$rt"@s4H!(p2Grd6,nKU`r?%`WrE7Ip@dt4 c[Y~> "kVr/p%?B's!.A(O7)o)J5uX)9`O6;li!SNqqa69rm!^qs/K3$rg5VBge@YG!QIe1rrLtLrr42) 4R;s@9)JE@p&G'S4R;s@9)IU0irA'#s5lH0rM*!^ge@SE!H3;`s"E5%s5$EKs7nSNs8P[Ks5H2u s7O>1juhu.UItFE62geK2>R:J2"gnKXm#fM7G.P<$pO1\s/kMbl:'@t4Rn"&`r?%ZWrE7Cp%@q> f73~> "lJeCo^p#us!-biYP._C;R$1PR/`m]p\'#UrImDarNf/ls'i,1qJ/@qJXHB8!H+(urrIb;rr41: &nc%)3s.WQgp3gu[JXH<6!D^r>s"B"is+?U:s5uNCs8P@Ts-[!W s7!MtU/q$^I<,:IB`@mC2uN^>2Z*OS[.++I54AFL$p47as0V:qf08ZN7eqW8`r?%UWrE7>o^qnH hgb~> "jc)pp@cc.s!%)\4#Kf\dJqlls8Tc#3a^J "kVr/p%?B&s!$N>4$Ql-kPq,rs8SKP6$;_tUiLQA>L*9Koj:m>X%32]Fo;7?H>rf^!M=N5rumdq 6$;_ts*Qpus8SKP6$;_ts-Q2<u^T6:1+FoVL)7K5XBP_s8?Y-BWOJurs4!77fS!.5#%mNrsNS`s8RU=5#%mRCo;ja`W#qYWrE7Cp%@q>f73~> "lJeCo^p#ts!#Eh3_*VLpA\IDs8RR57Z7*B@DcGXdGqYpR]kPkK*?d/OWbl@^5GlRg@3;W[TKL.q% UAt7C5=US,s7KDsD3\]3rs31$>lSb16!D;*rsMNbs8R%*6!D;.9\G!s`W#qTWrE7>o^qnHhgb~> "jc)pp@ca^s5X+[o03$N!oZiPJcE^h!6qPD"jQc7n))HA~> "kVr/p%?@Vs5X+[i`Z-X!Om<)s2=p;a/].Ca7],skLY4~> "lJeCo^p"Os5X+[US@Vb!J@>%s2=p;_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC='rrHZ.p&>&'Vh+l!s3UcGc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+!rrGFNp&>%Yl@Jtds3UcGa/].Ca7],skLY4~> "lJeCo^p#urrBpqrrG7Up&>%Tp4<6ps3UcG_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=@rsA%+2`Oa1s8QE'p\t8#VuH\s^=rG`!FD]'rrKjfJcC<$d/O*jWrE7Ip@dt4 c[Y~> "kVr/p%?B'rrC+:rs@%Y3^R<.s8P=Kp\t7YlMgeaYP7nn!C,lKrrK=tJcC<$d/O*dWrE7Cp%@q> f73~> "lJeCo^p#urrBq5rs>r13Ce#Ws8P4Tp\t7VpAY'mXo/%q!Bg)TrrK8"JcC<$d/O*_WrE7>o^qnH hgb~> "jc)pp@cc/rrC=ArsJ]pHgpdYX8i3+Vt^2l?DmJr!FD[Ts+13nrrC "kVr/p%?B'rrC+;rsJT`Wqc,'fDkk8lM(;Z5O.qA!C,k#s+13nrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rsJ'P`V]#2nGiMNp@nRf4SJIJ!Bg(,s+13nrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrVpJp\b%D`AB_JFoT!K3CBP@`AB_JFoQ!Ms/ngQ6__OV4\'YpA>fJ&J3>r' s8T5k4%#`ns+14+rrC "kVr/p%?B'rrC+;rrVRFrVZ[JC,S[Y_uG`i4B0B$C,S[Y_uE$fs,]T7;!MdR8km5'60eLrrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrTMdrqudK>W5DQkPos#4_3gW>W5DQkPm[4u2[:/:!P4SJg&@R!DW s8R=26 "jc)pp@cc/rrC=Arri:#>J94urrHH(rr38>jT!^amf-Ukrr3=9Vt;k,s7"D8?Dmf&%V2L;F("M9 eGo.uj8\VqJcC<$h>[K"WrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+;rri6`J][H\rrG@Lrr38(mJjdZqu8nGrr3[JqWrE7Cp%@q>f73~> "lJeCo^p#urrBq6rrhdPR*tg/rrG7Urr385p&1%LrVo"Rrr3=FJcC<$h>[JlWrE7>o^qnHhgb~> "jc)pp@cc/rrC=@rsAC]<&%7os8QE'qYp\5T`8>rrr3.4VtMmVpAY'm?Dmf&"D"G&1ALhJ"84L\ p4<6ps4dPRc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:rs@nB:c<"Ss8P=KqYp[bl2O!5rr3-flK^UXrVlft5O/7J"@;>:4T56Y"7&+p rIP!"s4dPRa/].Ca7],skLY4~> "lJeCo^p#urrBq5rs@%s8i_Crs8P4TqYp[]pA[8Krr3-ap8hHOrr2ou4SJdS"$H:Mo^qnHhgb~> "jc)pp@cc/rrC==rs&7_4TGFfVuH]%b?dP+3/mlDVuH]'A>fIJ@l7cLs'DW&rrZf0ml:4E"NP"0 A(cG5JcFR+!6qPD"jQc7n))HA~> "kVr/p%?B'rrC+7rs%n-;uck^lMgehX'&%h2Was'lMgej60eKN>W[3's$,fJrrYRPhFIJC"KPch GkHXfJcFR+!6;,>"ip "lJeCo^p#urrBq2rs%CTQN-tIpAY'tP>b1N3:m/4pAY(!4SJf?;b)iEs#g#SrrYCWGD5qo"I2nU NVe;,JcFR+!5bc9"iBp(p[@!i~> "jc)pp@cc/rrC=[K"WrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+6rt4-Ms8P@Ls8VLKirB$GjSqL1rr3!blMgeenS<@K5jJ@K"@;>;4T>3W!qC&M JcC<$h>[JqWrE7Cp%@q>f73~> "lJeCo^p#urrBq1rt0`Ys8P4Ts8TW.mf3;MoD^rHrr3!]pAY'qk"Eu!4SJdS"$H:N "jc)pp@cc/rrC=ArtbE_fCn`r56(Y3HiO-=2"Ub50T5s[HiF$PA>f1:q#7Bhs*f=orsiS;s)MW? rRClA^\If19S*4ps5!\Tc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;rtb0mi;DhR=o\LlcN!q05Q1W.2<=d-cMmhN60djcrV_"gs$tB6rsh?[r^iFQ qoJg)df',iH\)3Js5!\Ta/].Ca7],skLY4~> "lJeCo^p#urrBq6rt`_WkPa1.T)\gTli7!\AcD_*2tR&6li-nk4SHAFrqB:8s$,iKrsh0bq`q^j p_Y!Kpn)&W~> "jc)pp@cc/rrC=As#0e39eeP9eGoR.8igegVF>!6G`2U]8igegA>f'.3]gR"s5HX3D#\%Ds7h%( 3b/3^@6-JSg4B9Ts5!\Tc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;s#0Y&8N&kXnc/Wu7R4]fL/2N>7caTY7R4]f60dZ;5!X)\s0kH_^AgLas6XYd 6@/[q>!>2jp4<6ps5!\Ta/].Ca7],skLY4~> "lJeCo^p#urrBq6s#/bV76!ntq>^JU6UKr7DcphO54ef86UKr84SG[N5XgJ*s,TN6k5RR;s3P+; 8>H3_;F![+qgncus5!\T_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=?rrV]Dc[j>lc*bdtce@mbrrC "kVr/p%?B'rrC+9rrVW=aaqK`a0iqhajohUrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq4rrVQ7`IYmW_R75^`R=/MrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rr_B3n,.b:JcGKE!:\nG!:]%K"8qW;jno&Xc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:rr_9*mJMP8JcGKE!:JbE!:JnI"8qQ4iqr`Ua/].Ca7],skLY4~> "lJeCo^p#urrBq5rr_0#lhl>6JcGKE!:A\D!:AhH"8qK.i;_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrV] "kVr/p%?B'rrC+;rrVW5qgncus7QBlmbe$Emc"0Iqp"R,rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrVT0qgncus7QBlmGIpDmG\'HqoS7'rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrLjBJcC<$o`"p\hu<]Gi;WiGgALsNc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;rrL[;JcC<$o`"pZhu<]Ei;WiEeboFIa/].Ca7],skLY4~> "lJeCo^p#urrBq6rrLO5JcC<$o`"pYhu<]Di;WiDdes+F_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrLIEJcC<$o`"p\hu<]Gi;WiUd/ "kVr/p%?B'rrC+;rrL7>JcC<$o`"pZhu<]Ei;WiUb5D8>a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrL+:JcC<$o`"pYhu<]Di;WiU`Vf`9_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=6rsQq+#9&a)s87!N&9%RJ"T3BR&9!."Qi@'Thu<]Gnc/VVnc&U6r;QcA WrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+;rrC+0rsPGF"XW:1s7oV$(mP%""Sl"((mKUOQi@'Rhu<]Enc/V[nc&U0r;Qc; WrE7Cp%@q>f73~> "lJeCo^p#urrBq6rrBq+rsO5l#W2/Qs5Zo^qnHhgb~> "jc)pp@cc/rrC=ArrC=7rtXMuU[6XHs8T8?jldbCs8T8?jldbCJcD,;!:\nG!:]OYs$Q>V!6tHA !6qPD"jQc7n))HA~> "kVr/p%?B'rrC+;rrC+1rtVmN^@0>8s8Q4cp!O,ts8Q4cp!O,tJcD,;!:JbE!:KCWs%)\[!6>$; !6;,>"ip "lJeCo^p#urrBq6rrBq,rtT?,dHeL@s8O "jc)pp@cc/rrC=ArrC=7rrH5)r;R9+(lSFo]H@1Q(lSFo]H;_)R/[0Uhu<]Gnc/VVnc&U6r;QcA WrE7Ip@dt4c[Y~> "kVr/p%?B'rrC+;rrC+1rrEkGr;R9*#3,[_=A&Vl#3,[_=A"/ER/[0Shu<]Enc/V[nc&U0r;Qc; WrE7Cp%@q>f73~> "lJeCo^p#urrBq6rrBq,rrEJer;R9#"7lKl,e3mJ"7lKl,e/F*R/[0Rhu<]Dnc/V]nc&U+r;Qc6 WrE7>o^qnHhgb~> "jc)pp@cc/rrC=ArrC=8rtbJ3QmW83mJln\li7"C%KH/&li7"C%>"PHrrDQGrrDQYs8PIVrrC=A rrC "kVr/p%?B'rrC+;rrC+2rtb;.M\cq6qu?$`qu?]&*<5C+qu?]&*.e-WrrDKErrDKWs8PX[rrC+; rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rta8fC(M89rr9;)rVumbF8rQHrVumbF+O@YrrDHDrrDHVs8P^]rrBq6 rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=8rsAE"(YSOj0)tPErr3,b$NK`!rr3#_$A&5ErrDQ]s7\nRrrDQ]s7\nR rrC=ArrC "kVr/p%?B'rrC+;rrC+2rsA&m2rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rs?%4DY;Qk`;c8/rr3*o>5t#orr3!l>(Q^@rrDHZs7].YrrDHZs7].Y rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=8rtbG2B)hnl$ifr$li7"C%KH/&li7"C%>"PHrrDQ]s7\nRrrDQ]s7\nR rrC=ArrC "kVr/p%?B'rrC+;rrC+2rtb2+f)Pcb(]Wk&qu?]'*<5C+qu?]'*.e-WrrDK[s7](WrrDK[s7](W rrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBq-rt`iZmJm2X?2q52rVumbF8rQHrVumbF+O@YrrDHZs7].YrrDHZs7].Y rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=7rtR%ss8V0gs8Ejqs8TeTs8Ejqs8TeTJcD,;!:\nG!:]OYs$Q>V!6tHA !6qPD"jQc7n))HA~> "kVr/p%?B'rrC+;rrC+1rtPpns8TkNs8$; !6;,>"ip "lJeCo^p#urrBq6rrBq-rtbS;mJm2X?2sR"oDeh:\Gu4(oDeh:\:O[IrrDHDrrDHVs8P^]rrBq6 rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC=7rtWBdhYC\8s8T8AlKoaPs8T8AlKoaPJcD,;!:\nG!:]OYs$Q>V!6tHA !6qPD"jQc7n))HA~> "kVr/p%?B'rrC+;rrC+1rtTK4n*_TCs8Q1hpt#i(s8Q1hpt#i(JcD,;!:JbE!:KCWs%)\[!6>$; !6;,>"ip "lJeCo^p#urrBq6rrBq,rtR2-ptHA!s8O "jc)pp@cc/rrC=ArrC=7rs\m['FIG$s8W"=%h "kVr/p%?B'rrC+;rrC+1rs\g7$k?hGs8Vmn$5\p*rri-r$5\nWs-N`cmbe$Emd^>W8Fc][a8Gr; a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrBq,rs\Be#T/_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQYs8PIVrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKWs8PX[rrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHVs8P^]rrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrC;ps+14ArrDQGrrDQGrrC=ArrC "kVr/p%?B'rrC+;rrC)js+14ArrDKErrDKErrC+;rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrBoes+14ArrDHDrrDHDrrBq6rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=ArrLIDJcC<$o`"p\hu<]Gi;WiUd/ "kVr/p%?B'rrC+;rrL7>JcC<$o`"pZhu<]Ei;WiUb5D8>a/].Ca7],skLY4~> "lJeCo^p#urrBq6rrL+:JcC<$o`"pYhu<]Di;WiU`Vf`9_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrLjBJcC<$o`"p\hu<]Gi;WiHgALsNc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+;rrL[;JcC<$o`"pZhu<]Ei;WiFeboFIa/].Ca7],skLY4~> "lJeCo^p#urrBq6rrLR6JcC<$o`"pYhu<]Di;WiDdes+F_Q*V>_Y!Kpn)&W~> "jc)pp@cc/rrC=ArrV]?r.4m!s7QBlnDF6GnDXBKr7(66rrC "kVr/p%?B'rrC+;rrVW7qgncus7QBlmbe$Emc"0Iqp4a/rrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq6rrVT2qgncus7QBlmGIpDmG\'HqoeC)rrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC=@rr_B2mehY9JcGKE!:\nG!:]%K"8qW;k55/Yc)UdIc1^l"hp6f~> "kVr/p%?B'rrC+:rr_9*m/2G7JcGKE!:JbE!:JnI"8qQ4j88iVa/].Ca7],skLY4~> "lJeCo^p#urrBq5rr_3#lhl>6JcGKE!:A\D!:AhH"8hE-i;_Y!Kpn)&W~> "jc)pp@cc/rrC=?rrV]Dd"0Gmc*bdtd+\$drrC "kVr/p%?B'rrC+9rrVW=b(7Taa0iqhb1?%XrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBq4rrVT9`IYmW_R75^`R=/MrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/rrC;ps+13DrrC "kVr/p%?B'rrC)js+13DrrC*>rrpI9p%.@uJ,~> "lJeCo^p#urrBoes+13DrrBp9rrp:3o_7h3J,~> "jc)pp@cc/s+/FGc(E7\rrp[@p@$nbJ,~> "kVr/p%?B's+/4Aa.LDPrrpI9p%.@uJ,~> "lJeCo^p#us+/%<_On]Frrp:3o_7h3J,~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "jc)pp@ca^s+13$s24j?c1^l"hp6f~> "kVr/p%?@Vs+13$s24j?a7],skLY4~> "lJeCo^p"Os+13$s24j?_Y!Kpn)&W~> "OGuop@a'^J^&bj_9N#R!q5$mJ,~> "P;i.p%^_8lTK!qYU,J,~> "Q/\Bo^m^OJ\luT_8?6E!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbFZgJbHeN!q5$mJ,~> !nZW,Jb=TeJb?_L!qYU,J,~> !oNJ@Jb4NcJb6YJ!r)0@J,~> !mfcmJbHtS[.X+c[.X+c[.X=i!q5$mJ,~> !nZW,Jb?nQ[.O%a[.O%a[.O7g!qYU,J,~> !oNJ@Jb6hO[.Et_[.Et_[.F1e!r)0@J,~> !mfcmJbI(Vs7N\is7Q9_s7N\is7Q9_s7N\is7QBb!q5$mJ,~> !nZW,Jb@"Ts7EVgs7H3]s7EVgs7H3]s7EVgs7H<`!qYU,J,~> !oNJ@Jb6qRs7 !mfcmJbI+W"SMENf?^nM"OG]`o_&1V"SMENf?^nM"OG]`o_&1V"SMENf?^nM$.%5eo_%qOn))HA~> !nZW,Jb@%U"SD !oNJ@Jb6tS"S;3EcG[0."N8XIo(2hP"S;3EcG[0."N8XIo(2hP"S;3EcG[0.$,k0No(2MGp[@!i~> !mfcmJbI.X"nhNGeF!1Brsenne)9lkp@e1Oi7./l[f6g7mF1"cp%J+Po\e6dr3lV3r9_tko_%qH hp6f~> !nZW,Jb@(V"n_EBcg1J:rsekkcJA*ap%@tKh9YEa[f6g6ld">Xo_%nLoA.aYqmQM2qs2P`oCV_I kLY4~> !oNJ@Jb7"T"nV<=b3Af3rsekib1cFXo^qbGg !mfcmJbI1Y"nhNNeGB!Jp'^]meEHPtp%7FsqY@Ml$i0YKkk+Q@o]Oa#q6]i$q>/V)o_%\1c[Y~> !nZW,Jb@+W#5%NKcMI>/[e(%%q"i:toCV\Hjj*_tosXK%p%\C/jn&-:oB"9oq";)f$2+)icK4Zi oB4_U~> !oNJ@Jb7%U#4qEGb5(f([dst#p\;nko(2JDj3%2loX=?#o_8.'j7;g5o&Imgp[koc$2!ueb2`'a p[@!i~> !mfcmJbI1Y"SMB !nZW,Jb@+W"SD95lLhIT$2*Q2o(;SFdd$M2oEk3Tddm&&o$ZgrZLeCpl-f.poB4_U~> !oNJ@Jb7%U"S;0/kk)1P$2!H,nalABcKOo+o*P'QcLLMtn]p@jZL\=nkg&_ip[@!i~> !mfcmJbI1Y"8)-0p9=2pp !nZW,Jb@+W"7u$(ormulameonnB(@,oENG,oCMInormukameonkLY4~> !oNJ@Jb7%U"7ks"oWRij`UNHhnAOt&o*32'o():goWRii`UNHmn)&W~> !mfcmJbI4Z"82 !nZW,Jb@.X"SD !oNJ@Jb7(V"S;3Q_Xk#&#P5h$naZ(bo<@cjo>9tdnaF?dYjr"i_XI'in)&W~> !mfcmJbI4Z"82rnBJ-."jQQ.oC1#-oEEM/o^C\`J,~> !nZW,Jb@.X"8)3Ra0,";a7&Tin&MU&"ip*&o'aW%o**2'oCM.sJ,~> !oNJ@Jb7(V"7u*O_QNG5_X?sam_Z-t"iB]tna=8snccnuo(VV1J,~> !mfcmJbI4Z"82rnBJ-."jQQ.oC1#-oEEM/o^C\`J,~> !nZW,Jb@.X"8)3Ra0,";a7&Tin&MU&"ip*&o'aW%o**2'oCM.sJ,~> !oNJ@Jb7(V"7u*O_QNG5_X?sam_Z-t"iB]tna=8snccnuo(VV1J,~> !mfcmJbI4Z"82rnBJ-."jQQ.oC1#-oEEM/o^C\`J,~> !nZW,Jb@.X"8)3Ra0+t:a7&Tin&MU%"ip*&o'aW%ncd)&oCM.sJ,~> !oNJ@Jb7(V"7u*O_QND4_X?sam_Z-s"iB]tna=8snHHeto(VV1J,~> !mfcmJbI4Z"82rnBJ--"jQQ.oC1#-o**D.o^C\`J,~> !nZW,Jb@.X"8)3Ra0+t:a7&Tin&MU%"ip*&o'aW%ncd)&oCM.sJ,~> !oNJ@Jb7(V"7u*O_QND4_X?sam_Z-s"iB]tna=8snHHeto(VV1J,~> !mfcmJbI4Z"82rnBJ--"jQQ.oC1#-o**D.o^C\`J,~> !nZW,Jb@.X"8)3Ra0+t:a7&Tin&MU%"ip*&o'aW%ncd)&oCM.sJ,~> !oNJ@Jb7(V"7u*O_QNA3_X?sam_Z-r"iB]tna=8sn--\so(VV1J,~> !mfcmJbI4Z"82rnBJ--"jQQ.oC1#Eo)W9mlgk;)nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra0+q9a7&Tin&MU$"ip*&o'aW=nGto3lgY/!n+6/6f73~> !oNJ@Jb7(V"7u*O_QNA3_X?sam_Z-r"iB]tna=96n,YZ8lgP(pmdg,@hgb~> !mfcmJbI4Z"82rnBL7h "jU[?1K::4nc<6olgb5(nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra5ugp`EP>g?d6sf"ip*&o'aWUnID^(3CA5[naT#gnaXFV[c$ZZa7&Tin&O_` "gVDq4Cu=gnGtr5lgY/!n+6/6f73~> !oNJ@Jb7(V"7u*O_WC7jW)G]GCZ<_1"iB]tna=9Nn.(d[3_bh*nF/WunF2u6f&6$$_X?sam_\8Y "eAUR6Zq/Dn,YZ8lgP(pmdg,@hgb~> !mfcmJbI4Z"82 !nZW,Jb@.X"8)3Ra6)mrm5h0;m_R2qnHHu%o()7ihsh5U4M^^PFAMAq7EY/53lCUJnHHu%o()7i lgY1W3jeAE\msdj!C>W/nHHu%oCM.sJ,~> !oNJ@Jb7(V"7u*O_WL:kh)W:Fkd'3pmfgSrnaZ%ahsV)#;pkBl;g7Zu5Mkjq7-*mrmfgSrnaZ%a lgG%&:<)niVl&MC!BfT3mfgSro(VV1J,~> !mfcmJbI4Z"82MJm!CiT?h3dTHoj<4 o($:algb5(nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra6)k&h_k#pnal>@n:sRs;S;Lj?N0F!I!P5ACHb+LjmWGon+-&ciG1VCFR\e[CHb+L nF/a#lgP(un+6/6f73~> !oNJ@Jb7(V"7u*O_WL:uW]9Sk;S_bB>sD)jjmNAimd]i8_Vjkni]6)j n+#g.f'bi[O[nR'hsU`cmd]i8_X-_=i]6&inF6)@mrq5a@,(/=3g3oANpcB)`Etf!RIBUc>sD)j n*`C&lgG"omdg,@hgb~> !mfcmJbI4Z"82 !nZW,Jb@.X"8)3Ra6)jomQGs3j8JH\Vj7RoA8s?a7&Tin&Oea!STI.n/eFjqmSWQn3(geq,"Tjmn&T6p;6=g9:#D;8\aa\hWsY7 a7&WkkLY4~> !oNJ@Jb7(V"7u*O_WL:ijZARDlM^/bZLI[O:%$+jmI0@&kj:XGqU%O^k3iJjmd]i8_Vjk`Q95'6 #k1ctmlu.ll1!Qu"iB]tna=9\mfA_9qX5K2nG//?mdE64q=R)-n*<3Eq=2Jnm6J5Yd6HCS4Qu," "iB]up[@!i~> !mfcmJbI4Z"82$6&nK.>nnagI_nQ)%In^'r!k;)W!nal;71A(,,ha$^AU$M4P c1(Aohp6f~> !nZW,Jb@.X"8)3Ra5ue0jFL&aADltHp$qPD6JM$*]^XB:n_?5!nF=.rk3rPpn+-&jt&9lgP(u n+6/6f73~> !oNJ@Jb7(V"7u*O_WL8+n',uG3I'cUmdoo8of_F,6J:ddDXX)oo'Z$^ZKCQY_X?sam_[oM!I@T? mKHpbmQWjmh!P?_md]i8_X-[kH;OJ+*qSjgof_F)46l8%>K#rr<:fPHna;oGo'Z$^ZL0j !mfcmJbI4Z"82=(e=M"04_n[DKfi\:@*!D?#HnHI2,oCMIri:-m40B<$$ #K/mtG%Z1kl/(q6c1(>rnBL=i!pD;tqsb34>=(e=M"+NLnaXpsn`)V,nH%W'r_*Gf8b$;algY/' nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra5ub*nFl_EC/OHgTiO`X2V@K, !oNJ@Jb7(V"7u*O_WC2$nb;n999/H.Mc!,@399LCSaK5!mWCkq;?9C`k3`Dimd]i8_Vjh`R60g7 mKZXrmQ]/gO6tfl"iB]tna=9\mK/e _X@!hn)&W~> !mfcmJbI4Z"82 !nZW,Jb@.X"8)3Ra5ZP$nC]nli&fckqErp(lT!uek3q%hrqQTkq<%,La7&Tin&OAT!pr(]rpL0\ 5d]uKan&JKmbdI:a7&Tin&Oe`!pr([r9k6U45Kc06eLiji:$-(EUV[FmeuSTgHY]5"T%r_6/Ckq "ip*'oB4_U~> !oNJ@Jb7(V"7u*O_W'tsn9n1%Y#=N\q*!g,fKS4RlL(-NrqQTko]GQF_X?sam_[oM!p;StrpC'R 4P9'dhr-qfhX1Qamd]i8_X-[lk;h5omLeih;X+&R4ll#mkjIkF_=!jnr9aTT@fH0+qXj2 _X@!hn)&W~> !mfcmJbI4Z"82o^MBnBB/L:Z0(NZc1(>rnBKk[&(iY1 ki7X_lL8t2nFUZmleq79c1(>rnBL:g-J1&?hrqmmk;;Akh(XWR !nZW,Jb@.X"8)3Ra6)h1j,h^Ug1=CTgct8r__p*8moP<9nF,g>Pj@bc`9-Lla7&Tin&O>S&#qb% le6ATnF&ffn+':rmbmO;a7&Tin&Ob_-EK;3jlNjYgct8r__p*84lGetRrRoc8WN-&]^P;_Pj@bc `:$"JlgG"tn+6/6f73~> !oNJ@Jb7(V"7u*O_WL5*]V3sCbt=JmSR_'SRQ'9ommUc>mHsC.YjCVlhWF2/_X?sam_[oL&+4^@ aQq)KGOFi_h=',bRc!K9_X?sam_\>X-gl@X^ZXIJUn)#_m@#uom5sLum9[Wrmm!r@jMC6Q5d9V> _qscCk3MC<_X@!hn)&W~> !mfcmJbI4Z"82j(rpU*^Jiu(fRHEuBc1(>rnBKk[&G".R 2)f7)naL^9nF6'c;!m62"jQQ.oC1#jn0[_UAN2VO[.0nY?Yah?n5c[\nBX\qnF:id3FM@Gnq'"a 9ptK\U$M1Oc1(Aohp6f~> !nZW,Jb@.X"8)3Ra6)e'k^5oZ5]lA\mt=DGJjn;Zm_gr[rpBsUE'?Kk^uk%ga7&Tin&O>R&G*2. 3'i#`mdWY;ebO:*YA:d8%mQKIqm[A.`mceIK6$D\alYo$P >eobmh!=A3a7&WkkLY4~> !oNJ@Jb7(V"7u*O_WL5!e8[l98;Zg&nnhE=T0D<&m<:J>rp9m;@R!7pgudu-_X?sam_[lK&,)Gd 3D5Y/mHm-omI/[mTA])?_X?sam_\;W-MF*23_FeWnnhE=T0D<&46Q"u?GZ$rbZm>%S*fUk@R!7p h!I5dlg4kmmdg,@hgb~> !mfcmJbI4Z"82:'a o'l/Cq#9a`q"iq<"jQQ.oC1#in.YBfqtp3]nFcYRq"OLOq=O1Go(r@T"8D]iq>Tjgp\Xjap$heM lgP)&nFZ2,c[Y~> !nZW,Jb@.X"8)3Ra5u_%pA4[_p[@P !oNJ@Jb7(V"7u*O_WL1gme6MSq=O[Q$MO8hoD7k@m.U>Erp0gWp\Oa\mH3a=_X?sam_[iI"S;Hc q=O[Q#5[`Rm-jfAi9UWamd]i8_WpJ6oD&1Xp$V2?q"OCVmHj]:m-ON:m-O39qYBaLm-j]FqY0CD qX*V8"iB]up[@!i~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+h6a7&Tin&MU!"ip*&o'aW%mKLZ"oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN5/_X?sam_Z-n"iB]tna=8slik8oo(VV1J,~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+e5a7&Tin&MTu"ip*&o'aW%m01Q!oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN5/_X?sam_Z-n"iB]tna=8slik8oo(VV1J,~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+e5a7&Tin&MTu"ip*&o'aW%m01Q!oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN2._X?sam_Z-m"iB]tna=8slNP/no(VV1J,~> !mfcmJbI4Z"82rnBJ-)"jQQ.oC1#-mfgu*o^C\`J,~> !nZW,Jb@.X"8)3Ra0+e5a7&Tin&MTu"ip*&o'aW%m01Q!oCM.sJ,~> !oNJ@Jb7(V"7u*O_QN2._X?sam_Z-m"iB]tna=8slNP/no(VV1J,~> !mfcmJbI4Z"82rnBJ-("jQQ.oC1#-mKLl)o^C\`J,~> !nZW,Jb@.X"8)3Ra0+b4a7&Tin&MTt"ip*&o'aW%likGuoCM.sJ,~> !oNJ@Jb7(V"7u*O_QN2._X?sam_Z-m"iB]tna=8slNP/no(VV1J,~> !mfcmJbI4Z"82rnBJ-("jQQ.oC1#-mKLl)o^C\`J,~> !nZW,Jb@.X"8)3Ra0+b4a7&Tin&MTt"ip*&o'aW%likGuoCM.sJ,~> !oNJ@Jb7(V"7u*O_QN/-_X?sam_Z-l"iB]tna=8sl35&mo(VV1J,~> !mfcmJbI4Z"82rnBJ-("jQQ.oC1#-mKLl)o^C\`J,~> !nZW,Jb@.X"8)3Ra0+b4a7&Tin&MTt"ip*&o'aW%likGuoCM.sJ,~> !oNJ@Jb7(V"7u*O_QN/-_X?sam_Z-l"iB]tna=8sl35&mo(VV1J,~> !mfcmJbI4Z"SMEVcg.h&#OB_*oCMItl`fa]ld,(loC1)lYjDY\cg^Sqhp6f~> !nZW,Jb@.X"SD !oNJ@Jb7(V"S;3P`94Ah#Ns(onaZ%ckHO1UkJclZna=?YYiuAT`U< !mfcmJbI4Z"SMEWfAj+&#NOG+oCMM(j07nUj4EhmoC:GmYjDYTfCAM%hp6f~> !nZW,Jb@.X"SD !oNJ@Jb7(V"S;3QcJ>_h#MdVnnaZ(nh6?,Kgs5BYnaFcZYiuAIcL:>un)&W~> !mfcmJbI1Y"SD6Hdd+4+$1$%%nauJDk0iS$m0W+,k4/*9n`J9cZL%n_dcU)ln))HA~> !nZW,Jb@+W"S;-Cc0;P"$0f[onFQ8@j3?holNuh"j7)[3nDhdXZKhb[biA3aoB4_U~> !oNJ@Jb7%U"S2'@aQKkn$0TCgnFH/>iQ12fkm?OoiUHF/nDVIOZKVVWaPlXZp[@!i~> !mfcmJbI1Y#5.TVgrA49[d=OhhT"@>oC_eJn(bq>lF-'hlJBP9n+65FoC(JShWhQ:$0pBeh!ak- n))HA~> !nZW,Jb@+W#5%KSfYH8*[d+CdgVDJ0o(;SFmb#>0kdKddkhEo*mdg#Bo'Y/GgZZ*3$0^-Zf^A>& oB4_U~> !oNJ@Jb7%U#4qBPe[a;o[cn7`f=BH!nalABmFAc!k-jL`k1@/omIBf>na4l;fB0O+$0KjMea;nu p[@!i~> !mfcmJbI1Y#5.WZn);O.[_E9gc/J-^o_%nLo'bP^_R@2g_Th'.o(;VJo^_J0c,-p($,XsGn+-,D n))HA~> !nZW,Jb@+W#5%NWmbZ!r[^ZdYa567SoCV\Hna>8S]=,3Y]>rdrnalDFoC;8*a1Jdi$+n77md]o@ oB4_U~> !oNJ@Jb7%U#4qETmG#Lc[]p:L_V=JIo(2JDnEnuI[C3=L[DL\cnFH2Bo'l&$_R6hW$+7Y)mI9]< p[@!i~> !mfcmJbI.X"SMEXn*[RL$h!KSo_%qOp%7hDm^2 !nZW,Jb@(V"n_EVmd9ALlOE4Jmd]o@p%@tKna>f2[d+ChmI'N9o_%nLoC;89m'c3dm-X62oCV_I kLY4~> !oNJ@Jb7"T"nV !mfcmJbI+W"SMEYnaX'Ws7$0^o_&1V"SMEYnaX'Ws7$0^o_&1V"SMEYnaX'Ws7$?co_%qOn))HA~> !nZW,Jb@%U"SD !oNJ@Jb6tS"S;3SnF*gR"RkjMo(2hP"S;3SnF*gR"RkjMo(2hP"S;3SnF*gR$1IBRo(2MGp[@!i~> !RKYSmt'qYn%8#hhp6f~> !S?Lco7?Lao=OSpkLY4~> !T3?spOW'ipUg/#n)&W~> !7-5RJ_u%9\_dD5J,~> !7uebJ`hUI\`WtEJ,~> !8i@rJa\0Y\aKOUJ,~> J^8nnJ^:gOJ,~> J_,J)J_.B_J,~> J_u%9J`!roJ,~> %%EndData showpage %%Trailer end %%EOF etherape-0.9.20/doc/C/figures/pref_diagram_dlg.png0000644000175000017500000013047114016714367016706 00000000000000PNG  IHDR1O]sBITOtEXtSoftwaregnome-screenshot> IDATxu|E.J @\C;ww(nB)ZR ŭ xr6?69"w1r!~7y}nvvwu-`0 &O F'JR)]s;`0_OCcM&Bh3n0 Kl6AͰv`4L&A$I,=&$Ih3G ǘL&$ Ͱx$%'Ы7lR]SS ?=|L&D0 .жH}!4p8Hbiw 6as>ݺwB#J5柈t!i8{/rͭL56ͼۧx>O|,Vlju/A 0 òl邺%E H%#BwЕPS\! ;!пzjI[҇7$2eܬ9r3E1IPrZAqUNgUhTf~ueOTYԭ} W7\&3,qi j]5Ifi!Td19G y_' @.kIrR`/ğA֌Qe+sG~l TqkXJ"Y*ȝ0*T)EO}EOJ(K))O|ooIct*a7#C=kyq?a&V/:1igiJo*T^<0Cڦ0O]4ښTbV%ۨIp*X1ӎ$Q'RQf37z4TrxV6;Aȴ[vH/h 웈״yK0k}R.e1ǝuWm5V I_nETBxd|'wZt5 5waQ`^EHUcHHYm_qWy#p3nrƎh@?_Mڊ5T1'g~{a6|E^N"_ctlh_Ս[#АcRYӳՈ[[q|} [DR~ʸ۞{vPd[lV(=|wY"fX1~ɲ7Z7KI]β,,;ge%?9oWr6V`<%H/V*W#1򜄔9߭!ԧLɃ%juyyU%g ^c%nU{1.M:ṗYh*s9)iCVH{2ۯRMf:2sWls[t&co\ {yQbcJ|ȤR ޣ1ƆOyl]nWЬkZXnM:5^.{2QnGl-;/8&􌒒a/htYo?]҆M!q' F/GzgÛGmWc*@*ڒS#>|_B|VyNU> lD>ہ:!5&v fz8Z3F? m$b1XTJF(Hõ bT:?L miFxgz֩eWqWw%swe*NJ\ uO|A& Gio|S)u4n,ATJ@GjZKLF?]VwCzQ'd.y=wC3&? }}e"?'%Y h8?slK*a$I{y&,,| Sb')R(ь)<XWU뤐2{A0|R+kdk%$LqV(NRC-S4 MsUhԐH,^{dbұZUX iJk=DBJLlYHuBEySIU] -^$/SbJ5*8<7*>+KNE}oKXH鏇-tALLh$Sfiu:m||F,̱%x䀱=ſXN@jcE_Rj ~fn8FHh2s*ڷ;BJ4[~8B]YcfmK1a}cAR&p4*P}7v7a(pQB[yḚ@~0'^^X30<~Hr'?.ZJ~Sۘp; {D"i$"y)rb-hD/26KniRoz\XH-VMEC'_,72LlKF>1,%2ތ~@fHH-G#]}wOiѬbIO.Na=[y)E!C2y9.i&NJfvL^vXknWǬ?q$1j?NFQVD밷?SgY`C;}7W[$<۷C9 m~xvFHٽ+)E1FqJzn,9bgw/%œ k))tZp|cR ^v;ޛ@xX@l#onAZ\ǝ5}!M[^_OiUeiurƽֳSO[j}Tr 9O)7v܄w.$rgMV2$ڤȼ53.G2o_᭖Ear#pm5qe$K XRM d wt1 c4ꟿ =e)CɈ:&`0BNW?i4FvXJ@QE?1O;#Ui||$c0_-i ^݉+\y#X I_\70 inzwwF{zyì0 Z0 nb0 &o{T  wU쬖H|*fJЙ,%x`HB~.?0 ?_jVߍeg0 "惕5Dtd1 Ǝ$`0v'Y #8b0I`N cGp`0;,d1 Ǝ$`0v$_$ӹ{o{)ls? Z4w.&|`lnj!F 4>|ۡsqoR,IdKmtLt\gϜ5V{o\$D*(Jz{޿qA5d#& NAYy<&H35rDP:9I$$QnjE 濂]l١: l+7ȪUw/Dx,ZbϡkR@˿?4TR.}?{۸r20qT_0;L[Jv ){Yڨ~e#m<"-W͂$3!t5@]į7EDk)qI@4%)i%#\WTzޡM!/#b OK*CU(f;yVASR1I Vh\OrUk/dK[,Y5$i鄅?)*ˇ2HRyDy 8ӻ)3h{z4dު X@zk>:梖 $)U gcyMƅE KwJ]=;2". )@qR2-w; 0Q2ӿ}ѽJӗ]9Gѝj{k7}r :)q]2w@y/߃@>תX͙ ѱ,+YFB)Wj1w'6!:,2AMz>4?xّ!ig5i~6(3YTbjbAr]URsbVA? ﬖHB~՚cM2W}h°t~V.oߡS)7=t!DϺToPS'CJp@%L gNh4=|q*Kx$;%R0'EYR~SXu5 RK%wБ2rvr;+Gbz,%(Ga߲OKFm N` $NeiVs;w`$p`0;,d1 Ǝ$`0v'Y #8b0I`HvF?Q2~n0<`0;~$k]) l: ݬc_ "ޟ ˶v #8b0I`N cGp`0;,ؑLҴh?գQLi@aN9{fO] *L,uѪq嚵+׬]Q@)+l{בWY@A>M~k{7_a#g!KV.ʅ-V^4cdk;O࢏y#LǺ&]H`Rj72C`cF.1~vdo=AL=V={Bj_v\P]f4m|.>5dI (ѳ̀>%_8_;vӰq6WGyld7Ю"9>xA 5ozBa#Y4s]'-wtX/K9'\=cz 6:dLL[Hx{&?ފN0IؠQz-:q^l)ͻcUc'4nـe[tsP՚ꍻlCFȰM#Kjyr2woAnXFd~O !kߤ^]tHFV3)FkΠݹv e`zF x6~}VMFuor/ ih^e\z{’B}9 *.#mkwlJ"4Gm"<ߵ-H4ޕ4BCcϮZ}[5-T1V:yIovdz&ö}/eީZyG!Oުզa>]ʵ'p|]V  ܏cv]@NK5kѳ]nS#lޥŰk^|#n[!] |N\$fx14"^HҥKnzСldojڪuߞ&+/[T, IA!jm{MP]26p&uJP2 jV%c 8vwDxx[Mk/!wݑSy}3Qh1)1v%[sUo\⧑KɓYsE$UvKJ kȬ%m9a/KdhHԱ%95[1-rb [8쎴0ߥk7O$h0|5@{Δ贌-O䑓%RbyiDܐ(KqrjBQL%[GHbkDPDU Ж)2Mޓ}`D:?{۫ E|n W](cGv؅N4\z}2{"+nD-癪X0ǟ"cM\` ɥb $aL`2ysS}pɃ*y;MA܋ s.Fv %dԣp}&2*^FnS g|t^&2ho.zɛH#/$EܽC6Ԧy.]z;@̿?]JbiZQj[LNw/Me #~VPy5u|9n_I~|.8(g$8i-I= (u>uĞ?&}Nx[@0u,@;w7p}7ɁNmGphiK+i{: 9j"@#-HTeoŒVҮ m_˿ szM^OmѬ^vO?;eL){PÂuYVMtG[3cR [zybaX'FֵߠQsap^4vq!B#r@H][vc0_6=s\s;OreJ,P :SBB™5F9B^! Lk]pfdE-Tb# m19B_ղ?%8H߉ qё : !I[ IDATJV*ygc"S-g~=gBT$i/r%YwaIq^E;qh|SƎ&))ѻ|Z}u\tT%K:i(;71AA}~Wr6f6>6)>LH ^uAjDz+=}vpr~<WG_:4z68F(TDzx* qA^Ţ?wtz$^DIaS= .8mNa A0tJgXL~RTFN\Ǟ^st/|QN !I8xVx~Capf. &?Q79 Nؑ.l/Lr7Wz|tA^x`0@Wٹ`0V)p*s>3]1}zpO?{Ժ>F>k9S kвS2;1m`G;z ] (9yQ$̌],k9){Np-Q/-3_0?u/]{lQwϱ^j@3F%I~yֈc\JoNniv:*I!J&focU Ǽ ~)pq$ψc>8cCKv|-q(Զτߖm tǦ(eK룦m="z~E^yi_'x$XUxj]g;xXg'F?PaIjGvZB"y&VtҍSǫo ewZ?-f.-۠뽽~Q67AY$<\ϔexUu!V=х]`HA0ǪL^}ug\|ޱlHm nˑvu:w"ZijWAü!+.nOT>[M_l觉]P? ~ۏ\L{u>~˶/ 9vKV s߼UtRiuZ5msw7`64MqȎ]J  %ç%N}U=`Vq^8|F|'VTGҽ0=mGǧ{õ irmۤ{7 K95KbP ѓ)U]:bNU6g[+IZZj'f?(mG8UXmexفmtI ܪoK6ފ:"ةfw_?\NC&:Udf_9ц-?ܬi3\2dv͏(>/WxE*fVQx%m5[d0Z'KV{:THej:i2m{DPHR}?Q.ITLz }vJ[0 !Q&gg>e!%VeZ};ui^i:RY0oVͽ\N3`4tvaa5',hmݓbڔ5ue[O.6zVZZjte Kҹ׿O1#}AC v87 =hcГ]Նh.ylR*]w/y}qWU$(r}._^V4t>-Nhsp~tAzaZȲ s;oV'^Vw_X2,T-q{]^\jF [] h{=Z-Z[UhxDLB&~n]8$A[Q N'ᅠ3y`˴­[y buRjӝP.05M|)Nc s5Oc1۽ak@0W. 6h`>A cQ8Fq?;^"K_t[wC'†.Hs<CL‹Cg:``y?]Xcy[8j?~COO%+ 5Мa}t<4pBZ~V&F%\?{ѻd?@ot fQI??uky5KH܋< !a-[ǵH([˚jfXyڔًZm?Qi"S ߝ' }zfr&U+eyqџ֏Eڎ*dM&2C53X0h>"ۍ9N<~}F9|'Քe?Qy^tnmu1 N"4"Y-<ߐ#û7J-M]JGNeD\FQ$ 5DIǘ&7jGVJ 5덜R B*WHg&2)t&K`dr9MQ5XA &!gFUb\!' xNv]g:+T-L#'sz-/Q)dǕw`0[DH8DK=O[(2 u,{|bE$5b^=UwM|̕S9Bէ18^W*AgJHH8sFh4y@^\E`֊*1 $6raNK#BIZ Yj++&co2AնD my>]9<"^=fl-Ү/?1<}#o]`tI\^T~wvxXK'cȿwyfV*/?1/+`0<+h7(pJCL%H$)I@QԧhC`ssYdOZm2i`AP}Tjmb|^XipZO0 WB1 X` 1,q %^^(mrɒ$vtR;9?nPW qՎN{VI8N|l /|upf6'+Y"JU7o^qƮP4SۧdXEQ^=yFA*Uv2ങdEI*(ü2rE$IEyI&c1<_7hF3Kw^( Q2:udnumeO_k\Gn.YVQ_s6͵QWȌV 5'|roW臱lV嚵-\d~qWxK`cF.1~vdo=Iy&IN306#[|/4#!HibN)Ps;o;Bb)st2,չ;VХKm2n#]Df-O!$+u_FA ^ILFΟ9}s'wWQJ B3Οy oE1I9<_ψ+9 Yz~zx.yYzbOj%_6 Բp !4^XO>}ԅH0O;m:[5~|EicϽOe$D?)26G%-;w˱~۸B2r?~=~[,,I99zi߶hiļ;qfkCjOZҡ!8*IBV~6_|i$7uLmd?DsjlԼel5G8 -^C֫p)<+Yy,9͎9uȈt2w5\|]HUUw.7n=E ]"CSD-%[qҖpELܐ9RWɎc/C%͜|eo\DVI{,5Y~ɋMNhNMTaQY Vs’Q 7|rԡLS;{Hdnl7iokT$e9Z}ȎLĘ !;wGe9akE50yLVDQ ioZs ?m.wFSePQ(͙YĽՃ@n&G!S2Oɬ>x$ _7m=M^^~ˡX+&u}%D,Qy5u|9n_I~|.8>]h_n\7s$Rb钵_ =wW)v`Zt !QU^tCOGPUo^\s1p_GP|7?Nlf? +(D?126'2Q>1H#YJ!<d Gs*wI!邼pb ٹC*? ]'soЫUNOڇjiW=W1+~g9p>v9il\ y3]s;+\rd{D滏vvVMͻ8ﮞ#~ePWlvD:d OyáOĐJ*Zӫʾd,hOP$As-#pcG ]ȽcVb$ኔk΃rɁފwcV83Ps,pפĭ U f?h9Rٲz+Hm |;:)MBً;rUg߉楄3`Ì3Fю:̡Npv&Y!3g4)''7wõ\gD=43hk_)|a!gJV G|t8.*8m&x㧮pL '&G($n8ٶMJp3piCUg#止"H+תi#E1u{(Vq ekՓb$'.)إ`h1p^mN߶\vw;[;oTgķ|bEK5~c/m;%wWTq< C9shEXIis8?~ޣdaP?3F~⎺ sC7ЧA#jV*M-8Pb^s\ @l4qJ9%q֟vwI t@!7WUAو!.^8~sYq;<~{m3Dy"e."-VvB, ˜rNlnmhQ5Ԝ9Hvߊ7{ͼ긓F~GTnɌA((qߐh4Wzfy9%8?n[6{H;.&5 Ҵi]߼zS-7ׇ$ RIz d`̥Q7/^PCJ+*)nٲZ&$[O>}4Ҋ QkN^JUˊ ՠ$T46-+.p9H}ҽIՅ0B D7*,+8N3י3yk 819,T"Y Խ+γ߻7kΏ PЧ cй-۪D;4 'iT Olugǎr(%,/'JԵ/wWci_{oY%usԉ5:4paukq/AFD[$ .&Pt~!` g|{9ܮ:=^7WXFl6>p䎺+3W>"Յs]d˙N;ZAu3!e<̑}6SuY["jT^$ S*c ӊ@+}CK`>LT8f3F9+˟qoӌDB{7>%b3r7On \xeC@YFA lԩ5 ʤ9i Q)3Ma37ƨ7 U.i!{jc>DBMFɠ Kt=j#Ċۙ{?ҩ;`ԚetF̿ҟ@NUMDWXBA!@ew.2xwzmã)J }XuZn|J'Z-Ε,npɻ/,H g_^1Z}J=Uq e55ZYSbmYB 'I ~z$YzxbHֵ o;TMz}e?PMV;Sֵfs] b|]9O \' ^6dB(2[f]u%{R} >ԩXBqI"CbE1Zҹ?-4?raWﻰJ JUyp;z[8Z=1SJuu,Q @H?<,ȝ[Jǚ/X[8|'w+b'4) \K HIJMV,F`XkUqyZۻ"NbZ:(I Me=_qφLdӉ֦tm%e0o_ӭZ$QeMIֳdjb[˅&Pֳw޵xRR{+w Ӧ ɧg=#6mѷACJ'+w̟;oc]1BoddK$Wn>u*ẉw#){B|}#>,53&f ,쯼T]{$%8rA ƒ&'H͋ZHT3ToDF3fKM$BPzAZ} @M&W&"wj_ӊ#%aי?,=,}k~н[Eu6bD ;]#B#r@Hju$/{û7J-ڑ0jM<ڑk9`B*WHg&2)t&NȕD!C jPWHsz9h:EZHu&NJ eFVJ F1 J&W4  %2H@k62,N[IBH8DK=K)&˧+VMQI9ZO6Gdf3"J,?MyAIe2)EcL Utd λ/UfJЙΜ8h4MM)ZKsƏۀx1mw֭`dOP izƲesK f(w\$a#Zu[p B8uo먴UsYEbjΊV-*Z "d }/>y^cO&f hN0\R>~-k1J`eghUPJܜB@Z@c*1]P`e!K*n`}"PAgt +` %C]P6,43#Yh&Iea*FfBPdgRMT PlW t78 'YvL{FZ*0`&#-] lijN$I;DAlVf:]䪩XMYOIvbVBBԜ,ս"qb7^:m!ñwԪH\ ˂VW4d*]Dq5/$I( ] 4if$b40 ((lJ\ V4s >kx6|e6]` NW( lʊ d!T%!F B#= $Y!H`Cd  A$ 6T$;&J,z}gـ>+KӠQ ld¥Oiw޿o!}GM8>yZ {^Z%is4-zwihy]S]0̶QC٢f;~Zt8~7ʬiPf,M<~cg.\xtϷB +(!fkٕ]ߎ `eBYw/ů `3:}ubFc()3yMs-QVm ab?d6KW>ϷO!MSG;"?>ٞ-C&(>r@Ȗwv̀nmCO!^̖,ﯧ><硢d Xѻ{@~cv]KoO9޻_@Q 6иXM`:{ʊ!?l^(Ǝl.Ç=ƒ%`&$ ы7_~71۝~~Tk?B̷C&m< }pэ;x$)k73k^ѕN-̨Z(kj,j TYY"_UX61ƯngKkzE.o!]RwdԺjBr?-U[7:ˎvXrDd$Y8r9u jC3Ǽn=cihE3NkGHBhF>  nIwɻoj=Wn!SnxH}Zַ'k8-PeEK:9?Fo)k/Qٸ㤶/Ec<%p(b5S"9."kȒG edS%t㉛~ @ųo$b_Fm)yxڨKYEdjkNyXMp^B%{3xD_nb7Ƥ"w~|Q@mٲ{쟶1FUk4Meh] q)Esٖuʖo1&B̎fGL\g{ȴ ~/ӏ[33xCm~;~2hò >%QM !9ΑvoXhUNͫA 7jپx~r )\{?G21b UYi yFe&W-֜>ˍU{O w>(U^@-Xv}v{VoбNOoֈ O1ws-ws2sUgd2s(X*BX*f=+61VYA)MpIcqVfzJ[En.ЦP$I\ܫ9HQ,.$ˆit^zΪ6DtYo^I Ғo#4/nj3j%5>[JN֛.0X2ɛ|Q#18dD^AF%@Pw BXQ VFd2 Vd P84ˉ XfF$I4M0u 0EBEc<egewfNK5O vP_!Rq➑0uzHKurqǡB*Ap $I;DAlVf:M,E4ADj !IdsJ `%_ya 8{Iz%˰,]`u%N3g2' cp! /$I( ] 4if$($Ia FA`WJ. [_#+}.cA(MpŗR6FG `JBX b| tA9r A$ 6Il,P1.CgTY8 $YPYmT˦WU~@AdA%1fh:xZe$/p^N= k$ *31'Jyn6|DaJϟԪxXml@mDVOQںB5j3*a7yΰ!@POR7"Iv^~=y=x:g+lѕy]}ZiٺU3|(@'Oka+Mj{=zPzwihEpx{Δv$Q%FbwDz[̢-gֆ B1׮^8as*A AauZq}M?Q%[ KbV,wa"_8^ڌ3[wއwG`E멯yXdh)>r@{S͉;;f@6!'y&©#vy`CIRe\kYOXѻ{@~cv]K6݊~dѪuG_Gұc:'􏇏zg {?z9cuN@0b`H^$~>~Ę`s]x/iYؾ]oÇ{ U$kҿJϢ$+.]oQO6_<ʟuj؝`F5uBYW/^;g2m!g.^8nkN?}팺}iXU31[1Ckqc?dC~|i0=I ڽ/ caw5ro۹zEɖ?8ub:c>K6v%M-$c۷<9r䨰݆~AkV `oϽCº8i Mc]eLhvS5YA8(b^1r~"yMm9raQ Oɻ^6#r$tv )Ϥ;," sY]\g`!|ZnӹIzٍx:"wV~<]mGKhmʃqJK<ky®[>A|2@zx2&ns„$+1d*/"æ[<{5 fSdhn߿7s~zsl/6fk'/:X`&K}$K5"oV'?K;HrfkxLU?/ir2bF._Nk,M|tq+^B7[u)>Ká\mmUn,s"W:.ۿ <g/Rĵl⼄)O,cY#-eOk'WX`jWQ]wM;)Ϥ;]%rn4kv!.\3[ggQ;wvs}p[*oaц}XP~!죍;NjtpW!B7E5!<ރk?6`~,Sr)KoNĂNSC?a ji<e_ہ+X%?9jB\Q H#1rorґS"cKmiQC1cdD$]))o{N9o̴'5/JPgR95Q<,@瑱4U!L,Sg S)l-/cgX4t{rlQ+%hl3) 24aSv}=GkQ<LTg+یeB\7ny_3q޺"׆ю1;3 C!ĮOzaA3vE IDAT:;5:zˌU"7>1\Br{JB\ FH:`+t,Syoŝ4nCR_m<;́GF6be4 ^7rbl- ۦ9p}0.թ|kޛ*/_Q+- Wh `,ꞑ-TAi9m!m Rfb|f_^S6ws/{2Ƅ7C!8voxtGݾ66 B$G$ξy{D.ӻ?3D2JWMOX;Q9ni;M  3JjOu@ިe^ 0bBr)q>[&51j1%`9Ɋ\7FcRB>]:8糵 ڔb3,?gb/ZZWxclQ~js ~/HvəKJ_oWҾPy:!Bοsh8oy5joL64=*΢V,Zգb-ujkBe l_hԪwn~p .'i1עz7G*3WyL&+Pi[Kp!4jՋ]ႇ뿲 ;ur^P cX`EdA%GD"!NMpD"I'<`5dAeH9T*H$b$IHX$YPɱ钢(l ɂO:٫qˡ0Kl,e )2 #Y`udA%1fh jgjkֆ5U$[pq=Om| )U~Ia!E`5t}m0 SG?˻wC0L7yΰ!>_pZL[XHXSiJ R{58X ' R\q;g ~]U$wrb"[7h" B*"#-5gk^ :`RLoQ`O._gojg \>k ],U,Ƙ'%7iJRQΡWodeծߘ/(e &?Oro-oH8'ww/h-JV9Yvim:ʰ9: 蔙}v, >,#M["ΜKfgaCڑ'8u][:"zMg.fB \"f062 FE{e1 x 4%8.ON'zϕce 1eg R޴mߙ5k֪ݵg%2'77I#"8I_^QǎeF 2egOQr8^KkmCgyCHbvC?\6Aul&zu柹5u!Q~ݺ4+|6jؚ $:8d1wi,3V`o6Eʇܸuf_u(4ۮ2@F]g ؕ.d%<~X!Fc=ypIVc9\n-ܿCF/6B{`Dvh)3t(tW$!a]w9Bo6+K06&oaD׭NjW_v3{˳oKJSf>0񛳙k /8f]e1kKW|dOI|+2':7@(JILY Y0wN>ao;}BCNHt@]3[]Wߢ_H/M5dB .:~cױ]jٛ.lIN^I~a;tmqxr,t~Ust=wiN'Y8%{Ww)Io!0fC̘/^=͞:@.}q7dNNe7WV5Wx~9g7ؽQ%Y )~4[MTIv'7t8KNwIYH V &R(~?jԪw7 RΪe0O^bɨèT .E) @IEBPPU "b x_h{ .x Ivf3{/ 4}4خXf:y4n F XHr~%)GWrj5l%P9T؅+ƕJ,;j9IFZ3RT*XH  HTVh5K~Q89߻}]bL4Z7\] `B!*YaE-<1DgWfZI^0^BI;P9,$)J)?}]ܪId2>_RY)oj2'T C@W!,"R)*yvfFj8JI/nT*eǰ0Tp%ɢ84Ab|*yPYA$ 6Il,$Y!H`Cd  A$ 6Il_ +2$xTdAV}5vb1\X$YPa{89!^V( <׬S(ȳZ ɂ c1~RۢM_ 0QXR='6@0Va|5&{QQa7yΰ!@PORaʦo*0du x/ ¶ӲO֭ڇ >yZ {^)+Os|m|v;jY/ؑF }+c"Zs$Mэv‘ M1(4*M[6ueݧp=ߎ V(]be6?3l [w؀vU2Iv`v'"GֻЯ6(lz&©#vy]"֫M$IQskf=nԿk(ř2`~j59>m%|oH!uFwFu?VEбߘ]ג f@EV$[-gֆeg2S `{$ua֭QQG}Fͽdr;Io9s¹}D-\t#-|,o/;ae^k4QNmҿΟ^? EIRopnbv42e~}:jZ&f~uu;F_Z3{Ռ/2t'h%M-!S_pvwHXV'8ɾ;{L??бydtۥcv:t=xW!$>r@-D%IqlB<E;Nj+H?We@Uʑ@W0wտ{3޿7s~zsl/6fk'/:!T{ɓw-=zls0>l6x?/]9;1H}~ly3^(I7oJH vM]Fѷ_^}˟^ H#0z/\zf2ۘW9桊6U>㉛OmofK=}8NbBHx7yn^7ǞSiQ鼾1r/5&>rt:X?9)rܯr;^0U'Gs4G5^(ĆB:8糵 ڔb3,߽fE6>3"! ><셁]49|ѫD%d'? #.7c?B.8"Ro﹜Y<.P.0f,oNDo3;ycfrGPrN6´\a].ߓ,MHBQE@[h̲h,ڽс:w7bݑْ:1)i˼=_2~ف$qQa~$:~ۧ~9g7ؽ6#tm,".!Cj'4BalL6ݥH/֯&ZrlG]ձ#SNw>-y|IPVݿsS C\X(ZtC!5Ce233; d2Y%@Ln]asЂaB 1AqO֪ۀ7uZ#Gw!Jdk_w/@ÎFܪ$F6QK\ jpQweG?Z՚/AafYuX͖RG\4Uݫْ:ri,J8.FȫhɷlRkEOZ4)r`dן~-sK_U2M_1)';SU9.j_$bZN{k(L^!޲}H=Ԉ1ްVԬ4'[)?ݥ"(1ƌl)h2ܨ{ǡi{̓'nVlY!NS/+t1QQ"qV?V*R)#YϿ]ˀNFRqh9K`sqj3̶(},F?co}j+0۠s[9`klӲu3߀ç~S=y]'K+^'~3-zmv IDAT5SUN1 ?x /lW=35stخCJQ"R8S=AEEPMv Έnڨ~P=ONuy#!v0S ?j٪uG{ka۷ `coϽCº8i Mc]e7vP_)x22r yBߗrjqaAc7ӌ<Ԯ 'cuu@`̨09:-=}} :Oڡi񥃿IcL;S3^Zc<:]Xs;"^_?Ѧr1C몖u:#:Cc{׿m|x_d L Mk/w"MsKއcZ1"ݼwhSTEl\˖ou}`Ç:Uv#L_6Z=}ύ2JEe6f(2n=[l?|A3#YqP)RIwZ;:XD"Ff7.#|yB[ggmN$ءt~!"'OWUPļ ~lW$ᄅ\=-@N:, p;"ykYf$Bnή`oK\IhmʃqJK㉛;JH%t~rR䪹_zw`r=!JU ܅*_NkQROxEM~7r[߱.?g[ My{.6D=57rѺXSJrEr>?vs[up33\1Jv1>_nb7Ƥ"w~|Ccoyg;Pt;́Grf[*hlIAEiF=w6Mh<~9:).quVۤ:8{[!bR^`@"z]OF3ﭸc+c\Ae 23E]nϪ? :iY{ÊEztZ%n^ zM0Q詡_#v (%|zaa?& -zi yFe!D5ϏX!k:}^5[O7&]wi'9sHZsٴo [i% έ5S;=ʨ"H뇸2ogK]q lL_ W\́uM]d'?m7}Wmb>j8;}sU'oDZ'pA T1_ ".!Cj'4BalL6ݥd "6t6O5q TX' R;bMl-ZtC!5Ce233; d2L_eXЌ#g ÂϿ orky *AU =ۥ &=-P*AU%٬xyn.Ø %FS"sE+QCj_[GE< |}5kז(*>,Z'[٨rsr߼|Q-kUV}-j1fXm$л9 HHevvO޳Xe<1fh jjk֮GRY`-fRgr›5kCep<_$' yn|DaZ/,3gss$ z:e&zMgX/t-&a4leyXPHi+|ʎd5j_`6nں}Zb*}~bldAU.שcfU[RtGP߶-;5]޲>Mi-y`*NUZHJ(R/]i`+w_}2^!(4JVu N@ٻOM["ΜKFc+̻! hR3,YJ 5@x~G-؜C5TkOTT*BdAZ/yȭ'N.\L-^C2#6iuʓw-=zlsb2m!g.^8 -Vk[z㎌Z;}팺}iXU31N]>5g:8ȡvkы-|~8P䡳M8~lfӇO祣+GZ>vf]i֨>O^MBaF5uBYW/^;ޚ}\x[:ɠ˳4vƏȢg"/g?$ 6 كr}:vsh)3.%hc<n5T|>p,̝rB~n:uDc3pBW`k CgZ@ytsJ^C\A BHIT Ma3c:PQvKXfdrU"z;S/|i-%p?S(@3pu z u}] ]@ӺfN!ԫGgҴNh}Gus7 {ǷLl -aRٖuʖo1YPYk,?-=iӼ4ڹy؂d¦sGITI=tӌOBϰl)! }ˤ& UcʺX;!+̬s- *\bc~C-7oѼ sǎLu:ͫ lD]FO}9A *wT*H$0]lwV-n0ZqOj\h{Ca[C?"p\.L[i*8- bGNnRܿo<[/:8y~cʷ~DEQŁk*g>òHH$AIt:rpD"I~x* jBa)EQ3A3.>P|C$ le @i$0 A.*EdAĞZVkR#IJlg^Aꈊg!ɂJͰ3=jxI9R(ZL*Nʧy"T6yc،zM|0h4jd#;{MߋկiI$ *!qJR{tZ-̮XQJ[‘w (rsEb;Ȱ0"X)e肑,T0 .`/B70,` lq`CfF$I4MQUzIPRD{'`IS޿_p Ǜ2޽zX^%sldeH-o͗3 R,0PEi4?1tޡmLuA r2CӺ75j)uMf)1׮7o1^nBغy̜D(uryoFZe2ӟ=z srHK[./&yU]JviX2hnnO QsxGf0?>VKlgȳ!t7溍j(JdgQ:ϰy-0d&F!Orvz)P~sP.!FD ^xV XG}`O/_zMHdoXf^^OG I7yĶ;5A$Ed0F'yGV+7l̵;i4kw#8OTfLOF;9f'r!H/R=NY'~fVfN FI!yjw_\I`yC!"Gz Ǥsޡ04U.Sjp,LwmmSp#y0ASpȊg"q͛:4wSB1KxȩgY8[l5^Meo/ѱITZa oZډ""0Λrvm6o CuՖkVk~//GCvUrRݥǫ)aE NE\$9mF+[sd݃UnlT\ #s/Nћ Ue{-LO|\*E˼W#8Xtm/y&Z!iCcIorv/7&ow̧%03CFǨvluZ&R`9yNKJF=m!z#wZLcݚ8E#@{Yv'޿1"A Q*4;>At, j/<} K?s[[й_SN|į1:|%)lTY_>H_L{RvB?H3X+A1?>WS8$ */OSwlJgg_q}o-Ċ=dNS rW ~>}BzD0|YQk'|Oίr7}T>~ @%f髁 /5Bߝ!A$S) @rdA~#=#-y|g[Rv, +")lU+U ,""",^QY^Q +lk,y66-iP>O̙3O8LBHM ! /7)~h]r Y7 ð,kw쮄2 =t_y-ns촕m"ߝ> /9w~O reԆ~r:Z~ߞvP;@nG^}g'(c{t8;;[?)KAJ"e{w@[W[Rmy~JՃ[Х_7|)QR5x_.ke:Y"O>rfR{oݝ݋]I˥ ':cݞvh)Z+wx5kL"-̼pGrΡ#B] Z{Mg`ާ{2twD+ۦ焛_䋼͸Yߟ-8e>(R~g(y.,m:VH:VTHϾ]%r,E*FR羅Ͽ7nvSOLVOksEX-mg %c }5 t^y(߬Z"]|rMTޱ wP\jj!+8æI#MN0 `m n_;U _f.ݠ|bF E89u)06kKkB"J6Qy*ڝf&;_z_Ձ/swG5Yl zvރ=K?y+gM~t>u+kSwʐ's)!eUBJX:KԼOEK3/*opUSWJ"PGբ*J'㮢FM8a SڶHbp cw8[Lr'Bd9!tRs\MYwPlP( 0 59֙p&F@zC)%|>͎ bRj™,ҕRE10F%Hp⡪ O PLͅdQ-{N֫t7d n o:UdnEr,s ?-Yo?^v󑓹5};&LE }b" {N?b],t1tWw-7`8E:v9D'67^w>x:a،|Ђ?|B'*71eQe䚞\rުgH"8~O\]@U{;" FGÌK3= Lhd@M э,+MAW$ YT'WѠW gdvE[@)Q$6kk}y_NZs=+_vUW(m}B^}jCG a"ݢLed5c%4'/٤,YT>)"hh F9W0r04;e1fa$vsH".G&ڒ)Q*]wg7,n鸒bhgRȒ4tP:gǍ3r0Yqj;-K~ ۜطߗza f,MJIDATFRШg8Ś?sظa58EN[(m<>d=ջcsϵgv}޵n 6ɊSiչsx"IA%QÇJRCWWۓtrD |~y3ZSYrI.DKݡKW?rS1c4(1 8%E:vco}jC.QKB(p&t ߋBH0eQHo"%/‘3YO,˩ʲ8@1F8.q"}{t([lȗǐEc&)~A^.!{tR\?4. ,aX;]vWC|UUkS芧j'L+t,dQlM-V[֙OSҫ!T1N)D!G[d;IB͢hN,˲,q L^eYbB YDka"} M=BF-ZhE~W,ҭ+~HUStCC+AeCvvH?BH. V7T?BH!G!G!G!G!Gx,ZIH.R`)B0dQj۷PJ+H%S,ReYNJ;p=,2Xy4nJHx$UQ =gO :uC,ER*ӎ%oQГҶ%DD5ݯ8cٲ 4-vK{K(_20dQQJ=y97Qd}TQa7js M߰X2(CU VK%(V-(PR/E JZsp`BT `)JI YTe2;KwBdQj%<,E Y%~+q9:ybq >K nj)_=ﹱ׭x2,ð,Ь֌~a٫wpj|?KuKqb1=:mKi!p>\]I*ǿ ,VTL;S3_ڣ%UBwf-߱/HkgMz|[/޾C[wcf?~=2w­T ӆwq/ÊR;u޳?Ω0c>}oz=և3V9+J }VJAU{vxGLmFw" j1+wosyϏ H澶d*gI8`s@cR ɢ +-̍|EQ-a$kwnfnFE/~^xy%e|rSQk5]nk%P(,n-q4MMPNmG~ƕ4\VE=v*}9 . VLP586tR_{Jo| Zoq\ՇUw7M~?Y$i3|ǚfz'Q:p{|Eހo?n)993}g?.(jQe3'vZKDR/,SF\'Ѹw).`Ms&߶eSo%? nxv@-:`Iݑ䊭^J mx"g(Z~[r7Ԫ>5zu PbMhz.{.w$J^ߑnRߘݔ')Ͽ7Wf W]{)8]@2g.|1$vj*(QWqoܗ]aikZ`ś9ᚔԡ&%U0;@yqśMoQ祶plDijb+HMǍ ~{FQ?~;ؼeX7ϚfJ*v}l5p,&J[m rK g2yJTY ?j~][@U"<`2,"Kbq}Lv'#xڞ2jc` q*˛FDZ@)QYS{J5\0 (0ւ$bɃedžT^Vwhy^x<_{NHH,R'` R3B[[jPǾklL}Ez \1)Rv7Î@W%߅?(vg89+K=(s8eEUS|epeo0ڌ-t䄎(,R4WCUY(g!r@'cq`)._ `PEIEQEUUBe5KQ%Er5udggl6*^QQQRRJ eI`4yyPh4L&lZ-nlv]Yjq<FIdYCv_־V#[GO p8<_{DBBÉ*I< k(j-bѢl6kKVUA YYeYvٽGr l50=?}G>wsmݶR h\q!P劊\.W$!(J(d*5L&xg]y`0hY٬E3يt~azYlnw$ |v(MvS@Ա){njqQk! EtherApe"> ]>