#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=1ec3912a2e53403aafa2323cc875e4ea7015e0da

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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
/A/JjQlhAHgAAA==
XSHAR_DATA
}

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