unset _mlre _mlIFS _mlshdbg;
# disable shell debugging for the run of this init file
if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '1' ]; then
   # immediately disable debugging to echo the less number of line possible
   case "$-" in
      *v*x*) set +vx; _mlshdbg='vx' ;;
      *v*) set +v; _mlshdbg='v' ;;
      *x*) set +x; _mlshdbg='x' ;;
      *) _mlshdbg='' ;;
   esac;
fi;

# define modules runtine quarantine configuration
export MODULES_RUN_QUARANTINE='LD_LIBRARY_PATH'

# setup quarantine if defined
if [ -n "${IFS+x}" ]; then
   _mlIFS=$IFS;
fi;
IFS=' ';
for _mlv in ${MODULES_RUN_QUARANTINE:-}; do
   if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" = "${_mlv#[0-9]}" ]; then
      if [ -n "`eval 'echo ${'$_mlv'+x}'`" ]; then
         _mlre="${_mlre:-}${_mlv}_modquar='`eval 'echo ${'$_mlv'}'`' ";
      fi;
      _mlrv="MODULES_RUNENV_${_mlv}";
      _mlre="${_mlre:-}${_mlv}='`eval 'echo ${'$_mlrv':-}'`' ";
   fi;
done;
if [ -n "${_mlre:-}" ]; then
   _mlre="eval ${_mlre}";
fi;

# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init/.modulespath)
eval "`${_mlre:-}/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash autoinit`"

# clean temp variables used to setup quarantine
if [ -n "${_mlIFS+x}" ]; then
   IFS=$_mlIFS; unset _mlIFS;
else
   unset IFS;
fi;
unset _mlre _mlv _mlrv

# export functions to get them defined in sub-shells
if [ -t 2 ]; then
   export -f _moduleraw
fi
export -f module

# setup ENV variables to get module defined in sub-shells (works for 'sh'
# and 'ksh' in interactive mode and 'sh' (zsh-compat), 'bash' and 'ksh'
# (zsh-compat) in non-interactive mode.
ENV=/usr/share/Modules/init/profile.sh; export ENV
BASH_ENV=/usr/share/Modules/init/bash; export BASH_ENV

# enable completion only in interactive mode
if [ ${BASH_VERSINFO:-0} -ge 3 ] && [[ $- =~ i ]] &&
   [ -r /usr/share/Modules/init/bash_completion ]; then
   source /usr/share/Modules/init/bash_completion
fi

if [[ ! ":$PATH:" =~ ':/usr/share/Modules/bin:' ]]; then
   PATH=/usr/share/Modules/bin${PATH:+:}$PATH; export PATH
fi

manpath=`manpath 2>/dev/null`
if [[ ! ":$manpath:" =~ ':/usr/share/man:' ]]; then
   MANPATH=/usr/share/man${manpath:+:}$manpath; export MANPATH
fi

# restore shell debugging options if disabled
if [ -n "${_mlshdbg:-}" ]; then
   set -$_mlshdbg;
   unset _mlshdbg;
fi;
