getprop("ro.product.device") == "rgk6735m_35_qc_n" || abort("E3004: This package is for \"rgk6735m_35_qc_n\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1764310271:user/test-keys");
ui_print("Target: alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1780649524:user/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1764310271:user/test-keys" ||
    getprop("ro.build.fingerprint") == "alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1780649524:user/test-keys" ||
    abort("E3001: Package expects build fingerprint of alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1764310271:user/test-keys or alps/full_rgk6735m_35_qc_n/rgk6735m_35_qc_n:7.0/NRD90M/1780649524:user/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8634624:a0e53079135e345d6d58865f49d97a5a416affc0:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518") || abort("E3005: \"EMMC:/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8634624:a0e53079135e345d6d58865f49d97a5a416affc0:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518\" has unexpected contents.");
apply_patch_space(27734016) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system", "5246,1,144,145,331,32686,32687,32693,32694,32695,32696,32706,32707,32724,32725,32726,32727,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32770,32913,32914,48219,48220,48221,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48250,48251,48252,48253,48256,48257,56539,56540,56541,56542,56614,56615,56616,56617,56618,56619,56620,56621,56622,56623,56624,56625,56626,56627,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57701,57702,57703,57704,57707,57708,62599,62600,62601,62602,62686,62687,62688,62689,62690,62691,62692,62693,62694,62695,62696,62697,62698,62699,62700,62701,62702,62703,62704,62705,62706,62707,62733,62734,62735,62736,62739,62740,62741,62742,62829,62830,62831,62832,62833,62834,62835,62836,62837,62838,62839,62840,62841,62842,62843,62844,62845,62846,62847,62848,62849,62850,62851,62852,62877,62878,62879,62880,62883,62884,62885,62886,62962,62963,62964,62965,62966,62967,62968,62969,62970,62971,62972,62973,62974,62975,62976,62977,62978,62979,62980,62981,62982,62983,63009,63010,63011,63012,63015,63016,63017,63018,63115,63116,63117,63118,63119,63120,63121,63122,63123,63124,63125,63126,63127,63128,63129,63130,63131,63132,63133,63134,63135,63136,63137,63138,63163,63164,63165,63166,63169,63170,63171,63172,63247,63248,63249,63250,63251,63252,63253,63254,63255,63256,63257,63258,63259,63260,63261,63262,63263,63264,63265,63266,63267,63268,63294,63295,63296,63297,63300,63301,63302,63303,63392,63393,63394,63395,63396,63397,63398,63399,63400,63401,63402,63403,63404,63405,63406,63407,63408,63409,63410,63411,63412,63413,63414,63415,63447,63448,63449,63450,63453,63454,63455,63456,63557,63558,63559,63560,63561,63562,63563,63564,63565,63566,63567,63568,63699,63700,63701,63702,63703,63704,63705,63706,63707,63708,63739,63740,63741,63742,63745,63746,63747,63748,63851,63852,63853,63854,63855,63856,63857,63858,63859,63860,63861,63862,63863,63864,63995,63996,63997,63998,63999,64000,64001,64002,64003,64004,64035,64036,64037,64038,64041,64042,64043,64044,64160,64161,64162,64163,64164,64165,64166,64167,64168,64169,64170,64171,64302,64303,64304,64305,64306,64307,64308,64309,64310,64311,64341,64342,64343,64344,64347,64348,64349,64350,64436,64437,64438,64439,64440,64441,64442,64443,64444,64445,64446,64447,64448,64449,64450,64451,64452,64453,64454,64455,64486,64487,64488,64489,64492,64493,64494,64495,64595,64596,64597,64598,64599,64600,64601,64602,64603,64604,64605,64606,64607,64608,64710,64711,64750,64751,64834,64835,64836,64837,64876,64877,64878,64879,64882,64883,64884,64885,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65008,65009,65010,65011,65012,65027,65028,65029,65030,65031,65032,65033,65034,65144,65145,65146,65147,65148,65149,65150,65151,65152,65153,65154,65155,65156,65157,65158,65159,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65360,65361,65362,65363,65366,65367,65368,65369,65463,65464,65465,65466,65467,65468,65469,65470,65471,65472,65473,65474,65475,65476,65477,65478,65479,65480,65481,65482,65483,65484,65499,65500,65501,65502,65505,65506,65507,65508,65509,65510,65511,65512,65513,65514,65515,65516,65517,65518,65519,65520,65521,65522,65523,65524,65525,65526,65527,65528,65529,65530,65531,65532,65533,65536,65537,78832,98303,98304,98306,98449,98450,103111,110989,110990,112145,112146,119962,119963,130965,130966,130971,130972,130986,130987,130996,130997,130998,130999,131003,131004,131008,131009,131013,131020,131032,131033,131038,131039,131040,131041,131046,131047,131059,131060,131061,131062,131068,131069,131070,131072,131073,131568,136552,163840,163842,163985,163986,164481,170776,170777,170944,170945,170971,170972,170997,170998,171017,171018,171029,171030,171043,171044,171054,171055,171064,171065,171071,171072,171097,171098,171160,171161,171205,171206,171224,171225,171237,171238,171257,171258,171279,171280,171339,171340,171387,171388,171413,171414,171459,171460,171467,171468,171473,171474,171481,171482,171486,171487,171491,171492,171501,171502,171509,171510,171584,171585,171698,171699,171715,171716,171723,171724,171734,171735,171744,171745,172022,172023,172051,172052,172088,172089,172094,172095,172293,172294,172305,172306,172310,172311,172321,172322,172326,172327,172450,172451,172466,172467,172472,172473,172478,172479,172493,172494,172532,172533,172582,172583,172588,172589,172596,172597,172602,172603,172609,172610,172618,172619,172675,172676,172878,172879,172887,172888,172907,172908,172921,172922,172973,172974,172979,172980,172982,172983,172988,172989,172994,172995,173002,173003,173022,173023,173027,173028,173032,173033,173038,173039,173047,173048,173068,173069,173077,173078,173099,173100,173121,173122,173145,173146,173158,173159,173164,173165,173192,173193,173198,173199,173203,173204,173217,173218,173257,173258,173289,173290,173406,173407,173412,173413,173422,173423,173429,173430,173444,173445,173451,173452,173461,173462,173480,173481,173493,173494,173543,173544,173735,173736,173747,173748,173751,173752,173769,173770,173911,173912,173957,173958,173965,173966,174051,174052,174119,174120,174205,174206,174212,174213,174217,174218,174224,174225,174356,174357,174375,174376,174383,174384,174395,174396,174407,174408,174796,174797,174999,175000,175036,175037,175038,175039,175040,175041,175043,175044,175045,175046,175047,175048,175179,175180,175181,175182,175183,175184,175186,175187,175189,175190,175191,175192,175193,175194,175239,175240,175241,175242,175324,175325,175326,175327,175328,175329,175330,175331,175429,175430,175431,175432,175435,175436,175437,175438,175439,175440,175457,175458,175459,175460,175461,175462,175558,175559,175560,175561,175562,175563,176077,176078,177062,177063,177514,177515,177516,177517,177986,177987,178027,178028,178029,178030,178035,178036,178243,196608,196609,228337,228399,228400,228418,228419,228523,228524,228553,228554,228557,228558,228655,228656,228760,228761,228850,228851,228852,228853,228854,228855,228959,228960,228961,228962,228963,228964,228965,228966,228995,228996,228997,228998,229001,229002,229003,229004,229121,229122,229123,229124,229125,229126,229127,229128,229129,229130,229131,229132,229236,229237,229238,229239,229240,229241,229242,229243,229244,229245,229275,229276,229277,229278,229281,229282,229283,229284,229285,229286,229287,229288,229289,229290,229291,229292,229293,229294,229295,229296,229297,229298,229299,229300,229301,229302,229317,229318,229319,229320,229323,229324,229327,229328,229329,229330,229331,229332,229333,229334,229335,229336,229337,229338,229339,229340,229341,229342,229343,229344,229345,229346,229347,229348,229349,229350,229351,229352,229355,229356,229357,229358,229359,229360,229361,229362,229363,229364,229365,229366,229367,229368,229369,229370,229371,229372,229373,229376,229378,229521,229522,230017,230050,230051,230070,230071,230106,230107,230127,230128,230168,230169,230209,230210,230225,230226,230238,230239,230251,230252,230260,230261,230266,230267,230331,230332,230440,230441,230451,230452,230461,230462,230463,230464,230465,230466,230467,230468,230486,230487,230542,230543,230605,230606,230667,230668,230669,230670,230691,230692,230821,230822,230975,230976,230982,230983,230992,230993,231011,231012,231020,231021,231026,231027,231035,231036,231158,231159,231160,231161,231166,231167,231174,231175,231180,231181,231186,231187,231188,231189,231204,231205,231206,231207,231214,231215,231220,231221,231276,231277,231278,231279,231317,231318,231336,231337,231341,231342,231353,231354,231365,231366,231367,231368,231413,231414,231459,231460,231469,231470,231514,231515,231519,231520,231521,231522,231535,231536,231541,231542,231546,231547,231552,231553,231579,231580,231588,231589,231595,231596,231600,231601,231607,231608,231614,231615,231616,231617,231648,231649,231695,231696,231697,231698,231730,231731,231736,231737,231738,231739,231761,231762,231763,231764,231786,231787,231857,231858,231870,231871,231877,231878,231880,231881,231896,231897,231902,231903,232016,232017,232018,232019,232041,232042,232352,232353,232355,232356,232357,232358,232384,232385,232386,232387,232388,232389,232390,232391,232392,232393,232394,232395,232396,232397,232398,232399,232400,232401,232402,232403,232404,232405,232406,232407,232408,232409,232410,232411,232412,232413,232414,232415,232416,232417,232418,232419,232420,232421,232422,232423,232424,232425,232426,232427,232428,232429,232430,232431,232432,232433,232434,232435,232436,232437,232438,232439,232440,232441,232442,232443,232444,232445,232446,232447,232448,232449,232450,232451,232452,232453,232454,232455,232456,232457,232458,232459,232460,232461,232462,232463,232464,232465,232466,232467,232468,232469,232470,232471,232472,232473,232474,232475,232476,232477,232478,232479,232480,232481,232482,232483,232484,232485,232486,232487,232488,232489,232490,232491,232492,232493,232494,232495,232496,232497,232498,232499,232500,232501,232502,232503,232504,232505,232506,232507,232508,232509,232510,232511,232512,232513,232514,232515,232516,232517,232518,232519,232520,232521,232522,232523,232524,232525,232526,232527,232528,232529,232530,232531,232532,232533,232534,232535,232536,232537,232538,232539,232540,232541,232542,232543,232544,232545,232546,232547,232548,232549,232550,232551,232552,232553,232598,232599,232600,232601,232604,232605,237226,237227,237228,237229,237337,237338,237339,237340,237341,237342,237343,237344,237345,237346,237347,237348,237349,237350,237351,237352,237353,237354,237355,237356,237357,237358,237382,237383,237384,237385,237388,237389,242452,242453,242454,242455,242549,242550,242551,242552,242553,242554,242555,242556,242557,242558,242559,242560,242561,242562,242563,242564,242565,242566,242567,242568,242569,242570,242571,242572,242615,242616,242617,242618,242621,242622,247243,247244,247245,247246,247353,247354,247355,247356,247357,247358,247359,247360,247361,247362,247363,247364,247365,247366,247367,247368,247369,247370,247371,247372,247373,247374,247398,247399,247400,247401,247404,247405,252297,252298,252299,252300,252385,252386,252387,252388,252389,252390,252391,252392,252393,252394,252395,252396,252397,252398,252399,252400,252401,252402,252403,252404,252405,252406,252430,252431,252432,252433,252436,252437,257182,257183,257184,257185,257261,257262,257263,257264,257265,257266,257267,257268,257269,257270,257271,257272,257273,257274,257275,257276,257277,257278,257279,257280,257281,257282,257306,257307,257308,257309,257312,257313,261614,261615,261616,261617,261692,261693,261694,261695,261696,261697,261698,261699,261700,261701,261702,261703,261704,261705,261706,261707,261708,261709,261710,261711,261712,261713,261737,261738,261739,261740,261743,261744,261745,261746,261847,261848,261849,261850,261851,261852,261853,261854,261855,261856,261857,261858,261859,261860,261861,261862,261863,261864,261865,261866,261867,261868,261893,261894,261895,261896,261899,261900,261901,261902,261997,261998,261999,262000,262001,262002,262003,262004,262005,262006,262007,262008,262009,262010,262011,262012,262013,262014,262015,262016,262017,262018,262043,262044,262045,262046,262049,262050,262051,262052,262135,262136,262137,262138,262139,262140,262141,262144,262145,294594,294681,294682,294683,294684,294685,294686,294687,294688,294689,294690,294691,294692,294693,294694,294798,294799,294800,294801,294802,294803,294804,294805,294806,294807,294835,294836,294837,294838,294841,294842,294843,294844,294845,294846,294847,294848,294849,294850,294851,294852,294853,294854,294855,294856,294857,294858,294859,294860,294861,294862,294863,294864,294893,294894,294895,294896,294899,294900,294901,294902,294903,294904,294905,294906,294907,294908,294909,294912,294914,295057,295058,327429,327430,327599,327600,327646,327647,327674,327675,327680,327681,354280,354384,354385,354695,354696,354800,354801,354830,354831,359755,359756,359858,359859,359963,359964,359965,359966,359967,359968,359983,359984,359985,359986,359987,359988,359989,359990,360100,360101,360102,360103,360104,360105,360106,360107,360108,360109,360110,360111,360112,360113,360114,360115,360219,360220,360221,360222,360223,360224,360274,360275,360276,360277,360351,360352,360354,360355,360359,360360,360363,360364,360365,360366,360367,360368,360369,360370,360371,360372,360373,360374,360375,360376,360377,360378,360383,360384,360389,360390,360391,360392,360393,360394,360396,360397,360398,360399,360400,360401,360402,360403,360404,360405,360406,360407,360408,360409,360410,360411,360412,360413,360414,360415,360416,360417,360418,360419,360420,360421,360422,360423,360424,360425,360426,360427,360428,360429,360430,360431,360432,360433,360434,360435,360436,360437,360438,360439,360440,360441,360442,360443,360444,360445,360446,360448,360449,366079,366080,366081,366083,366084,366086,366087,366088,366089,366092,366093,366096,366097,366098,366099,366100,366101,366102,366103,366104,366105,366106,366107,366108,366109,366110,366111,366112,366113,366114,366115,366116,366117,366118,366119,366120,366121,366122,366123,366124,366125,366126,366127,366128,366129,366130,366131,366132,366133,366134,366135,366136,366137,366138,366139,366140,366141,366142,366143,366144,366145,366146,366147,366148,366149,366151,366152,366155,366156,366157,366158,366162,366163,366201,366202,366203,366204,366205,366206,366829,366830,366831,366832,366833,366834,366835,366836,366837,366838,366839,366840,366842,366843,366845,366846,366848,366849,366850,366851,366853,366854,366856,366857,366859,366860,366861,366862,366864,366865,366867,366868,366870,366871,366873,366874,366876,366877,366879,366880,366882,366883,366885,366886,366888,366889,366891,366892,366894,366895,366897,366898,366901,366902,366904,366905,366907,366908,366910,366911,366913,366914,366916,366917,366918,366919,366920,366921,366923,366924,366926,366927,366930,366931,366934,366935,366937,366938,366940,366941,366943,366944,366946,366947,366949,366950,366952,366953,366955,366956,366958,366959,366962,366963,366965,366966,366968,366969,366971,366972,366974,366975,366977,366978,366980,366981,366983,366984,366986,366987,366989,366990,366992,366993,366995,366996,366998,366999,367001,367002,367004,367005,367007,367008,367010,367011,367013,367014,367015,367016,367018,367019,367021,367022,367024,367025,367027,367028,367030,367031,367033,367034,367035,367036,367038,367039,367041,367042,367044,367045,367047,367048,367050,367051,367053,367054,367056,367057,367059,367060,367062,367063,367065,367066,367068,367069,367071,367072,367074,367075,367077,367078,367080,367081,367082,367083,367085,367086,367088,367089,367091,367092,367094,367095,367097,367098,367100,367101,367103,367104,367106,367107,367109,367110,367112,367113,367115,367116,367118,367119,367122,367123,367125,367126,367128,367129,367131,367132,367134,367135,367137,367138,367139,367140,367142,367143,367145,367146,367148,367149,367151,367152,367154,367155,367156,367157,367159,367160,367162,367163,367165,367166,367168,367169,367171,367172,367173,367174,367176,367177,367179,367180,367182,367183,367185,367186,367188,367189,367190,367191,367193,367194,367196,367197,367199,367200,367202,367203,367205,367206,367207,367208,367210,367211,367213,367214,367216,367217,367219,367220,367222,367223,367225,367226,367228,367229,367231,367232,367234,367235,367237,367238,367240,367241,367243,367244,367246,367247,367248,367249,367251,367252,367254,367255,367257,367258,367260,367261,367263,367264,367266,367267,367269,367270,367272,367273,367275,367276,367277,367278,367279,367280,367293,367294,367336,367337,367338,367339,367340,367341,367342,367343,367344,367345,367346,367347,367348,367349,367353,367354,367356,367357,367359,367360,367370,367371,367386,367387,367404,367405,367434,367435,367464,367465,367492,367493,368346,368347,368376,368377,368406,368407,368436,368437,368466,368467,368471,368472,368476,368477,368485,368486,368519,368520,368524,368525,368550,368551,368576,368577,368603,368604,368631,368632,368634,368635,368637,368638,373198,373199,373211,373212,373218,373219,373225,373226,373235,373236,373242,373243,373276,373277,373311,373312,373342,373343,373374,373375,373411,373412,373447,373448,373453,373454,373459,373460,373464,373465,373494,373495,373525,373526,373554,373555,373584,373585,373593,373594,373602,373603,373611,373612,373620,373621,373623,373624,373629,373630,373635,373636,373646,373647,373667,373668,373689,373690,373710,373711,373731,373732,373734,373735,373744,373745,373754,373755,373764,373765,373775,373776,373784,373785,373793,373794,373802,373803,373811,373812,373837,373838,373841,373842,373844,373845,373859,373860,373874,373875,373889,373890,373904,373905,373909,373910,373914,373915,373943,373944,373971,373972,373999,374000,374026,374027,374053,374054,374059,374060,374064,374065,374067,374068,374089,374090,374111,374112,374132,374133,374153,374154,374156,374157,374162,374163,374201,374202,374242,374243,374246,374247,374251,374252,374323,374324,374328,374329,374341,374342,374344,374345,374348,374349,374361,374362,374366,374367,374376,374377,374386,374387,374396,374397,374406,374407,374434,374435,374463,374464,374492,374493,374521,374522,374526,374527,374531,374532,374537,374538,374544,374545,374550,374551,374557,374558,374650,374651,374750,374751,374755,374756,374772,374773,374804,374805,374866,374867,374932,374933,374995,374996,375057,375058,375160,375161,375236,375237,375318,375319,375394,375395,375476,375477,375558,375559,375635,375636,375718,375719,375794,375795,375876,375877,375952,375953,376028,376029,376109,376110,376184,376185,376266,376267,376348,376349,376424,376425,376507,376508,376583,376584,376585,376586,376587,376588,376589,376590,376595,376596,376597,376598,376599,376600,376625,376626,376993,376994,377031,377032,377450,377451,377479,377480,377656,377657,377659,377660,377675,377676,377905,377906,379664,379665,379695,379696,380034,380035,381116,381117,390292,390293,390304,390305,390475,390476,390481,390482,390522,390523,390530,390531,390600,390601,390603,390604,390612,390613,390649,390650,390873,390874,390892,390893,391160,391161,391218,391219,393004,393005,393010,393011,393076,393077,393078,393079,393080,393081,393082,393083,393084,393085,393086,393087,393088,393089,393090,393091,393092,393093,393094,393095,393096,393097,393102,393103,393133,393134,393135,393136,393137,393138,393139,393140,393141,393142,393143,393144,393145,393146,393147,393148,393149,393150,393151,393152,393153,393154,393155,393156,393157,393158,393159,393160,393161,393162,393163,393164,393212,393213,393214,393216,393217,403985,404091,404092,404100,404101,404118,404119,404127,404128,404136,404137,404156,404157,404167,404168,404175,404176,404191,404192,404201,404202,404221,404222,404236,404237,404246,404247,404257,404258,404302,404303,404315,404316,404398,404399,404430,404431,404441,404442,410541,410542,410554,410555,410565,410566,410578,410579,410589,410590,410679,410680,411538,411539,411549,411550,411551,411552,411553,411554,411555,411556,411557,411558,411559,411560,411561,411562,411563,411564,411565,411566,411567,411568,411569,411570,411571,411572,411573,411574,411575,411576,411579,411580,411581,411582,411583,411584,411585,411586,411611,411612,411613,411614,411622,411623,411628,411629,411638,411639,411645,411646,411671,411672,411676,411677,412098,412099,412105,412106,412110,412111,412115,412116,412120,412121,412125,412126,412706,412707,413250,413251,413289,413290,413297,413298,413338,413339,413364,413365,413370,413371,413426,413427,413436,413437,413454,413455,413472,413473,414694,414695,414700,414701,414707,414708,414714,414715,417624,417625,417636,417637,417641,417642,417646,417647,417650,417651,417657,417658,417663,417664,417669,417670,417681,417682,417798,417799,417838,417839,417894,417895,417956,417957,417987,417988,418076,418077,418099,418100,418210,418211,418329,418330,419368,419369,419548,419549,419555,419556,419577,419578,419822,419823,419867,419868,419919,419920,419926,419927,420695,420696,420724,420725,422161,422162,422170,422171,422179,422180,422269,422270,422293,422294,422298,422299,422452,422453,422474,422475,422514,422515,422521,422522,422530,422531,422546,422547,422558,422559,422671,422672,422727,422728,422734,422735,422825,422826,423021,423022,423050,423051,423072,423073,423214,423215,423376,423377,423565,423566,423604,423605,423628,423629,423691,423692,423701,423702,423873,423874,423880,423881,424086,424087,424127,424128,424215,424216,424308,424309,424609,424610,424697,424698,424708,424709,425152,425153,425255,425256,425433,425434,425793,425794,425819,425820,425824,425825,425845,425846,425853,425854,425858,425859,425887,425888,425897,425898,425904,425905,425964,425965,425976,425977,425982,425984,425985,432820,432862,432863,432886,432887,432895,432896,432902,432903,432912,432913,432919,432920,432966,432967,432985,432986,432993,432994,433029,433030,433035,433036,433113,433114,433218,433219,433226,433227,433234,433235,433243,433244,433352,433353,433357,433358,433366,433367,433444,433445,433450,433451,433558,433559,433696,433697,434088,434089,434365,434366,434374,434375,434391,434392,434427,434428,434499,434500,434514,434515,434519,434520,434534,434535,434576,434577,434619,434620,434648,434649,434881,434882,434887,434888,434892,434893,434953,434954,434988,434989,435002,435003,435008,435009,435032,435033,435049,435050,435055,435056,435068,435069,435093,435094,435127,435128,435162,435163,435172,435173,435405,435406,435489,435490,435497,435498,435514,435515,435522,435523,435531,435532,435551,435552,435727,435728,435739,435740,435744,435745,435770,435771,435786,435787,435813,435814,435883,435884,435926,435927,436468,436469,436493,436494,436506,436507,436512,436513,436521,436522,436531,436532,436542,436543,436548,436549,436559,436560,436567,436568,436580,436581,436585,436586,436606,436607,439341,439342,439387,439388,439401,439402,439470,439471,440419,440420,440424,440425,440446,440447,440456,440457,441624,441625,441670,441671,441681,441682,441718,441719,441728,441729,441766,441767,441771,441772,441779,441780,441785,441786,441957,441958,441986,441987,442015,442016,442031,442032,442036,442037,442053,442054,442065,442066,442078,442079,442099,442100,442105,442106,442120,442121,442154,442155,442173,442174,442199,442200,442205,442206,442216,442217,442555,442556,442557,442558,442567,442568,442712,442713,442714,442715,442726,442727,442917,442918,442919,442920,442924,442925,444187,444188,444194,444195,444222,444223,444228,444229,444317,444318,444337,444338,444349,444350,444366,444367,444383,444384,444392,444393,444400,444401,445788,445789,445907,445908,446442,446443,446567,446568,446612,446613,446691,446692,447224,447225,447241,447242,447251,447252,447256,447257,447294,447295,447299,447300,447342,447343,447393,447394,447498,447499,447612,447613,447643,447644,447664,447665,447700,447701,447786,447787,447872,447873,447914,447915,447922,447923,447932,447933,448053,448054,448075,448076,448107,448108,448138,448139,448180,448181,448190,448191,448198,448199,448207,448208,448307,448308,448431,448432,448517,448518,448524,448525,448531,448532,448610,448611,448615,448616,448622,448623,448627,448628,448638,448639,448647,448648,448655,448656,448662,448663,448675,448676,448682,448683,448742,448743,448762,448763,448785,448786,448821,448822,448844,448845,448851,448852,448879,448880,449045,449046,449050,449051,449230,449231,449262,449263,449286,449287,449488,449489,449494,449495,449500,449501,449534,449535,449583,449584,449622,449623,449629,449630,449820,449821,449831,449832,449838,449839,449844,449845,449884,449885,450276,450277,450282,450283,450307,450308,450309,450310,450317,450318,450336,450337,450342,450343,450347,450348,450353,450354,450364,450365,450370,450371,450372,450373,450374,450375,450376,450377,450381,450382,450384,450385,450391,450392,450395,450396,450403,450404,450407,450408,450437,450438,450451,450452,450476,450477,450506,450507,450543,450544,450580,450581,450607,450608,450652,450653,450677,450678,450722,450723,450734,450735,450742,450743,450771,450772,450798,450799,450811,450812,450813,450814,450817,450818,450820,450821,450823,450824,450827,450828,450831,450832,450839,450840,450842,450843,450847,450848,450857,450858,450862,450863,450868,450869,450873,450874,450879,450880,450883,450884,450888,450889,450893,450894,450901,450902,450907,450908,450911,450912,450917,450918,450922,450923,450926,450927,450932,450933,450937,450938,450942,450943,450946,450947,450953,450954,450957,450958,450963,450964,450970,450971,450974,450975,450985,450986,450988,450989,450994,450995,450999,451000,451015,451016,451019,451020,451024,451025,451030,451031,451036,451037,451042,451043,451048,451049,451053,451054,451056,451057,451063,451064,451070,451071,451077,451078,451082,451083,451090,451091,451097,451098,451101,451102,451108,451109,451115,451116,451123,451124,451127,451128,451138,451139,451142,451143,451154,451155,451158,451159,451163,451164,451169,451170,451175,451176,451182,451183,451188,451189,451196,451197,451201,451202,451206,451207,451212,451213,451218,451219,451226,451227,451234,451235,451238,451239,451247,451248,451249,451250,451257,451258,451264,451265,451321,451322,451344,451345,451352,451353,451362,451363,451370,451371,451379,451380,451392,451393,451404,451405,451415,451416,451428,451429,451437,451438,451446,451447,451457,451458,451468,451469,451477,451478,451482,451483,451490,451491,451501,451502,451512,451513,451523,451524,451575,451576,451584,451585,451593,451594,451609,451610,451614,451615,451628,451629,451637,451638,451681,451682,451695,451696,451712,451713,451722,451723,451731,451732,451760,451761,451773,451774,451784,451785,451798,451799,451809,451810,451821,451822,451836,451837,451848,451849,451866,451867,451873,451874,451878,451879,451920,451921,451931,451932,451941,451942,451953,451954,451964,451965,451972,451973,451982,451983,451994,451995,452006,452007,452011,452012,452021,452022,452031,452032,452042,452043,452050,452051,452059,452060,452074,452075,452103,452104,452114,452115,452137,452138,452152,452153,452158,452159,452203,452204,452217,452218,452233,452234,452249,452250,452256,452257,452270,452271,452282,452283,452295,452296,452304,452305,452316,452317,452327,452328,452355,452356,452434,452435,452446,452447,452457,452458,452469,452470,452478,452479,452501,452502,452509,452510,452520,452521,452530,452531,452549,452550,452593,452594,452603,452604,452616,452617,452624,452625,452661,452662,452708,452709,452717,452718,452723,452724,452732,452733,452753,452754,452755,452756,452758,452759,452761,452762,452764,452765,452768,452769,452771,452772,452774,452775,452777,452778,452781,452782,452786,452787,452789,452790,452793,452794,452796,452797,452799,452800,452802,452803,452806,452807,452809,452810,452813,452814,452817,452818,452923,452924,452925,452926,452927,452928,452931,452932,452936,452937,452941,452942,452943,452944,452945,452946,456130,456131,458210,458211,458212,458213,458214,458215,458250,458251,458252,458253,458254,458255,458265,458266,458267,458268,458270,458271,458272,458273,458277,458278,458279,458280,458281,458282,458283,458284,458285,458286,458298,458299,458300,458301,458543,458544,458545,458546,458547,458548,458549,458550,458552,458553,458554,458555,458556,458557,458567,458568,458569,458570,458575,458576,458577,458578,458579,458580,458619,458620,458621,458622,458662,458663,458664,458665,458666,458667,458673,458674,458675,458676,458702,458703,458704,458705,458706,458707,458708,458709,458722,458723,458724,458725,458726,458727,458728,458729,458730,458731,458732,458733,458735,458736,458737,458738,458739,458740,458741,458742,458743,458744,458745,458746,458747,458748,458750,458752,458753,477050,477326,477327,477382,477383,477406,477407,478165,478166,479244,479245,479246,479247,479248,479249,479256,479257,479258,479259,479261,479262,479263,479264,479265,479266,479279,479280,479281,479282,485056,485057,485058,485059,485085,485086,485087,485088,485089,485090,485208,485209,485210,485211,485213,485214,485215,485216,485217,485218,485228,485229,485230,485231,485257,485258,485259,485260,485261,485262,485349,485350,485351,485352,485354,485355,485356,485357,485358,485359,485402,485403,485404,485405,487280,487281,487282,487283,487284,487285,487286,487287,487288,487289,489892,489893,489894,489895,489909,489910,489911,489912,489913,489914,489924,489925,489926,489927,489928,489929,489977,489978,489979,489980,489981,489982,490138,490139,490247,490248,490391,490392,490493,490494,490684,490685,490844,490845,490908,490909,491057,491058,491262,491263,491357,491358,491512,491513,491514,491515,491516,491517,491518,491520,491521,514896,514958,514959,514960,514961,514962,514963,514964,514965,514974,514975,514976,514977,514979,514980,514981,514982,515009,515010,515011,515012,515038,515039,515040,515041,515068,515069,515070,515071,515083,515084,515085,515086,515094,515095,515096,515097,515101,515102,515103,515104,515110,515111,515112,515113,515114,515115,515116,515117,515119,515120,515121,515122,515131,515132,515133,515134,515135,515136,515137,515138,515139,515140,515141,515142,515143,515144,515145,515146,515224,515225,515226,515227,515228,515229,515230,515231,515232,515233,515234,515235,515236,515237,515238,515239,515241,515242,515243,515244,515245,515246,515247,515248,515284,515285,515286,515287,515323,515324,515325,515326,515327,515328,515329,515330,515331,515332,515333,515334,515335,515336,515338,515339,515341,515342,515343,515344,515345,515346,515347,515348,515349,515350,515351,515352,515353,515354,515355,515356,515357,515358,515359,515360,515361,515362,520947,520948,520949,520950,520951,520952,520953,520954,520955,520956,520957,520958,520962,520963,520966,520967,520971,520972,520976,520977,520981,520982,520983,520984,520985,520986,520987,520988,520991,520992,520993,520994,520995,520996,520997,520998,520999,521000,521001,521002,521003,521004,521005,521006,521007,521008,521009,521010,521011,521012,521013,521014,521015,521016,521017,521018,521019,521020,521021,521022,521023,521024,521025,521026,521027,521028,521029,521030,521031,521032,521033,521034,521035,521036,521037,521038,521039,521040,521041,521042,521043,521044,521045,521046,521047,521048,521049,521050,521051,521052,521053,521054,521055,521056,521057,521058,521059,521060,521061,521062,521066,521067,521072,521073,521074,521075,521197,521198,521199,521200,521201,521202,521203,521204,521206,521207,521208,521209,521210,521211,521278,521279,521280,521281,521312,521313,521314,521315,521316,521317,521327,521328,521329,521330,521445,521446,521447,521448,521449,521450,522110,522111,522112,522113,522114,522115,522116,522117,524246,524247,524248,524249,524257,524258,524259,524260,524261,524262,524283,524284,524285,524288,524289,528284,528440,528441,528442,528443,528444,528445,531258,531259,531260,531261,531273,531274,531275,531276,531277,531278,531286,531287,531288,531289,531296,531297,531298,531299,531300,531301,531657,531658,531659,531660,531845,531846,531847,531848,531849,531850,532023,532024,532025,532026,532033,532034,532035,532036,532037,532038,532093,532094,532095,532096,532103,532104,532105,532106,532107,532108,532518,532519,532520,532521,532587,532588,532589,532590,532591,532592,532972,532973,532974,532975,540840,540841,540842,540843,540844,540845,541622,541623,541624,541625,541669,541670,541671,541672,541673,541674,541714,541715,541716,541717,541721,541722,541737,541738,541750,541751,541761,541762,541772,541773,541788,541789,541804,541805,541823,541824,541831,541832,541840,541841,541846,541847,541866,541867,541872,541873,541900,541901,541927,541928,541961,541962,541968,541969,541999,542000,542016,542017,542021,542022,542085,542086,542131,542132,542177,542178,542223,542224,542253,542254,542260,542261,542275,542276,542280,542281,542289,542290,542298,542299,542318,542319,542338,542339,542346,542347,542352,542353,542363,542364,542374,542375,542379,542380,542390,542391,542396,542397,542465,542466,542507,542508,542542,542543,542547,542548,542557,542558,542567,542568,542669,542670,542685,542686,542691,542692,542700,542701,542714,542715,542724,542725,542731,542732,542738,542739,542745,542746,542750,542751,542756,542757,542762,542763,542780,542781,542786,542787,542792,542793,543825,543826,543835,543836,543840,543841,544712,544713,544717,544718,544727,544728,544739,544740,544745,544746,544750,544751,544755,544756,544765,544766,544770,544771,544776,544777,544783,544784,544800,544801,544807,544808,544813,544814,544822,544823,544828,544829,544834,544835,544836,544837,544838,544839,544846,544847,544848,544849,544850,544851,544852,544853,544854,544855,544856,544857,544858,544859,544860,544861,544864,544865,544866,544867,544868,544869,544870,544871,544873,544874,544875,544876,544877,544878,544879,544880,544881,544882,544883,544884,544885,544886,544887,544888,544889,544890,544891,544892,544893,544894,544895,544896,544897,544898,544899,544900,544901,544902,544903,544904,544905,544906,544907,544908,544909,544910,544911,544912,544913,544914,544915,544916,544917,544918,544919,544920,544921,544922,544923,544924,544925,544926,544927,544928,544929,544930,544931,544932,544933,544934,544935,544936,544937,544938,544939,544940,544941,544942,544943,544944,544945,544946,544947,544948,544949,544950,544951,544952,544953,544954,544955,544956,544957,544958,544966,544967,544971,544972,544973,544974,546577,546578,549408,549409,549410,549411,549413,549414,549416,549417,549418,549419,549420,549421,549422,549423,549431,549432,549472,549473,549479,549480,549520,549521,549699,549700,550883,550884,550885,550886,550887,550888,550889,550890,550891,550892,550893,550894,550895,550896,550897,550898,550930,550931,550946,550947,551049,551050,551051,551052,551053,551054,551055,551056,551057,551058,551753,551754,551755,551756,551757,551758,551765,551766,551768,551769,551770,551771,551789,551790,551791,551792,551793,551794,551795,551796,552050,552051,552061,552062,552069,552070,552082,552083,552095,552096,552146,552147,552152,552153,552158,552159,552196,552197,552291,552292,552310,552311,552329,552330,552407,552408,552422,552423,552431,552432,552436,552437,552453,552454,552470,552471,552486,552487,552494,552495,552545,552546,552558,552559,552574,552575,552604,552605,552621,552622,552674,552675,552705,552706,552739,552740,552746,552747,552753,552754,552759,552760,552935,552936,552942,552943,552971,552972,553039,553040,553063,553064,553110,553111,553147,553148,553152,553153,553165,553166,553206,553207,553211,553212,553221,553222,553232,553233,553240,553241,553245,553246,553248,553249,553253,553254,553305,553306,553324,553325,553348,553349,553374,553375,553382,553383,553391,553392,553400,553401,553406,553407,553412,553413,553417,553418,553432,553433,553588,553589,553602,553603,553639,553640,553687,553688,553704,553705,553719,553720,553734,553735,553748,553749,553754,553755,553869,553870,553923,553924,553933,553934,553971,553972,553993,553994,554062,554063,554118,554119,554126,554127,554141,554142,554149,554150,554188,554189,554243,554244,554295,554296,554326,554327,554362,554363,554367,554368,554372,554373,554378,554379,554409,554410,556002,556003,556025,556026,556046,556047,556654,556655,556667,556668,556677,556678,556682,556683,556701,556702,556707,556708,556722,556723,556727,556728,556824,556825,556960,556961,556968,556969,556977,556978,556985,556986,556991,556992,557000,557001,557006,557007,557012,557013,557017,557018,557023,557024,557038,557039,557052,557053,557054,557056,557057,557552,557553,566436,566438,566439,566440,566441,566442,566443,566444,566454,566455,566456,566457,566478,566479,566488,566489,566490,566491,566506,566507,566663,566664,566665,566666,566667,566668,566669,566670,566671,566672,566676,566677,566678,566679,566695,566696,566703,566704,566705,566706,566715,566716,566729,566730,566731,566732,566748,566749,566806,566807,566808,566809,566841,566842,566846,566847,566851,566852,566853,566854,566863,566864,567527,567528,567529,567530,567531,567532,567533,567534,567544,567545,567556,567557,567558,567559,567560,567561,567562,567563,567580,567581,567586,567587,567588,567589,567628,567629,567630,567631,567632,567633,567634,567635,567640,567641,567642,567643,567660,567661,567662,567663,567664,567665,568423,568425,568426,568427,568428,568434,568435,568474,568475,568476,568477,568478,568479,568489,568490,568496,568497,568504,568505,568516,568517,568518,568519,572998,573005,577536") == "2b6d9a6540276512103a7de5b4f42a33b1905bcd" || block_image_verify("/dev/block/platform/mtk-msdc.0/11230000.msdc0/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/platform/mtk-msdc.0/11230000.msdc0/by-name/system");
ifelse (block_image_recover("/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system", "5246,1,144,145,331,32686,32687,32693,32694,32695,32696,32706,32707,32724,32725,32726,32727,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32770,32913,32914,48219,48220,48221,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48250,48251,48252,48253,48256,48257,56539,56540,56541,56542,56614,56615,56616,56617,56618,56619,56620,56621,56622,56623,56624,56625,56626,56627,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57701,57702,57703,57704,57707,57708,62599,62600,62601,62602,62686,62687,62688,62689,62690,62691,62692,62693,62694,62695,62696,62697,62698,62699,62700,62701,62702,62703,62704,62705,62706,62707,62733,62734,62735,62736,62739,62740,62741,62742,62829,62830,62831,62832,62833,62834,62835,62836,62837,62838,62839,62840,62841,62842,62843,62844,62845,62846,62847,62848,62849,62850,62851,62852,62877,62878,62879,62880,62883,62884,62885,62886,62962,62963,62964,62965,62966,62967,62968,62969,62970,62971,62972,62973,62974,62975,62976,62977,62978,62979,62980,62981,62982,62983,63009,63010,63011,63012,63015,63016,63017,63018,63115,63116,63117,63118,63119,63120,63121,63122,63123,63124,63125,63126,63127,63128,63129,63130,63131,63132,63133,63134,63135,63136,63137,63138,63163,63164,63165,63166,63169,63170,63171,63172,63247,63248,63249,63250,63251,63252,63253,63254,63255,63256,63257,63258,63259,63260,63261,63262,63263,63264,63265,63266,63267,63268,63294,63295,63296,63297,63300,63301,63302,63303,63392,63393,63394,63395,63396,63397,63398,63399,63400,63401,63402,63403,63404,63405,63406,63407,63408,63409,63410,63411,63412,63413,63414,63415,63447,63448,63449,63450,63453,63454,63455,63456,63557,63558,63559,63560,63561,63562,63563,63564,63565,63566,63567,63568,63699,63700,63701,63702,63703,63704,63705,63706,63707,63708,63739,63740,63741,63742,63745,63746,63747,63748,63851,63852,63853,63854,63855,63856,63857,63858,63859,63860,63861,63862,63863,63864,63995,63996,63997,63998,63999,64000,64001,64002,64003,64004,64035,64036,64037,64038,64041,64042,64043,64044,64160,64161,64162,64163,64164,64165,64166,64167,64168,64169,64170,64171,64302,64303,64304,64305,64306,64307,64308,64309,64310,64311,64341,64342,64343,64344,64347,64348,64349,64350,64436,64437,64438,64439,64440,64441,64442,64443,64444,64445,64446,64447,64448,64449,64450,64451,64452,64453,64454,64455,64486,64487,64488,64489,64492,64493,64494,64495,64595,64596,64597,64598,64599,64600,64601,64602,64603,64604,64605,64606,64607,64608,64710,64711,64750,64751,64834,64835,64836,64837,64876,64877,64878,64879,64882,64883,64884,64885,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65008,65009,65010,65011,65012,65027,65028,65029,65030,65031,65032,65033,65034,65144,65145,65146,65147,65148,65149,65150,65151,65152,65153,65154,65155,65156,65157,65158,65159,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65360,65361,65362,65363,65366,65367,65368,65369,65463,65464,65465,65466,65467,65468,65469,65470,65471,65472,65473,65474,65475,65476,65477,65478,65479,65480,65481,65482,65483,65484,65499,65500,65501,65502,65505,65506,65507,65508,65509,65510,65511,65512,65513,65514,65515,65516,65517,65518,65519,65520,65521,65522,65523,65524,65525,65526,65527,65528,65529,65530,65531,65532,65533,65536,65537,78832,98303,98304,98306,98449,98450,103111,110989,110990,112145,112146,119962,119963,130965,130966,130971,130972,130986,130987,130996,130997,130998,130999,131003,131004,131008,131009,131013,131020,131032,131033,131038,131039,131040,131041,131046,131047,131059,131060,131061,131062,131068,131069,131070,131072,131073,131568,136552,163840,163842,163985,163986,164481,170776,170777,170944,170945,170971,170972,170997,170998,171017,171018,171029,171030,171043,171044,171054,171055,171064,171065,171071,171072,171097,171098,171160,171161,171205,171206,171224,171225,171237,171238,171257,171258,171279,171280,171339,171340,171387,171388,171413,171414,171459,171460,171467,171468,171473,171474,171481,171482,171486,171487,171491,171492,171501,171502,171509,171510,171584,171585,171698,171699,171715,171716,171723,171724,171734,171735,171744,171745,172022,172023,172051,172052,172088,172089,172094,172095,172293,172294,172305,172306,172310,172311,172321,172322,172326,172327,172450,172451,172466,172467,172472,172473,172478,172479,172493,172494,172532,172533,172582,172583,172588,172589,172596,172597,172602,172603,172609,172610,172618,172619,172675,172676,172878,172879,172887,172888,172907,172908,172921,172922,172973,172974,172979,172980,172982,172983,172988,172989,172994,172995,173002,173003,173022,173023,173027,173028,173032,173033,173038,173039,173047,173048,173068,173069,173077,173078,173099,173100,173121,173122,173145,173146,173158,173159,173164,173165,173192,173193,173198,173199,173203,173204,173217,173218,173257,173258,173289,173290,173406,173407,173412,173413,173422,173423,173429,173430,173444,173445,173451,173452,173461,173462,173480,173481,173493,173494,173543,173544,173735,173736,173747,173748,173751,173752,173769,173770,173911,173912,173957,173958,173965,173966,174051,174052,174119,174120,174205,174206,174212,174213,174217,174218,174224,174225,174356,174357,174375,174376,174383,174384,174395,174396,174407,174408,174796,174797,174999,175000,175036,175037,175038,175039,175040,175041,175043,175044,175045,175046,175047,175048,175179,175180,175181,175182,175183,175184,175186,175187,175189,175190,175191,175192,175193,175194,175239,175240,175241,175242,175324,175325,175326,175327,175328,175329,175330,175331,175429,175430,175431,175432,175435,175436,175437,175438,175439,175440,175457,175458,175459,175460,175461,175462,175558,175559,175560,175561,175562,175563,176077,176078,177062,177063,177514,177515,177516,177517,177986,177987,178027,178028,178029,178030,178035,178036,178243,196608,196609,228337,228399,228400,228418,228419,228523,228524,228553,228554,228557,228558,228655,228656,228760,228761,228850,228851,228852,228853,228854,228855,228959,228960,228961,228962,228963,228964,228965,228966,228995,228996,228997,228998,229001,229002,229003,229004,229121,229122,229123,229124,229125,229126,229127,229128,229129,229130,229131,229132,229236,229237,229238,229239,229240,229241,229242,229243,229244,229245,229275,229276,229277,229278,229281,229282,229283,229284,229285,229286,229287,229288,229289,229290,229291,229292,229293,229294,229295,229296,229297,229298,229299,229300,229301,229302,229317,229318,229319,229320,229323,229324,229327,229328,229329,229330,229331,229332,229333,229334,229335,229336,229337,229338,229339,229340,229341,229342,229343,229344,229345,229346,229347,229348,229349,229350,229351,229352,229355,229356,229357,229358,229359,229360,229361,229362,229363,229364,229365,229366,229367,229368,229369,229370,229371,229372,229373,229376,229378,229521,229522,230017,230050,230051,230070,230071,230106,230107,230127,230128,230168,230169,230209,230210,230225,230226,230238,230239,230251,230252,230260,230261,230266,230267,230331,230332,230440,230441,230451,230452,230461,230462,230463,230464,230465,230466,230467,230468,230486,230487,230542,230543,230605,230606,230667,230668,230669,230670,230691,230692,230821,230822,230975,230976,230982,230983,230992,230993,231011,231012,231020,231021,231026,231027,231035,231036,231158,231159,231160,231161,231166,231167,231174,231175,231180,231181,231186,231187,231188,231189,231204,231205,231206,231207,231214,231215,231220,231221,231276,231277,231278,231279,231317,231318,231336,231337,231341,231342,231353,231354,231365,231366,231367,231368,231413,231414,231459,231460,231469,231470,231514,231515,231519,231520,231521,231522,231535,231536,231541,231542,231546,231547,231552,231553,231579,231580,231588,231589,231595,231596,231600,231601,231607,231608,231614,231615,231616,231617,231648,231649,231695,231696,231697,231698,231730,231731,231736,231737,231738,231739,231761,231762,231763,231764,231786,231787,231857,231858,231870,231871,231877,231878,231880,231881,231896,231897,231902,231903,232016,232017,232018,232019,232041,232042,232352,232353,232355,232356,232357,232358,232384,232385,232386,232387,232388,232389,232390,232391,232392,232393,232394,232395,232396,232397,232398,232399,232400,232401,232402,232403,232404,232405,232406,232407,232408,232409,232410,232411,232412,232413,232414,232415,232416,232417,232418,232419,232420,232421,232422,232423,232424,232425,232426,232427,232428,232429,232430,232431,232432,232433,232434,232435,232436,232437,232438,232439,232440,232441,232442,232443,232444,232445,232446,232447,232448,232449,232450,232451,232452,232453,232454,232455,232456,232457,232458,232459,232460,232461,232462,232463,232464,232465,232466,232467,232468,232469,232470,232471,232472,232473,232474,232475,232476,232477,232478,232479,232480,232481,232482,232483,232484,232485,232486,232487,232488,232489,232490,232491,232492,232493,232494,232495,232496,232497,232498,232499,232500,232501,232502,232503,232504,232505,232506,232507,232508,232509,232510,232511,232512,232513,232514,232515,232516,232517,232518,232519,232520,232521,232522,232523,232524,232525,232526,232527,232528,232529,232530,232531,232532,232533,232534,232535,232536,232537,232538,232539,232540,232541,232542,232543,232544,232545,232546,232547,232548,232549,232550,232551,232552,232553,232598,232599,232600,232601,232604,232605,237226,237227,237228,237229,237337,237338,237339,237340,237341,237342,237343,237344,237345,237346,237347,237348,237349,237350,237351,237352,237353,237354,237355,237356,237357,237358,237382,237383,237384,237385,237388,237389,242452,242453,242454,242455,242549,242550,242551,242552,242553,242554,242555,242556,242557,242558,242559,242560,242561,242562,242563,242564,242565,242566,242567,242568,242569,242570,242571,242572,242615,242616,242617,242618,242621,242622,247243,247244,247245,247246,247353,247354,247355,247356,247357,247358,247359,247360,247361,247362,247363,247364,247365,247366,247367,247368,247369,247370,247371,247372,247373,247374,247398,247399,247400,247401,247404,247405,252297,252298,252299,252300,252385,252386,252387,252388,252389,252390,252391,252392,252393,252394,252395,252396,252397,252398,252399,252400,252401,252402,252403,252404,252405,252406,252430,252431,252432,252433,252436,252437,257182,257183,257184,257185,257261,257262,257263,257264,257265,257266,257267,257268,257269,257270,257271,257272,257273,257274,257275,257276,257277,257278,257279,257280,257281,257282,257306,257307,257308,257309,257312,257313,261614,261615,261616,261617,261692,261693,261694,261695,261696,261697,261698,261699,261700,261701,261702,261703,261704,261705,261706,261707,261708,261709,261710,261711,261712,261713,261737,261738,261739,261740,261743,261744,261745,261746,261847,261848,261849,261850,261851,261852,261853,261854,261855,261856,261857,261858,261859,261860,261861,261862,261863,261864,261865,261866,261867,261868,261893,261894,261895,261896,261899,261900,261901,261902,261997,261998,261999,262000,262001,262002,262003,262004,262005,262006,262007,262008,262009,262010,262011,262012,262013,262014,262015,262016,262017,262018,262043,262044,262045,262046,262049,262050,262051,262052,262135,262136,262137,262138,262139,262140,262141,262144,262145,294594,294681,294682,294683,294684,294685,294686,294687,294688,294689,294690,294691,294692,294693,294694,294798,294799,294800,294801,294802,294803,294804,294805,294806,294807,294835,294836,294837,294838,294841,294842,294843,294844,294845,294846,294847,294848,294849,294850,294851,294852,294853,294854,294855,294856,294857,294858,294859,294860,294861,294862,294863,294864,294893,294894,294895,294896,294899,294900,294901,294902,294903,294904,294905,294906,294907,294908,294909,294912,294914,295057,295058,327429,327430,327599,327600,327646,327647,327674,327675,327680,327681,354280,354384,354385,354695,354696,354800,354801,354830,354831,359755,359756,359858,359859,359963,359964,359965,359966,359967,359968,359983,359984,359985,359986,359987,359988,359989,359990,360100,360101,360102,360103,360104,360105,360106,360107,360108,360109,360110,360111,360112,360113,360114,360115,360219,360220,360221,360222,360223,360224,360274,360275,360276,360277,360351,360352,360354,360355,360359,360360,360363,360364,360365,360366,360367,360368,360369,360370,360371,360372,360373,360374,360375,360376,360377,360378,360383,360384,360389,360390,360391,360392,360393,360394,360396,360397,360398,360399,360400,360401,360402,360403,360404,360405,360406,360407,360408,360409,360410,360411,360412,360413,360414,360415,360416,360417,360418,360419,360420,360421,360422,360423,360424,360425,360426,360427,360428,360429,360430,360431,360432,360433,360434,360435,360436,360437,360438,360439,360440,360441,360442,360443,360444,360445,360446,360448,360449,366079,366080,366081,366083,366084,366086,366087,366088,366089,366092,366093,366096,366097,366098,366099,366100,366101,366102,366103,366104,366105,366106,366107,366108,366109,366110,366111,366112,366113,366114,366115,366116,366117,366118,366119,366120,366121,366122,366123,366124,366125,366126,366127,366128,366129,366130,366131,366132,366133,366134,366135,366136,366137,366138,366139,366140,366141,366142,366143,366144,366145,366146,366147,366148,366149,366151,366152,366155,366156,366157,366158,366162,366163,366201,366202,366203,366204,366205,366206,366829,366830,366831,366832,366833,366834,366835,366836,366837,366838,366839,366840,366842,366843,366845,366846,366848,366849,366850,366851,366853,366854,366856,366857,366859,366860,366861,366862,366864,366865,366867,366868,366870,366871,366873,366874,366876,366877,366879,366880,366882,366883,366885,366886,366888,366889,366891,366892,366894,366895,366897,366898,366901,366902,366904,366905,366907,366908,366910,366911,366913,366914,366916,366917,366918,366919,366920,366921,366923,366924,366926,366927,366930,366931,366934,366935,366937,366938,366940,366941,366943,366944,366946,366947,366949,366950,366952,366953,366955,366956,366958,366959,366962,366963,366965,366966,366968,366969,366971,366972,366974,366975,366977,366978,366980,366981,366983,366984,366986,366987,366989,366990,366992,366993,366995,366996,366998,366999,367001,367002,367004,367005,367007,367008,367010,367011,367013,367014,367015,367016,367018,367019,367021,367022,367024,367025,367027,367028,367030,367031,367033,367034,367035,367036,367038,367039,367041,367042,367044,367045,367047,367048,367050,367051,367053,367054,367056,367057,367059,367060,367062,367063,367065,367066,367068,367069,367071,367072,367074,367075,367077,367078,367080,367081,367082,367083,367085,367086,367088,367089,367091,367092,367094,367095,367097,367098,367100,367101,367103,367104,367106,367107,367109,367110,367112,367113,367115,367116,367118,367119,367122,367123,367125,367126,367128,367129,367131,367132,367134,367135,367137,367138,367139,367140,367142,367143,367145,367146,367148,367149,367151,367152,367154,367155,367156,367157,367159,367160,367162,367163,367165,367166,367168,367169,367171,367172,367173,367174,367176,367177,367179,367180,367182,367183,367185,367186,367188,367189,367190,367191,367193,367194,367196,367197,367199,367200,367202,367203,367205,367206,367207,367208,367210,367211,367213,367214,367216,367217,367219,367220,367222,367223,367225,367226,367228,367229,367231,367232,367234,367235,367237,367238,367240,367241,367243,367244,367246,367247,367248,367249,367251,367252,367254,367255,367257,367258,367260,367261,367263,367264,367266,367267,367269,367270,367272,367273,367275,367276,367277,367278,367279,367280,367293,367294,367336,367337,367338,367339,367340,367341,367342,367343,367344,367345,367346,367347,367348,367349,367353,367354,367356,367357,367359,367360,367370,367371,367386,367387,367404,367405,367434,367435,367464,367465,367492,367493,368346,368347,368376,368377,368406,368407,368436,368437,368466,368467,368471,368472,368476,368477,368485,368486,368519,368520,368524,368525,368550,368551,368576,368577,368603,368604,368631,368632,368634,368635,368637,368638,373198,373199,373211,373212,373218,373219,373225,373226,373235,373236,373242,373243,373276,373277,373311,373312,373342,373343,373374,373375,373411,373412,373447,373448,373453,373454,373459,373460,373464,373465,373494,373495,373525,373526,373554,373555,373584,373585,373593,373594,373602,373603,373611,373612,373620,373621,373623,373624,373629,373630,373635,373636,373646,373647,373667,373668,373689,373690,373710,373711,373731,373732,373734,373735,373744,373745,373754,373755,373764,373765,373775,373776,373784,373785,373793,373794,373802,373803,373811,373812,373837,373838,373841,373842,373844,373845,373859,373860,373874,373875,373889,373890,373904,373905,373909,373910,373914,373915,373943,373944,373971,373972,373999,374000,374026,374027,374053,374054,374059,374060,374064,374065,374067,374068,374089,374090,374111,374112,374132,374133,374153,374154,374156,374157,374162,374163,374201,374202,374242,374243,374246,374247,374251,374252,374323,374324,374328,374329,374341,374342,374344,374345,374348,374349,374361,374362,374366,374367,374376,374377,374386,374387,374396,374397,374406,374407,374434,374435,374463,374464,374492,374493,374521,374522,374526,374527,374531,374532,374537,374538,374544,374545,374550,374551,374557,374558,374650,374651,374750,374751,374755,374756,374772,374773,374804,374805,374866,374867,374932,374933,374995,374996,375057,375058,375160,375161,375236,375237,375318,375319,375394,375395,375476,375477,375558,375559,375635,375636,375718,375719,375794,375795,375876,375877,375952,375953,376028,376029,376109,376110,376184,376185,376266,376267,376348,376349,376424,376425,376507,376508,376583,376584,376585,376586,376587,376588,376589,376590,376595,376596,376597,376598,376599,376600,376625,376626,376993,376994,377031,377032,377450,377451,377479,377480,377656,377657,377659,377660,377675,377676,377905,377906,379664,379665,379695,379696,380034,380035,381116,381117,390292,390293,390304,390305,390475,390476,390481,390482,390522,390523,390530,390531,390600,390601,390603,390604,390612,390613,390649,390650,390873,390874,390892,390893,391160,391161,391218,391219,393004,393005,393010,393011,393076,393077,393078,393079,393080,393081,393082,393083,393084,393085,393086,393087,393088,393089,393090,393091,393092,393093,393094,393095,393096,393097,393102,393103,393133,393134,393135,393136,393137,393138,393139,393140,393141,393142,393143,393144,393145,393146,393147,393148,393149,393150,393151,393152,393153,393154,393155,393156,393157,393158,393159,393160,393161,393162,393163,393164,393212,393213,393214,393216,393217,403985,404091,404092,404100,404101,404118,404119,404127,404128,404136,404137,404156,404157,404167,404168,404175,404176,404191,404192,404201,404202,404221,404222,404236,404237,404246,404247,404257,404258,404302,404303,404315,404316,404398,404399,404430,404431,404441,404442,410541,410542,410554,410555,410565,410566,410578,410579,410589,410590,410679,410680,411538,411539,411549,411550,411551,411552,411553,411554,411555,411556,411557,411558,411559,411560,411561,411562,411563,411564,411565,411566,411567,411568,411569,411570,411571,411572,411573,411574,411575,411576,411579,411580,411581,411582,411583,411584,411585,411586,411611,411612,411613,411614,411622,411623,411628,411629,411638,411639,411645,411646,411671,411672,411676,411677,412098,412099,412105,412106,412110,412111,412115,412116,412120,412121,412125,412126,412706,412707,413250,413251,413289,413290,413297,413298,413338,413339,413364,413365,413370,413371,413426,413427,413436,413437,413454,413455,413472,413473,414694,414695,414700,414701,414707,414708,414714,414715,417624,417625,417636,417637,417641,417642,417646,417647,417650,417651,417657,417658,417663,417664,417669,417670,417681,417682,417798,417799,417838,417839,417894,417895,417956,417957,417987,417988,418076,418077,418099,418100,418210,418211,418329,418330,419368,419369,419548,419549,419555,419556,419577,419578,419822,419823,419867,419868,419919,419920,419926,419927,420695,420696,420724,420725,422161,422162,422170,422171,422179,422180,422269,422270,422293,422294,422298,422299,422452,422453,422474,422475,422514,422515,422521,422522,422530,422531,422546,422547,422558,422559,422671,422672,422727,422728,422734,422735,422825,422826,423021,423022,423050,423051,423072,423073,423214,423215,423376,423377,423565,423566,423604,423605,423628,423629,423691,423692,423701,423702,423873,423874,423880,423881,424086,424087,424127,424128,424215,424216,424308,424309,424609,424610,424697,424698,424708,424709,425152,425153,425255,425256,425433,425434,425793,425794,425819,425820,425824,425825,425845,425846,425853,425854,425858,425859,425887,425888,425897,425898,425904,425905,425964,425965,425976,425977,425982,425984,425985,432820,432862,432863,432886,432887,432895,432896,432902,432903,432912,432913,432919,432920,432966,432967,432985,432986,432993,432994,433029,433030,433035,433036,433113,433114,433218,433219,433226,433227,433234,433235,433243,433244,433352,433353,433357,433358,433366,433367,433444,433445,433450,433451,433558,433559,433696,433697,434088,434089,434365,434366,434374,434375,434391,434392,434427,434428,434499,434500,434514,434515,434519,434520,434534,434535,434576,434577,434619,434620,434648,434649,434881,434882,434887,434888,434892,434893,434953,434954,434988,434989,435002,435003,435008,435009,435032,435033,435049,435050,435055,435056,435068,435069,435093,435094,435127,435128,435162,435163,435172,435173,435405,435406,435489,435490,435497,435498,435514,435515,435522,435523,435531,435532,435551,435552,435727,435728,435739,435740,435744,435745,435770,435771,435786,435787,435813,435814,435883,435884,435926,435927,436468,436469,436493,436494,436506,436507,436512,436513,436521,436522,436531,436532,436542,436543,436548,436549,436559,436560,436567,436568,436580,436581,436585,436586,436606,436607,439341,439342,439387,439388,439401,439402,439470,439471,440419,440420,440424,440425,440446,440447,440456,440457,441624,441625,441670,441671,441681,441682,441718,441719,441728,441729,441766,441767,441771,441772,441779,441780,441785,441786,441957,441958,441986,441987,442015,442016,442031,442032,442036,442037,442053,442054,442065,442066,442078,442079,442099,442100,442105,442106,442120,442121,442154,442155,442173,442174,442199,442200,442205,442206,442216,442217,442555,442556,442557,442558,442567,442568,442712,442713,442714,442715,442726,442727,442917,442918,442919,442920,442924,442925,444187,444188,444194,444195,444222,444223,444228,444229,444317,444318,444337,444338,444349,444350,444366,444367,444383,444384,444392,444393,444400,444401,445788,445789,445907,445908,446442,446443,446567,446568,446612,446613,446691,446692,447224,447225,447241,447242,447251,447252,447256,447257,447294,447295,447299,447300,447342,447343,447393,447394,447498,447499,447612,447613,447643,447644,447664,447665,447700,447701,447786,447787,447872,447873,447914,447915,447922,447923,447932,447933,448053,448054,448075,448076,448107,448108,448138,448139,448180,448181,448190,448191,448198,448199,448207,448208,448307,448308,448431,448432,448517,448518,448524,448525,448531,448532,448610,448611,448615,448616,448622,448623,448627,448628,448638,448639,448647,448648,448655,448656,448662,448663,448675,448676,448682,448683,448742,448743,448762,448763,448785,448786,448821,448822,448844,448845,448851,448852,448879,448880,449045,449046,449050,449051,449230,449231,449262,449263,449286,449287,449488,449489,449494,449495,449500,449501,449534,449535,449583,449584,449622,449623,449629,449630,449820,449821,449831,449832,449838,449839,449844,449845,449884,449885,450276,450277,450282,450283,450307,450308,450309,450310,450317,450318,450336,450337,450342,450343,450347,450348,450353,450354,450364,450365,450370,450371,450372,450373,450374,450375,450376,450377,450381,450382,450384,450385,450391,450392,450395,450396,450403,450404,450407,450408,450437,450438,450451,450452,450476,450477,450506,450507,450543,450544,450580,450581,450607,450608,450652,450653,450677,450678,450722,450723,450734,450735,450742,450743,450771,450772,450798,450799,450811,450812,450813,450814,450817,450818,450820,450821,450823,450824,450827,450828,450831,450832,450839,450840,450842,450843,450847,450848,450857,450858,450862,450863,450868,450869,450873,450874,450879,450880,450883,450884,450888,450889,450893,450894,450901,450902,450907,450908,450911,450912,450917,450918,450922,450923,450926,450927,450932,450933,450937,450938,450942,450943,450946,450947,450953,450954,450957,450958,450963,450964,450970,450971,450974,450975,450985,450986,450988,450989,450994,450995,450999,451000,451015,451016,451019,451020,451024,451025,451030,451031,451036,451037,451042,451043,451048,451049,451053,451054,451056,451057,451063,451064,451070,451071,451077,451078,451082,451083,451090,451091,451097,451098,451101,451102,451108,451109,451115,451116,451123,451124,451127,451128,451138,451139,451142,451143,451154,451155,451158,451159,451163,451164,451169,451170,451175,451176,451182,451183,451188,451189,451196,451197,451201,451202,451206,451207,451212,451213,451218,451219,451226,451227,451234,451235,451238,451239,451247,451248,451249,451250,451257,451258,451264,451265,451321,451322,451344,451345,451352,451353,451362,451363,451370,451371,451379,451380,451392,451393,451404,451405,451415,451416,451428,451429,451437,451438,451446,451447,451457,451458,451468,451469,451477,451478,451482,451483,451490,451491,451501,451502,451512,451513,451523,451524,451575,451576,451584,451585,451593,451594,451609,451610,451614,451615,451628,451629,451637,451638,451681,451682,451695,451696,451712,451713,451722,451723,451731,451732,451760,451761,451773,451774,451784,451785,451798,451799,451809,451810,451821,451822,451836,451837,451848,451849,451866,451867,451873,451874,451878,451879,451920,451921,451931,451932,451941,451942,451953,451954,451964,451965,451972,451973,451982,451983,451994,451995,452006,452007,452011,452012,452021,452022,452031,452032,452042,452043,452050,452051,452059,452060,452074,452075,452103,452104,452114,452115,452137,452138,452152,452153,452158,452159,452203,452204,452217,452218,452233,452234,452249,452250,452256,452257,452270,452271,452282,452283,452295,452296,452304,452305,452316,452317,452327,452328,452355,452356,452434,452435,452446,452447,452457,452458,452469,452470,452478,452479,452501,452502,452509,452510,452520,452521,452530,452531,452549,452550,452593,452594,452603,452604,452616,452617,452624,452625,452661,452662,452708,452709,452717,452718,452723,452724,452732,452733,452753,452754,452755,452756,452758,452759,452761,452762,452764,452765,452768,452769,452771,452772,452774,452775,452777,452778,452781,452782,452786,452787,452789,452790,452793,452794,452796,452797,452799,452800,452802,452803,452806,452807,452809,452810,452813,452814,452817,452818,452923,452924,452925,452926,452927,452928,452931,452932,452936,452937,452941,452942,452943,452944,452945,452946,456130,456131,458210,458211,458212,458213,458214,458215,458250,458251,458252,458253,458254,458255,458265,458266,458267,458268,458270,458271,458272,458273,458277,458278,458279,458280,458281,458282,458283,458284,458285,458286,458298,458299,458300,458301,458543,458544,458545,458546,458547,458548,458549,458550,458552,458553,458554,458555,458556,458557,458567,458568,458569,458570,458575,458576,458577,458578,458579,458580,458619,458620,458621,458622,458662,458663,458664,458665,458666,458667,458673,458674,458675,458676,458702,458703,458704,458705,458706,458707,458708,458709,458722,458723,458724,458725,458726,458727,458728,458729,458730,458731,458732,458733,458735,458736,458737,458738,458739,458740,458741,458742,458743,458744,458745,458746,458747,458748,458750,458752,458753,477050,477326,477327,477382,477383,477406,477407,478165,478166,479244,479245,479246,479247,479248,479249,479256,479257,479258,479259,479261,479262,479263,479264,479265,479266,479279,479280,479281,479282,485056,485057,485058,485059,485085,485086,485087,485088,485089,485090,485208,485209,485210,485211,485213,485214,485215,485216,485217,485218,485228,485229,485230,485231,485257,485258,485259,485260,485261,485262,485349,485350,485351,485352,485354,485355,485356,485357,485358,485359,485402,485403,485404,485405,487280,487281,487282,487283,487284,487285,487286,487287,487288,487289,489892,489893,489894,489895,489909,489910,489911,489912,489913,489914,489924,489925,489926,489927,489928,489929,489977,489978,489979,489980,489981,489982,490138,490139,490247,490248,490391,490392,490493,490494,490684,490685,490844,490845,490908,490909,491057,491058,491262,491263,491357,491358,491512,491513,491514,491515,491516,491517,491518,491520,491521,514896,514958,514959,514960,514961,514962,514963,514964,514965,514974,514975,514976,514977,514979,514980,514981,514982,515009,515010,515011,515012,515038,515039,515040,515041,515068,515069,515070,515071,515083,515084,515085,515086,515094,515095,515096,515097,515101,515102,515103,515104,515110,515111,515112,515113,515114,515115,515116,515117,515119,515120,515121,515122,515131,515132,515133,515134,515135,515136,515137,515138,515139,515140,515141,515142,515143,515144,515145,515146,515224,515225,515226,515227,515228,515229,515230,515231,515232,515233,515234,515235,515236,515237,515238,515239,515241,515242,515243,515244,515245,515246,515247,515248,515284,515285,515286,515287,515323,515324,515325,515326,515327,515328,515329,515330,515331,515332,515333,515334,515335,515336,515338,515339,515341,515342,515343,515344,515345,515346,515347,515348,515349,515350,515351,515352,515353,515354,515355,515356,515357,515358,515359,515360,515361,515362,520947,520948,520949,520950,520951,520952,520953,520954,520955,520956,520957,520958,520962,520963,520966,520967,520971,520972,520976,520977,520981,520982,520983,520984,520985,520986,520987,520988,520991,520992,520993,520994,520995,520996,520997,520998,520999,521000,521001,521002,521003,521004,521005,521006,521007,521008,521009,521010,521011,521012,521013,521014,521015,521016,521017,521018,521019,521020,521021,521022,521023,521024,521025,521026,521027,521028,521029,521030,521031,521032,521033,521034,521035,521036,521037,521038,521039,521040,521041,521042,521043,521044,521045,521046,521047,521048,521049,521050,521051,521052,521053,521054,521055,521056,521057,521058,521059,521060,521061,521062,521066,521067,521072,521073,521074,521075,521197,521198,521199,521200,521201,521202,521203,521204,521206,521207,521208,521209,521210,521211,521278,521279,521280,521281,521312,521313,521314,521315,521316,521317,521327,521328,521329,521330,521445,521446,521447,521448,521449,521450,522110,522111,522112,522113,522114,522115,522116,522117,524246,524247,524248,524249,524257,524258,524259,524260,524261,524262,524283,524284,524285,524288,524289,528284,528440,528441,528442,528443,528444,528445,531258,531259,531260,531261,531273,531274,531275,531276,531277,531278,531286,531287,531288,531289,531296,531297,531298,531299,531300,531301,531657,531658,531659,531660,531845,531846,531847,531848,531849,531850,532023,532024,532025,532026,532033,532034,532035,532036,532037,532038,532093,532094,532095,532096,532103,532104,532105,532106,532107,532108,532518,532519,532520,532521,532587,532588,532589,532590,532591,532592,532972,532973,532974,532975,540840,540841,540842,540843,540844,540845,541622,541623,541624,541625,541669,541670,541671,541672,541673,541674,541714,541715,541716,541717,541721,541722,541737,541738,541750,541751,541761,541762,541772,541773,541788,541789,541804,541805,541823,541824,541831,541832,541840,541841,541846,541847,541866,541867,541872,541873,541900,541901,541927,541928,541961,541962,541968,541969,541999,542000,542016,542017,542021,542022,542085,542086,542131,542132,542177,542178,542223,542224,542253,542254,542260,542261,542275,542276,542280,542281,542289,542290,542298,542299,542318,542319,542338,542339,542346,542347,542352,542353,542363,542364,542374,542375,542379,542380,542390,542391,542396,542397,542465,542466,542507,542508,542542,542543,542547,542548,542557,542558,542567,542568,542669,542670,542685,542686,542691,542692,542700,542701,542714,542715,542724,542725,542731,542732,542738,542739,542745,542746,542750,542751,542756,542757,542762,542763,542780,542781,542786,542787,542792,542793,543825,543826,543835,543836,543840,543841,544712,544713,544717,544718,544727,544728,544739,544740,544745,544746,544750,544751,544755,544756,544765,544766,544770,544771,544776,544777,544783,544784,544800,544801,544807,544808,544813,544814,544822,544823,544828,544829,544834,544835,544836,544837,544838,544839,544846,544847,544848,544849,544850,544851,544852,544853,544854,544855,544856,544857,544858,544859,544860,544861,544864,544865,544866,544867,544868,544869,544870,544871,544873,544874,544875,544876,544877,544878,544879,544880,544881,544882,544883,544884,544885,544886,544887,544888,544889,544890,544891,544892,544893,544894,544895,544896,544897,544898,544899,544900,544901,544902,544903,544904,544905,544906,544907,544908,544909,544910,544911,544912,544913,544914,544915,544916,544917,544918,544919,544920,544921,544922,544923,544924,544925,544926,544927,544928,544929,544930,544931,544932,544933,544934,544935,544936,544937,544938,544939,544940,544941,544942,544943,544944,544945,544946,544947,544948,544949,544950,544951,544952,544953,544954,544955,544956,544957,544958,544966,544967,544971,544972,544973,544974,546577,546578,549408,549409,549410,549411,549413,549414,549416,549417,549418,549419,549420,549421,549422,549423,549431,549432,549472,549473,549479,549480,549520,549521,549699,549700,550883,550884,550885,550886,550887,550888,550889,550890,550891,550892,550893,550894,550895,550896,550897,550898,550930,550931,550946,550947,551049,551050,551051,551052,551053,551054,551055,551056,551057,551058,551753,551754,551755,551756,551757,551758,551765,551766,551768,551769,551770,551771,551789,551790,551791,551792,551793,551794,551795,551796,552050,552051,552061,552062,552069,552070,552082,552083,552095,552096,552146,552147,552152,552153,552158,552159,552196,552197,552291,552292,552310,552311,552329,552330,552407,552408,552422,552423,552431,552432,552436,552437,552453,552454,552470,552471,552486,552487,552494,552495,552545,552546,552558,552559,552574,552575,552604,552605,552621,552622,552674,552675,552705,552706,552739,552740,552746,552747,552753,552754,552759,552760,552935,552936,552942,552943,552971,552972,553039,553040,553063,553064,553110,553111,553147,553148,553152,553153,553165,553166,553206,553207,553211,553212,553221,553222,553232,553233,553240,553241,553245,553246,553248,553249,553253,553254,553305,553306,553324,553325,553348,553349,553374,553375,553382,553383,553391,553392,553400,553401,553406,553407,553412,553413,553417,553418,553432,553433,553588,553589,553602,553603,553639,553640,553687,553688,553704,553705,553719,553720,553734,553735,553748,553749,553754,553755,553869,553870,553923,553924,553933,553934,553971,553972,553993,553994,554062,554063,554118,554119,554126,554127,554141,554142,554149,554150,554188,554189,554243,554244,554295,554296,554326,554327,554362,554363,554367,554368,554372,554373,554378,554379,554409,554410,556002,556003,556025,556026,556046,556047,556654,556655,556667,556668,556677,556678,556682,556683,556701,556702,556707,556708,556722,556723,556727,556728,556824,556825,556960,556961,556968,556969,556977,556978,556985,556986,556991,556992,557000,557001,557006,557007,557012,557013,557017,557018,557023,557024,557038,557039,557052,557053,557054,557056,557057,557552,557553,566436,566438,566439,566440,566441,566442,566443,566444,566454,566455,566456,566457,566478,566479,566488,566489,566490,566491,566506,566507,566663,566664,566665,566666,566667,566668,566669,566670,566671,566672,566676,566677,566678,566679,566695,566696,566703,566704,566705,566706,566715,566716,566729,566730,566731,566732,566748,566749,566806,566807,566808,566809,566841,566842,566846,566847,566851,566852,566853,566854,566863,566864,567527,567528,567529,567530,567531,567532,567533,567534,567544,567545,567556,567557,567558,567559,567560,567561,567562,567563,567580,567581,567586,567587,567588,567589,567628,567629,567630,567631,567632,567633,567634,567635,567640,567641,567642,567643,567660,567661,567662,567663,567664,567665,568423,568425,568426,568427,568428,568434,568435,568474,568475,568476,568477,568478,568479,568489,568490,568496,568497,568504,568505,568516,568517,568518,568519,572998,573005,577536") && block_image_verify("/dev/block/platform/mtk-msdc.0/11230000.msdc0/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/platform/mtk-msdc.0/11230000.msdc0/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/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8634624:a0e53079135e345d6d58865f49d97a5a416affc0:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518",
            "-", bf9137fe4abeb0e620d5dad87171dfc9b216d518, 8669440,
            a0e53079135e345d6d58865f49d97a5a416affc0,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot:8634624:a0e53079135e345d6d58865f49d97a5a416affc0:8669440:bf9137fe4abeb0e620d5dad87171dfc9b216d518");
show_mtupdate_stage("/cache/recovery/last_mtupdate_stage");
ifelse (
less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "3") ,
(
if less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "2") then

ui_print("start to update alt loader image");
package_extract_file("trustzone.bin", "/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee2");
set_mtupdate_stage("/cache/recovery/last_mtupdate_stage", "2");
endif;

switch_active("tee1", "tee2");
set_mtupdate_stage("/cache/recovery/last_mtupdate_stage", "3");
),
ui_print("alt loder images are already updated");
);
ifelse (
less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "5") ,
(
if less_than_int(get_mtupdate_stage("/cache/recovery/last_mtupdate_stage"), "4") then

ui_print("start to update main loader image");
package_extract_file("trustzone.bin", "/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee1");
set_mtupdate_stage("/cache/recovery/last_mtupdate_stage", "4");
endif;

switch_active("tee2", "tee1");
),
ui_print("main loader images are already updated");
);
delete("/cache/recovery/last_mtupdate_stage");
set_progress(1.000000);
