getprop("ro.product.device") == "msm8909" || abort("E3004: This package is for \"msm8909\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: qcom/msm8909/msm8909:7.1.2/136/brian03110818:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/135/brian03110705:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/136/brian03110818:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/135/brian03110705:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/136/brian03110818:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/135/brian03110705:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:1f61a401c514f07779580fed5d1f4330b56fb29b") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:1f61a401c514f07779580fed5d1f4330b56fb29b\" has unexpected contents.");
apply_patch_space(22507520) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "3724,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,6943,6944,8086,8087,8311,8312,9151,9152,9156,9157,9158,9159,9168,9169,9177,9178,9179,9180,9208,9209,9274,9275,9276,9277,9345,9346,9354,9355,9356,9357,9386,9387,9393,9394,9395,9396,9417,9418,9422,9423,9424,9425,9433,9434,9440,9441,9442,9443,9461,9462,9467,9468,9469,9470,9482,9483,9488,9489,9490,9491,9506,9507,9513,9514,9515,9516,9529,9530,9531,9532,9533,9534,9612,9613,9614,9615,9616,9617,9629,9630,9634,9635,9636,9637,9638,9639,9698,9699,9700,9701,9702,9703,9768,9769,9770,9771,9772,9773,21723,21725,21987,21988,22999,23000,23043,23044,23074,23075,23403,23404,24372,24406,24980,24981,25086,25087,25379,25380,25592,25593,26513,26516,26517,26518,26584,26585,26586,26587,26753,26754,26898,26899,27072,27073,27244,27245,27605,27606,27623,27865,27868,27869,27878,27879,27880,27881,27898,27899,27920,27921,28030,28031,28069,28070,28073,28074,28085,28086,28552,28553,28554,28555,28577,28578,28599,28600,28839,28840,29952,29953,30249,30250,30368,30369,30846,30847,30848,30849,31374,31375,31390,31391,31422,31423,31484,31485,31491,31492,32768,32770,32849,32850,48416,48419,48424,48425,48442,48443,48472,48473,65531,65532,65533,65534,65536,65537,66202,66203,66204,66205,66206,66511,66512,66576,66577,66578,66579,66666,66667,67330,67331,67336,67337,67342,67343,67353,67354,67367,67368,67383,67384,67412,67413,67423,67424,67461,67462,67734,67735,67736,67737,67738,67739,67740,67741,67814,67815,67888,67889,67932,67933,67934,67935,67938,67939,67940,67941,67942,67943,67944,67945,67946,67947,67949,67950,67956,67957,67962,67963,68038,68039,68042,68043,68048,68049,68050,68051,68052,68053,68054,68055,68056,68057,68058,68059,68065,68066,68067,68068,68089,68090,68113,68114,68115,68116,68127,68128,68171,68172,68223,68224,68543,68544,68651,68652,68653,68654,68662,68663,68668,68669,68681,68682,68696,68697,68740,68741,68754,68755,68800,68801,68812,68813,68920,68921,69237,69238,69336,69337,69374,69375,69404,69405,69424,69425,69433,69434,69618,69619,69761,69762,69772,69773,69790,69791,69800,69801,69935,69936,69942,69943,69972,69973,70003,70004,70193,70194,70200,70201,70207,70208,70213,70214,70218,70219,70232,70233,70241,70242,70246,70247,70277,70278,70295,70296,70326,70327,70381,70382,70399,70400,70430,70431,70450,70451,70459,70460,70467,70468,70491,70492,70541,70542,70553,70554,70558,70559,70563,70564,71369,71370,71374,71375,71379,71380,71396,71397,71401,71402,71408,71409,71413,71414,71419,71420,71425,71426,71430,71431,71436,71437,71442,71443,71447,71448,71452,71453,71458,71459,71464,71465,71470,71471,71476,71477,71481,71482,71487,71488,71493,71494,71498,71499,71504,71505,71510,71511,71515,71516,71521,71522,71527,71528,71532,71533,71538,71539,71544,71545,71549,71550,71555,71556,71561,71562,71566,71567,71572,71573,71578,71579,71583,71584,71589,71590,71595,71596,71600,71601,71606,71607,71612,71613,71617,71618,71623,71624,71629,71630,71634,71635,71640,71641,71646,71647,71651,71652,71657,71658,71663,71664,71671,71672,71679,71680,71693,71694,71699,71700,71722,71723,71752,71753,71795,71796,71832,71833,71839,71840,71898,71899,71903,71904,71922,71923,71927,71928,72101,72102,72271,72272,72278,72279,72293,72294,72303,72304,72313,72314,72323,72324,72333,72334,72343,72344,72353,72354,72363,72364,72373,72374,72383,72384,72398,72399,72408,72409,72418,72419,72433,72434,72443,72444,72453,72454,72463,72464,72473,72474,72483,72484,72493,72494,72503,72504,72513,72514,72523,72524,72538,72539,72548,72549,72558,72559,72568,72569,72578,72579,72593,72594,72603,72604,72613,72614,72623,72624,72638,72639,72648,72649,72658,72659,72668,72669,72683,72684,72693,72694,72703,72704,72713,72714,72723,72724,72738,72739,72748,72749,72758,72759,72768,72769,72778,72779,72788,72789,72797,72798,72812,72813,72822,72823,72832,72833,72842,72843,72852,72853,72862,72863,72872,72873,72882,72883,72892,72893,72907,72908,72917,72918,72927,72928,72937,72938,72947,72948,72957,72958,72967,72968,72977,72978,72987,72988,72997,72998,73007,73008,73022,73023,73032,73033,73042,73043,73052,73053,73062,73063,73072,73073,73087,73088,73097,73098,73107,73108,73117,73118,73127,73128,73137,73138,73147,73148,73157,73158,73172,73173,73182,73183,73192,73193,73202,73203,73217,73218,73232,73233,73242,73243,73252,73253,73262,73263,73272,73273,73282,73283,73292,73293,73307,73308,73317,73318,73327,73328,73337,73338,73352,73353,73362,73363,73372,73373,73382,73383,73397,73398,73407,73408,73417,73418,73427,73428,73442,73443,73452,73453,73462,73463,73472,73473,73482,73483,73492,73493,73507,73508,73517,73518,73527,73528,73537,73538,73547,73548,73562,73563,73572,73573,73582,73583,73592,73593,73602,73603,73612,73613,73627,73628,73637,73638,73647,73648,73657,73658,73667,73668,73677,73678,73692,73693,73702,73703,73712,73713,73722,73723,73732,73733,73742,73743,73752,73753,73762,73763,73772,73773,73782,73783,73797,73798,73807,73808,73817,73818,73827,73828,73837,73838,73847,73848,73857,73858,73867,73868,73877,73878,73887,73888,73902,73903,73912,73913,73922,73923,73932,73933,73942,73943,73952,73953,73962,73963,73972,73973,73982,73983,73992,73993,74007,74008,74017,74018,74027,74028,74037,74038,74047,74048,74057,74058,74067,74068,74077,74078,74087,74088,74102,74103,74112,74113,74122,74123,74132,74133,74142,74143,74152,74153,74162,74163,74172,74173,74182,74183,74192,74193,74202,74203,74212,74213,74222,74223,74237,74238,74247,74248,74257,74258,74267,74268,74277,74278,74287,74288,74297,74298,74307,74308,74317,74318,74332,74333,74342,74343,74352,74353,74362,74363,74372,74373,74382,74383,74392,74393,74407,74408,74417,74418,74427,74428,74437,74438,74447,74448,74457,74458,74467,74468,74477,74478,74487,74488,74497,74498,74507,74508,74517,74518,74532,74533,74542,74543,74552,74553,74562,74563,74572,74573,74582,74583,74592,74593,74602,74603,74612,74613,74622,74623,74637,74638,74647,74648,74657,74658,74667,74668,74682,74683,74692,74693,74702,74703,74712,74713,74722,74723,74732,74733,74742,74743,74752,74753,74762,74763,74772,74773,74787,74788,74797,74798,74807,74808,74817,74818,74827,74828,74837,74838,74847,74848,74857,74858,74872,74873,74882,74883,74892,74893,74902,74903,74912,74913,74922,74923,74937,74938,74947,74948,74957,74958,74967,74968,74977,74978,74987,74988,74997,74998,75007,75008,75017,75018,75032,75033,75042,75043,75052,75053,75062,75063,75173,75174,75237,75238,75242,75243,75249,75250,75263,75264,75270,75271,75329,75330,75351,75352,75365,75366,75398,75399,75492,75493,75507,75508,75517,75518,75562,75563,75595,75596,75606,75607,75613,75614,75619,75620,75733,75734,75753,75754,75759,75760,76436,76437,76456,76457,76469,76470,76483,76484,76547,76548,76553,76554,76560,76561,76567,76568,76575,76576,76645,76646,76654,76655,76662,76663,76682,76683,76704,76705,76974,76975,81797,81798,81827,81828,81835,81836,81950,81951,81973,81974,82024,82025,82054,82055,82079,82080,82093,82094,82099,82100,82113,82114,82118,82119,82154,82155,82161,82162,82168,82169,82177,82178,82187,82188,82196,82197,82253,82254,82272,82273,82304,82305,82310,82311,82322,82323,82378,82379,82391,82392,82560,82561,82575,82576,82651,82652,82710,82711,82732,82733,82777,82778,82792,82793,82797,82798,82803,82804,82809,82810,82815,82816,82821,82822,82827,82828,82835,82836,83138,83139,83143,83144,83171,83172,83185,83186,83190,83191,83197,83198,83207,83208,83239,83240,83245,83246,83252,83253,83260,83261,83268,83269,83273,83274,83278,83279,83285,83286,83292,83293,83299,83300,83305,83306,83311,83312,83317,83318,83323,83324,83329,83330,83334,83335,83340,83341,83346,83347,83352,83353,83358,83359,83365,83366,83371,83372,83377,83378,83382,83383,83389,83390,83396,83397,83403,83404,83413,83414,83423,83424,83431,83432,83437,83438,83451,83452,83461,83462,83467,83468,83475,83476,83481,83482,83487,83488,83493,83494,83500,83501,83505,83506,83511,83512,83517,83518,83522,83523,83528,83529,83534,83535,83539,83540,83544,83545,83550,83551,83555,83556,83563,83564,83570,83571,83575,83576,83581,83582,83724,83725,83737,83738,83766,83767,83788,83789,83827,83828,83969,83970,84003,84004,84010,84011,84146,84147,84165,84166,84202,84203,84212,84213,84234,84235,84484,84485,84526,84527,84539,84540,84547,84548,84554,84555,84560,84561,84569,84570,84576,84577,84608,84609,84626,84627,84641,84642,84650,84651,84657,84658,84664,84665,84683,84684,84715,84716,84740,84741,84789,84790,84801,84802,84808,84809,84823,84824,84826,84827,84834,84835,84844,84845,84851,84852,84877,84878,84897,84898,84915,84916,84945,84946,84950,84951,84955,84956,84960,84961,84974,84975,84977,84978,87443,87444,87446,87447,87451,87452,87457,87458,87464,87465,87520,87521,87523,87524,87935,87936,89155,89156,89163,89164,89342,89343,89347,89348,89355,89356,89399,89400,89421,89422,89426,89427,89431,89432,89441,89442,89447,89448,89453,89454,89462,89463,89497,89498,89502,89503,89513,89514,89521,89522,89526,89527,89532,89533,89713,89714,89750,89751,89758,89759,89777,89778,89804,89805,89833,89834,89841,89842,89847,89848,89859,89860,89880,89881,89887,89888,89916,89917,89956,89957,89964,89965,89976,89977,90042,90043,90061,90062,90095,90096,90100,90101,90109,90110,90115,90116,90125,90126,90131,90132,90161,90162,90301,90302,90312,90313,90317,90318,90323,90324,90343,90344,90345,90346,90357,90358,90366,90367,90378,90379,90386,90387,90393,90394,90400,90401,90412,90413,90419,90420,90427,90428,90435,90436,90442,90443,90447,90448,90454,90455,90459,90460,90467,90468,90474,90475,90486,90487,90491,90492,90500,90501,90508,90509,90515,90516,90522,90523,90530,90531,90538,90539,90544,90545,90551,90552,90558,90559,90560,90561,90598,90599,90636,90637,90676,90677,90679,90680,90681,90682,90683,90684,90696,90697,90698,90699,90700,90701,90722,90723,90734,90735,90736,90737,90738,90739,90863,90864,90865,90866,90872,90873,90874,90875,90876,90877,90878,90879,90880,90881,90882,90883,90891,90892,90897,90898,90904,90905,90911,90912,90924,90925,90931,90932,90952,90953,90964,90965,90966,90967,91017,91018,91024,91025,91030,91031,91085,91086,91091,91092,91097,91098,91104,91105,91110,91111,91285,91286,91293,91294,91299,91300,91305,91306,91312,91313,91322,91323,91377,91378,91390,91391,91420,91421,91426,91427,91433,91434,91439,91440,91447,91448,91453,91454,91459,91460,91465,91466,91542,91543,91561,91562,91637,91638,91643,91644,91650,91651,91856,98304,98306,98385,98386,106921,106922,107121,107122,127835,127836,127837,127838,131072,131073,163840,163842,163921,163922,168362,168370,168371,168376,168377,168384,168385,168388,168413,168419,168420,168438,168439,168458,168459,168464,168465,168469,168470,168475,168476,168487,168488,168494,168495,168508,168509,168519,168520,168523,168524,168532,168533,168537,168538,168543,168544,168549,168550,168553,168554,168557,168558,168562,168563,168567,168568,168571,168572,168576,168577,168580,168581,168585,168586,168590,168591,168603,168604,168609,168610,169640,169641,169647,169648,169656,169657,169663,169664,169667,169668,169669,169670,169677,169678,169696,169697,169702,169703,169707,169708,169713,169714,169725,169726,169732,169733,169738,169739,169749,169750,169755,169756,169757,169758,169759,169760,169761,169762,169766,169767,169769,169770,169776,169777,169780,169781,169788,169789,169792,169793,169822,169823,169836,169837,169861,169862,169898,169899,169925,169926,169970,169971,169995,169996,170007,170008,170036,170037,170063,170064,170076,170077,170078,170079,170082,170083,170085,170086,170088,170089,170092,170093,170096,170097,170104,170105,170107,170108,170112,170113,170122,170123,170127,170128,170133,170134,170138,170139,170144,170145,170148,170149,170153,170154,170158,170159,170166,170167,170172,170173,170176,170177,170182,170183,170187,170188,170191,170192,170197,170198,170202,170203,170207,170208,170211,170212,170218,170219,170222,170223,170228,170229,170235,170236,170239,170240,170250,170251,170253,170254,170259,170260,170264,170265,170280,170281,170284,170285,170289,170290,170295,170296,170301,170302,170307,170308,170313,170314,170318,170319,170321,170322,170328,170329,170335,170336,170342,170343,170347,170348,170355,170356,170362,170363,170366,170367,170373,170374,170380,170381,170388,170389,170392,170393,170403,170404,170407,170408,170419,170420,170423,170424,170428,170429,170434,170435,170440,170441,170447,170448,170456,170457,170462,170463,170470,170471,170475,170476,170478,170479,170483,170484,170489,170490,170495,170496,170503,170504,170511,170512,170515,170516,170524,170525,170526,170527,170534,170535,170542,170543,170549,170550,170606,170607,170629,170630,170637,170638,170647,170648,170655,170656,170664,170665,170677,170678,170689,170690,170700,170701,170713,170714,170722,170723,170731,170732,170742,170743,170753,170754,170762,170763,170771,170772,170776,170777,170784,170785,170795,170796,170806,170807,170817,170818,170869,170870,170878,170879,170887,170888,170903,170904,170908,170909,170922,170923,170931,170932,170975,170976,170989,170990,171006,171007,171016,171017,171025,171026,171054,171055,171067,171068,171078,171079,171092,171093,171103,171104,171115,171116,171130,171131,171142,171143,171160,171161,171167,171168,171172,171173,171214,171215,171225,171226,171235,171236,171247,171248,171258,171259,171266,171267,171276,171277,171288,171289,171300,171301,171305,171306,171315,171316,171325,171326,171336,171337,171344,171345,171353,171354,171368,171369,171397,171398,171408,171409,171431,171432,171490,171491,171505,171506,171511,171512,171556,171557,171570,171571,171586,171587,171602,171603,171609,171610,171623,171624,171635,171636,171648,171649,171657,171658,171669,171670,171680,171681,171708,171709,171787,171788,171799,171800,171810,171811,171822,171823,171831,171832,171854,171855,171862,171863,171873,171874,171883,171884,171902,171903,171946,171947,171956,171957,171969,171970,171977,171978,172014,172015,172061,172062,172070,172071,172076,172077,172085,172086,172106,172107,172113,172114,172115,172116,172118,172119,172121,172122,172124,172125,172128,172129,172131,172132,172134,172135,172137,172138,172141,172142,172146,172147,172149,172150,172153,172154,172156,172157,172159,172160,172162,172163,172166,172167,172169,172170,172173,172174,172175,172176,172177,172178,172240,172241,172242,172243,172244,172245,172255,172256,172257,172258,172299,172300,172301,172302,172303,172304,172523,172524,172525,172526,172559,172560,172561,172562,172563,172564,172799,172800,172801,172802,172810,172811,172812,172813,172814,172815,172828,172829,172830,172831,172863,172864,172865,172866,172867,172868,172875,172876,172877,172878,173486,173487,173488,173489,173490,173491,173575,173576,173577,173578,173644,173645,173646,173647,173648,173649,173743,173744,173745,173746,175701,175702,175703,175704,175705,175706,177231,177232,177233,177234,177381,177382,177383,177384,177385,177386,178076,178077,178078,178079,178086,178087,178088,178089,178090,178091,178092,178093,178094,178095,178107,178108,178109,178110,180698,180699,180700,180701,180702,180703,183067,183068,183069,183070,183553,183554,183555,183556,183557,183558,184453,184454,184455,184456,184613,184614,184615,184616,184617,184618,184894,184895,184896,184897,185880,185881,185882,185883,185884,185885,186471,186472,186473,186474,186480,186481,186482,186483,186484,186485,186495,186496,186497,186498,186511,186512,186513,186514,186515,186516,186550,186551,186552,186553,186559,186560,186561,186562,186563,186564,186575,186576,186577,186578,186638,186639,186640,186641,186642,186643,186649,186650,186651,186652,186886,186887,186888,186889,186890,186891,187048,187049,187050,187051,187098,187099,187100,187101,187102,187103,187236,187237,187238,187239,188918,188919,188920,188921,188922,188923,190230,190231,190232,190233,190243,190244,190245,190246,190247,190248,190299,190300,190301,190302,190338,190339,190340,190341,190342,190343,190344,190345,190346,190347,190403,190404,190405,190406,190411,190412,190413,190414,190415,190416,190439,190440,190441,190442,191856,191857,191858,191859,191860,191861,192910,192911,192912,192913,192916,192917,192918,192919,192920,192921,192934,192935,192936,192937,192943,192944,192945,192946,192947,192948,192964,192965,192966,192967,192979,192980,192981,192982,192983,192984,193064,193065,193066,193067,193068,193069,193070,193071,195469,195470,195471,195472,195515,195516,195517,195518,195519,195520,195637,195638,195639,195640,195643,195644,195645,195646,195647,195648,195659,195660,195661,195662,195723,195724,195725,195726,195727,195728,195817,195818,195819,195820,195953,195954,195955,195956,195957,195958,196204,196205,196206,196207,196218,196219,196220,196221,196222,196223,196266,196267,196268,196269,196270,196271,196272,196273,196274,196275,196276,196277,196278,196279,196280,196281,196282,196283,196284,196285,196286,196287,196288,196289,196290,196291,196292,196293,196302,196303,196304,196305,196306,196307,196316,196317,196318,196319,196376,196377,196378,196379,196380,196381,196556,196557,196558,196559,196560,196561,196562,196563,196564,196565,196589,196590,196591,196592,196593,196594,196604,196605,196606,196608,196609,229376,229378,229457,229458,251811,251812,251813,251814,251815,252683,252684,252685,252686,252687,252688,252689,252690,252724,252725,252732,252733,252734,252735,252736,252737,252738,252739,252771,252772,252826,252827,252862,252863,252864,252865,252866,252867,252868,252869,252870,252871,252872,252873,252874,252875,252876,252877,252878,252879,252880,252881,252882,252883,252884,252885,252886,252887,252888,252889,252890,252891,252892,252893,252894,252895,252896,252897,252898,252899,253055,253056,253164,253165,253308,253309,253410,253411,253601,253602,253761,253762,253825,253826,253974,253975,254179,254180,254274,254275,254429,254430,254492,254493,254494,254495,254496,254497,254498,254499,254500,254501,254502,254503,254504,254505,254514,254515,254516,254517,254519,254520,254521,254522,254549,254550,254551,254552,254578,254579,254580,254581,254608,254609,254610,254611,254623,254624,254625,254626,254634,254635,254636,254637,254641,254642,254643,254644,254650,254651,254652,254653,254654,254655,254656,254657,254659,254660,254661,254662,254671,254672,254673,254674,254675,254676,254677,254678,254679,254680,254681,254682,254683,254684,254685,254686,254764,254765,254766,254767,254768,254769,254770,254771,254772,254773,254774,254775,254776,254777,254778,254779,254781,254782,254783,254784,254785,254786,254787,254788,254824,254825,254826,254827,254863,254864,254865,254866,254867,254868,254869,254870,254871,254872,254873,254874,254875,254876,254878,254879,254881,254882,254883,254884,254885,254886,254887,254888,254889,254890,254891,254892,254893,254894,254895,254896,254897,254898,254899,254900,254901,254902,260323,260324,260325,260326,260327,260328,260329,260330,260331,260332,260333,260334,260338,260339,260342,260343,260347,260348,260352,260353,260357,260358,260359,260360,260361,260362,260365,260366,260367,260368,260369,260370,260371,260372,260373,260374,260375,260376,260377,260378,260379,260380,260381,260382,260383,260384,260385,260386,260387,260388,260389,260390,260391,260392,260393,260394,260395,260396,260397,260398,260399,260400,260401,260402,260403,260404,260405,260406,260407,260408,260409,260410,260411,260412,260413,260414,260415,260416,260417,260418,260419,260420,260421,260422,260423,260424,260425,260426,260427,260428,260429,260430,260431,260432,260433,260434,260435,260436,260437,260438,260439,260440,260441,260442,260446,260447,260452,260453,260454,260455,260578,260579,260580,260581,260582,260583,260584,260585,260586,260587,260588,260589,260590,260591,260593,260594,260595,260596,260598,260599,260600,260601,260603,260604,260605,260606,260608,260609,260610,260611,260613,260614,260615,260616,260618,260619,260620,260621,260623,260624,260625,260626,260627,260628,260629,260630,260631,260632,260633,260634,260640,260641,260642,260643,260644,260645,260651,260652,260653,260654,260735,260736,260737,260738,260739,260740,261126,261127,261128,261129,261131,261132,261133,261134,261135,261136,261142,261143,261144,261145,261150,261151,261152,261153,261154,261155,261172,261173,261174,261175,261205,261206,261207,261208,261209,261210,261229,261230,261231,261232,261242,261243,261244,261245,261246,261247,261270,261271,261272,261273,261274,261275,261276,261277,261279,261280,261281,261282,261286,261287,261288,261289,261291,261292,261293,261294,261296,261297,261298,261299,261301,261302,261303,261304,261306,261307,261308,261309,261311,261312,261313,261314,261316,261317,261318,261319,261322,261323,261324,261325,261327,261328,261329,261330,261333,261334,261335,261336,261338,261339,261340,261341,261351,261352,261353,261354,261355,261356,261357,261358,261359,261360,261361,261362,261363,261364,261369,261370,261371,261372,261373,261374,261381,261382,261383,261384,261406,261407,261408,261409,261410,261411,261456,261457,261458,261459,261473,261474,261475,261476,261477,261478,261494,261495,261496,261497,261498,261499,261500,261501,261514,261515,261516,261517,261519,261520,261521,261522,261524,261525,261526,261527,261529,261530,261531,261532,261534,261535,261536,261537,261539,261540,261541,261542,261544,261545,261546,261547,261549,261550,261551,261552,261554,261555,261556,261557,261559,261560,261561,261562,261569,261570,261571,261572,261574,261575,261576,261577,261578,261579,261580,261581,261582,261583,261584,261585,261586,261587,261592,261593,261594,261595,261596,261597,261604,261605,261606,261607,261611,261612,261613,261614,261615,261616,261623,261624,261625,261626,261627,261628,261629,261630,261632,261633,261634,261635,261637,261638,261639,261640,261642,261643,261644,261645,261647,261648,261649,261650,261652,261653,261654,261655,261657,261658,261659,261660,261768,261769,261770,261771,261772,261773,261774,261775,261776,261777,261778,261779,261780,261781,261782,261783,261784,261785,261786,261787,261788,261789,261790,261791,261799,261800,261801,261802,261810,261811,261812,261813,261814,261815,261822,261823,261824,261825,261832,261833,261834,261835,261836,261837,261838,261839,261840,261841,261842,261843,261852,261853,261854,261855,261856,261857,261873,261874,261875,261876,261878,261879,261880,261881,261883,261884,261885,261886,261888,261889,261890,261891,261896,261897,261898,261899,261901,261902,261903,261904,261905,261906,261907,261908,261913,261914,261915,261916,261917,261918,261928,261929,261930,261931,261956,261957,261958,261959,261960,261961,262047,262048,262049,262050,262113,262114,262115,262116,262117,262118,262119,262120,262135,262136,262137,262138,262139,262140,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") == "eabdae186d962f4cc50faca833ddc0c10a666dae" || 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", "3724,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,6943,6944,8086,8087,8311,8312,9151,9152,9156,9157,9158,9159,9168,9169,9177,9178,9179,9180,9208,9209,9274,9275,9276,9277,9345,9346,9354,9355,9356,9357,9386,9387,9393,9394,9395,9396,9417,9418,9422,9423,9424,9425,9433,9434,9440,9441,9442,9443,9461,9462,9467,9468,9469,9470,9482,9483,9488,9489,9490,9491,9506,9507,9513,9514,9515,9516,9529,9530,9531,9532,9533,9534,9612,9613,9614,9615,9616,9617,9629,9630,9634,9635,9636,9637,9638,9639,9698,9699,9700,9701,9702,9703,9768,9769,9770,9771,9772,9773,21723,21725,21987,21988,22999,23000,23043,23044,23074,23075,23403,23404,24372,24406,24980,24981,25086,25087,25379,25380,25592,25593,26513,26516,26517,26518,26584,26585,26586,26587,26753,26754,26898,26899,27072,27073,27244,27245,27605,27606,27623,27865,27868,27869,27878,27879,27880,27881,27898,27899,27920,27921,28030,28031,28069,28070,28073,28074,28085,28086,28552,28553,28554,28555,28577,28578,28599,28600,28839,28840,29952,29953,30249,30250,30368,30369,30846,30847,30848,30849,31374,31375,31390,31391,31422,31423,31484,31485,31491,31492,32768,32770,32849,32850,48416,48419,48424,48425,48442,48443,48472,48473,65531,65532,65533,65534,65536,65537,66202,66203,66204,66205,66206,66511,66512,66576,66577,66578,66579,66666,66667,67330,67331,67336,67337,67342,67343,67353,67354,67367,67368,67383,67384,67412,67413,67423,67424,67461,67462,67734,67735,67736,67737,67738,67739,67740,67741,67814,67815,67888,67889,67932,67933,67934,67935,67938,67939,67940,67941,67942,67943,67944,67945,67946,67947,67949,67950,67956,67957,67962,67963,68038,68039,68042,68043,68048,68049,68050,68051,68052,68053,68054,68055,68056,68057,68058,68059,68065,68066,68067,68068,68089,68090,68113,68114,68115,68116,68127,68128,68171,68172,68223,68224,68543,68544,68651,68652,68653,68654,68662,68663,68668,68669,68681,68682,68696,68697,68740,68741,68754,68755,68800,68801,68812,68813,68920,68921,69237,69238,69336,69337,69374,69375,69404,69405,69424,69425,69433,69434,69618,69619,69761,69762,69772,69773,69790,69791,69800,69801,69935,69936,69942,69943,69972,69973,70003,70004,70193,70194,70200,70201,70207,70208,70213,70214,70218,70219,70232,70233,70241,70242,70246,70247,70277,70278,70295,70296,70326,70327,70381,70382,70399,70400,70430,70431,70450,70451,70459,70460,70467,70468,70491,70492,70541,70542,70553,70554,70558,70559,70563,70564,71369,71370,71374,71375,71379,71380,71396,71397,71401,71402,71408,71409,71413,71414,71419,71420,71425,71426,71430,71431,71436,71437,71442,71443,71447,71448,71452,71453,71458,71459,71464,71465,71470,71471,71476,71477,71481,71482,71487,71488,71493,71494,71498,71499,71504,71505,71510,71511,71515,71516,71521,71522,71527,71528,71532,71533,71538,71539,71544,71545,71549,71550,71555,71556,71561,71562,71566,71567,71572,71573,71578,71579,71583,71584,71589,71590,71595,71596,71600,71601,71606,71607,71612,71613,71617,71618,71623,71624,71629,71630,71634,71635,71640,71641,71646,71647,71651,71652,71657,71658,71663,71664,71671,71672,71679,71680,71693,71694,71699,71700,71722,71723,71752,71753,71795,71796,71832,71833,71839,71840,71898,71899,71903,71904,71922,71923,71927,71928,72101,72102,72271,72272,72278,72279,72293,72294,72303,72304,72313,72314,72323,72324,72333,72334,72343,72344,72353,72354,72363,72364,72373,72374,72383,72384,72398,72399,72408,72409,72418,72419,72433,72434,72443,72444,72453,72454,72463,72464,72473,72474,72483,72484,72493,72494,72503,72504,72513,72514,72523,72524,72538,72539,72548,72549,72558,72559,72568,72569,72578,72579,72593,72594,72603,72604,72613,72614,72623,72624,72638,72639,72648,72649,72658,72659,72668,72669,72683,72684,72693,72694,72703,72704,72713,72714,72723,72724,72738,72739,72748,72749,72758,72759,72768,72769,72778,72779,72788,72789,72797,72798,72812,72813,72822,72823,72832,72833,72842,72843,72852,72853,72862,72863,72872,72873,72882,72883,72892,72893,72907,72908,72917,72918,72927,72928,72937,72938,72947,72948,72957,72958,72967,72968,72977,72978,72987,72988,72997,72998,73007,73008,73022,73023,73032,73033,73042,73043,73052,73053,73062,73063,73072,73073,73087,73088,73097,73098,73107,73108,73117,73118,73127,73128,73137,73138,73147,73148,73157,73158,73172,73173,73182,73183,73192,73193,73202,73203,73217,73218,73232,73233,73242,73243,73252,73253,73262,73263,73272,73273,73282,73283,73292,73293,73307,73308,73317,73318,73327,73328,73337,73338,73352,73353,73362,73363,73372,73373,73382,73383,73397,73398,73407,73408,73417,73418,73427,73428,73442,73443,73452,73453,73462,73463,73472,73473,73482,73483,73492,73493,73507,73508,73517,73518,73527,73528,73537,73538,73547,73548,73562,73563,73572,73573,73582,73583,73592,73593,73602,73603,73612,73613,73627,73628,73637,73638,73647,73648,73657,73658,73667,73668,73677,73678,73692,73693,73702,73703,73712,73713,73722,73723,73732,73733,73742,73743,73752,73753,73762,73763,73772,73773,73782,73783,73797,73798,73807,73808,73817,73818,73827,73828,73837,73838,73847,73848,73857,73858,73867,73868,73877,73878,73887,73888,73902,73903,73912,73913,73922,73923,73932,73933,73942,73943,73952,73953,73962,73963,73972,73973,73982,73983,73992,73993,74007,74008,74017,74018,74027,74028,74037,74038,74047,74048,74057,74058,74067,74068,74077,74078,74087,74088,74102,74103,74112,74113,74122,74123,74132,74133,74142,74143,74152,74153,74162,74163,74172,74173,74182,74183,74192,74193,74202,74203,74212,74213,74222,74223,74237,74238,74247,74248,74257,74258,74267,74268,74277,74278,74287,74288,74297,74298,74307,74308,74317,74318,74332,74333,74342,74343,74352,74353,74362,74363,74372,74373,74382,74383,74392,74393,74407,74408,74417,74418,74427,74428,74437,74438,74447,74448,74457,74458,74467,74468,74477,74478,74487,74488,74497,74498,74507,74508,74517,74518,74532,74533,74542,74543,74552,74553,74562,74563,74572,74573,74582,74583,74592,74593,74602,74603,74612,74613,74622,74623,74637,74638,74647,74648,74657,74658,74667,74668,74682,74683,74692,74693,74702,74703,74712,74713,74722,74723,74732,74733,74742,74743,74752,74753,74762,74763,74772,74773,74787,74788,74797,74798,74807,74808,74817,74818,74827,74828,74837,74838,74847,74848,74857,74858,74872,74873,74882,74883,74892,74893,74902,74903,74912,74913,74922,74923,74937,74938,74947,74948,74957,74958,74967,74968,74977,74978,74987,74988,74997,74998,75007,75008,75017,75018,75032,75033,75042,75043,75052,75053,75062,75063,75173,75174,75237,75238,75242,75243,75249,75250,75263,75264,75270,75271,75329,75330,75351,75352,75365,75366,75398,75399,75492,75493,75507,75508,75517,75518,75562,75563,75595,75596,75606,75607,75613,75614,75619,75620,75733,75734,75753,75754,75759,75760,76436,76437,76456,76457,76469,76470,76483,76484,76547,76548,76553,76554,76560,76561,76567,76568,76575,76576,76645,76646,76654,76655,76662,76663,76682,76683,76704,76705,76974,76975,81797,81798,81827,81828,81835,81836,81950,81951,81973,81974,82024,82025,82054,82055,82079,82080,82093,82094,82099,82100,82113,82114,82118,82119,82154,82155,82161,82162,82168,82169,82177,82178,82187,82188,82196,82197,82253,82254,82272,82273,82304,82305,82310,82311,82322,82323,82378,82379,82391,82392,82560,82561,82575,82576,82651,82652,82710,82711,82732,82733,82777,82778,82792,82793,82797,82798,82803,82804,82809,82810,82815,82816,82821,82822,82827,82828,82835,82836,83138,83139,83143,83144,83171,83172,83185,83186,83190,83191,83197,83198,83207,83208,83239,83240,83245,83246,83252,83253,83260,83261,83268,83269,83273,83274,83278,83279,83285,83286,83292,83293,83299,83300,83305,83306,83311,83312,83317,83318,83323,83324,83329,83330,83334,83335,83340,83341,83346,83347,83352,83353,83358,83359,83365,83366,83371,83372,83377,83378,83382,83383,83389,83390,83396,83397,83403,83404,83413,83414,83423,83424,83431,83432,83437,83438,83451,83452,83461,83462,83467,83468,83475,83476,83481,83482,83487,83488,83493,83494,83500,83501,83505,83506,83511,83512,83517,83518,83522,83523,83528,83529,83534,83535,83539,83540,83544,83545,83550,83551,83555,83556,83563,83564,83570,83571,83575,83576,83581,83582,83724,83725,83737,83738,83766,83767,83788,83789,83827,83828,83969,83970,84003,84004,84010,84011,84146,84147,84165,84166,84202,84203,84212,84213,84234,84235,84484,84485,84526,84527,84539,84540,84547,84548,84554,84555,84560,84561,84569,84570,84576,84577,84608,84609,84626,84627,84641,84642,84650,84651,84657,84658,84664,84665,84683,84684,84715,84716,84740,84741,84789,84790,84801,84802,84808,84809,84823,84824,84826,84827,84834,84835,84844,84845,84851,84852,84877,84878,84897,84898,84915,84916,84945,84946,84950,84951,84955,84956,84960,84961,84974,84975,84977,84978,87443,87444,87446,87447,87451,87452,87457,87458,87464,87465,87520,87521,87523,87524,87935,87936,89155,89156,89163,89164,89342,89343,89347,89348,89355,89356,89399,89400,89421,89422,89426,89427,89431,89432,89441,89442,89447,89448,89453,89454,89462,89463,89497,89498,89502,89503,89513,89514,89521,89522,89526,89527,89532,89533,89713,89714,89750,89751,89758,89759,89777,89778,89804,89805,89833,89834,89841,89842,89847,89848,89859,89860,89880,89881,89887,89888,89916,89917,89956,89957,89964,89965,89976,89977,90042,90043,90061,90062,90095,90096,90100,90101,90109,90110,90115,90116,90125,90126,90131,90132,90161,90162,90301,90302,90312,90313,90317,90318,90323,90324,90343,90344,90345,90346,90357,90358,90366,90367,90378,90379,90386,90387,90393,90394,90400,90401,90412,90413,90419,90420,90427,90428,90435,90436,90442,90443,90447,90448,90454,90455,90459,90460,90467,90468,90474,90475,90486,90487,90491,90492,90500,90501,90508,90509,90515,90516,90522,90523,90530,90531,90538,90539,90544,90545,90551,90552,90558,90559,90560,90561,90598,90599,90636,90637,90676,90677,90679,90680,90681,90682,90683,90684,90696,90697,90698,90699,90700,90701,90722,90723,90734,90735,90736,90737,90738,90739,90863,90864,90865,90866,90872,90873,90874,90875,90876,90877,90878,90879,90880,90881,90882,90883,90891,90892,90897,90898,90904,90905,90911,90912,90924,90925,90931,90932,90952,90953,90964,90965,90966,90967,91017,91018,91024,91025,91030,91031,91085,91086,91091,91092,91097,91098,91104,91105,91110,91111,91285,91286,91293,91294,91299,91300,91305,91306,91312,91313,91322,91323,91377,91378,91390,91391,91420,91421,91426,91427,91433,91434,91439,91440,91447,91448,91453,91454,91459,91460,91465,91466,91542,91543,91561,91562,91637,91638,91643,91644,91650,91651,91856,98304,98306,98385,98386,106921,106922,107121,107122,127835,127836,127837,127838,131072,131073,163840,163842,163921,163922,168362,168370,168371,168376,168377,168384,168385,168388,168413,168419,168420,168438,168439,168458,168459,168464,168465,168469,168470,168475,168476,168487,168488,168494,168495,168508,168509,168519,168520,168523,168524,168532,168533,168537,168538,168543,168544,168549,168550,168553,168554,168557,168558,168562,168563,168567,168568,168571,168572,168576,168577,168580,168581,168585,168586,168590,168591,168603,168604,168609,168610,169640,169641,169647,169648,169656,169657,169663,169664,169667,169668,169669,169670,169677,169678,169696,169697,169702,169703,169707,169708,169713,169714,169725,169726,169732,169733,169738,169739,169749,169750,169755,169756,169757,169758,169759,169760,169761,169762,169766,169767,169769,169770,169776,169777,169780,169781,169788,169789,169792,169793,169822,169823,169836,169837,169861,169862,169898,169899,169925,169926,169970,169971,169995,169996,170007,170008,170036,170037,170063,170064,170076,170077,170078,170079,170082,170083,170085,170086,170088,170089,170092,170093,170096,170097,170104,170105,170107,170108,170112,170113,170122,170123,170127,170128,170133,170134,170138,170139,170144,170145,170148,170149,170153,170154,170158,170159,170166,170167,170172,170173,170176,170177,170182,170183,170187,170188,170191,170192,170197,170198,170202,170203,170207,170208,170211,170212,170218,170219,170222,170223,170228,170229,170235,170236,170239,170240,170250,170251,170253,170254,170259,170260,170264,170265,170280,170281,170284,170285,170289,170290,170295,170296,170301,170302,170307,170308,170313,170314,170318,170319,170321,170322,170328,170329,170335,170336,170342,170343,170347,170348,170355,170356,170362,170363,170366,170367,170373,170374,170380,170381,170388,170389,170392,170393,170403,170404,170407,170408,170419,170420,170423,170424,170428,170429,170434,170435,170440,170441,170447,170448,170456,170457,170462,170463,170470,170471,170475,170476,170478,170479,170483,170484,170489,170490,170495,170496,170503,170504,170511,170512,170515,170516,170524,170525,170526,170527,170534,170535,170542,170543,170549,170550,170606,170607,170629,170630,170637,170638,170647,170648,170655,170656,170664,170665,170677,170678,170689,170690,170700,170701,170713,170714,170722,170723,170731,170732,170742,170743,170753,170754,170762,170763,170771,170772,170776,170777,170784,170785,170795,170796,170806,170807,170817,170818,170869,170870,170878,170879,170887,170888,170903,170904,170908,170909,170922,170923,170931,170932,170975,170976,170989,170990,171006,171007,171016,171017,171025,171026,171054,171055,171067,171068,171078,171079,171092,171093,171103,171104,171115,171116,171130,171131,171142,171143,171160,171161,171167,171168,171172,171173,171214,171215,171225,171226,171235,171236,171247,171248,171258,171259,171266,171267,171276,171277,171288,171289,171300,171301,171305,171306,171315,171316,171325,171326,171336,171337,171344,171345,171353,171354,171368,171369,171397,171398,171408,171409,171431,171432,171490,171491,171505,171506,171511,171512,171556,171557,171570,171571,171586,171587,171602,171603,171609,171610,171623,171624,171635,171636,171648,171649,171657,171658,171669,171670,171680,171681,171708,171709,171787,171788,171799,171800,171810,171811,171822,171823,171831,171832,171854,171855,171862,171863,171873,171874,171883,171884,171902,171903,171946,171947,171956,171957,171969,171970,171977,171978,172014,172015,172061,172062,172070,172071,172076,172077,172085,172086,172106,172107,172113,172114,172115,172116,172118,172119,172121,172122,172124,172125,172128,172129,172131,172132,172134,172135,172137,172138,172141,172142,172146,172147,172149,172150,172153,172154,172156,172157,172159,172160,172162,172163,172166,172167,172169,172170,172173,172174,172175,172176,172177,172178,172240,172241,172242,172243,172244,172245,172255,172256,172257,172258,172299,172300,172301,172302,172303,172304,172523,172524,172525,172526,172559,172560,172561,172562,172563,172564,172799,172800,172801,172802,172810,172811,172812,172813,172814,172815,172828,172829,172830,172831,172863,172864,172865,172866,172867,172868,172875,172876,172877,172878,173486,173487,173488,173489,173490,173491,173575,173576,173577,173578,173644,173645,173646,173647,173648,173649,173743,173744,173745,173746,175701,175702,175703,175704,175705,175706,177231,177232,177233,177234,177381,177382,177383,177384,177385,177386,178076,178077,178078,178079,178086,178087,178088,178089,178090,178091,178092,178093,178094,178095,178107,178108,178109,178110,180698,180699,180700,180701,180702,180703,183067,183068,183069,183070,183553,183554,183555,183556,183557,183558,184453,184454,184455,184456,184613,184614,184615,184616,184617,184618,184894,184895,184896,184897,185880,185881,185882,185883,185884,185885,186471,186472,186473,186474,186480,186481,186482,186483,186484,186485,186495,186496,186497,186498,186511,186512,186513,186514,186515,186516,186550,186551,186552,186553,186559,186560,186561,186562,186563,186564,186575,186576,186577,186578,186638,186639,186640,186641,186642,186643,186649,186650,186651,186652,186886,186887,186888,186889,186890,186891,187048,187049,187050,187051,187098,187099,187100,187101,187102,187103,187236,187237,187238,187239,188918,188919,188920,188921,188922,188923,190230,190231,190232,190233,190243,190244,190245,190246,190247,190248,190299,190300,190301,190302,190338,190339,190340,190341,190342,190343,190344,190345,190346,190347,190403,190404,190405,190406,190411,190412,190413,190414,190415,190416,190439,190440,190441,190442,191856,191857,191858,191859,191860,191861,192910,192911,192912,192913,192916,192917,192918,192919,192920,192921,192934,192935,192936,192937,192943,192944,192945,192946,192947,192948,192964,192965,192966,192967,192979,192980,192981,192982,192983,192984,193064,193065,193066,193067,193068,193069,193070,193071,195469,195470,195471,195472,195515,195516,195517,195518,195519,195520,195637,195638,195639,195640,195643,195644,195645,195646,195647,195648,195659,195660,195661,195662,195723,195724,195725,195726,195727,195728,195817,195818,195819,195820,195953,195954,195955,195956,195957,195958,196204,196205,196206,196207,196218,196219,196220,196221,196222,196223,196266,196267,196268,196269,196270,196271,196272,196273,196274,196275,196276,196277,196278,196279,196280,196281,196282,196283,196284,196285,196286,196287,196288,196289,196290,196291,196292,196293,196302,196303,196304,196305,196306,196307,196316,196317,196318,196319,196376,196377,196378,196379,196380,196381,196556,196557,196558,196559,196560,196561,196562,196563,196564,196565,196589,196590,196591,196592,196593,196594,196604,196605,196606,196608,196609,229376,229378,229457,229458,251811,251812,251813,251814,251815,252683,252684,252685,252686,252687,252688,252689,252690,252724,252725,252732,252733,252734,252735,252736,252737,252738,252739,252771,252772,252826,252827,252862,252863,252864,252865,252866,252867,252868,252869,252870,252871,252872,252873,252874,252875,252876,252877,252878,252879,252880,252881,252882,252883,252884,252885,252886,252887,252888,252889,252890,252891,252892,252893,252894,252895,252896,252897,252898,252899,253055,253056,253164,253165,253308,253309,253410,253411,253601,253602,253761,253762,253825,253826,253974,253975,254179,254180,254274,254275,254429,254430,254492,254493,254494,254495,254496,254497,254498,254499,254500,254501,254502,254503,254504,254505,254514,254515,254516,254517,254519,254520,254521,254522,254549,254550,254551,254552,254578,254579,254580,254581,254608,254609,254610,254611,254623,254624,254625,254626,254634,254635,254636,254637,254641,254642,254643,254644,254650,254651,254652,254653,254654,254655,254656,254657,254659,254660,254661,254662,254671,254672,254673,254674,254675,254676,254677,254678,254679,254680,254681,254682,254683,254684,254685,254686,254764,254765,254766,254767,254768,254769,254770,254771,254772,254773,254774,254775,254776,254777,254778,254779,254781,254782,254783,254784,254785,254786,254787,254788,254824,254825,254826,254827,254863,254864,254865,254866,254867,254868,254869,254870,254871,254872,254873,254874,254875,254876,254878,254879,254881,254882,254883,254884,254885,254886,254887,254888,254889,254890,254891,254892,254893,254894,254895,254896,254897,254898,254899,254900,254901,254902,260323,260324,260325,260326,260327,260328,260329,260330,260331,260332,260333,260334,260338,260339,260342,260343,260347,260348,260352,260353,260357,260358,260359,260360,260361,260362,260365,260366,260367,260368,260369,260370,260371,260372,260373,260374,260375,260376,260377,260378,260379,260380,260381,260382,260383,260384,260385,260386,260387,260388,260389,260390,260391,260392,260393,260394,260395,260396,260397,260398,260399,260400,260401,260402,260403,260404,260405,260406,260407,260408,260409,260410,260411,260412,260413,260414,260415,260416,260417,260418,260419,260420,260421,260422,260423,260424,260425,260426,260427,260428,260429,260430,260431,260432,260433,260434,260435,260436,260437,260438,260439,260440,260441,260442,260446,260447,260452,260453,260454,260455,260578,260579,260580,260581,260582,260583,260584,260585,260586,260587,260588,260589,260590,260591,260593,260594,260595,260596,260598,260599,260600,260601,260603,260604,260605,260606,260608,260609,260610,260611,260613,260614,260615,260616,260618,260619,260620,260621,260623,260624,260625,260626,260627,260628,260629,260630,260631,260632,260633,260634,260640,260641,260642,260643,260644,260645,260651,260652,260653,260654,260735,260736,260737,260738,260739,260740,261126,261127,261128,261129,261131,261132,261133,261134,261135,261136,261142,261143,261144,261145,261150,261151,261152,261153,261154,261155,261172,261173,261174,261175,261205,261206,261207,261208,261209,261210,261229,261230,261231,261232,261242,261243,261244,261245,261246,261247,261270,261271,261272,261273,261274,261275,261276,261277,261279,261280,261281,261282,261286,261287,261288,261289,261291,261292,261293,261294,261296,261297,261298,261299,261301,261302,261303,261304,261306,261307,261308,261309,261311,261312,261313,261314,261316,261317,261318,261319,261322,261323,261324,261325,261327,261328,261329,261330,261333,261334,261335,261336,261338,261339,261340,261341,261351,261352,261353,261354,261355,261356,261357,261358,261359,261360,261361,261362,261363,261364,261369,261370,261371,261372,261373,261374,261381,261382,261383,261384,261406,261407,261408,261409,261410,261411,261456,261457,261458,261459,261473,261474,261475,261476,261477,261478,261494,261495,261496,261497,261498,261499,261500,261501,261514,261515,261516,261517,261519,261520,261521,261522,261524,261525,261526,261527,261529,261530,261531,261532,261534,261535,261536,261537,261539,261540,261541,261542,261544,261545,261546,261547,261549,261550,261551,261552,261554,261555,261556,261557,261559,261560,261561,261562,261569,261570,261571,261572,261574,261575,261576,261577,261578,261579,261580,261581,261582,261583,261584,261585,261586,261587,261592,261593,261594,261595,261596,261597,261604,261605,261606,261607,261611,261612,261613,261614,261615,261616,261623,261624,261625,261626,261627,261628,261629,261630,261632,261633,261634,261635,261637,261638,261639,261640,261642,261643,261644,261645,261647,261648,261649,261650,261652,261653,261654,261655,261657,261658,261659,261660,261768,261769,261770,261771,261772,261773,261774,261775,261776,261777,261778,261779,261780,261781,261782,261783,261784,261785,261786,261787,261788,261789,261790,261791,261799,261800,261801,261802,261810,261811,261812,261813,261814,261815,261822,261823,261824,261825,261832,261833,261834,261835,261836,261837,261838,261839,261840,261841,261842,261843,261852,261853,261854,261855,261856,261857,261873,261874,261875,261876,261878,261879,261880,261881,261883,261884,261885,261886,261888,261889,261890,261891,261896,261897,261898,261899,261901,261902,261903,261904,261905,261906,261907,261908,261913,261914,261915,261916,261917,261918,261928,261929,261930,261931,261956,261957,261958,261959,261960,261961,262047,262048,262049,262050,262113,262114,262115,262116,262117,262118,262119,262120,262135,262136,262137,262138,262139,262140,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") && 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;

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

ui_print("Patching system image after verification.");
show_progress(0.900000, 0);
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 boot image...");
show_progress(0.100000, 10);
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:1f61a401c514f07779580fed5d1f4330b56fb29b",
            "-", 1f61a401c514f07779580fed5d1f4330b56fb29b, 16276776,
            2b72e12ade635847e49097f5e862883dae7a0078,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16276776:2b72e12ade635847e49097f5e862883dae7a0078:16276776:1f61a401c514f07779580fed5d1f4330b56fb29b");

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

ui_print("Patching firmware images...");
set_progress(1.000000);
