#!/bin/sh

# Generated by scripts/generate-files-update.sh. Do not edit the file list.
set -eu

# Override with: PREFIX=https://downloads.example.com/releases sh ./update.sh
PREFIX="${PREFIX:-https://fw-upgrade.ampo.tech}"
NEW_HASH='6f1ed4752987eca8df434be42f26cccdb52f9a34'

download_and_install() {
	repo_path=$1
	target=$2
	expected_sha256=$3
	mode=$4
	tmp="${target}.tmp.$$"

	if [ -d "$target" ]; then
		printf 'Refusing to replace directory: %s\n' "$target" >&2
		exit 1
	fi

	if [ ! -L "$target" ] && [ -f "$target" ]; then
		if actual_sha256=$(sha256sum "$target" 2>/dev/null); then
			actual_sha256=${actual_sha256%% *}
			if [ "$actual_sha256" = "$expected_sha256" ]; then
				chmod "$mode" "$target"
				return
			fi
		fi
	fi

	mkdir -p "$(dirname "$target")"
	rm -f "$tmp"
	if ! wget -O "$tmp" "$PREFIX/$NEW_HASH/$repo_path"; then
		rm -f "$tmp"
		exit 1
	fi

	actual_sha256=$(sha256sum "$tmp" | awk '{print $1}')
	if [ "$actual_sha256" != "$expected_sha256" ]; then
		printf 'SHA-256 mismatch for %s\n' "$target" >&2
		rm -f "$tmp"
		exit 1
	fi

	chmod "$mode" "$tmp"
	mv -f "$tmp" "$target"
}

download_and_install 'files/etc/crontabs/root' '/etc/crontabs/root' '1506f1adf5faa74dc250ef714cddeb03d4412eed8a2c9589903a131ba3061f40' '644'
download_and_install 'files/etc/init.d/boot' '/etc/init.d/boot' '7d792d3629914b495d621be7cea70221c9aa8779d712c1fd8ee1818ed7a8ae2e' '755'
download_and_install 'files/etc/init.d/check_network' '/etc/init.d/check_network' '96c4b49eb59a954d3b62aba329edef267533ff6c8e204c831145b36fa1a71936' '755'
download_and_install 'files/etc/uci-defaults/99-wifi_param_set.sh' '/etc/uci-defaults/99-wifi_param_set.sh' '4b56bd123ddf2274fb0211b212e4ca992b24d99d4572be31cdf120983fa0f976' '755'
download_and_install 'files/root/boot_wifi_run.sh' '/root/boot_wifi_run.sh' '1c04b57c01f2c4e18ed1df2e938812e5b63d16a31e20155e51badbdf52bac675' '755'
download_and_install 'files/root/check_network.sh' '/root/check_network.sh' 'b441627b97d063d6cbb33fecdb30b01a3b31c782f6021ef8581023c1d90981af' '755'
download_and_install 'files/root/default/ha_register/config.json' '/root/default/ha_register/config.json' 'fce0a6d69d1179987d5ac63cfe1ed26e9d7ba69aaed5e42e2e79200fb8808427' '644'
download_and_install 'files/root/default/ha_web_ui/config.json' '/root/default/ha_web_ui/config.json' '0b6cc150341b16e803089d6f66326d364afc4e1c8ffe07db8b5e062804859642' '644'
download_and_install 'files/root/default/zigbee/config.json' '/root/default/zigbee/config.json' 'e74fffc1776b3df03ca81e556715c5d53924df7583f252fb0ba32ed5968c7283' '644'
download_and_install 'files/root/default/zwave/store/settings.json' '/root/default/zwave/store/settings.json' '2c4f87721ab302eabf47a3b5cb8e17f50589db07fe35be0447e40797bd495a46' '644'
download_and_install 'files/root/ha_install_register' '/root/ha_install_register' '8079376981c5dbe5ba0ef3920915e2aae70d715c23989dba534af69389bc396b' '755'
download_and_install 'files/root/ha_web_ui/ha-web-server' '/root/ha_web_ui/ha-web-server' 'd7d0aaa1de2d9eb7da7fa943678b13594e2cf3f92c5b35d5f0f3a8e89e639cf2' '755'
download_and_install 'files/root/reset_default.sh' '/root/reset_default.sh' '59c004a36e7e1a9c767100d83d81bf3b6a3790688d936620b43b785f26326797' '755'
download_and_install 'files/root/restart_all_program.sh' '/root/restart_all_program.sh' 'c44619b9c1bfd3e027e39a265e556376cbf1ad22250dd9276152baf634fb7702' '755'
download_and_install 'files/root/start_my_prog.sh' '/root/start_my_prog.sh' '192d08284de97d1fcdf4e846a1347ac2aedf8f55a476b171236ec93aaf4f29fb' '644'
download_and_install 'files/root/wifi_connect.sh' '/root/wifi_connect.sh' 'b00a42c8d50aae8198378b3567e84d2caefe2ae77197245f647bcd883d155b3a' '755'
download_and_install 'files/root/zigbee/converters/custom/TLSR8258_AC_CONTROLLER.lua' '/root/zigbee/converters/custom/TLSR8258_AC_CONTROLLER.lua' '73e059e5e88a36f68f978d0eeca0f94776de8413d196f8353fcd722b6cbdbaef' '644'
download_and_install 'files/root/zigbee/converters/ikea/E2435_E2491.lua' '/root/zigbee/converters/ikea/E2435_E2491.lua' 'c874254e0b6288658b8997ae7e6e7f9c7994fa57e5ed9b4614b977052d223f86' '644'
download_and_install 'files/root/zigbee/converters/index.json' '/root/zigbee/converters/index.json' 'caac69dff3e4d87ef1534274e117ac180e73e1e8de8955b7acf73dd8196ea2cf' '644'
download_and_install 'files/root/zigbee/converters/ledvance/ST8EM-CON.lua' '/root/zigbee/converters/ledvance/ST8EM-CON.lua' '8094a07bebbef89232a67ae1d58468b6f131f6e99b9df0c40a8082d219aadf7b' '644'
download_and_install 'files/root/zigbee/converters/legrand/nmrd_1g_switch_ln.lua' '/root/zigbee/converters/legrand/nmrd_1g_switch_ln.lua' '781bed36903db50aabd7fae51d02d867837a71da1bf7b891e169a2ac8ed922f3' '644'
download_and_install 'files/root/zigbee/converters/linknlink/eMotion_Air.lua' '/root/zigbee/converters/linknlink/eMotion_Air.lua' '626012018a40985a50a131d7408295c069f9b3762f9abf986e742fdf7c9ef43e' '644'
download_and_install 'files/root/zigbee/converters/osram/4062172044776_1.lua' '/root/zigbee/converters/osram/4062172044776_1.lua' 'f2c647e38c23ff9e304793c9137fccc8efa4223e3128dd470b9306e7c76821f0' '644'
download_and_install 'files/root/zigbee/converters/schneider/E8331DST300ZB.lua' '/root/zigbee/converters/schneider/E8331DST300ZB.lua' 'd037547c13e0cfd0b9817387854e8fd9610f2ccf03b1b6f4d76b9953071b41ab' '644'
download_and_install 'files/root/zigbee/converters/schneider/E8331SRY800ZB.lua' '/root/zigbee/converters/schneider/E8331SRY800ZB.lua' '7b80972e8525f22bc525f3162acae78d1b3ed95f90d519567870b15fcd39505c' '644'
download_and_install 'files/root/zigbee/converters/schneider/E8332DST350ZB.lua' '/root/zigbee/converters/schneider/E8332DST350ZB.lua' '5812bc5e0b91b344c52eea5378984cc562b48add992584c26fcd59858bfffc72' '644'
download_and_install 'files/root/zigbee/converters/schneider/E8332SRY800ZB.lua' '/root/zigbee/converters/schneider/E8332SRY800ZB.lua' '9574924e7ddde3e1d42a8494c60b8522539ad455ec6f8c3c67e06b0ad072d30f' '644'
download_and_install 'files/root/zigbee/converters/schneider/E8333SRY800ZB.lua' '/root/zigbee/converters/schneider/E8333SRY800ZB.lua' '7be7fcd527d69501fec6395a2e067b1f3ead85f0d13b0df237f5b90417920fd0' '644'
download_and_install 'files/root/zigbee/converters/tuya/S-LUX-ZB.lua' '/root/zigbee/converters/tuya/S-LUX-ZB.lua' '9941f7584e55f3aa305930a6ce87c87387bad97c1475988f61678ee8215e3791' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0207_repeater.lua' '/root/zigbee/converters/tuya/TS0207_repeater.lua' '36440780f8a48174f44f56ac1bec591f320b9f719eed1d1b2186902c8deff124' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0301_dooya_dm35.lua' '/root/zigbee/converters/tuya/TS0301_dooya_dm35.lua' '47e6d2137a3547786ae2d22885a4d4a0573ef97901971576da737d4c08b91753' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0301_usalx0e0.lua' '/root/zigbee/converters/tuya/TS0301_usalx0e0.lua' '82dc6c466b67b71a48efa7e69aa38ccc5e0d77690c9bb9b39a3cfa67ed41819b' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0601_cover_1.lua' '/root/zigbee/converters/tuya/TS0601_cover_1.lua' '1d447d785bf67050a3a06ddb2a10ca8a90bae894dbafb78a0dbbbea7c095cbbd' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0601_cover_2.lua' '/root/zigbee/converters/tuya/TS0601_cover_2.lua' '42bb35917fe791bc65530925438bb8c2cddfb9cb7cf629c2d4134bd4ba6e5f4a' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0601_cover_dooya.lua' '/root/zigbee/converters/tuya/TS0601_cover_dooya.lua' 'e8ba1ba5dcec21665acc4e80d8e1f4dc0752f8ee197264d9e0d74de97756ec8e' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0601_cover_wzre8hu2.lua' '/root/zigbee/converters/tuya/TS0601_cover_wzre8hu2.lua' '85398cb8ea7b08eec3dbebd6f119f8f3b076a282919e80cf241c3b143beab39b' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0601_pir.lua' '/root/zigbee/converters/tuya/TS0601_pir.lua' 'eb1e975690c7751554c17982d425dead30fa7ab26f66c872b60123eccf6e2b60' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0726_1_gang_1_scene.lua' '/root/zigbee/converters/tuya/TS0726_1_gang_1_scene.lua' '2e85dae9bc79682ae21c706e1da9593b71eccb18bc811139a1798548d8fb899e' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0726_2_gang_2_scene.lua' '/root/zigbee/converters/tuya/TS0726_2_gang_2_scene.lua' '295c1cc6861d1e20a02019a1f4d5a42ae3e70d4f6e6a43d760970d2406db6720' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0726_3_gang_3_scene.lua' '/root/zigbee/converters/tuya/TS0726_3_gang_3_scene.lua' 'c2331fd41d8a07aadffb54247778be836f424e6513800e95710cfa3dba5ed414' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0726_4_gang.lua' '/root/zigbee/converters/tuya/TS0726_4_gang.lua' '33ab764c394418cb08352c68f1addf737e809a128c18a9d4429796909c245d67' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0726_4_gang_2_scene.lua' '/root/zigbee/converters/tuya/TS0726_4_gang_2_scene.lua' 'a6d14eb54163addaaf99bd7f68ee5d8159b10462aafc0e44af1e488d3cb2d3b8' '644'
download_and_install 'files/root/zigbee/converters/tuya/TS0726_4_gang_4_scene.lua' '/root/zigbee/converters/tuya/TS0726_4_gang_4_scene.lua' 'b63e63f403cfc2cceee5ee454adc1e0522eeb25c6fc4c402d5e4e9b8065fdf9e' '644'
download_and_install 'files/root/zigbee/converters/tuya/TY0A01_lock.lua' '/root/zigbee/converters/tuya/TY0A01_lock.lua' 'd64d54ffbe3ef07da07fd913c477b36d867e0d9dde2f95c22b0e9dff77846531' '644'
download_and_install 'files/root/zigbee/ota/1141-0201-20020000-sampleLight_8258.zigbee' '/root/zigbee/ota/1141-0201-20020000-sampleLight_8258.zigbee' 'c776854e739a1c63e97a04c08e3a384f05f16379d6d1ab18e924282334d1e46b' '755'
download_and_install 'files/root/zigbee/zigbee_gateway' '/root/zigbee/zigbee_gateway' '26c9ad9a9f92cf88f96d0d514cd915a6ca23597233b7e9b6a0271ab0035b7148' '755'
download_and_install 'files/root/zwave/zwave-app' '/root/zwave/zwave-app' '44f73ea42f59e7b251d765e7c34825c81a84d157169aec3e537fe0cee5f4a18e' '755'
download_and_install 'files/usr/sbin/wg-provision' '/usr/sbin/wg-provision' '12818730867030238ae0cd74dfa0a1f4d02e169f62d69fdc0262517a8f02fa3c' '755'
download_and_install 'files/root/VERSION' '/root/VERSION' '6cf4e084b47f33c9b02ef79279d157833868f8f70514169a768be353ee328fea' '644'

printf 'Updated to %s\n' "$NEW_HASH"
