#!/bin/sh

PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
BLOCKSIZE=32768
JRESTART=2
JREREALSIZE=23510039
ARCHSIZE=274
ARCHREALSIZE=8946776
DEFAULTPERMS=002
INSTALLER_OVERRIDE_VMLIST="J2 J1 MSJ MRJ"
INSTALLER_STDERR_REDIRECT=""
INSTALLER_STDOUT_REDIRECT=""
INSTALLER_HEAP_SIZE_INITIAL="16777216"
INSTALLER_HEAP_SIZE_MAX="50331648"
RESOURCE_DIR="Linux"
LAX_NL_CURRENT_VM=jre/bin/java
LAX_INSTALLER_UNIX_INTERNAL_PROPERTY_0=bin/java
#!/bin/sh
#################################################################################################
#
# USE.SH
#
# InstallAnywhere UNIX Self Extractor Version 4.0.2
#
# Author:	Jason Gabler
# Date:		Thu Feb 17 11:58:32 PST 2000
#
#################################################################################################

echo "Preparing to install..."

if [ $JRESTART ]; then
	VM_INCLUDED="true"
else
	VM_INCLUDED="false"
fi

# [RW] patch for foreign environments where the primary locale isn't the one we expect
# [RW] see bug #3411
LANG=C ; export LANG


#################################################################################################
# Gather the OS/execution environment
#

# [RW] USERENV is just a flag to laxunix.sh
USERENV=1

ORIG_PWD=`pwd`
OS_NAME=`uname -s 2> /dev/null | tr "[:upper:]" "[:lower:]" 2> /dev/null`

# always run POSIX commands first
PATH=/usr/xpg4/bin:$PATH

# enforce POSIX behavior of GNU commands
POSIXLY_CORRECT=1 ; export POSIXLY_CORRECT

# POSIX df lists available space in 512 byte-blocks, in the fourth column
OS_BLOCKSIZE=512
DF_AVAIL_COL=4

# find out whether df groks the POSIX option; if not, just use regular df and
# hope it does what we expect
[ $LAX_DEBUG ] && echo "Checking for POSIX df."

DF_CMD='df -P'

if $DF_CMD / >/dev/null 2>&1
then
	# POSIX df found
	[ $LAX_DEBUG ] && echo "Found POSIX df."
else
	[ $LAX_DEBUG ] && echo "POSIX df not found; free space calculation may be wrong."
	DF_CMD=df
fi

# Irix patch (is this still necessary?)
if [ `expr "$OS_NAME" : '.*irix.*'` -gt 0 ]; then
	DF_AVAIL_COL=5
fi


if [ -x /bin/ls ]; then
	lsCMD="/bin/ls"
elif [ -x /usr/bin/ls ]; then
	lsCMD="/usr/bin/ls"
else
	lsCMD="ls"
fi


#################################################################################################
# Set up trap for interrupted installations
# This trap will catch if the user hits ^C in the console window where
# this script is being run.  When caught the following function will
# be run to clean up the /tmp/install.dir.XXXX directory
#################################################################################################
tmp_dir_cleanup () {
        echo
        echo "WARNING! This installation has been interrupted. The"
        echo "installation process will now terminate and the temporary"
        echo "files it is using will be deleted from $ZIPLOC."
        echo
        cd $ORIG_PWD
        rm -rf $ZIPLOC
        rm -f $INSTBASE/env.properties.$$
        exit 11;
}
trap "tmp_dir_cleanup" 1 2 3 4 6 8 10 12 13 15


#################################################################################################
# resolveLink()
# param		$1					a file or directory name
# sets		$resolveLink		the name of the linked disk entity
#################################################################################################
resolveLink()
{
	rl_linked="true"
	rl_operand="$1"
	rl_origDir="`dirname "$1"`"
	
	# MMA - 2001.04.04 - if 'dirname' returns '.', then we need the current working directory path
	if [ "$rl_origDir" = "." ]; then
		rl_origDir=`pwd`
	fi
	
	rl_ls=`$lsCMD -l "$rl_operand"`
	
	# MMA - 2001.02.28 - always resolve path to absolute.
	
	while [ "$rl_linked" = "true" ]; do
		# if the operand is not of an abs path, get its abs path
		case "$rl_operand" in
			/*)
				rl_origDir=`dirname "$rl_operand"`
			;;
			\./*)
				rl_origDir=`pwd`
				rl_operand="$rl_origDir/$rl_operand"
			;;
			\../*)
				rl_origDir=`pwd`
				rl_operand="$rl_origDir/$rl_operand"
			;;
			*)
				rl_operand="$rl_origDir/$rl_operand"
			;;
		esac
		#
		# the prevPrev hack is here because .../java often points to .java_wrapper.
		# at the end of the resolution rl_operand actually points to garbage
		# signifying it is done resolving the link.  So prev is actually .java_wrapper.
		# but we want the one just before that, its the real vm starting poiint we want
		#
		rl_prevOperand="$rl_operand"
		rl_ls=`$lsCMD -l "$rl_operand"`
		# get the output ls into a list
		set x $rl_ls
		# get rid of x and file info from ls -l
		shift 9
		
		#is this a link?
		case "$rl_ls" in
			*"->"*)
				rl_linked="true"
				# is a link, shift past the "->"
				rl_linker=""
				while [ "$1" != "->" -a $# -gt 1 ]; do
					rl_linker="$rl_linker $1"
					shift
				done
	
				if [ "$1" = "->" ]; then
					shift
				fi
			;;
			*)
				# not a link, the rest must be the targets name
				rl_linked="false"
			;;
		esac
		# now grab what's left 
		rl_linkee="$*"

		# debugOut "Following link to LAX $rl_linker -> $rl_linkee"

		if [ "$rl_linked" = "true" -a "`basename "$rl_linkee"`" != "$vmScript" ]; then
			# set to true incase the thing linked to is also a link and we can
			# try again.  The current think linked to now becomes the operand
			rl_operand="$rl_linkee"
			# if the linkee is not abs, make it abs relative to the linker
			case "$rl_operand" in
				/*)
				;;
				*)
					rl_operand="$rl_origDir/$rl_operand"
				;;
			esac
		else
			# otherwise, this operand is not a link itself and we are done
			rl_resolvedLink="$rl_prevOperand"
			# however, do not resolve the last leg of a VMs linked scripts. this will
			# disrupt their scripts.  it is expecting a link to the .java* script
			# let us believe it is not linked and continue on...
			if [ "`basename "$rl_linkee"`" = "$vmScript" ]; then
				rl_linked="false"
			fi
		fi
		# make sure the path returned is absolute
		case "$rl_operand" in
			\.\/*)
				rl_operand="`pwd`/$rl_operand"
			;;
		esac
	done

	# remove "/./" in paths, make it "/"
	# i,e,  "/a/b/./c" becomes "/a/b/c"
	resolvedLink=`echo "$rl_resolvedLink" |  sed 's,/\./,/,'`
}




#################################################################################################
# Find the true location of the self extractor, move to the right place
#
resolveLink $0
SEA_LOC="$resolvedLink"

[ $LAX_DEBUG ] && echo "True location of the self extractor: $SEA_LOC"


#################################################################################################
#  Set up tmp install location
#
if [ $IATEMPDIR ]; then
	INSTBASE=$IATEMPDIR
	if [ $LAX_DEBUG ]; then
		echo "Forcing install base (including tmp dir) to: $IATEMPDIR"
	fi
	if [ ! -d "$INSTBASE" ]; then
		echo "You have used the IATEMPDIR to set the install base and tmp dir"
		echo "for this installation.  However, the directory"
		echo "     $INSTBASE"
		echo "does not exist or is not a directory.  Please choose a valid directory."
		exit 1;
	fi
else
	if [ -d /tmp ]; then
		INSTBASE=/tmp
	else
		INSTBASE=$HOME
		if [ $LAX_DEBUG ]; then
			echo "WARNING: /tmp is not a directory! Using $HOME for install base and tmp dir."
		fi
	fi
fi
ZIPLOC="$INSTBASE/install.dir.$$"
INSTALLER_DATA_DIR="$ZIPLOC/InstallerData"
INSTALL_ZIP="$INSTALLER_DATA_DIR/installer.zip"
ENV_PROPERTIES="$ZIPLOC/env.properties"
TMP_LAX="$ZIPLOC/temp.lax"

[ $LAX_DEBUG ] && echo "Creating installer data directory: $ZIPLOC"
mkdir $ZIPLOC > /dev/null 2>&1

if [ "$?" -ne "0" ]; then
	echo "The temporary install directory: "
	echo "     $INSTBASE"
	echo "does not exist or you do not have permission to write to it."
	echo "Please set the IATEMPDIR environment variable to a directory"
	echo "to which you have the permission."
	echo "To set the variable enter one of the following"
	echo "commands at the UNIX command line prompt before running this"
	echo "installer again:"
	echo ""
	echo "- for Bourne shell (sh), ksh, bash and zsh:"
	echo ""
	echo "     $ IATEMPDIR=/your/temp/space/directory"
	echo "     $ export IATEMPDIR"
	echo ""
	echo "- for C shell (csh) and tcsh:"
	echo ""
	echo "     $ setenv IATEMPDIR /your/temp/space/directory"
	echo ""
fi

[ $LAX_DEBUG ] && echo "Creating installer data directory: $INSTALLER_DATA_DIR"
mkdir $INSTALLER_DATA_DIR > /dev/null 2>&1


#################################################################################################
# Gather disk free-space info
#
[ $LAX_DEBUG ] && echo "Gathering free-space information..."

EXTRA_SPACE=512
if [ $VM_INCLUDED = "true" ]; then
	NEEDED_SPACE=`expr \( $ARCHREALSIZE + $JREREALSIZE \) / $OS_BLOCKSIZE + $EXTRA_SPACE`
else
	NEEDED_SPACE=`expr $ARCHSIZE / $OS_BLOCKSIZE + $EXTRA_SPACE`
fi

[ $LAX_DEBUG ] && echo "Space needed to complete the self-extraction: $NEEDED_SPACE blocks"

sePwd=`pwd`
cd $INSTBASE

AVAIL_SPACE=`$DF_CMD . 2>/dev/null | awk "{print \\\$$DF_AVAIL_COL}" | tail -1`
[ $LAX_DEBUG ] && echo "Available space: $AVAIL_SPACE blocks"

cd $sePwd

# if space info gathering worked well...
if [ $LAX_DEBUG ]; then
echo "Available blocks: $AVAIL_SPACE    Needed blocks: $NEEDED_SPACE (block = $OS_BLOCKSIZE bytes)"
fi
if [ ! \( -z $AVAIL_SPACE -o -z $NEEDED_SPACE \) ]; then
	if [ ${AVAIL_SPACE:-0} -lt ${NEEDED_SPACE:-0} ]; then

		#
		# MMA - 2001.03.01 - try the home directory first if not enough space in /tmp or $IATEMPDIR
		#
		if [ "$INSTBASE" != "$HOME" ]; then

			if [ -d "$ZIPLOC" ]; then
				rmdir $ZIPLOC > /dev/null 2>&1
				#rmdir $ZIPLOC
			fi

			if [ $LAX_DEBUG ]; then
				echo "WARNING: $INSTBASE does not have enough disk space!"
				echo "         Attempting to use $HOME for install base and tmp dir."
			fi

			INSTBASE=$HOME
			ZIPLOC="$INSTBASE/install.dir.$$"
			INSTALLER_DATA_DIR="$ZIPLOC/InstallerData"
			INSTALL_ZIP="$INSTALLER_DATA_DIR/installer.zip"
			ENV_PROPERTIES="$ZIPLOC/env.properties"
			TMP_LAX="$ZIPLOC/temp.lax"

			[ $LAX_DEBUG ] && echo "Creating installer data directory: $ZIPLOC"
			mkdir $ZIPLOC > /dev/null 2>&1

			if [ "$?" -ne "0" ]; then
				echo "The temporary install directory: "
				echo "     $INSTBASE"
				echo "does not exist or you do not have permission to write to it."
				echo "Please set the IATEMPDIR environment variable to a directory"
				echo "to which you have the permission."
				echo "To set the variable enter one of the following"
				echo "commands at the UNIX command line prompt before running this"
				echo "installer again:"
				echo ""
				echo "- for Bourne shell (sh), ksh, bash and zsh:"
				echo ""
				echo "     $ IATEMPDIR=/your/temp/space/directory"
				echo "     $ export IATEMPDIR"
				echo ""
				echo "- for C shell (csh) and tcsh:"
				echo ""
				echo "     $ setenv IATEMPDIR /your/temp/space/directory"
				echo ""
			fi
			
			[ $LAX_DEBUG ] && echo "Creating installer data directory: $INSTALLER_DATA_DIR"
			mkdir $INSTALLER_DATA_DIR > /dev/null 2>&1

			cd $INSTBASE
			AVAIL_SPACE=`$DF_CMD . 2>/dev/null | awk "{print \\\$$DF_AVAIL_COL}" | tail -1 `
			cd $sePwd
			
			if [ $LAX_DEBUG ]; then
				echo "Available blocks: $AVAIL_SPACE    Needed blocks: $NEEDED_SPACE (block = $OS_BLOCKSIZE bytes)"
			fi

			if [ ! \( -z $AVAIL_SPACE -o -z $NEEDED_SPACE \) ]; then
				if [ ${AVAIL_SPACE:-0} -lt ${NEEDED_SPACE:-0} ]; then

					# figure out num of Kb needed to install
					free_up=`expr ${NEEDED_SPACE:-0} - ${AVAIL_SPACE:-0}`
					free_up=`expr ${free_up:-1} \* $OS_BLOCKSIZE`
					free_up=`expr ${free_up:-1024} / 1024`
						
					echo ""
					echo "WARNING! The amount of /tmp disk space required to perform"
					echo "this installation is greater than what is available.  Please"
					echo "free up at least $free_up kilobytes in /tmp and attempt this"
					echo "installation again.  You may also set the IATEMPDIR environment"
					echo "variable to a directory on a disk partition with enough free"
					echo "disk space.  To set the variable enter one of the following"
					echo "commands at the UNIX command line prompt before running this"
					echo "installer again:"
					echo ""
					echo "- for Bourne shell (sh), ksh, bash and zsh:"
					echo ""
					echo "     $ IATEMPDIR=/your/free/space/directory"
					echo "     $ export IATEMPDIR"
					echo ""
					echo "- for C shell (csh) and tcsh:"
					echo ""
					echo "     $ setenv IATEMPDIR /your/free/space/directory"
					echo ""
					exit 12;
				fi
			else
				if [ $LAX_DEBUG ]; then
					echo "WARNING! The amount of /tmp disk space required and/or available"
					echo "could not be determined.  The installation will attempted anyway."
				fi
			fi
		fi
		#
		# End MMA - 2001.03.01
		#
	fi
else
	if [ $LAX_DEBUG ]; then
		echo "WARNING! The amount of /tmp disk space required and/or available"
		echo "could not be determined.  The installation will attempted anyway."
	fi
fi

#################################################################################################
# Extract the JRE if included
#
if [ "$VM_INCLUDED" = "true" ]
then

	# determine where to place the jre
	RESOURCE_PATH="$ZIPLOC/$RESOURCE_DIR/resource"
	JRE_PADDED="$RESOURCE_PATH/jre_padded"
	JRE_TARZ="$RESOURCE_PATH/vm.tar.Z"

	# compute number of blocks to extract
	JRE_BLOCKS=`expr $JREREALSIZE / $BLOCKSIZE`
	JRE_REMAINDER=`expr $JREREALSIZE % $BLOCKSIZE`
	if [ ${JRE_REMAINDER:-0} -gt 0 ]; then
		JRE_BLOCKS=`expr $JRE_BLOCKS + 1`
	fi

	[ $LAX_DEBUG ] && echo "Computed number of blocks to extract: $JRE_BLOCKS"

	# save the old directory and switch into the temp directory
	sePwd=`pwd`
	cd $ZIPLOC
	# make the platform directory and switch into it
	mkdir $RESOURCE_DIR
	cd $RESOURCE_DIR
	# make the resource directory
	mkdir resource
	# switch back to the previous directory
	cd $sePwd

	# extract the jre
	[ $LAX_DEBUG ] && echo "Extracting JRE from $0 to $JRE_PADDED ..."
	dd if=$0 of=$JRE_PADDED bs=$BLOCKSIZE skip=$JRESTART count=$JRE_BLOCKS > /dev/null 2>&1
	R1=$?
	[ $LAX_DEBUG ] && echo "Extracting done, exit code = $R1"
	
	[ $LAX_DEBUG ] && echo "Extracting JRE from $JRE_PADDED to $JRE_TARZ ..."
	dd if=$JRE_PADDED of=$JRE_TARZ bs=$JREREALSIZE count=1 > /dev/null 2>&1
	R2=$?
	[ $LAX_DEBUG ] && echo " Extracting done, exit code = $R2"
	
	rm -f $JRE_PADDED

	# verify the integrity of the jre archive
	JRE_TARZ_SIZE=`$lsCMD -l $JRE_TARZ | awk '{print $5}'`
	if [ "${JRE_TARZ_SIZE:=0}" -ne "${JREREALSIZE:=1}" -o "$R1" -ne 0 -o "$R2" -ne 0 ]; then
		echo "The included VM could not be extracted. Please try to download"
		echo "the installer again and make sure that you download using 'binary'"
		echo "mode.  Please do not attempt to install this currently downloaded copy."
		exit 13
	fi

	# unpack the jre archive
	pre_unpack_pwd=`pwd`
	cd $RESOURCE_PATH

	[ $LAX_DEBUG ] && echo "Unpacking the archive ..."
	
	if uncompress -c $JRE_TARZ | tar xf - ; then
		# successful
		[ $LAX_DEBUG ] && echo " done."
	else
		echo "The included VM could not be unarchived (tar). Please try to download"
		echo "the installer again and make sure that you download using 'binary'"
		echo "mode.  Please do not attempt to install this currently downloaded copy."
		exit 15
	fi
	chmod -R 755 jre > /dev/null 2>&1
	
	# Remove the tar file
	rm -f $JRE_TAR
	
	# Switch back to the previous directory
	cd $pre_unpack_pwd

	# Figure out the path to the bundled VM
	bundledVMPath="$RESOURCE_PATH/$LAX_NL_CURRENT_VM"
	
else

	if [ $LAX_DEBUG ]; then
		echo "This installation does not contain a VM."
	fi
	
	# There is no path to a bundled VM
	bundledVMPath=""

fi



#################################################################################################
#  Extract install.zip archive
#

# extract the install.zip
if [ $VM_INCLUDED = "true" ]; then

	[ $LAX_DEBUG ] && echo "Extracting install.zip from $0 to $INSTALL_ZIP ..."
	
	dd if=$0 of=$INSTALL_ZIP bs=$BLOCKSIZE \
		skip=`expr $JRESTART + $JRE_BLOCKS` count=$ARCHSIZE > /dev/null 2>&1

	[ $LAX_DEBUG ] && echo "Extracting done, exit code = $?"
	
	# verify the integrity of the install.zip
	INSTALL_ZIP_SIZE=`$lsCMD -l $INSTALL_ZIP | awk '{print $5}'`
	if [ ${ARCHREALSIZE:=0} -ne ${INSTALL_ZIP_SIZE:=1} ]; then
		echo "The size of the extracted files to be installed are corrupted.  Please"
		echo "try to download the installer again and make sure that you download"
		echo "using 'binary' mode."
		echo "Please do not attempt to install this currently downloaded copy."
		exit 16
	fi
else
	[ $LAX_DEBUG ] && echo "Extracting install.zip from $0 to $INSTALL_ZIP ..."
	
	dd if=$0 of=$INSTALL_ZIP bs=$BLOCKSIZE skip=$ARCHSTART count=$ARCHSIZE > /dev/null 2>&1
	
	[ $LAX_DEBUG ] && echo "Extracting done, exit code = $?"
fi
#
# write a file in the installerData dir named "sea_loc" that
# contains the path to the self-extractor
#
echo "$SEA_LOC" > "$ZIPLOC"/sea_loc

#################################################################################################
#  Create a lax file for the launcher
#

TMP_LAX="$ZIPLOC/temp.lax"

echo "lax.user.dir=$ZIPLOC" > $TMP_LAX
echo "lax.class.path="$INSTALLER_DATA_DIR":"$INSTALL_ZIP >> $TMP_LAX
echo "lax.main.class=com.zerog.ia.installer.Main" >> $TMP_LAX
echo "lax.main.method=main" >> $TMP_LAX
echo "lax.nl.message.vm.not.loaded=The installer either could not find a Java VM, or the Java VM on this system is too old. The installer requires Java 1.1.5 or later. It can be downloaded from http://java.sun.com/products/jdk/1.1/jre/" >> $TMP_LAX

echo "lax.nl.java.launcher.main.class=com.zerog.lax.LAX" >> $TMP_LAX
echo "lax.nl.java.launcher.main.method=main" >> $TMP_LAX
echo "lax.command.line.args=\$CMD_LINE_ARGUMENTS\$" >> $TMP_LAX
echo "lax.nl.current.vm=$bundledVMPath" >> $TMP_LAX
echo "lax.nl.java.compiler=off" >> $TMP_LAX
echo "lax.nl.java.option.verify.mode=none" >> $TMP_LAX
echo "lax.nl.java.option.check.source=off" >> $TMP_LAX
echo "lax.nl.stderr.redirect=$INSTALLER_STDERR_REDIRECT" >> $TMP_LAX
echo "lax.nl.stdout.redirect=$INSTALLER_STDOUT_REDIRECT" >> $TMP_LAX
echo "lax.nl.java.option.java.heap.size.initial=$INSTALLER_HEAP_SIZE_INITIAL" >> $TMP_LAX
echo "lax.nl.java.option.java.heap.size.max=$INSTALLER_HEAP_SIZE_MAX" >> $TMP_LAX
echo "lax.installer.unix.internal.property.0=$LAX_INSTALLER_UNIX_INTERNAL_PROPERTY_0" >> $TMP_LAX

#################################################################################################
# Tell the standard launcher that it should backup this lax file
# since this is a self extractor and not a launcher
#
noLaxBackup=true
templaxpath=$TMP_LAX
umask $DEFAULTPERMS

# Tell the launcher where to find the properties file
seLaxPath=$TMP_LAX

#################################################################################################
### END OF USE.SH ###############################################################################
#################################################################################################
#!/bin/sh
# LaunchAnywhere (tm) version 4.0.2
# (c) Copyright 1999,2000 Zero G Software, Inc., all rights reserved.
#
#  To run this script you will need to have the following:
#	1) a Java VM installed (however, it will handle a lack of Java nicely).
#	2) a Java-style properties file having the same name as this script 
#		with the suffix .lax.  If this script is appended to the
#		self-extractor, it will look for the properties file in the
#		directory specified by $seLaxPath; otherwise, it will look in
#		the same directory that this script is in.
#	3) a Java program in the file "lax.jar".
#
#  The .lax property file must contain at least the following properties:
#	1)  lax.class.path  classpath (do not include the environment variable $CLASSPATH )
#	2)  lax.nl.java.launcher.main.class  (main class of LaunchAnywhere Executable)
#

#
# Since USERENV is already set in the self-extractor, its its not set we know
# this is not an installer but a separate launcher.  USERENV holds env variable
# pairs
# [RW] USERENV is just a flag passed from use.sh.
#
IS_INSTALLER=''
[ $USERENV ] && IS_INSTALLER=true

#
# later on we might add things to the PATH, but we want to preserve the PATH
# order for which VMs are the first ones found.
#
VM_SEARCH_PATH=$PATH

####################################################################################
# Set some constants
if [ "$1" = "LAX_VM" ]; then
	lax_vm="LAX_VM"
	lax_vm_value="$2"
	shift 2
else
	lax_vm=""
fi 
anyVMlist="JDK_J2 D12 JRE_J2 R12 JDK_J1 JRE_J1 JDK JRE ALL" 


####################################################################################
# Format commandline args
# To overcome the problem of quoted args (with internal spaces) to the launcher
# is that they get "unquoted" or separated into discreet args when they are put
# on the cmdline for the application.  This following block makes  sure the stay intact
tmpArgs=""
for arg in "$@"
do
        if [ "$arg" != "" ]
        then
                tmpArgs="$tmpArgs \"$arg\""
        fi
done
cmdLineArgs=$tmpArgs
thisScript=$0
# make sure thisScript is an abs path
case $thisScript in
	/*)
	;;
	*)
		thisScript="`pwd`/$thisScript"
	;;
esac

#
# SILENT install flag
#
param=`expr "$*" : "SILENT\$"`
isSilent="false"
if [ "$param" = "6" ]; then
	isSilent="true"
fi

#
# CONSOLE/TET install flag
#
isConsole="false"
param=`expr "$*" : "CONSOLE\$"`
if [ "$param" = "7" ]; then
	isConsole="true"
fi
param=`expr "$*" : "TEXT\$"`
if [ "$param" = "4" ]; then
	isConsole="true"
fi


####################################################################################
#
# WHere does the LAX_DEBUG output go?
#

if [ "$LAX_DEBUG" = "file" ]; then
	jx_log="`pwd`/jx.log"
	rm -f "$jx_log"
	touch "$jx_log"
	if [ "$?" -gt "0" ]; then
		jx_log_ok="false"
		echo "Could not create $jx_log.  Sending debug output to console."
	else 
		jx_log_ok="true"
	fi
fi

debugOut()
{
	case "$LAX_DEBUG" in
		"file" ) 
			if [ "$jx_log_ok" = "true" ]; then
				echo "$1" >> "$jx_log"
			else
				echo "$1"
			fi
		;;
		""     )
			echo "$1" >> /dev/null
		;;
		*      )
			echo "$1"
		;;
	esac
}

####################################################################################
#
# UNIX ENVIRONMENT configuration
#
debugOut ""
debugOut "[7m========= Analyzing UNIX Environment =================================[0m"


# Get os type , note that it is LOWER-CASED.  Used here and later on
osName=`uname -s 2> /dev/null | tr "[:upper:]" "[:lower:]" 2> /dev/null`
debugOut "Setting UNIX ($osName) flavor specifics."
vmScript=".java_wrapper"
case "$osName" in
	*irix*)
		cpuName="unknown"
	;;
	*hp-ux*|*hpux*)
		cpuName=`uname -m 2> /dev/null`
	;;
	*solaris*|*sunos*)
		cpuName=`uname -p 2> /dev/null`
		THREADS_FLAG="";	export THREADS_FLAG 
		PATH=/usr/bin:$PATH;	export PATH
	;;
	*aix*)
		cpuName="unknown"
	;;
	*freebsd*)
		cpuName=`uname -p 2> /dev/null`
	;;
	*linux*)
		cpuName=`uname -m 2> /dev/null`
	;;
	*rhapsody*|*macos*)
		cpuName=`uname -p 2> /dev/null`
		vmScript=".java_command"
	;;
	*compaq*|*dg*|*osf*)
		cpuName="unknown"
	;;
	*)
		cpuName="unknown"
	;;
esac


if [ -x /bin/ls ]; then
	lsCMD="/bin/ls"
elif [ -x /usr/bin/ls ]; then
	lsCMD="/usr/bin/ls"
else
	lsCMD="ls"
fi

debugOut "Checking X display setting."

#
# check the display
#
if [ "$IS_INSTALLER" = "true" -a "$isConsole" = "false" -a "$isSilent" = "false" ]; then
	hostname=`hostname`
	isRemoteDisplay=true
	for display in ${hostname}:0 ${hostname}:0.0 localhost:0 localhost:0.0 unix:0 unix:0.0 :0 :0.0
	do
		if [ "$DISPLAY" = "$display" ]; then
			isRemoteDisplay=false;
		fi
	done
fi

if [ "$isRemoteDisplay" = "true" ]; then
	debugOut "[1mWARNING:  The name  of  this  host ($hostname) and  the setting"
	debugOut "of this  shell's DISPLAY ($DISPLAY) variable do not match."
	debugOut "If this launcher is being displayed to a Microsoft Windows desktop"
	debugOut "through X Windows the Java Virtual Machine might abort. Try running"
	debugOut "this installer locally on the target system or through X Windows to"
	debugOut "another UNIX host if the installer unexpectedly fails."
fi

debugOut "Importing UNIX environment into LAX properties."

####################################################################################
# 
# CREATE ENV.PROPERTIES and figure out if this is being exec'd from an installer
#
# We need POSIX awk. On some systems it's called awk, on others
# nawk. It's most frequently called nawk, so start with that.
#
debugOut "Checking for POSIX awk."
  
AWK=nawk
( $AWK '{}' ) < /dev/null 2>&0 || AWK=awk


if [ -z "$envPropertiesFile" ]
then
	if [ -d /tmp ]
	then
		envPropertiesFile=/tmp/env.properties.$$
	else
		envPropertiesFile=$HOME/env.properties.$$
	fi
fi

#
# Convert environment variables to LAX properties. The variables
# are also named with alternate case (all upper, all lower).
#
# E.g.
#     export My_Env_Var="abc
#     def"
#
# is converted to:
#     lax.nl.env.exact_case.My_Env_Var=abc def
#     lax.nl.env.MY_ENV_VAR=abc def
#     lax.nl.env.my_env_var=abc def
#
# The second gsub() is used to escape backslashes so that when the properties 
# file is read by the java.util.Properties object, there is not a problem
# with incorrectly interpreted escaped unicode.
#
# [RW 3/15/01] This particular code segment was responsible for half the time
# taken by this whole program. I rewrote it in awk (POSIX awk) and cut it 
# down to < 0.1 sec.
#
  
$AWK -v LAX_PREFIX=lax.nl.env. '
END { 
	for (var in ENVIRON) 
	{
		# get variable value
		value = ENVIRON[var]

		# strip newlines
		gsub(/\n/, " ", value)
  
		# convert one backslash to two
		gsub(/\\/, "\\\\", value)
  
		# print as LAX property
		print LAX_PREFIX "exact_case." var "=" value
		print LAX_PREFIX tolower(var) "=" value
		print LAX_PREFIX toupper(var) "=" value
	}
}' < /dev/null > $envPropertiesFile



####################################################################################
#
# Tracing symbolic links to actual launcher location
#

resolveLink()
{
	rl_linked="true"
	rl_operand="$1"
	rl_origDir="`dirname "$1"`"

	# bypass the whole thing if this isnt a link
	rl_ls=`$lsCMD -l "$rl_operand"`
	case "$rl_ls" in
		*"->"*)
		;;
		*)
			resolvedLink="$rl_operand"
			return
		;;
	esac 
	
	while [ "$rl_linked" = "true" ]; do
		# if the operand is not of an abs path, get its abs path
		case "$rl_operand" in
			/*)
				rl_origDir=`dirname "$rl_operand"`
			;;
			\./*)
				rl_origDir=`pwd`
				rl_operand="$rl_origDir/$rl_operand"
			;;
			*)
				rl_operand="$rl_origDir/$rl_operand"
			;;
		esac
		#
		# the prevPrev hack is here because .../java often points to .java_wrapper.
		# at the end of the resolution rl_operand actually points to garbage
		# signifying it is done resolving the link.  So prev is actually .java_wrapper.
		# but we want the one just before that, its the real vm starting poiint we want
		#
		rl_prevOperand="$rl_operand"
		rl_ls=`$lsCMD -l "$rl_operand"`
		# get the output ls into a list
		set x $rl_ls
		# get rid of x and file info from ls -l
		shift 9
		
		#is this a link?
		case "$rl_ls" in
			*"->"*)
				rl_linked="true"
				# is a link, shift past the "->"
				rl_linker=""
				while [ "$1" != "->" -a $# -gt 1 ]; do
					rl_linker="$rl_linker $1"
					shift
				done
	
				if [ "$1" = "->" ]; then
					shift
				fi
			;;
			*)
				# not a link, the rest must be the targets name
				rl_linked="false"
			;;
		esac
		# now grab what's left 
		rl_linkee="$*"

		# debugOut "Following link to LAX $rl_linker -> $rl_linkee"

		if [ "$rl_linked" = "true" -a "`basename "$rl_linkee"`" != "$vmScript" ]; then
			# set to true incase the thing linked to is also a link and we can
			# try again.  The current think linked to now becomes the operand
			rl_operand="$rl_linkee"
			# if the linkee is not abs, make it abs relative to the linker
			case "$rl_operand" in
				/*)
				;;
				*)
					rl_operand="$rl_origDir/$rl_operand"
				;;
			esac
		else
			# otherwise, this operand is not a link itself and we are done
			rl_resolvedLink="$rl_prevOperand"
			# however, do not resolve the last leg of a VMs linked scripts. this will
			# disrupt their scripts.  it is expecting a link to the .java* script
			# let us believe it is not linked and continue on...
			if [ "`basename "$rl_linkee"`" = "$vmScript" ]; then
				rl_linked="false"
			fi
		fi
		# make sure the path returned is absolute
		case "$rl_operand" in
			\.\/*)
				rl_operand="`pwd`/$rl_operand"
			;;
		esac
	done

	# remove "/./" in paths, make it "/"
	# i,e,  "/a/b/./c" becomes "/a/b/c"
	resolvedLink=`echo "$rl_resolvedLink" |  sed 's,/\./,/,'`
}

####################################################################################
#
#  FINDING THE LAX FILE
#
# If this is an installer, use $seLaxPath
#
debugOut ""
debugOut "[7m========= Analyzing LAX ==============================================[0m"
olddir=`pwd`
resolveLink "$thisScript"
absLauncherName="$resolvedLink"
cd "`dirname "$absLauncherName"`"
if [ "$IS_INSTALLER" != "" ]; then
	if [ ! -z "$seLaxPath" ]; then
		propfname=$seLaxPath
	else
		# legacy for old self-extractors
		propfname=$templaxpath
	fi 
else
	propfname=$absLauncherName.lax
fi


if [ ! -r "$propfname" ]; then
	debugOut "The file "$propfname" could"
	debugOut "not be found, and the program cannot be run without it."
	debugOut "Try reinstalling the program."
	exit;
else 
	debugOut "LAX found............................ OK."
fi


####################################################################################
# 
# READING THE LAX FILE
#
OFS="$IFS"
# run prop file through sed calls that do:
# 1. transform first '=' on a line into a control-O
# 2. transform all other ='s to control-F
# 3. transform control-Os back to =
# this is to differentiate the lhs=rhs processing from confusing the first = from other
# = that might be part of the value.  Later on those =-tranformed-to-control-Fs are
# transformed back to = signs.
set x `cat "$propfname" | sed -e 's~^\([^\=]*\)\=\(.*\)~\1\\2~g' -e 's~=~~g' -e 's~~=~g' | grep '='`; shift

while test $# -gt 0; do
	# line separator
	case "x${1}x" in
		*"="* ) BIFS=" "; ;;
		*     ) BIFS="" ; ;;
	esac
	# word separator
	case "x${2}x" in
		*"="* ) AIFS=""; ;;
		*     ) AIFS=""; ;;
	esac
	INPUT="$INPUT$BIFS$1$AIFS"
	shift
done

while test "x$INPUT" != "x"; do
	set x $INPUT; shift
	X="$1"
	shift
	INPUT="$@" 
	IFS="=$AIFS"
	set x $X; shift
	IFS="$OFS"

	lhs="${1}"
	shift
	rhs="$@"

	# transform non lhs=rhs delimiting = signs back from ^F to =
	case "$rhs" in
		**)
		rhs=`echo $rhs | sed 's~~=~g'`
		;;
	esac

	# assing the values
	case $lhs in
		lax.class.path*)
			lax_class_path="$rhs"
		;;
		lax.main.class*)
			lax_main_class="$rhs"
		;;
		lax.nl.java.launcher.main.class*)
			lax_nl_java_launcher_main_class="$rhs"
		;;
		lax.nl.current.vm*)
			lax_nl_current_vm="$rhs"
		;;
		lax.user.dir*)
			lax_user_dir="$rhs"
			lax_user_dir=`echo $lax_user_dir | sed 's;^[ ]*\(.*\)[ ]*$;\1;'`
		;;
		lax.stdout.redirect*)
			lax_stdout_redirect="$rhs"
		;;
		lax.stderr.redirect*)
			lax_stderr_redirect="$rhs"
		;;
		lax.dir*)
			lax_dir="$rhs"
		;;
		lax.always.ask*)
			lax_always_ask="$rhs"
		;;
		lax.application.name*)
			lax_application_name="$rhs"
		;;
		lax.nl.message.vm.not.loaded*)
			lax_nl_message_vm_loaded="$rhs"
		;;
		lax.nl.valid.vm.list*)
			# transform an blank value to "ALL"
			case "$rhs" in
				"") rhs="ALL"; ;;
			esac
			lax_nl_valid_vm_list="$rhs"
		;;
		lax.nl.java.option.check.source*)
			verify="$rhs"
		;;
		lax.nl.java.option.verify.mode*)
			verify_mode="$rhs"
		;;
		lax.nl.java.option.verbose*)
			verbo="$rhs"
		;;
		lax.nl.java.option.garbage.collection.extent*)
			gcxtnt="$rhs"
		;;
		lax.nl.java.option.garbage.collection.background.thread*)
			gcthrd="$rhs"
		;;
		lax.nl.java.option.native.stack.size.max*)
			nsmax="$rhs"
		;;
		lax.nl.java.option.java.stack.size.max*)
			jsmax="$rhs"
		;;
		lax.nl.java.option.java.heap.size.max*)
			jhmax="$rhs"
		;;
		lax.nl.java.option.java.heap.size.initial*)
			jhinit="$rhs"
		;;
		lax.nl.java.option.debugging*)
			debug="$rhs"
		;;
		lax.nl.$osName.$cpuName.java.compiler*)
			lax_nl_osname_cpuname_java_compiler="$rhs"
		;;
		lax.nl.$osName.java.compiler*)
			lax_nl_osname_java_compiler="$rhs"
		;;
		lax.nl.java.compiler*)
			lax_nl_java_compiler="$rhs"
		;;
		lax.nl.java.option.additional*)
			lax_nl_java_option_additional="$rhs"
		;;
		######################################################
		# JIT overrides
		lax.nl.unix.JDK_J1.java.compiler*)
			lax_nl_unix_JDK_J1_java_compiler="$rhs"
		;;
		lax.nl.unix.JDK_J2.java.compiler*)
			lax_nl_unix_JDK_J2_java_compiler="$rhs"
		;;
		lax.nl.unix.JRE_J1.java.compiler*)
			lax_nl_unix_JRE_J1_java_compiler="$rhs"
		;;
		lax.nl.unix.JRE_J2.java.compiler*)
			lax_nl_unix_JRE_J2_java_compiler="$rhs"
		;;
		lax.nl.unix.J1.java.compiler*)
			lax_nl_unix_J1_java_compiler="$rhs"
		;;
		lax.nl.unix.J2.java.compiler*)
			lax_nl_unix_J2_java_compiler="$rhs"
		;;
		lax.nl.unix.JRE.java.compiler*)
			lax_nl_unix_JRE_java_compiler="$rhs"
		;;
		lax.nl.unix.JDK.java.compiler*)
			lax_nl_unix_JDK_java_compiler="$rhs"
		;;
		lax.nl.unix.ALL.java.compiler*)
			lax_nl_unix_ALL_java_compiler="$rhs"
		;;
		#
		lax.nl.JDK_J1.java.compiler*)
			lax_nl_JDK_J1_java_compiler="$rhs"
		;;
		lax.nl.JDK_J2.java.compiler*)
			lax_nl_JDK_J2_java_compiler="$rhs"
		;;
		lax.nl.JRE_J1.java.compiler*)
			lax_nl_JRE_J1_java_compiler="$rhs"
		;;
		lax.nl.JRE_J2.java.compiler*)
			lax_nl_JRE_J2_java_compiler="$rhs"
		;;
		lax.nl.J1.java.compiler*)
			lax_nl_J1_java_compiler="$rhs"
		;;
		lax.nl.J2.java.compiler*)
			lax_nl_J2_java_compiler="$rhs"
		;;
		lax.nl.JRE.java.compiler*)
			lax_nl_JRE_java_compiler="$rhs"
		;;
		lax.nl.JDK.java.compiler*)
			lax_nl_JDK_java_compiler="$rhs"
		;;
		lax.nl.ALL.java.compiler*)
			lax_nl_ALL_java_compiler="$rhs"
		;;
		#
		lax.nl.$osName.JDK_J1.java.compiler*)
			lax_nl_osname_JDK_J1_java_compiler="$rhs"
		;;
		lax.nl.$osName.JDK_J2.java.compiler*)
			lax_nl_osname_JDK_J2_java_compiler="$rhs"
		;;
		lax.nl.$osName.JRE_J1.java.compiler*)
			lax_nl_osname_JRE_J1_java_compiler="$rhs"
		;;
		lax.nl.$osName.JRE_J2.java.compiler*)
			lax_nl_osname_JRE_J2_java_compiler="$rhs"
		;;
		lax.nl.$osName.J1.java.compiler*)
			lax_nl_osname_J1_java_compiler="$rhs"
		;;
		lax.nl.$osName.J2.java.compiler*)
			lax_nl_osname_J2_java_compiler="$rhs"
		;;
		lax.nl.$osName.JRE.java.compiler*)
			lax_nl_osname_JRE_java_compiler="$rhs"
		;;
		lax.nl.$osName.JDK.java.compiler*)
			lax_nl_osname_JDK_java_compiler="$rhs"
		;;
		lax.nl.$osName.ALL.java.compiler*)
			lax_nl_osname_ALL_java_compiler="$rhs"
		;;
		#
		# JIT overrides
		######################################################
	esac
done

debugOut "LAX properties read.................. OK."

if [ "${lax_class_path:-""}" = "" ]; then
	debugOut "The classpath specified in the LAX properties file"
	debugOut "is invalid.  Try reinstalling the program."	
	exit;
fi
if [ "${lax_nl_java_launcher_main_class:-""}" = "" ]; then
	debugOut "The main class specified in the LAX properties file"
	debugOut "is invalid.  Try reinstalling the program."
	exit;
fi

if [ ! -z "$INSTALLER_OVERRIDE_VMLIST" ]; then
	lax_nl_valid_vm_list="$INSTALLER_OVERRIDE_VMLIST"
fi


####################################################################################
#
# if  user.dir != .   then relative paths on the classpath will be broken.  they
# are expecting the pwd to be '.' (meaning the install dir).  If user.dir is
# any other directory, it will break
lax_class_path=`echo "$lax_class_path" | sed 's^;^:^g'`
absInstallDir=`dirname "$absLauncherName"`
OFS="$IFS"
IFS=":"
set x $lax_class_path; shift
IFS="$OFS"
tmp_lcp=""
while test $# -gt 0; do
	case "$1" in
		\/*)
			if [ "$tmp_lcp" = "" ]; then
				tmp_lcp="$1"
			else
				tmp_lcp="$tmp_lcp:$1"
			fi
		;;
		*|*\$ENV_CLASSPATH\$*)
			if [ "$tmp_lcp" = "" ]; then
				tmp_lcp="${absInstallDir}/$1"
			else
				tmp_lcp="$tmp_lcp:${absInstallDir}/$1"
			fi
		;;
	esac
	shift
done
lax_class_path="$tmp_lcp"

# resolve $ENV_CLASSPATH$
OFS="$IFS"
IFS=":"
set x $lax_class_path; shift
IFS="$OFS"
tmp_lcp=""
while test $# -gt 0; do
	case "$1" in
		*\$ENV_CLASSPATH\$*)
			if [ "$tmp_lcp" = "" ]; then
				tmp_lcp="$CLASSPATH"
			else
				tmp_lcp="$tmp_lcp:$CLASSPATH"
			fi
		;;
		*)
			if [ "$tmp_lcp" = "" ]; then
				tmp_lcp="$1"
			else
				tmp_lcp="$tmp_lcp:$1"
			fi
		;;
	esac
	shift
done
lax_class_path="$tmp_lcp"



####################################################################################
# just incase this the lax was written in DOS, be sure to make all ';' path
# separators into :'s or it will fubar the commandline
#
case "$smclp" in
	*\;*)
		oldIFS=$IFS
		IFS=";"
		for smclp_piece in $smclp; do
			tmp_smclp="$tmp_smclp:$smclp_piece"
		done
		IFS=$oldIFS
		clp=$tmp_smclp
	;;
esac

##################################################################
# Setting stdout and stderr redirection
#
if [ "$LAX_DEBUG" = "file" -o "$LAX_DEBUG" = "" ]; then
	echo "lax.stderr.redirect=$lax_stderr_redirect" >> $envPropertiesFile
	echo "lax.stdout.redirect=$lax_stdout_redirect" >> $envPropertiesFile
else
	echo "lax.stderr.redirect=console" >> $envPropertiesFile
	echo "lax.stdout.redirect=console" >> $envPropertiesFile
	lax_stdout_redirect="console"
	lax_stderr_redirect="console"
fi

lax_version="4.0.2"

validVMtypeList="$lax_nl_valid_vm_list"

# MMA 04.26.2000
#
# Added check for validVMtypeList not being set to any value, in
# which case we should just set the valid list to all. 
#
if [ "$validVMtypeList" = "ALL" -o "$validVMtypeList" = "" ]; then
	validVMtypeList=$anyVMlist
fi


#############################################################
# PICK A VALID VM
#

debugOut "" 
debugOut "[7m========= Finding VM =================================================[0m"
debugOut "[1mValid VM types.......................... $validVMtypeList[0m"

#
# If the vm gets a relative path, we must make it absolute to the Install
#   Directory    tm 3/3
#
if [ ! -z "${lax_nl_current_vm:-""}" ]; then
	isABSpath=`expr $lax_nl_current_vm : '\/'`
	if [ "$isABSpath" = "0" ]; then
		abs_lax_nl_current_vm="${lax_dir}/${lax_nl_current_vm}"
	else
		abs_lax_nl_current_vm=$lax_nl_current_vm
	fi
	debugOut "Absolute LAX_VM path.................... $abs_lax_nl_current_vm"
fi


#################################################################################
# inspectVM()
#
# param:      a pathname to a potential VM file, maybe a link
#
# returns:    $inspectedVMpath        the real path to the VM file
# returns:    $inspectedVMtype        the type of the VM
# returns:    $inspectedOldVMtype     ?
#
inspectVM()
{
	resolveLink "$1"

	inspectee="$resolvedLink"
	inspecteeDir=`dirname "$inspectee"`
	inspecteeName=`basename "$inspectee"`

	inspectedVMpath=$inspectee

	#
	# is it JDK1.1 , JDK1.2  or JRE1.2?
	#
	if [ "$inspecteeName" = "oldjava" ]; then
		inspectedOldVMtype="OLDJAVA"
		inspectedVMtype="OLDJAVA"
	elif [ "$inspecteeName" = "java" ]; then

		############################################################
		# Do some OS-specific quirky stuff
		#
		# MacOS X / Rhapsody
		#
		quirk_classesZip=""
		if [ "$osName" = "rhapsody" ]; then
			if [ "`expr "$inspecteeDIR" : ".*JavaVM.framework$"`" != "0" ]; then
				quirk_classesZip="$file/Classes/classes.jar"
				inspecteeDir="$inspecteeDir/Home/bin"
			fi
		fi
		# END OS quirky stuff
		############################################################

		#
		# is it JDK1.1?
		# 
		if [ -r "$inspecteeDir/../lib/classes.zip" -o -r "$quirk_classesZip" ]; then
			inspectedOldVMtype="JDK"
			inspectedVMtype="JDK_J1"
		else
			# JDK1.2
			# 
			# is the "java" JRE1.2 or JDK1.2?
			#
			if [ -r "$inspecteeDir/../lib/dt.jar" ]
			then
				inspectedOldVMtype="D12"
				inspectedVMtype="JDK_J2"
			else
				inspectedOldVMtype="R12"
				inspectedVMtype="JRE_J2"
			fi
		fi
	elif [ "$inspecteeName" = "jre" ]; then
		inspectedOldVMtype="JRE"
		inspectedVMtype="JRE_J1"
	else
		inspectedOldVMtype="UNKNOWN"
		inspectedVMtype="UNKNOWN"
	fi
}
###
### end inspectVM()
###
########################################################################################


# massage valid VM list.  Expand inclusive types (i.e. JRE = JRE_J1 and JRE_J2 )
tmpValidVMlist=""
for type in $validVMtypeList; do
	case $type in
		J1)		tmpValidVMlist="$tmpValidVMlist JRE_J1 JDK_J1" ;;
		J2)		tmpValidVMlist="$tmpValidVMlist JRE_J2 JDK_J2" ;;
		JRE)	tmpValidVMlist="$tmpValidVMlist JRE_J2 R12 JRE_J1" ;;
		JDK)	tmpValidVMlist="$tmpValidVMlist JDK_J2 D12 JDK_J1" ;;
		*)		tmpValidVMlist="$tmpValidVMlist $type " ;;
	esac
done
validVMtypeList="$tmpValidVMlist"
debugOut "[1mExpanded Valid VM types................. $validVMtypeList[0m"

# if a VM was forced on the command line use it otherwise search
if [ "$lax_vm" = "LAX_VM" ]; then
	# Using VM passed in as argument
	inspectVM "$lax_vm_value"
	actvmType="$inspectedVMtype"
	actvm="$lax_vm_value"
	debugOut "* Using VM:.........(LAX_VM)............ $actvm"
else

	# 1st inspect the  lax.nl.current.vm.  As long as it is in the
	# valid vm list it takes precedence over everything else.  
	laxVMisValid="false"
	# is the lax current vm is specifies
	if [ ! -z "$abs_lax_nl_current_vm" -a -x "$abs_lax_nl_current_vm" ]; then
		# inspect it
		inspectVM "$abs_lax_nl_current_vm"
		eval laxVMtype="$inspectedVMtype"
		# if the type of this vm is in the valid list, deem it valid
	

		case "$validVMtypeList" in
			*$laxVMtype*)
				laxVMisValid="true"
			;;
		esac
	fi
	# if the lax current vm is valid use it
	 overwriteLaxVM="true"
	if [ "$laxVMisValid" = "true" ]; then
		# dont overwrite the lax.nl.current.vm  if this one works just fine
		overwriteLaxVM="false"
		actvm="$abs_lax_nl_current_vm"
		actvmType="$laxVMtype"
		debugOut "* Using VM.....(lax.nl.current.vm)...... $actvm"
	else	
	# other wise search the path
		debugOut "[1mWARNING! No valid lax.nl.current.vm available.[0m"
		# overwrite the lax.nl.current.vm  if the one in there didnt work
		overwriteLaxVM="true"

		# sift through the path to look for VMs

		# [RW] unique the PATH to limit the amount of work
		uniquedPath=`echo $VM_SEARCH_PATH | tr ':' '\012' | sort | uniq`

		vmNumber=0;
		OFS=$IFS
		IFS=":"
		set x $uniquedPath; shift
		IFS=$OFS
		debugOut "[1mSearching for VMs in PATH:[0m"
		for pathDir in $*; do
			debugOut "Looking in:............................. $pathDir"
			# For each type of binary vm name
			for binaryName in java jre oldjava; do

				vmPath=$pathDir/$binaryName

				# if the binary exists, is executable and is not a directory...
				if [ -x $vmPath -a \( ! -d $vmPath \) ]; then
					debugOut "  Found VM:............................. $vmPath"
					inspectVM "$vmPath"
					# set up a Bourne-style array of VM props using var1, var2, etc...
					eval vmBinary$vmNumber="$inspectedVMpath"
					eval vmType$vmNumber="$inspectedVMtype"
					eval oldVMtype$vmNumber="$inspectedOldVMtype"
					vmNumber=`expr ${vmNumber:-0} + 1`
				fi
			done
		done
	
		#########################################
		# VERIFY VMS against valid types
		#
		actvmType=""
		vmHighNumber="$vmNumber"

		# for each type of valid VM
		for validType in $validVMtypeList; do
			vmNumber="0";

			# run through the list of VMs found
			while [ "$vmNumber" -lt $vmHighNumber ]; do
				eval type="$"vmType$vmNumber""
				eval oldType="$"oldVMtype$vmNumber""
				eval  bin="$"vmBinary$vmNumber""
		
				# if the type of this VM is of '$type' or '$oldType'
				# make it the actual vm (actvm) to use
				case "${type} ${oldType}" in
					*${validType}*)
		
						actvm="$bin"
						actvmType="$type"
						debugOut "[1m* Using VM:............................. $actvm[0m"
						break 2
					;;
				esac
				vmNumber=`expr ${vmNumber:-0} + 1`
			done
		done	
	fi
fi

# If no VMs are found in path
if [ -z "$actvm" ]
then
	echo "No Java virtual machine could be found from your PATH"
	echo "environment variable.  You must install a VM prior to"
	echo "running this program."
	
	# Mikey [5/16/2000] -- If this was SEA'd then remove the temp directory
	if [ "$IS_INSTALLER" = "true" ]; then
		debugOut "Removing temporary installation directory: \"$lax_user_dir\""
		rm -rf "$lax_user_dir"
	fi
	
	cd $olddir
	exit
fi

# noLaxBackup is true for self-extractor, and the current vm should not
# be changed if the LAX_VM tag is used
noLaxBackup=${noLaxBackup:="false"}
if [ overwriteLaxVM = "true" -a "$lax_vm" != "LAX_VM" -a "$noLaxBackup" != true -a \
 -w "$propfname" ]
then
	sedscript="s;^lax.nl.current.vm.*;lax.nl.current.vm=$actvm;"
	sed $sedscript "$propfname">file.lax 
	mv "$propfname" "$propfname.bak" > /dev/null 2>&1
	mv file.lax "$propfname" > /dev/null 2>&1
	rm "$propfname.bak" > /dev/null 2>&1
fi

# set up a variable to esilty know if we are going to run 1.1 or 1.2 
# for setting up VM cmd line options later on
case "$actvmType" in
	"JRE" | "JDK" | "JRE_J1" | "JDK_J1" )
		actvmVersion="1.1"
	;;
	"R12" | "D12" | "JDK_J2" | "JRE_J2" | "OLDJAVA")
		actvmVersion="1.2"
	;;
	*)
		actvmVersion=""
	;;
esac

# is this a HotSpot (tm) VM?
"$actvm" -version 2>&1 |grep -i hotspot > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
	actvmIsHotSpot="true";
	debugOut "Current VM is a HotSpot VM"
else
	actvmIsHotSpot="false";
	debugOut "Current VM is NOT a HotSpot VM"
fi

#
# end of finding VMs
##########################################################################################

####################################################################################
# Determining VM invocation options to use
#

#
# Verification
#
if [ "$actvmVersion" = "1.1" ]; then
	if [ "$verify" = "off" ]; then
		options="$options -noverify"
	else
		if [ "$verify_mode" = "remote" ]; then
			options="$options -verifyremote"
		elif [ "$verify_mode" = "none" ]; then
			options="$options -noverify"
		elif [ "$verify_mode" = "all" ]; then
			options="$options -verify"
		fi
	fi
fi

verbo=${verbo:="none"}
if [ $verbo = "normal" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -verbose"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -verbose:class"
	fi
elif [ $verbo = "all" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -verbose -verbosegc"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -verbose:class -verbose:gc"
	fi
elif [ $verbo = "gc" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -verbosegc"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -verbose:gc"
	fi	
fi

#
# Memory mgnt
#
gcxtnt=${gcxtnt:="none"}
if [ $gcxtnt = "min" ]
then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -noclassgc"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -Xnoclassgc"
	fi
fi

gcthrd=${gcthrd:="none"}
if [ "$actvmVersion" = "1.1" ]; then
	if [ $gcthrd = "off" ]
	then
		options="$options -noasyncgc"
	fi
fi


nsmax=${nsmax:="none"}
if [ "$nsmax" != "none" ]; then
        if [ "$actvmVersion" = "1.1" ]; then
                options="$options -ss$nsmax"
        elif [ "$actvmVersion" = "1.2" ]; then
                options="$options -Xss$nsmax"
        fi
fi

jsmax=${jsmax:="none"}
if [ "$jsmax" != "none" ]; then
        if [ "$actvmVersion" = "1.1" ]; then
                options="$options -oss$jsmax"
        elif [ "$actvmVersion" = "1.2" ]; then
                options="$options -Xoss$jsmax"
        fi
fi


jhmax=${jhmax:="none"}
if [ "$jhmax" != "none" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -mx$jhmax"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -Xmx$jhmax"
	fi
fi

jhinit=${jhinit:="none"}
if [ "$jhinit" != "none" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -ms$jhinit"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -Xms$jhinit"
	fi
fi

debug=${debug:-"off"}
if [ $debug != "off" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		options="$options -debug"
	elif [ "$actvmVersion" = "1.2" ]; then
		options="$options -Xdebug"
	fi
fi

###############################################################
# JIT options
# Resetting java home and JIT compiler environment variables
#
jitOnOrOff=on;
#
# turn off according to VM type
#
if   [ ! -z "$lax_nl_osname_JDK_J1_java_compiler" -a "$actvmType" = "JDK_J1" ]; then
	jitOnOrOff=$lax_nl_osname_JDK_J1_java_compiler
elif [ ! -z "$lax_nl_osname_JDK_J2_java_compiler" -a "$actvmType" = "JDK_J2" ]; then
	jitOnOrOff=$lax_nl_osname_JDK_J2_java_compiler
elif [ ! -z "$lax_nl_osname_JRE_J1_java_compiler" -a "$actvmType" = "JRE_J1" ]; then
	jitOnOrOff=$lax_nl_osname_JRE_J1_java_compiler
elif [ ! -z "$lax_nl_osname_JRE_J2_java_compiler" -a "$actvmType" = "JRE_J2" ]; then
	jitOnOrOff=$lax_nl_osname_JRE_J2_java_compler
elif [ ! -z "$lax_nl_osname_J1_java_compiler" -a "$actvmType" = "J1" ]; then
	jitOnOrOff=$lax_nl_osname_J1_java_compiler
elif [ ! -z "$lax_nl_osname_J2_java_compiler" -a "$actvmType" = "J2" ]; then
	jitOnOrOff=$lax_nl_osname_J2_java_compiler
elif [ ! -z "$lax_nl_osname_JRE_java_compiler" -a "$actvmType" = "JRE" ]; then
	jitOnOrOff=$lax_nl_osname_JRE_java_compiler
elif [ ! -z "$lax_nl_osname_JDK_java_compiler" -a "$actvmType" = "JDK" ]; then
	jitOnOrOff=$lax_nl_osname_JDK_java_compiler
elif [ ! -z "$lax_nl_osname_ALL_java_compiler" ]; then
	jitOnOrOff=$lax_nl_osname_ALL_java_compiler
#
elif [ ! -z "$lax_nl_unix_JDK_J1_java_compiler" -a "$actvmType" = "JDK_J1" ]; then
	jitOnOrOff=$lax_nl_unix_JDK_J1_java_compiler
elif [ ! -z "$lax_nl_unix_JDK_J2_java_compiler" -a "$actvmType" = "JDK_J2" ]; then
	jitOnOrOff=$lax_nl_unix_JDK_J2_java_compiler
elif [ ! -z "$lax_nl_unix_JRE_J1_java_compiler" -a "$actvmType" = "JRE_J1" ]; then
	jitOnOrOff=$lax_nl_unix_JRE_J1_java_compiler
elif [ ! -z "$lax_nl_unix_JRE_J2_java_compiler" -a "$actvmType" = "JRE_J2" ]; then
	jitOnOrOff=$lax_nl_unix_JRE_J2_java_compler
elif [ ! -z "$lax_nl_unix_J1_java_compiler" -a "$actvmType" = "J1" ]; then
	jitOnOrOff=$lax_nl_unix_J1_java_compiler
elif [ ! -z "$lax_nl_unix_J2_java_compiler" -a "$actvmType" = "J2" ]; then
	jitOnOrOff=$lax_nl_unix_J2_java_compiler
elif [ ! -z "$lax_nl_unix_JRE_java_compiler" -a "$actvmType" = "JRE" ]; then
	jitOnOrOff=$lax_nl_unix_JRE_java_compiler
elif [ ! -z "$lax_nl_unix_JDK_java_compiler" -a "$actvmType" = "JDK" ]; then
	jitOnOrOff=$lax_nl_unix_JDK_java_compiler
elif [ ! -z "$lax_nl_unix_ALL_java_compiler" ]; then
	jitOnOrOff=$lax_nl_unix_ALL_java_compiler
#
elif [ ! -z "$lax_nl_JDK_J1_java_compiler" -a "$actvmType" = "JDK_J1" ]; then
	jitOnOrOff=$lax_nl_JDK_J1_java_compiler
elif [ ! -z "$lax_nl_JDK_J2_java_compiler" -a "$actvmType" = "JDK_J2" ]; then
	jitOnOrOff=$lax_nl_JDK_J2_java_compiler
elif [ ! -z "$lax_nl_JRE_J1_java_compiler" -a "$actvmType" = "JRE_J1" ]; then
	jitOnOrOff=$lax_nl_JRE_J1_java_compiler
elif [ ! -z "$lax_nl_JRE_J2_java_compiler" -a "$actvmType" = "JRE_J2" ]; then
	jitOnOrOff=$lax_nl_JRE_J2_java_compler
elif [ ! -z "$lax_nl_J1_java_compiler" -a "$actvmType" = "J1" ]; then
	jitOnOrOff=$lax_nl_J1_java_compiler
elif [ ! -z "$lax_nl_J2_java_compiler" -a "$actvmType" = "J2" ]; then
	jitOnOrOff=$lax_nl_J2_java_compiler
elif [ ! -z "$lax_nl_JRE_java_compiler" -a "$actvmType" = "JRE" ]; then
	jitOnOrOff=$lax_nl_JRE_java_compiler
elif [ ! -z "$lax_nl_JDK_java_compiler" -a "$actvmType" = "JDK" ]; then
	jitOnOrOff=$lax_nl_JDK_java_compiler
elif [ ! -z "$lax_nl_ALL_java_compiler" ]; then
	jitOnOrOff=$lax_nl_ALL_java_compiler
#
elif [ ! -z "$lax_nl_osname_java_compiler" ]; then
	jitOnOrOff=$lax_nl_osname_java_compiler
elif [ ! -z "$lax_nl_java_compiler" ]; then
	jitOnOrOff=$lax_nl_java_compiler
else
	jitOnOrOff=on
fi

# JIT is ON by default, so we only need to change its status
# the above else-if lists figures it should be OFF
if [ "$jitOnOrOff" = "off" ]; then
	if [ "$actvmVersion" = "1.1" ]; then
		case "$osName" in
			*irix*)
				jitinvoc="-nojit"
				JIT_OPTIONS="-nojit"
				export JIT_OPTIONS
			;;
			*hp-ux*|*hpux*)
				JIT_OPTIONS="-nojit"
				export JIT_OPTIONS
				jitinvoc="-nojit"
			;;
			*solaris*|*sunos*)
				jitinvoc="-Djava.compiler="
			;;
			*aix*)
				JAVA_COMPILER=off
				export JAVA_COMPILER
			;;
			*freebsd*)
				jitinvoc="-Djava.compiler="
			;;
			*linux*)
				jitinvoc="-Djava.compiler="
			;;
			*rhapsody*|*macos*)
			;;
			*compaq*|*dg*|*osf*)
				jitinvoc="-nojit"
			;;
			*)
				debugOut "Unknown OS name (\"$osName\"). Cannot set JIT Options."
			;;
		esac
	elif [ "$actvmVersion" = "1.2" ]; then
		jitinvoc="-Djava.compiler=NONE"
	else
		debugOut "Unknown VM version. Cannot set JIT Options."
	fi
fi

if [ "$actvmIsHotSpot" = "true" ];then
	jitinvoc=""
fi

options="$jitinvoc $options"

##################################################################################
# LAUNCH VM

# Passing in addtional stuff
options="$options $lax_nl_java_option_additional"


# Changing working directory
if [ ! "$lax_user_dir" = "" ]
then
	if [ ! "$lax_user_dir" = "." ];
	then
		cd "$lax_user_dir"
	fi
else
	cd "$olddir"
fi

# Optional printout of all variable values for debugging purposes

debugOut ""
debugOut "[7m========= Virtual Machine Options ====================================[0m"
debugOut "LAX properties incorporated............. OK."
debugOut "classpath............................... \"$lax_class_path\""
debugOut "main class.............................. \"$lax_main_class\""
debugOut ".lax file path.......................... \"$propfname\""
debugOut "user directory.......................... \"$lax_user_dir\""
debugOut "stdout to............................... \"$lax_stdout_redirect\""
debugOut "sterr to................................ \"$lax_stderr_redirect\""
debugOut "install directory....................... \"$lax_dir\""
debugOut "JIT..................................... ${jittype:-"none"}"
debugOut "option (verify)......................... ${verify:-"none"}"
debugOut "option (verbosity)...................... ${verbo:-"none"}"
debugOut "option (garbage collection extent)...... ${gcxtnt:-"none"}"
debugOut "option (garbage collection thread)...... ${gcthrd:-"none"}"
debugOut "option (native stack max size).......... ${nsmax:-"none"}"
debugOut "option (java stack max size)............ ${jsmax:-"none"}"
debugOut "option (java heap max size)............. ${jhmax:-"none"}"
debugOut "option (java heap initial size)......... ${jhinit:-"none"}"
debugOut "option (lax.nl.java.option.additional).. ${lax_nl_java_option_additional:-"none"}"
resolveLink "$actvm"
actvm="$resolvedLink"

actvmBinaryName=`basename "$actvm"`
# get dirname of binary
actvmHome=`dirname "$actvm"`
# is the dir the binary is in named "bin"?
if [ "`basename "$actvmHome"`" = "bin" ]; then
	# if so then the dir above bin is the java home
	JAVA_HOME=`dirname "$actvmHome"`
else
	JAVA_HOME=
fi

# Making $JAVA_HOME available to the application.
export JAVA_HOME

if [ "$actvmBinaryName" = "jre" ]; then

	CLASSPATH=
	export CLASSPATH
	# MMA - clear ENV to address a problem where the shell initialization
	# file (.Xshrc) pointed to by ENV may overide the classpath we have just set,
	# causing the app to fail.  Drawback is that other environment variables set
	# in the init file will not be available in the environment (they will be
	# available as Java system properties, however).  Comment out the two lines
	# below to change this behavior.
	ENV=
	export ENV
	# I split these up so they would be a bit clearer on the screen.
	debugOut ""
	debugOut "[7m========= VM Command Line ============================================[0m"
	debugOut "[1m\"$actvm\" $options -cp \"$lax_class_path\" $lax_nl_java_launcher_main_class \"$propfname\" $envPropertiesFile $cmdLineArgs[0m"
	# Here is where we actually run the app in Java:
	debugOut ""
	debugOut "[7m========= Executing JRE ==============================================[0m"
	eval \"$actvm\" $options -cp \"$lax_class_path\" $lax_nl_java_launcher_main_class \"$propfname\" $envPropertiesFile $cmdLineArgs
	exitValue=$?
	debugOut "[7m========= JRE Finished ===============================================[0m"
	debugOut ""

elif [ "$actvmBinaryName" = "java" -o "$actvmBinaryName" = "oldjava" ]; then

	CLASSPATH=$lax_class_path
  	export CLASSPATH 
	# MMA - clear ENV to address a problem where the shell initialization
	# file (.Xshrc) pointed to by ENV may overide the classpath we have just set,
	# causing the app to fail.  Drawback is that other environment variables set
	# in the init file will not be available in the environment (they will be
	# available as Java system properties, however).  Comment out the two lines
	# below to change this behavior.
	ENV=
	export ENV
	# I split these up so they would be a bit clearer on the screen.
	debugOut ""
	debugOut "[7m========= VM Command Line ============================================[0m"
	debugOut "CLASSPATH=\"$lax_class_path\""
	debugOut "[1m$actvm $options $lax_nl_java_launcher_main_class \"$propfname\" $envPropertiesFile $cmdLineArgs[0m"
	# Here is where we actually run the app in Java:
	debugOut ""
	debugOut "[7m========= Executing JAVA =============================================[0m"
	eval $actvm $options $lax_nl_java_launcher_main_class \"$propfname\" $envPropertiesFile $cmdLineArgs
	exitValue=$?
	debugOut "[7m========= JAVA Finished ==============================================[0m"
	debugOut ""

else

	debugOut VMTYPE_UNKNOWN=\"$actvmBinaryName\"

fi

#  Change back to directory used priory to this script running.

cd "$olddir"

if [ "$IS_INSTALLER" = "true" ]; then
	debugOut "Removing tmp install dir: \"$lax_user_dir\""
	rm -rf "$lax_user_dir"
fi
rm -f "$envPropertiesFile"

if [ "$IS_INSTALLER" = "true" -a ${exitValue:-0} -eq 134 ]; then
	echo "[1m"
	echo "The installation did not complete successfully.  It appears that your"
	echo "Java VM might not have all the appropriate patches necessary to run"
	echo "properly.  Please refer to the following web page to obtain information"
	echo "regarding the necessary patches."
	echo "		http://www.ZeroG.com/patches/unix"
	if [ "$isRemoteDisplay" = "true" ]; then
		echo ""
		echo "It also appears that this installation was performed on a remote host"
		echo "and the output is being displayed locally.  If this launcher is being"
		echo "displayed to a Microsoft Windows desktop through X Windows, the Java"
		echo "Virtual Machine might have caused the installation to fail. Try running"
		echo "this installer locally on the target system or through X Windows to"
		echo "another UNIX host."
	fi
	echo "[0m"
fi

exit $exitValue

if [ -f $ZIPLOC/sea_loc ] ; then
rm -Rf $ZIPLOC
fi

exit 0

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    jy*\ȰÇAƍ5 Lx;~H20ʐQ#cAC #ɳ:s脑 2dҥPJJըIկ`Nx1#I 9zL[rɔ5V֘h6q PD6}ZupÈ+֮ifuc-bdڶ%ߪ\cF6`ظk=׸sȓ_X:h!3nr:艢Ԭ7;0mk_Ͼ\K<L,o&0LUH5G6J2VW\S7m *GL	   `4Ga`EBy`  (  h  FAKTAbADϑ\)qYPBX%:A0fAkỉ  bB	 rCA#c2b%! &HF) `rjl!duo`٢AG8QB.TA1A

%`bd
	ХA-dD#$AA(A褂AHՁANdC,(BS)
}	5YP	9P
>%Цj(?A"Ad$"AbAܨA[A$ĈQlr4[2O(]ZPH>-5 Dt$+&Q48aʈk)U?CخXya=^/C>-BϹyv3P>Uc1OJzADӢH@4%apΩD<
IK>6bRsa &>'I킘̍@ H\>A<I;>LHIyDU-d `VDsyf0ALĸWF>	+l0! ;R0^sjvbBP";DȐ!&|цІ7'(C*1iX@,8!MHv&<AA``#LT &h_J3 PZ`6h U$誣r ősC8#W9B3 dxCv2С8v jI9 eh)S	IIRR9~6cxe$ǐ],/e8C>!̣Ram4߉J]"Sd<ن9RVr+I]a@02euO~!	OBP/ dPb RHa4I)
D䔃9YuӞQݰ2rC-PxK6͖#J	)-Sݐ2&AC\+U.(A\YEpTD?ٵx^(S.k^JXRAX)WҐ SX]C6Qd?k&3&8|	>v bm)ΫH5 p@[ hC"hH@ێA h, ` h+ :
m 4dl   t@
2mKF:
m#h{. @ %h;:LZ  
2 *h- T!:@c v;С atcO~$c G8 '3g+#4$|* Ɩ**s	z[jаtBĭ2	5J Լ* 逃[e  jnh(UV[e0 jn\t@@㭲<[-U[a΀@48zʈ@44VKP*cѰv~
Db2*iʰ@4 93
pv$0aZi/\elz2Zi[+n5* v]֤[bb
svx!9*H4D Z&(X`fAlz@HOzO\A v@pP @"*;-"Ee4C!x
:( :4@c 2J֑y#7"LE惻ܳPrGVvP!SS8FtgwE]A4qг AQgD :PAC`;(`N@Cb|hGwQfCP@e{  F:0>E@-WJ&|C	0
tcKzE   :uPZv `;cPЁe @ p #p	R>P~P}{'z Uep
@U'E|^W6P~ѷe{p}W.PЇh}}G-`W6<Id(!@ ,0(2 JȄɷ|`xEj~G(m P }6 X}S ?Hf &<yԀzE`pE@ilȃS}X`w |b1P`	@
cw`>{Mp'\_@|{P0Wy}Z-ǍܐE  I  i؏Q@Xh'U 8UB$ ={/{HayMI4Ǎ}Pb xh (#ѷ
ٌ20,h6%FIQW`%Hs,44  ɉX0Xiy{Sou>yhB=PI9h  #`	Rxqu  ,jS\FC#P P`j| peY}U`)uDPE i(~hY}xZE%@cC		}h
I ً@$W
ؘY@9{ 9 {(c @)p &"X	8H	'/}@P
	!iz)š\
Ȥ%
T:d}pi:+V q(hS"hI@bR E@HR7jUmꥧpY^ 
ه@W{ib[0|S[J٥
:ڥ@u
Zm76@Ь@BH@@|`
yʮ(J6	 
xdL7@ 
`>/XNG
;TU {@
' +؂c'5 2dӲp+1
+2³/[3{{X  `yї	ڌ0Y뗛W3X+#.+@Џ @s3L  X e 7ZX;Iu'hW
}@l'(F@选PJwXpn 0yIU  n- f8-40h@;Jм"xf)u;#h 
7ܻ{y_1  R:ewɛ &xh`}о*u  `P70@`K̡lW
% &|\	%'yv4+<l;̲
 '0%JCދ4  1<4
TLX7(hp P	;.0% Yhu zZ'p'J(pP	>X}0SREȖȏ|\0 <f &}^? 5p0DkôK 0
LS g Ģ^^ <Ϭ0hҌ02|5\
܌Cl
<L'uλ<|xll^ E0bh`
lml\
=jP hL}
DP ș0иu2'Yjꐽ_@}jPw*B}VP͘щ* &j0 h  0#=SՈ'W`։ j{! [@˰P` ;68?C0O=ڐ{;k8t`hP}wtP)PM(@`0wZ]
eɏ  KKz̬
YȋގZͿ驮I-cDFgbܘh@[Iz*"M;ǵg&Gumf08h
폺C` ý(`9
N%sPqA8}*9	ʉPϰ5 P$ݐz	D	  7i==ۡPchp>ˉ煍ߦ; ߀Kk~Z, hp9qu 1ۈghP 0]jrJR6ڡVKa.Э	|9y)ެ_R]Q
SR'
,ެlJ `N&>XUUs /^D@>Xhy]IJ >Rw 1k?y׺@_P(w!u@ OIWzWNp	IDt@}$up|{EؐW2I 'U`W[8.pc-/ u%X !-md_ә*pt벗G|̰MVyn:腎 1ho},/?t&)	 +Ún_O`۟k._͎	;b\a7@L<z#yF +b.΄j̫LlA3wQ>Aj$3 S^;PB`,p967AWX@ ;~#@T`DO  g-_ ~F@lU8Sy*r@bXp-pC m ,(.x%X D0J3$ $R(_V'uzwa S8&~Fa2WX0|A  ~p9BĄ<\T $j]m}fP)RB |P(Bd@BCߏ`I(Ѓ4z8@t@tsvxI.@3EYYVa6 
B,]PfC3k!:S":2E3(4؂=DdP{A<0t0	0<
U3@ZK耯DKb.[sB E70~A@`
^QJЂ۶ PTP 0а
AWdC@ ,'8(/U>rW(A &\,u ,@o1H`|T)*6<I[!`ƩTQ7GR1:aqgQ@E56ȍ YUUv :jDnhЁ#PZ{ΔdDFx@+;" pGVr
gL ~G(mfցG`GuusBEF	ZGt Hu*gL`?5P R3eZa0
©XЁr
>`CRJTX`uB=`"N@tL#p`h(dE< (y$$Xdt1
@ >v`>gI|B9RXM:h[&ujL )҆5q#T`Ȥ`   @=ؐ Uj	t9x LʡX2*lJ+cx#UGX$ I"j R msT2l[#o0C9`b2m1<'F@rA'UXR\a.Y@R`Ve0!s@
Eu`
$.P2xu @L3A@%JKǵ¥>@B76":8Ӟ 'Aє̞~^$<ZF'4	i]*:qypc&yJHekDnlnTO=>6!.k:c%IwK0 S\ x3#*`8LB) <%ȣ2It4&+TNpz`'?.ՀSd3pMM9L`gTγfIT͟$4h@ExB Rk٤rnt!$`cy$P  Wu5dd:S`%(>i 0hn;z@d0 Z0P6
zdB,S( ``A
8!"E@TzhP,ԅPJCm(աG@$$: Y pobE @ )P
J & ;$ &'jL(`́ h Q=z( PTRQ+E(} S`
@ @(fQ)n	@e~QF jʀ!e;TQYƀ$dr9pJ HDf@M 4Z`aࢀqN !A =H۔ 2,BQ
gl @ =~ӽ`b#t> )WTb,&t`YJ̀$i
@ %"3@D
g`SdJDpƴYjK줌ZQ L=H~Hф:iTo",4?,CGu%U8M@У dՋUCX=%`A @(CUJgJ~d(S',Z@$- 6 OkX-@9HX6(V9Xk 5-g2Y++Ո.` dGPՙXgУ"NV19p[WX\wmJ7L:\X8W]5+u<SIdj@h"jk-a ^+wŢn  U\eeH3NIo ?H/ Z`Md`{U(aOj5U: DEix'!\@TFjUdTnzGH$TIrKȀ!Ꮦ30tpFV l  @#R
2{f@y#  ,*St6SM n	!KLlm4ȶyZOi>{4XgM G#ԑ#X 0ñtmS')>`qigɆ}xQ9`6,|EbZjRWHU7`^ev(iPj%:Tlk26Ё:QoĠqKn)ꃕ
bL[lQJe uMR /ͤWuP* )/ ΁1 kuF-- Op]bٕP@@RTH\S(U*8u UJI95(ܢri3-kmU AZ;auX٥eh(
fIhE  &rrBٝgG2(ܕt"ڥx1ww
ֺH_ bѠ Go0YEU҆e* bUH
T+ DSUIy 1ŲDTw/;!
a@
e*kբȒ;nUn-.I3	9i<~s?s QI0 j՟YbaNղNN O
f=~!wB^VB	3u*R3*ʀWVll5/7·\k/п#	ܙ_[ *C ('@vQ `]rHSt2Q:i
;V3`G~ )#NW[K~yG<0֢DNTD!%S0j">V]2O)>Ž>@%*L-/tSW|50!1$5*  xp\@uF!XCE0Fؗ$bծ&5On9/zH|qc"/ _bkE`vt*}04ȁa6@)}_ |l	0*((2#A:EPW~,!X (0FP 	<&3w!PalŗAj肫6j胫 x*i耧xji聧&xi4POC<3TP>C%3P> E34P>C,dEPku$悰Y
}9
Wñ )P@@ a1 L4 S2P@ @
Bv.@FPp3^ |b![ 
o}o /^,9ˈ= B
`̄BqC!|1VB9!{F{;	g	A9 ܒB:!p
A<h @`B'k:ht& tBB T4
!h
X+&!]:%(2 	|6H+
-tAMZ!H(I	A8}n6(~ e /FzoM+G GA`.Nhit-Pi ЧB,H/9Zl5."H:6OP.8-SoP([S <uD:VhO:֤~axց&NBP< i c}hB8+ c#81 cMj/83 Xch;8A !l Bڒ" B&4AlL)A:	 e Bp %&Dp"6 !X)>,AX!,v@b3,6%9:F,l>#m	n<f n!@;p KYaXm ڑg;mLt[O6m# Cͩu[!Fh'  @;!]8( l ?luA[!؁̝JAad}& 	6] nVwver0Xv]ދnx_BBL"ݠ |=V.@wt @wmeuFK͢S
La ^0%9$pX)-`Ā0c A8c@|)O|E X@H=@0pvDx	Xq:>e ܄[@8"q"g`&g	|cc29gg7N6~.l~ݩF׀$N78C a5㬄7pŗ8<\39N_x  q,N8mq08.ؕ>NY |l #DE_~<pqQm@[q*p#	mT.y@w[VB_;%Ԁa*#&<
NVQ%xr̕x܎XRy/GռgN#o0pr`:`.vŸܚ Jy<lQcx8G̜sT#y<ax{Wz$4@z(8\n;p\T}~_0%8ZE[ /6\!Uo'G΀,,+ Y"2Q@*b՟zV4Tnc1Vw-˿UoM_h]2\>Sp>*@ h uT^@8A=V@:#Ezuة3&d
hL`:gVS; 
	 M~K6U@	O  K.0)e snnV:i;pSd:8n, p ԍ$a,v/\79#=Q=}>| p ޝQXxܾh@w_U*Vb;ܝzICXp@wux9GmxBRI/K y|g3/ @(폇xX_MO$3y'U+
G>wB,|"^[rGۼqqw:_?cxwv.ݖZ)R{J)}ܴ><O.~'W0?3`vP9ޛPc_SO{_綽r>u{gr ^7q%ؓz61n{>#:}?p͡&/fvoP[ `I:cuǁs8W"u`vW~k@j~D|N-~2*]㫓c,>5?CO_!xg|r%2@ͯȾ#{%JpϿ^r_?|YIO->,!S˅~7)dw}g%5.jAk/H$:%{@l\|;@͇}m'>?_h	.?)Dg@O7p*_W3羨W)s,%}
D.ʞ}+9*Oߦ4)?{o`?r^~;"wM»;@fU=@
UMg4AG)T:ß'Rw &5ԇP@  )fSk  iqޟϗ}_7\|@p5 _ȵz0ik@0ޭ}5,W _ EJx Gw	s(E ɟel6T Y|_10Xch|X 8%`ԟ@~y ~(E,\PPB hR rßJZ ,ݿגIUAww
:-`
"YG{^RWر5R<uS%X|:Qڝv&G(XAܕwGdSteJz7 ge'v^/Y8gix^4Hy~ 5e ބEK VE=>D	p8_t0E0UHDy} d_͠>υ"EE]1AwDNd]-^EXv۝v+!g╄,%0{pwKEXpsGM w`Dzi&_Pp^4(L!t( 7}iw12I6nk!H}s ML m@Fw^ W	bxuKGZx`Z~_@I(V%3x~_&iFa=`xv[\Ahϵ`y; W
 V"dQІ\EL
QQ >\#w5P!;7uw ZH2s̙ag-V1alhSEQ҅,V \G0w!za}xK|\ȇ<DСmby8NM|(EL졃ԡ4Z!ZtvP!s]|"bv }9#ވ߼Jp}ܞx)XP}I"}g5h֧|^H%}t h9xR#! pC@
U@
 sSs@b   3^0`uՉh%F	D6Ukbrrh' ]'4 '(X(
WO0l)ΉXQx)"a'(҉Y*"X4)Ҋh)}+
"b)H*:o*։"8,")ڊ̢((-Jb*)Ҋb+~jb-Ɖh.^ⱈέ".:B,iE	1A)h5 ,	0cb11BĨ0cB0>IbJWJ&CQ. +I.@#eKIqtdґ7L3J7g!8Ј* 8Xg!.E-pU. hq-c2]+d5&KMEUcP<.)0^H _Tӈ5MH ֪2BWEЈUubp(3B(h	Y ֜
 )h
Axv b@@(BpfcA L	H)
ڊP: 	| 㸘![gq&#E($ eZ:g@zaj	`9DA \P  ×)BX8HfD  +t
Eelc:fT9:fhs  dp/$c@W% \ ? Y24Pb0 B&9 7.  C@ P+ &f
ptcP'	iBB*@	%|uB+puHw&D
DV
.0E \gFC:2	0dBAnD#QX$c
4 1(H&4kD@zf cv1-g
AS#xAsv@' B0
ೌgc=2Ȁ` @J*@U8,	9dA`dqAp:d,X;"A <2HL $m6M"g4=T@mL^$0ICJW0]!)$$0	C\dw2ERBiDFl1⓲@EN0M4\G?P kPa$B"ePI>
#cFAdàQ=?pI!A tCP?&j ?"p	#QSfɃAR*  |	:
_HP9:@h>.ĀAN0EViW8@O	ni@f R"QBKI(àE8YQ	 DT\%5 Wjٔ 77$\BTJG)#$I	 8 	Yc=#dd)&@1a	 ) #b]i	HPU	b5g=@
 `q3`} Z`Wb2	@j9Yb
O% `%A % @2P]f' # {]
	@' #\%- &pP ˀL29P]VbB߂[Jja>  k	`	P( #dO%' 8'H(ˬ& $[R>f x	S MQb9(l g.f\"{) 9YA2B.48g#'2BPVs@@S %4{ #P/b0'X2B;P{=8@ aC>'2s6, S
0X Sp,n0%`$haS #TkBC0%JpL	49Y<ȕYL	jp	 @TV:[`"C+0%L	O&8	8@PaC*SP,  DT;aâ^$)`8@z/8 `4 a &4Q$`Ӏ)[ :	;Of	ӗbz  &2BېV e*YC@P	C	Hio  ?	 `B #B9); &t?Y@ |  B`Dd)C-Cذ|T 6  #-%,x #hgC-0|gPAF>	 .l
5 @oeC؀I	pG-oф/KRfAPO$S@A4sDZ)~oL̈́77~1EH`H`!G@L1! j@icOO S{uPzB1`'yz*XP8D iygGȞ'Mf~UML\eZUY]lEnKhHU5 J_HsO\הVtUQPOddgR EL1S4aBEńā .jbEMe`2orNS `S$[#UFvNA'h	Y2v]p~\'Ņ6D@iE0(+Ƞ PG(7}-wKĊYZ_idE@Vt@FFMtaX fEX1V@rЂ6CCEcD)Oh#V_ Tђ-8qKɧOtY+U8i`xhRHt+ZznX/JhfUQ+ڐMdjV-WL3NsD |5QTE3ZŤuى(2*~NqWNzqҨ1Rt::RhVJFT4:jJTLE@aP@*S9$!KAMwHJUt(4ND@
6:jL8+Dr`(#ڊ7TcgFjFraG})?}D a60&%IRƨLj )Q*PpwA4(\O:7iDڥZ"<d0āq0#Gbt jdxM`BiL`!, xT O0"'B$"/@$䐠,=$XDB0#`	Ft
8"Yn[JA% tJ=t
 Hǀ'
{B4'f`>¢PFNڤpE¦0F0إ
īf"p"jD}AJΎ¦ ORmB0-T
i&C LLBP.A0Q:		 KA+pR&BBp@Z>P0	0<ĠDĹ8CsZsd @!3#Py605Ty5ș.'ŵw" }APPI ' qHگyBy7B@8lg8+8B	CAPjp
əhr
|POŚ`2Wy6 CQ;  <<02r6olP=\C=2B;T샌Щv`?? {
@@mZ!;tA'0t
%DB0)6	;y6#D2 `")%Q` :2^\{VWDQq^!FGiFoD1GwTآD JH,B#HdDHa'IP+(PW6K-F/Ҭ(+"~*M䤔D1M BB؎D**;OP/Ld_@Q	|6fY*QPFQpꕆ`q DGJRS3GQ9CT
_!LQT$Sk:8n]O+1
m!W{E*X_QF	<
e&f`ʎ"4fdgF	hXA f>jlQ;RC  ¿qR[$׫pp\,Dq&
C2 4׫ZOv d wF/@^iŗ^ԫEA}QPEA'$3%Q@aQA`> 	b  'lA.@j\%~cc QdPJƹq@J1oWTlXhfګmݫgm+m+$Cn+"n+Ьjske:`iaiᓡF!jkqjj[:k !lLlD40goƴrƴƴnh90gakF1msNlqpABak1mak Nr/G1s7ǒZe>RDatIJi@SGqud[ȀA[vHhG{@whv?w`FP6ՠ{αx4xy	`6y\81遍֎1 8!0@|{ V|TćLG͇CPH9}  >
9Ij(+͂I1d  E@ h D' c}bص4b ;H!m,!MH< R$R,@[H|!@f+Ծk@!Bt!ժ&+D F A-D"	/䵚'k_;<Cf+"j}\H?"/! @2R*Pt#؈6"x#m#M-i{ F#e 8';?t!>ߢv y9;ߴP$sRȬ|@w0@9`+@rpJ#0$J-)gkt L5Z0D kP @#  G/h N:k@VG@;?,*C2Y Q⑀$"	7Bp#&I# K⒐|@	&&	T}% aIiĔKSbp#-wL. t%_	}ߪ%l	f \T'yЗJ0ʩR\&ģ'E wf|&ZȤ'&@")b;I"u&"@n:	hoйpR'xnh$`of3IՉf'BOwB+I</@ &Ą<9Ϯ>`n%R<(nT	})+d@2(.B(b 1
<S%9
&nr
*Z &ϒ:)ʔ	I;(@r OAjJT'o3@;V?}RDī@*JAQJ#=B	*uC2nde2@}1*jR|?n 9E$++RA؊ϋ	m׍{4&/2(!(˼n/:.fκ,
20,zN(l  v,ːA RGɢ˲<-A!,.&X`--/̂bFٯ2]S[ 6JTD @-o;-nK-J`"2vޢ@>.S~ t2; 3 O䲹&B" 2..wc.[.˝f` m¿0783$a/bj20@/@/Br7+C̶830<kb"38@}0js޼0}6A$3\0  DAh60XՌ n!P183$
ƌ1e3 %|´1 ۛߪ'Zǫ@|
j2d!p5Ì(\ь N-`2!6Ԍ\ˠ23&*C M9c?2:c0ýL0 =3FS03Ό6^8@'N=x3`H4
;0x/ǰ=L'T
?9`4p$
C-J*@d4MѠ lC5ڇI4*K$ 04bø4;Ӱ/ DH 5_N\'L4M
@Ujf5,$֌5@S\P`5U}YqR`5Wa	I6:cMN<6@S<P M2g٘S@36%Ykc 	S$K	 )SM3`t#MԘd7Mwޘ7jxw7͞7>0$tΊkt=#>@?p:# $3+|=,;L/Ä]8xw  @8 .	>@w2
>I+N6%`&r$9K(QN60[NԳ:{m~L @n#(,p|l
,:#\<K<O,>1;XJ@|:>:$:άL	! (B5A@ %@;P@E$(r;;͊;PO;+6@l2a2' N	O0?Fr$:Q h<RǓ<O<HAV%<@	c<:<KxMF<@Urb>=';#UՓ>[OXJ  Ag:.pۣ' pw==|CAq7S <,>CI>30N3<²;I;	$A	<@܀ʼs >ݣ:F"$A,? %+B^2 i'S$8T?3xX@)?|!PӏŜ)GAK$$@ds%7+5Av"&_@?	B A$	<1ANͬ$k?1T2:}B4@	d;$!t DP$AR3)5AWr)/^S2#$5@XS3z2TA<"A0l h$Or	B=<,HE֋%@$@KF	B)),&j	F REU@Sd}BJb CF
%Ő[I̐p4׆'sF *Q9C@<|nm؆D@M;) ^j0]H~EDs[Qp{>C &c5>&a ^Kdsx@pa;0ΪI
pAEDJM S& |t3VlE[[$uGR$ ˀ JldTEO @9D怇%{Q_$Gr%F>>?F0qPFӲuF;5r[Fɮj07
# м(c0sC& /Q|I1E!ܑGZxTG@ĔGL4H)X $Q~G( "IgK LCRH|R/`HH{8I"H#} 3R$<GKk@q'ŮD$In MD L P:7@<K.!6%uI_RlE!:X4|OmN'IInPKk'lYPIh 	.L XݱPWԍC)IJS)% -MK)D&ڴKn>4	B *Jч @.y/7_JU dӼ,t@M@t{ Ks,y?eLo4V@K,dS&TK .}#$4.KD/U Ӵ0'@/յSK0UL S0XcL1yL@:7̒=1+)	ML/StR;.V3aNuLMEфU'h~| u3	CS5O؄TM/@6 fp<Y_:_5L8d@7	 v[X'}:7q@}N8) :85:p~0S&贁pHk0 *@,P]RKt2 L6gSbk<	)?<!IOS:]0&@$8`c`Đ B'O\S=pm,@a-@$T@EB]P}Ҫ000 P dW'T0	 Q-CP5EP;TXCBԘ]DhvC^")Rr(HՆFQJQ8RvvfQ !nTRMReIaR'I.TKDzS-\t56L_`NjaZ/RpEJQT,5K-bvuWZe.SB
xʏAZ pS:gS7;OS)hSaA?eZVAEM\
Hm5c0sqbUQ[ÖelTERTP0TSUxUUFT0k٥vSEgTQ2AUaU\U:qs^VUnUWiSTeBV_UVFXVXdEscVP4VU@ZV  jY'ؖxVDv؍Wn[EqVWPLWZUtu_,QeWUwL0xJWUzWU0^Wo|Ev_yXVaUXEt9X
wX7%xZ=@5`=V#ebX'oqX.UQU4Vv9C1w%dcEdJUX@]IMSVt 8e `EfYhn gYqgz3SSshy@@vhuEhfVZHo۝֧u#ZT+Rv,vlb/WMqZxhl!_Pk=<olwm5TAE mZ^(o[
nITUo	[7o7 ~l  DDuWmI\ECVE}]"Ee=c)ՕuR[֍];ev]Ĕ7v`WTJ!^WQ]xeO	x\W]xE`EAx]W[^\8e]RՌ^TeE^d;zRWDzRא{}YV
w~_ԥ|SP`C_e}E`dtFn~9VTy[ _%p_yxQycW {Xҭ[!`64`&M`to`t@!5W%{`<ifs`E3.IDEw	SraaQVTKX-~=aW`UFބw,xaUdf<vaLCgt˺h%JZJ%`B*N\X6aADh]fEuQ) X(b딣bXT@lZWlSX*5b|tcXs 2ƍR˘)ZAc 4{ZBcF6cۨL`R9cDy:c;&ħ;Fe>d{^AfYE2d-M&(K׹^HVdݣ0d1LfR9=[FPA0	FR1eNT&QeVVqe^X&e2Y&#eZ֖pٙ9ewY^3e2_&# fy:fb0.<+nYf! g fbi&+ddA f	ݏPfn<fY85Ϥb1go@YgYBygYgA@Jji){FXzنn/h  }桋 ~6g#:67#z6#h#6;h8Z6iAڍ&"BnZoE:>hB	>&i	A6'i#:6Ci#6[i# Ц\ڌ~bZ^iBzVi#z
 %qڈNagf/;Zn5j" oĈijGzAЩag6dX%!wvjօjqBjnͯ #kƬkB0ag׆!v~ v;vvaVYkqkؙkɪ[¶5l6vvƱv<"vVr &ʦ!-vE
7hlZlvlؙYmf!IvNvMmֆ=[[v|mwlhhn95; lۈ>qۈNj{ۈۈNA#!<nؙ$dn96on#fB`ag[ۈ.
솝nnٻU	E ,oЛTo|:Bag[A%BoDN 㹾tõtoQ'@x"pǜ5w	r9 r%s
e\ 5r\>r!^W|q;I~:_qx>t߻r%gȍwq~\DrLV:Ar\&gar&gS)rr`ʡr IQ+7)ﲜ$W˱pĻԑq1|;0's+wz\6=t\ G9sC'p\Yt:g+q\;Ω=  )sA^)l+q;7UtB'utGWυt#]I]}JJYv@u`ux]NgoU BDa
G'ԭƇu\VYuU"֥uXwkuo!֙{mQQu\u]Ǿŧ{<ס0v*2v<UK'z^i{OhDvvw{v]wJ1_#^̫]Uw<Y}!r͇wN^7?w~޽v|wwݝ~vwz鼁G/wss!s=^mx7GY#o8NAx7y3ފgy]ހXx3wWiy=wyJeDMytrgAIsqx+gyj^gyyK?yC=w?qH^phz^.Agj{ 7{\Buv^uzܧ7Ƀ^=ꩥa C'{W 
>{Ğ7tO9ϻP)Y~}GWH}{޸, 'Mݽg{f|`+h$N(/.ٷkߍE|;}桏ni`-_'R`'~#ѷAGH,Xw~t \w$^,g}O }ڧޗD"w~t%^&}g:p='-~!#F~ͽ*W*wR_ ~K}_no)Dн|\W"wF=	Q=c߃J~ϙ_3s0z.AhQ> % `?X8PHAW, 1Հ<xވgU,8)a`n
 =tiG`Hc~蟁(n~_v~x?	
~  gZI} f}@~`A	.eyisٗ)*(h?
f=-2dY>lgHڅ$Glac^A9jH!Yp`^?Ppi!!vi>pQ|!za=`uQi""6aCH/xR> ?Xalhr(a/s?Ey1!:YXUN=!G*HnϿNaJf>Uv;aV_!r.Awwa,EhͿ#!Rov-aȟbXbZn{O/{hL(ͯ_OclXƄ1?kaoy?q8]__q"2ph^]?u"^W?z?r s!y BWa9o?υ?<?>G!r"JT!n!Ӆ$bvGoz8z?'8>$6B")ʇ0!}YϞ{!m{@Qދ R>_)XBXʟPAEТSQ+*eE"~_+ {E\t%V(.\y3@ H[.b6v(U mQ $kQ/EIyZj\@,E%3 0(\z0#|mh%?00\"cLMF##
he$	\\)@ f$3rЌlFLI6C7 J~4:%(	UjH] \F(EV:`بt
,Q
hgl=N7tB/ecUFh]
G.$+@P2%em*Iȑ|+S'AJjasTTLiPpLJ
XGT*=wJZ&ݎ
NRBw<GQ4;Zf sd?G {$# G#KA }TGJ 	 X(4A2 FA	>EJ@J@達b$u
*H@T	 ) T RT0^%#`Ȑ0J(@iv
=dHn0 ; CBS)RX!Dr>d #RQ!DJlpB`[" 8IE"	 ```FQ  ͚5\ G:	hfGb$%B>R`.(H".H DR))!HbN% BqDI*TIMCqIr$fJASRS QP ZI$,!0ܒT]R=ɗt&EY1	LpIz*#L&I$oR=i&IqRptN $I$DJv0Y?EAh1HTD6`? P!T$ysJDE QZHzXD$\%?@+)#R	6,U-M0X-Jn+S'cW:*KKS\5a"JWɮUl	Ka%npV+uPJ% F8WR.Jx󑙐Dx	%7aikP$T,=	JR[iF\>*K8BB«d#t+3&1A#Leb 
  XZ-Z&@y6[-Ֆ`-n	aJBT o`d se]x0! K< ]Tb*(@F]+U.&`I`2/! K%ɽ /zbv@}	 +Qr%`0)Hb@@p	$&Ǎ	a.iW`ITЦNLAdmz1j-͞c*TGC]	D2LP-\dܫLW!RL  0 @fZ`٪Lk&΂Kg
Йw&AKPr9Tv*uphB LM)T4	*Mܦ@IY5B4]Q4BH5WU#7	v ;5DHH&ayu-	W9 ؄N,nZΦ<!ڤt֦Apti6 @U QU LrMB:nR=TyZ;7eM~ӗ)u68}
I:
0d8]N,Aؠ2|  '  IFЭ9|f!'KK*̩  slN{I=O9B
 `%(RM'Ӊ$uPMЪiZ@:rUS 4BX;o!@w;NzA @S͜OLS4D)SO)(P<M*O\{R≞x5ғyO'SiT{ܞrO'i|>
/'{O|J9
1gP!jOzj=2O'El?Ai'/"Ē*(+.;j"ؠP(qՀ*(  
(_6CP`@QV  (TAALaYTPeBIhP7bnBF(2JeBB<pN0 J
E}BP@,,їYA.k6TJ "bPs6b-RP @YaP`I		uT(qUjXaV(P*r)r
@UH*"MLFpQ(6 /FdR5u/@%c +)5JrkpFߨU@jc}ȤQqT> BE	z
Sz"ńYIf	)  u%FR	"LMqHabQ"(EʥL)Q)EFO`%SIaS?ĒTJzF8PĘK*DfReNQL)RMB(uFX)*VM)T80*x	TQsU[Rn$eųTZ$ujKLKDzY)RuTD 0%;h $p6djApj.S MW0 xz\a@4u HSԢj1!2EHP%!r)A75$SQqJ(#@N)SsJF
P4SdsQİ`.V <AwtJTg   0O5
S2ӞB/§1EOP}
S XYTU Au[PkTőʀP*u] /Z3C EXQz.U ^  j
) ID(LQh2eZՠ\")lh$2|:'1JU4TD-UؠK%<RT
D*Mu6XSTSP7S!Mwkӳi\N!q80TUE!QUrB t|=)lpb6Ulr(9aLUaTِĪJV^UX zp3t9YCӮ
yث yܒd\C @=t9Wh՗A ,F&A
r9]Lު
|8B(WuP*sU8! zpeW FUۈD X=TQAD=HRbX`#d3/	.eW$ĬJVb*PYwVEϊy&
G+5MhZ-((PZeR[+MT*O&\RK+nePLp(V(FXS V2E1 Kȷ*%HQ+qjTh\%n	GjqUT\
l=劥*
dE*t%;]\W_ǰꪯ0+ ;
Ճ^zb+f 
z+ܑR!ȋ+ze<f
+/$o y.  ",@1 <( G % D; cvy. "@䱼 <h G 2D@}y "&@1 < GG 6D`cy"6@q <^"!<@х%d렸 AƐc1~p׊⇅dP2Nx QP@<VXj|ulP38S,[ hj5Y:Ýpy3|lG@y44ܲFãA0z4TLæA͐z4GAAz\5TGFAP{5*Cw0m="' m5؆ij6VC֠|D7*û!0m>ӆc00m>2ˏ5m>*Nӆ#5K0m?fhӆc7  g  Hq#Rx3]vA@s9;A=${gYchYXCp]:0PTŅ!4xhŹCAq]heF]`x@HƃdhF,,-+Ʌei$fZNΰi|Z[@1R0j66[.@ae}>xD PAa3(p=E@IV0
@Zl@ඒ] IԨH"i @ 1"l 
"DbB8![-ǚgGx!bUgk|Rn8C'&H}$:E ymz[E H"\$A#v1CD-SDqK~4JjzAYEEt1I*u*)u(F-~ o-T"Ń#v\@1rh(#[ 0 `o#*[ 	ˤTB $ R: %(G\ E[D%$6 W!HtW.ى$qLNq1̥$j7t`2ks%8 D	:ҌVXѠ*} -8 /0 PiE[b "% FZ@+2,@^_b({: g/ʄ2Ap'.UW:%O&J|$u	=lnN0H'qAcdiv!Үt28QhPLdu m}L<&Y +ՠO]
'N 1=@bAaB.BPаgMN|drHBꠣ؏"JrHqV0n
-K[=Z^/%*n+WJbGKjR<M/ѧT*^RWUN\G5~2
%S'9_
UYqxU(	e  >'136VĹ^~/WUxg/LLءDU$_JV%eXvhXR	2}D
՗`O&,g?V@!6 ep:$<~ EpY,ү(_
@X H]WJ-
UErXO_Q mAѿ* #K`PW-RwޢdbT`:@q!' |c\<F袽#.J`F H]v/0BxQ3^p`teh bl / Ph- 1yj6`+ETr_cH[N`"=0, 5 0\$!%&@^tN`q0^. z0>؁RR +b¾Kl栌bL1"  u	U 0C~Ah51" %9@VhcR!I95!>ZaKXX:@f. Y⓱CD&0g8 >2a7)ʈ ڗh1pe`D e1Q@,ΗfX9,x_J0/r10j 78_3af<`3ΗfALyx_Lh K20MK:ph0ô"̏/ I	 Lb(F#{hd4X#aH<6xɆKjLиS/@),-X  S13qHbn9`Ǥ  =f`Qf^ԴK,.6ibz/: Afak; 4 N@'H2Lm- 1CfLQE0Ɩ41"5xjdc5Fmqk& 8V"o5ɦ*&Sp, C;&XQ,֎``@~ v@=Aq8֘-. Ɯq3 7/9qaIDɲ_rk4dM l!`g X-G˱︐5;2dpRPp= Bdq9G5s8_s? 92Fv`gdFG2 GtZj: #k\<<sLt&uu/dK?`눊,=d3OˬJp_Ĳegg#$L6 dJH5ɶ^pU`wʪ 2sQ'3 u @I((<<(L0hCZr#R̜1@*(3Ú/<e0̣`2*C]<L*k;dY)kʰIVXZCevʸ9QF=#߃jYЖ> c!!5@PfM3G|>paiaNDE|;N	>3([c!̬J͊_(?~.@T먘LͮLLW|̰"!3Hd !xYe&2? +Dfԓe :t LvQgOь9o 26 N[ 5c-AZ#pLc5p*m ^Clko A OIDm&9S -Nnf͸ J/lr'r@]6Kq67Eu\[47& Rvp WH|o`3Yo 9 HHṖL1q0=XлP ىEЉ#\ +JBH';ٺX.rPg@:Q&pu^9 _yHT:KFMW|::ۄY$pX K{#uۈCl XRLr: rg	y֝!W'3I@ ~I!BP<:/;`^l8~0Fr;[rqP̜z} 쩡\ĐZ H/@е;Cp  X& 7	|bBt>畂􄋈ً̜?O(8$k=!yk!	_R!!*u	@!g 'b!t:$
b P	@{j @"`2=D8x* 4 . Ԟɮh2ƞ= Qҁ{v gmG JYP(B>},@P! 5u\ M܀5qXh9f3 rfJZY977lǲr+:  e)D&@)vhxg_6DC!3Xry&li.HHrGB=\:3sH"">sC#4 N/@B9"9Zq(l;$
БF$
  	P 
4TKlX"4UHN5	DAAh쀢HNRBB3tr\g-Ie~\gA-@ ڛCFDE"!>0R9D+PǈppOj<gD=(A4hDvjϤ 4 j?sՒP(:@pVy,i7(,S)YX0G#̅:XL*iLɀ<I1Ai ,4XG>f^*%Y,P51l"&4fpB2?Eh  :`y"TNi&dZ["Y:v$4-d,5Eq(~5$II$݇taQ\²$|N#`I [I.$
IPdP2ԢjR lD%F4 !@!`E(K`mDD0RtԮjӒDBSάM15B pԘܚܬ [Qm+m	Djh]T4bBjiU+'
xńLޕSmV[yox\^RW×@L,"^Xsw&	Z0@:LO}'Dy1QXdL&.@ 6I&&^e$ݬ6jRqȋp&ހip
MDgm A&Qp40ZM  hde΢ĵ@;c莞Mzd}ѤDxEtG&>NDtToB N| )^$NZ5 ?:8GkQ̉d _+A|Nc57@jOP @
6 ?Z`u(ȣ(`O8dSrO:	21Bl iGb;_GY-,ƶ>)O`7ێ-۟<BSK!. pI3	$"ASZA2 -J<[ a`و(e#JMb'ٌ(g6$e0ar{6MBF1QmmC
Ƒ(cmZG%vQ]/6I
EvI	dR6)NAT]pVJkENs,PPϔg	n&mP)l9EۦNaYm7ܱTPV\en{H-~[--E&C Tl*7RrnR trPST
;湂r/ZYep*ob
mr˫h }
̭s;0O5-s۹VF+&f֍sVnM7
 [W+S
pŸR@dzsM@ݰ ֕[}fvnە~VvݞTS)~ex3IXn[ekNX,aSYa"o łU2o0͛Xfc09>LBdY7qɒK RJ.V,eY, S|;Yowc[}oD-ZzB˥7JԂ~#r)RXنnÖKg*EڲkٿZ@p}'l)I[p	k<}[o	EGMɞKvP\w.pBp8\	N2,=	82J0s|TD	ꖰ@n$o*&R?՘VUp	X]6|(LH%H'_B06`B_~F]P nT`HjU
ȁmk12"e*0Ӹ\:.7QeRr	,MeŔF\r.7QGh]|-<ԣD}D].N}\p"\O@Xm&%gwwpMKx)
/'5}Ù /esQpqΏ`p˩}Ej/Ce/HXT/B&O&>qޗKur1=Hq%&_/2C+8FwIhU|q4 &X`h8e2J@ =-Imebf0s"08 L`ew qC%eAIaqN+P ,):L&>cJ'mb\Kn#!Y"r "w,SG5$wjDU,19\#N%׉aSgRLbTjy.]BPn20cerHcL2)iƌrӘ`A5*WaJP[9>7+i<rFճ[.-Xcr%Է=F.wr̲ۻPst$u08-ids~̘1z<D9Jqdd24 9` G6 " | y||Gd PC Uj4Ӛ{˼dUU6s9SY,2@.[%،s{_&0+쎤sA:2A`D39LB@J9nRmf6Y0F`C @I.s ]n@'t#;)ji&t1Acеg z jiLtV .ZPqX" :݇Fa}XitQMGRCbX95ě@o7X9J `3J`uHw9>b+jѥNk͙&! 4Y"!3}:ϮZc2ܬ:5P#S 5B:G]R7X:L.T:uv ;#kPJuY;SaB7^ @5ؙ\paWIk5kv&[S(ygu:̲ Ь<  :̴7X{kuʚzͽ\' ut @]a5uvas`gu$Fͽ PMȦ6V;l3@;5j67 b睱~6ABhBvޙ];Н5*Mk6.ng7NYASW;v֥݇ia}yg`udAj	a3ZvkǹA>b;̶  ΐn n75 hr;ݮF`C3Svf4f]X;LqQY3 *$.w&FsG4WEwu]:.SA"\iwzn;υSH w̻8Nuwn}r.;G|y%ߡq;}p8ŻN5zGkdd@5ÿS\^x;I #3xדNyr$x ë'3r<xGCpNx2G7{x]dx;.EGsy-t9o^S8ayT%Uz%&t9J<t)tO|Vp"Igƣ`:qno'w=]xx>Q7XB{<ZWUhWrOe'3ֹzt#tFyz_hhuRy.X (ف%Hvy;X/zB;0oK=B<ϋgSqy<irgY]bCҝmy:9yw;=uSy4sѓay=oߡZy?g)]{3xN<M^ųԻx	^+vǳy<CI/<K=@LCny<9=ޒ[>zIJQsԫxzK=%#!z.7=zAPs{zY/ԃ֛=KDW)H=u>%ԏ`{AoET=E{C~!DB?=:cpł}m_a'L<ؾ}OX{
lO#l{"^gu~{1p9{R,'kL?KOAr{=  ee>|VKde*y3{lY~/)[
?ӊ}ԧJO=X_?J8GNB|ԧG]@,Gr{aύ3-?mY)@ʏt-y*?X=_{R .Ƭɇ˧ 0@`aW=qHP6D@7_e$<>'̡|?o`9 >D Nn%5 >HԧWqឦT @f oaq|_T_lԳ; ZOD:B a?}A>ޱח.lAg*(ڇ{6y ҞJ6$˒MyxAdGhgV	>`/UC]ǃ}!k5AyԳ5z/TCc*$w>!ɏ3$,/B&̴YP/=;jBG?Pү9);?gՈ~Y_JC?ُؐ7
i8?`()}5"cEk~_sHz_9~Pߗsu!GAUj/iZސLGUkW2MPt?;1rubdh-x'2ⵙo>c(xA?}=	Z;l/S~ZNϏj~[+4ثz@rsND_"i~7q{zD=/B{MkV m/$4yȻwd	\",^z7 L+6g4Q
>EQ".
A@9 ޖڀJzQ(-Bݢm-2ny.8m[
V ŀ[pp-Fn9V@-Pu+u I[]!nQ("(y{]Bud:{#J`x2^F'PP3
sFQ
tIYW-p捬F@] ((rqemP\5]3n$UF@
L6o|ƌnh8*GԨp/x9N7GS UG A@0v0 qG%CP?<:@$`GP`GAn{<%M|QOp%Xd #TH&1	VG{cf& 	.2!#LA=*ŕ
" 4HQB +l܀Oʊp f1?xwRt8"m2j4-	_R 6@ME6H"8K-	/`ȽR	;wQ3v( 0m^jT olЂK4> A$	(}H7k*fXnhZ@	C  fvX17!`5, pT۩v&}$x<X&Uz8DIAmBdDeGA?'FBROB($AJv ]A98PR.I9EȡbO3h.j;^:XrAa0QH#TL9B9Q\P"0&$HwcdEBu_B`Tfu &g]%n_0a[V2t3! Ψڄu]]f+v%HWHXXpuK[](arM0?SWYLv beh4s)"59%O*\-KSy.\f8v, `_+1 ` &~KvE@a+1-[K `ieJjF
 	IZ\DB4@L zK 1#`\X.|.%!v-	=AD`,L=U8+ PaЮ4!nRx>- ##,e5qҌJ'؉F {hpV 1gHH̰P 8T:{bdk1g^HXIeHtˇ oĢU 0%3a)i;8L	 A@0% 4! M@Bsi\L	VTC7A`tȸcAQ& 	i"cCFթ 	P5N XS5+%n Zlµ޻êQEW08 	 cF L0m2T k ic
pn2lZ ww: Л03'j60N0G';~HH!wq
X,NvݜdL0<D CN#Wrj&.	`
 C[pm, N ݔA{(8$:=YqF`#iD Ȫl S:]NIN~}D{Mh8jt`9 w3}C੕G0<;$y?'ɋwB>QO-*4C?ٞpO'SRC4>!GD(}*=E',qB>}z/D+"֗Dz?|_D/w80wjD\QGL@(/jX7P	@$T
YYhdPdk-U2K@#_ ETYIJmRJT%qB%.Fח$U>P(1hJTB#	Dk+
*x%dZXi$RP_77Qa=id:MYXK	&ޡm=D!'LT&(d"*8MtV͍&j*%&ÉŔ1WEݢ (U`NHVcTJh(@j-AOFu`Ř"AѻM8(aRO+pqRG,7+ )vR ųbJؐR&p%RS#EhmtzN)\<˕O񏲒z+f9VDX.uTIyiNʩ*BRebRbŔX=]Ū*R"xne+܊e\1DdK	AF\ :άR)բx	y1)a
M)b T5i`$}` i45g?bk*E ;JݺŃ nG[M٦UEi:ETQ	ƁXiX." E6@\T^ܩ"bP]1ɋw=Q/J؋F uT_aI!_\SÂ@,0&V'Ex-H0WF1 a"6TF 06n*JO(UBbdW^=A ˭1rˇ:F;/(vH{5^فJ0u9!M^:@KRFQM6^!32B2c[H36cX9:6&'<cr3{A`ngE1+4(8 V&PK#~!=$]Nc 0j
N 8wUʬb99` i0kVp^]˭6fdl!U\al^ˡ1ߛ26{ˇq`UъE 7ZVctU
n*jFJ4@PJXEKV6pʊ<aV6fEq Qϊj8jMǥb5kP8v
q:9z	 Ǳw)G#0m
(XxRa`nR9)ߊ(WLGcz*L꘹"8W&b#1+;"]Î/Ᵽ^u#+ӎiw,usU1d0,uW|G qBșa/1(5P@G@qXya3X1@zLGMzz&A=^nxݣcA
y>?ǂ@z|t>r*cX>^h3?nЏ㓦Xe?,hql  'd0@"	KpZ@H
!p,6PH5CRgH@@àI<c%PH6V/Icͱ1H;P9bCR0=3l=H! @2L525*6$!uKa	sd-lRH
9mHYb-$ig6!u1aPl8CҐ:5$.9|Y9Ρ$ǪCR Y  As0o/gV4 98\H
d<*6("u/-I#yL9lH|K倉Th"YțCI8s9"YET$BX{кEu^d-)Fz-d$bS h#]*IkU<\#/F4A`	(G7?-4|S?#IGVHYOr 9$$ZcnY!@ +ɷVER%kQF5|d	#L@k%ɜIRl!!N'D1*Pb&o;-(B,:K$Ӓέdz/%BTRv1JԶڒ%B;J |[IqXyll%"G D>n%[$v.=n%逾0	z0o.E¤昖qLIsFm2Yp]&m՛L&$i4i4N'IمkI'M"f
ڤC6iHuaFdJ"k{NjUiEk9	hN2OK(u:NF\T?Ww;IOZCɜ(Ǘхh`OVRdv)uO'zY= (WtRFFC#o&ee|D	BSN(+$\mCu	:妱ٵ	e; DA 'rEQ(ER=(]
t׏2|w	($咒AX{RF)dJR*s2ŰQ`ʔ$!9_$Rܔ	82RI#O> *{ɂ5Eb@T)cWTz+oJcSYeT^|^3QebTAGtTʗ2V"*//W!
V*bJd5y\|+&3mSOvxA+MJjrrtV_V/r%9iX<,f_er^鱨W 0/}%a	j$Z$/aق~ FrruTXʢb9|l,"M * dY,A.KHReID+S0KX,:KUٸ)ZN.D%:`f`W.-Bq]L-Sm-Ë00\-y`%.LmɶT`/o#2_1[޲)<[/6ˁK p9Z>\
Fq[\4K/RsɹTa>XcVøa.S-.fe٥vY|.uK%&L6L/B򲷼9/%T)y|d/cK@-/aˁX2ƾ-/aK:,_/0%IaΆ0=v$0)LS`D0'F1w0L
sӡ a!fA쟁pa+2L:lth0{:L&Nä015BL"@I-1ML&LѳU1}@,faIbD1k(4cZ5ҘL7D*&֐c{;f[c cvP&!3lDw&2L)fc#$Ʉ3&e2* er2y`޲(8e2'cfz+3		evƸL
.S2֍ff1qr&137l{D3LMD:)e38 nfHuUcbPᐖk֙twB|Ϥ3]1Btq(L4(L&4M]AShp$MDs	r<,Mt@Bќ~4eI
fDiȂcL&,_Dp:f9i4?IDIMRlE5f  Q?fp-Wӿ5^dM]It5d5&14)5]xM&Cĉ r5M`3VQ<l~HeG͘Lل!4-̦b)|qv%Mq0mʪ'2'ykAd
ڦqܕ!<X2fpEf n-YZf0KgNB{D@c-n:>eݲov\L>KQ\HEe.{ތo>j `x}9)&0\;=t31[pWg0ggSc1Z8Qdy2k8.3YePq<pN3Ek:@p+/
HYiҀ(͂CΧٹ95CrV8KN	g	DH9g&ͱr^?nE mF5>'ɜ 3~<mN3:y8sA<',dVXNDS4Tt;Gc33tt*LA|;Oc3թ:
XSy`;KV
,@u;c'zBK;g[&Z?%Hl:Op3m ;՝sB8cCspma$оN3	iN'³ݹlx"Ogs⹆x29I:GG<O.1YJh`㇭U={\<rTJ=]Eϣ',2az[Rϐ>h=3͉e{2e3LvADZܓ9{>A: q&|>$	tH>Dq|r5:r4h-"}LiBTHãSUBN}z
i৛5t?OS#(j)נϤD)~66el T8?kfdStF	):_B^O((DBF@
'|??k ^ȅ㝶y(9!WHy1FP7$ah6`(=!Qk	T)@/PHTFUK@E_q ?@"(dQA<3t
Xމ4+(LTs[SÀE!25_RFAtE(\;cՃA]dI4- tB#B4!4E	1&	%TB#ɘ3d5	eBAQh!b
e}AV(l9bZrVvJG^(y;"ev#Pa'MJS֦T4T6};TC@
l@@tCmip趙VئP"E;pv+; @.J Ci$iβ#D7!ʂh%V>QTz#)-+I;Oۈr2IHIݘD'ѷX؉\EL ŉ%;Q'Q(EђZľPr5$ (xT
VEU%E V	VT+*+9zEbQQ,El4iE碚(/Nңh3 0:ն!Qta41W;x&v	^M0kSu83;٪E	c51QFo˵ke}#9kphTTZqTZSF+`>*FT
DvtG}l_=d<J'8GkQyz}R4rdo]ۮ	0Hg~?]BR	G
[nR|Mt2!]'.iǦq') E"$IO UT6#MH1lΓ)GJ I9 \0	h􉌍@cZ<I8醍Jް$ -i4{dS0PƤL2M*eSj\mR8 Nd(I}R7[4P']Pl~7TCZ9RO#eQ
hs(7ʤtSZ)5\J,6B
4U")MI
ӆ*Rl҃t"+JBR :!S5JmD`)4EB,ݡK)6T :}Sm֩F+`nN	*v[-K06ةR[~4E^zpn'5C`_
A%4 Ij0)cnhbjrd*`iXŀr3>){Y!L=t2ͽݘnJ
6uLn<Sr% ,45VnЕi4ݮ4MnyEvYMnu7̈́5M iMmJ6}MڴxkvM㦒7nj7mR3[7]T7ԛᴖ8mR^oi-rNrS+̢9],;[%tg!*8rt}IK)iTvQ1ZF-PuNw߈*R)xߤST=<mLOk&<mxO-S)ܢCN-|[LmVSF+i?[ fOՉӡ@X!F1^P^XU
15 Yfg?!T`u}}B].-ԷoubpMT[juwr6^x!j*JT$Z;D
]H{6φH..%Ȩ%	vټ@ڨT8KѾz֨s1\GE	RpYlnHÉ^KE0YR!Id^>TH(u|=_TVjΕڇ5ٵQ85zk^Tq}_+NJM=T6[$MU045x!]S@8,aSTn*5Z{I#ЩZ4~%uE9n6S0T&?5OQa,rPfGTqU\P f*եiT)rG5MQmHQq%&cĜT*6*S=Tir۩eWSc@՗.&"ec'ƁR5ڔscSjQê.̨\UW.ʉUӪdz,oarĹ\V2wU3J#%SsDJbxV0FƁdnZ=V5sUB pY#8ΪCY+JբLnN5wZbV]sg&؜lU67<%ls9@7 m
} p Vsãru9\e,Iq3#*c!5HfJv;]}Ws7WMD.Wg3.:/ރ|uş#B$* 3W#-;4=3kji:tnªjn@tV-UKS҈X4$N7 b%V7VG'cu	t>:"몤YjWM 0YD%AKa}XZ(fʪ~XZ/nˊhtnDWfҜYi6kUΪfwY׬tV
cճ#un$?Sn35h%	,LuIwjj2_vX#W!@Q;s*<k3Ej\X+&JAZVjR  [/7o5\gll`aQD[uVyFۚtl­!qkjC"\6lz6փ ;뷂6w
>RmYˮzA\6׵u{6֐ǵ)<IUvr5\.WB@ꝡ~jkas\-wAW͈ma}ۍ蒮+zx};GE!wkfބw֛livoخ~B Jx?cPgw|O5
pQ^{w5YNⵁw}mNԯWw[{žZ^9<ѫu& x^wk{-~q~gz^83N xFxkܿkvpՁwyf_Z7xF_+xQ	krVx26Wcqv]5K_x [#CDgq
:m(^5`9|cXc f<gNV3t`1F+#9ﻫu+lA/BT{`Zl-oۃ#yEf:hR򤰰,
K`z\X](QzȰX3l"£ua;<IlTܩ<)VuayrKb];pd"veq߰wѯx{χj9mw	x`lPRJz:a-V'9yv;Oc<3[H/XcUz^[y'+:aq,h'ӈ+zʱ<mgScK$YO{jd紨|,[O["7	{,YlBVcb;7f/䟌w{lgSՃwd⚽,%{}fcr|0|g[OVض5)0CYOqoG#bp{̽SGP^*[ڮ}gٯl',~m˲ٴeJog|.a~tחЊ|`p,^q@J$|)Zc#HfY؏edgCgV/+r>jV9	}@oAf+nvIg9Y~IΖfY+ 3 RtΖmyDϺ%8;gηϊ~J>,S"g}4<BVŗ+Z N8Ta@q5Јuh=S_ENײXbVEk`n} Hv!" b8ګgGцc$m, $\Uq%,I;wV输_~]lᐗVrdOh%>Bnڵ  TApxr}ïlkD}ڒ*vm9~گܡhS
P~[u-&j/ڿbIhSzjAX˟oT;NR =
و~>'*$vl!\,R'oN-֦!_c>ɟ!=(]kiZΐg7}LCrs/w=T~/6?Al'D,81JyfKYa?G^-dlC?wc;1lc^T*8Q˶]dVmU
A< Euq`K4Q_i+ t !X" h5zeɶk[ؖj% Vf6v:Wm
$Z@4`Vm[-posm|غ [LVn7[u{]'[6m}@Ss޼+[vw;:g;o!m-&pzYNo5@'{3.[T ,0}=߾PF[g ֈiTb6V@Q~;m+\j`k	8mD!0+܂ wqat&pw'tuY`Ύ^B`;rpGb Õ&isO.H&=&H)AKny	.ykTQ&tskqn IaSS`bNJf"ݸp@]%$=n)$5r BѐE.ruAD.(r5w&w:$9킎Q.)~~8YUdp'9ej" 3G2ry1_b7!Mu.B X(sA3W͝Wbkn!9Zs/Ain!@s`" -sEQyn)8%$sIiRyps$|e&$DE"&]E֓_`H7^ur'\.rqb^AE[=t{9] @eQu{AP70tǕ|ܤ.W#tuitO'sPuLV%WKmԕHo1A\Wۓ	Kz8d+au=I
%;ƮIPHR
e/f evv1 ]ht\Bv߅]PLxwe*nzt
o$aw%ҧйk,\bRtw[]~
[uvwoݭ.w;yWM]ڕڻHk){>R&Ǻ [#VFou{,%x_RZgJxXJb9zg	[>f^K&^-`F/ɜlNtopIdMy=a&A4\E*yWL^wU3" U܃+ol%
yb^D˳*Լl^	ΛjG*WQ%gyV л6,5
C/Iѻ'
0 7BMop84zM^nSB	b\&VO}qizMyM2]Nޘ({M^nӲMv9={@i/x6~:*߭S0;m5ν4 ޽pxoJiޫ^})}r
/dX2|6H 'f'D|v&ph|H |	UQFɗx |'o];xrp=6_ID_{]ߟo	O5bWHT`BtWėWĜ/7"}M.bwH"Nw10qTy߾sqݶߠvٻ~ _*7kA6~(s"5$V~9PGBf󛐡$Ơ(s2 UA~Po)QK|>DWb~wF+/.qK%N%8%0@1+߭W{LX`gy8ŖRˍal"j(	WDM']ߦ=u(>q nQlpXkTPt / ⌣^%~ `n|RQR@!))߷{J̷ofX$֫R:`{"	v OpTN7^ƭT*H*^YT+pۂV(Y7WD특apJl]]L吅~,"SEj %`,25TɇZ#`ԢT}/DE@l,ZmSFܢnޛ+	)q
%8.tG`DF ]mEDu'PS \0G)z

"t/u;zHR%! 60҃*!-u*DC	0# !p#ƂCXF(z{ <
clxI>2	ez1˾TÂKX(8}7a2U`ʸ2? ]JvqpdSy;9
9  :s[N;1>T]Nga8;JUh!<^0;i-*p_W4RbԘ4-Xa(p=Pa[*r5vz9a_cp+46b5Fdc']5l!8_4;*_>6b(J^X)1x~7pxcH7>*K¾qpX w`Jힳ%a#qLHGTVǥ{v~
xw~ r'V /jvw9*2GkV1BjB:Wāq!f\9?W߽n
qE#N]k7bBH#6Kqĕ%
g#Eߎ>$q  2< ĿxJb<:+o!8%Yp@rؾ!W@WK`%^u׫LS&B	z^HA^@-|![| /t ~q.> Az( @!`| 0 -Z0> l(,X)Q֤.+@TlcHjcÂd RޝL	`'|2FHt!+ŢB]q@bu!UR GcƼYh5<+HfZ+AX<+Abu.nd!ihʄ5PH[Cj=ʲ5dYHn8ek"|iCb|6ĉ5in
5܋u¬}Yl\0qikPΣn֬bø"CR ƍȋq$h7R尉|gy",=T& H@KE"
dCxv#)Z @}URKF(g^Dllqp)I,c#ǆhzp?-K:L'#Ȓyd{ks}m T2 9:&H ^!hH&1E2ug% zxO?IaY<vk$0IL2V<l$<(ɖ.G%ȭ1jW`J!`|<KVǸl=WPdVO?~n񏫒ӭd/B<  땒BLAKȂIV`S  1QPIٓ 	-l:Z!b.d5j1CM&k2n҇ts\DD9̅*LdO}N,)2Ċ"s'_eW#aE2r,'d}>#_;Ӌ;r@YԵG>DJ4P2 .c|5aly1%	H#mMQDI EnN';1%	ldG	]%ÒDWr"<()d'%b)%vZrULn;p)Ayd0SLyLxaӔkg2M ');bMN'cA :N*'4/FͫTbOGD{: S9Tp*=glBܧ*iW%  >*s]r|cx(͂e<2kbQV$+5'V :IRK_-ek5)Ε4R&>	u & OUCe%Tj`~*_R|eBaOhi- È+ͯ"C+ʷ?g+W f|DDk$gN\@N?KrA-9`D|v!]@-O`eEdvZV20rRƀ[,?ˬвrm);-;7`qK
>޵[1ɖ`|K _e6wq.;.!Ker\-o.`L,]Z{˨K!rϺ..U\P]R1rݥ6w̄/7aNRyɼ/?4
~y{]a̃pFY_>2̲J3l06BY0ad/YAߖѿdfx f!@`+3`	(fCcLЯ1O8|?[.a Bf&ȼK2̖&/LЏ2̲*%h1{ELF39Ld)/(f	>]1 6<k1ǘ:33PcّxE  4uxLBsoo;1Esav^lNHX D2F~\?ѯdzGfQj-2`ƾԕYW̴X-kd̚/5kVo8316f3ώo,\Xi2l9{m&Rt3G|pr@;Sg3'usYϔc̛ ܽi|ndG|fSAxTі̓9phZdf,s89R$esLqV~"g3# 894]*gf9aԴu062ǋөjdsG\W6fG&[k"=D\SQ:ΐf\;qǳٹ"I:ΎSD"oArc,mD{u@yvH6AfH+!Ѓ,xm~H}Xv,#=̲Ѓw|<ۧgkuSqznz˲2pb>ƛgχD{Fݛt߳YbrʴokgU$; -[>73gY}98@gs\ᤦ3yDDI$~9?39Ogs4  赙 ?۝fMH[S?@W9GWNWzD@WH'Z= ACkNY
:6! 3;_MW,&`Azbv&!t-H @%]Z	CO4tٙB_ٝY[ߺB+Џh`:uB[wkh+4?~CCGl: {;o=tsV8?au;h~$-D;ИE&:͉uz%JigXex5ha$~5&g4:`ME' htE}:`4i	 fdK"hz6xhxD F_tmFH80sώG\C$AyY\C >5?
p1͕v}V;{Ou4DF!}>Qi'9H%Ϗkb~OB OO-id/i OC|O OgN3  ?i
|bNK2Di 353e3iKi)CPPrO	wyOO4O3QZi3Q!
{Pai{ciPeiz2Pikit1miPqi4si4iz35,|iPii3PiciTjkP 4viza4-
ipiIPOVAPh-QP:@pUPWP2i!4Fi5i3h R P$4ePXgPijPlP
T P|iZigP	iiT4i+~PJ4L44PP4Piiiij~`4PN	i{iik4PPc Pz4i~iiNi4p PPi|dihXP
iNi4jPjP @
jPZP4o ؀
jP4PMPj{/4j  jPPP4'j4 OP20j P3jf5j_~{:jb4<j{@ @jQOQ4GjQJj|EMj4;Qj Qo|i`FWjo q(Q[jxdc_jodc5d 4Q 7Q \vdc/+mj
CQqjsji KQQzj~Q ~jVQj859j=5퀵 j	cQeQd4Oh  kQmQj(Q%rQT5.=}jj{QEd`5Q jhi5Qjjy}p5jQNw5Qj	Jj5jQQ5Qjj  Qj5Q~*.{jQ2 Q$4jQjj'j5 >jjjQB0	 @jj^5Q SQj.ik jjv/Q 3kRQ\0j	k=k5 Rkh / kkk
R5RkRRtjL R|"kR\~&kh Ɂ6j (Rj5/k1k3kI6{
4 7k966;k=R 6t @k Bk|~c GR/6hKkMk PRQk<6URj~c) KNK]kbRK6M6fRdkHfk   !kkZqR,Bok)wkm6xRRq6j6=qk2p6Rs6Uk6|6kRYikn6kRL9R6kw6kJk6l RR6RkR|9k~6k6k6=lS7v6|Tl6RkSRc8R~lk`kBlkkR68RmRlkR6R7R7k73kklm
k7kR SllTk%wf!7k$7Sl)7kS-7klTSkj7 Sm.8ll.8<7(S@7B7l/SllxmlQ78SlaZ7X Z7 lDSCS"lb7$lYS&l*l*l/l؂/l2l%l5l]S8l7iS7eS_S7cS777!qS%$Ll# Nl87Rl77Wl@YlS[p7^l'S~9cl77hl7S7mlsU'plqSsl7S7UF7{l}T}lk67`lq(lSlSklR"9lDSSlSSSllSHA8<lSJlklS@lSllkSlTl~(SSZT)cETlv l[km7TlUw[lTXmBlDl*$Ta ql*T,8llUljm:Tr:8	mtmmPDTTl7 mJT7T[mr mSTWTm[T?8m^C8FtTi6K8nD(mwoT"m|$mvTT'mm{Tc8,mg8!0m72myTQ8r8ZTw8tmKT}8T8TT8TCmO8Fm8T  JmpMmTVPm8emTmTWmy!Zm:8yS8_mT8TRmd8TimTkmT84SomTqm8emvmT(T	TX87T8*m8TmTmmmTm888Tm8m8NT4TmmU78m	U
9mh0UnOmum=m~mUUmU999 9m&U%9*Um+9Um19m5U7U3lhmmCUUUmnI9KUMUZOUR9U9mf9`m[Um_Uaje9h9EUmmjUnnpUn7uU	ngn<mnURn7!9n%y99+9U9U+"n
U*UU,n9`x8^@BDUEnU9UUUMn9U=nU?nUAnU9U99oq9OnUQnU9U9Vn+Xn9#U]n _nU#bnUi99tincxI{.t%FqnU92UB'Ayn9tU}n=no?:nnn:#:VEVnV
VnZnVn%:n :n
n
nn`x#{;>:nn;/V)V>:4Vn6V-n-nnnnnP:-n9nW:n[:nMVnRF,JaVn^aVm:nnhjn:cVnsuoo*?V|o`n
n:n|V:  _  VnV::E;oo	o:0o:'WVo:oooVo!owDVVV  (o  *o:,o:.o3oV9oV=oVVAo):VVVJo:LoVV::]RoV];,Xo0VYV^o;`o;V;V;Hhojolo3%no);)j#ro~tto3;vo7;9;W=;VkVWZogBF;#: WZ"WZo
&WoR;#:o  oY;o\;o7WZod;Tooj;oFWoVowD#:onob:no$oo\$oaWUo$fWo^ao:onpw<ppvW|<o;o|Wo Wo;oo(p8p+oWoCWGop;ooWooWo;opoo[pEppnp;rpWWppEpp;WRpp;W <ppt<mW<%p<'p0pW<,pW	<(pe%<<WNpN<J9:p]p<p;>pUpZWg<X><WZB<W?Jpr[!MpXZRpYpU<Z<Wp3<X^<X?pXX7i<Xfp>Zhpjpp#X6sW;ojptp+XF-X<]qN1XÆ<p:Xpֆ9XO=pp<pFXp<pGX8IXjp<-XOXpxpsÆ<'p<p pU=p<bXp<pgXpO!pnXX <rXp<vXxX<X<pXpp?pp<Xp<<Xp<ppEqXXp=Lqp=p<p=p*X=pjpX=XB=Xqp/=ppX>=.=]pkqp6=q:=XXpqA=lXJ=rqqXhqXÆqR=T=X=?X$q!&qa=R"Y<XqZi=r1qX=3q`?7qt=<?y=Y@qBq>X6qHqYKqrj=Y=SqYYrYXq=Zq$Yӆ)Y[rYqMZXrgq6=uq=0plqfnq:Ypq@1sq9ZAY0>rvqJY HY<qkqXYqqqŇQXYXsq=͇)p8r^[dfY=j[^qqYy=q#ZzB=q^q?Y |Y=~YqqY=qY;rq=-Z>Yq<rqY'>Y)>qYY0Y>Y6>qqYY<>=qqnrqY*qXqZMqYq  S> YqYZ> qYqa>
 q Yrrj>zqg># rp>' rY=rz>rYrqr=r>qG rL r>"rZ>%rZZT[Z>Zc >.r0r} 2rda#Z4 %Z8r> q=r#Z Y@r5ZBr2Z>6ZHr>ԇLr Nr PrwRr=TrEZ)Xr_qZr=Zq OZ>!>rcr erYZZ>]Z lr!?[> qrs?gZurWkZuZ yr"Z}r0q r"q ?Zror!? [Z!rr?rZZ`pZ+",?ZrZr4?Z"sr6!rV!Q?rrrZ-s+"rrH?<?rS!rZrYH[r\V?m?X?r[?!!`?&s?Z Z7s]?ZrDDru?Zrx?r!|?r]=?r?rrAs?Z?s?r=s ?!srr?r?!rrr![s!?8[2k![s[sr[!!r?g)r??sr(sZ?$s'[D" >"[s#s,""1s)7[ "?m?>[?'s?&!@s[ DsDYM[!P[YS[?jY][XsJ"\[bq@1>[sqQ"Zs^Yj[`"W[bf`bs@[xsp@ss[s[t[ysgs[[slsssss[[i@[~s[hsspss|[F@|[ss[sss[ss"#s@[)#s+ss3#[@s:#[@sF#D#s׉s@L#[s[Q#@s[@[@[[s[@sv\s#@v#sT#s@~#s\@@#)ss@3x#\x\sB\$ \@"\s@脨#(\t\t;\t  	AA#R4\At^t$#=\@\tAD\#F\t'AJ\)tL\-N\&tuWx\\V\;\rn-t/t21t[AF*$$Kt7txg\$;tsOA"$&At Ct,xYA"$%ay\(FKt~\$Ot#Rt`	\\#	xjYxsA
K[$^c \Ktatvtk]2 kt?$	Ab  
^ smt[$^ rtLttAb2xytE0t}tF9t	y$\D\t\At
d \t@t% \t
t	Ant? \ta$	 \@tR\t  tA \[x\Kt)0t#t$t$t$t$t$t$O\$tt#A$t$]9,t$t]$t$^c$$*hd$B
^$@^Bax0]w't%,t=]t,*tt#t$t,*t=]tut5B%
Cr]
CK]uB%uu?u.%uu]^]z]&zc]Ce]LB%u/uEuu%#uu;ur%(u'*u_h%~],]wB1uL4u~Bu8us]:u]=uf]o|]B'u%%IuBbzMu]PuNb3&%]9Wu]Hyu'%^u]]cu%eu   gu]ju)lu%]1Cpu]tu%vu)xu%{u}u%uhu%u u%u)u!ACua^%u\$u%uQu%u&^{^nu^BuE]nu
u>BuP-v%uhFu%ufu%unF#uu&d9^;^F#>^%a\&uxaue&FgI^\#M^wx.'uOaT^Fux[^]^xgL uNCuS{i^Fuu[Cx+Cu&auy^x#ukax^^xvwV
v&v7xvyyF`v%vGax5^FgvG!v&#vCxg^ x*vJ^-v^0v.'^^5v0a[*9v*'W`
x^^1CAv&CvWF^^jxJvfFx.'Nva$RvYaTvx^XvaZv^*x`v1CdxW^x#OVxC^lv __xgrvxFvvxvJ%zv|vZ^V__&5_v]{s'v^x"_$_zx v}xvD=;D@2_v4_Dv!Dv:_WvvvA_v1D'v'v9D'vS_M_@DO_CDvFDS_'vQyY_vPDv'vvk_vvvvvdD'.8vr_(vxDw_ZvsDv7v_"vvv_`Tv(Dv_DDvk_D,(v_D__vDwZ_  _)8_ww__w_wa w](wDw wD_y(!w_8V'wu(_y(_D_.wDD((VyD6w_8wD-y;w(_>w`(wBwow__y_(+Dw?`Owew(DRwlDTSWw`ZwCw`c(^wd `wEy?w`.``9iw(E`Cw`E]`!E.`$`M &Exw(`+EZ+`yDl`)<G\6Ew.`awDwwf>`waB`wKwwc`aw``w_o`+SEwaxV`++Y`w\`s^`k?`4GhE>ywwEwbwo`n)xEp)waw_`@)wwE)!cEEw`%`E`q1)w)wQwaw)t}C3`8)`wE`H`wE`TEY`w# x/X`j`#``2`%E`qE\\xx`-@xv`)``A`#(x*x`	*4#F	Aa
*`8x`?B=x*`*FDxaA7Hx%*aKx**
a FOxQx  Sx	)F4*afx]xjA_xwtbxln aUgx=F͋M*(aPox-aW*Mtx.'3aڋ6a]vg|x)_<a^n*a@aaCax`FxYD'JagF**ulFCD'pF*sFXavF*xn  ^a*`avxFx%vfaF *iaxvFxʋD'sa_F*uh&xFRx~aPvaFaaqxr^xCxF*gaj^'xa*xaxaЋuFa$xax*a?^Caxax%xzExaFxDFwxXEzx+iy +yaaWF
yDFt`FaywyGyG)jyɎyE+Do!y2y#yN+%yFyEaGaaD~az)'Gc+*G
5yi+/G8ywo+	b5GjE7GmEb1`=GCy5=wba?b++Ky+bOyD bRG()$b(b(XGw+Xy]GZy\y[ybG^y+aGay+cylGeypyhy$syokuG$oyGb+}GKbG\PbGT|ym~y  y Gy_]by+Gab%cb%eb\$gbib7kbayyGytbEvbxbzbGAb)bGy+GbbbbGbbbbyIc G)G b2y[y%{yAbmkbb ]bHH,bHbHyz:y zH[,$zz|j!H:bj+zzb*H2zb/H6zHw,)c4HHb8HHb,<HHb,GzbbKzbHHHbMHHbQHHc`UHcc]z;z]HcH@zbcH,hHHcmHHcqHH$cxh (c*cyHHXz0cHHH`