Here's instructions for how to build all the third-party libraries that this service uses.

# How to build /public_html/styles/normalize.css-8.0.1.css
wget "https://github.com/necolas/normalize.css/archive/refs/tags/8.0.1.tar.gz"
tar -xf "./8.0.1.tar.gz"
mv "./normalize.css-8.0.1/normalize.css" "./normalize.css-8.0.1.css"
rm -r "./8.0.1.tar.gz" "./normalize.css-8.0.1"

# How to build /public_html/scripts/base64.js-3.7.5.js
wget "https://github.com/dankogai/js-base64/archive/refs/tags/3.7.5.tar.gz"
tar -xf "./3.7.5.tar.gz"
mv "./js-base64-3.7.5/base64.js" "./base64.js-3.7.5.js"
rm -r "./3.7.5.tar.gz" "./js-base64-3.7.5"

# How to build /public_html/scripts/bech32-2.0.0.js
wget "https://github.com/bitcoinjs/bech32/archive/refs/tags/v2.0.0.tar.gz"
tar -xf "./v2.0.0.tar.gz"
sed -i 's/Object.defineProperty(/\/\/Object.defineProperty(/g' "./bech32-2.0.0/dist/index.js"
sed -i 's/exports/globalThis/g' "./bech32-2.0.0/dist/index.js"
mv "./bech32-2.0.0/dist/index.js" "./bech32-2.0.0.js"
rm -rf "./v2.0.0.tar.gz" "./bech32-2.0.0"

# How to build /public_html/scripts/bignumber.js-9.1.1.js
wget "https://github.com/MikeMcl/bignumber.js/archive/refs/tags/v9.1.1.tar.gz"
tar -xf "./v9.1.1.tar.gz"
mv "./bignumber.js-9.1.1/bignumber.js" "./bignumber.js-9.1.1.js"
rm -rf "./v9.1.1.tar.gz" "./bignumber.js-9.1.1"

# How to build /public_html/scripts/BLAKE2b-0.0.2.js
wget "https://github.com/NicolasFlamel1/BLAKE2b-WASM-Wrapper/releases/download/v0.0.2/BLAKE2b-0.0.2.zip"
unzip "./BLAKE2b-0.0.2.zip"
sed -i 's/"BLAKE2b.wasm"/"." + getResource(".\/scripts\/BLAKE2b-0.0.2.wasm")/g' "./wasm/BLAKE2b.js"
mv "./wasm/BLAKE2b.js" "./BLAKE2b-0.0.2.js"
rm -rf "./BLAKE2b-0.0.2.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/BLAKE2b-0.0.2.wasm
wget "https://github.com/NicolasFlamel1/BLAKE2b-WASM-Wrapper/releases/download/v0.0.2/BLAKE2b-0.0.2.zip"
unzip "./BLAKE2b-0.0.2.zip"
mv "./wasm/BLAKE2b.wasm" "./BLAKE2b-0.0.2.wasm"
rm -rf "./BLAKE2b-0.0.2.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/ChaCha-2.1.0.js
wget "https://github.com/calvinmetcalf/chacha20poly1305/archive/refs/tags/v2.1.0.tar.gz"
tar -xf "./v2.1.0.tar.gz"
cd "./chacha20poly1305-2.1.0"
browserify index.js --standalone chacha -o "../ChaCha-2.1.0.js"
cd ..
rm -rf "./v2.1.0.tar.gz" "./chacha20poly1305-2.1.0"

# How to build /public_html/scripts/crc32-1.2.0.js
wget "https://github.com/SheetJS/js-crc32/archive/refs/tags/v1.2.0.tar.gz"
tar -xf "./v1.2.0.tar.gz"
mv "./js-crc32-1.2.0/crc32.js" "./crc32-1.2.0.js"
rm -rf "./v1.2.0.tar.gz" "./js-crc32-1.2.0"

# How to build /public_html/scripts/Ed25519-0.0.22.js
wget "https://github.com/NicolasFlamel1/Ed25519-WASM-Wrapper/releases/download/v0.0.22/Ed25519-0.0.22.zip"
unzip "./Ed25519-0.0.22.zip"
sed -i 's/"Ed25519.wasm"/"." + getResource(".\/scripts\/Ed25519-0.0.22.wasm")/g' "./wasm/Ed25519.js"
mv "./wasm/Ed25519.js" "./Ed25519-0.0.22.js"
rm -rf "./Ed25519-0.0.22.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/Ed25519-0.0.22.wasm
wget "https://github.com/NicolasFlamel1/Ed25519-WASM-Wrapper/releases/download/v0.0.22/Ed25519-0.0.22.zip"
unzip "./Ed25519-0.0.22.zip"
mv "./wasm/Ed25519.wasm" "./Ed25519-0.0.22.wasm"
rm -rf "./Ed25519-0.0.22.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/glMatrix-3.4.1.js
wget "https://github.com/toji/gl-matrix/archive/refs/tags/v3.4.1.tar.gz"
tar -xf "./v3.4.1.tar.gz"
mv "./gl-matrix-3.4.1/dist/gl-matrix.js" "./glMatrix-3.4.1.js"
rm -rf "./v3.4.1.tar.gz" "./gl-matrix-3.4.1"

# How to build /public_html/scripts/hi-base32-0.5.1.js
wget "https://github.com/emn178/hi-base32/archive/refs/tags/v0.5.1.tar.gz"
tar -xf "./v0.5.1.tar.gz"
sed -i 's/: {};/: self;/g' "./hi-base32-0.5.1/src/base32.js"
mv "./hi-base32-0.5.1/src/base32.js" "./hi-base32-0.5.1.js"
rm -rf "./v0.5.1.tar.gz" "./hi-base32-0.5.1"

# How to build /public_html/scripts/jQuery-3.6.4.js
wget "https://github.com/jquery/jquery/archive/refs/tags/3.6.4.tar.gz"
tar -xf "./3.6.4.tar.gz"
mv "./jquery-3.6.4/dist/jquery.js" "./jQuery-3.6.4.js"
rm -rf "./3.6.4.tar.gz" "./jquery-3.6.4"

# How to build /public_html/scripts/JSONBigNumber-1.1.1.js
wget "https://github.com/wbuss/JSONBigNumber/archive/refs/tags/v1.1.1.tar.gz"
tar -xf "./v1.1.1.tar.gz"
cd "./JSONBigNumber-1.1.1"
sed -i 's/.exports = {/.exports = {optimization: {minimize: false},/g' "./webpack.config.js"
npm install
npm run build
cd ..
mv "./JSONBigNumber-1.1.1/dist/JSONBigNumber.min.js" "./JSONBigNumber-1.1.1.js"
rm -rf "./v1.1.1.tar.gz" "./JSONBigNumber-1.1.1"

# How to build /public_html/scripts/jsQR-1.4.0.js
wget "https://github.com/cozmo/jsQR/archive/refs/heads/master.zip"
unzip "./master.zip"
mv "./jsQR-master/dist/jsQR.js" "./jsQR-1.4.0.js"
rm -rf "./master.zip" "./jsQR-master"

# How to build /public_html/scripts/js-sha3-0.8.0.js
wget "https://github.com/emn178/js-sha3/archive/refs/tags/v0.8.0.tar.gz"
tar -xf "./v0.8.0.tar.gz"
mv "./js-sha3-0.8.0/src/sha3.js" "./js-sha3-0.8.0.js"
rm -rf "./v0.8.0.tar.gz" "./js-sha3-0.8.0"

# How to build /public_html/scripts/js-sha256-0.10.0.js
wget "https://github.com/emn178/js-sha256/archive/refs/tags/v0.10.0.tar.gz"
tar -xf "./v0.10.0.tar.gz"
mv "./js-sha256-0.10.0/src/sha256.js" "./js-sha256-0.10.0.js"
rm -rf "./v0.10.0.tar.gz" "./js-sha256-0.10.0"

# How to build /public_html/scripts/qrcode-generator-1.4.4.js
wget "https://github.com/kazuhikoarase/qrcode-generator/archive/refs/tags/js1.4.4.tar.gz"
tar -xf "./js1.4.4.tar.gz"
sed -i '0,/out.writeByte(0x00);/s//out.writeByte(12);/' "./qrcode-generator-js1.4.4/js/qrcode.js"
sed -i '0,/out.writeByte(0x00);/s//out.writeByte(12);/' "./qrcode-generator-js1.4.4/js/qrcode.js"
sed -i '0,/out.writeByte(0x00);/s//out.writeByte(13);/' "./qrcode-generator-js1.4.4/js/qrcode.js"
mv "./qrcode-generator-js1.4.4/js/qrcode.js" "./qrcode-generator-1.4.4.js"
rm -rf "./js1.4.4.tar.gz" "./qrcode-generator-js1.4.4"

# How to build /public_html/scripts/Secp256k1-zkp-0.0.29.js
wget "https://github.com/NicolasFlamel1/Secp256k1-zkp-WASM-Wrapper/releases/download/v0.0.29/Secp256k1-zkp-0.0.29.zip"
unzip "./Secp256k1-zkp-0.0.29.zip"
sed -i 's/"secp256k1-zkp.wasm"/"." + getResource(".\/scripts\/Secp256k1-zkp-0.0.29.wasm")/g' "./wasm/secp256k1-zkp.js"
mv "./wasm/secp256k1-zkp.js" "./Secp256k1-zkp-0.0.29.js"
rm -rf "./Secp256k1-zkp-0.0.29.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/Secp256k1-zkp-0.0.29.wasm
wget "https://github.com/NicolasFlamel1/Secp256k1-zkp-WASM-Wrapper/releases/download/v0.0.29/Secp256k1-zkp-0.0.29.zip"
unzip "./Secp256k1-zkp-0.0.29.zip"
mv "./wasm/secp256k1-zkp.wasm" "./Secp256k1-zkp-0.0.29.wasm"
rm -rf "./Secp256k1-zkp-0.0.29.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/SMAZ-0.0.31.js
wget "https://github.com/NicolasFlamel1/SMAZ-WASM-Wrapper/releases/download/v0.0.31/SMAZ-0.0.31.zip"
unzip "./SMAZ-0.0.31.zip"
sed -i 's/"SMAZ.wasm"/"." + getResource(".\/scripts\/SMAZ-0.0.31.wasm")/g' "./wasm/SMAZ.js"
mv "./wasm/SMAZ.js" "./SMAZ-0.0.31.js"
rm -rf "./SMAZ-0.0.31.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/SMAZ-0.0.31.wasm
wget "https://github.com/NicolasFlamel1/SMAZ-WASM-Wrapper/releases/download/v0.0.31/SMAZ-0.0.31.zip"
unzip "./SMAZ-0.0.31.zip"
mv "./wasm/SMAZ.wasm" "./SMAZ-0.0.31.wasm"
rm -rf "./SMAZ-0.0.31.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/X25519-0.0.23.js
wget "https://github.com/NicolasFlamel1/X25519-WASM-Wrapper/releases/download/v0.0.23/X25519-0.0.23.zip"
unzip "./X25519-0.0.23.zip"
sed -i 's/"X25519.wasm"/"." + getResource(".\/scripts\/X25519-0.0.23.wasm")/g' "./wasm/X25519.js"
mv "./wasm/X25519.js" "./X25519-0.0.23.js"
rm -rf "./X25519-0.0.23.zip" "./wasm" "./asm.js"

# How to build /public_html/scripts/X25519-0.0.23.wasm
wget "https://github.com/NicolasFlamel1/X25519-WASM-Wrapper/releases/download/v0.0.23/X25519-0.0.23.zip"
unzip "./X25519-0.0.23.zip"
mv "./wasm/X25519.wasm" "./X25519-0.0.23.wasm"
rm -rf "./X25519-0.0.23.zip" "./wasm" "./asm.js"
