#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=88d9ef7a35049eeae854fbf2426b077436450601

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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
fwC05tLvAHgAAA==
XSHAR_DATA
}

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