assert(getprop("ro.product.device") == "dumpling" || getprop("ro.build.product") == "dumpling" || 
       getprop("ro.product.device") == "OnePlus5T" || getprop("ro.build.product") == "OnePlus5T" || 
       getprop("ro.product.device") == "oneplus5t" || getprop("ro.build.product") == "oneplus5t" || abort("E3004: This package is for device: dumpling,OnePlus5T,oneplus5t; this device is " + getprop("ro.product.device") + "."););
assert(oneplus.file_exists("/dev/block/bootdevice/by-name/vendor") == "1" ||     abort("Error: Vendor partition doesn't exist!"););
assert(oneplus.verify_modem("2020-10-29 21:14:55") == "1" ||         abort("Error: This package requires firmware version 10.0.1 or newer. Please upgrade firmware and retry!"););
ui_print("Target: OnePlus/OnePlus5T/OnePlus5T:10/QKQ1.191014.012/2010292059:user/release-keys");
ui_print("                                         ");
ui_print("            _____            _     _     ");
ui_print("           |  __ \          (_)   | |    ");
ui_print("   ___ _ __| |  | |_ __ ___  _  __| |    ");
ui_print("  / __| '__| |  | | '__/ _ \| |/ _\`|    ");
ui_print(" | (__| |  | |__| | | | (_) | | (_| |    ");
ui_print("  \___|_|  |_____/|_|_ \___/|_|\__,_|  _ ");
ui_print("     /\             | |         (_)   | |");
ui_print("    /  \   _ __   __| |_ __ ___  _  __| |");
ui_print("   / /\ \ | '_ \ / _\`| '__/ _ \| |/ _\`|");
ui_print("  / ____ \| | | | (_| | | | (_) | | (_| |");
ui_print(" /_/    \_\_| |_|\__,_|_|  \___/|_|\__,_|");
ui_print("                                         ");
ui_print("***********************************************");
ui_print(" ROM version      : 11.2");
ui_print(" Android version  : 15");
ui_print(" Security patch   : 2025-02-05");
ui_print(" Build date       : Mon Mar 10 09:38:51 EET 2025");
ui_print("***********************************************");
ui_print(" Device           : OnePlus5T");
ui_print(" Manufacturer     : OnePlus");
ui_print("***********************************************");
ui_print("                                         ");
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
run_program("/tmp/install/bin/backuptool.sh", "backup", "/dev/block/by-name/system", "ext4");
ui_print("Patching system image unconditionally...");
show_progress(0.800000, 0);
block_image_update("/dev/block/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
ui_print("Patching vendor image unconditionally...");
show_progress(0.100000, 0);
block_image_update("/dev/block/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat.br", "vendor.patch.dat") ||
  abort("E2001: Failed to update vendor image.");
show_progress(0.020000, 10);
run_program("/tmp/install/bin/backuptool.sh", "restore", "/dev/block/by-name/system", "ext4");
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.100000, 10);
set_progress(1.000000);
