#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=1409f22edfa0d78a41912bdbbe1472462b62a32c

name=$(basename $0)  # e.g. hello-xshar.xshar
default_dir=/tmp/$name.$$

# User can override this, and then _build/oils.sh can use SKIP_REBUILD to make
# it faster.  Multiple runs without compiling.

export XSHAR_DIR=${XSHAR_DIR:-$default_dir}

change_dir() {
  mkdir -p "$XSHAR_DIR"
  cd "$XSHAR_DIR"
}

extract_data() {
  base64 -d <<'XSHAR_DATA' | tar -x -z
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
/7bxL4LudqMAeAAA
XSHAR_DATA
}

change_dir
extract_data
devtools/hello-xshar.sh "$@"