getprop("ro.product.device") == "wayne" || abort("E3004: This package is for \"wayne\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: xiaomi/wayne/wayne:9/PKQ1.180904.001/V12.0.1.0.PDCCNXM:user/release-keys");
ui_print("Target: xiaomi/wayne/wayne:9/PKQ1.180904.001/V12.0.2.0.PDCCNXM:user/release-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "xiaomi/wayne/wayne:9/PKQ1.180904.001/V12.0.1.0.PDCCNXM:user/release-keys" ||
    getprop("ro.build.fingerprint") == "xiaomi/wayne/wayne:9/PKQ1.180904.001/V12.0.2.0.PDCCNXM:user/release-keys" ||
    abort("E3001: Package expects build fingerprint of xiaomi/wayne/wayne:9/PKQ1.180904.001/V12.0.1.0.PDCCNXM:user/release-keys or xiaomi/wayne/wayne:9/PKQ1.180904.001/V12.0.2.0.PDCCNXM:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
show_progress(0.100000, 5);
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:26248522:a19f54c81b1ea7861bb7166ec8f4bde96538201a:26248522:13ba813bece1056d8709fd3e4caa71fe89a343b7") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:26248522:a19f54c81b1ea7861bb7166ec8f4bde96538201a:26248522:13ba813bece1056d8709fd3e4caa71fe89a343b7\" has unexpected contents.");
apply_patch_space(33628160) || abort("E3006: Not enough free space on /cache to apply patches.");
show_progress(0.100000, 70);
if (range_sha1("/dev/block/bootdevice/by-name/system", "1140,1,208,223,537,8303,8311,8316,8317,8516,8519,11413,11414,12593,12594,12600,12601,12606,12607,12925,12926,12932,12933,13001,13002,13017,13018,14668,14669,16445,16446,16457,16458,18211,18212,18215,18216,18223,18224,18227,18228,18447,18450,18454,18455,18819,18820,18901,18902,19056,19057,24541,24542,24650,24651,25302,25303,25312,25313,30932,30934,32768,32770,33100,33101,36496,36497,36944,36945,36949,36950,36973,36974,38072,38073,38097,38100,38238,38239,40601,40602,40612,40613,42658,42661,42872,42873,42878,42879,44183,44184,44269,44270,44273,44276,48181,48182,48186,48187,48193,48194,48208,48209,48221,48222,60047,60049,65487,65488,65497,65498,65507,65508,69169,69170,69179,69180,69266,69267,69380,69381,69390,69391,69395,69396,69403,69404,71451,71452,71470,71471,71480,71481,71502,71505,72315,72316,72322,72323,72491,72492,75115,75116,75135,75136,75142,75143,75674,75677,76350,76351,76681,76682,77047,77050,77086,77087,77100,77103,80794,80795,80953,80954,80956,80957,81104,81105,81120,81121,81328,81329,84733,84734,88982,88983,90265,90266,91283,91284,91287,91288,91312,91313,91769,91770,91779,91780,92145,92146,92518,92519,92894,92895,92901,92902,92916,92917,94701,94702,94924,94925,94951,94952,95132,95133,95287,95288,95430,95431,95851,95852,95922,95923,95941,95942,95963,95964,98304,98306,114115,114116,125616,125617,128626,128627,129981,129982,130066,130067,131682,131683,132823,132824,132826,132827,132835,132836,132860,132861,132870,132871,133873,133874,136347,136348,136578,136579,137453,137454,137540,137541,145671,145672,145674,145677,148240,148241,148334,148337,148342,148343,161313,161314,163840,163842,170640,170641,170895,170896,170973,170974,184531,184532,187677,187678,193532,194304,202701,202702,211527,213427,218399,218400,219238,219239,227337,227338,229376,229378,237277,237278,237701,237702,239987,239988,241445,241446,249330,249331,254581,254582,254888,254890,260048,260049,261053,261055,261060,261061,261080,261081,261457,261458,261502,261503,267382,267384,267516,267517,267526,267532,271054,271055,271102,271103,271107,271108,271121,271122,271129,271130,271132,271133,271507,271508,271522,271523,271525,271526,271575,271576,271582,271583,271838,271839,271846,271847,272048,272049,272117,272118,272203,272204,272212,272213,272232,272233,272441,272442,272445,272446,272457,272458,273794,273795,273839,273845,275305,275307,275860,275861,275862,275864,275870,275871,276424,276425,276426,276427,276428,276429,277223,277225,277226,277228,277229,277230,277231,277232,277233,277234,277235,277236,277237,277238,277239,277240,277241,277242,277243,277244,277245,277246,277505,277506,277513,277515,278831,278832,278922,279713,279715,279716,279720,279721,280930,280931,287240,287241,287562,287563,288520,288521,288744,288745,290880,290881,291025,291026,291148,291149,294770,294771,294912,294914,297286,297287,297598,297599,315178,315179,315400,315401,318379,318380,318523,318524,318597,318598,321524,321525,323411,323412,323689,323690,338636,338637,343624,343626,355161,355162,356849,356850,358100,358101,359831,359832,360928,360929,361094,361547,362651,362654,364519,364520,368359,368360,368997,368998,369212,369213,369670,369671,369672,369700,369839,370069,370074,385427,385431,385435,385445,385446,388150,388151,388256,388258,388276,388278,388284,388285,388291,388292,388296,388298,388338,388340,388346,388347,388355,388357,388359,388361,388374,388375,388389,388390,388399,388400,388421,388422,388425,388426,388435,388436,388507,388508,388553,388554,388577,388578,388597,388598,388599,388601,388602,388603,388604,388605,388607,388608,388609,388610,388611,388612,388613,388614,388616,388617,388618,388619,388621,388622,388623,388624,388628,388629,388630,388631,388632,388633,388634,388635,388637,388638,388639,388640,388641,388642,388643,388644,388645,388646,388647,388648,388650,388651,388652,388653,388654,388656,388662,388663,388669,388670,388675,388676,388692,388693,388706,388707,388711,388712,388717,388718,388721,388722,388727,388728,388737,388738,388743,388744,388751,388752,388754,388755,388759,388760,388767,388768,388780,388781,388789,388790,388794,388795,388798,388799,388804,388805,388807,388808,388819,388820,388822,388823,388827,388828,388834,388835,388845,388846,388848,388849,388853,388854,388857,388858,388867,388868,388882,388883,388888,388889,388891,388892,388895,388896,388902,388903,388910,388911,388921,388922,388926,388927,388940,388941,388950,388951,388961,388962,388979,388980,388985,388986,388988,388989,388993,388994,388996,388997,388999,389000,389006,389007,389009,389010,389015,389016,389025,389026,389028,389029,389032,389033,389039,389040,389048,389049,389051,389052,389058,389059,389061,389062,389065,389066,389076,389077,389083,389084,389092,389093,389097,389098,389104,389105,389111,389112,389120,389121,389129,389130,389142,389143,389147,389148,389153,389154,389156,389157,389164,389165,389169,389170,389172,389173,389177,389178,389182,389183,389188,389189,389195,389196,389216,389217,389225,389226,389250,389251,389255,389256,389263,389264,389275,389276,389281,389282,389288,389289,389296,389297,389302,389303,389307,389308,389321,389322,389327,389328,389342,389343,389357,389358,389361,389362,389376,389377,389380,389381,389383,389384,389403,389404,389413,389414,389419,389420,389430,389431,389438,389439,389445,389446,389448,389449,389459,389460,389462,389463,389468,389469,389480,389481,389486,389487,389490,389491,389506,389507,389512,389513,389527,389528,389532,389533,389547,389548,389551,389552,389558,389559,389561,389562,389566,389567,389575,389576,389579,389580,389586,389587,389597,389598,389605,389606,389611,389612,389614,389615,389617,389618,389620,389621,389627,389628,389631,389632,389637,389638,389640,389641,389650,389651,389661,389662,389667,389668,389686,389687,389689,389690,389694,389695,389697,389698,389700,389701,389726,389727,389743,389744,389753,389754,389759,389760,389767,389768,389779,389780,389790,389791,389804,389805,389808,389809,389814,389815,389818,389819,389823,389824,389827,389828,389841,389842,389846,389847,389854,389855,389867,389868,389880,389881,389884,389885,389887,389888,389899,389900,389912,389913,389923,389924,389928,389929,389931,389932,389944,389945,389948,389949,389951,389952,389954,389955,389960,389961,389975,389976,389981,389982,389987,389988,390006,390007,390013,390014,390024,390025,390037,390038,390046,390047,390052,390053,390076,390077,390091,390092,390098,390100,390106,390107,390121,390122,390137,390138,390144,390145,390149,390150,390157,390158,390167,390168,390173,390174,390184,390185,390198,390199,390211,390212,390226,390227,390232,390233,390238,390239,390254,390255,390260,390261,390266,390267,390279,390280,390294,390295,390310,390311,390315,390316,390320,390321,390335,390336,390344,390345,390355,390356,390361,390362,390374,390375,390383,390384,390388,390389,390393,390394,390398,390399,390401,390402,390413,390414,390418,390419,390423,390424,390426,390427,390429,390430,390437,390438,390449,390450,390454,390455,390458,390459,390462,390463,390477,390478,390484,390485,390490,390491,390508,390509,390518,390519,390534,390535,390547,390548,390550,390551,390558,390559,390563,390564,390570,390571,390576,390577,390584,390585,390590,390591,390596,390597,390605,390606,390618,390619,390634,390635,390638,390639,390659,390660,390663,390664,390681,390682,390684,390685,390696,390697,390700,390701,390703,390704,390822,390825,392225,392226,395254,395255,395617,395618,395670,395671,397169,397170,398718,398720,403813,403814,407679,407680,409112,409113,413894,413895,422233,422234,422633,422634,426187,426188,430206,430207,437560,437561,442422,442423,461862,461863,463231,463232,468664,468665,469460,469461,476405,476406,478398,478399,479041,479042,479045,479046,479606,524294,524295,524296,528344,706803,774155,780254,780261,786432") == "6645d19d9d00bdcf2705b67c59e91579f52aa573" || block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat")) then
ui_print("Verified system image...");
else
check_first_block("/dev/block/bootdevice/by-name/system");
ifelse (block_image_recover("/dev/block/bootdevice/by-name/system", "1140,1,208,223,537,8303,8311,8316,8317,8516,8519,11413,11414,12593,12594,12600,12601,12606,12607,12925,12926,12932,12933,13001,13002,13017,13018,14668,14669,16445,16446,16457,16458,18211,18212,18215,18216,18223,18224,18227,18228,18447,18450,18454,18455,18819,18820,18901,18902,19056,19057,24541,24542,24650,24651,25302,25303,25312,25313,30932,30934,32768,32770,33100,33101,36496,36497,36944,36945,36949,36950,36973,36974,38072,38073,38097,38100,38238,38239,40601,40602,40612,40613,42658,42661,42872,42873,42878,42879,44183,44184,44269,44270,44273,44276,48181,48182,48186,48187,48193,48194,48208,48209,48221,48222,60047,60049,65487,65488,65497,65498,65507,65508,69169,69170,69179,69180,69266,69267,69380,69381,69390,69391,69395,69396,69403,69404,71451,71452,71470,71471,71480,71481,71502,71505,72315,72316,72322,72323,72491,72492,75115,75116,75135,75136,75142,75143,75674,75677,76350,76351,76681,76682,77047,77050,77086,77087,77100,77103,80794,80795,80953,80954,80956,80957,81104,81105,81120,81121,81328,81329,84733,84734,88982,88983,90265,90266,91283,91284,91287,91288,91312,91313,91769,91770,91779,91780,92145,92146,92518,92519,92894,92895,92901,92902,92916,92917,94701,94702,94924,94925,94951,94952,95132,95133,95287,95288,95430,95431,95851,95852,95922,95923,95941,95942,95963,95964,98304,98306,114115,114116,125616,125617,128626,128627,129981,129982,130066,130067,131682,131683,132823,132824,132826,132827,132835,132836,132860,132861,132870,132871,133873,133874,136347,136348,136578,136579,137453,137454,137540,137541,145671,145672,145674,145677,148240,148241,148334,148337,148342,148343,161313,161314,163840,163842,170640,170641,170895,170896,170973,170974,184531,184532,187677,187678,193532,194304,202701,202702,211527,213427,218399,218400,219238,219239,227337,227338,229376,229378,237277,237278,237701,237702,239987,239988,241445,241446,249330,249331,254581,254582,254888,254890,260048,260049,261053,261055,261060,261061,261080,261081,261457,261458,261502,261503,267382,267384,267516,267517,267526,267532,271054,271055,271102,271103,271107,271108,271121,271122,271129,271130,271132,271133,271507,271508,271522,271523,271525,271526,271575,271576,271582,271583,271838,271839,271846,271847,272048,272049,272117,272118,272203,272204,272212,272213,272232,272233,272441,272442,272445,272446,272457,272458,273794,273795,273839,273845,275305,275307,275860,275861,275862,275864,275870,275871,276424,276425,276426,276427,276428,276429,277223,277225,277226,277228,277229,277230,277231,277232,277233,277234,277235,277236,277237,277238,277239,277240,277241,277242,277243,277244,277245,277246,277505,277506,277513,277515,278831,278832,278922,279713,279715,279716,279720,279721,280930,280931,287240,287241,287562,287563,288520,288521,288744,288745,290880,290881,291025,291026,291148,291149,294770,294771,294912,294914,297286,297287,297598,297599,315178,315179,315400,315401,318379,318380,318523,318524,318597,318598,321524,321525,323411,323412,323689,323690,338636,338637,343624,343626,355161,355162,356849,356850,358100,358101,359831,359832,360928,360929,361094,361547,362651,362654,364519,364520,368359,368360,368997,368998,369212,369213,369670,369671,369672,369700,369839,370069,370074,385427,385431,385435,385445,385446,388150,388151,388256,388258,388276,388278,388284,388285,388291,388292,388296,388298,388338,388340,388346,388347,388355,388357,388359,388361,388374,388375,388389,388390,388399,388400,388421,388422,388425,388426,388435,388436,388507,388508,388553,388554,388577,388578,388597,388598,388599,388601,388602,388603,388604,388605,388607,388608,388609,388610,388611,388612,388613,388614,388616,388617,388618,388619,388621,388622,388623,388624,388628,388629,388630,388631,388632,388633,388634,388635,388637,388638,388639,388640,388641,388642,388643,388644,388645,388646,388647,388648,388650,388651,388652,388653,388654,388656,388662,388663,388669,388670,388675,388676,388692,388693,388706,388707,388711,388712,388717,388718,388721,388722,388727,388728,388737,388738,388743,388744,388751,388752,388754,388755,388759,388760,388767,388768,388780,388781,388789,388790,388794,388795,388798,388799,388804,388805,388807,388808,388819,388820,388822,388823,388827,388828,388834,388835,388845,388846,388848,388849,388853,388854,388857,388858,388867,388868,388882,388883,388888,388889,388891,388892,388895,388896,388902,388903,388910,388911,388921,388922,388926,388927,388940,388941,388950,388951,388961,388962,388979,388980,388985,388986,388988,388989,388993,388994,388996,388997,388999,389000,389006,389007,389009,389010,389015,389016,389025,389026,389028,389029,389032,389033,389039,389040,389048,389049,389051,389052,389058,389059,389061,389062,389065,389066,389076,389077,389083,389084,389092,389093,389097,389098,389104,389105,389111,389112,389120,389121,389129,389130,389142,389143,389147,389148,389153,389154,389156,389157,389164,389165,389169,389170,389172,389173,389177,389178,389182,389183,389188,389189,389195,389196,389216,389217,389225,389226,389250,389251,389255,389256,389263,389264,389275,389276,389281,389282,389288,389289,389296,389297,389302,389303,389307,389308,389321,389322,389327,389328,389342,389343,389357,389358,389361,389362,389376,389377,389380,389381,389383,389384,389403,389404,389413,389414,389419,389420,389430,389431,389438,389439,389445,389446,389448,389449,389459,389460,389462,389463,389468,389469,389480,389481,389486,389487,389490,389491,389506,389507,389512,389513,389527,389528,389532,389533,389547,389548,389551,389552,389558,389559,389561,389562,389566,389567,389575,389576,389579,389580,389586,389587,389597,389598,389605,389606,389611,389612,389614,389615,389617,389618,389620,389621,389627,389628,389631,389632,389637,389638,389640,389641,389650,389651,389661,389662,389667,389668,389686,389687,389689,389690,389694,389695,389697,389698,389700,389701,389726,389727,389743,389744,389753,389754,389759,389760,389767,389768,389779,389780,389790,389791,389804,389805,389808,389809,389814,389815,389818,389819,389823,389824,389827,389828,389841,389842,389846,389847,389854,389855,389867,389868,389880,389881,389884,389885,389887,389888,389899,389900,389912,389913,389923,389924,389928,389929,389931,389932,389944,389945,389948,389949,389951,389952,389954,389955,389960,389961,389975,389976,389981,389982,389987,389988,390006,390007,390013,390014,390024,390025,390037,390038,390046,390047,390052,390053,390076,390077,390091,390092,390098,390100,390106,390107,390121,390122,390137,390138,390144,390145,390149,390150,390157,390158,390167,390168,390173,390174,390184,390185,390198,390199,390211,390212,390226,390227,390232,390233,390238,390239,390254,390255,390260,390261,390266,390267,390279,390280,390294,390295,390310,390311,390315,390316,390320,390321,390335,390336,390344,390345,390355,390356,390361,390362,390374,390375,390383,390384,390388,390389,390393,390394,390398,390399,390401,390402,390413,390414,390418,390419,390423,390424,390426,390427,390429,390430,390437,390438,390449,390450,390454,390455,390458,390459,390462,390463,390477,390478,390484,390485,390490,390491,390508,390509,390518,390519,390534,390535,390547,390548,390550,390551,390558,390559,390563,390564,390570,390571,390576,390577,390584,390585,390590,390591,390596,390597,390605,390606,390618,390619,390634,390635,390638,390639,390659,390660,390663,390664,390681,390682,390684,390685,390696,390697,390700,390701,390703,390704,390822,390825,392225,392226,395254,395255,395617,395618,395670,395671,397169,397170,398718,398720,403813,403814,407679,407680,409112,409113,413894,413895,422233,422234,422633,422634,426187,426188,430206,430207,437560,437561,442422,442423,461862,461863,463231,463232,468664,468665,469460,469461,476405,476406,478398,478399,479041,479042,479045,479046,479606,524294,524295,524296,528344,706803,774155,780254,780261,786432") && block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"), ui_print("system recovered successfully."), abort("E1004: system partition fails to recover"));
endif;
if (range_sha1("/dev/block/bootdevice/by-name/vendor", "370,1,135,143,145,160,434,8224,8232,8239,8240,8242,8243,8248,8249,8453,8454,8456,8457,8491,8503,14284,14285,18300,18301,19002,19003,19495,19496,22301,22302,27862,27863,32768,32770,36874,36875,38043,38044,40233,40234,50498,50531,50532,50535,50554,50555,50608,50609,50620,50621,51147,51148,51702,51703,51714,51715,51815,51816,54633,54636,54681,54682,54700,54701,55595,55596,55680,55683,55996,55997,56208,56210,56716,56717,64393,64394,64453,64455,71054,71057,71058,71060,71061,71062,71063,71065,71350,71351,72922,72923,72928,72930,72931,72932,72933,72935,73206,73207,73230,73232,73517,73518,75089,75090,75094,75096,75367,75368,75891,75892,75950,75952,75957,75958,75960,75961,80315,80316,80318,80319,80321,80322,80332,80333,80335,80336,80340,80341,80343,80344,80346,80347,80365,80366,80456,80457,80470,80471,81126,81127,82919,82949,83051,83052,83684,83685,84255,84256,84624,84625,86633,86634,86896,86898,86961,86963,90639,90640,98304,98306,99896,99897,101255,101256,102599,102600,102630,102631,103732,103733,104278,104279,105492,105493,105910,105912,107228,107229,107314,107315,107745,107746,110251,110252,111083,111084,111165,111166,111870,112000,112906,112907,113067,113068,114534,114675,114828,114829,115891,115892,116327,116328,116825,116826,117517,117519,119170,119171,119360,119361,122850,122851,123280,123281,125897,125898,126567,126568,127095,127096,127572,127573,127629,127630,127794,127795,128011,128012,128641,128642,128759,128760,128876,128877,129690,129691,130229,132129,132130,132567,132568,132602,132986,132987,133067,133068,136214,136215,136393,136394,138736,138737,139323,139324,144620,144621,145041,145202,145349,145350,146110,146111,146198,146199,147887,147888,148077,148078,149104,149105,149783,149784,150159,150160,157315,157316,158965,158966,159410,159411,159997,159998,160664,160665,160865,160866,161696,161697,163840,163842,169280,169281,169625,169626,169691,169692,169865,169866,171336,171337,171407,171408,172727,172728,174347,174348,174901,174902,175498,175499,175686,175687,176254,176255,176442,176443,176482,176483,177093,177094,179284,179285,180323,180324,180794,180795,181026,181027,182339,182340,183673,183674,183915,183916,185290,185291,187010,187011,189230,189231,189337,189338,202096,202097,202222,202223,203635,203636,204861,204862,206652,206653,206779,206780,208085,208086,209103,209107,209148,209160,229376,229378,294912,294914,516099,518499,520035,520166,520173,524288") == "b84424b1489c8937d8b5e2ba7ddd9167d78dad4a" || block_image_verify("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat")) then
ui_print("Verified vendor image...");
else
check_first_block("/dev/block/bootdevice/by-name/vendor");
ifelse (block_image_recover("/dev/block/bootdevice/by-name/vendor", "370,1,135,143,145,160,434,8224,8232,8239,8240,8242,8243,8248,8249,8453,8454,8456,8457,8491,8503,14284,14285,18300,18301,19002,19003,19495,19496,22301,22302,27862,27863,32768,32770,36874,36875,38043,38044,40233,40234,50498,50531,50532,50535,50554,50555,50608,50609,50620,50621,51147,51148,51702,51703,51714,51715,51815,51816,54633,54636,54681,54682,54700,54701,55595,55596,55680,55683,55996,55997,56208,56210,56716,56717,64393,64394,64453,64455,71054,71057,71058,71060,71061,71062,71063,71065,71350,71351,72922,72923,72928,72930,72931,72932,72933,72935,73206,73207,73230,73232,73517,73518,75089,75090,75094,75096,75367,75368,75891,75892,75950,75952,75957,75958,75960,75961,80315,80316,80318,80319,80321,80322,80332,80333,80335,80336,80340,80341,80343,80344,80346,80347,80365,80366,80456,80457,80470,80471,81126,81127,82919,82949,83051,83052,83684,83685,84255,84256,84624,84625,86633,86634,86896,86898,86961,86963,90639,90640,98304,98306,99896,99897,101255,101256,102599,102600,102630,102631,103732,103733,104278,104279,105492,105493,105910,105912,107228,107229,107314,107315,107745,107746,110251,110252,111083,111084,111165,111166,111870,112000,112906,112907,113067,113068,114534,114675,114828,114829,115891,115892,116327,116328,116825,116826,117517,117519,119170,119171,119360,119361,122850,122851,123280,123281,125897,125898,126567,126568,127095,127096,127572,127573,127629,127630,127794,127795,128011,128012,128641,128642,128759,128760,128876,128877,129690,129691,130229,132129,132130,132567,132568,132602,132986,132987,133067,133068,136214,136215,136393,136394,138736,138737,139323,139324,144620,144621,145041,145202,145349,145350,146110,146111,146198,146199,147887,147888,148077,148078,149104,149105,149783,149784,150159,150160,157315,157316,158965,158966,159410,159411,159997,159998,160664,160665,160865,160866,161696,161697,163840,163842,169280,169281,169625,169626,169691,169692,169865,169866,171336,171337,171407,171408,172727,172728,174347,174348,174901,174902,175498,175499,175686,175687,176254,176255,176442,176443,176482,176483,177093,177094,179284,179285,180323,180324,180794,180795,181026,181027,182339,182340,183673,183674,183915,183916,185290,185291,187010,187011,189230,189231,189337,189338,202096,202097,202222,202223,203635,203636,204861,204862,206652,206653,206779,206780,208085,208086,209103,209107,209148,209160,229376,229378,294912,294914,516099,518499,520035,520166,520173,524288") && block_image_verify("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat"), ui_print("vendor recovered successfully."), abort("E2004: vendor partition fails to recover"));
endif;

# ---- start making changes here ----

ui_print("Patching boot image...");
show_progress(0.100000, 10);
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:26248522:a19f54c81b1ea7861bb7166ec8f4bde96538201a:26248522:13ba813bece1056d8709fd3e4caa71fe89a343b7",
            "-", 13ba813bece1056d8709fd3e4caa71fe89a343b7, 26248522,
            a19f54c81b1ea7861bb7166ec8f4bde96538201a, package_extract_file("patch/boot.img.p")) || abort("Failed to apply patch \"patch/boot.img.p \".");
show_progress(0.600000, 400);
ui_print("Patching system image after verification.");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
ui_print("Patching vendor image after verification.");
block_image_update("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat") ||
  abort("E2001: Failed to update vendor image.");

# ---- radio update tasks ----

ui_print("Patching firmware images...");
ifelse(msm.boot_update("main"), (
package_extract_file("firmware-update/splash.img", "/dev/block/bootdevice/by-name/splash");
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/abl");
), "");
ifelse(msm.boot_update("backup"), (
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/ablbak");
), "");
msm.boot_update("finalize");
show_progress(0.100000, 2);
