coursework/0000700010163400004550000000000011521655756013114 5ustar csuhcbdcsugradcoursework/model.dasm0000644010163400004550000000026011521654251015057 0ustar csuhcbdcsugrad# Tim Monk's FFI library # Required for Math Power operations %include "ffi.dasm"; # Diver model %include "diver.dasm"; # Shiny UI %include "wgd/wgd.dasm"; %include "ui.dasm"; coursework/ffi/0000700010163400004550000000000011521553407013646 5ustar csuhcbdcsugradcoursework/ffi/ffi.dasm0000600010163400004550000000023511517656002015262 0ustar csuhcbdcsugradthis modules ffi = (new type=Module file = (new type=LocalFile filename = "libcadence_ffi.so" ) base = (this) update = false ); @ffi = (.ffi);coursework/ffi/ffi.cpp0000600010163400004550000000437311521552043015122 0ustar csuhcbdcsugrad#include #include #include "dll.h" #include #include #include #include using namespace cadence; using namespace cadence::doste; // the <*:9001:*:*> range is used for FFI functions (and partially applied functions) // const OID ffi_base = OID(0,9001,0,0); const OID ffi_lower = ffi_base; const OID ffi_higher = ffi_base + OID(0,4,0,0); class FFIHandler : Handler { public: FFIHandler(const OID &oid); bool handle(Event &event); private: OID m_base; const OID Pow; const OID PartialPow; }; FFIHandler::FFIHandler(const OID &oid) : Handler(ffi_lower, ffi_higher), m_base(oid), Pow(m_base + OID(0,1,0,0)), PartialPow(Pow + OID(0,1,0,0)) {} bool FFIHandler::handle(Event &event) { // currently this uses an insane method for determining what OID to return // this is totally unextensible and will be replaced with a generic system ASAP if (event.type() == Event::GET) { if (event.dest() == m_base) { // if we're looking up pow if (event.param<0>() == OID("pow")) { event.result(Pow); } else { event.result(Null); } } else if (event.dest() == Pow) { // else if we're looking up partially applied pow // if we're looking up an integer, convert it to a double if (event.param<0>().isLongLong()) { OID temp = PartialPow; temp.m_dbl = (double)event.param<0>().m_ll; event.result(temp); } else if (event.param<0>().isDouble()) { OID temp = Pow + OID(0,1,0,0); temp.m_dbl = event.param<0>().m_dbl; event.result(temp); } else { event.result(Null); } } else if (event.dest().b() == PartialPow.b()) { // else we're looking up fully applied pow if (event.param<0>().isLongLong()) { event.result(std::pow(event.dest().m_dbl, (double)event.param<0>().m_ll)); } else if (event.param<0>().isDouble()) { event.result(std::pow(event.dest().m_dbl, event.param<0>().m_dbl)); } else { event.result(Null); } } } return true; } FFIHandler *ffi_handler = NULL; extern "C" void FFIIMPORT initialise(const cadence::doste::OID &base) { base["ffi"] = ffi_base; ffi_handler = new FFIHandler(ffi_base); } extern "C" void FFIIMPORT finalise() { if (ffi_handler != NULL) delete ffi_handler; } coursework/ffi/dll.h0000600010163400004550000000035011521552002014560 0ustar csuhcbdcsugrad#ifdef WIN32 # if BUILD_FFI_DLL # define FFIIMPORT __declspec (dllexport) # else /* Not BUILDING_DLL */ # define FFIIMPORT __declspec (dllimport) # endif /* BUILDING_DLL */ #else # define FFIIMPORT #endif /* WIN32 */ coursework/ffi/configure.ac0000600010163400004550000000275111521550665016146 0ustar csuhcbdcsugradAC_INIT(cadence_module_config, version-0.1) # make it easier to get going in DCS # unfortunately I can't find the headers in empublic # CPPFLAGS="${CPPFLAGS} -I/dcs/emp/empublic/include" LDFLAGS="${LDFLAGS} -L/dcs/emp/empublic/lib" # # check for C++ # AC_MSG_NOTICE([Testing for C++]) AC_PROG_CXX AC_LANG(C++) AC_CHECK_HEADER(iostream) # # check for cadence libs and headers # AC_MSG_NOTICE([Testing for cadence]) AC_CHECK_HEADER(cadence/cadence.h) if test "$ac_cv_header_cadence_cadence_h" == no then AC_MSG_ERROR([could not find cadence development headers, try either: 1 setting the CPPFLAGS environment variable to something like "-I /home/youruser/cadence/include" 2 installing the libcadence headers to somewhere like /usr/local/include]) fi AC_CHECK_LIB(cadence, cadence_check) if test "$ac_cv_lib_cadence_cadence_check" == no then AC_MSG_ERROR([could not link against libcadence, try either: 1 setting the LDFLAGS environment variable to something like "-L /home/youruser/cadence/lib" 2 installing libcadence to somewhere like /usr/local/lib]) fi # # check for math # AC_MSG_NOTICE([Testing for math]) AC_CHECK_LIB(m, pow) # # check arch, setup various flags # CXXFLAGS="$CXXFLAGS -Wall -Wextra -DLINUX -O2" if test "$target_cpu" == "x86_64"; then CXXFLAGS="$CXXFLAGS -DX86_64" else CXXFLAGS="$CXXFLAGS -march=pentium3 -mfpmath=sse" fi # # generate makefiles # AC_OUTPUT(Makefile) echo echo "Everything configured: you may now build the module using the command 'make'" coursework/ffi/Makefile.in0000600010163400004550000000051211521553046015712 0ustar csuhcbdcsugradCXX=@CXX@ CXXFLAGS=@CXXFLAGS@ CPPFLAGS=@CPPFLAGS@ LDFLAGS=@LDFLAGS@ HEADERS=dll.h SOURCES=ffi.cpp OBJECTS=$(SOURCES:.cpp=.o) LIB=libcadence_ffi.so all: $(SOURCES) $(LIB) $(LIB): $(OBJECTS) $(CXX) --shared $(LDFLAGS) -o $@ $(OBJECTS) .cpp.o: $(CXX) -fPIC -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@ clean: rm -f $(LIB) $(OBJECTS) coursework/ffi/README0000600010163400004550000000061411521553377014537 0ustar csuhcbdcsugrad------------------------------------- build instructions for the FFI module ------------------------------------- ./configure make ------------------------------------- usage in cadence: ------------------------------------- make sure that libcadence_ffi.so and ffi.dasm are somewhere in your CADENCE_PATH. you can now use: %include "ffi.dasm" @ffi pow 2 3 e.g. to compute 2 to the power of 3 coursework/ffi/configure0000700010163400004550000033344011521550671015564 0ustar csuhcbdcsugrad#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for cadence_module_config version-0.1. # # Copyright (C) 2003 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 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+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; 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 # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # 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 # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; 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 { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # 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 sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # 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'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME='cadence_module_config' PACKAGE_TARNAME='cadence_module_config' PACKAGE_VERSION='version-0.1' PACKAGE_STRING='cadence_module_config version-0.1' PACKAGE_BUGREPORT='' # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT CXXCPP EGREP LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # 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. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= 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 ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -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 | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$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 ;; -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 ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) 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 ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=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 ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$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'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac 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 echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 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 # 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 its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | 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 if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP # # 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 cadence_module_config version-0.1 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 \`..'] _ACEOF cat <<_ACEOF 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] --datadir=DIR read-only architecture-independent data [PREFIX/share] --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] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of cadence_module_config version-0.1:";; esac cat <<\_ACEOF Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. 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 elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF cadence_module_config configure version-0.1 generated by GNU Autoconf 2.59 Copyright (C) 2003 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 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by cadence_module_config $as_me version-0.1, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ _ACEOF { 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` hostinfo = `(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 test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&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_sep= 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$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 ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$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 { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$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. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } 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 # make it easier to get going in DCS # unfortunately I can't find the headers in empublic # CPPFLAGS="${CPPFLAGS} -I/dcs/emp/empublic/include" LDFLAGS="${LDFLAGS} -L/dcs/emp/empublic/lib" # # check for C++ # { echo "$as_me:$LINENO: Testing for C++" >&5 echo "$as_me: Testing for C++" >&6;} ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out 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. echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h 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=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_iostream+set}" = set; then echo "$as_me:$LINENO: checking for iostream" >&5 echo $ECHO_N "checking for iostream... $ECHO_C" >&6 if test "${ac_cv_header_iostream+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_iostream" >&5 echo "${ECHO_T}$ac_cv_header_iostream" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking iostream usability" >&5 echo $ECHO_N "checking iostream usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking iostream presence" >&5 echo $ECHO_N "checking iostream presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: iostream: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: iostream: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: iostream: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: iostream: present but cannot be compiled" >&5 echo "$as_me: WARNING: iostream: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: iostream: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: see the Autoconf documentation" >&5 echo "$as_me: WARNING: iostream: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: iostream: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: iostream: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: iostream: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ------------------------------------------------ ## ## Report this to the cadence_module_config lists. ## ## ------------------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for iostream" >&5 echo $ECHO_N "checking for iostream... $ECHO_C" >&6 if test "${ac_cv_header_iostream+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_iostream=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_iostream" >&5 echo "${ECHO_T}$ac_cv_header_iostream" >&6 fi # # check for cadence libs and headers # { echo "$as_me:$LINENO: Testing for cadence" >&5 echo "$as_me: Testing for cadence" >&6;} if test "${ac_cv_header_cadence_cadence_h+set}" = set; then echo "$as_me:$LINENO: checking for cadence/cadence.h" >&5 echo $ECHO_N "checking for cadence/cadence.h... $ECHO_C" >&6 if test "${ac_cv_header_cadence_cadence_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_cadence_cadence_h" >&5 echo "${ECHO_T}$ac_cv_header_cadence_cadence_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking cadence/cadence.h usability" >&5 echo $ECHO_N "checking cadence/cadence.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking cadence/cadence.h presence" >&5 echo $ECHO_N "checking cadence/cadence.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: cadence/cadence.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: cadence/cadence.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: cadence/cadence.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: cadence/cadence.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: cadence/cadence.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: cadence/cadence.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: cadence/cadence.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: cadence/cadence.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ------------------------------------------------ ## ## Report this to the cadence_module_config lists. ## ## ------------------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for cadence/cadence.h" >&5 echo $ECHO_N "checking for cadence/cadence.h... $ECHO_C" >&6 if test "${ac_cv_header_cadence_cadence_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_cadence_cadence_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_cadence_cadence_h" >&5 echo "${ECHO_T}$ac_cv_header_cadence_cadence_h" >&6 fi if test "$ac_cv_header_cadence_cadence_h" == no then { { echo "$as_me:$LINENO: error: could not find cadence development headers, try either: 1 setting the CPPFLAGS environment variable to something like \"-I /home/youruser/cadence/include\" 2 installing the libcadence headers to somewhere like /usr/local/include" >&5 echo "$as_me: error: could not find cadence development headers, try either: 1 setting the CPPFLAGS environment variable to something like \"-I /home/youruser/cadence/include\" 2 installing the libcadence headers to somewhere like /usr/local/include" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: checking for cadence_check in -lcadence" >&5 echo $ECHO_N "checking for cadence_check in -lcadence... $ECHO_C" >&6 if test "${ac_cv_lib_cadence_cadence_check+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcadence $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char cadence_check (); int main () { cadence_check (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_cadence_cadence_check=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_cadence_cadence_check=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_cadence_cadence_check" >&5 echo "${ECHO_T}$ac_cv_lib_cadence_cadence_check" >&6 if test $ac_cv_lib_cadence_cadence_check = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCADENCE 1 _ACEOF LIBS="-lcadence $LIBS" fi if test "$ac_cv_lib_cadence_cadence_check" == no then { { echo "$as_me:$LINENO: error: could not link against libcadence, try either: 1 setting the LDFLAGS environment variable to something like \"-L /home/youruser/cadence/lib\" 2 installing libcadence to somewhere like /usr/local/lib" >&5 echo "$as_me: error: could not link against libcadence, try either: 1 setting the LDFLAGS environment variable to something like \"-L /home/youruser/cadence/lib\" 2 installing libcadence to somewhere like /usr/local/lib" >&2;} { (exit 1); exit 1; }; } fi # # check for math # { echo "$as_me:$LINENO: Testing for math" >&5 echo "$as_me: Testing for math" >&6;} echo "$as_me:$LINENO: checking for pow in -lm" >&5 echo $ECHO_N "checking for pow in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_pow+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pow (); int main () { pow (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_m_pow=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_pow=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_m_pow" >&5 echo "${ECHO_T}$ac_cv_lib_m_pow" >&6 if test $ac_cv_lib_m_pow = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi # # check arch, setup various flags # CXXFLAGS="$CXXFLAGS -Wall -Wextra -DLINUX -O2" if test "$target_cpu" == "x86_64"; then CXXFLAGS="$CXXFLAGS -DX86_64" else CXXFLAGS="$CXXFLAGS -march=pentium3 -mfpmath=sse" fi # # generate makefiles # ac_config_files="$ac_config_files 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, don't put newlines in cache variables' values. # 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. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *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 \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" 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}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ 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[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then we branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. cat >confdef2opt.sed <<\_ACEOF t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g t quote s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g t quote d : quote s,[ `~#$^&*(){}\\|;'"<>?],\\&,g s,\[,\\&,g s,\],\\&,g s,\$,$$,g p _ACEOF # We use echo to avoid assuming a particular line-breaking character. # The extra dot is to prevent the shell from consuming trailing # line-breaks from the sub-command output. A line-break within # single-quotes doesn't work because, if this script is created in a # platform that uses two characters for line-breaks (e.g., DOS), tr # would break. ac_LF_and_DOT=`echo; echo .` DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` rm -f confdef2opt.sed ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $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} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # 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+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; 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 # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # 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 # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; 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 { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # 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 sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # 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'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by cadence_module_config $as_me version-0.1, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -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 --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ cadence_module_config config.status version-0.1 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. 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=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; 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 if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; 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+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@CXXCPP@,$CXXCPP,;t t s,@EGREP@,$EGREP,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # 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. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # 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 || { (exit 1); exit 1; } fi echo echo "Everything configured: you may now build the module using the command 'make'" coursework/ui.dasm0000644010163400004550000003335611521654252014411 0ustar csuhcbdcsugrad@window title = "Dangerfield's Dive Model"; @screen = (@widgets root children); @screen sea = (new union (@prototypes image) filename="images/sea.png" x = 0 y = 0 height = 600 width = 800 children = (new) ); @screen diver = (new union (@prototypes image) filename="images/diver.png" x = 100 y := {30 + (@root depth * (8))} visible := { if(@root depth == (@root targetdepth)) { true } else { false } } width = 47 height = 14 ); @screen diverAscend = (new union (@prototypes image) filename="images/diverAscend.png" x = 100 y := {30 + (@root depth * (8))} visible := { if(@root depth > (@root targetdepth)) { true } else { false } } width = 14 height = 47 ); @screen diverDescend = (new union (@prototypes image) filename="images/diverDescend.png" x = 100 y := {7 + (@root depth * (8))} visible := { if(@root depth < (@root targetdepth)) { true } else { false } } width = 14 height = 47 ); @screen target = (new union (@prototypes image) filename="images/target.png" x = 100 y := {30 + (@root targetdepth * (8))} visible := { if(@root depth == (@root targetdepth)) { false } else { true } } width = 11 height = 11 ); @tints = (new normal = (new r = 0 g = 0.54 b = 0.93) error = (new r = 1 g = 0 b = 0) warn = (new r = 1 g = 0.78 b = 0) ); @sprite = (new basic = (new union (@prototypes sprite) filename = "images/sprite.png" columns = 2 ) ); @templates = (new); @templates %deep label = (new union (@prototypes label) tint := {@tints normal} frame = 1 sprite := {@sprite basic} ); @templates %deep valueIndicatorSmall = (new union (@prototypes widget) width = 140 height = 20 %deep children = (new %deep label = (new union (@templates label) x = 10 y = 2 width = 50 ) %deep value = (new union (@templates label) x := {..label x + (..label width)} y = 2 ) ) tint := {@tints normal} sprite := {@sprite basic} ); @templates %deep indicatorGroup = (new union (@prototypes widget) width = 250 items = 1 height := {40 + (.items * (20))} %deep children = (new %deep label = (new union (@templates label) x = 10 y = 4 width := {...width - (20)} ) ) tint := {@tints normal} sprite := {@sprite basic} ); @templates %deep indicatorGroupItem = (new union (@prototypes widget) width = 200 height = 20 x = 10 y = 25 %deep children = (new %deep label = (new union (@templates label) x = 5 y = 2 width = 100 ) %deep value = (new union (@templates label) x := {..label x + (..label width)} y = 2 ) ) tint := {@tints normal} sprite := {@sprite basic} ); @templates %deep depthlabel = (new union (@templates label) x = 30 depth = 0 y := {30 + (.depth * (8))} caption := {.depth} ); @templates %deep compartment = (new union (@templates indicatorGroupItem)); @templates compartment children value caption := {...pointer gases nitrogen pp}; @templates %deep ceiling = (new union (@templates indicatorGroupItem)); @templates ceiling tint := { if(.pointer ceiling actualDepth > (@root depth)) { @tints error } else if(..pointer ceiling depth > (@root depth)) {@tints warn} else { @tints normal } }; @templates ceiling children value caption := {...pointer ceiling depth}; # Basic Dive Gauge @screen depthgauge = (new union (@templates valueIndicatorSmall) x = 250 y = 100 ); @screen depthgauge children label caption = "Depth:"; @screen depthgauge children value caption := {@root depth}; @screen maxdepth = (new union (@templates valueIndicatorSmall) x := {@screen depthgauge x} y := {@screen depthgauge y + (@screen depthgauge height) + (10)} ); @screen maxdepth children label caption = "Max:"; @screen maxdepth children value caption := {@root maxdepth}; @screen timer = (new union (@templates valueIndicatorSmall) x := {@screen depthgauge x} y := {@screen maxdepth y + (@screen maxdepth height) + (10)} ); @screen timer children label caption = "Time:"; @screen timer children value caption := {@root modeltimeminutes}; # Game Speed @screen speed = (new union (@templates valueIndicatorSmall) x := {@screen depthgauge x} y := {@screen timer y + (@screen timer height) + (10)} ); @screen speed children label caption = "Speed: x"; @screen speed children value caption := {@root xspeed}; @screen speed children value x := {..label x + (..label width) + (12)}; # Mix Percentages @screen mix = (new union (@templates indicatorGroup) x := {@screen depthgauge x} y := {@screen speed y + (@screen timer height) + (10)} items = 1 ); @screen mix children label caption = "Gas Mix (%)"; @screen mix children oxygen = (new union (@templates indicatorGroupItem)); @screen mix children oxygen children label caption = "Oxygen"; @screen mix children oxygen children value caption := {@root gases oxygen mix * (100)}; # Nitrogen is ignored in mix specs. # Breating Gas Pressures @screen breathingpp = (new union (@templates indicatorGroup) x := {@screen depthgauge x} y := {@screen mix y + (@screen mix height) + (10)} items = 2 ); @screen breathingpp children label caption = "Partial Pressures of Supplied Gas (BAR)"; @screen breathingpp children oxygen = (new union (@templates indicatorGroupItem)); @screen breathingpp children oxygen children label caption = "Oxygen"; @screen breathingpp children oxygen children value caption := {@root gases oxygen pp}; # Oxygen becomes increasingly dangerous ("Oxygen toxicity") over a partial pressure of 1.4+ bar. Indicate so: @screen breathingpp children oxygen tint := { if(@root gases oxygen pp > (2.0)) {@tints error} else if(@root gases oxygen pp > (1.4)) {@tints warn} else {@tints normal}}; @screen breathingpp children nitrogen = (new union (@templates indicatorGroupItem) y := {..oxygen y + (..oxygen height)} ); @screen breathingpp children nitrogen children label caption = "Nitrogen"; @screen breathingpp children nitrogen children value caption := {@root gases nitrogen pp}; # Nitrogen narcosis gets increasing dangerous at pressures over 4 bar. @screen breathingpp children nitrogen tint := { if(@root gases nitrogen pp > (5.0)) {@tints error} else if(@root gases nitrogen pp > (4.0)) {@tints warn} else {@tints normal}}; # Tissue States @screen compartments = (new union (@templates indicatorGroup) x = 520 y = 100 items = 9 ); @screen compartments children label caption = "Tissue Pressures for Nitrogen (BAR)"; @screen compartments children 0 = (new union (@templates compartment) pointer := {@root compartments 0} ); @screen compartments children 0 children label caption = "Compartment 1:"; @screen compartments children 1 = (new union (@templates compartment) y := {..0 y + (..0 height)} pointer := {@root compartments 1} ); @screen compartments children 1 children label caption = "Compartment 2:"; @screen compartments children 2 = (new union (@templates compartment) y := {..1 y + (..1 height)} pointer := {@root compartments 2} ); @screen compartments children 2 children label caption = "Compartment 3:"; @screen compartments children 3 = (new union (@templates compartment) y := {..2 y + (..2 height)} pointer := {@root compartments 3} ); @screen compartments children 3 children label caption = "Compartment 4:"; @screen compartments children 4 = (new union (@templates compartment) y := {..3 y + (..3 height)} pointer := {@root compartments 4} ); @screen compartments children 4 children label caption = "Compartment 5:"; @screen compartments children 5 = (new union (@templates compartment) y := {..4 y + (..4 height)} pointer := {@root compartments 5} ); @screen compartments children 5 children label caption = "Compartment 6:"; @screen compartments children 6 = (new union (@templates compartment) y := {..5 y + (..5 height)} pointer := {@root compartments 6} ); @screen compartments children 6 children label caption = "Compartment 7:"; @screen compartments children 7 = (new union (@templates compartment) y := {..6 y + (..6 height)} pointer := {@root compartments 7} ); @screen compartments children 7 children label caption = "Compartment 8:"; @screen compartments children 8 = (new union (@templates compartment) y := {..7 y + (..7 height)} pointer := {@root compartments 8} ); @screen compartments children 8 children label caption = "Compartment 9:"; # Depth Labels @screen sea children metres00 = (new union (@templates depthlabel) depth = 0); @screen sea children metres10 = (new union (@templates depthlabel) depth = 10); @screen sea children metres20 = (new union (@templates depthlabel) depth = 20); @screen sea children metres30 = (new union (@templates depthlabel) depth = 30); @screen sea children metres40 = (new union (@templates depthlabel) depth = 40); @screen sea children metres50 = (new union (@templates depthlabel) depth = 50); @screen sea children metres60 = (new union (@templates depthlabel) depth = 60); # Keyboard interaction # UP & DOWN controls depth # LEFT & RIGHT controls game speed # NUMBERS switch between gas mixes # The following is intended to reduce the key press rate, so the targetdepth is somewhat easier to control # [NOTE] For some unknown-to-the-author reason, keyboard presses appear to come in 2s, thus targetdepth jumps in 2m. @keyboardtimings = (new up = 0 down = 0 right = 0 left = 0); @keyboardclicks = (new up = false down = false right = 0 left = 0); @keyboardtimings up := { if(@keyboardclicks up == true) { @root time } else { @keyboardtimings up }} ; @keyboardtimings down := { if(@keyboardclicks down == true) { @root time } else { @keyboardtimings right }} ; @keyboardtimings right := { if(@keyboardclicks right == true) { @root time } else { @keyboardtimings right }} ; @keyboardtimings left := { if(@keyboardclicks left == true) { @root time } else { @keyboardtimings left }} ; @keyboardclicks up := { if(@keyboard keys up == true and (@root time - (@keyboardtimings up) > 0.2)) { true } else { false } }; @keyboardclicks down := { if(@keyboard keys down == true and (@root time - (@keyboardtimings down) > 0.2)) { true } else { false } }; @keyboardclicks right := { if(@keyboard keys right == true and (@root time - (@keyboardtimings right) > 0.2)) { true } else { false } }; @keyboardclicks left := { if(@keyboard keys left == true and (@root time - (@keyboardtimings left) > 0.2)) { true } else { false } }; @keyboard lastnumber := { if(@keyboard keys '1' == true) {1} else if (@keyboard keys '2' == true) {2} else if (@keyboard keys '3' == true) {3} else {@keyboard lastnumber} }; @root gases oxygen mix := { if(@keyboard lastnumber == 2) {0.32} else if (@keyboard lastnumber == 3) {0.36} else {0.21} }; # [NOTE] When cadence can do Math.max & Math.min, we can add boundaries for the targetdepth nicely @root targetdepth := { if(@keyboardclicks down == true) { if(@root targetdepth + 1 >= 60) { 60 } else { @root targetdepth + 1 } } else if(@keyboardclicks up == true) { if(@root targetdepth - 1 <= 0) { 0 } else { @root targetdepth - 1 } } else { @root targetdepth } }; @root xspeed := { if(@keyboardclicks left == true) { if(@root xspeed - 1 <= 1) { 1 } else { @root xspeed - 1 } } else if(@keyboardclicks right == true) { @root xspeed + 1 } else { @root xspeed } }; # Ceiling outputs @screen ceilings = (new union (@templates indicatorGroup) x := {@screen compartments x} y := {@screen compartments y + (@screen compartments height) + (10)} items = 9 ); @screen ceilings children label caption = "Tissue Ceilings (METRES DEPTH)"; @screen ceilings children 0 = (new union (@templates ceiling) pointer := {@root compartments 0} ); @screen ceilings children 0 children label caption = "Compartment 1:"; @screen ceilings children 1 = (new union (@templates ceiling) y := {..0 y + (..0 height)} pointer := {@root compartments 1} ); @screen ceilings children 1 children label caption = "Compartment 2:"; @screen ceilings children 2 = (new union (@templates ceiling) y := {..1 y + (..1 height)} pointer := {@root compartments 2} ); @screen ceilings children 2 children label caption = "Compartment 3:"; @screen ceilings children 3 = (new union (@templates ceiling) y := {..2 y + (..2 height)} pointer := {@root compartments 3} ); @screen ceilings children 3 children label caption = "Compartment 4:"; @screen ceilings children 4 = (new union (@templates ceiling) y := {..3 y + (..3 height)} pointer := {@root compartments 4} ); @screen ceilings children 4 children label caption = "Compartment 5:"; @screen ceilings children 5 = (new union (@templates ceiling) y := {..4 y + (..4 height)} pointer := {@root compartments 5} ); @screen ceilings children 5 children label caption = "Compartment 6:"; @screen ceilings children 6 = (new union (@templates ceiling) y := {..5 y + (..5 height)} pointer := {@root compartments 6} ); @screen ceilings children 6 children label caption = "Compartment 7:"; @screen ceilings children 7 = (new union (@templates ceiling) y := {..6 y + (..6 height)} pointer := {@root compartments 7} ); @screen ceilings children 7 children label caption = "Compartment 8:"; @screen ceilings children 8 = (new union (@templates ceiling) y := {..7 y + (..7 height)} pointer := {@root compartments 8} ); @screen ceilings children 8 children label caption = "Compartment 9:"; coursework/diver.dasm0000644010163400004550000001500511521654252015074 0ustar csuhcbdcsugrad# HEALTH WARNINGS # * Do not use this script to plan your diving. Always use a dive computer. # * Reading this script may cause you confusion if you don't understand union & %deep .xspeed = 4; .xspeed := {4}; .modelitime := { .itime * ( .xspeed ) }; .modeltime = 0; .modeltime := { .modeltime + (.modelitime) }; .modeltimeminutes := {.modeltime / (60)}; # Depth target in water .targetdepth = 0.0; .targetdepth := {0.0}; # 12 metres/minute ascent rate .ascentrate = 0.2; # 30metres/minute descent rate .descentrate = 0.5; # Depth changes as by the ascent/descent rate, to the target depth .depth = 0.0; .depth := { # [NOTE] Dot notation appears to be inconsistent in this revision of Cadence if (.targetdepth - (.modelitime) < (.depth) and (.targetdepth + (.modelitime) > (.depth))) { ..targetdepth } else { if (..depth < (..targetdepth)) { ..depth + (..descentrate * (..modelitime)) } else { ..depth - (..ascentrate * (..modelitime)) } } }; # Pressure on body in BAR, as a multiple of the pressure at sea level .atmospheres := {.depth/10 + 1.0}; # Keep a record of maximum depth .maxdepth = 0; .maxdepth := { if(.depth > (.maxdepth)) { ..depth } else { ..maxdepth } }; # A diver will breath a gas mix, comprised of many component gases. # The scuba kit will supply a different pressure of the gas mix at different depths # The partial pressures of each component gas are calculated .gases = (new %deep abstract = (new mix = 0 pp is {.mix * (@root atmospheres)} ) ); # These mix percentages are common to most air on Earth # Gas mix should be identical to air on model initialisation .gases oxygen = (new union (.gases abstract)); .gases oxygen mix = 0.2095; # Changing the percentage of oxygen in the gas results in less Nitrogen # Divers call these 'Rich mixes', and result in faster decompression rates .gases nitrogen = (new union (.gases abstract)); .gases nitrogen mix is {1 - (@root gases oxygen mix)}; # Model design allows other gas mixes to be added fairly easily. # Advanced divers may use Helium, Hydrogen or even Neon. # The majority of all diving is however, made on Nitrox (oxygen & nitrogen) # Contents of the human body are grouped into i compartments # Fast tissue live in .compartments 0 # Slow bits, like bone marrow are in the ith compartment. # The size of i, and their individual half times has changed between research over time. # The size of i can be changed in this model .compartments = (new %deep abstract = (new #Each compartment has a different half time, in minutes %deep halfLife = (new minutes = 1 seconds := {.minutes * 60} ) #Each compartment is saturated by a number of gases %deep gases = (new abstract = (new supplied = 1 pp = 1 ) ) a = 0 b = 0 ) ); # Breathing gas mix component's partial pressure pointers intialised .compartments abstract gases %deep oxygen = (new union (.compartments abstract gases abstract)); .compartments abstract gases %deep nitrogen = (new union (.compartments abstract gases abstract)); .compartments abstract gases oxygen supplied := {@root gases oxygen}; .compartments abstract gases nitrogen supplied := {@root gases nitrogen}; # Partial pressures in each tissue are initialised to air .compartments abstract gases oxygen pp := {.supplied pp}; .compartments abstract gases nitrogen pp := {.supplied pp}; # o2 Toxicity Calculations # Oxygen is special. Too high a PP (1.4+), and body could react (dangerously) AT ANY TIME .compartments abstract gases oxygen pp := {.supplied pp}; # Nitrogen Decompression model # Nitrogen is more complex. It follows a gradient of absorbition and release # Too high a PP, and diver gets Nitrogen Narcosis # [NOTE] Cadence IDE does not display the accuracy required for some variables. pp however, calculates correctly. .compartments abstract gases nitrogen Po := {.pp}; .compartments abstract gases nitrogen Pi := {.supplied pp}; .compartments abstract gases nitrogen PiMinusPo := {.Pi - (.Po)}; .compartments abstract gases nitrogen t := {@root modelitime}; .compartments abstract gases nitrogen halfTime := {...halfLife seconds}; .compartments abstract gases nitrogen TimeOverHalfLife := {.t / (.halfTime)}; .compartments abstract gases nitrogen NegativeTimeOverHalfLife := {0 - (.TimeOverHalfLife)}; .compartments abstract gases nitrogen TwoPowerNegativeTimeOverHalfLife := {@ffi pow 2 (.NegativeTimeOverHalfLife)}; .compartments abstract gases nitrogen HalfLifeChange := {1 - (.TwoPowerNegativeTimeOverHalfLife)}; .compartments abstract gases nitrogen Pchange := {.PiMinusPo * (.HalfLifeChange) }; .compartments abstract gases nitrogen pp := { .Po + (.Pchange) }; # Every tissue has a ceiling (ie, a minimum depth to perform a decompression stop) # Not required for oxygen, but for other gases it is required. # Don't want to stop the diver on the limit, but a few metres below it # Negative ceilings are also bad. # [NOTE] Rounding functionality in Cadence would be useful here .compartments abstract %deep ceiling = (new actualBar := {..b * (..gases nitrogen pp - (..a))} actualDepth := {10 * (.actualBar - (1))} depth :={ if(.actualDepth > (0)) { ..actualDepth + (3) } else {0} } ); # Different compartments, and their different half times .compartments 0 = (new union (.compartments abstract)); .compartments 0 halfLife minutes = 4; .compartments 0 a = 1.2599; .compartments 0 b = 0.5050; .compartments 1 = (new union (.compartments abstract)); .compartments 1 halfLife minutes = 5; .compartments 1 a = 1.0000; .compartments 1 b = 0.6514; .compartments 2 = (new union (.compartments abstract)); .compartments 2 halfLife minutes = 8; .compartments 2 a = 0.8618; .compartments 2 b = 0.7222; .compartments 3 = (new union (.compartments abstract)); .compartments 3 halfLife minutes = 12.5; .compartments 3 a = 0.7562; .compartments 3 b = 0.7725; .compartments 4 = (new union (.compartments abstract)); .compartments 4 halfLife minutes = 18.5; .compartments 4 a = 0.6200; .compartments 4 b = 0.8125; .compartments 5 = (new union (.compartments abstract)); .compartments 5 halfLife minutes = 27; .compartments 5 a = 0.5043; .compartments 5 b = 0.8434; .compartments 6 = (new union (.compartments abstract)); .compartments 6 halfLife minutes = 38.3; .compartments 6 a = 0.4410; .compartments 6 b = 0.8693; .compartments 7 = (new union (.compartments abstract)); .compartments 7 halfLife minutes = 54.3; .compartments 7 a = 0.4000; .compartments 7 b = 0.8910; .compartments 8 = (new union (.compartments abstract)); .compartments 8 halfLife minutes = 77.0; .compartments 8 a = 0.3750; .compartments 8 b = 0.9092; coursework/ffi.dasm0000644010163400004550000000023511521654253014527 0ustar csuhcbdcsugradthis modules ffi = (new type=Module file = (new type=LocalFile filename = "libcadence_ffi.so" ) base = (this) update = false ); @ffi = (.ffi);coursework/images/0000755010163400004550000000000011521364575014367 5ustar csuhcbdcsugradcoursework/images/diverDescend.png0000600010163400004550000000446511521654253017470 0ustar csuhcbdcsugrad‰PNG  IHDR/Ó¸ûBsBIT|dˆ pHYs  ÒÝ~ütEXtCreation Time01/28/11i–ŒtEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:16:05Z 2011-01-28T13:26:34Z image/png íÓYLtEXtSoftwareAdobe FireworksO³NtIDATH‰�”Mh]UÇÿ3sî÷}¯ïå%�m,Ô6“ôÙUUÚEºªD(HÓ… é—â²t©à¦[QQPÄm,Ø…‚ˆŸXAã7­¤¶…Ðô™¦­ij^r¿Æ…÷=n_n¢.wÎïÌ™ÿ™¨*fff¶oÙ²e–ˆ¢z½¾¿Z­>†á”ªb½UÅ®]»:Ž£Ô÷ý7Eä¶eY¯o2ÌÎÎ6WWWAD·ˆÈNÓ´¦ªØÀDd ˆ¨ÍÌï23Tu¤R©ìØ Ãð`æ¹;wî|)"_dYf§i:¾!ØjµþÊÁ_Àó¤i:º!DZOD0 “““gEd.˲‡×MRUà"Ò ë¨fÛöKƘï6R•Œ1€(‚‹�‰è}Õf³é”F™ù 3ÿ\ ÌÛ¶ý-€ŒˆÔó¼Ã݈"²—ˆN7›ÍçŽ92˜¾”׫‰¢èišÞQ�ˆ.PÛ¶Õó¼�TŽãœ ÅEDI†£ª βì6€%ˆ¢Q=”ßâj>ÀºFD‹aþ  +Î¥ŽSUÃÃÕ(ŠZ%º-\¿~ýVTÕ‹0œ››ò}¿ÖK1óåîw~­ËÅk©êP»Ý®æ£³Î÷‚Ý|òç ÃðBoŽY– 5›ÍJÿP§Û·‹ÈrG=Û¶?ó}ÿ-ö¨ºÊÌs®ë^�ªâÌ™3®ïû× ”ˆîyŠâ½Û­”þþþóëm,.I&&&Nkõ÷ù×X–e˜žž¾Ñ.o,0WŒøÇÿç™yº º®û=3§ÿEQ-Žã­]°Ýn_0Æœí}»‹¬ÜÓȵZí˜eYÏæÎR‘»;wî¼±¦�Ã0|†ˆþf挙o¢ðƘ»žç½§ª b=nÚ´É$I²_U]¹/MÓ½+++Ç;{Â0<´´´ô€õGGÃÌ¡PM¶m¿µyóæñu§œª¢Z­î‘b�ªeY*"­ š¥S2ƼÁÌ "ˆÈµ c^6ÆÜ¤Þž+Z£Ñ°Tõx»Ý>àëv»ýjÇ÷CýÙU#örIEND®B`‚coursework/images/target.png0000600010163400004550000014160411521654254016355 0ustar csuhcbdcsugrad‰PNG  IHDR ©¬w&sBIT|dˆ pHYs  ÒÝ~ütEXtCreation Time01/28/11i–ŒtEXtSoftwareAdobe FireworksO³NuprVWxœí›Ýr£È€'©ä2ï�ûÔ¤‰Z«*ºÁͨuÓ�wFšÅ4ã]YFð@yŒ}€­§ûøÇÿðÏw·Éïî´Ê¯¿²õÝt<ð�±g‹´÷uj6É"eGaå.#Þ‘7´’–é’Ô³å "FÖNx¥šÐORMäçX4"R©O¥Î"FóIBª žéÕÖë…ß?u^q‹ZrëM¥á=ÌcI‹ÁsE”^/é0SiñjåYÍìİJ‘–ª­ï‹zs˧¹M~ä=¼[퇌š‰Ôã<| s÷bh:F ÂxÇ:ö9ŒU¦ ¬²>¤Æ%¦É„2®�gîÖ»lRNâï×ö,ÈW¢eQØ”NÜ2Ò@&]±Šïó¥Û–ŸdÅOßš5Y¢è,]Ù˜¦MÔ`wëݬY¡¹½ióÖï‹¥}·YÚ×Zßïaü§… ¹&÷N±b3ÞO»¤š+Í„ÎL–.ÒØ/¢Ù¶H}ýq%,?Ì?.wüÀ¶~ll‘)#g¼Îïováa®YÇÉúIN™02‹ÍBÓÓߨˉWe¡øV[ûÊXíµ®­-×±/{ßçõmrtx½®ÄÀ&¢½5qÀÈmÀµ<É>ïÉA~ ó­Oy¶@ÃHZy•PÙƒ¾@æÔû蹆ç(ØKïuªæ#Ô„‚Þ¤-¶~$kÖ±°AÕô‚0‹Q:$ºª¤ #±õŽ0fʨ ¢n*e¨ ïêŽ:”Ú«#"x§¡ÏÜ€=šÜå)È_Úq¨M–d�¯7ËÖ*Ll—;µ/²«#N¾TùÎTI0íØµß®wöm¹Ë›àòÅ÷Œ¶‡¼Ÿná§66:¿y»‰)F]ûªÁæ�6ÁðQ‡Ó|›/gÒæCæd[s·åŸÏSû»|9½йØ|Ó1"-¾ÉInãóǘ q0›3ˆU�.k˜×Þ7O±¨�ñýì~ð*®a­×RƒÍço…0UMLÁæwet¼/–®¥¢Vsl~î(šùÒ$!´Ã—ÞÉò"ÂE0Ó7èö¿‹øûÉŸ­÷Þ|þ~‘¾WØü?Ž×_ßÞÖ÷l󛻉ڇ²]±wŮſ/!�n–³Ã¢ö …fØü`v¬X† ¤¡‚ô›W:®ù¸òÛE[Ýaó{i˜=–2ª–�¾úØ|ŸÕD�Ɔ4ÞÃ�/ë˜r+‡ô‹CåaóÝ„@©Öˆ�S:C�ͧùJÝ.  ? e„îÿ‰2ê[(WâŒfijfØü…®»‡ÔÉÜG„èò¿RŸ²=ÄÝ}ÙPR£¯?ûr e_·¹3ë ŠÎÿ° À¿ŽïŠ¿DüuÁîçŪÙWÙ.ÄæCÙ߀߷ÛBÇ586ÿ¶¼ÎÚ“ÿ‡°¿«¹]<l¾½ÞeÃ3Àæ7ù*n”e}SFá¡Ðë¯ã|yw[n­c¢½Ž…èú¯¤Å¦"ð:a…#>ÿÄžhÓ®,ñPFèö÷´õ9QýÍ2Ü/4ºÿ?mƒR9M?â�?=mƒy‡Œ ç·O[ÌÞq^{Õ:ʰù™ÊØŒ5§-öP`ó #r*jZ%´ "ÅÏÿ…e*nŒ%¶Þ MŽÍ??¶Àæ�Gt¡™sŠÃØ|{Œ½J ¨¥Fß®ÔX÷õžËõxÔ…ôf\w£rß�Hœ#6ß7í϶À±ù È}=p=n⯿ÿ=vÜç+ñ™Eøù7'û§ã=3?¡Ç; ¼cbò £±Ÿôý¯ñè Ö]ŒGÚB£ïÿZŒÐÓ‘mê¿þýùñ#ºþ}¾õ\Ѱ±­À’ºþ+>´”§>µ´/WÅ2~ƒ±ù±±ÕóŒÍ'²÷,¥=ˆÁYÈktÿ{Öúõ~ýÿ¼ö[@°ù[®Ûf"Ç6 lþxìês¢ ÿâ–ªÑ÷Ÿ+L�ÏZ@°ùç->Ø|й îžZ|n±ù½ ^% DêÙÿ#M�{½Xù}é<¶‚`óÏ[·°ùc;\ o"9˜ÄæOÂFýOÔö±u ›?Ö<à÷ë™4GžLÐÏ?îÏZ-±ù§´‡Ì‘õ˜ƒãç¿7«¢5“ìn™±-›Þv‰ÍU‘4²–qD€®ÿ£ P÷��¨Ô›(üõÜsìË%ä¿Kw¬…°ù㞣»ž¨¶\=¶bbómq²?N¼)äÂØü© ›`l»V4¯xƒîÿ>ÿ�”®†Äˆ@‘¼KúþËÕÜ ëMÔ:ùJ�½0Øü]Ö¯�ö¡OAÒi‡^;³û¹SÖÁU`ͱùÁ,.ÈTõQn–ñþ›ÿcÏÛøoØìg×Oæ_úû/Í¿´üÿpaþo¾rý?|åßiþß¾òïÿÚíïkÿþîÂüßÿ¯Éÿ…ûß¾pþüùú~þüî•üóûóño�ïo~ÿ¯7~ÏKò­<Îíí\?/�«|_{ÿ‹øôÊ÷ùÒïû ÿ}ãý—ö�óù_’ﯭ¯ß½à‡7òß:þüýÏýã%}¿Ö~mûÙŸÝÿõÞKüs}}ÿÿuùë? R[®M³x‚HmkBFúÞÊþ)¤3¡=¦mkTSxœí}ísÛF’>.Ç‘,Ëñfk÷Ã}QÕÝÕUýª¢Å;Áû&’¢¤µ^¸eK®­r‘ óâ·•e%Yÿ÷_wÏ ^†€H½$ˆv=$ žî~¦§§;gÅ«ƒNxm³ýƒ•ý]?¼n˜³¾:…êÖ´Ò³ÞááÕu«ÿ´wŸ¯µ5m¤Ú­§M´ðiª½›AÍ:Ô|€Cûj§Ú/pÆ»Y¿s2Â&wŽ©åè°5ñf­Îv²u=¡€ÃÃYËߥ“ü.ÕùûT´é`ëícÞÀn—¾÷tR·Eߺ}*ŽÙA¿踳րUXëŸÝ䈵NJƒìå1öJŸuNŒéµ…‰ÍtN,*ºpЄÂd……Ŭ2Q!£mi;pô¾ÿŸÞA9Ô>CÍø613nˆ™±*ÌžpÌö´ Àå“öê.µI.66Ãf’ƒ�®Ä&RØè9ØÃÆ2K£cØ ž!ƒgÈàñ<ƒÇ›ù½×p—ÑÌ÷yÙ;Ôœ!àŠøœØÖ>‚r}Aµ@é’g&Á„† MÓÉCsXMIÓòД4m¸\ë$]W¡ßk±Ÿ•IH¿å�¶È§ZÀ}ÆõÌtqKëç/pl¼Ðj•X¡½\»µ‚Šv;,k·YmpŒöáø©Û!Ô~X•Ý–J`£¯›gsØÜP–Âàvy‹Nc® ØG6�A£3ht�ΠÑ4z š Ͱˌî-ø÷ ‚Äú–TŒ�P¦ |\›Dõ òì€hn—€h|CÏÈd™ !›!d3„l6áC±¦f|ø4]�e0óæ¨×/ d_ØÄ/I%Qåi49”æ(oò,CYjú\L³Y ÌMfî…`~ŒÂ ¿r@¿á€¾/S06Æ Ç†ͨ 6ÏÅKSk.6ØÊž¨éC°Åã­Jx­%Œø=|þ¨}ÌhqÔ «ðäÆÐíò<çè 6"P.Ì‹6TCî52 �;XƸ4vù(ôÍ r“%¹zž{a®TÙªôwàµ)ž•Èv@ÆHÒ--ÕFA±¡Z,Ö-@8¹|%¥Z‰Uʺ[UíCíˆ ôC®šÍåêÙ]�Z£'Foɇ�a6}œŽA¢.Ž ©ÕBÍ0�áq'œ¼ðbˆ§ÅÆÍ‚ Ö½2'øÐš×«|Ì„FµÉ×@ÚÏ÷ù%Üè¡C¥„[#(¯V6�/¹^Yc{Ù¸) ³%¢Í|¸)�d�€ËÅ+h’¡]`ô í (ø�I~ÜòqDø|áÁ!Á1WN|资/'>ôKC\ÅAV{v´R’ s`–××È=vL†33øb@“Âþ]¢*'¯m5~¥±!Í‹}8þÓ‚šÇÐj2´h¨L(¥~Ó‰«Í°bÐà3x|Ð¥9 ‚…kYˆ–™ƒ–ç¯0¼±H“áårÀ\Ž˜Ëu“Y4~…ÒŠzËý}ü‹�Yn¢›žçÒ|«bø¿ˆ…Ï£Y@õ,S¥z.G’™…cdãÇÂJùmd˸<h?•±âB@óÕH’1ã 3Zú`MdI6,€ì'Y“ñh6¢‚!»”ˆ€ - �+ž`ì[Úÿ4Ñ.Š~€ gR$$£Ö—ä-ºsKð-‘™ŸÃnŸ\ï·ÜKCù…r½�Æ RO=E›lt™£M¥§MCzÑyðp¥Ø‡JD�#ˆ²MµÊ€•™3'‰Ýî îãÊô,9ŠÄ¾#Ú3ùŽÞ¤ž�Sdøa¹ëÉÃ}úròˆJ˜i–œó ëD‘ƒASô qÞ§%Á!�ÈçóÛP9ß+0ãÄ*'˜ n&÷lSšî�¹ÈücÀÎÐó8|Ã/à©FG0ðä?ôŇù¤™~ôA¸�½>³Üú}á�ûó³G•(Íø»á<¢=¥ÙÏ¢•ÚFŬˆB:̽Ìp(… ¹Û£”‹i«ÔصՂpø"‰ÃWI LÇ­Ù@Þ§qÛ÷û|çßq<7B†´.z=¡óÅ`V„•üœE°Z’ó.œ$1¡$ŸsÝ�<Úåhwڤ̄ÝI’tÓ¾CÛ-Œá“((t \a� q…4cŒ¨"7¬�1²ùÈfHZC’J‹JB’™¼’È[B�%tû í¢\°Á{I.>fD}.âhŠ5±ög '7]ûãjêHjšÂp`ó)ç:\aüEÁÀaä²€’ëþ”ã÷ŠÔpÂÔàYÁ9ŽaÇp¸$k¿©Ï©¶tS5bŽ@rðŠfAòRÌb ¿�Üø"9 Òúiä¹[«ÇPOI‡*2v⊅‡”éÇQ.ž£ÓlH|èŸ$ôUgú*eÑǸØäÝô”!8šb.a1w·DüÍ)°ÚkµTÊJ©ÇYÉɪØGŸÓâGí½dæ,›$Ÿ.-vÒ*˜rbiéÅ=%Rûy+Ù‹cqWJ±8ÔsB�}°Øæ+Á܈ùJø�üPWgÎ =}¡ªl¤/†©Xëï¢;ªB&1¸ Þ,3ºçî5 U1NõøÃ1µT˜žÚùlòiT“‡åš.s�ÈM!£VìrŠ’Y¬˜ç4—ÏÒF]hù¢ŽiÍ)3œ$^9þd âYAâôB‡�†ñÂð _÷m|ÐBÌ:ÁMB* ‡«£›VÇa‰QÜUr£®âF®’%˜1½óÅäÔH¥E%³[—)ò¸� ZìAþLwHsÉ|Jtª.j—LØœ11É)±j Ú©¤D<ÞåÇ»ìxd¾4P7ø8Ý`¬(̘HqŸM-Uùd§€ß«¿�.‡Lº0vcÎEÙ�‰:RW(GOê åIN? |Ì�/E!ÅEÞ)m\9¤sË–Ó¦—ŽC…JâTOÑ¥¡@MœªÑGÞðG ¸þ&# }xÀ†ÃˆÕ-þŸ9ø/)ÐމϴCõ¸5n+Ly1°\†¢š­”‚ž ”i§ŠüÒyØ¥¦÷|þdñDx(I|9)©æ=î¤<¢šDpÊKǦ2V³²�wo)uCÛ“¹¤$|·jŒÊ(¾RͶ,·üЍ˜m-Úì¹/œÿýyçtO£ÔGš¼áy#ù ¡ËÛ¼‘§ºž2w'r Í5ËÄN””¼/¼-ÞcX„àfÁ_hºE3ÖÒR.M‰¬éG{±ßUy ;:Vt�&úAC±Oë t@|†Þã®->"‹û'|]9æ·H �¸,­S! §QÆ—( ¶®rЪ2áf©-FWÊà´ãzºGÑ”ŸóSÎü—à~¥'X�ræ/œ¯ô,Õ¸ÈNàø% ñ‹¶“.2§øº’YsñœTäÚH“©<ÀfÝÃÎÕu7¹7$Ø|ŠÉM[”B‚ë˜^ðž€<ͬá0vÙst™}uYÿ»»D`Ý~‡Né÷YÝ>+ΰ˜u“S;Ö!¾á§pR—’5§™5Õºd².A±õè9ô'ˆ^@1æÎáeâ} Ÿ£a8à+lèÁÚO0„ˆ×Ut÷^ðÇmÖø|ÞëáXºì+:ý7KT¢Š¿ëαN¿y;FÅ&Dþ×M¦#„ ÀÓb0åGIz›‘ŒTçœ8§šD‡L¢ÃZ¢e$ºY"Æ Ñ�MŽ€a"ž(êNsêªIÎf’³kÉU±E&�K G\¼$[TŸsZàœ±«aÔ"-#ÒØ·ÒÛ½âdå�ǨÅñÓŒãÕÄå0q9µ´ªH«GNd�Ø‹ò ­8~šq¼š´LZ�ZZU¤Õ%DÆB*ññÓŒãÕ¤å1iyµ´ÊHë)—Ö.ß‹ú‰ø-éœ<åòQ�qºðŒj²l2Y6kY–‘åc.Ë­®~ŽÖúÃh#ÓEduòÑjr ˜œ‚ZNeä´MîÐVØÛ®ä y\#OÈãšj23™�k™UÕ^Q®ádnT‹�Ÿf¯&­ “Ö¤–V•Év/^®�|üõÈ;LÖ�æÔU“\È$¦:¶©ÑDiÅ[Ê&+­BmäúÓõÕ:iðH/–#�h·c¦¾Y©ovêÛ[�Íö(€]EM¿K¨é8«OÛLÎi�™- ÄÊj)5¤©ë#3©!ú¶«Yž¤>’&¯ê&KPóJ?—N@+ŽeA¼wb¤›ÃaÖó�C¨NW6å+sa^ò�î ê55Öà@�¶Ck«zÓlØ®!=¯=ïhìNºÒ‹jÝÀœ®òA&áxŒçA¿›.Ü•8Ö¹8o뀺X ®ª?ðP®ë¦ØôD­§{:[ÉZ;ÒO×eƒZ²Ö�/ ÆTÙHp^žÁ! øß¼0^÷ïZØØ2OzÊþä°º 9AÅÚ¹kÊòé}]We)U¬i5¡ãY*f›ø—¥b#gd�Œ sÝyÝ�Ul<Á?%¨Öžb(xÝ¿+5x©Á'¾Zˆ¯­|¿˜,å–ÉÊ9²‰;l3¹¯“›õf ªÉô¶8 Řò¾öý®”à÷4c¬Ðf¿aˆ“rÃçÇ¥¾éºåÉZóèTsØÈâ&Ü�›¿´‘s©!÷¨�¹Üëîß•Bcb‡¶“A}îpèFõÍ7lÈ=*ÄÜ÷ºûËþîv;W×»Ýĺæ„T〒ŽQä-ø÷ŠÞÖÉTâ�¤,èî¾�öf°óiÄ_þ¿Ûó¯®;í]üç9É»ZH[>ÑA>¢Wh�Y§ýjÿK»ÖTëjüéš©ýŸ8‚Ÿðؘ~c΃c ¨ÑéÏ¡3ð¯5ø )q×µ¸÷Ú@ût~ÇÓôÔ™ë‰3_Ñ^@x.~îWØ#éìøÍ^;D¨ï¢–ÿg[š#õÃ'à‚Ü3uæz½Ú;ÎF‘Aò³kÿA(ò?éJŸ¶�):©ºR�ÿ¤§Á+ñªpÍþ—Ɉ_÷îƒFÿzœ¾[‹ÒÎ/))˧ÉËLt×DFÿ¶ò™ÏRzr÷e»Ù¦üW€ØU_óIVºOO2Éb,~I²!Iæ)ÜoŒ"½«�öÖ@s=|K<ú5§tÝçè +uŽûí3Ì ²ÎOßáy„ÃmªÃ_p4¤Ìœ,œŸ&ôR}ÅȺdÌcí<¢$×KþkBSŠiˆ{ÒUlãAŠ#”z7†gVéÝ&½àágîó!«Œç®_Kë-XV(=ñ>ÙJ~ ›™ká nø®p�ˆÖ¥ÑÞòä~ÈÏòßÐÆOÐJ—¬wB>Å·âè×;°zöF°÷€ìGÒË 8–ÔöS8ÿ˜mäw}’àá­q—àìÇœ³»l#nÍÎ…ÙY¯Ù¹fçš�kv¾vîSÞí�5;fg§fçš�kv®Ùy…ì¼±óºZRÍÐEÚ­ºfèš¡k†¾†ND¤k†.ÌÐFÍÐ5C× ]3ô z�3ôkÒŽ×p�5³æèÂm×]stÍÑ5Gß‚�àèš¡ 3´U3tÍÐ5C× }c†VÈã7–ygÜή3ïjή9»æl5gÇß„³^æÝ}aç:ó®fçš�kv¾ v~8™w÷…�ëÌ»š�kv®Ùy•ìü03ïî C×™w5C× ]3ôm0ôÃʼ»/ ]gÞÕ ]3tÍЫd臚yw_8ºÎ¼«9ºæèš£oË~X™w÷…¡ëÌ»š¡k†®úæ Ý�³PŠ ˆ^¦É:~»ï›ÔYåÙz–ÔÔløÃS{Kaë|“%0”òßn›©;gÙZCÁšâšEyÝÉsÙbc»’}ôä¹ó£‹è9·¢{BŸ¶RºRV÷Ä5義k®´±j]C�Ã\‘¶yXÛ6¹¶%[öF¿åú†yÅàµ<ˆœ5K’_¶/*gýÖkµ'ºLO4­]µ'zÿ=QCÒ½ÕðóF̧ÀЉ~Þ€¡ûp‡)Ùóýgh™uk†®ºfèš¡ïO¬ài̧Ú8—£Ÿ¥¬‹¤Î~á]*fàÓsM©.yÅ6þUàìÌât¨m÷Nˆ³m’¸àlœÛ á/ž³|<Ûƒï!ØãÎOsö¿Ã�Z€VHX2 {¨]�–¡Nþ ß/#¤‘þaöˆî¼…ÿ¦ZýVœ—=Ò†§}t¤s‚zv;²H¢U´d=µ7TÔ•× “~TÉÂ`w?�ÌQ „nà±iÇ8²+�<€�´Guy<ÏIì[I\I#³¼½$–/μ·ËVj½©¢�©–nÕt¸¯’—ˆ¾dþl8¿º–�j:KÓÌ:ª™5�QiKZ÷6 �cðo¿f[ ¹1­û3<ïEä?qëÕþ*3@å±Òm²`ì‘~1ýk‚F)MÄú1´¢ÓxŠÛ$ŸmLc¦<¿YÍXùú0�ÄBý#à÷!âÁyn $´Š\µ½('ÏrºòMòta ru@ .߈�ÆÀ:ò\׋Xuyk ÿ×I“nCV#›4~å°>?þòù_ÁÖ±çÖù…î‰Ï…r±ÕŽuŽ#ë4ܴʳÕ$g^‰Oï(ìß¼SûÿÎûH¸tóY߀‰ŸÛËÊxH_÷–kÞü• .trï_=ÒØoqf_»™Ñã ha”9neÝ/y•ênÄl¤+r§§‰ó‹ß%û™&™‘ª¼gН*þLÙwÊz¦ü»l*î²H«ž)ïTD£d4ÄÓú”÷dÅ®ØTöp±Ö®Á™È\ïá_YƒŒÜ3“r‘÷o$ÏœÇVΗKž-?åmx*n-ÇÎO þ E¥·’mݘ¡�ˆ¡íš¡k†®ºfèß%CgñkYºMr¾"9,gÆ6‰flÖ½›±mÄ’¥Ö>jSŠ@|žíõ´½Þàêúì°�?•|ΊY|Ìtv?Ì$} -\z›¸Ú´Ì6Ÿ]]j««òAæu³œv¯ÇG –õî]%dL1¢!÷'pͤ¼Étäu~˜Ê‡ UNʬœHúý(3§@µNðpüD+¢ˆê¯7ªÖ�«Ç´×«·%g2÷ªÖ-TòJËü´�ï6�DRþŽÇÅ{N·8+îÀÕŸ0]iŬ ’3IîCŠ PÚ´†šô9Z�(–ó�¢‚‹1]$•uêѾZÎ2;ªxÿ!eé$��PiÕ:^5ÒIhawëý¯Ê&T8¦Ñÿ:ZbØÇß«àm@]HžŸͶĨ~Ÿf[«Á;Æ.ãMÊÁLŒ·n‰ÚÄ!w‹Öêlb“ÚGƱimÊ¡qÑEé8P×$Ï %òÁ­àþGBR<¹ð~/”±å¯ ‡é‘ãûÌ«ÿ åP{—á¾B»©çKs‘& ñäiM�óvš’ÿ”ymvvÐíhBž4ó5aC{­á›nÞ/A š|GÊÝ�æO&ñ0îÖ‘ ž¸ä™ŽHBòUMòHѹ�¨×¿øS—å‚çÊ+ï’²%˜/ùï´=hç ­ãMIs—1"$ãžz÷´îÝHü'І$Ÿ>)OÁ÷_¢ ¬?B·É§ËþsoÅË]$µ|©¯Ego‘/*eÛ§=.ówçq©PLãþ˜ç]Pfô‡ˆmSGo$ƒ²bCŠ5²,�&±ocN"7í·%ƒl,‹Hâ´ø�òõYÍV”�Y•ûÒ6aßc›øžÆ¸øÙßPLø3í_ó嵯ciœüsÎõ—wZ¬*c:_kŠhž|´¼¦¤?QÀ,i_`ûšæã �ß åËÊq�cŠc>‘`Ýò1·âšÊV>!uÊîQD' |-òqîëà¿íåYëèÙNÈ?ƹðíø¸Czê7€³xêbö÷½òÊ/¼”÷.dåo­Šõ³d)ÛÛw˜Î ïا|û ÓYÓõ¯—ÜÕNÃÛÞ"¯S/ÞihHW,ÚiˆóÓ²»PÒç—Ù…âI½«÷þ–ö~�±cGÍÂâýpÇÔ>úvUV8k&þ}2ñòöCUÙ©w?˜x~ßi½ï»æâ|.þú÷Ž|ÿ1è‘Ø ƒg­]ø[©3«íOšÐNIf;13®úŹ'Í‘p ¨©%÷uãÿC:÷vVƒVµod1ªin ¢šùùZƒˆ³XÒÛ!Öˆ#~͹ {e]øæ†R)êoóXcÀ×|š‰œg¶›_½¸ÛÝü«Ú•vä‹cû'ê)[yIb¯j�ƬK⯷{ËŽW¤§É笢 óœ�g’�…‘é ]!4aHš€;©Ñ3c»M®7M¨Áõô&|M6$FfÙǺ‰'°ª=¤epÆÿŽ|ᬷ3¸ºnµ§×!ÿoÖeßtúoÖíE’þ–boâ79D>v8çcŸfÖô;'£khwКb±Û¥Â?š^›ðm0½6fÝ~‡Né÷YÝ>+ΰ˜ ÎZW×ìÆ�`øAx¦ÚxœWׯzpާÏöy9ð_C{ðƒxŠÁAgzÝÇv¨#ƒ³îršížõ®®»G|„öa‹Þ!=Io‡@><Æ®÷° é øw@˜íôYáãCïì´éÛN‡ š™À™¼`Õgëý}zí`鳯'¬èáõ{Ý,þæã9C(wÙ×6÷7¿EÀöÑcìÜžˆÇýS,:¬8ôImÿ/Ûmûø0Çç>~;ôéÛþàÙ0èQ¢JþL%¥ÆÍκÔų#êÿ OÍÁ•Xœuv¨ñî4 ÍŽ�ì«køgzíΨYa°B— (»x>¨�3£ˆw÷¸�å`ç�n×{E7ÇŽBåÑ1\ptÜ¡»ÍŽ®ÞÁ!+ððFI¥Ó�€:,rEZÁ„ÒŒpÛmƒ‚¯.¥q»¾>Ä¢„^š€Ñ@{pÈ =œwÎÁÐ^ìá�Ó>Iü�ÛÈ+hvDÖ:;GØéŽ|:ï¨MÍtþö!ä.6Ù~�Çwñ^³ÙËx¾—ì¤Ùlî~:¿ßãø>pO#u/�ÝËÈ¿Wo°XÈ­˜?Ö(Šý˜Šù)Óh”ø Ô Oà,ºÇ!_}‹f38âþ@™•Sš§à…Sk—ÏïyåÓÚ!;kí€ZoÖê &´ŽŽP»ZGpx8kù»t’O*ÔB²�¢E ´Z/¨hó[µúdÜ­n‹DS­cvÐÛjº³ã·Ö€µ>ðÙMŽX{¬8 8Æ^�xO  (Ll¦sbQÑ5�M:]“÷‘[ýñÝ€ª{2@üûÇp’1±L}bÎ'gáõ`œ'çTöÚ]|úžÏ÷|~x—ßåß»ü{—oÁÝ{- Ü¿MBö1¿×kï¶DB¾³ÍòuøÀz¢›€¶ß áÓ¬õÚi½&¾hí¼& R\l$¯V_×µ±O¨è¼O¢3=egz}ž½ÜÅŽo¦3뜒 Ž<9¦Q@Õ‚Q¨ =jœ�Átt÷¤Ë𬭷¶ÞÖkzFàÞºõêBÝ�Èþ&nQë5”WW·ÞTs L{9o½F¹&jë­­·šõ²õÚŽg0ë寫§l—›®Î,—®Îì–›­.[­‘²Z;iµ±ŽŸ÷àƒ·íX W‡o>îŒÛ¶]Ój:³vÿ%¶B]tÃbfím»¦Û0Ì¢C3xö½d«g~òŽÒ=ÌR÷0 éA¢›œçÝĨö pÝY ­³<´ô7™#5ƒ“š‘dµ¢„D"šç48Ñ0V“5co[Mñ‹Û²Ó�Ø–iÂcP#Ö¶å4 «@‡œt#M«ié߀¹m›¶Z¿°7EÑÛ®¡{M�ËD|[ØH#ÙHtïóT¿6â%‰P8O!´°‘f²‘Hç)Y-ld¨t:õÅš q·]ݳ«l'¬d#�m×Ö=·4)=Ûj8BÍŠË%¥fÍmËk‚o]VC\ÉÐ]Ým6Ê*kCö'ÜFÃóÊÚ�'µâyžéeM8¥iI²\xe†s”ìF¤4T.’HkÊ)›$¡6å”-­(Ñ·rÚ–ÒØ¸[å´-m;1Då´-mƱ¸Êi[r¼[x¥®Ð“4¥•膑ͮ% 1³‰¾„x¬ì1§¸¢ØÙ£_a�u²‡áâ¶ãf;ÅÍ8¥kÕ¼yš4�íõ;W×{èë³=æï¡l¹Pž³’Mž\ú®èøpE‡Â¢{�l^…ÿ‡oû8ï¼Dgëħɯ‰¿Caé^§ ·íÔ£9{Ù?bËíDÑÿ;Lh#ÏhšÍÑ,ý>‰W2�ýƒ•ý±Õ°ª½ýÎúþ)²Ñ´ÜöÚ²ú®7ëa³ó¶Ð´Ç±Õ5Á»Íiš~Ãiš^²¹š¶’©ïo´¥Âá°Ú³'36³¦ýD/&Âäª/qÙÍt†p€(às`ü.ö› É3“`BĦéä¡9,€¦¤iyhJš6\®u„@±óú½«ñY™„ô[i‹ìqªÑö*¨H_ÛÒú|ÛÁx¡Õ*±4B{¹vkívXÖn³0ÚàíS2Á˜§|X•Ý–J`£¯›gsØÜP–ÏÏúõ´¡³ú¹ó¹óÚg·É³¢ƒiÈ`2˜ÔùkjƇ�AÓ8PC1oÆÄÞ_4ö‹ÍRU>�F“CiŽò&Ï2”¥¦Ï•Á4›ÅÀÜä`¶)£œýˆ7üí!`€böd:ë 1f86DhFm°yŽ(^š2Xs±ÁVöDM¯‚-hUÂk-aÄl?ÑÇü€GͰ On Ý.ÏsŽÎ`#Eà¼hC5ä^#³ð¸ƒeŒKc—O€Bß¼€!7Y’{¡ç¹æJ•­*@^cÛ?’ÙÈIº%¢¥:Ã(È#6T‹ÅºEH'—¢¤T+±JY·"b«j }ÚF‚ú!WÍŒærõì.H-‰Ñ“#ö•€¶û¼‹^§‘ŠA¢.Ž ©ÕBÍ0�áq'œ¼ðbˆ§ÅÆÍ‚ Ö½2'øÐš×«|Ì„Fµ£½ù>¿„=”b¨”pkåÕÊæñå!×+kl/7…a¶D´™7å‘ì±-Û‹WÐ$$C»ÀèÚPð’ü¸åãˆðùƒC‚c®œøÐk _N|è—†¸Šƒ¬öìh¥$æÀ,¯¯‘{ì˜ gfðÅ€6&…ý»D3TN^Û4jüJcCšñ½?-ˆ y ­&C‹†Ê„Rê7�¸Ú + >ƒÇ]š“ X¸–Åvúe£åðé+ o,Òdx¹0—#ærÝd�F¡´¢„ÞrŸÿb`–›è¦ç¹4ߪþ/báóhP=ËT©žË‘ä@fáÙ¸À±°R~Ùò[ÚIûS+.d1oP�$3:£¥ÖD–dÃÈ~’5�f#*²K‰¸Ð2Àи"àyÆÎÞˆŸpÏ`Ã/°áLŠ„dÔÃú’¼Ewn ¾%"2ósàbØíó÷�Ä¿/*c'ÖÛiœ õÔS´ÉF—9ÚTzÚ4¤�WŠ]q¨DÔ8~UK¶¢É¡–@°2sæ$±Û]Á}\™ž%G‘ØwD{&ßÑ›”ÀóqŠ ?,w=¹`¸O_NQ 3�À’3c¾á`�(rb0hú‘Þæ°Eo•xGonš·Q¶¡r¾W` ƉUN0!2ÜLîÙ¦4Ýs/�9ø Æ€�¡çqø<†_ÀS�Ž`àÉ#2~è‹óI3ýèƒp!{}>êà+˜CîÏÏU¢ø^í†óˆ6{eÓ¢•ÚFŬˆB:̽Ìp(… ¹Û£”‹i«ÔصՂpø"‰ÃWI LÇ­Ù@Þ§qÛ÷û|çßq<7B†´.z=¡óÅ`V„•üœE°Z’ó.œ$1¡$ŸsÝ�<Úåhwڤ̄ÝI’tÓ¾CÛ-Œá“((t \a� q…4cŒ¨"7¬�1²ùÈfHZC’J‹JB’™¼’È[B�%tû í¢\°ÁË^V÷�^7TÀÑkbíÏNnºöÇÕÔ‘Ô4=„áÀæSÎu6¸Âø‹‚+€3ÂÈe'%×ý)Çï{Ù o$n¯ŒrÃ4ŽápIÖ~SŸSmé¦j:Ä�äà͂䥘Å~¹ñEr¤õÓÈs/¶V�¡ž’UdìÄ7 )Ó�£8\§Å�Ú{ÉÌY6I>]Z*ì¤U0åÄÒÒ‹{J¤öóV>²Çâ"®”bq¨ç„û`±ÌW‚¹ó•ðù¡®Îœ%zúBUÙH_ S±Öߥ_—Q Š“Üo–Ýs÷†ª§züá˜Z*LOí|6ù4ªÉÃrM—¹Gä&‰�Q+v9EI ƒ,VÌsšËç�?i£.´|QÇ´fŽ”N’¯²ñ¬ qz!ˆÃFÃxaø„¯ÉÞÞ‹ïÒCosª‚Ñp¸:ºiu–Å]%7ê*ndá*yP‚Ó;_LN�TZT2»uù�"�ÛÙ Å$ûÙ2z‰q®æ9UµK &lΘ˜ä”XµíTR"ïòã]v<2_¨|œn0VfL¤¸Ï¦–ª|2ü˜4V!\™tµw”sQ6d¢ŽÔÊÑ�:C9Û©˜ÉPéb“⎺L”¦§žOÒ€Ó�óãKQH{ìU,È[1¤sË–Ó¦—ŽC…JâTOÑ¥¡@MœªÑGÞðG ¸þ&# }xÀ†ÃˆÕ-þŸ9øìEªí�øÌRyª±ÝŠS^ ,—¡¨f+¥ §%AÚ©"¿t^v©é=Ÿ?Y<J’_NJªy�;)ÏŸ¨&œòÒ±©Œ„Õ,�lDãÝ[ö¦Yz[­œ”$ƒïV�QÅWJ¢Ù–å–_³­E›=÷…ó¿?ïü/‚îi4ƒúH“€·ôãôŸî“5–·y#Ou=eî Näšk–‰�()y_x[þ¼Ç°ÁÍ‚¿Ð,t‹f¬¥1¤\šYÓŽöb¿«òvt¬ è Môƒ†b1žÖA逸 ½Ç][|D÷OøºrÌo‘q)XZ§BN£Œ/Q@m]å þTeÂÍR[Œ®”Ái=Æ ôTü$B.bÊ™ÿܯô+PÎü…󕞥wû�Žw¶“.2§øº’YsñœTäÚH“©<ÀfÝÃÎÕõ½{Åz79µcâ~q 'u)YsšYS­K&ë{Q�žC‚ècî^&Þ§ð9†¾Â†| ýCˆx]Ewï%Üf�Àç½¾�¥Ë^±Â_ ™¨2Dÿ Ö�c�~óvŒŠMˆ*ü¯›LGy^֔»_èùe¹õ9z󪔬©&7‹ÉͪåVFn›\n}þ; LùQ’Þf$#Õ9§Ω&Ñ!“è°–h‰®G–ˆ1Ctc“#`˜ˆ'ŠºÓœºj’³™äìZrUlQüVÛGò_8^’-ªÏ9-pÎ�ØÕ0j‘–iì[ éí^q²rÈcÔâøiÆñjâr˜¸œZZU¤Õ#'2HìEy�V?Í8^MZ &­F-­*Ò겟§ŒðR‰�Ÿf¯&-�IË«¥UFZO¹´vù^ÔOÄoIçä)—�êŒÓ…gT“e“ɲY˲Œ,sY¶huõs´ÖF™."«“�V“SÀäÔr*#§µhr‡¶ÂÞv%OÈãyB×T“Ù˜Él\ˬʨöJc¿g'�jññÓŒãÕ¤5aÒšÔÒª2ÙîÅËõ‘�¿y‡ÉºÓœºj’ ™äÂTÇ6"5Âßùë�(ÞR6�Xij#ן.¨¯ÖIƒGz±ìÉßú옩oVê›�úF?23›íQ»Šš~—PÓ/pVŸ¶™œÓ:3[@‰•ÕRjHS×GfRCðG–"5ËÓÀ€ÔGÒäUÝd j^ àçÀ hű,ˆ·ãNŒts8ÌzþqÕéʦ|e.ÌK¾Ñ]A½Æ¡nÓïî~"ÛŒ¡µU½i6l×�ž×Šžw4ö']éEµn`NðÍûŠ™„ãQ0žýnºpWâXçâH¼­êb�¸ªþ°ÿ§ØôD­§{:[ÉZ;ÒO×eƒZ²Ö�/ ÆTÙHp^žÁ! øß¼0^÷ïZØØ2OzÊþä°º 9AÅÚ¹kÊòé}]We)U¬i5¡ãY*f›ø—¥b#gd�Œ ¿¸¡V±ñÿ”  Z{Š¡üáuÿ®ÔàI¤Ÿøj!¾¶òýb²”{X&+çÈ&î°9Ìäþû*éA'I5™ÞG¡SÞ׾ߕüžfŒ•ÚLøw# qRnøüx¢Ô7]·Í€øËÿw{þÕu§½‹ÿ¼ 'yW iË':ÈGôŠ¢­3ë´_Bíi×Zƒj]Í€?]3µàsGðÓoÌyp¬5:ý9tfþ5 ¿Á#%îº÷^h¿¢ƒÎïøošž:s=qæ+Ú ÏÅÏý {$�¿Ùk‡õ]ÔòàlKs¤~ødX8A�ûa¦Î|B¯W{ÇÙ(2H~öcí?Eþ']éÓ6£1E'UWêñŸô4x%^u®Ùÿ2ñëÁ}Ðè?C�ÓwkQÚù%%eù”"y™‰îšÈèŸÃV>óYJOà¾l7Û”ÿ »êk>ÉJ÷é¾±µþ†"³Ûì‚ů"±õ6$É<…û�q@¤w5ÐÞZÂh.£‡Oc‰G¿æô�®û]a¥®Ø w¿}†9AÖùé;<�Ðb¸¢Muø ކ”™“…óÓ„^ª¯øY—Œy¬�G”äzÉMhJ1 q/CºŠmd•ñÜõki½Ë ¥'Þ'[Éo!a3s-<£Á ßѺ4úÏ[žÜùYþÚø Zé’õNȧ¸àV|ýzVÏÞö�ýHzyÇ’Ú~ ç³�‚ü®O<¼•`b"îœý˜sv—mÄ­Ù¹0;ë5;×ì\³sÍηÀÎ}Ê»ý±fçÂììÔì\³sÍÎ5;¯��×"vþB÷CKªº(C»5C× ]3tÍзÀЉˆtÍÐ…Ú¨ºfèš¡k†^!C¯s†~MÚñîñ£fÖ]˜£íš£kŽ®9ºæè[ð¢]3ta†¶j†®ºfèš¡oÌÐ yüÆ2ïŒ{ÂÙuæ]ÍÙ5gל­æìã›pöÃ˼»/ì\gÞÕì\³sÍηÁÎ'óî¾°s�yW³sÍÎ5;¯’�fæÝ}aè:ó®fèš¡k†¾ †~X™w÷…¡ëÌ»š¡k†®z• ýP3ïî G×™w5G×]sômxÑ+óî¾0t�yW3tÍÐ5Cßœ¡;pJ1ÁÑË4CÇo÷}“:«<[Á’šš cxjo)l�Ï`²†RþÛM˜c3uç,[k(XS\³(¯;y.{CllW²�žD<8ÏM�„V‘«V£åäYNW¾I¾ã ‚.ŒA®èƒÁåû±ÓXGžëz‹ . o�áÿ:iÒmèÂjd“ƯöÏÁçÇ_>ÿ+Ø:Î:¿Ð=ñ¹P®Ë±Îqd�æ=´ÎÏŠç.bgß‘§XÞª7àŠwtnäõJ=UG Öáº/ôdwÅEt¥œö­Á[ø\Ÿ+kz6Ô‡dãÌ+1àé…ý›wjÿßÁy ·€®b>ëÐ"ñs{YéëÞrÍ›¿òÄ…Nî]ã«Gû-Îìk73z|-Œ2Ç­¬û%¯RÝmƒø€�tEîô4q~ñ»d?Ó$3R•÷LñUÅŸ)ûNYÏ”—MÅ]iÕ3å�Šh”Œ†¸cZŸòž¬Ø›Ê.ÖÚ58™ë=ü+k�‘{fR.òþ�ä™óØÊùrɳ姼 ¯@Å­åØù Ô¡¨ôV²­3´1´]3tÍÐ5C× ý»dè,~-ëC·IÎW$‡åÌØ&ьͺw3¶�X²ÔÚGmJˆÏ³½€¶×\]Ÿ¶ñ§’ÏY1‹�™ŽÃŽâ‡™¤¤…KoW›–Ùæ¡«KmuU>ȼn–ÓîõøÔ²Þ½«ä�Œ)F4äþ®£™”7™Ž\£ÎSù´ÊI™•I¿eæ¨Ö ŽŸhEQý5âFÕrõ˜öZbõ£ãLæ^Õº…J^i™?‚öñݦ“HÊßñ8¢xÏégŸúÆ +­˜5Ar&É}HQ�J›ÖP“>§C«Å2`RTp1¦‹¤²N=úÀWËYfGï?¤,#�äê!­ZÇ«F:I-ìn½ÿUÙ„ Ç4ú_GëC ûø{¼ ¨ Éó³£Ù–ÕïÓlk5xÇØåc¼I!˜É€ñÖ-Q{ƒ8$ânÑZ�MŒcRûÈ86­M94î º(êšäy¡$BB>¸ÜÿHHŠ'Þï…2¶üô0=r|Ÿyõ?¡jïR#ÜW¨c· õ|i.Ò”§ˆdß\ÀÌ£QÄ…çt‰ñB¾"e“-†¤ IÜ¡¼ÌÖD¯Ö£3†sÞÆªÖ?Þ'ž<­ rÞNS’ãŸ2¯ÍκMÈ“f¾&lh¯5|ÓÍû%hA“ïÈA¹»ÑüÉ$ÆÝ:#ÒÔ—<Ói@H¾ªI)ú"·õúê²\ð\yå]ò@¶ó%ÿ�¶í|¡u¼)iî2F„dÜS�âžÖ½‰ÿDÑ�äÓ'å)øþK”�õGèã6ùtÙî­x¹‹¤–/õµèì-’àE¥lû´Çeþî<.ŠiÜó\¢ ÊŒþ±mêè�d`PVlH±F–Ò$ömÌÉ@ä¦ý¶d��eI<ƒ?P¾>«ÙŠ20«r_Ú&ì{lßÓ?ûŠ ¦]àË`¾¼öUc¬#�“ιþ²àN‹UeLçkMÍ“�–×´€ô# ˜%Íâ l_Ó||¡ñ´|A9®sLQbÌ'¬»C>æV\SÙÊ'„¢NÙ½#Šè„¯E>nÀ}üס½\"k=Û ùÇ8¾wHOýpO]Ìþ¾W^ù…—òÞ…¬ü­U±~–,eÛcûÓ¹áâÝûÔã�`Ÿa:kºþõ’»ÚixÛûCäuêÅ; éŠE; q~ZvJúü2»P<©wõ^ÃßÒ^ï3vì¨YX¼î˜ÚGß®Ê gÍÄ¿O&^Þ~¨*;õîÏï;­÷}×\œÏÅß@ÿÞ‘ï?=»aP⬵ Ÿc+ufµýIÚ)éÂl' fÆU¿8÷Ä£9®5µä¾nüHçÞÎjЪö�,F5Í�AT3?¿BkqKz;Äqį9Wa/ ,  ßÜPê!Eýmk øšO3‘óÌvóë w»›U»Òî�|qlÿD=e«Ã"/IìUíјuIüõVcoYÃQàŠô4ùœU4cžò,Bò±02=¡+„& Ip'5zfl—¢Éõ¦ 5¸~˜Ö„¯É¦‚ÄÈ,ûX7ñVµ‡´ Îø_ogpuÝjN¯Cþ߬˾éô߬Ջd¼Fñ§7pÆ0ÓH¾�ô¯ÑÿíÁñ_h”Ý"?måʉš’‡�ÙŧŠmg§Mßv:TøÐÌÎìà{ب>û[ïïÓkKŸ}=aE¯ßë`ñ7ÏB¹Ë¾°¹¿ù-üÖ=ìáÝcìÜžˆÇýS,:¬8ô;X´ý#¼l·íãßû¬Ž¾íHŽûÆ`by´§Ÿ©¤¼¾ÙY—Î=8êÀIÿÆ |ú+ýõ´ÿƒ�À4ÿ‹�ÅÌý=É%máÆþ”§ ~fKöpt‡/”¡‰#ÑàVo '�…#8Me‰l‡gwwï³#’Û O0bˆßY‡4·{Fš÷ÿ´m úùÏn‹&6!À.gÇGöÕ5ü3½vgT„¬0X¡K”]<,Õ™QcéîqËÁ™õ ÷ ‹3TÃGLjpxoÐã�°¥¡ðH±z‡¬ÀSÿ“òïuÊckìÍ??XdÝåù«ÍñGíC¤Ü]l®ý«wá½Á~t fíšµñ¿V¿G= Ríž ÿþ1œdL,SŸ˜³ÁÉYxýXÎÉ9•½vŸ¾ç³Ã=ŸÞåßwù÷.ÿÞåß[p÷^ ƈ¿MBöqëC¯×¦¡¢%6@8Û|„XOtÐö;!|šµ^C;­×dÌ­�×`63ÕÅFòjõUp]û„ŠÎû$:ÓSv¦×÷¡áÙË]ìø¶a:³Î)©PÜË“c¸T-…šÐ£&ÀÙì@GwOº¬ÉÚzkë-a½¦gî­[¯.Ô݉ìoâµ^CyuuëM5·Àô°—óÖk”k¢¶ÞÚz«Y¯![¯íx³^n¼zÊv¹éêÌr¹áêÌn¹Ùê²Õ)«µ“Vëøy>xÛŽÕpuøæãNÄmÛ5­¦3k÷_b+ÔE'0,fÖÞ¶kº Ã,:4ƒÛÝK¶zæ'ï(ÝÃ,uÃ�$ºÉyÞMŒj×�¥Ð:ËCK/p“9R38©IV+JH$¢yNƒ £a5Y3ö¶Õ4»±¸-;݈m™&<5bm[NÓ° tÈI7Ò´š–nñ ¯Û¶i{ õ qS½íº×ô¸LÄ·…�4’�D÷>Oõka#^²‘…óB i&‰äqž’ÕÂF†J§S_|¡©PwÛÕ=Û±ÊvÂJ6ÒØvmÝsKÑÒ3°­†#Ô¬¸\RjÖܶ¼&øÖe5Ä•<ÝÕÝf£¬²6dÂm4<¯¬ÝxR+žç™®QÖ„Sš–$Ë…Wf8GÉnDJS@å²!‰´¦œ²IâjSNÙÒŠ}+§m)��»UNÛÒ¶CTNÛÒf‹«œ¶%Ç»…Wê =ISZ‰nÙìZ3›èKˆÇÊsŠ+Š�=úÖX'{.n;n¶CPÜŒSºVÍ+‘§IðßËð¯_²8æl65x8tM{˜-Nñ°h*$j°�¨ž�»ßl¯ß¹ºÞC¿[Ÿí1¿{nË…òœ•l²æÒpELJ+:t³½Î 6�Ãÿ÷}\[è¼Ä±¼s¯ÿÑþA!÷-E¸ýÊpû?æÂíÿH„Ûÿ!…ú»”ï” GÁõŸ&X'þÅÉÿ?ERÁ�‘ã¾mkBSxœ]NË‚0ìÍßðƒàÊÆ­¨¼�± WMš˜Íþ»- ç2“™�ÍÈ*5XÔ|DŸZà=êfº‰Lcîé(”F? ¨Î�Ž›ëhÒÒ¶ô‚ BÒL«r°ñµGp’od¬göd/¶e>Éf 9ØÏ]“WÎÈA²\�ö\L›fú[xiílÏ££ýƒTs1öH ûQ‰lÄH‚اE‡ÑÐÿtìö«ã�(S‰AZð§¦_Y íX µmkBTúÎÊþWºxœí��‘Û8 FSHI!)$�¤�’FRHn�›wóî HÉY¯Ûx3žÕꇤ¢�úùs†a†a†a†axI¾ÿþÛïÇ�ÿ»'UŽ{—áÙùðáÃo¿¯_¿þª÷Ú¾gýW9ª Ãû�¼Ïâöð–þ¹»¶ŽÕo'®GW {>~üØÖÕJþîÿlúôé×ßoß¾ýüòåËú¢öµ¯ò)*/Îåç‘Ný\®ÚϱÚoù“v�[iZ_Õ±aÏJÎ�þ/:ùþüù×6õOÿ-¹” �92b?çTþÈ™×þlôkÎ%?·Úåöìä_2òø¯èäÏ1äBµ ‘sµ÷YäÇ5à>¾:†>Êc=1ìÙÉÿ¬þOùwï èyä^«- ×Ú¶,ýÌXÉßzèû•žuÃÐsMù#×’U]ë>H_÷˜ÀyøY’Çvº!Û‰õŒå_mÄi ÿRuâþs´]ÍXœm§_gû)YYÞ)úmæ]×y,—²¬mÚ z†1Éêša†a†axEÇß“G°×§ÿóo/ïYòÝú\êkº6õ®x„ËèíjÏægH�ð–ö¾»–÷ó�üÏØñ�|†yž÷u¾Ä.½•üÿ†þó\þô³aÏæŽM&ýwéÛÃäké#�Ï�ú$?Î]ùMço¤Œ\�ýȾ,Û/íßÚ¥—ò·âQÛ@Êß~6s?)}‰Î,¹ l¾ìçœô ØgX #ìvçQç´“ög·Ú ÷Bž™òîìÙ™^Êßuô¨ã�®ÿuh½à¾m?Ž}{]ŒÐ.~È}Ðv_÷ÿJ;ëxçoÌgJöëôY]’Þ³ë@¶é.ì«)™áoqC–ü¿“?}ß>@ÇûXŸÀÎߘò'-üäÓÉÿ(½W‘?Ïöú›²±¼‹ôÅÛçúÞéô‰Û ºÅºvþÆ”¿ÏëäOœÊ™ôRþœ×ùÃþvì[K?[A}¥?-ýwöíåµÔmÑÕ‘ý}¿g\=ö€c¿¶}ñ³M¾‹ ½ÃüÃgggÓêüàÖ èÇ„çÜÀô-B^ëók_g?Ìò ¯F?œ£³« ÿ•Ý×v0||ØŽÐØ=ǧH¿PÆîÛgçsì·ã/ÇhØ‘ñI ÇtýÜ~×{‘òçún^§}�¶ïZæøºyDžë—óÏì·ó5èˆéÿçXÉ¥ÿWvðô¥§O)í"û±c0ÎËvYà“ØÅ ÿçZòï|~à¹_%/Ï,Îôp\€ËɹyΰçZò/ÐÉé;/x†ÖáÎsõü_é·9?ÿ«PÌܯ5Ý»\í[½ãy|ÞÙÃçõÄ�8�ÔÏÝøŸgäû¿ËʱL{ä? Ã0 Ã0 ç_àk3¾Àç†>´’ãøŸÛÜÆøzä«Éø_ƒ�üÇøü\Sþã |<®)ÿb|��ÅÊç7¾Àa†a†axn.µ•të†a?lÄ÷^Cã•ßvk­¬Ø½#®àýÜ~eû�î)ÿ´3<3^×Û¶¹Âkð¬dlùcÁ&·jK+›œåo"eòú<.ãÊž`›Áê^(3zÌòÏöèu ŸÁ¦lÛ+6»úßv´î›<™†×ï‡ ¾k7]ÿ/lÓc[`ýOÚöùÐn}½×çòš„«ï ‘GÊß뎱š×Äzt�¸^vßä2)?;WmÆrõ5�üoäcö³ŸþIzì?ú¾˜�‘Oî÷zx÷Œ{¹&ØÇ!û…e¹z.þ©ü»ý�üÓÔÅ"ѯÑí¤ô ¹Ý1üÖóäÁñGg×ÿí{+Ò�·’×lûw<ý=}GݽìÚFƨ�^ú)õ��¶ìzIpäG¿•ü ¯ãKì¬ÖœÎ{Í{ÙÉßeÈï ûšG•‘12éÇÛ­¯Ïq¯§™iumf—“>¿.¿ÕþÝ}¬®Íëòœ®~žaì? Ã0 Ã0 °š[u´¿›+ð7øSvq¬ÃïìæÖ­öyÎ…ç ½?Þ‚‘�}¶¡åœXùçwíŶ‘ÚvÌ?ßå°ß©ð÷Dðÿ��ùZÛ“ð-q/–?ß³ñ=¿ê<ËÌ~¶Œ›‡#ýßÙæ­ÿÙæ»>¶ÓÙFkÿŒÛ"qþøz°r­¿Qèo 9ÆÄr¦,øˆî­§nÍY[;í§oæ:)@¸-`×§-Ø7‹ü({α߯›SÒí§Ýú»@¯ÂµåßõŸKäï9èîüÖ ¿É¸“>:ŸnÁ3éç _[ÿ_*ëmt°cmìÃC>äq¤ÿ³§þ´�L“øÇ<²?ç=÷çÝ<ò¼6Ç;ùãÇ«ôsü÷èþÜa†a†a†{àxËŒ™\ÅÞŠÝûêpxç¶?0׋¼#ÿ5žßàøzæÇÑ�™ƒc¿]¦³²¡x^úêl‡ò¼ •ÐÇ(×fù±ÿ:~Ÿ¦ËÓÙ£^l iÅnç59¯³©žWÇÏ~·\;Û?vþnŽ—í»öç’6eÌr¥ßÑý¿óUbS~vù§þ£^¹÷U O7O(é|;+ùSÏéGôü4|?Øfí´ÿÐ÷¶*?ÇrŽ—÷W~Ï2ÏoÅNþ–ÙŸÊ¥ÿSþ9ÿ×~dŽa«ç˜çòîÖ‡ÜÉßmH‹6öìmÀXÿ[ÿÝJþ…ý�~Îs.ãÚyœÑÿ�mƒ4Ù¶OÜíï|Bÿ­düžò÷ø/çøÙ˜þÁb5þÛÉ¿ÈyþÝøïUä? Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0¼.ÄP—~þ*ÖÎ1@G\⟿äÜKÊðÞßrKXÿ˜µs2â±(ߥò纎Jëì·º8”ŽŒ'>â’X@â–¼ÎQ¬ûQýb£àÚqôŽ�òwx‰ ìb÷)“¿ëî¸_ÊK|•�‘vÎ ÞÜ1çŽÕM¼6keŸe-2Ç›ïú5ùŸ9—ó?K^ŽEº¤~‰9òϱQï±®Y®×F¹8–ëN?å~;:=J<—ïÛßþ¡-ìtñºÄ’yNAÞÇég»þCþŽ \áûNýâXÊKê—s)'é^Kÿg\~âç2}›6í}Ô³¿·áï)¹Ün]O»ûrÞ^Ì÷³j‡~†"·î{pæ¹âù29w€6”Õ/Ð.Ÿz-ví:û+ýÇÿ£ó²M{ÞW—ý�ûJY¹¯Z÷­Êêµ¢`%·Œ íÒ¤l9�…¼ç•íž¶™Õ¯Ï#OÏUz+èÁUÿ?;îýùsŽçÜdš~vñàN·›‡D�ç7*.Yç«+v:Óye;ôø8Ë}¦~éÿÝ|…·²+ÑޅNþ9£àÝÀ}•{BÆž#t¯é˜×xî�ãÕ­s�XÉ¿k¯ŒS¬Ví›ü/Õç»uJ=oê Gý¿ð<‹Õ»L'ÿ£²óL¬ò:äD]²6Üj¬f�™ògL˜ëz�/¯+ؽ[{Ž™ßºrðÝCôM®Y×q¦~áè[»{�y‹¼£®òÍy cÈzA¿§Þô»ô‘Þ;Óîwï„«±€Ç9—¬zÉszW¿”ûH®œóìóV‡ax3ÿ ‚ú à¿%£×mkBTúÎÊþ’�xœí��‘) …ˆq ĉ8âDÈ^éê>×»gI@ÏÏþX¯jjg»iЃž——Á`0 ƒÁ`0 ƒÁà?üúõëåçÏŸ|â:÷ªçâs¥¬eø÷ÁÿQéùŠþ3|ÿþýåÓ§O|â:÷2|ùòåßÏ.¾}ûö;ï°7eôûGFÔû´ž•žOõ¿6Ñþ®ö_õQúv•¦“×íßù�]Tò¬ä]½^¥Ë®gí¼{>pjç«zëìåkßu¹´o{šyªþ¯yeõŽûŸ?þ÷{è-Òýøñã÷½x†º¨/ D:½é3Dþž&òˆ¼¹e«^H×õyê i#/OGôzü�ϪÿÇ߯_¿þ~î :ûsMeÑò#M”Ï3YŸ#=÷2û» QžÛ›ÇßЙ¦‰ïŒ[\s=E�ó8´}E>¤GÈ©éTîø  Ú²Ê×Tªg-Ÿñ}×þú̬üVfÖÿé�¼�Ìþêo¨SVwìzV}Ñ.âƒ/Ð>¨~�Ê!?÷±«ÌÎù�ÏËßÿï1¸Åþè<ú#õîä¥þ•ý}âÀ¶Ø=þF[ þ÷~†¬ôQÚ‹Bó¡N™.ð·.+푹^edÔç½üLo+[\Å-ö§k»ïä döW‡ïÍú(}Ýý�ê6îqÝý$¾#³?zÐ6–éBÓ©ÍiÈïöÇ?òLüåÍ7®!ã3ìO_Q}Пuõïêoßš™é[ú=ž¥tk¥È‹ûøMÀÿ‘Æï!'}/õƇdºÐr2ùÉ_ÇCú‡ÿﲨü:—©ôéº ƒÁ`0 :8÷—ÝÍòoÁ=¸„+8-ó4}ÅÛžÂcåÄ¥XÏdq�{bUþêÙŸÖq˜�©ήè¸âmï!«Æ¶«g*ΪòU\z·ü[ù´GAåÖ=^§+ruñü{µëLVåÕüþ çU¥?)ÿV>­Ò“ó†Î)úçx�…|œYé¬Ò�Æ»giôãœ\ÅyiÜ^cæUúÓòoáÓ*=£ À³Âó!óÊþÄíT•³ÓY¥µ?rfògþÿÊšûWœ—sÖʽVÙnùÔõ*ŸVÙîXù#å=ÿÌFÈÜýªÏ«’—+[¡«àFô~ÅyH«\L—~·ü[ù´ÎOÒ‡£Œhô5žÝµ¿ŽžöT§ö¿êoà”w¯|Sf®ûÜÁÓŸ”+ŸÖé)³·Î;´ìÌFå³´;:x ûëØÉÇ÷â)/ˆOSÎ y²ëUú“òoáÓ2ÞÎeÊ)Ve3'w®”ç‘gGg™Ž=ïJþ®^ƒÁ`0 ƒÁ ľˆùœ‚u k˜U,ªKsÛþçØ‘5€nYæ®,÷çbXw{ ⬿wÖ&Ýúõ™û3®Q×”�øN¬ðQev× �]¨¯Æ·ºö¯gcH¯úËžçîi½�÷Š{î—ôÌA¦3žéôIó8†Çh³òwòÊdÌÒu×wËÈô¸ƒUI÷äWçq”ƒð8­îÕ×çI£>�+Õ»ñ@åì”±è™ô²ÏÅŸáóÈG³¦þZ—ªü�ò\ƪÌêú޼ı«Æ¬ìß�·±ÕÌÒù/ø:íÿèÊÏ3»åç;É«:²µµþ9À³½àÈôï|³Ò°Â´Ê•—î×·É«2«ë;òf³úÂðŸt´¥éø+—i5þ«Ünÿ€žá«ÎŸgºZÍY´¥<õ1NyŬ|E7þkúªÌêú޼÷°?õ®Öÿz/k›Ü×>ä<šÏÿ=�Α}NŸÍå»�Î…ùžü>åuåWy­d¬Ê¬®¯Òdz ƒÁ`0 *èÜ\?W8ÀG£’Ë×ÏâY»ûÌÕ:‚ýÒÏDg«öc¾g<‹ Ìö2+²¸€îÙÕýÿ'ëWµ±6½žqnØŸ{žrèuç"w¸<ÒTkôÎ.™ô\ r¤•¾nåOàûïÕ>Uì�˜~c‡#T?£ñ+®ëžyöï{¼QùÂ,�,^�qF/XÅûv8º.Ö©gá×3}íȸâOPùì� ~n%ãhUÞG4§çø(_û…sn|W}Tg&x^cëô“,Fíý…¶Çù°ÃÑ­¸ò«ôµ+㊠<ÁÊÿ#+}/ãUw8BÎRh_ÏÊïäÑ|»33!m–r\7U9Œmêß({ÅÑ�p�™¾veÜåwÐé[û¬úx¯ëG¨ïµÌú¿Žß]ÿß±?g;õ,çnßÒ½Úow8º]®³Òוþ¯Ïßb÷ÿÈîã?úÇOVé¼=ù¸ZÙ_óÎÆÿû£#¿veü?áèv¹ÎN_WÆÿ�³Žªõ¿rÞYL€ëÚo;Žù°ŸÎ1³g²9pV^•Gµ~>™[_áèv¸NO·S÷Ÿ3 ƒÁ`0¼ÀçèÚïQ¸’·¾[ãï¾×ØÀ veO\k^8Ö”�¨v<ëZbzº¯²Û\ŽáOìp¥Ž¯b¾n$~ð}¬¾Çoèz•3ñј mKã è«ãvUÆÎþ]^»i´NºÞå¸WAö»#´÷xŽë”«é‘æjßÊtÄõì q �³:£¿ÏE=Ð z%Ö…ßqù)CcñÕYµEÅÑí¤q™´®ÊyRGý-¡+u (K\ûh¬PÓ'¥Ü*^Ø¡²¿^¯ì¯ñqÚ=m=y|KóòøvÅ«eü‰Û\ý˜rÈŠ�4µŸÇ=Ž›ñ{Wê¸úÝ1Òûû�;=Ý·åòxÚëpû;o@>ú›”ȘéT\ÔŽý+C±“=*ï™É«|˜¿GðJO¸CÊåW]ù–xŽ1.³™ïµ 9_EŸÐ±©â ½ýVýqÇþõÊã)vÒ(ç¨ã Ê‘}Ïì¿[Gåñùw¨œŸîǺÛôã{-âƒoô½ÜSdו_ËžïÎ׃Êþø2åÔ;iT&Ÿw*ßÎwú‡·™“:Ôº§ÇÇg×­¶“SþO¡ãsÌìÞj�Ýêºï%Z�[~_˯déÖ®·¤ñ²+�œÖñô¹Ìw]Ùÿ7 ƒÁ`0ø» ë]ÏÜkÙíIŒu�¾+e§L]«ïÎÖ‚ïoA^�ç°î;=GR¡³?œév쯱Ö;<÷ôy‚· o�$Nî1ç´ˆ=:ߥPîVãžuŸ£<´Ç <&«ü¿ê3K«yC©¸/ù4–£rÇ)i=µþ*/|ÎŽ^�]ËQ¹NÐ�1qŽG¹�¥w>ùµ÷å•á ?ÓKvÏå:A¶þó}E:·ÈÎ_«n+{ÑþuÿÃ=ì¯ó¿êÜr ³›÷qÍ“¾Ì³]>>ÿËdÑ}+½øüÏå|L¼…õâàõ0öÿ»1üþ`0 î…lý·Še€·ô®ùŽg:…®×ºñ¶Š�ž`W×÷,3ËOã?«½‘]—¾\9ûP�ø×î~Í[°£kOÿûWùiìGc~Æ)ãÄ-<žw¦¼.ý�3qÌ}•ãž'vªuðw$V±’¬n“Ñváò(²r²ºÂÿ¸®5Žï2©½ˆS;W¸‹ÊÿkŒ_ÏKÑÏ”ó­8B/ÝÁ�hùèEÏÕ —'‹9êw?K;Òx:òxðº<–ì|@¶Ûc³ÄϽ®‡§ùVúàyâÆ»c÷ÿ@Û–ŽSwÍ8B•òq®Ãîÿ]û£=�é2ôl�BÓe6V}eö÷¹ˆž­«òRý(·ØéÃËáÞ VþßeÊöZT¡ë„4Ýûïad¢­e2Þ’ý+nñYöÏæøBõ—º�ŸTq„®Sü×ÿ»þß”é<›Ãïø­[&Ï=üfÿŽ[|†ÿ÷õ÷s°zîPç)GèåèÙÁª}{Z×…Î3«³™n7ÅjþpûWó¿Îwfåtöï¸E¿wÏùß[ǽ×;ƒ÷…±ÿ`l? ƒÁ`0 ƒÁ`0 ƒÁ`ð÷á{ÑÙûô‘Á~ÿ¬ö½³ÇÒßi`oLöy„>³Ü´Ç©Ãßi°À±ç‰ì°­ó|°¨ÿïÒû7žÉ³§±¹³Ü9ÍG÷íñ©ì¯¿c¾#öÙé>·,Ïj´Çð­òwµ÷õÕ†ú‡Öݲ³¢ûù=«m°ÂèêòÈ2³Ü³å¤ö�¬ÿ8د–åÀ«Âá´Çž?»Ú²kÞ˶Ùúøßß±¡ö³¾É´ýý·ÉÔ>ôÃì#³ë°¨©ÛË×õ·E:¬ì°¿Û¡°¿;<ÿ¬ÿs�üy—›î¡Ô}›Ú›¾k‰}~úŒî±Õ|µM’†ï'8CTþ®¡¬o+¨[Wžú‚ÌöŒ½ø†U™ä©ïïQ™õýr'ö÷½î\ç­'ç’tœTY¸ÏwôŠÌz.Dó¥=¨ÜW|ÓÉ~q=_¡¾yª¾M»ÜñçÙÙÍÇ÷–¯äÇ�kþt§ïbS=2æû|¥Ò±Ïy´NÚ_}O¯îe×ù”摽Û�öàýðtLàœS6Ÿq`CÿíÌjfý´3–#Ëéܰ³?zÕ1 ÿéíHí¯þ]÷š“ç‰ýõ\"íWËÌÞ]åó¬ÊþüO;¾2'@¾ìã@~tGÎü:º«üªç{åÝu�Êþê7m1‹è™Q]ßPW�Vç2ûS®Žåz]Ï¥zŸÒs�ý‘ÉÛ×3ÐÅ]vç‘îªÜÝxwÒžôÝ:Ú—>ÚyŠÁ¸¿ð¡ñˆ$Âá¢ë·É½²â³¾°ìµþ°ÕúÎÊþ¢6³æœíš‰³¾ë0±Õ±á±õ!)$�¤�’F¸éˆ?6øc>>~Úsm£®+ŒvÁu…Õ‘øνYšuÌ8³´ú³uNÒ?¤WP>Ê1Js¤ŠWiVÿçü‘ý_uKðEÿ‰Ï¸ˆ/rœÌù£Âˆ_âšgK•W]×±ž™ÍEYòclÊó,[¦ŸTœYH»T¾Ïàÿ¶›ùÿíííðŽˆ}x¦÷ÇL#}A› ¼ÒâœöGüžVË7¼—‘^÷}>“iÒžº²-çøèþŸiæÿì;}žLJø°ìXí&ÇTÊP÷3ýTÞ#¯ôߨgÿ®ðJÖùl eäý'ï=ŠÖø?…͘oéçùn€í±aöëì›ô½|7�ù>šý?Ç�ôU–%Ë;«ï�¢­ü�/ñmöµžN/èã±õ޵Ù÷´ÚóQÖƒüzµ÷Èñ<ÓdÌé6éd™nù;è¯ÚÊÿ¥²Q¾–mû{{÷5í$ýÀûiѦxæÿg<Æ$ò"Í^¾%=êü¯”RJ)¥žS—ÚçÍtïe/ùÖ”ë —°a};kú÷Ô_µöyµ?¬9ÔšÉlÍz�Òÿ}m#¿óGßüKk!¬›ôók(Ë9êGüã1»¿”Þèz–×,­Q¿&îlÍiV濊ý²Üû#_Ö<òœöÂ3¹Îžm$÷^9g —{9&°w³&¼Û:Ë™ë‰u�õfÖšúºR…÷:Ö½L+mWÇô�W^£§Äz%÷I—½î¥2Ÿ£î—lo£þÏZ¶f?¾k4öW¼ÜÇ-è#¬ó­ ?V/ì—c^ÿ·!÷!{u̵ʴU¦ÙóÙ·ÿAœÑý‘ÿGe>³Ò°¨þ?Åÿöþ�v✽Žø3ÿɳÝ´ÊÂá½úœ—µ÷øz°Õ§ô´¡·O°÷ÏòʰÑ>÷³?²õ�y�Ê´¥®¶ðßG)ŸP¦U{× °.ï».Tæç}6žÚ³‘-Æ×F`‡£Ãp]Åkß…~Ãóbà� ¶ О$Áwݓٱ„ÁñÍ|süñCo•›ÝA+Õq3¶¾lOàx�@á(é0ða¹¯+?÷  ÜT,¤_�¯7�¸s\�ÛÞϘ^Bl1)üCó•Ò+ÔkÛ(îFyN"8õ–dPCÌ_9ÈÒ>°¿0&±ô«4¸�±õ³¾+þîën�wîÛ³Ò�rŰø�Ȩ»ø)/tih“f˜õÕ Ñ¸X†>Êʨ¼»ËÅòã)–Ô<,é6ös4ÅáÀÖ5›zàbð?¤¢Jðàö\<OM%O#(7ä6à:§= �ªêýÓ‹YA£÷ƒH ¶«�L s6›ÎMƒXêÈùBcX�&ǘJ½te».Êöü¨Ï 3.je(”Ï?Ô?õèÉLÚjï³=€ÝÚ%wƒZˆizFTx�ô„$�¯kPö8›E·�mòø jAO™ñÔ×úÞ€«ž>~þ’†åÜàØ†‘ºéB9úµâ † Ö¤8U­«KCÃv´jbëL èåçC¼ï€y¯¡ ç�;¤mj P.Ô —øãïDkñÂêwþ¡UÿE€3ôܨÁ”‘•’8xëUÀ…JÊü¹s�£‰ž\„³èÉŸŽ+;}s­FãQ(KI­î÷¦XÝ›„ƨ ¹1 Ëúþ+K�ú¨èdXŒ];JÄ£Žïcˆx$�§DÑ×·Þž¢X`i× ì¨ëÑ@lÌ�ûrn°m$�¨Æ^×9΄ïzBGÏž Q=Ænfäk„Dêö¬e; <¨ýøaÓü>,µâ¢ž›jÆïk‡0BŸ[p(õâ$¿º‡Ç ‘ÛöÌpý4 nËËq`”XÆ“ù úvϵöèÙ.xõHnŒû�orŸJ¾€Ï5¬ñÁàÿHàu©‰ñê뇗� fà§ í××a앆‰[Z:><ÇM@J£9óý¬â$Óq]¡}=H… kÐþ3ÆÊºã¯ù鲺t¿Q“=‚, 7ÆÇµß»ýìêçs Ä>�ã¢3ø¶ïÞÜ6[¦Ñg•¨— RL�Ø�ª¨ù­?·( �&wÝ.7C#~B{‚]¯Ó ×â—UÔW² 7™Ò1jk~‚e”cG»¿rËÇùÐãDØ.=ôËK´ÜîëÅ@ÝWÝDZMû0å€�ãûíèä¼0Î\Úòx�ó®vÏqßNZ¢ >#Æ ƒ„ŒàBE— ™¥)•‚º&yØA}tå?Bûê Yìm(ÂWIpá�ɱò€ñ ¸|½2—+èýà\2·ö íÞ)�lÜ8·ÖtlÁ@Z.B½€£ï•eñ…‹�ƒRSßô�ƃm>d˜I�éþlþôò'N a†dÄ¢G3¹%�†¼#«)?è¼Ï$sß _5=²íYÇBR#-k"qGP-Ðeþ"çf­ÁÂá%Ö©-Ï“37êÐäÌÈ8ÔM9™�ÏŠŠ,¬èä_*n;H‚ÁúÆEBƱ†Öcl¿~øÎî±ç Ë�[ƒŽ/saŸg¸IE2å,zÒ1Út�:’kLÆÓçÎÁ¡ÍíÈ™壋G)æÔ{7ÊoðËÅnd¨ø¤è·ðá•{@rõP˜>ÆkÂwŒk×½¾¡ #¸kXfy‘ÖEÇ÷šÈA©ÍBÂ9ÂuM°ÛÞ4P=¹_Ól’�ÆgW�®Ø‡ÝN•Õ#–_n™‡Gï¤pp ,Z…ÿUu›6È“÷ÃV¦›Ó°¸å0EK‘7*|·ý]¯{�ü75F\éÔ¶»úzQØ z!á‚Ç uH€>îÿó¦upš²ÚöõTÙ£»o3P)ˆø´[à^Õ6ãÖÚóã` -šd&á*=¶%ÄÀÊfY’<¿^’ƒØ·`_6�¨ßÈ|h¸Ìë3Ø¡>€„2 Pºúqÿ×7ÏŽ³ ýÕü,Ns¾j»F™=BµŠü` ¨í�³•C§òöiŽU’)Ré��@LÅßÒ®„‹ÿ‰·Ç§mb<2FH“Rq°²ùF½åãø÷Xºi�䎲õOm¬GAýÝ·ôÒ}:¶*¾Ëu ÄfØ:@Ê«RH™.òÙ6Âñ¼±Ã6Žj�å§cæGOpO- ú­6HÒýúÜÊK�ÉJæÛUÀÎì:ºJǃ¾�ŠýÉvÆ,¡•¸¯3ÿ‹DìZ‹¹EñÊÆ®ÒqqðìØ7p�?¸ƒÈŒÞK¬�÷Å%ȧ$�;â¼?ýQ¬r�6³pP7`¼a™†¸é^=„„ýÉRç¶_†õ™³)m£„Ç>ÀD3#£ ¼_' çIþÂÉ­uÍ‹CÁÊ-R�ne㯄³²Ïóss•ÀîLÏÌ<È­/µàR)|Lt_1»éòÁ¨L¿kÇ=‹rr 4�ùìê§ü/gýšEÀrþÀ~P†¦nBß[ ®\g[{¡«‡’g£ãYÛvRŸW'†‡ {Fe°m1ïÞŒ{ Ýw¾LÿÕ;�7¨&$‘çþxúcÚøÃÐ0Ÿ �ŽžnÝö‰óí&úÚuÅ@5sCèCÕ±mœñ8Hƒãefñï¹Æt ’γæµ÷±ç(²¹¿²ÛÑ‚a¡?¶ÄŽÐþQ“%ò§ÌlÁ¬ö4ô‚¤Ï‚x³¾°Â±õ׆¶Ä³Òí¯¦CèÒôì1ê’Û°ì×QÖýŒ3¾±´³³óÜ,Çÿ¶Äúãú‰°­ºš¸éˆ÷ÅÄð¢ÄÂÈöÈO¸¿úÈç…ʲ»†�½þ4á)ú%ˆùÔb6îµþ8ý\ ³±èµõšÉ쫱ð<êºíSé¹�‚ØìÚ+ÓjsðÄpŒ„¸ß%<&t{3?Œ£¬|N)p7b™Ôîãé?Ôa¤iäDµWl’¡½ðˆX—ŸÀZÚ>;uø�)¤ko)#WáÈÍSšn®cR½xô”{[ÀsXv1¤¬95‰_¬¬0KéõÁжՙ7Ú>žTp¡5‡‹¸Ù´¤l3¥Sü"Ø�êLX�ê…ç�«[á5mö¡ø º¿Q="u}ö‘ÆpϘ*x�böÕ‰ºîã—ã#iM+³ù@»Z!� þ·Ï®~jàÒY”ݬ‘¡´Ò$?5Š• mtêuˆ] ‡%Ž@Ž÷Ý…:4h8Ûƒ¸˜¡»tuì3À;ú ΑO¤1A/r‹¿¾™ ÆÏR*5ÀÇûÿËìiÜ&j#Y2:º$Z(a­dæ@ß>'z ž„×L¬¯³¬Û뇶©½6Z�ÑÀ8|`Æ6Ý"åŒX1ß_€z' îF-©÷»Ñ�û?°úX^ò A:?1¢;ØÌh/KžVB'õ üvOnÏFSò‚¼É õƤê°ïÌÞQ{=kh7™ÀMå¯ÀwXQùpü\vïÍ“ÎO/ÿ¶.ÅöÚñ¹ ô�N3·ÍHKRðÉlŠK–"›qò”‰^Wܳh�¼1wtùã  h@§¬Ñ3ðe6þN|–’¶Á©‹I;yî�ó?8t[ƒ[é!‘ ú¥µ$,ήL­·e–"�z¦å%IÞ†AêkÜÌRäl!3uú8àÚ�yßë?_žWÅé½)ƒAbCÒõéõOù!rz¿„a¢¤5S±ÍnÖ—£³ˆ#Â<ý43y�Ü6"ª ÒRýêÑô߃C�‚Qå¿&>¸[�¼# BHÍǽß{v¡eà×kOÃ×TÉlq(�UHð͵h� »Ý”8º,@t°µöÈÃÕ‚LÛ{p´•ü‰/Ø*ËL"�d_y ïŸk,4î GÌ–ýÑbD>,ÁÏ.ok"ýD;†|7–[.µDÖCíAœŸä#‰iÇæélÿü¯‰ÏŸ¡IÖ¬ÐòâóÞD¿q½]+ÞeE •ò–_«-- ™ƒ¦ Ú°c©›³èç€^ø¿¥Lô˜q±1~ëC�ßC“ÿ”øžC“9¡ŽgN�äóýÿû“õHÈ8Bkhêç«JÁŽ#Z¤-`úV�o§™MËa 9r$îÕºZ-¼hókhò ?C“$· û^–ñtÄ�÷¿9d(‘8PÝ…]Ú¶š£×w[¢wléÏ;µŒd•Ôn—׆ôoÎK«è�dù H¦Þ„(Dú¯…¯Ÿ¡InüIÌ Mïãü_(ù�¼ðœ’îð5)6H/öõÌYÍ1‡¸ ±QRæŒk,nËÖûXH½­ʉð‘ƒÊË?>ÿšd´Ú“ç&6³üü¾ø·¡´³–m‹ªé³ÙÞȵ÷¥C—µ›½ÌC¬³¦¸¿½îÙ0Ê…±¹5óæ<äƒó\9Y·Ýÿcáû×Ðä}1Ú06"×´!Ö�óŸë9êdl:'– û1H"Áz'7ùQ‡�q›„¹Ž¾¹ÉŒí#KâR.ò/C“»VÖÜgÇQ×Ȭ¨åéãó\ âì`¸·?dÜÛ1y³”åuMÛ6Ƶ8ZX]8Ãø^p…ªwQëE¾ç &­1frRšÁKiûñçÐ$G¤ÎÓðÔÝœ��ÛÇЕŒ¯ðh3'�À®Âø”·“Ç{¼±š;;Ö~F öKî37Ðkš–Ìu<pöµdÊŽåèˆ+C¨š¤™ �Rá‘÷Mz¹Æ�ç¿7)nÒ€©æöÔ lEGyÍl½‡:Ì‘ÿI�Þí’o±BìÞÿ—S%|ë‚ÎЕïsTuÆleÁõ’bšA}A¸ëæížÍ´þ1ãý0ÀA{ÉKù“ʘÓº¼tjÑòÇÐdLI=rž ¢PRgóûÇó_Lb¸R³£é Åžël?«â�”ž)!°Ö[«‰FÂæoÖç wi&k^”CV(t@püW2Ó÷²ó{hÒx�H—GRn²͉ŒeCbúxÔ‰°�ªé6GÁ³©÷‘¬�Q…Öd27\ÌØ«dœS‘É=\»F§f*¼0é‘Û£ÜOP�úÇ5(r„Zß™xQ‘Z>¥~G AeN-õãùÿjYôÜ7—Ò¾n;ún?Ó¹"P·¯xÒ}‡·•/àNäöÞW:ÝŠ&´—×¾†Ù:x" ꭥу;†ÄRç펔¹ �®cä›…Ñ™õ±ñÜýüýElmG§a=� hò¨BG_æu…³×YnZì«­FYs ôUéµ"zM&Ë:ËÝGn¸Ïuí.õDX‰ƒÉ5XnšÁ¡ö›;Þ}¶Ô«%XO?½~2&ùÝØî¸Frjj¢¢…8ˆ› yAÊÆä*±W ¡³‰€©ÒI�Ò˜÷“9/¹§u‚b)õ�Z³l:ë sá¼¹ 8²5ÀÀJõš>´Êÿi´�œ��Ðó˜±õ<�k�í¶ ˆÙ¤ã^¢S×xš[‹è²Ös€­GD¸áÀã(†+‰—"E£¹³HnÖ†A_›á\F° Zù½Ù%ÒÌ‹’ÄÒ?Þÿ4`µ¬¬w�×_{Ù7¡¹"ôÝ0«Yíñ®@“f}˜¥¶ÉÿçÅPEj¯mÈÚv:ïQȈ¿ïÒÞrN¾¯[wÌô�zà*ö±Š5‹c?¢jŸÿ唬”f�7µµ—?K_ÑP�Ñ', sZ(oT |‘êÓ\-%êè”’ûh„’ìyƒÁøÅóÊ\ cK/ ˧YGÔ»Ú�þ†�Ñz&c" *Ç(,ßÑÜÿ·yíEŸq(šy˜[õ¼²q`åa 7XļÝà~ÿÁþ¤¾R®¥Ð/æÉ{h’h…ñÌ"¦gøÃ=w˜Ž÷Ý ûÕ—ˆŠ„?úÓéÿ̶‘uNh{Ügóú?tqªžˆmí,å¢u¢[÷YÂóÚotÿ¡+ô€!«hfÚç.2]ìݹ?‡&•œwAáRˆ´¾FÃľ붾Ue­‚«%ý�dÏËl³iø�‹Úþqþ—Ms&ç6™X›w-&ÎYí¾…3(¥­™G9‘¬{c×�Ì֬ǿMæÝ;£¢­évÞðú€n�"—Îíbµ¹)½<ƒ×¾ÍÜñ‡e_ð1¶üœpèè÷ç}÷«11ôÝF#‘ßYXƒ�p¤q]—ÜsŽš,[Â%*&¡±@ƒD¼fóÃÒ¹A‡Ù™fs” ½Ë,¨ƒÞ>¿þ3YÏÔ•;ç:#hEL¬×�[ROd‹Ê^GéšA�Ë©fß~Y!ýËÐäEåêñn·ôü0¯~Åà/«AÝò� –Kåm÷‚±>°÷ÿݰ³ۢq†"µ¥â<цFвÎë*c¹½:xÛw„|¤Ížw­—%ýehRg°åØúæÜæd¿9ç´üÌ•ªËÃvž3Àv Dg™�hç>>?ÿò3é‰hŸYDk�gCã(ʹƒªÔ•�ô×SÉ·†¬Ôœ|è 2QÁü94©(ñ½?OG•Q34… fëcc³¶PopT€Yaƒ–W(£>Çÿ@­tãX4ˆ`ðLG¦Ùžp•‹É„ãaïãšÅ°l\¤[9‚cû26óâU M6f,ºŠò¼Ë'›¤…žCÐÖñ4øi¥?W~p¯sÏ ?žÿk³ÞA÷×KÃrŵÄÅÎk@–Ið|>^xðs¸?ý\Õð`,DèäõÌ’©Œ°Žû5¯é�W�ÛüÉ^£èøçw €DÓµMˆáøXf_8<%|8_왉pPó1†…ãî„WþÀlm߃˜“Šf?4žý¼»:½òÌ�“_£Ô”v û�ûMà;kž:pÍÖ²â�_ÖùásjØŽqw]$F‡£}ÿ¢»y« ××û,b'Õè°N‡Îþ=Ôo¹öÖôÔ0, õ¨Çÿº»â~–ÆM‹ƒÄû Y•R´‰¥4â6+!�”}@~u‡j°ct�CÔúàõP.ÅY(ýxÿ׎� ½×zµ?70ÆWXFÜ£¾oŒ½·¯‹3z‹�Š€0°®Ác8¨R£êG±¢g›0àö ¦T—Uëøò„½»‹�w­"/4³ÞÖ��÷¿¾îC¾Q`[{O³“ºcÈn¯]•¶+•{Û{­ç¼ÞÕÎ N!�3•�<®ÞÇVí‚ìyxé,!C æ™b². êlfÖ×åÁø'„ÒÁ\ ןÎÏíãëgu,μ·¸šw-/ôß3Û¥ùºñíN°íâX(›c ƒŽÓâoõMDð‘sÊ¢a·#ü#0{c ÁÈÀð%µuDWCB¥Z€AéÍZ6»,Ø�çûxý (Z%‡±µØçw€ÑÀáŠHbhTb2ùþ<$÷Æ*cÀ¼ænk÷³”_÷×�•ð«Ð÷¿#{D+B<™!âÇüS/¼gÿÃ�`ø9”­.^]Ÿ�ß™ÆCíÌ+>™ì3ïƒ+•ý5Æë]¤q�‡„Äp¦j' r¯9µ¼FDȬ)~: ã躟—9GmÜì“x2’¥ù-?s–raG"yvU³�pa;R«çãø÷ăœ ÌAŸ\&ú¹“ ÿ?�#Äìn Ûí0Úee�½´“d~o’qå¶­¯!!DzP^H)>¾oµëÈ‘.®Ä¼‘Ô¶=Hy»7´S´-M½ á?Þÿô8y£c¶Î™ß§q„|Ü#Þ5"ù2Б ‡lµm#—ýU‰ÑÊ»ìýeüΤÎV†ÎÈbM�ƒ¤Í˜÷jAÌc7¾Z ä]> 4½gbö Äýñõs 2WRsKgí6Þæç 's8qzñTT[”R›[wÄÍ)I‹—9ø5x¥ŽÜWjýÚ #”!nN+zP’ÄÚ”â ÁKgâ²ÁÞTEŒ,ÂÁùÇë?³¥{é^R¨DÝ¥=´R¥u^zîc¯’§³Ì¥&D¼‰'i74øSËJ½ß”�í&H¥æU©Gà»[û‚ácrÃͦ�Š<ú’‹¡׿~þ‰4}Ú…žíh¢°Î;¯üòlpAZð´%’XÔZ;t®Q?„±÷÷žóy™ïk1+Ƴu6Â[«©ÌÖè† áDõ™c4¿ÆœÚóÐÝ*d„•B#!}Þÿe>Çsamh¡¹ÿêG3c^çæ—8u9󼵕⸈߂ÏUéy‡‡B;f "Y�i=ÖD§ =Êâ‚Á4‘íŠ&¡Ž’Þ×|¾Cý“Ò3»Ä÷šg]Ø~üþ›WgjhSIXU“‘"1A5Fr4×{üáÜëAä—éljŸw¸TðÎá–Ýt6<ï/NÁ  �\û¤õó«R¥tÇû˜a| Æi¨ÌÍ>‰T.šWo>>ÿxŒ•ϯ¼Y¼æÈ{ç··m,J²{gg}Év~)ê]Ñæs!?wøè÷X›‰�æè˜G—F°¥l!7ކUœÖ|Cnáfï³…:.@mq%®Á臔±ÜÿÓRu?.–�:¯èaBë¼ÖºÌÌE#Gƒg'yX«Dåÿu‡SWºä™ÇŠD)Œ˜21×ѵ‰VµˆagW¬àP޳²q�½ç«ÏÈ’Ï Ís”?¶•@åg")ªíªç©s\ÖTòâô{Þê«f3g÷‰oÑþÏ^w:^ë¼"•Ý{¹ªd#³!φtà}©,nÆyWFKv�„X”4–ƒ|<û�B+ è®Â8ˆi=�-;´³X 5l=/xlêóŽw•–å÷n³]ì à+SÛÓ¼,{Õž¯/ДâV¡û»+<< ØÌ¤®Ào ŸâÞçèÔ‡eNpù^Oÿþ¼ÙùŽOv qR¶ £wHF3ûÝ�ß=oý�;ü`~k’RÏwCßÏí²”u¦ãk¡jE˜|û‰qÏ©ŽÔ‚KV,Ï àÏ*?ÞÿþxkáÜ}Q�xÁU¹éœ/MÛüÞÄÂá�=� ¤Õ°pý¾Êæ=çŠ�Î^xúBË�÷ÞÚKx«§Ó@ð[�òÎI™¾ÔYB]Tª¦âž�™�çÿúÑKqÉ.á½€PÖÛwÿ¼ÃÓAG\ôšWÂÏ‹�Øâ9ùãÏ2S³—åA\è“Y\œßy=ǨðGj÷¾ÌéÇõÕ¢ÂMî@âŒtÔ‚¶„vD¾üƒzÎ+²ÙÌBĺ\·Ÿ¬ü¼ÃÕ¬…÷Ùë6ËÛk™6Lþ¸Ê¦ÚRß_rýn�l|UAϯ< ¢¹Ë|¦²!‚¸;ºÁ8™_1ÜgésÞ�ùÆCŸ‡ÿ¿ä >êVB‰~æ,¶¹® Ë˜_ÿ&f™äÕjpñ/WÙÔ�ÊwaùO ¼š°H 3ÉÛûþ¾I`˜ÈòuØù»õ¸1êͤÉû·ÈÏ÷ÿå+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò•¯|å+_ùÊW¾ò€ÿÝš™w)¦÷2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T19:44:18Z 2011-01-28T19:46:40Z image/png ]ø‘�ÅIDAT•�‘=jQ…¿‘ز„™=XZŒ�$ ,ÄB\ˆ qÜ@àâ"$M ‡`¯|s>B.÷rÞ¹?•`¥nÕÖmäeÒôè0¾€à-j¯À85ñò[]©OábľºPÔªP7á´ä�"Ëw@‹zR‡Ùì¹sâ»Úªü×𠌢m"òà\¨ ð ̀˃™÷À1]ã¤ÎÌ¼Ž›—©PÇy>ÕIˆ§ê>„µJ¾q©6Ñå±Éðø,ö°m0IEND®B`‚coursework/images/sea.png0000600010163400004550000005041511521654255015637 0ustar csuhcbdcsugrad‰PNG  IHDR Xšv‚psBIT|dˆ pHYs  ÒÝ~ütEXtCreation Time01/28/11i–ŒtEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:08:48Z 2011-01-28T18:43:41Z image/png Xó¤tEXtSoftwareAdobe FireworksO³N IDATxœìÝ}pœÕ™ úG²ÀòDòÇN¶ÀÆ–X¬��˜gä Nàìk ÈXþcBH0.ÂS|o2U“€!II®Á¹!“¤ŒÃ$dn]Ëfv€ k ‚“Âl䉀¡â²±ìÝd±-Íõ·uÿh½í–ÔÝjÉ­#ÉþýªºÀj©ûíóž÷íóœç|ÔtwwwDzæ¿GÜ÷jÄÞÃ'~vó¬ˆU—DœÛ8rÇ ¬f¬ {GÜõbÄß¿Uúwî½$ˆ£Ó˜@öŽ¸â©ˆ_ÿaàßýô¹�~2bò™Ã}T§–ú]îñ»Îˆ:r?›|fÄEœË,}ô�#>9-÷_ªQ¶Äüú°Â<ÙÝkÈÕ@>úÇ�^²Ï£±°À�_ìŠøü/ºã·É�•ýþ¹�Ÿ˜ñéÕħÏгαŽw³Ò=Þû²µ³Òºs?ïk´¥í‰ÿ¯«�¨­Þc*7ª�¿´ÇÏ5އ²úò™Ï_')çdÊ7"°ÂÆ77·¡´¥®I9²õ°ùŽu³Ò>±ç´'ÈÈ‚Š£Ç#Ž—ÿÓŠ�³Û1®6œœ9.²úœ ¤¨³¦Ý³ÒŽçÙ¿�õüÿ¸Ú°À¹ÕÖäÊóŒÚÒ¯¥ŒÊ»åïáˆÏ?ßÿô»“µ÷Ôó²µ¹ó<4¿&>Ì·•Ã:¥œ±ôðÑ×'§EÜù§²"°ÕîÈñˆ³Ò#Ë5°ù³§°Âñ�3"ê#±ç¼;âߎæÎǸ¿ÎE³¾¶ÙŒ¯‹h±èš”°ä3âÈß·wÇ�Ú‡/ð(ôè5ñ¹¦Ó»{ݱj°ìºSþɾ±÷^´ÜŸœ±¹³ú”ûñî°À£î±èÁ<†3ÇåÆÊŸŽ½ë¹rØ$W.cÅ™µ¹@äÌSøœ>ñ‡CÃóÚê"&žaòÿé$›+t¤Ä¼­úqæ 'ŒHòëßG¬ùïÝñÄïºcï0}–r:!{E|èÿ9ž¼Ì#"nnª‰U—֜қEv‰è:RúùÚˆø£3r½Ã§KìZÃ{FJý¸ˆ‰gžzÊŽwGüÏÃ{^Ψ�øwãOŸº~º9ÞqèXġ㇎VV—þxü©Ô•K€ü®3â»rYŽ‘:ú:]ƒ�ÔÙ�bî½´&VüiML?¢‡Qu{Ú•È‘Æ3†õ�FÜ@ÙXq*ž¯½‡Ód¤!§žcݹk»Ò £Pã §Ðu ]U�½‡"~ý‡ÜžYÐñÆbÄŽb>Ì·�^±çú|+Ždö£¯Éã³Õɱ·�ò?Þñûƒƒ³åÉi°À²Ñ²Ô¥¶³§­Gðx·Éľù ì°Õ°ù¹ó³¾Ä¤3Çþ0’cÝÿã°ªº÷°Â1±ðüØ/·Ó±ÕÓùÚɳÙ*°ª¶ÄÌ �\¸¿‘˸¿üú÷¹±«”~ýûÜs/ì²õÙåsÔÄ£Wœߊ÷m펱«¯Œ®�0ç6¹ó"°ùË[ÿq°¨³Ü³å²õ48³æ,³Ù6´³‡âŒÚˆºÚˆ3Âá±·,ßÎèqàhî\°Â2¿±´Ê°À®3ñt±Õ´Ê¿�ý`²Ñ<ݸQßðŒû¶Ù�¾F{ r¬;â÷øŒéX™¸{º…Fû\žj ¬†±„>–›ïÕ7ëY?.wþÇBZ‰á>2gM;�+¥ëŽ8ØÓ­V¼˜ÚÈÕ©3k#êëNÍ@w´Ë_øÿŽ í{n\M.9�–ß/”uÖ:ž»vlj ½&¾+)ôÑÖÄóן:AÈ”uc'ûQÌäñýym|î‚ÑÓRI9Ñzâ¥C�ØXðQh4Ïå9ÙŪm,!Ç»s“°jlž Xgð1v‡a>v¢÷ûd'ãÕµÆ��`äÀш£=›SŽ«››ñvzàÑWmDŒÑx î+ÕW 8V¾�$)bòøˆç¯7&'EúQ{w|î¿�k¡žÛqó£##’z¡3ksÙ�ÑÔ{2Ü�”±®aî2†_õ5‚�¡dùÆj 2˜ýŒ†ª6">8²¹ô7²±çþ�æ6°À±ð—Ψͺ>–û²Ô(¤e¶ÄÑv´ÇìëÀѰÀð1°À�晵¹ŽÅ±�•“m³¢úÿ­<+()aòøˆG¯ŸþÐ(¿K–ñ¡ÇŽÆï:Gú(ªkòøˆ;/¹@d$–0�È}iO?:nX‚�ÊœÑ8ކ†ÖH®~U‰É£tñ…“b8a õx¦N9Z7¨<ÖÝ;Ó1L—ú9ʲÒï†q5¹ d´]óÃxô5®&DNÃóŽu炎¡dŠj⻇ eÜ{Ym¬ºl´úé¾WŽÇªWÆÈtˆnnÊ Íúä9Ã厖ý-Fz‚ºàcpFËÊf#½úU%F[RÍùh_-m$ærM¨Ë�ó‘v¤glú@ÃEF³ÚÈÕ¯‘®;”ιlXRýNÖ>Ö�»?8:²Y® #\ƒu¬;¢ópîº*H>wAm<ôçcg^ÈÞCúÉ‘1=÷c0>úÁš¸¹©6>}^MœÛXýoøƒÇ"ö=)ø‘jÔŽTöçT0Ò�ãh~UÌh™È? òÚˆø£3"þh”�ßÉ…$Fâº(ZuøøÈÍç#1ôïxwľÃ'Ÿ1ª�Ü `gŽË-e[W;|õb4�µ‘ûnŸP7:‡¦9Þ°U¡»&>t ]~Ã磬‰ÿ²¸nX¸Õvß+ÇbÕ˧vö£”ë?TŸ>/—9ÙsubÅ›Ñy‰œY[“äËæÄÌè,‡±¢6"¦Œ¯I>f;7üj윻úq5#¬åV¸ëÖyý¸šü2�#éð±ˆ÷ ïgÈ551i˜Wü;|ìÄ*<£õ~^Mõãj’Ì9r<7gèX÷ð•陵51®&7‘="œd RŽõL‚?Þs¬G{–IÎã­¦q5'î#Œ G{H2“ÇG<ôñºQµ"S_¿ëìŽýx”�µH䣬‰OœSŸœVçN¬l§õ_¼w<~ñ^wüè·ÇãÅGÑx�2&Œ«¶qæ'&ºMTËêj’öòç†_�­ó—¢QZÌñî\6àH¢úž‚R3"C/F[½¨Ö}ìX÷‰î#ÇO�€£”Âúuf3 Ç»s«êý›}¬“ÉÎåøq¹À2E5[ÍêߎO@2Ÿ» 6úxݨ’uÅ?�_¼7ÊrŠ£ÈG?˜ë]íkßáˆ_ÿ¾÷¥°ëó£|©Ž>&Œ«‰?ªR¯—/˜á•²�ýûéÔÕ”jX“4Kð‡ƒ#×`Ííù�ëñ?nø2@ǺsÃtGkÃüŒššü&|ãjŠ÷r9‘UéCÇs½ÜǺGïg-ά=Q¶C H²á7‡Ž�lÖŒ\väÌžå�«¹iet>>ü£ CtncM<ú¿�‹Ož3z²!ÿôîñøOÿÕ ýjkH挚\£m(kÅŸØtÉL gÔ ë’”‡�EüaŒßâ?PW“d÷ÞCFÑ0ì!žmDw²ŸÿpÏ™£é32²ró.jâŒÚˆšžúuFmîçÙ°¥ˆ\Ý9zÜwÂhwFMMŒËæÏĉ ¤\Ÿ�çÃ=ûÛ¤í 9Iw^4.V]6òÔ÷ŠøÐc‡O›‰ç)ŒÕ¤PßÞÄbÙ‘léÉCÇôl�„á̆Œ¶FõP�«©‰)Ø1 å4®&×P¬«=ÑH,7>kP9žmž7º?pz©‰ïtW:IçN¬‰‡>^Ÿ>oä²!sÿßÃý†qrv}~,ÇÃiãgT·§ÿÈñÜdêSIµË(¢'ø0Ô ©Ñ3~h ûÝþîøOO‰+þË‘øÝþô_dŸÿoG0ÆýÛ‘îøŸº«¶Ôñ¾S0¹]Í2:Þ�[ÁGð�ž¤Š~ñÞñøÐ�Çç~v4Y òùÿv4þþ_NÏ%wáTs¼;bï¡îø'ÙÈÞ; 6Í.Õ(£ÃÇ"~°; >F„!XÃdòøˆë?4.VÍçN¬þìɽ‡"®ø/†] 'C°iãjs“°'ÔU>ìè³Ù¸é°Õ°Ú1¡§Œš#°ùøX²Ô‘�ÀȶÄ$±èóãâ²õÿ±¶j+´Ú­yãXÜ÷òQ·™„Ѥ¾.·D°ì©5à�è<ÒÇNÑÌG%jkrKÙÖõ¹Õæ6 ;½Ë`4©‰ÿû›¥8Š�;±&®ÿPm|î?Ž‹�þûÁ#{uÇ?½{<î{9Ýð®ÓÝ®[FáF/¹ÌH„twŸºÃ­85 @FÈäñŸ8§6>úÁÚøè¿¯‰Éãs;uOŸkUd› þbçñøõï�Çïja¤&¨>” ¨¾ºñ�†ex€dê$@€TêFú€S_[û®Øßy°×Ïæ4M�‰�F舀‘bcÖþÎÑÖÞQÑï6_zÞ0 ŬþÞs±ö'¿ŠÎ®ƒEŸß¸î¶ˆˆxñ•-úüÊÛ¯ªêñ „""&6ÖÇœ¦i½ÆŽ]ïÇÎ]ï}.«gÅ~gú´)1cÚ”AñàmÙúnE¿WiØúÄÖØQäóΘ6%Z®¿tÐÇ7Ê�³Lß{D%÷—Tç´P¹ãªvP_I] Ƭ¶öޏqÙ*þýÙMScÑsbùg>®ç=�_i� O¾:àï½øÊ¿ÆƒßÿYÑ窀ÜûͧŠ6Л/=/ ¤õ‰­%�÷½7¾Qòwîþ§ªþyŠÌ51}ê”h¾ì¼XyûU%Ò­O¾Z²ÌÆJRîœe6®»­W£zÓÏÛâ®{6”ý›Tç´P¹û^ßÏp²*©ëC!à´±­½#¶µwÄÚŸü*Ö|µ%]9g¤©j¶l}7Ö?±µWoå}_¼¶â^ýjkkßUQðqª*àŽÆ wgÇû±áÉWcÓ¯ŽHcz4yñ•íÕx±ÂLƒW݆`pzéì:ËîúquJÌ8gJüæ·»JN€îì:÷~ó©²cÿ·l}7~óÛ]ýÔó/û%'|–š¸9}Ú”˜ÔX/¾òn´µïêõZ�ÛÎ&žö�¬=±qBɆR±Àjç�~ï?±qB|ä‚i%�¡Ô¤×ìólúy[~’ò¢+çÄþ΃E'-GäæáÌ8çßEDîsOj¬�Ó¦ iÜú–­ïö+�rçe(6ý¼-_V'ÄüË*;Îb�U©`«Øç˜Ó4-æ\0­ªœêã#L‹ï•o\ßóͧbÑ•sòeX*@ŸÓ4­ì„è¾´‹ýn±IÜ;v½[^ù×^uhÆ´)I: ^|åÝXtåœØRbQ„Á*vÿ˜Ó4-æ_v^Eu´­}Wlúy[þßó/ûC>–‘,×¾d@8%µ\I¬¼ýªØßy nXöƒØV¢‘´eë»±eë»ýÀ­Þ”MÌl¾ô¼~s-JMÜ\xÅìxñ•wû½æƒßÿYÌnšk¾ÚÒ¯!°¿ó@Üóͧ*žO‘52ûªäu¦O�·~æã±ü3ïõóR“^‹}ž¬±µdy4_z^,)јΖ]®T¹áF� õ%ß§˜•·*îþ§z–·ýTþç­OÏD-¹î’’ul[{GÕ³ ÍÌ'¨t“ÏrÁ}V‹}æEWäþ®oæ/ÓØP·þåÇKÖ¥áÊ""Vh� ­Ol-Ywf7M-Ywúv`”«¯K®»¤â!X£­\ ™„Ài!›ø\ÎŽ]ïGó¥çõkD46ÔÇsîÌ�Õ.¤TÚc~÷>²õš¦±Õ6·RÙØü培¼h£<[~wç�’î ÷|¸±Äp�l¿”Á¸ï‹×FD®—¿Ø<˜Ây™Jz\×– 7œ1mJÑ÷|ä'¿ê7¯¥”rDzòö«ò¯Sɰ¸R+I• '5NˆéÓ¦ÄÊÛ¯ŠÕß{.]9'æ4M‹�\0­ê;\GŸ§2Ô×)vÝDô”çWû—kcC},ºrNÙlã߾9š/=/VÞþ©˜·è�~×Xg×Áh}bëI­Ø5}ê”~ï_,û0»iê€Y‰Ru´±¡>_w[þü«;ž|5VÞ~UìÜõ~É{ÉÂ+fÇš¯¶Dë¥[ÌlŒt¹Ä$tè1§©wã¸õ‰­Ñúä«ñ›ßî*;‘}0³Ñ[±ÆQDÄ-+~-×]Z²§6Ë*”ËÊlz¾-ß`Üñ^ñ†J¥=îK®»$–cceç�’e¿ã½“ ÷•2´³ãýüòª)÷™³ÉýÕ\™ªPßÀvÓ¯F[Ó®ˆ¸4Ùäà¡j¹î’¢Hֻ߷g«l•ŠVɰÆJ³4¥4_vÞ€Áä즩1i€ºS®Ž®x5ÿÒÒï·å•�}eöîɨ¨¤3e¤Ëu N ¿ùmåÃWÖþäW±ú{Ïõê¬Fð1X-×_R´Gÿ™ç·•ŽqbhK¹Æt%Ÿ§’ßé»ÒÑp(×ÚÙQÙ~ mí5âËmÞX­  ’Þô̶öŽXõ­§¢õÉ­½zÑ«¡šCº]9§d¯|±:\I­džÌÉ~†rAfÑs<–ru´pe»rÁC©¥«3ƒY‚w¤Ëu &¡{x”|§’gʬêSذ\ñ•ÖXõ­êLB>Y+o¿jPs"rAÊM䲆$•[þ—• +4ع,•hèÛ`®‰�*®«Ó§N);o$¥�æÁDœÜÞ'À)o ½)²ÊM?opŸŒˆÒcø«­õ‰­/Á;»ij,ÿË�W|T2¬¤“&Vw^Â`eNd$w…ï«åúK£­½£ä‚¥´>ñ꠆𕳿ó@Ù€fvÓÔA¿æ¢+æTT_+ >* €Nv½Ó¦”ê8˜ã¨Ô¾ýƒ_ºÚR”ë@ê¢[O/§®M?opU—lÑÖ'K¯�ŸMÚ.5¹ºÚ¶l}·è�–bó-J5(Ê5" ƒ•lÓ³ˆâ;S�´9eÃÍ—�×kØŠ¯´ÆÎ]ïÇÄÆú^Ÿ¿Ò¡K¥v+�È K©VÃì¾/^-×_«¿÷\~èÍ@òªø¶µïŠ_i-›åJ–fÑ•slÌGô^¶wNÓ´’�}µ%_·l}7?waNÓ´|@Y�ºZnH¥ÁG¹ß+ÎTnhÓüËþCìxï•|þ7¿ÝUññŒ†r-G€SÒƒßÿYE�Â’ë.ÉÙ–ÿ¿ü3�ý�J.¡Zm…ËñÚð䫽K…€‰�õ±èŠ9ùÀbþe¥+­O¾šÿ½ÕßûYÑÆÊô©SªÖã~2&6N(9obÓÏÛbÿsÌûf° çÉTššÓ4-6Dñs¼éçm1cÚ”“ª÷~ó©~KýNŸ:%6þð¶^�ÂÏßù£ªܲõÝ8ç¢/ ø{Ó§Nò0¾EWÎ)›Ù™Ý4µWã¶ùÒóJþ~ë[cåíWÅþνöN),»j 9,7dá †.¼bvѹY/¾ònìØõ~Ùº“-O].S÷Ìóm±ü3�µ?ùå€Ç2ʵ§­Æ†ú¸¿gÙØ�\µäÛ±¯óÀ¨˜R¨ï$ìgžßkÿáWù Ë·þåÇ‹6D¶l}7>¶è�ükÓrýàæŸ §•_¸ªèÒÅ�]cÞ¢bÆ9SJfš/=¯âÝEWΉUß*¾ ãƒßÿY¬ýɯNªLl¬ïìíìx?þì ?,î7¿ÝUô=†2,j(Ö|mè‹ ´\IÙ¤åºÞ�ÚEWÎ)\>øýŸÅ¦çÛbÇ{¥—¦­Æêks.(�Õ*Ä÷UjYìήƒqÕ’51©qBÉk-[Þ9ÛY¾ØïmÙún\ðç÷VTÿFC¹–c#BNK� õñø{¯*T®·sgGé/ëáÐrý¥o8Ö×¶öޏ§g'ó•·ªdÃµÜ R³›¦V¼wF ‹®œSv#·RÁGcC}~o’Jd{Z”r²u`ùgJof¹­½#¶l}·ä{¬üÂðg£ºÉIÍy˜Ó4­l ´´HP»æ«-eˤTy”ÛHs0æ4M+úþ� õƒr×|éyqk‰¡k�]Ë^k…™Ær�ÿ`êßH—k9N;Í—ž/oú›~�‹¥×_rR½ÌÕ\ºrç�“š$¾áÉWó{_<¾î¶A5(f7M­ú’¯Õ°æ«-%xÅdAæ`çm²õ®¼ýªªd»F°ä¹–¸éÝݺóáQäÁè´Ú7²Ñ�%×]×ݰ­4®³Æz©žö±շ‹)·ñÎ¥ÇáËŠö˜6³å³ú°÷4³å³ú°÷·¡�бô´Ç‚‰�²úãºÛâ¡û—”³¾ØÌ²ÔšÝ¿$žk±Õ1ê‚�̰¨³å¼66®»-°÷1»ä·çŸ:%îþ§Š™•˜1³¾´³<·aEÑ ­±¡~ÐK#÷5§iZ<·áθû Ÿ*{³÷úçÿú7Ã2úÔ)±ðŠÙñÐýKâ¥!–U1Ųå—l®´L^1;6®»­ê�äæKû/µ;Ô%¦+©£ÙµVê^ôøºÛJ2ƒ pFº\K©‰ÿk¯–±ë Gú€´¿ó@¯ÍÅæ4MMÖ(ß²õÝüîÞ…ºIцh©•¹6–É|ô�‡0ÚwÚ.¥­}W¯Åª}ž ëAß•µ†ã=2£q5²”ú–Ép•} '{­þýÉ^§£¥\ P‚)¥�ˆ\¤p¹Ìý�cý[‹Žçþ—_­µ™ àôe,eæ4M�Ɔú¢AÅ@›*fnýË� >€QÉ$te²‰ÊC�½äºKµò@J5ñ­÷ Á‚"vÝn0²öwˆM?ß/n}7vîz¿dæ#Û?¢ùÒóbÑ•³ÇìXyàô � Õg�L]„�† �L��Š �ŒHÆ$t  ™ºè–�¢\U'$#’€É@€dLB’‘’€É@€d @2&¡ÉÈ€ÉÈ€ÉÈ€É@€d @2 “Ѐdd@€d @2u†`iÈ€ÉÔI€©È€ãÓ£& IDATɘ$#$#’1 HFHÆ$t(ɵPm2 @2 ™ºè6ÌHCHF$#’€É˜„$#$c't  �L�X@*2 @2&¡ÉÈ€É@€dLB‡R\U'$c:�Œ �L]tË€iÈ€É@€d,à $#$c^  �ŒIè@22 @2&¡ÉÈ€É@€dê¢Û,  �ŒHF$c:”äÚ¨6 ;¡ÉÈ€É@€dêŒÀR‘’1 HFHF$c:�Œ �ŒIè@22 @2 ™ºè6 HCHF$#’1HFHF$c't  ™: (ÁµPu2 @2 û€ÉÈ€É@€d @2 “Ѐdd@€dêl÷ ¤"$#’©3 HEHÆ$t(ɵPm2 @2æ€ÉÈ€É@€dLB’‘’©‹n  �ŒHF$c:�Œ �ŒHÆNè@22 @2u @*2 @2 “Ѐdd@€dLB’‘’€É˜„$#$SÝ2 @2 @2–á…R\U'$#’± /�Œ �ŒHÆ> @22 @2 �Œ9 @22 @2 �ŒHÆ$t(ɵPm2 @2 ™:ÃL€Td@€dê$@€Td@€d @2&¡ÉȀɘ„$#$#’1 HFH¦.ºe@€4d@€d @2 �ŒIè@22 @26"’‘’€ÉÔ�¤"$c^  �ŒHF$c:�Œ �ŒH¦.l…$"$S'%¸6ªNHF$c:”äÚ¨6 ;¡ÉÈ€É@€d @2 “Ѐdd@€d @2 �ŒIè@22 @2 ™ºC°€4d@€dê$@€Td@€dÌ’‘’€É˜„$#$c:�Œ �ŒH¦.º ÁÒ�’± /�Œ �ŒHÆ> @22 @2–á’‘’€É@€d @2&¡CI® €j“’€É@€d @2&¡C). €ª“’©ÓÍ ¤"$#’©3 HEH¦®F HDHF$c't  �ŒHF$c:�Œ �ŒHF$#’1 HFH¦.BHCH¦NHEHF$c^  ËðÉÈ€É@€dì$#$c:”äÚ¨6 �ŒIè@22 @2&¡ÉÈ€É@€dê¢Û,  �ŒHÆ(Å¥Pu2 @2 �ŒHF$c,  ™:›©È€É@€dêŒÀR‘’1 HFHÆF„@22 @2 �ŒHÆ$t  �L��ЀTd@€dêB HDHF$c(ɵPm2 @2 �ŒHÆ$t  ;¡ÉÈ€ÉÔI€©È€É@€dLB’‘’1 HFHF$c:�Œ �L]tË€@Q. €ª“’€É@€d @2&¡ÉÈ€É@€d @2 “Ѐdd@€d @2u†`iÈ€ÉÔI€©È€ÉX†HFHF$c^  ËðÉÈ€É@€dLB‡’\Õ&$c:�Œ �ŒHÆ$t  ™ºè–Ò�’€É@€d @2&¡ÉÈ€É@€dì„$#$S'¤"$#’1 HFHÆ$t(ŵPu2 @2 “Ѐdd@€dê¢[HCHF$#’€É˜„$#$SgB  �L]ƒ$"$c^(ɵPm2 @2 �ŒHÆ$t  �Œ�Ѐdd@€dê$@€Td@€dÌ’‘’€É˜„$#$c:�Œ �ŒH¦.º ÁÒ�’€É@€d @2&¡ÉÈ€ÉØ HFHF$Sg�Š �ŒIè@22 @2 “С×@ÕÉ€ÉÔE·n^  ËðBI® €j“’€ÉX†HFHF$c,  “Ѐdd@€dÌ’‘’€ÉÔE·!X@2 @2 �ŒHÆ$t  ;¡ÉÈ€É@€dêŒÀR‘’1 HFHF$c:�Œ �ŒIè@22 @2 ™ºè6 HCHF$#’1HFHF$c”âÚ¨: �ŒHF$c:�Œ �ŒHF$#’1 HFH¦.BHCHF$Sg�Š �ŒIè@22 @26"’‘’€É@€d @2&¡ÉÈ€ÉÔ�ôÀ©hËkÛ#"¢ùâ™#|$ЛºÉ©b×ÁXÿÓ7c×Á˜qö¤h¹æ¢ŠþnGÇÞØÙ±/¦O�3¦N®øý²¿›ØXs>|ÖP¨ªÖŸ¾\ý­¸ñŽÇâÆ;‹ ®þV´þô�‘>¬²V¯ÛçÌÿZÜøW�Uåõnü«Çâœù_‹Õë6Wåõ*QíÏ0TçÌÿZœ3ÿkùFþH”E);:öÆÇþâ;ùºù±¿øNìèØ;àßmym{þs¥t:×£jK¥_­ÏÜ÷| õuû^CåÜò¥ ±êÛÏÆƒë6GëÓoVTWW¯ÛvÃÃqã�ÅŸÝðð êWëÓoÆ�w<÷®y¶èó›6·Çêu›£õ§o”=ŽrŸñt¬ƒÕRiÝMe\h0uÿT �*Ùѱ7îúúSÑÙu(šçÎŒ…—ϊήCq××ŸŠ¶·÷ôúÝý]cËkÛc×ÁA¿Oö·}_³Ò¿Êßµ½½gHÇÛööž¢ïWîõ²çJgÛÛ{òWêõOÆ–×¶ý8™r�ÈÕ�b¯;Ô²­ôõ3­O¿;wï‹…—ÏŠ…—ÏŠ�»÷EëÓoùõªqÜ'{þJ�«R²ÏTIàU¨ÒsŸý^±×¨¼S;:ööz�¡œ‹�Þo ²L9žÌý.¢ôyÛòzîøÖ=°$6~÷¦Š^ëÁž€ã¡¿½¶×¿zÿ{cþÜ™q÷²ѲøÂ~ÇÖúÓ7bÙßlˆ×mŽ»÷õ>Î!Ô¹¾sÿ)õ{ÃY‡zmeÇ›ý]vŒ•û@uk(Ç5Ðß”º7–û»RÏ�ìµ1–‚UòÈú—óÿÿЗs_nÏüò­ˆˆX»þ¥Xºø¢¸ñŽÇbúÙ“b_×Áèì:� ããñï~¶W:ÿÞ5ÏÆ#­/Çô³'ÅKÿø×±åµíqã�ź–Äþ΃q×ןÊÿîìóÏŠÇÿØPŸïmÛøðMñâëÛãÁu›£yîÌØøÝ›òÏ5ÏÍ »)õe½¿ë`Ü🋻÷Æãßýl̘:)nøÏ�Ŷwr_J� ããþ;¯Ž‰�õ±ìo6DDÄ??~GLj¬�yñ�XºøÄˆM/´ç¿Üom™÷­¸:ÿúÙëEä-×\Tô¹ìøW¯Ûœÿ<[^ß¾)6mn�GZ_ÎW%nü«ÇbËëÛãîe bþÜ™qã¹°÷^ür´½½'nø«Ggס~eÛúÓ7z•{óÜ™ñÃo,‰‰ õùŸövÞxÇcq÷²EËbÉâ cÍ—¯ë÷y³²í;Œ¤Ü1gå2ûü³ò¯3ûü³â¹/ï÷Ùgœ=)""vtìë÷³¾6mnÏŸß¾e[ê6_<3þ솇#"× l{{O<¸ns¬ºóêX¾t^\põ·béâ‹r ‰×·÷:æ¬LJÉÎÍŒ³'ÇãwSìèØ×ë\M?{Rüð-ÑúÓ7J^;›6·Ç†‚€+«w™¬,#r Ûsæ-Þ{ñËýÎ}a½(ÔúÓ7âžo?›?¦»—-ˆ•Ë”­óÙ¹í[3¦Nîw,¾)n¼ã±˜}þY±c÷ÞX¾ôc±|é¼’¯]Nv�‰è~û^YÙÎùðYù:^x¼ëX�¬9 <¸nslym{~ˆßŽŽ½1ï/¾�]‡òe×öÖž^õ¸œ_{²×yËî%…×[VW eeÖw¨áô³'ÅÎÝûâÅžã�^âÈêNaygŸ¯yîÌh¹æ¢^u&+Ë—ÿñ¯£í­=ñ`ÏÏ®úìÚØöΞü½þê›×æ?»O¬ì¹Wœll{{OÜò¥ÖØÙe÷Ïᬃ+—-èwŽºž#¢_]jlùðÙùz´ðòYñÃo´”=ö{ãª›×æ¿Kû*UwÊéû7Ù{ t¯-÷^¥žèøOuµÑÝEƒTØs4cêä^c‹w4úvîÞk¾|]L?{RtvŠM›Û{½NÖxع{_´½½'Ö?ýF46Œ�S'Ç]_*ÆÇº–Ä’ÅƶwöÄŠ¯>Yñ1f7÷RV|õÉØöΞ|P”ýûîe bÝK¢³ëPÜóígcþÅ3ó7ÌM›ßŠM/´Ggס^ ŸS'Ū;s7àGZ_Žý]ó¯·dñ…±î�%ÑØ0>Ÿ!Úѱ/æÌ:+^>+Ö=°$¼…=MÙñïë:˜o@­ºóê˜ßX�ŒÕ�¼�]‡bÉâ cÕ�WÇœYgEÛ[¹Á»¾þTL?{Rl|ø¦Xxù¬ØòúöX[pFD¯€cÉâ {ÓŒ©“òÏg_D¥Êv¨Y±¬<·½³§_�*´í�=±í�=qk˼Ø×u(V|íÉ~½y«9,e ¯L©s¸¿§�Ñ»÷ü™Íí±isñúÑ·LŠ~¶ÎƒqË—ZcRC}¾Ñ•5�×=°$î^¶ vîÞ÷®y¶ìµ³áé7cúÙ“â¡¿½6^>«_/õü¹3óúô³sÇ–�û´³®¹,ø(ìYßѱ·±ô�/±«ÅŽ¥ðüeÁA%¯Ý¯<¸vJ•m¡EŸhŠ%=Y€Õ�lŽ–ÅæòÍsgöÊDD¾1ºí�=ÑöV寵ë_Ž O¿ /Ÿ¾)¦Ÿ=)i}9¶¼¶½ßõv÷²ùcŠÈ]�Ó§ö.vtìÍß—³ú°æË×Å�õXÉ¡X…åÝWÖ@_÷À’˜}þYÑÙu¨ß}aå­ zÝëËÝ'N¶®~ä…Ø¹{_=)¶¼žËÌ gÌÎÑìóÏŠ�ß³Ï?+6<ýf¿r(eÑ'šòå3±a|þ}²Î»rÇþÈú—ó�m߀§\Ý)¥íí=Þ'ŠÝk˽W¹çÊÿéÀ,‹4•œü8çÃgårk׿›6·Ç¢MùFåG>´¥±¹,´ÜДÏ6»å7´³¬ºóê’Ù�-¯o�g´ÊùV°¿ƒm¸é¯×´Ê±èÝæ´¥/³¦²µ×¡³óµ÷°ì°¿þýé9Æé²µ°¿ê•É™3ëì³Ý¾t°÷þß³¾´ÇíÉ¿ÞÒÅÅ¢²Ññ‘Ÿ¹÷=µþ·É³Ùì+Ú£‘û"ü—²µÿ�˜TÐó·|鼘3ëìŠËÒ¯‰�¹×Üðô›±êÛÏÆ¦Íí1±±>³åî;·ÉÒûïx,ÿú~‘­,ø‚°÷ºø¢^=¯s´Ú�ݯ¡°Â®l°ìÆÔɽʳ´Ç³ÙõºÍù¹ó³¢³Õ·ö³ÜŒGÖ¿ž~3ÿÙ3³ÛßÒÅ•<îbç0 6mnÏ‹[^ß^²~T8>Òú°ùìܽ/´Ú³¢�êcËkÛó�Ÿ±ôÈKö>¥®�‰=ÁòÎÝû⮯?Ïüò­´Ê°ä!š/ž™?²µ3¦NŽ•Ë°Õ´¥Í³§Ë5ÅÆ‡oŠg´Ç3ÂÆ+²Ô¼ã±|Ïþ‹¯´Ç·É½­°À¶ °Â±¹å²½î±û»ÆU7¯�-¯oÏ7¬÷³ÜÌ×Õ¶·v—<ެ¼ûZxù¬ˆÈe”²k¦o�î{¯/wŸ8™:Xø³ùsgƿѾ)Z®¹hxë`Ïk,úDS4_<3}"w®Ÿ)S ÍŸ;3_>åî“ÅŽ=»Ï-úDS¿:V®î”RÉ}¢Ø½¶Ü{•{®ÜñŸê"ßÓ ô·pASþ‹ºopá o.˗΋»¾þT¾gxùÒ�Å‹}¼ûzzÊ“ºýH+·d½x+—-ˆÆ†ñÑÙu(VÝyu|äÃgåoÞsf�Ó§NÊ7wîÞ—Ïv”“½^þ3tæ>ÃĆú¸gͳùž´u,)„d�Ð�dÁÁœYgUôû÷÷¤Ëwvì‹ß¼½;:»ÅêG^ˆæ‹Ï�ˆ\ºýþž´ùŽÝûNzœre[mYy,_ú±hY|a\uóÚ|Ýjž;sPŸ¥Ü9\´`V¬úö³ù/Ù%‹/Œ O¿ž~3nm™Wôõ*þ =Ù°Â`iãÃ7žžyMÙy.ví̘:9?Th_çÁØöN®§sùÒ�•ýì}ëN¥×Ü‹¯o�‰ õ1cꤲå5TÙ1—{í¡dÒ*ÛÔ²á’ÅÆÒÅÅozæ ¥±ÖöÖ‰^û�ß½)? -ËõÍô*VGöwŒûbzÁê[‹4ÅœŸUÕIÄC­ƒmo펻s+} gœØç8öç_»:CІzìåêN©½Ü}b¨ï•¶Åž;]&›—"U²ôš ó_ ·|©5nùRkDän K¯¹°ÜŸö“õ"ED¾çxÑ‚YÑØ0>¶¼¾=î]ól~˜La¯_DÄú§ßˆM/TÖûThöùgåÓßk׿û»žèmÛÜëŸ~#\·9Ö®)"r7묷9"bÑ‚Y½^oÓ í½Ê ù⽦÷¬y6ßkØØ0>-˜Õk˜Ú@7ææ‚!`·|©µßçÍVz*•MÈ¥Æ_êõ³{Öä²ÍÏÌ÷ÂMl¬Ï—û¶wöÄ‹¯oÏ�.7Ìeíú—ü åʶÒcÎüæíÝqïšgópßZÖ“¹výKý&žOlßïX³žÝ{Ö<Ûï=Ë�ÃÂ:ÑàÊÙ�lH)Y�ÙòÚöxñõíù¯²Fn9÷®y¶WïõœYgõúÜ…Ï56Œ/Û3^ÌŽŽ}±í�=±s÷¾xpÝæØôB{Ü»æÙA­zXî>1Ø:ù!hk׿÷ô”ÕÎŽ}ÃZ³s´výK±zÝæXÿô½~~²Ê{Ö±·výKý† ¥îTrŸ(v¯-÷^åž+wü§ƒÚèŽððð(ò¤‰ õñøw?›_a([qè¹-tOÓĆúü—IÖˆ›1ur<þÝÏÆìóÏŠGZ_Ž»÷öšè–›6·©}Rc},_:/ßã´vý˱òÖqk˼øÍÛ»óىǿûÙ^½Í¹à¥p˜ÁÂËgÅœYgÅ3¿|+¦Ÿ=)} %""î[quÜÚ2/vìÞ�´¾œ½S'Ç}+®ŽégOê5Ù0âD�__÷ßyu¾á0£ÏXïRníù|[^ßÞoÜò¥‹gç&^>óË·báå³âþWÇŒ©“ãÑZböùgŃë6Ǿ®ƒqk˼¢C2îîÉKÝ÷5PÙVrÌ™I '†ŠÝÚ2¯_�íÊe òˆ×mŽI õqk˼˜}~îý¦O0µòÖOäÏEßáYåÎaĉ/þæ‹gÆüžÀ§ïð«Á˜ØXŸ/ë, òÃo,‰…—ÏŠ O¿[^ßÞ3a57o¨ØµÓ|q.Êg˜ÔPýíµýʳeñ…ù±ü­?}cÀk®Ð¿ÑÍsgöš[0±¡~Àò*¥ï±3Ô×.wí”+ÛÌþ®C±í�=1ýìI±òÖODD®žfuf°�ùR-hÊgV\·9?6¿Ô6ÍÏÌDëŸ~#öôœg÷ç¬Îg×xa£}0&6Œ�égç² ÍsgæV3z}{Üõõ§ú]O}•»OœL¼ÅÕ±dñ…ùaKw/[ÍÏÖ:¸hAS<ô·×Ƥ†ú^×Vµ†•;ö¥×\ÍsgFgס~߃­;•Ý'ŠÝk˽W¹çÊÿé ¦fú_¡©§¾÷^M»ïAfGÇÞh}úÍØôB{l{gOüóãw j³¬TV¯ÛmoíŽg~ùVE+老åµíqÏšg‹®u*)\¬ÒeHOecåÚ« WÚ;Ù�,W÷ô´*Ñh•]{ /Ÿ•¢³âkOÆÎÝûâÙ-·Qá)ƽ¶ú,à £ÌÎŽ\J¿±a|¬ºóêQÛ€*\Vv4¹ÞÌûÇhÆ¡+×¹e‹ÇrÁò¥ó¢í­Ý¹‰Æ=‡¬w[ð«©™~‡ ñÞ«_éC8åÈ€À(×ööžØßy0¦÷,S;ØçXV†¥†•ìï:ëúfìï:3 V½©¶¡¬ÞUh×Áh{+7o£X/l±Ï™[åh|ÕêNöÊ ÑÉ&dF䯙W½Ýѱ7vvì+Yéܹ(õÜŽŽ½±¿ëÐ��u óŸiýéùý ŠÍeª–‘¼7eç¾Ø{—z®Ú×PZÝP&Û¥î2\jnD¶ËnDÿ�€û>—­¸‘í˜Ûwvßç‡C¹]ÖDz{ã‘õ'–â,µ+ó-_Ú�_õ$Ûy8dç½Ò1öÙ&‚Ïýxylz¡½änÉ¥>çÚõ/Çêu¹ ³ùk׿ÏlnÏï <ï/¾‹4 ¸QVß´³�Ÿû6„ ëwDï}+—ÝØ0>žëÙw#ûY¶(Ca]M5Ž»ï®èÍsgÆ¿±$&6Ô—ÜÕzGǾ¸úæµÑØ0>î¿óêh¹æ¢|™¾ü�=`@Zî= õݽûdîÙ}¡pRtö³b÷®l×íá¼WEô¾÷=¾¾Ÿ?;–�® º,à UV¸ÆxßÕ`vtì-¹ìb©çZzvù-µi[±ç÷wŒ-¯m/»Tì–×¶÷[�%û»-¯mÒ>ƒÕööž’ÇX³Ýå>°¿ÛÛµ÷Š´Ç%±ððg7<Ü«¡RJ|¬{`I¯ÆH©÷.|¾Øs¥Êùîe Šîà\ìu6mnÏí¯±ôc±£c_~£ÁlämïìÉ/•Zês>³¹=–/³Ý4Ï�­Oç2<«×½}9·›÷ĆúX¾ôc¹‘XV8 >²es;»å—a.”]³Ï?+Þ{ñËù@k óµ£coÉ•ÅrïÕߘùsgÆÝËôÛ™»’×èÜ–²¿ë`>¸µåÄ fëúf¯]­ûž§M›Û£yîÌX¾ôcù¥’ï]ólÜçÕåÞ³¯ì<ÞÚ2¯WÀ�ÝJ•q©º‘Û,²ØÞ Ý»Ê�Îå÷ 4IDAT½~v} Ö–×¶Ç#­/GcÃøüÊo�´¾œ?ŸYÀZ¸*ÜŽŽ½^ @u‚UÔööžü&l½ƒ‘M›Ûó›ëõÝDªÜs­=ËaƲ½zŽo¼ã±¸{Ù‚ÜuÏóÍÏ,ÙÃ:±¡>ß;9ûü³òËÝfYš¾ר0>Ö|ùº²Ë)÷??~GLj¬�yñ�Xºø¢’«Ûd½ …Ç�õPfÏ5Ï�[^ßï½øå~Ç•õìFDÜðŸË¿Fa�{ß¿Y²øÂ¢=øKz†ÿöˆö••YDnwèìý ß»° {Ù·¼¾½_6£\9gÇ1¿§Tîu²ý²=T² Wôüg{«”úœÓ§NÊmXÖ±764ÅêG6ç7îË´,¾°g_‹Í±ñââ=Á;:öÆü¹3cס¸oÅÕù,GáµÑ»÷yÛ;{âœù_‹�ß;:ö­³Ù~³Ï?+vìÞË—~¬dÏù¶wöôÛ« 0[·£g¿†ˆ\@™½wß×_¾t^És{Ë—Zã™_¾� ããÑZâÆ;+Z·} %vtì�–k.Š_Ûž­ý�Kž§ùsgFkÇÞ˜øÖø˜Ø0>ï¨4ÛVê= e×WDä7á{ïÅ/ÇŠ¯=™ß¸1âÄõ2P].´âkOÆËÿø×½~VxïZ½nsþ½\·9¶¼¶=š/žÙïõ'6Öͤ͘:)®úìÚØ¹;W×.hŠUß~¶_–yúÔI±î�%1©¡>æÌ:«Wà�•éÒÅ·¡Ë5ÅÄž¥Ç'6ÔW³Ù-ÕSÝݺóáQä1„Ͱ䲵ҳͼ:»Å–×~Ýùã’Åæ÷ÏÈ)ÿ\äDZõ±¹ÇÝË.Ï?³dñ…1îŸôz¾ííÝùÖuܰ­³åÛÞÙ+¾ú»åÁï·¡,úĬü³úù­°¿¿ݱ¯ë¸¿4Ïý“X³ÜçU±ðòYÑÙ³Ü(³ÛÿR¯¿ë{<Ù&Y¹/÷M/´Ggסh¹æÂÊ*bÆÔI±êΫ""×Úßu ÿ܉åsŸgúÙ“bã߉…—ÏŠ-¯ç6ä[ÿÓ7bÛ;{¢yîŸÄC{mÌŸ;³g×Ùî¸çÛ¹žÿUw^·¶Ì‹I=Ã�úÇš/_ÛS†}?߉Gß2oY|a¬øê“±í�=±dñ…±î�£±a|Üõõ§¢ííÝý>Cß×l9{�{óû0̘:)š/þ“ØøÝÏÄ}+®Š¶·wç÷4h¾øOÊ~άœ[¯~V¬ú�X¾ô²^ï5cꤘ~ö¤Øòúö‚sÔÝïw~ø�%±ñ»Ÿ‰ý]ò™—æ|ýÌ=æÏý“žŸåV º{Ù屯ëÀ€uvÛ;Ù.ÖÅëRVìYºo–zïb¯_îÜ®ùʵù}r²ÀåþWõ:ž‰ ã£ùâ?‰»÷Æ9ó¿ÛÞÙ³Ï?+–^ó§eÏSË5æ÷ÿ{çÓFžÇñoV'Aapª+< D^AaÉ‘p!D\7É®;Å-Hqp‘‚È&Ü&ÒœÓ%�íœrÐØ„fQÄUl ë\ÄŠµpŠ¡1�»õC:Ü]1óÿ3�ÇÃ#Ïû}¤)ì1óÍ ¿çÿwßÕ�Iïk¸yÕµ6¥¿4ò‚‰æîŒ9zá þ›×¡yù�ëèlkÀÂrRì›ú½Ì`s"¬d¿…bÛ‚WªüúLù˜ºÝ‡©Û}ÈЏ6ò/Ôëjà½1± ›°_黦٠ǀ¥žÀ\èÿá¹íjÿ^|>…!ý?ù0ˆàÚÏsÈþ«éY ƒ:Nï ,‚8EVx5æÉwÂ�Ì"i4–…$¨�“"µþÚ�eÖHÖþE±8’] =aÛD2.u·–+¼Ø.$>{ÄB|Za•jýA! Ckѹ®Ž†eKZµüro>¬�óñìîga�çýнMC/†¥ÄÛ¸3½TÒgvnêIþPkoÓÐ×)W½®†|·¯ú²1`9�‹âx¥¯¦F=þóÚ]¶FG�g¥ëìŠa2ò"r¡WI\™C¾P„mÐX5Ξ)Þ{C¸óð7ür»7ï.àÜ¥éok§ReyÆúf}?ú¹,/`gîiåãh6èávXxÈUµ{öõ gÅñØàÂm¥"xJm+]_mmëuµ%ǬçJ47ž…¹»uºlle°òæp<•ÖÉ{oÏÛZ~sO+Öiœ»4 ëˆzÅp-mÀðU#_KsO«0^É;ËÜÓÊß]«îeë?ó)!o[PJ¯€{>nÙMüý rÒ%…¥í*ÑÕÞÈΕÈû²Ð>‚µ±•´¡ðU¸éó³°ªÄéðÝçÖ¶Äè ãË=ކ4üj&å߯#Žù¸È…!³Õ±Õµ’±ÊÀØÙ;ðo·Ñ¼:°œ¢�°»ŸÅj4Å?Ÿ$—„)³Ò±ô<Ì:;;>„1G/œv†¯1æè…¹»… ŸÌóÁª93„ §…|>³ùbIAÈ•¯ÇqæYé:rr…ܼ»Àئn÷qk±V"ï‘ÍÑlÐ#–ØÆìø|Áòœ‘¬$wEŽ'AÿO~ìîgá6añÙuM;yi½gÕ”ÚúºCëx^Rýú(°ëkY[†')»¿coÓ˜ô†±–HãåÓ\ˆ-¿Ó´N;{Y„^%ávX0ˆbv|±Ä6Ö73ØÙË*æÉ¨µY ù¸rïe)·ì&þ¬gþÙõëëd}‘Ì­ü äÈÈ ½JÂõp M=^>½sw ò…"V"ïÑÕÞbˆh÷TKÛÑú,q2ÈB§DHpYh³Ôml ‚û<á —ýCS;W _0^&X΋ ¨Û˜ô†áñ ŠóRTbW’xšË«Zº¥4ôü9ëXGça�¯x­•7)ž8\§«Q´®²ñlle°–H‹1éQ¬ofà Æá ÆÑÕÞÈÛÔëj‘+Àõ` ;{Y˜{Zyßô2j}3ëÈ&¼aþ�udN“µ™Íç„7ŒIo[ÔéjTóe€“ͳ¦ íˆ9¾`œ[îó…"¦ž„¹å\Ë8'½aüâê+ò¤‚$k'—/òu•"$÷*ÝþPú=8w©z-�ãÞ³rÌ=­Üª]�ß7ËóEjk».þó2ìîgËž×&ÃYøCq,,'Ñ÷£ŸŸob»*UX'†'áÞ©2”Ë ´üÖÑù2Á[­Íj0O„° TAQi‘z(´0{ïÏU Œ•7)þ¾”ÒÕÞÀŸ×›wàz (j�m bnW«Ñ_®FSŠÊðÂrSOÂbÎË6Á;ÄŒ#þPœ{ê”<·Õž‚ NR@â”`á7÷]ýp;,p;-%çÜÎÃ]oäÖ<µsrƽ¨ÓÕ`5šâ‚!£Ù ÇâÓèl’/wöÿ¼ûT¯)ÞV"ïy¨³þVƒY\;ÛÊ‚ÔXK¤ù¶£J4ôøç#:Û0ˆ"[8€sØ·ÃûU!\�%Ó²�aç&r…Ì¢|äU.€Xb»$Y7–Øæ‹÷]BnÉÎþ¼íŧ7ªŽý¤ǫ́×ÕÂÜÝ‚ÝýlÙ= §Ú8=�OêjoÀåÞÜ™^âù9;{Yìîg�¼¶Z9î=«„Ôª­Äðàèlk@¾PT€Ù5”ÖV_W׃%èuµxþØÆïy¦KÇxd-ÙdÁ6hsEÔaÞ%ZävXpgzIðæ©lË|’6,ç1;>½®3�(ôºZÌŽUU¦•úPÍëæ´›ø{®R¨Üâ3!×k5šâÊÆâ³ëXßÌ`âÉk\îíÀóÇ6îqq=\*ñ`0Ϩ�·´Íó}˜Rxdå}hj>3ïWµg� ˆÓãÌÃÏG�5!ˆÿ>$þú¹»ðUà D°¾™Áj4%ìH#†ÅiLxÿp–üÞ:*X%Çnö~ÔZß:±DÖÑù�>�¾`S#ð«–óbØQ÷I(û,XGçà6YA ‚ø’ A'bæy«ÑlWŒ%õ|Á¸& ,q<ÌÝ­°]1Š´š-¹Âü¡8lWŒ\à -'ÅÝ™ˆO ó´�òAÄ×Ι3†¿�„ ø�øõsw� ‚ ⛃< AAA|2H!‚ ‚ â“ñ'¡â3AAAÄLJ< AAA|2þ^·¨’<žpIEND®B`‚coursework/images/diverAscend.png0000600010163400004550000000446311521654255017320 0ustar csuhcbdcsugrad‰PNG  IHDR/Ó¸ûBsBIT|dˆ pHYs  ÒÝ~ütEXtCreation Time01/28/11i–ŒtEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:16:05Z 2011-01-28T13:26:34Z image/png íÓYLtEXtSoftwareAdobe FireworksO³NrIDATH‰�•Mh\UÇÿçÜû¾g&3ù˜™ †ÖZÒ¦¦-Ĩ µ "‚`©L‚‚ZîJ ®Ü»s# E誨 EQi©] ­¥)¶RSBÍ4Mó’É»÷¸è›ñe|“öÂ…Ç~ï¾Þy$"èœ ÞðL?щV«µ‰~g`` áyÞ‡årù%­õßD$Ì,žç}."èwEÑ~¥Ô‚ã8BD@ˆRJJ¥ÒÁ¾ ˆ Z­>îºîY�™ÛQíîR'Çb±øZÇßÁ÷ýJ©ßŒ1 D´®µ>»¼¼œtsAðµÖ:Ž-f¶D´Z(ÞíuäŒ%Ir(I’([4kí µ–DÄi·Û¨Õj…-U ÃpŠ™ÿɺõ^"×u¿ÙâÀàôíWšN’$G‚ ˜èhì8Î-¹»˜†®Ö×ןè‚ÖÚ)Õ�éy¬ hp†ÞÕ§¦¦F˜ù! ±§û411±¥è©fvšÂ0œ?uê”/"€ïû×™ùmô@Ëau]÷,þ›ßµZ­¶SDÀQ=»oß¾=J©ó=a•<Ï»@Dßv –––Æ@/..΀çyóYJDÇñ„Rê2uoŒÙ à|·*ÖÚ--!"Ap�ˆæ³/3Æìî·£îBÏY[[»Ûh4æ‰(μpo0Ü º®[¿víÚ µ2òî.ÇqMDzsLó�ëºW\·;#Ef®0´Ûí*Õëh­}fffÞÀ§DtÔZ»Ôù�gÒF[×u/0ó&qçû~«ƒÀ3$"`æ�0 ?p;uÜ;==íõFÒÍ% Ãc¸¿.n‹´Ö_uÆ­X,>ßwËyž÷ 3wöéÁJ¥2®”Ú Z빑‘‘GrA�ã8¿‘8ŽókÅQ¥”¤ð¹¾ ïû¯¦[<)—Ëi$‘(¥Ä÷ý#¹`³Ùd­õ%"ß÷_ÏDr:­ðO¹`êúvîg­T*�)¥ZÌ,Q=™ ?~œ•R7˜ù÷¬†á 3‹ã8_æ‚"×u?af ‚àã¡¡¡(òJ)|:,—Ë»Ó"-×jµFÆõef­õJ§ÿ·¥>|�™oXko/,,Üêè;vìøÀUcL�ˆþÊ�C¥ÔIf¾’“ÆÉtH^ÌÝ‹J©³Žã¬öêZëËÌK¹ ã8sÖZÝ«onnˆÃ0¼“ Zko�jµfucÌ~wêõúbnŽ“““žÖúªçyOu´jµZ&¢ ­õE¡\ÇÙÙÙ ÷Dd¦£­®®îà&I² @¶ûi\±Ö¾Ñl6Ušß4Ñ:�Y�½‡™/cgΜ9’JSé­m *¥þ€$IŽ¥›€z½^~x‰™ÛƘC¥Ré9kmâ8¾¾-¸²²ò']µÖÂZûŽˆ`Œ¹¼-DtN)uWDÚ"2èyÆÆÆfüÿëÈÞB¡Ð,•JoV*•ˆ¨=::zsnnn§ˆà_!(rϘ�IEND®B`‚coursework/images/diver.png0000600010163400004550000000437711521654255016206 0ustar csuhcbdcsugrad‰PNG  IHDR/¿×E?sBIT|dˆ pHYs  ÒÝ~ütEXtCreation Time01/28/11i–ŒtEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:16:05Z 2011-01-28T13:26:34Z image/png íÓYLtEXtSoftwareAdobe FireworksO³N>IDATH‰­TMh\U>çÜŸ÷7ó2§ÅÁÚ›ÀØÐQP[AÄ�¢m\JP)u¡�Š ‚àÊ�î)(„V‹P¡ˆ« Á´ÚVk ¤%“L™¼IfÞ¼{�‹Î”:mšXsà[Ýs¿÷Ýï;ç!3Ãfe­µµ�öû¾gŒ1ŸQÍ÷ý¥R©´pæÌ™ÜRÞŽø£G�º“““¥Z­V6Æl3ÆlGÄ!€4"¾dŒù~=ž|>¾ø?¾±ŒI!"¶Ä¶Ä–ˆ³ó9±õ’"6•R+¥R)·¡Ñ´1æ×°ù¹`­Ýß¹{AJù“”r±ÝnŒ1÷2óÐp¿ã8�Ëåf¡ûñ.Â0”Ì Åb1¥µ>FD \�oCÐZs¥R9ÐËËÌàºîÓJ©“DÄDÄJ©¯}ß|xxXöö‹ÅLh­_ÕZ–RþHD³ˆ¸Œˆ±ìu%I’GÒéô]qC»Ý_/™NÜ€ˆ". !ÎíÚµë‹ë{ŠÅâ�µZífÞmŒ!Ä’ã8/7�ckñV«Õ+ðC†áÃÖÚ™9vçÓÜñ<ï Dl@¼–»ˆÈZëoÇ™t]÷QÏó†Ò½\cccN:�Þ#¥ü½{O)u" ÃòÍ’¹öíÛ'<ÏWJ�""BÔÂ0|þšó}}}#Ƙ†¢„ˆ3ã­—R~ì8Îé(І=Ï333a%cÌ6kíÝ0h­²Ö23!@Jy¨Ùl¾Óå( �”²onnîrOR~½^¯0ó3ÖÚçŒ1[ˆ(–R^@ÄSÖÚUÌårªÑh¼—$É+ÌÜvçH«ÕzÊZ›»•xD¬@ÈÌ×FàÆåBD ¢¤3&‡¯?ó}ÿP«ÕzÃZ;ODF)Õ°ÖÊ«4ì@ÎÑ/Bˆß„g———ÿ¼F�ÍftãèF»Ö¸üQ›ˆ.I)?Ìf³÷03d2™a×uŸUJ½KD?#" !¦…G´Öûƒ ØãyÞöJ¥â¬7Ràºî±Í|=´Ö§3™ÌƒÌ ŽãŒ(¥¾#¢»‚ÿÒZ¿™Éd'&&ÄFw WükRÊÙ.é&>ÀÑ*Íw¹ó¶Ù–Ržu±Õ÷…ƒÒíþ—øNœ�)¥X°ìýA*•Ú+¥ŒÖ‡ˆ-)åI­õ³Ò¸éʯˆè<-"bÒkDçŸþ�ëºOŽ��ÿoÑ]H€ÕÕÕkm5ŸÏ¿_­VÏú¾ÿ"î6Ƥ@1ó(€&"0ÆD\Ú;55µÜÝŸ-[¶ä¢(º#Žã¢¢ß“—R:Ƙ?šÍæ—°É…ç·&I’�¢hª{°sçÎòÅ‹ûÀUJ]¶ÖŽÀÖÑÑÑþùùù×§§§ÿ‚à¡………K›-j£õ9a˜&ÚIEND®B`‚coursework/images/sprite.png0000644010163400004550000000052111521654255016376 0ustar csuhcbdcsugrad‰PNG  IHDR@ ¢�~„sBIT|dˆ pHYs ð ðB¬4˜tEXtCreation Time01/30/11‘—ÓtEXtSoftwareAdobe FireworksO³N­IDATh�í™± „0‹®¯êkûÊ\Â¥Ÿù#‘ g7赓@€´ÃH޼�1t¡«†£hgÉ>Ÿ]’2óS1²µ³ó