You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by rt...@apache.org on 2019/10/25 15:20:45 UTC

svn commit: r36496 [2/3] - /dev/netbeans/netbeans/11.2-vc1/

Added: dev/netbeans/netbeans/11.2-vc1/Apache-NetBeans-11.2-bin-linux-x64.sh
==============================================================================
--- dev/netbeans/netbeans/11.2-vc1/Apache-NetBeans-11.2-bin-linux-x64.sh (added)
+++ dev/netbeans/netbeans/11.2-vc1/Apache-NetBeans-11.2-bin-linux-x64.sh Fri Oct 25 15:20:45 2019
@@ -0,0 +1,701486 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# 
+
+ARG_JAVAHOME="--javahome"
+ARG_VERBOSE="--verbose"
+ARG_OUTPUT="--output"
+ARG_EXTRACT="--extract"
+ARG_JAVA_ARG_PREFIX="-J"
+ARG_TEMPDIR="--tempdir"
+ARG_CLASSPATHA="--classpath-append"
+ARG_CLASSPATHP="--classpath-prepend"
+ARG_HELP="--help"
+ARG_SILENT="--silent"
+ARG_NOSPACECHECK="--nospacecheck"
+ARG_LOCALE="--locale"
+
+USE_DEBUG_OUTPUT=0
+PERFORM_FREE_SPACE_CHECK=1
+SILENT_MODE=0
+EXTRACT_ONLY=0
+SHOW_HELP_ONLY=0
+LOCAL_OVERRIDDEN=0
+APPEND_CP=
+PREPEND_CP=
+LAUNCHER_APP_ARGUMENTS=
+LAUNCHER_JVM_ARGUMENTS=
+ERROR_OK=0
+ERROR_TEMP_DIRECTORY=2
+ERROR_TEST_JVM_FILE=3
+ERROR_JVM_NOT_FOUND=4
+ERROR_JVM_UNCOMPATIBLE=5
+ERROR_EXTRACT_ONLY=6
+ERROR_INPUTOUPUT=7
+ERROR_FREESPACE=8
+ERROR_INTEGRITY=9
+ERROR_MISSING_RESOURCES=10
+ERROR_JVM_EXTRACTION=11
+ERROR_JVM_UNPACKING=12
+ERROR_VERIFY_BUNDLED_JVM=13
+
+VERIFY_OK=1
+VERIFY_NOJAVA=2
+VERIFY_UNCOMPATIBLE=3
+
+MSG_ERROR_JVM_NOT_FOUND="nlu.jvm.notfoundmessage"
+MSG_ERROR_USER_ERROR="nlu.jvm.usererror"
+MSG_ERROR_JVM_UNCOMPATIBLE="nlu.jvm.uncompatible"
+MSG_ERROR_INTEGRITY="nlu.integrity"
+MSG_ERROR_FREESPACE="nlu.freespace"
+MSG_ERROP_MISSING_RESOURCE="nlu.missing.external.resource"
+MSG_ERROR_TMPDIR="nlu.cannot.create.tmpdir"
+
+MSG_ERROR_EXTRACT_JVM="nlu.cannot.extract.bundled.jvm"
+MSG_ERROR_UNPACK_JVM_FILE="nlu.cannot.unpack.jvm.file"
+MSG_ERROR_VERIFY_BUNDLED_JVM="nlu.error.verify.bundled.jvm"
+
+MSG_RUNNING="nlu.running"
+MSG_STARTING="nlu.starting"
+MSG_EXTRACTING="nlu.extracting"
+MSG_PREPARE_JVM="nlu.prepare.jvm"
+MSG_JVM_SEARCH="nlu.jvm.search"
+MSG_ARG_JAVAHOME="nlu.arg.javahome"
+MSG_ARG_VERBOSE="nlu.arg.verbose"
+MSG_ARG_OUTPUT="nlu.arg.output"
+MSG_ARG_EXTRACT="nlu.arg.extract"
+MSG_ARG_TEMPDIR="nlu.arg.tempdir"
+MSG_ARG_CPA="nlu.arg.cpa"
+MSG_ARG_CPP="nlu.arg.cpp"
+MSG_ARG_DISABLE_FREE_SPACE_CHECK="nlu.arg.disable.space.check"
+MSG_ARG_LOCALE="nlu.arg.locale"
+MSG_ARG_SILENT="nlu.arg.silent"
+MSG_ARG_HELP="nlu.arg.help"
+MSG_USAGE="nlu.msg.usage"
+
+isSymlink=
+
+entryPoint() {
+        initSymlinkArgument        
+	CURRENT_DIRECTORY=`pwd`
+	LAUNCHER_NAME=`echo $0`
+	parseCommandLineArguments "$@"
+	initializeVariables            
+	setLauncherLocale	
+	debugLauncherArguments "$@"
+	if [ 1 -eq $SHOW_HELP_ONLY ] ; then
+		showHelp
+	fi
+	
+        message "$MSG_STARTING"
+        createTempDirectory
+	checkFreeSpace "$TOTAL_BUNDLED_FILES_SIZE" "$LAUNCHER_EXTRACT_DIR"	
+
+        extractJVMData
+	if [ 0 -eq $EXTRACT_ONLY ] ; then 
+            searchJava
+	fi
+
+	extractBundledData
+	verifyIntegrity
+
+	if [ 0 -eq $EXTRACT_ONLY ] ; then 
+	    executeMainClass
+	else 
+	    exitProgram $ERROR_OK
+	fi
+}
+
+initSymlinkArgument() {
+        testSymlinkErr=`test -L / 2>&1 > /dev/null`
+        if [ -z "$testSymlinkErr" ] ; then
+            isSymlink=-L
+        else
+            isSymlink=-h
+        fi
+}
+
+debugLauncherArguments() {
+	debug "Launcher Command : $0"
+	argCounter=1
+        while [ $# != 0 ] ; do
+		debug "... argument [$argCounter] = $1"
+		argCounter=`expr "$argCounter" + 1`
+		shift
+	done
+}
+isLauncherCommandArgument() {
+	case "$1" in
+	    $ARG_VERBOSE | $ARG_NOSPACECHECK | $ARG_OUTPUT | $ARG_HELP | $ARG_JAVAHOME | $ARG_TEMPDIR | $ARG_EXTRACT | $ARG_SILENT | $ARG_LOCALE | $ARG_CLASSPATHP | $ARG_CLASSPATHA)
+	    	echo 1
+		;;
+	    *)
+		echo 0
+		;;
+	esac
+}
+
+parseCommandLineArguments() {
+	while [ $# != 0 ]
+	do
+		case "$1" in
+		$ARG_VERBOSE)
+                        USE_DEBUG_OUTPUT=1;;
+		$ARG_NOSPACECHECK)
+                        PERFORM_FREE_SPACE_CHECK=0
+                        parseJvmAppArgument "$1"
+                        ;;
+                $ARG_OUTPUT)
+			if [ -n "$2" ] ; then
+                        	OUTPUT_FILE="$2"
+				if [ -f "$OUTPUT_FILE" ] ; then
+					# clear output file first
+					rm -f "$OUTPUT_FILE" > /dev/null 2>&1
+					touch "$OUTPUT_FILE"
+				fi
+                        	shift
+			fi
+			;;
+		$ARG_HELP)
+			SHOW_HELP_ONLY=1
+			;;
+		$ARG_JAVAHOME)
+			if [ -n "$2" ] ; then
+				LAUNCHER_JAVA="$2"
+				shift
+			fi
+			;;
+		$ARG_TEMPDIR)
+			if [ -n "$2" ] ; then
+				LAUNCHER_JVM_TEMP_DIR="$2"
+				shift
+			fi
+			;;
+		$ARG_EXTRACT)
+			EXTRACT_ONLY=1
+			if [ -n "$2" ] && [ `isLauncherCommandArgument "$2"` -eq 0 ] ; then
+				LAUNCHER_EXTRACT_DIR="$2"
+				shift
+			else
+				LAUNCHER_EXTRACT_DIR="$CURRENT_DIRECTORY"				
+			fi
+			;;
+		$ARG_SILENT)
+			SILENT_MODE=1
+			parseJvmAppArgument "$1"
+			;;
+		$ARG_LOCALE)
+			SYSTEM_LOCALE="$2"
+			LOCAL_OVERRIDDEN=1			
+			parseJvmAppArgument "$1"
+			;;
+		$ARG_CLASSPATHP)
+			if [ -n "$2" ] ; then
+				if [ -z "$PREPEND_CP" ] ; then
+					PREPEND_CP="$2"
+				else
+					PREPEND_CP="$2":"$PREPEND_CP"
+				fi
+				shift
+			fi
+			;;
+		$ARG_CLASSPATHA)
+			if [ -n "$2" ] ; then
+				if [ -z "$APPEND_CP" ] ; then
+					APPEND_CP="$2"
+				else
+					APPEND_CP="$APPEND_CP":"$2"
+				fi
+				shift
+			fi
+			;;
+
+		*)
+			parseJvmAppArgument "$1"
+		esac
+                shift
+	done
+}
+
+setLauncherLocale() {
+	if [ 0 -eq $LOCAL_OVERRIDDEN ] ; then		
+        	SYSTEM_LOCALE="$LANG"
+		debug "Setting initial launcher locale from the system : $SYSTEM_LOCALE"
+	else	
+		debug "Setting initial launcher locale using command-line argument : $SYSTEM_LOCALE"
+	fi
+
+	LAUNCHER_LOCALE="$SYSTEM_LOCALE"
+	
+	if [ -n "$LAUNCHER_LOCALE" ] ; then
+		# check if $LAUNCHER_LOCALE is in UTF-8
+		if [ 0 -eq $LOCAL_OVERRIDDEN ] ; then
+			removeUTFsuffix=`echo "$LAUNCHER_LOCALE" | sed "s/\.UTF-8//"`
+			isUTF=`ifEquals "$removeUTFsuffix" "$LAUNCHER_LOCALE"`
+			if [ 1 -eq $isUTF ] ; then
+				#set launcher locale to the default if the system locale name doesn`t containt  UTF-8
+				LAUNCHER_LOCALE=""
+			fi
+		fi
+
+        	localeChanged=0	
+		localeCounter=0
+		while [ $localeCounter -lt $LAUNCHER_LOCALES_NUMBER ] ; do		
+		    localeVar="$""LAUNCHER_LOCALE_NAME_$localeCounter"
+		    arg=`eval "echo \"$localeVar\""`		
+                    if [ -n "$arg" ] ; then 
+                        # if not a default locale			
+			# $comp length shows the difference between $SYSTEM_LOCALE and $arg
+  			# the less the length the less the difference and more coincedence
+
+                        comp=`echo "$SYSTEM_LOCALE" | sed -e "s/^${arg}//"`				
+			length1=`getStringLength "$comp"`
+                        length2=`getStringLength "$LAUNCHER_LOCALE"`
+                        if [ $length1 -lt $length2 ] ; then	
+				# more coincidence between $SYSTEM_LOCALE and $arg than between $SYSTEM_LOCALE and $arg
+                                compare=`ifLess "$comp" "$LAUNCHER_LOCALE"`
+				
+                                if [ 1 -eq $compare ] ; then
+                                        LAUNCHER_LOCALE="$arg"
+                                        localeChanged=1
+                                        debug "... setting locale to $arg"
+                                fi
+                                if [ -z "$comp" ] ; then
+					# means that $SYSTEM_LOCALE equals to $arg
+                                        break
+                                fi
+                        fi   
+                    else 
+                        comp="$SYSTEM_LOCALE"
+                    fi
+		    localeCounter=`expr "$localeCounter" + 1`
+       		done
+		if [ $localeChanged -eq 0 ] ; then 
+                	#set default
+                	LAUNCHER_LOCALE=""
+        	fi
+        fi
+
+        
+        debug "Final Launcher Locale : $LAUNCHER_LOCALE"	
+}
+
+escapeBackslash() {
+	echo "$1" | sed "s/\\\/\\\\\\\/g"
+}
+
+ifLess() {
+	arg1=`escapeBackslash "$1"`
+	arg2=`escapeBackslash "$2"`
+	compare=`awk 'END { if ( a < b ) { print 1 } else { print 0 } }' a="$arg1" b="$arg2" < /dev/null`
+	echo $compare
+}
+
+formatVersion() {
+        formatted=`echo "$1" | sed "s/-ea//g;s/-rc[0-9]*//g;s/-beta[0-9]*//g;s/-preview[0-9]*//g;s/-dp[0-9]*//g;s/-alpha[0-9]*//g;s/-fcs//g;s/_/./g;s/-/\./g"`
+        formatted=`echo "$formatted" | sed "s/^\(\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)\)\.b\([0-9][0-9]*\)/\1\.0\.\5/g"`
+        formatted=`echo "$formatted" | sed "s/\.b\([0-9][0-9]*\)/\.\1/g"`
+	echo "$formatted"
+
+}
+
+compareVersions() {
+        current1=`formatVersion "$1"`
+        current2=`formatVersion "$2"`
+	compresult=
+	#0 - equals
+	#-1 - less
+	#1 - more
+
+	while [ -z "$compresult" ] ; do
+		value1=`echo "$current1" | sed "s/\..*//g"`
+		value2=`echo "$current2" | sed "s/\..*//g"`
+
+
+		removeDots1=`echo "$current1" | sed "s/\.//g"`
+		removeDots2=`echo "$current2" | sed "s/\.//g"`
+
+		if [ 1 -eq `ifEquals "$current1" "$removeDots1"` ] ; then
+			remainder1=""
+		else
+			remainder1=`echo "$current1" | sed "s/^$value1\.//g"`
+		fi
+		if [ 1 -eq `ifEquals "$current2" "$removeDots2"` ] ; then
+			remainder2=""
+		else
+			remainder2=`echo "$current2" | sed "s/^$value2\.//g"`
+		fi
+
+		current1="$remainder1"
+		current2="$remainder2"
+		
+		if [ -z "$value1" ] || [ 0 -eq `ifNumber "$value1"` ] ; then 
+			value1=0 
+		fi
+		if [ -z "$value2" ] || [ 0 -eq `ifNumber "$value2"` ] ; then 
+			value2=0 
+		fi
+		if [ "$value1" -gt "$value2" ] ; then 
+			compresult=1
+			break
+		elif [ "$value2" -gt "$value1" ] ; then 
+			compresult=-1
+			break
+		fi
+
+		if [ -z "$current1" ] && [ -z "$current2" ] ; then	
+			compresult=0
+			break
+		fi
+	done
+	echo $compresult
+}
+
+ifVersionLess() {
+	compareResult=`compareVersions "$1" "$2"`
+        if [ -1 -eq $compareResult ] ; then
+            echo 1
+        else
+            echo 0
+        fi
+}
+
+ifVersionGreater() {
+	compareResult=`compareVersions "$1" "$2"`
+        if [ 1 -eq $compareResult ] ; then
+            echo 1
+        else
+            echo 0
+        fi
+}
+
+ifGreater() {
+	arg1=`escapeBackslash "$1"`
+	arg2=`escapeBackslash "$2"`
+
+	compare=`awk 'END { if ( a > b ) { print 1 } else { print 0 } }' a="$arg1" b="$arg2" < /dev/null`
+	echo $compare
+}
+
+ifEquals() {
+	arg1=`escapeBackslash "$1"`
+	arg2=`escapeBackslash "$2"`
+
+	compare=`awk 'END { if ( a == b ) { print 1 } else { print 0 } }' a="$arg1" b="$arg2" < /dev/null`
+	echo $compare
+}
+
+ifNumber() 
+{
+	result=0
+	if  [ -n "$1" ] ; then 
+		num=`echo "$1" | sed 's/[0-9]*//g' 2>/dev/null`
+		if [ -z "$num" ] ; then
+			result=1
+		fi
+	fi 
+	echo $result
+}
+getStringLength() {
+    strlength=`awk 'END{ print length(a) }' a="$1" < /dev/null`
+    echo $strlength
+}
+
+resolveRelativity() {
+	if [ 1 -eq `ifPathRelative "$1"` ] ; then
+		echo "$CURRENT_DIRECTORY"/"$1" | sed 's/\"//g' 2>/dev/null
+	else 
+		echo "$1"
+	fi
+}
+
+ifPathRelative() {
+	param="$1"
+	removeRoot=`echo "$param" | sed "s/^\\\///" 2>/dev/null`
+	echo `ifEquals "$param" "$removeRoot"` 2>/dev/null
+}
+
+
+initializeVariables() {	
+	debug "Launcher name is $LAUNCHER_NAME"
+	systemName=`uname`
+	debug "System name is $systemName"
+	isMacOSX=`ifEquals "$systemName" "Darwin"`	
+	isSolaris=`ifEquals "$systemName" "SunOS"`
+	if [ 1 -eq $isSolaris ] ; then
+		POSSIBLE_JAVA_EXE_SUFFIX="$POSSIBLE_JAVA_EXE_SUFFIX_SOLARIS"
+	else
+		POSSIBLE_JAVA_EXE_SUFFIX="$POSSIBLE_JAVA_EXE_SUFFIX_COMMON"
+	fi
+        if [ 1 -eq $isMacOSX ] ; then
+                # set default userdir and cachedir on MacOS
+                DEFAULT_USERDIR_ROOT="${HOME}/Library/Application Support/NetBeans"
+                DEFAULT_CACHEDIR_ROOT="${HOME}/Library/Caches/NetBeans"
+        else
+                # set default userdir and cachedir on unix systems
+                DEFAULT_USERDIR_ROOT=${HOME}/.netbeans
+                DEFAULT_CACHEDIR_ROOT=${HOME}/.cache/netbeans
+        fi
+	systemInfo=`uname -a 2>/dev/null`
+	debug "System Information:"
+	debug "$systemInfo"             
+	debug ""
+	DEFAULT_DISK_BLOCK_SIZE=512
+	LAUNCHER_TRACKING_SIZE=$LAUNCHER_STUB_SIZE
+	LAUNCHER_TRACKING_SIZE_BYTES=`expr "$LAUNCHER_STUB_SIZE" \* "$FILE_BLOCK_SIZE"`
+	getLauncherLocation
+}
+
+parseJvmAppArgument() {
+        param="$1"
+	arg=`echo "$param" | sed "s/^-J//"`
+	argEscaped=`escapeString "$arg"`
+
+	if [ "$param" = "$arg" ] ; then
+	    LAUNCHER_APP_ARGUMENTS="$LAUNCHER_APP_ARGUMENTS $argEscaped"
+	else
+	    LAUNCHER_JVM_ARGUMENTS="$LAUNCHER_JVM_ARGUMENTS $argEscaped"
+	fi	
+}
+
+getLauncherLocation() {
+	# if file path is relative then prepend it with current directory
+	LAUNCHER_FULL_PATH=`resolveRelativity "$LAUNCHER_NAME"`
+	debug "... normalizing full path"
+	LAUNCHER_FULL_PATH=`normalizePath "$LAUNCHER_FULL_PATH"`
+	debug "... getting dirname"
+	LAUNCHER_DIR=`dirname "$LAUNCHER_FULL_PATH"`
+	debug "Full launcher path = $LAUNCHER_FULL_PATH"
+	debug "Launcher directory = $LAUNCHER_DIR"
+}
+
+getLauncherSize() {
+	lsOutput=`ls -l --block-size=1 "$LAUNCHER_FULL_PATH" 2>/dev/null`
+	if [ $? -ne 0 ] ; then
+	    #default block size
+	    lsOutput=`ls -l "$LAUNCHER_FULL_PATH" 2>/dev/null`
+	fi
+	echo "$lsOutput" | awk ' { print $5 }' 2>/dev/null
+}
+
+verifyIntegrity() {
+	size=`getLauncherSize`
+	extractedSize=$LAUNCHER_TRACKING_SIZE_BYTES
+	if [ 1 -eq `ifNumber "$size"` ] ; then
+		debug "... check integrity"
+		debug "... minimal size : $extractedSize"
+		debug "... real size    : $size"
+
+        	if [ $size -lt $extractedSize ] ; then
+			debug "... integration check FAILED"
+			message "$MSG_ERROR_INTEGRITY" `normalizePath "$LAUNCHER_FULL_PATH"`
+			exitProgram $ERROR_INTEGRITY
+		fi
+		debug "... integration check OK"
+	fi
+}
+showHelp() {
+	msg0=`message "$MSG_USAGE"`
+	msg1=`message "$MSG_ARG_JAVAHOME $ARG_JAVAHOME"`
+	msg2=`message "$MSG_ARG_TEMPDIR $ARG_TEMPDIR"`
+	msg3=`message "$MSG_ARG_EXTRACT $ARG_EXTRACT"`
+	msg4=`message "$MSG_ARG_OUTPUT $ARG_OUTPUT"`
+	msg5=`message "$MSG_ARG_VERBOSE $ARG_VERBOSE"`
+	msg6=`message "$MSG_ARG_CPA $ARG_CLASSPATHA"`
+	msg7=`message "$MSG_ARG_CPP $ARG_CLASSPATHP"`
+	msg8=`message "$MSG_ARG_DISABLE_FREE_SPACE_CHECK $ARG_NOSPACECHECK"`
+        msg9=`message "$MSG_ARG_LOCALE $ARG_LOCALE"`
+        msg10=`message "$MSG_ARG_SILENT $ARG_SILENT"`
+	msg11=`message "$MSG_ARG_HELP $ARG_HELP"`
+	out "$msg0"
+	out "$msg1"
+	out "$msg2"
+	out "$msg3"
+	out "$msg4"
+	out "$msg5"
+	out "$msg6"
+	out "$msg7"
+	out "$msg8"
+	out "$msg9"
+	out "$msg10"
+	out "$msg11"
+	exitProgram $ERROR_OK
+}
+
+exitProgram() {
+	if [ 0 -eq $EXTRACT_ONLY ] ; then
+	    if [ -n "$LAUNCHER_EXTRACT_DIR" ] && [ -d "$LAUNCHER_EXTRACT_DIR" ]; then		
+		debug "Removing directory $LAUNCHER_EXTRACT_DIR"
+		rm -rf "$LAUNCHER_EXTRACT_DIR" > /dev/null 2>&1
+	    fi
+	fi
+	debug "exitCode = $1"
+	exit $1
+}
+
+debug() {
+        if [ $USE_DEBUG_OUTPUT -eq 1 ] ; then
+		timestamp=`date '+%Y-%m-%d %H:%M:%S'`
+                out "[$timestamp]> $1"
+        fi
+}
+
+out() {
+	
+        if [ -n "$OUTPUT_FILE" ] ; then
+                printf "%s\n" "$@" >> "$OUTPUT_FILE"
+        elif [ 0 -eq $SILENT_MODE ] ; then
+                printf "%s\n" "$@"
+	fi
+}
+
+message() {        
+        msg=`getMessage "$@"`
+        out "$msg"
+}
+
+
+createTempDirectory() {
+	if [ 0 -eq $EXTRACT_ONLY ] ; then
+            if [ -z "$LAUNCHER_JVM_TEMP_DIR" ] ; then
+		if [ 0 -eq $EXTRACT_ONLY ] ; then
+                    if [ -n "$TEMP" ] && [ -d "$TEMP" ] ; then
+                        debug "TEMP var is used : $TEMP"
+                        LAUNCHER_JVM_TEMP_DIR="$TEMP"
+                    elif [ -n "$TMP" ] && [ -d "$TMP" ] ; then
+                        debug "TMP var is used : $TMP"
+                        LAUNCHER_JVM_TEMP_DIR="$TMP"
+                    elif [ -n "$TEMPDIR" ] && [ -d "$TEMPDIR" ] ; then
+                        debug "TEMPDIR var is used : $TEMPDIR"
+                        LAUNCHER_JVM_TEMP_DIR="$TEMPDIR"
+                    elif [ -d "/tmp" ] ; then
+                        debug "Using /tmp for temp"
+                        LAUNCHER_JVM_TEMP_DIR="/tmp"
+                    else
+                        debug "Using home dir for temp"
+                        LAUNCHER_JVM_TEMP_DIR="$HOME"
+                    fi
+		else
+		    #extract only : to the curdir
+		    LAUNCHER_JVM_TEMP_DIR="$CURRENT_DIRECTORY"		    
+		fi
+            fi
+            # if temp dir does not exist then try to create it
+            if [ ! -d "$LAUNCHER_JVM_TEMP_DIR" ] ; then
+                mkdir -p "$LAUNCHER_JVM_TEMP_DIR" > /dev/null 2>&1
+                if [ $? -ne 0 ] ; then                        
+                        message "$MSG_ERROR_TMPDIR" "$LAUNCHER_JVM_TEMP_DIR"
+                        exitProgram $ERROR_TEMP_DIRECTORY
+                fi
+            fi		
+            debug "Launcher TEMP ROOT = $LAUNCHER_JVM_TEMP_DIR"
+            subDir=`date '+%u%m%M%S'`
+            subDir=`echo ".nbi-$subDir.tmp"`
+            LAUNCHER_EXTRACT_DIR="$LAUNCHER_JVM_TEMP_DIR/$subDir"
+	else
+	    #extracting to the $LAUNCHER_EXTRACT_DIR
+            debug "Launcher Extracting ROOT = $LAUNCHER_EXTRACT_DIR"
+	fi
+
+        if [ ! -d "$LAUNCHER_EXTRACT_DIR" ] ; then
+                mkdir -p "$LAUNCHER_EXTRACT_DIR" > /dev/null 2>&1
+                if [ $? -ne 0 ] ; then                        
+                        message "$MSG_ERROR_TMPDIR"  "$LAUNCHER_EXTRACT_DIR"
+                        exitProgram $ERROR_TEMP_DIRECTORY
+                fi
+        else
+                debug "$LAUNCHER_EXTRACT_DIR is directory and exist"
+        fi
+        debug "Using directory $LAUNCHER_EXTRACT_DIR for extracting data"
+}
+extractJVMData() {
+	debug "Extracting testJVM file data..."
+        extractTestJVMFile
+	debug "Extracting bundled JVMs ..."
+	extractJVMFiles        
+	debug "Extracting JVM data done"
+}
+extractBundledData() {
+	message "$MSG_EXTRACTING"
+	debug "Extracting bundled jars  data..."
+	extractJars		
+	debug "Extracting other  data..."
+	extractOtherData
+	debug "Extracting bundled data finished..."
+}
+
+setTestJVMClasspath() {
+	testjvmname=`basename "$TEST_JVM_PATH"`
+	removeClassSuffix=`echo "$testjvmname" | sed 's/\.class$//'`
+	notClassFile=`ifEquals "$testjvmname" "$removeClassSuffix"`
+		
+	if [ -d "$TEST_JVM_PATH" ] ; then
+		TEST_JVM_CLASSPATH="$TEST_JVM_PATH"
+		debug "... testJVM path is a directory"
+	elif [ $isSymlink "$TEST_JVM_PATH" ] && [ $notClassFile -eq 1 ] ; then
+		TEST_JVM_CLASSPATH="$TEST_JVM_PATH"
+		debug "... testJVM path is a link but not a .class file"
+	else
+		if [ $notClassFile -eq 1 ] ; then
+			debug "... testJVM path is a jar/zip file"
+			TEST_JVM_CLASSPATH="$TEST_JVM_PATH"
+		else
+			debug "... testJVM path is a .class file"
+			TEST_JVM_CLASSPATH=`dirname "$TEST_JVM_PATH"`
+		fi        
+	fi
+	debug "... testJVM classpath is : $TEST_JVM_CLASSPATH"
+}
+
+extractTestJVMFile() {
+        TEST_JVM_PATH=`resolveResourcePath "TEST_JVM_FILE"`
+	extractResource "TEST_JVM_FILE"
+	setTestJVMClasspath
+        
+}
+
+installJVM() {
+	message "$MSG_PREPARE_JVM"	
+	jvmFile=`resolveRelativity "$1"`
+	jvmDir=`dirname "$jvmFile"`/_jvm
+	debug "JVM Directory : $jvmDir"
+	mkdir "$jvmDir" > /dev/null 2>&1
+	if [ $? != 0 ] ; then
+		message "$MSG_ERROR_EXTRACT_JVM"
+		exitProgram $ERROR_JVM_EXTRACTION
+	fi
+        chmod +x "$jvmFile" > /dev/null  2>&1
+	jvmFileEscaped=`escapeString "$jvmFile"`
+        jvmDirEscaped=`escapeString "$jvmDir"`
+	cd "$jvmDir"
+        runCommand "$jvmFileEscaped"
+	ERROR_CODE=$?
+
+        cd "$CURRENT_DIRECTORY"
+
+	if [ $ERROR_CODE != 0 ] ; then		
+	        message "$MSG_ERROR_EXTRACT_JVM"
+		exitProgram $ERROR_JVM_EXTRACTION
+	fi
+	
+	files=`find "$jvmDir" -name "*.jar.pack.gz" -print`
+	debug "Packed files : $files"
+	f="$files"
+	fileCounter=1;
+	while [ -n "$f" ] ; do
+		f=`echo "$files" | sed -n "${fileCounter}p" 2>/dev/null`
+		debug "... next file is $f"				
+		if [ -n "$f" ] ; then
+			debug "... packed file  = $f"
+			unpacked=`echo "$f" | sed s/\.pack\.gz//`
+			debug "... unpacked file = $unpacked"
+			fEsc=`escapeString "$f"`
+			uEsc=`escapeString "$unpacked"`
+			cmd="$jvmDirEscaped/bin/unpack200 -r $fEsc $uEsc"
+			runCommand "$cmd"
+			if [ $? != 0 ] ; then
+			    message "$MSG_ERROR_UNPACK_JVM_FILE" "$f"
+			    exitProgram $ERROR_JVM_UNPACKING
+			fi		
+		fi					
+		fileCounter=`expr "$fileCounter" + 1`
+	done
+		
+	verifyJVM "$jvmDir"
+	if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+		message "$MSG_ERROR_VERIFY_BUNDLED_JVM"
+		exitProgram $ERROR_VERIFY_BUNDLED_JVM
+	fi
+}
+
+resolveResourcePath() {
+	resourcePrefix="$1"
+	resourceVar="$""$resourcePrefix""_PATH"
+	resourceName=`eval "echo \"$resourceVar\""`
+	resourcePath=`resolveString "$resourceName"`
+    	echo "$resourcePath"
+
+}
+
+resolveResourceSize() {
+	resourcePrefix="$1"
+	resourceVar="$""$resourcePrefix""_SIZE"
+	resourceSize=`eval "echo \"$resourceVar\""`
+    	echo "$resourceSize"
+}
+
+resolveResourceMd5() {
+	resourcePrefix="$1"
+	resourceVar="$""$resourcePrefix""_MD5"
+	resourceMd5=`eval "echo \"$resourceVar\""`
+    	echo "$resourceMd5"
+}
+
+resolveResourceType() {
+	resourcePrefix="$1"
+	resourceVar="$""$resourcePrefix""_TYPE"
+	resourceType=`eval "echo \"$resourceVar\""`
+	echo "$resourceType"
+}
+
+extractResource() {	
+	debug "... extracting resource" 
+        resourcePrefix="$1"
+	debug "... resource prefix id=$resourcePrefix"	
+	resourceType=`resolveResourceType "$resourcePrefix"`
+	debug "... resource type=$resourceType"	
+	if [ $resourceType -eq 0 ] ; then
+                resourceSize=`resolveResourceSize "$resourcePrefix"`
+		debug "... resource size=$resourceSize"
+            	resourcePath=`resolveResourcePath "$resourcePrefix"`
+	    	debug "... resource path=$resourcePath"
+            	extractFile "$resourceSize" "$resourcePath"
+                resourceMd5=`resolveResourceMd5 "$resourcePrefix"`
+	    	debug "... resource md5=$resourceMd5"
+                checkMd5 "$resourcePath" "$resourceMd5"
+		debug "... done"
+	fi
+	debug "... extracting resource finished"	
+        
+}
+
+extractJars() {
+        counter=0
+	while [ $counter -lt $JARS_NUMBER ] ; do
+		extractResource "JAR_$counter"
+		counter=`expr "$counter" + 1`
+	done
+}
+
+extractOtherData() {
+        counter=0
+	while [ $counter -lt $OTHER_RESOURCES_NUMBER ] ; do
+		extractResource "OTHER_RESOURCE_$counter"
+		counter=`expr "$counter" + 1`
+	done
+}
+
+extractJVMFiles() {
+	javaCounter=0
+	debug "... total number of JVM files : $JAVA_LOCATION_NUMBER"
+	while [ $javaCounter -lt $JAVA_LOCATION_NUMBER ] ; do		
+		extractResource "JAVA_LOCATION_$javaCounter"
+		javaCounter=`expr "$javaCounter" + 1`
+	done
+}
+
+
+processJarsClasspath() {
+	JARS_CLASSPATH=""
+	jarsCounter=0
+	while [ $jarsCounter -lt $JARS_NUMBER ] ; do
+		resolvedFile=`resolveResourcePath "JAR_$jarsCounter"`
+		debug "... adding jar to classpath : $resolvedFile"
+		if [ ! -f "$resolvedFile" ] && [ ! -d "$resolvedFile" ] && [ ! $isSymlink "$resolvedFile" ] ; then
+				message "$MSG_ERROP_MISSING_RESOURCE" "$resolvedFile"
+				exitProgram $ERROR_MISSING_RESOURCES
+		else
+			if [ -z "$JARS_CLASSPATH" ] ; then
+				JARS_CLASSPATH="$resolvedFile"
+			else				
+				JARS_CLASSPATH="$JARS_CLASSPATH":"$resolvedFile"
+			fi
+		fi			
+			
+		jarsCounter=`expr "$jarsCounter" + 1`
+	done
+	debug "Jars classpath : $JARS_CLASSPATH"
+}
+
+extractFile() {
+        start=$LAUNCHER_TRACKING_SIZE
+        size=$1 #absolute size
+        name="$2" #relative part        
+        fullBlocks=`expr $size / $FILE_BLOCK_SIZE`
+        fullBlocksSize=`expr "$FILE_BLOCK_SIZE" \* "$fullBlocks"`
+        oneBlocks=`expr  $size - $fullBlocksSize`
+	oneBlocksStart=`expr "$start" + "$fullBlocks"`
+
+	checkFreeSpace $size "$name"	
+	LAUNCHER_TRACKING_SIZE_BYTES=`expr "$LAUNCHER_TRACKING_SIZE" \* "$FILE_BLOCK_SIZE"`
+
+	if [ 0 -eq $diskSpaceCheck ] ; then
+		dir=`dirname "$name"`
+		message "$MSG_ERROR_FREESPACE" "$size" "$ARG_TEMPDIR"	
+		exitProgram $ERROR_FREESPACE
+	fi
+
+        if [ 0 -lt "$fullBlocks" ] ; then
+                # file is larger than FILE_BLOCK_SIZE
+                dd if="$LAUNCHER_FULL_PATH" of="$name" \
+                        bs="$FILE_BLOCK_SIZE" count="$fullBlocks" skip="$start"\
+			> /dev/null  2>&1
+		LAUNCHER_TRACKING_SIZE=`expr "$LAUNCHER_TRACKING_SIZE" + "$fullBlocks"`
+		LAUNCHER_TRACKING_SIZE_BYTES=`expr "$LAUNCHER_TRACKING_SIZE" \* "$FILE_BLOCK_SIZE"`
+        fi
+        if [ 0 -lt "$oneBlocks" ] ; then
+		dd if="$LAUNCHER_FULL_PATH" of="$name.tmp.tmp" bs="$FILE_BLOCK_SIZE" count=1\
+			skip="$oneBlocksStart"\
+			 > /dev/null 2>&1
+
+		dd if="$name.tmp.tmp" of="$name" bs=1 count="$oneBlocks" seek="$fullBlocksSize"\
+			 > /dev/null 2>&1
+
+		rm -f "$name.tmp.tmp"
+		LAUNCHER_TRACKING_SIZE=`expr "$LAUNCHER_TRACKING_SIZE" + 1`
+
+		LAUNCHER_TRACKING_SIZE_BYTES=`expr "$LAUNCHER_TRACKING_SIZE_BYTES" + "$oneBlocks"`
+        fi        
+}
+
+md5_program=""
+no_md5_program_id="no_md5_program"
+
+initMD5program() {
+    if [ -z "$md5_program" ] ; then 
+        type digest >> /dev/null 2>&1
+        if [ 0 -eq $? ] ; then
+            md5_program="digest -a md5"
+        else
+            type md5sum >> /dev/null 2>&1
+            if [ 0 -eq $? ] ; then
+                md5_program="md5sum"
+            else 
+                type gmd5sum >> /dev/null 2>&1
+                if [ 0 -eq $? ] ; then
+                    md5_program="gmd5sum"
+                else
+                    type md5 >> /dev/null 2>&1
+                    if [ 0 -eq $? ] ; then
+                        md5_program="md5 -q"
+                    else 
+                        md5_program="$no_md5_program_id"
+                    fi
+                fi
+            fi
+        fi
+        debug "... program to check: $md5_program"
+    fi
+}
+
+checkMd5() {
+     name="$1"
+     md5="$2"     
+     if [ 32 -eq `getStringLength "$md5"` ] ; then
+         #do MD5 check         
+         initMD5program            
+         if [ 0 -eq `ifEquals "$md5_program" "$no_md5_program_id"` ] ; then
+            debug "... check MD5 of file : $name"           
+            debug "... expected md5: $md5"
+            realmd5=`$md5_program "$name" 2>/dev/null | sed "s/ .*//g"`
+            debug "... real md5 : $realmd5"
+            if [ 32 -eq `getStringLength "$realmd5"` ] ; then
+                if [ 0 -eq `ifEquals "$md5" "$realmd5"` ] ; then
+                        debug "... integration check FAILED"
+			message "$MSG_ERROR_INTEGRITY" `normalizePath "$LAUNCHER_FULL_PATH"`
+			exitProgram $ERROR_INTEGRITY
+                fi
+            else
+                debug "... looks like not the MD5 sum"
+            fi
+         fi
+     fi   
+}
+searchJavaEnvironment() {
+     if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+		    # search java in the environment
+		
+            	    ptr="$POSSIBLE_JAVA_ENV"
+            	    while [ -n "$ptr" ] && [ -z "$LAUNCHER_JAVA_EXE" ] ; do
+			argJavaHome=`echo "$ptr" | sed "s/:.*//"`
+			back=`echo "$argJavaHome" | sed "s/\\\//\\\\\\\\\//g"`
+		    	end=`echo "$ptr"       | sed "s/${back}://"`
+			argJavaHome=`echo "$back" | sed "s/\\\\\\\\\//\\\//g"`
+			ptr="$end"
+                        eval evaluated=`echo \\$$argJavaHome` > /dev/null
+                        if [ -n "$evaluated" ] ; then
+                                debug "EnvVar $argJavaHome=$evaluated"				
+                                verifyJVM "$evaluated"
+                        fi
+            	    done
+     fi
+}
+
+installBundledJVMs() {
+	if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+	    # search bundled java in the common list
+	    javaCounter=0
+    	    while [ $javaCounter -lt $JAVA_LOCATION_NUMBER ] && [ -z "$LAUNCHER_JAVA_EXE" ] ; do
+	    	fileType=`resolveResourceType "JAVA_LOCATION_$javaCounter"`
+		
+		if [ $fileType -eq 0 ] ; then # bundled->install
+			argJavaHome=`resolveResourcePath "JAVA_LOCATION_$javaCounter"`
+			installJVM  "$argJavaHome"				
+        	fi
+		javaCounter=`expr "$javaCounter" + 1`
+    	    done
+	fi
+}
+
+searchJavaOnMacOs() {
+        if [ -x "/usr/libexec/java_home" ]; then
+            javaOnMacHome=`/usr/libexec/java_home --version 1.8+ --failfast`
+        fi
+
+        if [ ! -x "$javaOnMacHome/bin/java" -a -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" ] ; then
+            javaOnMacHome=`echo "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"`
+        fi
+
+        verifyJVM "$javaOnMacHome"
+}
+
+searchJavaSystemDefault() {
+        if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+            debug "... check default java in the path"
+            java_bin=`which java 2>&1`
+            if [ $? -eq 0 ] && [ -n "$java_bin" ] ; then
+                remove_no_java_in=`echo "$java_bin" | sed "s/no java in//g"`
+                if [ 1 -eq `ifEquals "$remove_no_java_in" "$java_bin"` ] && [ -f "$java_bin" ] ; then
+                    debug "... java in path found: $java_bin"
+                    # java is in path
+                    java_bin=`resolveSymlink "$java_bin"`
+                    debug "... java real path: $java_bin"
+                    parentDir=`dirname "$java_bin"`
+                    if [ -n "$parentDir" ] ; then
+                        parentDir=`dirname "$parentDir"`
+                        if [ -n "$parentDir" ] ; then
+                            debug "... java home path: $parentDir"
+                            parentDir=`resolveSymlink "$parentDir"`
+                            debug "... java home real path: $parentDir"
+                            verifyJVM "$parentDir"
+                        fi
+                    fi
+                fi
+            fi
+	fi
+}
+
+searchJavaSystemPaths() {
+	if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+	    # search java in the common system paths
+	    javaCounter=0
+    	    while [ $javaCounter -lt $JAVA_LOCATION_NUMBER ] && [ -z "$LAUNCHER_JAVA_EXE" ] ; do
+	    	fileType=`resolveResourceType "JAVA_LOCATION_$javaCounter"`
+	    	argJavaHome=`resolveResourcePath "JAVA_LOCATION_$javaCounter"`
+
+	    	debug "... next location $argJavaHome"
+		
+		if [ $fileType -ne 0 ] ; then # bundled JVMs have already been proceeded
+			argJavaHome=`escapeString "$argJavaHome"`
+			locations=`ls -d -1 $argJavaHome 2>/dev/null`
+			nextItem="$locations"
+			itemCounter=1
+			while [ -n "$nextItem" ] && [ -z "$LAUNCHER_JAVA_EXE" ] ; do
+				nextItem=`echo "$locations" | sed -n "${itemCounter}p" 2>/dev/null`
+				debug "... next item is $nextItem"				
+				nextItem=`removeEndSlashes "$nextItem"`
+				if [ -n "$nextItem" ] ; then
+					if [ -d "$nextItem" ] || [ $isSymlink "$nextItem" ] ; then
+	               				debug "... checking item : $nextItem"
+						verifyJVM "$nextItem"
+					fi
+				fi					
+				itemCounter=`expr "$itemCounter" + 1`
+			done
+		fi
+		javaCounter=`expr "$javaCounter" + 1`
+    	    done
+	fi
+}
+
+searchJavaUserDefined() {
+	if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+        	if [ -n "$LAUNCHER_JAVA" ] ; then
+                	verifyJVM "$LAUNCHER_JAVA"
+		
+			if [ $VERIFY_UNCOMPATIBLE -eq $verifyResult ] ; then
+		    		message "$MSG_ERROR_JVM_UNCOMPATIBLE" "$LAUNCHER_JAVA" "$ARG_JAVAHOME"
+		    		exitProgram $ERROR_JVM_UNCOMPATIBLE
+			elif [ $VERIFY_NOJAVA -eq $verifyResult ] ; then
+				message "$MSG_ERROR_USER_ERROR" "$LAUNCHER_JAVA"
+		    		exitProgram $ERROR_JVM_NOT_FOUND
+			fi
+        	fi
+	fi
+}
+
+searchJavaInstallFolder() {
+        installFolder="`dirname \"$0\"`"
+        installFolder="`( cd \"$installFolder\" && pwd )`"
+        installFolder="$installFolder/bin/jre"
+        tempJreFolder="$TEST_JVM_CLASSPATH/_jvm"
+
+        if [ -d "$installFolder" ] ; then
+            #copy nested JRE to temp folder
+            cp -r "$installFolder" "$tempJreFolder"
+
+            verifyJVM "$tempJreFolder"
+        fi
+}
+
+searchJava() {
+	message "$MSG_JVM_SEARCH"
+        if [ ! -f "$TEST_JVM_CLASSPATH" ] && [ ! $isSymlink "$TEST_JVM_CLASSPATH" ] && [ ! -d "$TEST_JVM_CLASSPATH" ]; then
+                debug "Cannot find file for testing JVM at $TEST_JVM_CLASSPATH"
+		message "$MSG_ERROR_JVM_NOT_FOUND" "$ARG_JAVAHOME"
+                exitProgram $ERROR_TEST_JVM_FILE
+        else	
+                searchJavaInstallFolder
+		searchJavaUserDefined
+		installBundledJVMs
+		searchJavaEnvironment
+		searchJavaSystemDefault
+		searchJavaSystemPaths
+                if [ 1 -eq $isMacOSX ] ; then
+                    searchJavaOnMacOs
+                fi
+        fi
+
+	if [ -z "$LAUNCHER_JAVA_EXE" ] ; then
+		message "$MSG_ERROR_JVM_NOT_FOUND" "$ARG_JAVAHOME"
+		exitProgram $ERROR_JVM_NOT_FOUND
+	fi
+}
+
+normalizePath() {	
+	argument="$1"
+  
+  # replace all /./ to /
+	while [ 0 -eq 0 ] ; do	
+		testArgument=`echo "$argument" | sed 's/\/\.\//\//g' 2> /dev/null`
+		if [ -n "$testArgument" ] && [ 0 -eq `ifEquals "$argument" "$testArgument"` ] ; then
+		  # something changed
+			argument="$testArgument"
+		else
+			break
+		fi	
+	done
+
+	# replace XXX/../YYY to 'dirname XXX'/YYY
+	while [ 0 -eq 0 ] ; do	
+		beforeDotDot=`echo "$argument" | sed "s/\/\.\.\/.*//g" 2> /dev/null`
+      if [ 0 -eq `ifEquals "$beforeDotDot" "$argument"` ] && [ 0 -eq `ifEquals "$beforeDotDot" "."` ] && [ 0 -eq `ifEquals "$beforeDotDot" ".."` ] ; then
+        esc=`echo "$beforeDotDot" | sed "s/\\\//\\\\\\\\\//g"`
+        afterDotDot=`echo "$argument" | sed "s/^$esc\/\.\.//g" 2> /dev/null` 
+        parent=`dirname "$beforeDotDot"`
+        argument=`echo "$parent""$afterDotDot"`
+		else 
+      break
+		fi	
+	done
+
+	# replace XXX/.. to 'dirname XXX'
+	while [ 0 -eq 0 ] ; do	
+		beforeDotDot=`echo "$argument" | sed "s/\/\.\.$//g" 2> /dev/null`
+    if [ 0 -eq `ifEquals "$beforeDotDot" "$argument"` ] && [ 0 -eq `ifEquals "$beforeDotDot" "."` ] && [ 0 -eq `ifEquals "$beforeDotDot" ".."` ] ; then
+		  argument=`dirname "$beforeDotDot"`
+		else 
+      break
+		fi	
+	done
+
+  # remove /. a the end (if the resulting string is not zero)
+	testArgument=`echo "$argument" | sed 's/\/\.$//' 2> /dev/null`
+	if [ -n "$testArgument" ] ; then
+		argument="$testArgument"
+	fi
+
+	# replace more than 2 separators to 1
+	testArgument=`echo "$argument" | sed 's/\/\/*/\//g' 2> /dev/null`
+	if [ -n "$testArgument" ] ; then
+		argument="$testArgument"
+	fi
+	
+	echo "$argument"	
+}
+
+resolveSymlink() {  
+    pathArg="$1"	
+    while [ $isSymlink "$pathArg" ] ; do
+        ls=`ls -ld "$pathArg"`
+        link=`expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null`
+    
+        if expr "$link" : '^/' 2> /dev/null >/dev/null; then
+		pathArg="$link"
+        else
+		pathArg="`dirname "$pathArg"`"/"$link"
+        fi
+	pathArg=`normalizePath "$pathArg"` 
+    done
+    echo "$pathArg"
+}
+
+verifyJVM() {                
+    javaTryPath=`normalizePath "$1"` 
+    verifyJavaHome "$javaTryPath"
+    if [ $VERIFY_OK -ne $verifyResult ] ; then
+	savedResult=$verifyResult
+
+    	if [ 0 -eq $isMacOSX ] ; then
+        	#check private jre
+		javaTryPath="$javaTryPath""/jre"
+		verifyJavaHome "$javaTryPath"	
+    	else
+		#check MacOSX Home dir
+		javaTryPath="$javaTryPath""/Home"
+		verifyJavaHome "$javaTryPath"			
+	fi	
+	
+	if [ $VERIFY_NOJAVA -eq $verifyResult ] ; then                                           
+		verifyResult=$savedResult
+	fi 
+    fi
+}
+
+removeEndSlashes() {
+ arg="$1"
+ tryRemove=`echo "$arg" | sed 's/\/\/*$//' 2>/dev/null`
+ if [ -n "$tryRemove" ] ; then
+      arg="$tryRemove"
+ fi
+ echo "$arg"
+}
+
+checkJavaHierarchy() {
+	# return 0 on no java
+	# return 1 on jre
+	# return 2 on jdk
+
+	tryJava="$1"
+	javaHierarchy=0
+	if [ -n "$tryJava" ] ; then
+		if [ -d "$tryJava" ] || [ $isSymlink "$tryJava" ] ; then # existing directory or a isSymlink        			
+			javaBin="$tryJava"/"bin"
+	        
+			if [ -d "$javaBin" ] || [ $isSymlink "$javaBin" ] ; then
+				javaBinJavac="$javaBin"/"javac"
+				if [ -f "$javaBinJavac" ] || [ $isSymlink "$javaBinJavac" ] ; then
+					#definitely JDK as the JRE doesn`t contain javac
+					javaHierarchy=2				
+				else
+					#check if we inside JRE
+					javaBinJava="$javaBin"/"java"
+					if [ -f "$javaBinJava" ] || [ $isSymlink "$javaBinJava" ] ; then
+						javaHierarchy=1
+					fi					
+				fi
+			fi
+		fi
+	fi
+	if [ 0 -eq $javaHierarchy ] ; then
+		debug "... no java there"
+	elif [ 1 -eq $javaHierarchy ] ; then
+		debug "... JRE there"
+	elif [ 2 -eq $javaHierarchy ] ; then
+		debug "... JDK there"
+	fi
+}
+
+verifyJavaHome() { 
+    verifyResult=$VERIFY_NOJAVA
+    java=`removeEndSlashes "$1"`
+    debug "... verify    : $java"    
+
+    java=`resolveSymlink "$java"`    
+    debug "... real path : $java"
+
+    checkJavaHierarchy "$java"
+	
+    if [ 0 -ne $javaHierarchy ] ; then 
+	testJVMclasspath=`escapeString "$TEST_JVM_CLASSPATH"`
+	testJVMclass=`escapeString "$TEST_JVM_CLASS"`
+
+        pointer="$POSSIBLE_JAVA_EXE_SUFFIX"
+        while [ -n "$pointer" ] && [ -z "$LAUNCHER_JAVA_EXE" ]; do
+            arg=`echo "$pointer" | sed "s/:.*//"`
+	    back=`echo "$arg" | sed "s/\\\//\\\\\\\\\//g"`
+	    end=`echo "$pointer"       | sed "s/${back}://"`
+	    arg=`echo "$back" | sed "s/\\\\\\\\\//\\\//g"`
+	    pointer="$end"
+            javaExe="$java/$arg"	    
+
+            if [ -x "$javaExe" ] ; then		
+                javaExeEscaped=`escapeString "$javaExe"`
+                command="$javaExeEscaped -classpath $testJVMclasspath $testJVMclass"
+
+                debug "Executing java verification command..."
+		debug "$command"
+                output=`eval "$command" 2>/dev/null`
+                javaVersion=`echo "$output"   | sed "2d;3d;4d;5d"`
+		javaVmVersion=`echo "$output" | sed "1d;3d;4d;5d"`
+		vendor=`echo "$output"        | sed "1d;2d;4d;5d"`
+		osname=`echo "$output"        | sed "1d;2d;3d;5d"`
+		osarch=`echo "$output"        | sed "1d;2d;3d;4d"`
+
+		debug "Java :"
+                debug "       executable = {$javaExe}"	
+		debug "      javaVersion = {$javaVersion}"
+		debug "    javaVmVersion = {$javaVmVersion}"
+		debug "           vendor = {$vendor}"
+		debug "           osname = {$osname}"
+		debug "           osarch = {$osarch}"
+		comp=0
+
+		if [ -n "$javaVersion" ] && [ -n "$javaVmVersion" ] && [ -n "$vendor" ] && [ -n "$osname" ] && [ -n "$osarch" ] ; then
+		    debug "... seems to be java indeed"
+		    javaVersionEsc=`escapeBackslash "$javaVersion"`
+                    javaVmVersionEsc=`escapeBackslash "$javaVmVersion"`
+                    javaVersion=`awk 'END { idx = index(b,a); if(idx!=0) { print substr(b,idx,length(b)) } else { print a } }' a="$javaVersionEsc" b="$javaVmVersionEsc" < /dev/null`
+
+		    #remove build number
+		    javaVersion=`echo "$javaVersion" | sed 's/-.*$//;s/\ .*//'`
+		    verifyResult=$VERIFY_UNCOMPATIBLE
+
+	            if [ -n "$javaVersion" ] ; then
+			debug " checking java version = {$javaVersion}"
+			javaCompCounter=0
+
+			while [ $javaCompCounter -lt $JAVA_COMPATIBLE_PROPERTIES_NUMBER ] && [ -z "$LAUNCHER_JAVA_EXE" ] ; do				
+				comp=1
+				setJavaCompatibilityProperties_$javaCompCounter
+				debug "Min Java Version : $JAVA_COMP_VERSION_MIN"
+				debug "Max Java Version : $JAVA_COMP_VERSION_MAX"
+				debug "Java Vendor      : $JAVA_COMP_VENDOR"
+				debug "Java OS Name     : $JAVA_COMP_OSNAME"
+				debug "Java OS Arch     : $JAVA_COMP_OSARCH"
+
+				if [ -n "$JAVA_COMP_VERSION_MIN" ] ; then
+                                    compMin=`ifVersionLess "$javaVersion" "$JAVA_COMP_VERSION_MIN"`
+                                    if [ 1 -eq $compMin ] ; then
+                                        comp=0
+                                    fi
+				fi
+
+		                if [ -n "$JAVA_COMP_VERSION_MAX" ] ; then
+                                    compMax=`ifVersionGreater "$javaVersion" "$JAVA_COMP_VERSION_MAX"`
+                                    if [ 1 -eq $compMax ] ; then
+                                        comp=0
+                                    fi
+		                fi				
+				if [ -n "$JAVA_COMP_VENDOR" ] ; then
+					debug " checking vendor = {$vendor}, {$JAVA_COMP_VENDOR}"
+					subs=`echo "$vendor" | sed "s/${JAVA_COMP_VENDOR}//"`
+					if [ `ifEquals "$subs" "$vendor"` -eq 1 ]  ; then
+						comp=0
+						debug "... vendor incompatible"
+					fi
+				fi
+	
+				if [ -n "$JAVA_COMP_OSNAME" ] ; then
+					debug " checking osname = {$osname}, {$JAVA_COMP_OSNAME}"
+					subs=`echo "$osname" | sed "s/${JAVA_COMP_OSNAME}//"`
+					
+					if [ `ifEquals "$subs" "$osname"` -eq 1 ]  ; then
+						comp=0
+						debug "... osname incompatible"
+					fi
+				fi
+				if [ -n "$JAVA_COMP_OSARCH" ] ; then
+					debug " checking osarch = {$osarch}, {$JAVA_COMP_OSARCH}"
+					subs=`echo "$osarch" | sed "s/${JAVA_COMP_OSARCH}//"`
+					
+					if [ `ifEquals "$subs" "$osarch"` -eq 1 ]  ; then
+						comp=0
+						debug "... osarch incompatible"
+					fi
+				fi
+				if [ $comp -eq 1 ] ; then
+				        LAUNCHER_JAVA_EXE="$javaExe"
+					LAUNCHER_JAVA="$java"
+					verifyResult=$VERIFY_OK
+		    		fi
+				debug "       compatible = [$comp]"
+				javaCompCounter=`expr "$javaCompCounter" + 1`
+			done
+		    fi		    
+		fi		
+            fi	    
+        done
+   fi
+}
+
+checkFreeSpace() {
+	size="$1"
+	path="$2"
+
+	if [ ! -d "$path" ] && [ ! $isSymlink "$path" ] ; then
+		# if checking path is not an existing directory - check its parent dir
+		path=`dirname "$path"`
+	fi
+
+	diskSpaceCheck=0
+
+	if [ 0 -eq $PERFORM_FREE_SPACE_CHECK ] ; then
+		diskSpaceCheck=1
+	else
+		# get size of the atomic entry (directory)
+		freeSpaceDirCheck="$path"/freeSpaceCheckDir
+		debug "Checking space in $path (size = $size)"
+		mkdir -p "$freeSpaceDirCheck"
+		# POSIX compatible du return size in 1024 blocks
+		du --block-size=$DEFAULT_DISK_BLOCK_SIZE "$freeSpaceDirCheck" 1>/dev/null 2>&1
+		
+		if [ $? -eq 0 ] ; then 
+			debug "    getting POSIX du with 512 bytes blocks"
+			atomicBlock=`du --block-size=$DEFAULT_DISK_BLOCK_SIZE "$freeSpaceDirCheck" | awk ' { print $A }' A=1 2>/dev/null` 
+		else
+			debug "    getting du with default-size blocks"
+			atomicBlock=`du "$freeSpaceDirCheck" | awk ' { print $A }' A=1 2>/dev/null` 
+		fi
+		rm -rf "$freeSpaceDirCheck"
+	        debug "    atomic block size : [$atomicBlock]"
+
+                isBlockNumber=`ifNumber "$atomicBlock"`
+		if [ 0 -eq $isBlockNumber ] ; then
+			out "Can\`t get disk block size"
+			exitProgram $ERROR_INPUTOUPUT
+		fi
+		requiredBlocks=`expr \( "$1" / $DEFAULT_DISK_BLOCK_SIZE \) + $atomicBlock` 1>/dev/null 2>&1
+		if [ `ifNumber $1` -eq 0 ] ; then 
+		        out "Can\`t calculate required blocks size"
+			exitProgram $ERROR_INPUTOUPUT
+		fi
+		# get free block size
+		column=4
+		df -P --block-size="$DEFAULT_DISK_BLOCK_SIZE" "$path" 1>/dev/null 2>&1
+		if [ $? -eq 0 ] ; then 
+			# gnu df, use POSIX output
+			 debug "    getting GNU POSIX df with specified block size $DEFAULT_DISK_BLOCK_SIZE"
+			 availableBlocks=`df -P --block-size="$DEFAULT_DISK_BLOCK_SIZE"  "$path" | sed "1d" | awk ' { print $A }' A=$column 2>/dev/null`
+		else 
+			# try POSIX output
+			df -P "$path" 1>/dev/null 2>&1
+			if [ $? -eq 0 ] ; then 
+				 debug "    getting POSIX df with 512 bytes blocks"
+				 availableBlocks=`df -P "$path" | sed "1d" | awk ' { print $A }' A=$column 2>/dev/null`
+			# try  Solaris df from xpg4
+			elif  [ -x /usr/xpg4/bin/df ] ; then 
+				 debug "    getting xpg4 df with default-size blocks"
+				 availableBlocks=`/usr/xpg4/bin/df -P "$path" | sed "1d" | awk ' { print $A }' A=$column 2>/dev/null`
+			# last chance to get free space
+			else		
+				 debug "    getting df with default-size blocks"
+				 availableBlocks=`df "$path" | sed "1d" | awk ' { print $A }' A=$column 2>/dev/null`
+			fi
+		fi
+		debug "    available blocks : [$availableBlocks]"
+		if [ `ifNumber "$availableBlocks"` -eq 0 ] ; then
+			out "Can\`t get the number of the available blocks on the system"
+			exitProgram $ERROR_INPUTOUTPUT
+		fi
+		
+		# compare
+                debug "    required  blocks : [$requiredBlocks]"
+
+		if [ $availableBlocks -gt $requiredBlocks ] ; then
+			debug "... disk space check OK"
+			diskSpaceCheck=1
+		else 
+		        debug "... disk space check FAILED"
+		fi
+	fi
+	if [ 0 -eq $diskSpaceCheck ] ; then
+		mbDownSize=`expr "$size" / 1024 / 1024`
+		mbUpSize=`expr "$size" / 1024 / 1024 + 1`
+		mbSize=`expr "$mbDownSize" \* 1024 \* 1024`
+		if [ $size -ne $mbSize ] ; then	
+			mbSize="$mbUpSize"
+		else
+			mbSize="$mbDownSize"
+		fi
+		
+		message "$MSG_ERROR_FREESPACE" "$mbSize" "$ARG_TEMPDIR"	
+		exitProgram $ERROR_FREESPACE
+	fi
+}
+
+prepareClasspath() {
+    debug "Processing external jars ..."
+    processJarsClasspath
+ 
+    LAUNCHER_CLASSPATH=""
+    if [ -n "$JARS_CLASSPATH" ] ; then
+		if [ -z "$LAUNCHER_CLASSPATH" ] ; then
+			LAUNCHER_CLASSPATH="$JARS_CLASSPATH"
+		else
+			LAUNCHER_CLASSPATH="$LAUNCHER_CLASSPATH":"$JARS_CLASSPATH"
+		fi
+    fi
+
+    if [ -n "$PREPEND_CP" ] ; then
+	debug "Appending classpath with [$PREPEND_CP]"
+	PREPEND_CP=`resolveString "$PREPEND_CP"`
+
+	if [ -z "$LAUNCHER_CLASSPATH" ] ; then
+		LAUNCHER_CLASSPATH="$PREPEND_CP"		
+	else
+		LAUNCHER_CLASSPATH="$PREPEND_CP":"$LAUNCHER_CLASSPATH"	
+	fi
+    fi
+    if [ -n "$APPEND_CP" ] ; then
+	debug "Appending classpath with [$APPEND_CP]"
+	APPEND_CP=`resolveString "$APPEND_CP"`
+	if [ -z "$LAUNCHER_CLASSPATH" ] ; then
+		LAUNCHER_CLASSPATH="$APPEND_CP"	
+	else
+		LAUNCHER_CLASSPATH="$LAUNCHER_CLASSPATH":"$APPEND_CP"	
+	fi
+    fi
+    debug "Launcher Classpath : $LAUNCHER_CLASSPATH"
+}
+
+resolvePropertyStrings() {
+	args="$1"
+	escapeReplacedString="$2"
+	propertyStart=`echo "$args" | sed "s/^.*\\$P{//"`
+	propertyValue=""
+	propertyName=""
+
+	#Resolve i18n strings and properties
+	if [ 0 -eq `ifEquals "$propertyStart" "$args"` ] ; then
+		propertyName=`echo "$propertyStart" |  sed "s/}.*//" 2>/dev/null`
+		if [ -n "$propertyName" ] ; then
+			propertyValue=`getMessage "$propertyName"`
+
+			if [ 0 -eq `ifEquals "$propertyValue" "$propertyName"` ] ; then				
+				propertyName="\$P{$propertyName}"
+				args=`replaceString "$args" "$propertyName" "$propertyValue" "$escapeReplacedString"`
+			fi
+		fi
+	fi
+			
+	echo "$args"
+}
+
+
+resolveLauncherSpecialProperties() {
+	args="$1"
+	escapeReplacedString="$2"
+	propertyValue=""
+	propertyName=""
+	propertyStart=`echo "$args" | sed "s/^.*\\$L{//"`
+
+	
+        if [ 0 -eq `ifEquals "$propertyStart" "$args"` ] ; then
+ 		propertyName=`echo "$propertyStart" |  sed "s/}.*//" 2>/dev/null`
+		
+
+		if [ -n "$propertyName" ] ; then
+			case "$propertyName" in
+		        	"nbi.launcher.tmp.dir")                        		
+					propertyValue="$LAUNCHER_EXTRACT_DIR"
+					;;
+				"nbi.launcher.java.home")	
+					propertyValue="$LAUNCHER_JAVA"
+					;;
+				"nbi.launcher.user.home")
+					propertyValue="$HOME"
+					;;
+				"nbi.launcher.parent.dir")
+					propertyValue="$LAUNCHER_DIR"
+					;;
+				*)
+					propertyValue="$propertyName"
+					;;
+			esac
+			if [ 0 -eq `ifEquals "$propertyValue" "$propertyName"` ] ; then				
+				propertyName="\$L{$propertyName}"
+				args=`replaceString "$args" "$propertyName" "$propertyValue" "$escapeReplacedString"`
+			fi      
+		fi
+	fi            
+	echo "$args"
+}
+
+resolveString() {
+ 	args="$1"
+	escapeReplacedString="$2"
+	last="$args"
+	repeat=1
+
+	while [ 1 -eq $repeat ] ; do
+		repeat=1
+		args=`resolvePropertyStrings "$args" "$escapeReplacedString"`
+		args=`resolveLauncherSpecialProperties "$args" "$escapeReplacedString"`		
+		if [ 1 -eq `ifEquals "$last" "$args"` ] ; then
+		    repeat=0
+		fi
+		last="$args"
+	done
+	echo "$args"
+}
+
+replaceString() {
+	initialString="$1"	
+	fromString="$2"
+	toString="$3"
+	if [ -n "$4" ] && [ 0 -eq `ifEquals "$4" "false"` ] ; then
+		toString=`escapeString "$toString"`
+	fi
+	fromString=`echo "$fromString" | sed "s/\\\//\\\\\\\\\//g" 2>/dev/null`
+	toString=`echo "$toString" | sed "s/\\\//\\\\\\\\\//g" 2>/dev/null`
+        replacedString=`echo "$initialString" | sed "s/${fromString}/${toString}/g" 2>/dev/null`        
+	echo "$replacedString"
+}
+
+prepareJVMArguments() {
+    debug "Prepare JVM arguments... "    
+
+    jvmArgCounter=0
+    debug "... resolving string : $LAUNCHER_JVM_ARGUMENTS"
+    LAUNCHER_JVM_ARGUMENTS=`resolveString "$LAUNCHER_JVM_ARGUMENTS" true`
+    debug "... resolved  string :  $LAUNCHER_JVM_ARGUMENTS"
+    while [ $jvmArgCounter -lt $JVM_ARGUMENTS_NUMBER ] ; do		
+	 argumentVar="$""JVM_ARGUMENT_$jvmArgCounter"
+         arg=`eval "echo \"$argumentVar\""`
+	 debug "... jvm argument [$jvmArgCounter] [initial]  : $arg"
+	 arg=`resolveString "$arg"`
+	 debug "... jvm argument [$jvmArgCounter] [resolved] : $arg"
+	 arg=`escapeString "$arg"`
+	 debug "... jvm argument [$jvmArgCounter] [escaped] : $arg"
+	 LAUNCHER_JVM_ARGUMENTS="$LAUNCHER_JVM_ARGUMENTS $arg"	
+ 	 jvmArgCounter=`expr "$jvmArgCounter" + 1`
+    done                
+    if [ ! -z "${DEFAULT_USERDIR_ROOT}" ] ; then
+            debug "DEFAULT_USERDIR_ROOT: $DEFAULT_USERDIR_ROOT"
+            LAUNCHER_JVM_ARGUMENTS="$LAUNCHER_JVM_ARGUMENTS -Dnetbeans.default_userdir_root=\"${DEFAULT_USERDIR_ROOT}\""	
+    fi
+    if [ ! -z "${DEFAULT_CACHEDIR_ROOT}" ] ; then
+            debug "DEFAULT_CACHEDIR_ROOT: $DEFAULT_CACHEDIR_ROOT"
+            LAUNCHER_JVM_ARGUMENTS="$LAUNCHER_JVM_ARGUMENTS -Dnetbeans.default_cachedir_root=\"${DEFAULT_CACHEDIR_ROOT}\""	
+    fi
+
+    debug "Final JVM arguments : $LAUNCHER_JVM_ARGUMENTS"            
+}
+
+prepareAppArguments() {
+    debug "Prepare Application arguments... "    
+
+    appArgCounter=0
+    debug "... resolving string : $LAUNCHER_APP_ARGUMENTS"
+    LAUNCHER_APP_ARGUMENTS=`resolveString "$LAUNCHER_APP_ARGUMENTS" true`
+    debug "... resolved  string :  $LAUNCHER_APP_ARGUMENTS"
+    while [ $appArgCounter -lt $APP_ARGUMENTS_NUMBER ] ; do		
+	 argumentVar="$""APP_ARGUMENT_$appArgCounter"
+         arg=`eval "echo \"$argumentVar\""`
+	 debug "... app argument [$appArgCounter] [initial]  : $arg"
+	 arg=`resolveString "$arg"`
+	 debug "... app argument [$appArgCounter] [resolved] : $arg"
+	 arg=`escapeString "$arg"`
+	 debug "... app argument [$appArgCounter] [escaped] : $arg"
+	 LAUNCHER_APP_ARGUMENTS="$LAUNCHER_APP_ARGUMENTS $arg"	
+ 	 appArgCounter=`expr "$appArgCounter" + 1`
+    done
+    debug "Final application arguments : $LAUNCHER_APP_ARGUMENTS"            
+}
+
+
+runCommand() {
+	cmd="$1"
+	debug "Running command : $cmd"
+	if [ -n "$OUTPUT_FILE" ] ; then
+		#redirect all stdout and stderr from the running application to the file
+		eval "$cmd" >> "$OUTPUT_FILE" 2>&1
+	elif [ 1 -eq $SILENT_MODE ] ; then
+		# on silent mode redirect all out/err to null
+		eval "$cmd" > /dev/null 2>&1	
+	elif [ 0 -eq $USE_DEBUG_OUTPUT ] ; then
+		# redirect all output to null
+		# do not redirect errors there but show them in the shell output
+		eval "$cmd" > /dev/null	
+	else
+		# using debug output to the shell
+		# not a silent mode but a verbose one
+		eval "$cmd"
+	fi
+	return $?
+}
+
+executeMainClass() {
+	prepareClasspath
+	prepareJVMArguments
+	prepareAppArguments
+	debug "Running main jar..."
+	message "$MSG_RUNNING"
+	classpathEscaped=`escapeString "$LAUNCHER_CLASSPATH"`
+	mainClassEscaped=`escapeString "$MAIN_CLASS"`
+	launcherJavaExeEscaped=`escapeString "$LAUNCHER_JAVA_EXE"`
+	tmpdirEscaped=`escapeString "$LAUNCHER_JVM_TEMP_DIR"`
+	
+	command="$launcherJavaExeEscaped $LAUNCHER_JVM_ARGUMENTS -Djava.io.tmpdir=$tmpdirEscaped -classpath $classpathEscaped $mainClassEscaped $LAUNCHER_APP_ARGUMENTS"
+
+	debug "Running command : $command"
+	runCommand "$command"
+	exitCode=$?
+	debug "... java process finished with code $exitCode"
+	exitProgram $exitCode
+}
+
+escapeString() {
+	echo "$1" | sed "s/\\\/\\\\\\\/g;s/\ /\\\\ /g;s/\"/\\\\\"/g;s/(/\\\\\(/g;s/)/\\\\\)/g;" # escape spaces, commas and parentheses
+}
+
+getMessage() {
+        getLocalizedMessage_$LAUNCHER_LOCALE $@
+}
+
+POSSIBLE_JAVA_ENV="JAVA:JAVA_HOME:JAVAHOME:JAVA_PATH:JAVAPATH:JDK:JDK_HOME:JDKHOME:ANT_JAVA:"
+POSSIBLE_JAVA_EXE_SUFFIX_SOLARIS="bin/java:bin/sparcv9/java:"
+POSSIBLE_JAVA_EXE_SUFFIX_COMMON="bin/java:"
+
+
+################################################################################
+# Added by the bundle builder
+FILE_BLOCK_SIZE=1024
+
+JAVA_LOCATION_0_TYPE=1
+JAVA_LOCATION_0_PATH="/usr/java*"
+JAVA_LOCATION_1_TYPE=1
+JAVA_LOCATION_1_PATH="/usr/java/*"
+JAVA_LOCATION_2_TYPE=1
+JAVA_LOCATION_2_PATH="/usr/jdk*"
+JAVA_LOCATION_3_TYPE=1
+JAVA_LOCATION_3_PATH="/usr/jdk/*"
+JAVA_LOCATION_4_TYPE=1
+JAVA_LOCATION_4_PATH="/usr/j2se"
+JAVA_LOCATION_5_TYPE=1
+JAVA_LOCATION_5_PATH="/usr/j2se/*"
+JAVA_LOCATION_6_TYPE=1
+JAVA_LOCATION_6_PATH="/usr/j2sdk"
+JAVA_LOCATION_7_TYPE=1
+JAVA_LOCATION_7_PATH="/usr/j2sdk/*"
+JAVA_LOCATION_8_TYPE=1
+JAVA_LOCATION_8_PATH="/usr/java/jdk*"
+JAVA_LOCATION_9_TYPE=1
+JAVA_LOCATION_9_PATH="/usr/java/jdk/*"
+JAVA_LOCATION_10_TYPE=1
+JAVA_LOCATION_10_PATH="/usr/jdk/instances"
+JAVA_LOCATION_11_TYPE=1
+JAVA_LOCATION_11_PATH="/usr/jdk/instances/*"
+JAVA_LOCATION_12_TYPE=1
+JAVA_LOCATION_12_PATH="/usr/local/java"
+JAVA_LOCATION_13_TYPE=1
+JAVA_LOCATION_13_PATH="/usr/local/java/*"
+JAVA_LOCATION_14_TYPE=1
+JAVA_LOCATION_14_PATH="/usr/local/jdk*"
+JAVA_LOCATION_15_TYPE=1
+JAVA_LOCATION_15_PATH="/usr/local/jdk/*"
+JAVA_LOCATION_16_TYPE=1
+JAVA_LOCATION_16_PATH="/usr/local/j2se"
+JAVA_LOCATION_17_TYPE=1
+JAVA_LOCATION_17_PATH="/usr/local/j2se/*"
+JAVA_LOCATION_18_TYPE=1
+JAVA_LOCATION_18_PATH="/usr/local/j2sdk"
+JAVA_LOCATION_19_TYPE=1
+JAVA_LOCATION_19_PATH="/usr/local/j2sdk/*"
+JAVA_LOCATION_20_TYPE=1
+JAVA_LOCATION_20_PATH="/opt/java*"
+JAVA_LOCATION_21_TYPE=1
+JAVA_LOCATION_21_PATH="/opt/java/*"
+JAVA_LOCATION_22_TYPE=1
+JAVA_LOCATION_22_PATH="/opt/jdk*"
+JAVA_LOCATION_23_TYPE=1
+JAVA_LOCATION_23_PATH="/opt/jdk/*"
+JAVA_LOCATION_24_TYPE=1
+JAVA_LOCATION_24_PATH="/opt/j2sdk"
+JAVA_LOCATION_25_TYPE=1
+JAVA_LOCATION_25_PATH="/opt/j2sdk/*"
+JAVA_LOCATION_26_TYPE=1
+JAVA_LOCATION_26_PATH="/opt/j2se"
+JAVA_LOCATION_27_TYPE=1
+JAVA_LOCATION_27_PATH="/opt/j2se/*"
+JAVA_LOCATION_28_TYPE=1
+JAVA_LOCATION_28_PATH="/usr/lib/jvm"
+JAVA_LOCATION_29_TYPE=1
+JAVA_LOCATION_29_PATH="/usr/lib/jvm/*"
+JAVA_LOCATION_30_TYPE=1
+JAVA_LOCATION_30_PATH="/usr/lib/jdk*"
+JAVA_LOCATION_31_TYPE=1
+JAVA_LOCATION_31_PATH="/export/jdk*"
+JAVA_LOCATION_32_TYPE=1
+JAVA_LOCATION_32_PATH="/export/jdk/*"
+JAVA_LOCATION_33_TYPE=1
+JAVA_LOCATION_33_PATH="/export/java"
+JAVA_LOCATION_34_TYPE=1
+JAVA_LOCATION_34_PATH="/export/java/*"
+JAVA_LOCATION_35_TYPE=1
+JAVA_LOCATION_35_PATH="/export/j2se"
+JAVA_LOCATION_36_TYPE=1
+JAVA_LOCATION_36_PATH="/export/j2se/*"
+JAVA_LOCATION_37_TYPE=1
+JAVA_LOCATION_37_PATH="/export/j2sdk"
+JAVA_LOCATION_38_TYPE=1
+JAVA_LOCATION_38_PATH="/export/j2sdk/*"
+JAVA_LOCATION_NUMBER=39
+
+LAUNCHER_LOCALES_NUMBER=1
+LAUNCHER_LOCALE_NAME_0=""
+
+getLocalizedMessage_() {
+        arg=$1
+        shift
+        case $arg in
+        "nlu.integrity")
+                printf "\nInstaller file $1 seems to be corrupted\n"
+                ;;
+        "nlu.arg.cpa")
+                printf "\\t$1 <cp>\\tAppend classpath with <cp>\n"
+                ;;
+        "nlu.java.application.name.macosx")
+                printf "NetBeans IDE Installer\n"
+                ;;
+        "nlu.arg.output")
+                printf "\\t$1\\t<out>\\tRedirect all output to file <out>\n"
+                ;;
+        "nlu.missing.external.resource")
+                printf "Can\`t run NetBeans Installer.\nAn external file with necessary data is required but missing:\n$1\n"
+                ;;
+        "nlu.arg.extract")
+                printf "\\t$1\\t[dir]\\tExtract all bundled data to <dir>.\n\\t\\t\\t\\tIf <dir> is not specified then extract to the current directory\n"
+                ;;
+        "nlu.cannot.create.tmpdir")
+                printf "Cannot create temporary directory $1\n"
+                ;;
+        "nlu.arg.tempdir")
+                printf "\\t$1\\t<dir>\\tUse <dir> for extracting temporary data\n"
+                ;;
+        "nlu.arg.cpp")
+                printf "\\t$1 <cp>\\tPrepend classpath with <cp>\n"
+                ;;
+        "nlu.prepare.jvm")
+                printf "Preparing bundled JVM ...\n"
+                ;;
+        "nlu.arg.disable.space.check")
+                printf "\\t$1\\t\\tDisable free space check\n"
+                ;;
+        "nlu.freespace")
+                printf "There is not enough free disk space to extract installation data\n$1 MB of free disk space is required in a temporary folder.\nClean up the disk space and run installer again. You can specify a temporary folder with sufficient disk space using $2 installer argument\n"
+                ;;
+        "nlu.arg.silent")
+                printf "\\t$1\\t\\tRun installer silently\n"
+                ;;
+        "nlu.arg.verbose")
+                printf "\\t$1\\t\\tUse verbose output\n"
+                ;;
+        "nlu.error.verify.bundled.jvm")
+                printf "Cannot verify bundled JVM, try to search JVM on the system\n"
+                ;;
+        "nlu.running")
+                printf "Running the installer wizard...\n"
+                ;;
+        "nlu.jvm.search")
+                printf "Searching for JVM on the system...\n"
+                ;;
+        "nlu.cannot.unpack.jvm.file")
+                printf "Cannot unpack file $1\n"
+                ;;
+        "nlu.jvm.uncompatible")
+                printf "Unsupported JVM version at $1.\nTry to specify another JVM location using parameter $2\n"
+                ;;
+        "nlu.cannot.extract.bundled.jvm")
+                printf "Cannot prepare bundled JVM to run the installer.\nMost probably the bundled JVM is not compatible with the current platform.\nSee FAQ at http://wiki.netbeans.org/FaqUnableToPrepareBundledJdk for more information.\n"
+                ;;
+        "nlu.arg.help")
+                printf "\\t$1\\t\\tShow this help\n"
+                ;;
+        "nlu.arg.javahome")
+                printf "\\t$1\\t<dir>\\tUsing java from <dir> for running application\n"
+                ;;
+        "nlu.jvm.notfoundmessage")
+                printf "Java SE Development Kit (JDK) was not found on this computer\nJDK 8 is required for installing the NetBeans IDE. Make sure that the JDK is properly installed and run installer again.\nYou can specify valid JDK location using $1 installer argument.\n\nTo download the JDK, visit http://www.oracle.com/technetwork/java/javase/downloads\n"
+                ;;
+        "nlu.msg.usage")
+                printf "\nUsage:\n"
+                ;;
+        "nlu.jvm.usererror")
+                printf "Java Runtime Environment (JRE) was not found at the specified location $1\n"
+                ;;
+        "nlu.starting")
+                printf "Configuring the installer...\n"
+                ;;
+        "nlu.arg.locale")
+                printf "\\t$1\\t<locale>\\tOverride default locale with specified <locale>\n"
+                ;;
+        "nlu.extracting")
+                printf "Extracting installation data...\n"
+                ;;
+        *)
+                printf "$arg\n"
+                ;;
+        esac
+}
+
+
+TEST_JVM_FILE_TYPE=0
+TEST_JVM_FILE_SIZE=772
+TEST_JVM_FILE_MD5="d8070c77b1c84f6cad2cff1ae0a626a5"
+TEST_JVM_FILE_PATH="\$L{nbi.launcher.tmp.dir}/TestJDK.class"
+
+JARS_NUMBER=1
+JAR_0_TYPE=0
+JAR_0_SIZE=184114402
+JAR_0_MD5="638f97296eb3ccf8b39fc4338244910b"
+JAR_0_PATH="\$L{nbi.launcher.tmp.dir}/bundle.jar"
+
+
+JAVA_COMPATIBLE_PROPERTIES_NUMBER=1
+
+setJavaCompatibilityProperties_0() {
+JAVA_COMP_VERSION_MIN="1.8.0"
+JAVA_COMP_VERSION_MAX=""
+JAVA_COMP_VENDOR=""
+JAVA_COMP_OSNAME=""
+JAVA_COMP_OSARCH=""
+}
+OTHER_RESOURCES_NUMBER=0
+TOTAL_BUNDLED_FILES_SIZE=184115174
+TOTAL_BUNDLED_FILES_NUMBER=2
+MAIN_CLASS="org.netbeans.installer.Installer"
+TEST_JVM_CLASS="TestJDK"
+JVM_ARGUMENTS_NUMBER=2
+JVM_ARGUMENT_0="-Xmx256m"
+JVM_ARGUMENT_1="-Xms64m"
+APP_ARGUMENTS_NUMBER=0
+LAUNCHER_STUB_SIZE=58              
+entryPoint "$@"
+
+###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################Êþº¾-3
+ !"#	$%
+$&
+'()*<init>()VCodeLineNumberTableLocalVariableTablethis	LTestJDK;main([Ljava/lang/String;)ViIargs[Ljava/lang/String;props
+SourceFileTestJDK.java
java/lang/Stringjava.versionjava.vm.versionjava.vendoros.nameos.arch+,-./012TestJDKjava/lang/Objectjava/lang/SystemoutLjava/io/PrintStream;getProperty&(Ljava/lang/String;)Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V!
/*·±	‡9½YSYSYSYSYSL=+¾¢²+2¸	¶
+„§ÿë±&28  9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+PKVO…ߍ˜MUMETA-INF/MANIFEST.MFþÊóMÌËLK-.Ñ
K-*ÎÌϳR0Ô3àårÎI,.Ö
H,É°RàåòMÌÌÓY)ä¥ë奖$¥&æëeæ—$æä¤éyÂX¼\¼\PKVOcom/PKVO
+com/apple/PKVOcom/apple/eawt/PKVOÀ³äO com/apple/eawt/Application.classRMoÓ@MÒ¤	¡	”&´…B .EøˆC¨âC ¹m¤V=ô¶q¦e+g]Ùëò§8À	‰?€…˜uŒ¦Žãݝyóæ½Ý_¿ü€g°Uƒ"t*ð ”_
+)Ô+Ekû˜Aé?@‹Ž¸
ûñ¾G'
Çw¹wÌ¡÷ÉaI}!ƒ5Çõ‡6¿¸ðÐFþYÙ»´.W—]K|0Øíû‘ÚC}T8d°¢²"G„
+%¶¬+zý-ëêIç½ԙ3"íxŠJÃlš…3TcÖöՒš„x'µ	™²Ø­,7ÁÆ`•r{~¢vS÷:‡n€Hœ
â<ç—ÜÖl=_H¥Gá?ÎQÃ¥"ËEh’¦›ýKœp½•œšŒOrFš¡ImÉ:Ñ÷PF9zLk§k¯úQàâ{¡‹—Ɔx¢eסsÚÓm'PìÇå™}Ð?GWÁ&è1ëo˜î@±L;›þŒþs¾ûF‹T(–ãÃu˜§X@jôgp-ïÄ{øxwÈR`®'Àçq½؉+£dÔ«…xl–Ïm¸«°؎3„a_ãŠ¹C±	7’ºÇ‰3…â—	{Œ¡ª»9ò©Y%¹·rg{Aqu†®q¶ÖÈ×Fd;ßð·Æ˾Ùr.{-ŸÛ1r¯ÃFwo
+÷z»š{3¿ÅQN‹{qýý?PKVO¸ãH–s'com/apple/eawt/ApplicationAdapter.class…‘[KA†ßIÍRóP© Ê +h/*º0‰º’Îx?®_5±ÎÊ6Úïê*è¢ЏŠ¾Ý5
+¤æf¾Ã¼ïóÍáãóíÀ>V2H`!Å4–ÒX˜<RZ™cD}«-<ñ»$Ph)Mçƒ^‡‚[Ùñ¸3Ûò]éµe ÂzÔLšõ$Pk¹~ϑý¾GÉgã49U®4Ê×Í®ì
+Ù©»5;þÀlÔÿ1I›Fxž…©ÀšU-PŽ\ôIÿÚÈÿôÏTxìRܸèŽÒ.ñ
+ß=¥M¬Êĝ«âùÕ¸¸§gnüAàR쩎ß|÷Qe)Lò-¬ï$PõŽ'õ½sÑy$—‡¯ÿmk©'Cš¬a‚–¿„¿yŠ#Ïã5͕ÃQpLm¿B¼p2ÁDÛÀ
+¦yÍÅdå(¸ž™"=ƍ«‘±oŽŒa–G!šW´#jDɎش fíˆbΎp,ˆy;bς(Û‡D%ÒW¿PKVO{ ´(com/apple/eawt/ApplicationBeanInfo.class…PÁJÃ@œ—¦IÕj+¢'±xh=˜‹xQ„`ðRé}“®u%Ù-mª¿¥'ÁƒàG‰o·õ"‚{x³3óæ½e?¿Þ?c+B
›!Ú!:„àLiUj½þà_™‘$´R¥åí¼ÌäôNd+íÔ䢊©²|)úՃšÒܔ±˜L
+Kñ\Å|U¹¨”Ñ—RèDߛSB8–U’Mèô’~ú(žDl»“RŒ%û
ÅæÒ#%„h`æÓ\^+»i珑GvB>ê„îÿ/ 캕óY<P%7ÿx؇ǿb²#¹ÌbFb¬¾^r
œ¸‡×æ¢+ˆ	«N±áFÏfèåW²ë’Ûw™´·5¬»…-Ç6¾PKVO¬Í%z%com/apple/eawt/ApplicationEvent.class…QËJA¬ÉÓ<4M|‚DvU²=E"Š‡E‘¼M6Cœ0Ù
ÙI¿Éƒž~€%öN–¢àe¦»¦«ººçëûãÀ)öòHb+‹í,v²ØeȜK_ê&CÅrû|ÂÅýžs×éO7ì6Cê2è
+†’+}q;tÄèžw!e7ð¸jó‘ŒòLéG2Ô\/8|8TÂüI;JkøWáëuƒñÈ3B¿3zB_K%|> ’
˞+jé‘ô{T”“á
÷»Jt’–ýÀ…žA)ë!š j®I„Eï-Ó4R¦‘]Õ£E¤‘aØÿg¢Gc-•c©w2kp8-A»Qò9Z
jHÐêÉýCŠnjBg–²&½$èQ”ÀyƒÖ¨ò9ŠªÓ*€‰ŠX&
†”b­““{édrh4ŠÓ×Xƒak‹ÌäËÓþ“YÆzÌ<38æ­O‰õ9Ûlf›„ŠiV5õ›?PKVO’àÂèˆ(com/apple/eawt/ApplicationListener.classu½N1„gCˆáù)"¨4¸¡£JU¤Ò;fGÆwºø»Qð<Š/ö‰H(…ýÙ³3¶×?¿_ßn1è	ô„î»r/–Ç‹¼ò„Ë«‰Î?¤*
+˒է—ã°4Zy“»û5;w='ŒbhZ°Û©zúƒ±LFá±äW.Ùi^úfœ®,*³Ê„'œÅÍÓÿÓ³ç¼*5ÇÌùNibVž—7KµV„‹ý-4N öJ«Ü›œ.–¬ë›·R单ÛVs‡@h…q~O´	mD‘x”xœ˜%vk†üI˜[8ÝPKVOù˜/’¡#com/apple/eawt/CocoaComponent.class}Q]OA=ƒ‹J…bÕ~Y4¾hÓtcÒ7Œ>@šÐ¬¶	
ïÃrÅ1ìÙ] ñ?ùà“‰ýýQMïÌ®„–¤›ìœ™sÏ=sï_¿~ø„w¬áM	oKØX?QZ¥§k‡G}¯m†$P”¦‹i4 ø»Œ™i&”㾌•=礗^©D „&òåd2&Ÿä<õÛ&4²m¢‰Ñ¤Ó–@5ŒI¦tÑë+š»»ºõe20zä_6F”žË*šF=uÃ÷l×r&}kÞQéDÝʕÜÀBYgâ[L—Ç4̨§	éá9%‰9«nf5–zä\S˜¶lçå(“t;‚«+E)ÕJÏLã>+;‡Í¿þhõUx(
+ìþw4<éE_m©g2ñöQà÷±_	ÂzðºÎ'ŸQ0ßßCÜñ¦ÀpȒM<ᵚ	PFð¸sfÀÜ3lä&8Ëj
+åÛ–
+‡êŸçذȚM¼ÈÏø·å®”tì÷²`fèv[Øvq¼tå¼r™¯ÿPKVOnative/PKVOnative/cleaner/PKVOnative/cleaner/unix/PKVOþ‹yC¾	native/cleaner/unix/cleaner.shV_oÛ6–>ÅM6²d‹­${kàl^£ÆˆœEÚÁ´t²ˆH”JÒUݦß}GRrd§†å!ŽÈ»ûý¹Ó9½ŸÂ¡Êüžßƒ£P˜€.AgãŠÅô•©®™D˜”‘0ÍKÇãhrôˆJ”\J(J
+ŠK¡%_m4ä® °µD,Ph5ˆmõÙ|1}}
)ÏMz•K#øšëŒB¸‚º”R%–$ܳ¸ ƒÂÒ <‰k&.Ö\m%_gÊZ T¯matD“–ŠruPÒ¹-7ŒŽâƈSø›ê¹Ã38¦Ê	šËàäÒ&l¢Ô°QøTðKŒ•&®D«¨rÎDl’e;"ø¾©Q®4£pfu@™vÀiÛ €LëêUÖu=d–ë°”ë°ސ£³èz@|mÈQ)2éӆKrvµV˜­ˆdÎjÓ6ÛÛt¯%ù,Ö§”¬Ú¾w{óäUˍ$wÈ-fŒ#˜Fü9Ž¦Ñ)¼›.ÞÎïðn|{;ž-¦×Ìoáõ|öfº˜Îgô4ñì=%þ5½9$§¿TÒ( šÜøˆIg‚Zf@\sT…1OyLÒÄzÃÖëò3Jaæ£BYpeÚ©ˆaBQpmÇHQæ3]C:ôýsÔ8¡–ªãøæCó£Qéh[ä\<\K9ZšgÜ@W&ø9›<_îÂy
+÷0ø
+A?1€piPÅ.Ԇ«&d4¸Ù]`®ð¥¨lw‘rß÷z5ãÚÚR˜™Ò™DfœrÁU6}Oåˆüæ{&v.ˆL)G羧åvÁT#ºÊ©¯£ øžS H94¼ŽÌIÚ9i”x^㬄àNßÍ­{)^¥®±P³M±B2¯Ža»;x³€þó~	ÃK~€!ýÀÅUÇØÆ¢Ôf'˜r¦~§®‰ici´ºŒ°Q¿UGÏ,Ïmôh3½Sq€âd?	t×R ;é
+hРΑÑîqšwb=YtjÐ5ÉóêÌxrý†$y€{,XRR¾©a-b¿å4~ÙÆ|k
+}¯žÉh©Ò
+–[㓩模ÚäÚÔé±½îvtO¬m¦Ùy_Q–¶ŠKíï&²Sâñ±uðE½ž+F“ª\fsìÀìÛgfè~ò±ÃùÉPW²#ߎ.\Œ£ô;	B8;€íª‰™øYƒ{Ñ÷@ZoÎÜcÊmÓ=̝Oɋ’Úµ1}ÿm_óæP%ü/1ðC¢ÿIœÁöÃý¶g0ÀOÐw&ÌðÐi†V[Ûï¬ÔŒ/••RƒÙ'™09ƒµî°öó>.Í~7[QnÀùÒ]¹ÝÔïl¦ÆyڀN!éZ¶ºH¦zà4°{#Ýê<Pyþ²Êve´Ôšç~mé.*lúGÈa¤§Íq¶¿6^Þ\+ÌS ÿiÄÍÕû¾÷]Dçþ¿PKVOnative/cleaner/windows/PKVO~HN	"native/cleaner/windows/cleaner.exeímL[×õÚ~7b°Óâ6]Hk2wªFÇh¢“Í.<`	N^â`‡I	<ǶŽÌ{ŒVq”íá.«WuÒ"U[û¯›"Mû3u#ªÔÔM:k²‘ÖL[¦±åmÐÕÛ5‹›»sß³mª}þؤôÂñ¹÷ÜóqϹçœ÷žÿKÏ#Bˆ ¡SÈ^ôÏÇ9€Š‡^­@¯|âBõ)Sû…꽑èóp2q(Ù;àìëLˆÎƒ‚3)
:£ƒÎæ]ç@¢_¨-//stüÜ5=ñwúÄ
+¼~bðþí¿9ñàWåË'^Ôñ„Ž÷Dû"”ïÃgá9„ÚMäY·kG‘vYLkM,Be°(1hÏÞ?vgÁK:7þ#´‚õƶÝཌྷo#}̂¾Æ!fÿö½ýÿ`»VFDÀﲅQ_™ò€Š§j“ý½b/B÷X‚ÎSñA>/ü×lÈJ	uHwÝs_æ?ðäãñ8p³‹	àn—5,{PçDÎ6ΆÓS¢Ç6~±æl8}	·»ìâÛø:˜‹Ÿ±W±¶ñK5oK¬Ïn¨b¥ß†å$®kmµßïõ“ôcwæ@×Y<9¿ÜvcŽc-ií±Ó-iûғóf÷¥cË·t
+ʔ(SéK`HáX‰óŸ“¬æô”Ê›•V¬Æ~«›\ü½âϋÕ:2¶NGLc¶zRùã¿/9%ëÅ?ªG¶˜C1/q°N/J|N,0!ß.i9½4ìÄ~O×\Û~ø´	~¿qƒ
[n†•Æ2Ÿo§tãÀþ®©³»e—:ðg­ "HêQaѵžü,½„gÅ­!¼’BAíÌ-BҙÎNñ“–k¤ÙeW7[ÒKâzØ9Yؑ´ ˆeŽ2tûDÚº¿§«ó,E^°‚¯8Ř8¨AYÈ#AN“!¸ÇÞ©XÞ¸næW¹$Y•Ûh™	!¸/Û³&˜¸	ÞHµˆÄjOõŒ¾ÜËÎNìÏÁBeÚnÑ0D¤E<[ӓ3V5³JU­z‰ö„Àmc×p…ÂØp	fJ!ŽPö;¤ew¦³߇+pƕOb«-¬Tú¼Κüæáúæƒ`ËЛÎ(ÀÝ¢V¥ÿKͲÀ"ÂååIFN±H¬ÀœûóÖöUJ¿8šjÓÒ­¯/çÔ/›ƒEÃø'é)¸DÝä¥åR¹<
+è•úyñ6;`±ZNåÍÉ
Á€¶õ}0 Ùq–HÖ æƒpÊoVÉÕ¹Z4+/<BM‚XbCÁB|ëYš8¹ ö­<!5Ù÷~¹a©SþÓ©2ŸW›ÑʕâYw’ó^\΀@[}aÅÚäõL$߁
2\©n‚Ä56*¼--žÉ仸þU¹Y>·>“Έá%nÖ.ֈåû!–¯ÞmÃ\ž†/gÚ¡OmâpÛü4ðW}ÿúþòóÓøèžÑÅhïÓüŠõï;à zzpBa§éÝð T&Mryí5%²`G*ó5ù	">®úí»Iq ã%rÊÞ/V‘™ð›¤31Cp;ŽGC)™ÿ~1à_Y¥é„7ÒOÓG½âˬ€P@ÄѬ«µ¾´¾M¤œ,dõ´8}žÆ/¥}ûe\ï¥Ú¡.f W8'35¹49º’ʦæœâ¿>oÁÜö_³š‰;Îz!<
+7·Z¨!•?r•*7P÷՘Ëbÿ¢ÚÈB<ǚ×hÇKa¯Da¿ËÑÜ>r|‰™y>8uI4ysDᲶQŸgÀ,Αµ¹´„&Ïe¨úY%57ÉMg€}’»rJG³/êèß ¹ÕüÚ4ä¸n7Øã‰øÚ4‘²ÄñlµÊ„9ò+}¹–±æN|QM\§µ±jî¨tÙ©r™B¹À1ªýy7™°ljÕý[¯Ç(a9nõ¬vKtM0žM­ðãlÕgE™ÜGʀÞ8Qá#^„Xžç-7¥›ø‰V$a“v9=‰”Áõôè42oҟÅBn‚qcF³¥$’ävŽ`­ú„£Ýȼ‘`èõ+0
uà¿j9Ú0çÐÆ
S¯ga:“£uoOg¤A\¯øŒüSÒQ7‚³–÷ÔÆ-j«^ԗécb؎/Ô¼]ÌVì^ïNi1,»¢Go[ñàÀþcÒÓet'´/•[p/ñŠ´ Hyâ``—'Žn@DÏ=ó*=s…Α‹y;åsDIeÿò]í^œœZ0ÛÒ7i¥51AšOLÌŒYèìèÙ«KynÙF¯Eår¼Ê-ò!EZT¤œ"iÚ©¿Q7­!#)¤EÛè÷€32]Zlîk
Rnø ½øÆ<·Ä¶P±ÓÝF›)D@Êjº©ëQ¹ë|0ÙZ	U
+}‘§æ;ò؟¥½%•÷*Ì×¥ÒIN£½¡ÉӓKžl4qMÌ»V\ÊÞ²¼Ñ܄Z¦)§2§êD–ö>xÈ%µÛ÷O¤9\o/$F–ÌhoݤOw¦kêŒýÎ÷Ÿ»}lلП¾YÐI€W2çÞвðTlèˆŒ<ð€ÓWæ6ºGª
Ü
Eü…¼\ÿP1¾!mÈøÆ¡iF_ú…¸óáº2
;…‘èè|ø1硄˜pî½¢.¨ó<V†¶®¢Õì
;®^ññ9˜w;ª\Ec>…
+߀ÿ›˜”¢¦ÄÀ@ï`{tP؛ð%
‡à™ÖƵ·»¯íÇÑ>s{¢¯7î‹Ç}]°Ä‡Äd\®nc§%)èæ=BoK4. ÔgjD:
DŸÐ(jâ‚(PB-¸ F?þÄ°ÐM
+}b"ù4è{ª(çÅdô $
+CÜП³„z£bK"é—âbôp\Øu0BCuQ	n$*6ÁçüÞHŽ€Â¨	°(ðÉDŸ04äCh3jŠ'†„6ðŽ÷²%”ŒÇA¯n/ú2)ªÙŸè—âúæÎÞ`@k-Al’’IaP\}ò£wr5QÐ^8
+®²Bë¨Ìªà‡ÐnÏN®ö»lŒ@§Œô|<î¾ñwPKVOnative/jnilib/PKVOnative/jnilib/linux/PKVOË·/è85"native/jnilib/linux/linux-amd64.soÍ;mpTU–·; $A>ƒh+ ‘$"A°€ØøÂ&ÊF\ÅmšÎKÒØéÎv¿†ànjÂDÆô´™ŠU;ë8;ìŒNY³ºf×Òéq]%͖eµ®£©-~dg뵉‘‘Öaè=ç¾sß»ýÒ-2_µO_NŸsÏ9÷œsÏ=÷¾÷.ßp7ms:L\Eì6†XW…o&z¦ÆdÚzV³Eœ·˜¾´U¹1C1Ề»›èÝ«*ràÓ 'œ¹rN’;JrG‰_À^rEÀ’Þñk­õ2€ëÜßa¹ð2‚wÜŒ/ñÏ~‰þVÀ}Üõp¯#Úp_÷ÂçÁ½ž~£Ké÷•+á^L¿ëàþšÔO-Üé÷J‚7\÷õp¯…»îåp»à¾ùü¸”«ì"í³á.‡{Ž>—à5pWÁ}-ÜKˆ†£¹î«	_$É­†‡ÿÂEjÞČ¸Ï¿ˆ=E0J	»1œ>ÓÌû\ú,6¶<}6ÓóÒË̼ʥÏa›¯ÏG/7ó>—^ÁúóÒ+ّ¼ôùlÑê|ô¬ÚFÿØaůG	¾ïÌ¥‹|þCúLv+÷M¢ïpôóË<LôŒMÏ×	îsü[¯2ðÝD?Hô/ˆ~’æïÔoÉ_Jt•ì“ìQ[*HÏq—¿GtÑÏS‚m£ºò
 –k盤õ{€SûÒS^eàmD?eÓóÁ#Äÿä5¹þn'z”ô<Bý>Fýæ‘=Ä?h¯×.æüÓóyÈfŸà?Q¿²ç)¢Ÿ¦~W,´p¼BD¿õŠÜ8(DŸ]ià’ý¥E8w?ÉÚóíâÿéqç뵟ðW·ù{†àÕ\Ïôùø¹ˆ3)ÛCölµåá Á ¼
.·ôâå,`ÿ|¢×ÙèCýþ£-Ÿ—ýC*\Q¢?MqØJã+–ÅÑK‰_Ä»Íþï³ÅçU‚«¨ß½´p<Gt\\lúµÓ¦çŠÛÌüÌsû_ݹ¥¹±y<흡 '¢yÚÇÃ<þ _cž6ÐäëöâOoÀÿÊ<Û÷{îVÛýM
7¼‘ˆaíª¶Sûƒí[j€Õº-ê܎´-á°÷ ÞÐá
tSÜúµË¯u4©Áv­C¢±¾H@
æãڅDÔaÞ@ äc-ôuIʱÓfUëµ"m—¿U-D7ôø#AˆGЧ~½
[ƒšÄªu„CÜÝ>µKó‡‚ì@د©M¡vìÖçÕX[XU™/¬z5õv?õ`«¸±®/Ðüä>øÇm†nµæP«Ê¶{÷{=¡p»'¨j{Uo0€öD5 ≄èô´ýÝwz5ÿ~µ…“¡ƒm`ÂÎ.¯O­cjgDÕ¸Úým‘uk½ f‡îôG"àu¤ŽEºÀp­ù::!(ˆ¹9joEþHC4VƒZKD
oiíôë0ØjÔßÊþ½¾šH¨f¤t7ÆáQ[½š{##ûlew45nmð¬©YSSŸoÞðË	ÿ9à?ã¯ø/—æÌӞOJЍ=1â9Å.êM•¿[ªŠ\ìÄz.p—>Hë©ëâÞWÞ²TKôu½N¢¯—è;ˆ~93öâºW¢ËûÇ=]^Ò:$º\»$ú½[¢ËûÁ^‰¾@¢÷Kô…}P¢Ë{Ð#}±D?*Ñ«$ú3}‰D’èK%zB¢_%ч%ºK¢'%ú2‰ž’èò’9&Ñå­ê¸D—Ç]—èÕ}J¢ËÏ'‰~£Dg«-úM¹D¢¯•è]~~Qú&Kôç!ûõ*Èzýó‘4Rr<[¿oiË®ÀßA¸²+ï@‘ôx®{Çi“Nqü>Äq
+¥‡9~7â8kÒCߎ8>¦r|+âøțäø­ˆcÚ§{9¾q47ÝÅñUˆãôJïáøµˆ—"¾ƒãUˆãr›ÞÌñ¹ˆÏB¼Žã3Ç©“vq܉8N™tÇ¿¸pœ*iÆñ3ˆããVzêâ ^Áýçø/¯äþsüŸËýçøۈ_Áýçø!>ûÏñcˆÏçþsüeÄpÿ9þoˆ/äþsü§ˆ/âþŽã¦Ä‹_\RÁ”ÃÚ3›âÃ6(®ÞM?kQb¿ŽnPú6ý-02m‰ß´èz3hœ(Sú†K”Xñ dßm»à‡¯P¿=}¢x`Ž“ÇÛÚáÿÐñübÐ
+µ*ཉzž£lú44ƎŸÜ’ýÕI0;Ý	*J¬gX‰Eʨ;e$[O‚•?¼²F‰»‡•8€#%2֋û7%"ñžað)v(eC$•ùߐýo%æ]c kŠIÒý\W˘АÀ^³oÿ8ðÿ°Ìß{o1ïmÜè-枴šz¡)Ìž–¸S}=“LÛg±KÒ/óžmŠšâý½3xgSñfPM!_cÌ`ÝV™Šçk™Ê~î4”™	&Û	tmåþ“Ç1ÔéÍé1ˆt*Öò[g†—c\zsˆ)õwÎ5Mìë™bÚ7L–^c¢SgYý\íuB ¦­#¦øà8ôw¿¡Ä›Áœ–ŒÝ{}zÂpòmÖ­nÈÎÊýÐ/хxåWuáP%w!RùçsÁ.dÀ̀)eôu,#(̝ýÌ¿(±¤r.¥d“±c¤%£ïùm6k*©°”ôLé*4Iœ!qÖ§œã±–S±)ša˜å?‚Ÿ}=§Xô:4Ð0|fë@}ç0˜"%ìÄ~‹ËHûSÈ!‡í/‰ÃJêñx3pE3È)%u¼Å¤êÊÜÿ)K;/Cê!L 7O—©7ýõ¦ÿ+{óÁç—àÍð&	Þƒ+cF*ÃïxORÁP#êѯŒ4ON«(IË%]Š‡2ß3dt+ÅfŠ%äsŸ»Ïg‡_F6Ͳ©ÝtŗâY=¯ÄÞâ
+>ý© GuÌoý' …¤#J‘{ì„l)•,]Xk•¬ä´’•äô±éS]‰µ$Á·ñœ¹.–€Í0ôßðûû9lÆ|d,Ìùï—åV‡“[¬SB±µ2PN¬¤‘Óï:G#dŸósÎçÒu“>þ§÷ñg³ÿ>ö|öGðќ²àãØ	÷9fN
¬×Ñ1û´»Ùš:Ì05Clýîs…fVù«îsù;ꞼH\)JûòÆT¬ݳr‰åVLû-Cå˜[…¼KBÜ=™³"’#¤úY¶>o´Xº ÃñœÂ’7,f/{°ØÄ¢#‘„2Pœž‰»44Žæ"ï3	}¾7“úÕg³CžÓýE֔…¨¼5“¯ ÿ;Ó,CFŠ~ŠVˆŠw'¬24d–¡!³
ìÈòH™LϘLÏHµJØèÔ/?Ë9À?w†WžC=‹tcK—ÑÏH†WÓèY*Ê|”o'_ ®ã“†±õ‘ËÔö„µýJN?,U|8*y_ûQý¨;ÃrªtniË©ù	ì¡Q÷ˆ3þ02õO”R(“ÐIBYä”ØÄ&ip—,åñÿ×JäT
ΐP?Vó>ƒsW©™…8ëε¥Òè§Àäõ¾áÞ{µÃ\¢¯u˜«ÓB‡éSS¼wœ¢y!%´ÓXÓ³üá_Êñê¯6&Ý8
J‚&ÝÃÃ凟Èa”öû2£5«¢y•f$ÞòW‡cž½~³ž—ÙŠ™4!ÙÔÄå0òÙ@9µÙÔ4zÒ ÇÝ#ÓKƨû¬ÃJ4]ÿö'49¸cÕæ¾äØlÝgU‰¸ûìÅuènûŠºsŸöb-C0i’2ñàgâJˆ'®wÄiÔÍ_ÕO¸-^|;o9-?òÔ¦fW±Y" ­ÈÊã$pŸÎ¾þô÷;áK!–‚-ÌÀF¦?ý1wTÌ¿xǓRÿéDŽ¹ùMà{¨¨è[¯ûX.BÐÃËÄ×`%€n”cJQKƒøú¸¶RSqÖs‚m“Y˜cn,|@çûý(ªºåxxÄÐUɉSó*Ä®©³ÈlE[…ÓëòonÌâ¶-/#…bú8¤Ä*xUËÿ,É'|´Leú¹œ•–¢/VÚ#¹OIÕRkî£1Æ Èxñ0ª/øÈ,øýÖÿÜ})ÍEã)h3J™]Õçîzø4ËðAßÄûåÐ$~ÊSbÿÑÁ—¡ñ%’2ð"¾[R✨'¡ŽVÅÝýhÃad‰UŒÞ
§ËÄLã7þ‹‚vhò¨¡»ÛÐ͕ƾË{Š¿hÞ¦ÿf’RE,*î^ðôå.FŸžôãÇáaíe ÚˇÿȀYKÀ~
+Ö¤òçÑ¼5³å؇V¶ OÎúdîœbÍ#·Ç0Ëy
Ów“abGeڝäZŸ…v¨¿¿Ïs&Ú+}=¯8µëáïeZ-üuhΉ
te*ØÁÏeîø‘þ±‘¶³컉;÷6¯Á—.éC@{m#z_<ií0xî$ð-`ìu%–úTùçØÂxË0¦¬§?tÒSºþƒIsS0¦Oàû1kš”Vq©¿à>™´"5±¬áo›¦ô. OTЇñµèwfŒÿZ’Ì¿û_½h‚<ˆžåÖìÀHjeP<W±zgbm
+/à‹Øklæ2a™?Qw¿3ý]ÞùæHùß—¿4Œ)?¨ÄÎ(±¯ñ÷³]Ð(ª4¾4LW@2Y­JXúµ
â¬i€<š(Á˜h}#%P÷ÃÜ¢‘’ãŒU¯¼«ø†aû¼û½µo°½–>£Uß¿µ±qå=l#~ż
ÐŽWõÊ&»À 6b[(Ü^+¾8՚_œjù§ZU|ì‹Ô_œ¬¯÷ïúp]D¾)ÔÞì
zÛÕ0«nœnµÎøCµÛü•Uçe׌Ä/~ô2„VÞÇÔnD3¿:²j@õij«ËתTWg¨UuU¯´®tù#®`HsE¢]]¡0°ð5xƒ{4¨uµF—Ïø¤æê²>Ñ1æXR´—Uü^rÆgì,ÈÈÙ0Úo¼àcPš¾0€Y5óQlø,À'aMyàÏa…ŸøØ̆T?tä~°	à?y€¥°~àào@à»ðüÀ5ø€³áùa× °î· ðQ€Äσ<ÀÁ߁<@琸àd‘q†/ÇCw3Gw…cÉìËKð¬žáÂûÙt6ËÏFl™Sñ-gCÙwÿ"‡mX9ÎAø™
+ÑNú°Ï<1Q¸ýïàÞqshî½Ð¾ª@û+p ýÍíx¦¥êÃÂíçáNBûRGþö+þŸ0n§ÈãûôØDžÛwC{3Œs´ÿÐþ#h®ÿÐ^ùÑVÈhBû#ì?ôSOü¬P>ÿ¡Ý	yµ»€þ+Aî¶/ißíAûÉù±ڗA¾¾WÈh?u®°þ'¡}ä÷S…ü‡ö'¡}O!ÿQÿçÙl¸ÐøC{
̛«ó´ã¼¸ç´ç9RÇ?UeiO’—8™ú×ߐÅy'ñíXœç6ï%Aq6µŽ>pûÆHßL¯£ïä³ßz‰ÌÖß`?åú–Ÿx]NP|;Þ3;—®“bñ½›`©­?(+xäŠ%‰?K¸ˆÃá÷Pû焛ÇdÿL—ýܝ¸Þ§qùŒàŒr. xÁu·¼‡`Áý¿Eðq‚?!øÁß%ø>ÁÏÎ 3¼Žà:‚ÛÞC° 8!ÎC°;nuUßqgËJ×ښºš:ךººúºú5õ®ê»a™T¼šA_}ËʂÌ7Þbg^ÿÿž9¿ƒ5‘ŽˆÖ¼{YM‡7ÒÁjZ#;
¨…YM{0Z³_
ãʟƒx -¬¼ÈH¿º«á§Çj4µþò3d5á?gS£vxÚÂÞNÕÓѶ0VãÓB°Q©i5À>_˜wîíôû ÃÆÿº
={#Àæuv¾$oê^҅Ók‹Y¹Pœ?íbދúTI:D»¨GÞK…ëÏlI^ԉÅÔ&äE}PÔ3q9rQ~æk‹õD@qŽ×Yâ™ë’¼¨Wº˜e¿C²_\›˜!/ꣀ¢>Úã'ü¿Ã&/ꭀ¢>#(Í#³þ
^b=P>ëØ5nâj²É§æ䣶€yQ5wÙäŹs;汜Ë^m°É‹õO@ûñv»ý>’7ã¿<öÙ췏߃6ùBÿž¢Pÿmòâ\¼€kmùkᅬä›õïGÜ/»ü·mòâœ}ÿW”Ì&/ÎãY•ŸßŽ?Ό±òÖ¿c1pQ?D»výÐÖ¿8¯ç¢aÏß|Ê&/ö7ëI~ü"òÏÙäÅz¹hu®vyq½@4!/Î[W¯ÎÏoϟ›^Ódù9¶F;¯l»|­£Lòz~ùú?PKVOþ®~Þ°*native/jnilib/linux/linux.soÍmtTGuö£6@0Û4¥­ÝÂÒ&H7)„J¡jJXZbÚ¦MJh—eó’]ØìÆ}où¨¤_RY×Õh©¢¶ÚŽÇÊiQi-r¬äЉ¬Õ5?‚¾%KXËZRˆ¬÷ÎÌÛ÷Þf·ÕÖ}97÷ݙ;sçÞ¹sçî›yÂU¿Òd2õ±ÀR;Š	©œº…•W;±’r2‹Ì$7{NÏep6BëiÙ"ë `=ÀÇx½õÊ"½„Ö[<#µ<Z?`	4%‹y]	ÀL€Û9}À§ù;ˆ‚q³çVŽ§”ñw'aºªÏm×ó÷yWrüI4É€*€›nX˜oÀÿçg@qžòçÐ7p|#À;À€O”òºk9þÇóÊù{€ƒ¿Ï¸ŽÐi#××þ©[HÅ;ŠUšUTÏQéi7diÆ88W¥§SŒ>Ãh¦ÙP–.¡x$KÛ(._¬ÒlF«²ôòì~†ê>•4€ó-‚Iû
+§7‚_^“íçô6 Ïý3£ß€òC`4;§Ñ·.ÿòό
+~†þoïú×àlë̌^å'AßñúePßÑÁé=@ï§ú<§ë€^Žüu.¯‡/¶^Âæî[çmš>ufVÿ^n>Ja>þÀçèq«ðoAÞ;¼ýà?3üƒÓ!Àϖhã=ÀÛ{xÿã\ž‹Ó÷ÔôÉ|¼S,šým`Ÿ¯ÞdÓôkäúìãã¹Iç¥àêz;F˜ïžçüœÿ]ÀG Q˜ËûŒç•›Ù:Eڜ#­IëÛπúj]ý— ¾K7ÿ7ýX,›8ýcÀ¯Âøïä´Âû«UísS¦Ùoˆçk>Žæû§¼~9·_5¯×Ç;Àßyý5¼~jN=q¯øâýwß·ª–¸Ýmí¡ [”<aÉí&nÐ/w+ ¨ònõà«'àL îºÍ6¿(	áڀG‘´	R£öۖo“€
+[¹2j¯Ã²»Ãa϶œòZŸ'Ìʳ͵·5~ÉW/Û$Ÿ®ŒlñŠ!˜k
b"i÷!/¥pÐÛ¡ë…Þ'H¾P–­ñ·…ÊY?~qUìô
+´bͪ ¤c•|áÐ×V¯Ð!ùCA²%엄úPŠõz$Òâ
IXáÇAmjÑ,š…ö	H~®>èGÇb¥ûB-©ólö¸Cá6wP6ž •€vG$@t‹Û`"ÚÝMAÿÖû=’³ÐD‹AÀJBc‡Ç+T‘v¡]$ÚíæVñŽêÞ/tÓ „Ûý¢Z‹UD쀁K­Äëk£|˜áºýÀùÅÚH8,¥&QßÝÒîV¡±…ˆ¿…ü¼N1ä¼\z+ÚáZ<’
+6ˆ"ó~(
+¶{êW-¯u/tÞ®½9eßfߪHþÇTàϬF[t5VÈz4*·ËukÌLønkÛÙÒl+oòOÁÌÆÁéRZo!Uœ¶QÚL–ZX{Üïp§]ÀñD>IÉ~ÄPv1$?½€¯†-·1Äôãˆ!°¼‚Ë bˆý§C{1ľ!Ä°
#†½l1l,
+bˆ•IÄ°‡¤C,N#†à4ŽbñbÜÓa,WC"aEã+B	X1bH<lˆ!±*CÓ21$R7 †>ìˆ!‘s }š¢gäd‘rBªò0ØSùòDÉü³ÂÌÞ"nßÌ^Ì+|øšÎÀ³­èÃêÄ ¥1Oðaa¢—Ò˜úð_â¥1ƒòa¸M<Gi|õaz”è¡4fG>t¤ÄJc•SÒD¥1;ôÕ ½žÒÈêí2Ñ@iŒú¾¤k(M}_@ºŠÒw!½i;¥±+*”°QzҘB$¥±kßV¤SW®Gz՟Ò(Ê·‹êO金î¡úSEûöPý)½éç¨þ”Æ¡ø^ úSÓsߪ?¥qh¾×¨þ” ÝKõ§4Õwœê´~ÕÁœ6>¨à[óξù`ÇØSТû”t•Ò/_h>Ñ×£{_ù°ïì»®$'­;oÇæ‘%19-{¥ëc²%Q«C1AÉè4¹×•Ñ<™S1Šc¶îS‘Ä1[šä~+‰¼Eâ¤ýÿ€õ{ªŠ
hFì©qö6-.cȜb­c78úpl«åd2•;ûš¡ý€,"w“’®&pܘ«(FbºˆúÚ°=æ*Ž®pX¤FÆågÎAï+ÅqùyöV}8Ëñfԥȝ
+thÍvس‹v¨ kn®¤Ü™î7³2{ö›ñ5idKñÊ^Z™ª1֎ȝ)"=Îy†gd’§£4gª±`e*mÐê£5Ñ7áüò°Ób3QÛåôÍM¶nRñˆÜ_Óüè‰>œ>9Y­®àüiÎ@Šhƞ—÷1‹êÇ+w¦Á>ݚ}pzâòáì,ôñY`£Ò5—;ljôiÞ{GÌeƒú2PÂƄâLÇ\ãy§4uÒFuRru³¦ÍÿÚLûpÚüæ# ÍPǦœœ@uîrÐ.aƒQcô ±ÎôÛ/E_¼w’'+?¾”ÉÈý¶f·j˜2¥›öôö\68à9rIUMßrô]lY–µ¨C©§
ÍE‹¦µzˆ¾ÙHä6nº¯›Ñt§Á`ªëæ;ñ¤fg¶plùlê5,‰b¶$lÆ%1n´šé¡+U¼ïRSi†Îi’–û:%Û.£’§çü_•ì%W|(%ÇÆÿ[%×Ð`»ój9vs6Øçþ$íŽÌ¿hz#˜’1ù:c³‡9UO=­z*6]ƒÂæPa*GˆTkJcœ˜ˆþž6¹°ØbMI-œ`›— 
TX\#Dzƒ3FÂ$3’Í	sŠi$tkN°á]4ÏI;š'©‹“¶X¦áKºžÏ
oñÀ‘­Tž€#­6lDé¼s“Æù~ô´Y²à|«Å)cqÒèë_G5•›>²j~õ_RM9Y~Ìu9ú'­Á	¹s‚HËøøvÐñMäß.×eMڄ¾¦äu×e͢Ѣßùdî¦3Ù¢Ì2!ƒ5ÏåZ3ïVãPƒJ66L¶æ{î+zØúø̍úí1=i{d‚s–%L\QÁé0çDž«©@éFÔwÁ]ùšäê±\É<-ג¶~6]7¦nÌ☺{åÆ#ˆp²“a+â
NFxå Z9ȃUÜjFoÜvÙô1]6–ƪ×/`<²éJöӝñ•¯Ñæt%I+¹2Õ,mdQŸg
+ï¹®N}¨”KÜýó=«@ 3D¹je{§"q=ÚgȘ!m™4Ãrç0XóZsN蛜!
çdÁ†ßÏ6xq¬@ÅÐàP¶Á¯
+5HhÐ_¨A
+w›’.§	·+t0‡IݸfÓ7Œv¶¬ÓaZÇgg$o<ü«wëw!Ãìê-éþ®Æhø’wÁKùº4¬±’×{£®!¹sˆDn50§
+2X­£Wƒ/˜.”ÎïˆÃÆâ!}öíPìo£oů£i”iR‚ñx
+×Bޘ¿÷üÿ”¯ýâŸ(ÈQHPXÐÒÿEPµr?txVvµ¸†µEÃæ„á‘—ÂXéö:ZǙšu3Yœßù{̓r,‹k¸VbܕÌ`óe®‘ðKq×0æ^ÔéMQ©'”t
“lːxYð{Ž…4ˆW.ÓLÙÈ#êè°ˆ>jiJ6[\ã1Ò5Ç]é‰»RºGAófÚ2WjËïh¥¼ô•1Zã̐ГÅ5Ô:€«˜5Ï*ZòW†ÔÐ<^Fsk›Þq¯±+?8SV4“%ñ‘bžë&hVèÉ7mj8ÙmHw'o±IÐ?“€œãΤ–ŅcHc“±¦”–ÆҐ}1‰:QY{̺õZœã‰4†B’jÇð;çÈII9<†ú•mñŒn¦–@&Üݹ6æڏã(ŽÚ\xfFpuïaÚì‘û%n«Õ;“Ï@¡²‰ö÷֌œ+Jj”îÓFgŽ»º¢G_[Ï~ø™¬ôGP™C1£_”¾„+²)ûá$–Fšc®]¿¤œà\M`éݱ¦=Ñnü}ZÂ9¦ï%z,úGðÀ--yy0úôvd·t#Ž=ÝA‹›’¦Áè@4¢D;“ô'D)—לDÏâ?nø	±³•l~Ô­ómçP㿗åj|å,Ý«¹ª|ÅÕ()dùBy×0‹ý‚1K·Â«T	ÿM’y2ËäôŒ	µU“s]eð’ø	äÓõ=J•E^ÄÔõæA,ÃV~ÒTÌ£jÚþDM÷éFD/¼ˆ’ÁüqùìŽM=ëÙÑÜôc¨dÈ–Žfóš“4qÅæÐr¶¼ïŽtnƒ>FgÄåqCz Øh×)Ú5åûÛÙlÜiÕp]”DƒG®Í5x<AƒK\2
Çhbi:x3¢2Z9Iú·(]S<g³1eÔs¯ãVåÉQÁ…R°ì®³è’%»{K^íeŸ$ù·RlÚ?))ÎDŠ6Z”ALì‘	γºQùíh_)¦ðÅxÃD¬fBÏH%Ñ73ƒ±•ò˜ÈÈõ#[ƒÚñf”Þz–}©%¤¼¢y¹zV&’žÍžÊ€'ØVɏËʛ—¯ZU±šÜ…§•Ÿ²–’ì)¯¨Ïm°
+Wa](ÜV©ž,UfO–*éÉR¥ ꉕìdI;åkÞô?bŸöõ¡¶û<AO›&å«&µ1eü¡Ê•þ€@Êó²©p®eh‰n±Fk‰°Õ/JÙÓEÒ(¯$´Ø½>èJ°·‡Z{ù¼@K…Ý/ڃ!É.F::Ba`!µžàzÉ]Ú[¡7»—›Ù;´c8fGLýõ™x…'#x?oZà¹;Fºƒ„ÝÝ9p»cSefçÎøolà×?<z:XÍγ	»;ƒgÔxçfh
+{?8…YãiÞ/ÁÍæJ&j™BÇÂ1@JCÅ%ÀfòÁõþ>†ž¸0;`>ÀR€:€µøÀ÷öüà78p	`*g6À|€¥uk6³3·a”{OmíR{ù=÷7UØ«UÎ*ûªªÅU‹.¶—?Óx¯Gbå·ÝYQùö;s™—|ä™ó+è}¢–<ˆÓç}ÄÙ²-(nkgX
+g[0âÜ,„Ñ;
„êÂBùØKG@"Nz‡Á)	[á?½Éà‡èi¯Sð¹[Þv8½RŽ³…¡Þ0æi÷{A@H¢ÿXo¬åؼ¡övX+ÿ½MãkÂÌ×Âv£ñ±r¸†ób9®„¶^¦q\?x/ÇÂùp!¬°hòÔ;uxŸ,Ã×®„¢ÉUϔñˆê
+çÃõ…ÐÀe˜¸\|ð^ÐU)ʉQ\§+u|¸ž9=EÇ÷ïãÆ„™:»©rët|ýS0ùšt|xoáàO=3oÖñaÜB˜G®‡óá¸ñžÂ¦É|~Þ?C°’É|"çC»ÒûŒs	)ÊÃ÷˜Žï«
àÛ©ãÃ{l#ä>ÉuE>zOr.»SdÑñaÿßÔõ‡÷^pïªvÞ­ãÃ8~ø¤<|Ïêø0æ•Ï˯Ç^.ùð¾UÕ¼üz¼@4ßÆù>®+0é°n9ÏÞÂîLåòýPKVOnative/jnilib/macosx/PKVOð\;Ï®06!native/jnilib/macosx/macosx.dylibí}|\EµðÜÝMšÒ´Ù4i›þߖ)ÿZ´à*‘—´Ù²µ«M¤X`’mH“5Ù@xߦlIû¾ì—FÃGÕ¨È+þÁ*(EAŠ‚†Û èاÑ_å´<·_‚¦^ó°t¿sfνwîݻٴ¥è{ÞóûÝÌ̝3gÎ9sæÌÌÝ{O~zú?bŒ¹àš—“17$~,gÃ5“q¨„ký¼§h÷öõö3tO´Uðþ5³¨­
6Ø`ƒ
6Ø`ƒ
6Ø`ƒ
6Øðw¿xûÓtðg™pM…«
+»<Œçýð'(÷m*75ôè)¶Ï`â!B ¶†uTsû½0֗'R‡LÓÅ¢z›êæpS]ÃÖ4j1¶G©LC΍Ɔæ°T6Ò_,xÆ4Yª«ê
a§ˆÆ)i’,¨Ç^Þ¶´¤¼DBò0ñ¸…R§$C PS®’yInï¢Ô GEnSsO}Mj.h›E©†‰\„·]wƏ~\—~%ñO)ÚÁ©û@àŽ–m¡@¸êöú KÑ~ƒJG‚,ۉiÑòò¶eën\ï+]§¶.¦¾!ue	½©ý¢N¦ÃUW\Ã×ÝìWio«ªnln½”Rw;–ñAÕ*Â+ùóëk§:7qJ+Zš›V^ïi·]¹Zmå ü¬bÑGO)cõÀÀ4Fòï„·‰ºòÕ¢œ¿FðxÒ+°¼Zˆ¢A±e6‰/ím°Ál°áâøgSbÿæYŒuFð71$îuF?ÊK±×?±±}¤8~ûŽae{[6ËÙy,¢¾¬NÖ¹÷"»!Òéˎ•.sA1æZ–x%v°«ý³°…{Ù]í_¹¬X¹†ñ«˜/ÞÞ‚™ÁîN0Ž¨fz¾‘ö¶ÀÔúì~́Ù#Ú(UöòÊÑö^ÅX¬½m”…·Ö`†Þ³ 5FHÅN¬ƒJ7PD‰ô&Çä&„Û&ÀÈv0µ]–‰6)햤ÛÇÚûŠ7ßvë ~Ðþªøãy¨ý¦+º «ý²™\›²Ð(TÎÎ]ºnphºÚÿi¦:׋\–@²½mŒ…?@ÔC>7ÔçûnÑ)ŽB¶&…©ñˆ.ȨQ‘ö¾U›u9þ8ÓBŽêÜÉÊñ¿sU9îÍý[ÉqSûÈ2 óLº;€dOu¶ýå;±þ“íq%Éjã+pÒô-ðöí#X·ÿ°D•AF~
_Ôöý\Tب>ížá97k¹‚4³Ûšùn®nÀ&]ÿ]b6¸­TVm°òlaån£••âÜKwãëßA­Œêz455Úïݓï—îI‰×—^¼ÒsoÕ¤Å3)%ißo½$È罦óntAq“ajJBß·Gx)2Á#ª	ÑM}Öú<èðn8<swŒ…WuVŒ¡³:|*ö2oöæ·±³bD÷Êǰ͖Å\Nß±CƒFw6"”Yº3Ómpg¥uÔÁÄgà¨Ç%/´l¨nþa³ˆM.@³ßç~ý†…dÔr!vq¹q€WŸæ£“r€Søë8Lïͺ€ìܗ}^|k
+ZÃ9Ø>RxÈ÷¦æ¾SL·k‰¿¨¼öøë𽙂‰œïûÞ|QÓå“Ùæ%#Y—B'=†§™ôh¹P,S=GJ>Ó¬
+ò°O͖—µ—/0û*ÑåՄâe¥Ãm­§› «
ñ‡¦¡Œ]À§¶Þç#I}’£)Õ7W}
+6ýÅêRú¨ËÙéýÓ|4è2…Óéڐ€iN•jå€æ‘º\´¾áyÈ0:§CÒ®i«~;OòÝüNÿ<“SŽ·s÷ËG{-‰³Ê¡Î·¶ºOìœƒÈ‡d&õœ‡¢ŽI¶föeí}6ôõkÎØ`дŸ™j„£ímGA“yÓ\ožªÂãYê 5624èÔüëÔ
Ž<®5ø^ªñ
~˜ªØÅHs¥‚ëÑ1È-ã94³yŠºF¹5ƒÃMË%=Úí½ª{Â=òþß0\;{sv}^GìÐ6ß©&x؊¤ÉÝôÆ|ƒímƒ¬åòHJästx
+؂b0žQk<j¼=¨mÀ»Â\S’v
íoñݦ•G¥Û“¼8á;Rž3IÂ^š‡}Gõ‰@§2“+¢--ŽÃ7ò“ŽÔ>Õ »I-'Ì,ØäøŽvŸc
+P¸Ö7ÔôhÜÆÒQ¥å¸k6:>Â9;_×½1qü{:ÓòÁwP!ñGwh\}´L
â2
+]tV€¥Œ<?äp‚Ëc[bŽ.°u¦tÁBö¸ËyÎÕ×úFî~ÉàˆŽÎ’Ðrú·ÆùItisî+Ÿkâwås
+~qðEړ®ÂmvK6
ÃñýºèÝVã5¢NÃæÔ¼ú

[... 699288 lines stripped ...]


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists