@REM set "SCRIPT_PATH=%~dp0"
if exist %~dp0images\anti_version.txt (for /f "delims==" %%a in (%~dp0images\anti_version.txt) do (set CURRENT_ANTI_VER=%%a))
if [%CURRENT_ANTI_VER%] EQU [] set CURRENT_ANTI_VER=0
for /f "tokens=2 delims=: " %%i in ('fastboot %* getvar anti 2^>^&1 ^| findstr /r /c:"anti:"') do (set version=%%i)
if [%version%] EQU [] set version=0
set anticheck="antirollback check pass"
if %version% GTR %CURRENT_ANTI_VER% set anticheck="Current device antirollback version is greater than this pakcage"
echo %anticheck% | findstr /r /c:"pass" || @echo "Antirollback check error" && exit /B 1
fastboot %* getvar product 2>&1 | findstr /r /c:"dijun" || @echo "Missmatching image and device" && exit /B 1
fastboot %* getvar crc 2>&1 | findstr /r /c:"^crc: 1" && if %errorlevel% equ 0 (
fastboot %* flash crclist %~dp0images\crclist.txt || @echo "Flash crclist error" && exit /B 1
fastboot %* flash sparsecrclist %~dp0images\sparsecrclist.txt || @echo "Flash sparsecrclist error" && exit /B 1
)
fastboot %* erase boot_ab || @echo "Erase boot_ab error" && exit /B 1
:: secboot begin
fastboot %* flash xloader_ab %~dp0images\sec_xloader.img || @echo "Flash xloader error" && exit /B 1
fastboot %* flash xrse_ab %~dp0images\sec_xrse_fw.img || @echo "Flash xrse_fw error" && exit /B 1
:: secboot end
:: non-secboot begin
::fastboot %* flash xloader_ab %~dp0images\sec_xloader_xr.img || @echo "Flash xloader error" && exit /B 1
::fastboot %* flash xrse_ab %~dp0images\sec_xrse_fw_xr.img || @echo "Flash xrse_fw error" && exit /B 1
:: non-secboot end
fastboot %* flash bl2_ab %~dp0images\sec_bl2.bin || @echo "Flash bl2 error" && exit /B 1
fastboot %* flash uefi_ab %~dp0images\sec_uefi.img || @echo "Flash uefi error" && exit /B 1
fastboot %* flash ddr_param_ab %~dp0images\sec_ddr_para.img || @echo "Flash ddr_param error" && exit /B 1
fastboot %* flash boot_logo_ab %~dp0images\boot_logo.img || @echo "Flash boot_logo error" && exit /B 1
fastboot %* flash xctrl_cpu_ab %~dp0images\sec_xctrl_cpu.img || @echo "Flash xctrl_cpu error" && exit /B 1
fastboot %* flash xctrl_ddr_ab %~dp0images\sec_xctrl_ddr.img || @echo "Flash xctrl_ddr error" && exit /B 1
fastboot %* flash nvmem %~dp0images\nve.img || @echo "Flash nvmem error" && exit /B 1
fastboot %* flash lpctrl_ab %~dp0images\sec_lpctrl.bin || @echo "Flash lpctrl error" && exit /B 1
fastboot %* flash bl31_ab %~dp0images\sec_bl31.bin || @echo "Flash bl31 error" && exit /B 1
fastboot %* flash tee_ab %~dp0images\sec_tee.bin || @echo "Flash tee error" && exit /B 1
fastboot %* flash xhee_ab %~dp0images\sec_xhee.img || @echo "Flash xhee error" && exit /B 1
fastboot %* flash xspm_ab %~dp0images\sec_xspm.img || @echo "Flash xspm error" && exit /B 1
fastboot %* flash xsps_ab %~dp0images\sec_xsp.img || @echo "Flash xsps error" && exit /B 1
fastboot %* flash sensorhub_ab %~dp0images\sec_sensorhub.img || @echo "Flash sensorhub error" && exit /B 1
fastboot %* flash adsp_ab %~dp0images\sec_adsp.bin || @echo "Flash adsp error" && exit /B 1
fastboot %* flash isp_ab %~dp0images\sec_isp.img || @echo "Flash isp error" && exit /B 1
fastboot %* flash npu_ab %~dp0images\sec_npu.img || @echo "Flash npu error" && exit /B 1
fastboot %* flash dtbo_ab %~dp0images\dtbo.img || @echo "Flash dtbo error" && exit /B 1
fastboot %* flash sec_dtbo_ab %~dp0images\sec_dtb.img || @echo "Flash sec_dtbo error" && exit /B 1
fastboot %* flash vendor_boot_ab %~dp0images\vendor_boot.img || @echo "Flash vendor_boot error" && exit /B 1
fastboot %* flash init_boot_ab %~dp0images\init_boot.img || @echo "Flash init_boot error" && exit /B 1
fastboot %* flash vbmeta_ab %~dp0images\vbmeta.img || @echo "Flash vbmeta error" && exit /B 1
fastboot %* flash vbmeta_system_ab %~dp0images\vbmeta_system.img || @echo "Flash vbmeta_system error" && exit /B 1
fastboot %* flash vbmeta_vendor_ab %~dp0images\vbmeta_vendor.img || @echo "Flash vbmeta_vendor error" && exit /B 1
fastboot %* flash sap_ab %~dp0images\sap.img || @echo "Flash sap error" && exit /B 1
fastboot %* flash mcf_ota_ab %~dp0images\mcf_ota.img || @echo "Flash mcf_ota error" && exit /B 1
fastboot %* flash recovery_ab %~dp0images\recovery.img || @echo "Flash recovery error" && exit /B 1
fastboot %* flash misc %~dp0images\misc.img || @echo "Flash misc error" && exit /B 1
fastboot %* flash rescue %~dp0images\rescue.img || @echo "Flash rescue error" && exit /B 1
fastboot %* flash hdcp_ab %~dp0images\sec_hdcp.bin || @echo "Flash hdcp error" && exit /B 1
fastboot %* flash logfs %~dp0images\logfs_ufs_8mb.bin || @echo "Flash logfs error" && exit /B 1
fastboot %* flash pvmfw_ab %~dp0images\pvmfw.img || @echo "Flash pvmfw error" && exit /B 1
fastboot %* flash modem_ab %~dp0images\tmodem.img || @echo "Flash modem error" && exit /B 1
fastboot %* flash super %~dp0images\super.img || @echo "Flash super error" && exit /B 1
fastboot %* erase metadata || @echo "Erase metadata error" && exit 1
fastboot %* flash metadata %~dp0images\metadata.img || @echo "Flash metadata error" && exit /B 1
fastboot %* flash userdata %~dp0images\userdata.img || @echo "Flash userdata error" && exit /B 1
fastboot %* flash boot_ab %~dp0images\boot.img || @echo "Flash boot error" && exit /B 1
::fastboot %* oem cdms || @echo "set_active a error" && exit /B 1
fastboot %* set_active a || @echo "set_active a error" && exit /B 1
fastboot %* reboot || @echo "Reboot error" && exit /B 1