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/072/brian02200241:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/075/brian06130313:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/072/brian02200241:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/075/brian06130313:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/072/brian02200241:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/075/brian06130313:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16276776:3c7ce408cae496462f166241c08eeeaf7082db59:16276776:185e9b76816e1c3c0da5931463662168eb34164a") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16276776:3c7ce408cae496462f166241c08eeeaf7082db59:16276776:185e9b76816e1c3c0da5931463662168eb34164a\" has unexpected contents.");
apply_patch_space(33554432) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6500,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,3768,4797,4798,4799,4800,5940,5941,5942,5943,6165,6166,6167,6168,7005,7006,7007,7008,7010,7011,7012,7013,7014,7015,7022,7023,7024,7025,7031,7032,7033,7034,7035,7036,7062,7063,7064,7065,7128,7129,7130,7131,7132,7133,7199,7200,7201,7202,7208,7209,7210,7211,7212,7213,7240,7241,7242,7243,7247,7248,7249,7250,7251,7252,7271,7272,7273,7274,7276,7277,7278,7279,7280,7281,7287,7288,7289,7290,7294,7295,7296,7297,7298,7299,7315,7316,7317,7318,7321,7322,7323,7324,7325,7326,7336,7337,7338,7339,7342,7343,7344,7345,7346,7347,7360,7361,7362,7363,7367,7368,7369,7370,7371,7372,7383,7384,7385,7386,7387,7388,7389,7390,7454,7455,7466,7467,7468,7469,7470,7471,7472,7473,7480,7481,7483,7484,7485,7486,7488,7489,7490,7491,7492,7493,7494,7495,7542,7543,7552,7553,7554,7555,7556,7557,7558,7559,7611,7612,7622,7623,7624,7625,7626,7627,7628,7629,8374,8375,19577,19578,19580,19581,19592,19593,19604,19605,19609,19610,19614,19615,19622,19623,19628,19629,19633,19634,19635,19636,19642,19643,19680,19681,19682,19683,19684,19685,19691,19692,19701,19702,19711,19712,19719,19720,19726,19727,19738,19739,19745,19746,19751,19752,19753,19754,19763,19764,19773,19774,19780,19781,19786,19787,19788,19789,19793,19794,19799,19800,19804,19805,19817,19818,19825,19826,19832,19833,19841,19842,19890,19891,19896,19897,19898,19899,19904,19905,19986,19987,19992,19993,20005,20006,20012,20013,20018,20019,20052,20053,20072,20073,20077,20078,20083,20084,20091,20092,20096,20097,20104,20105,20111,20112,20119,20120,20125,20126,20136,20137,20160,20161,20195,20196,20197,20198,20206,20207,20249,20250,20257,20258,20267,20268,20308,20309,20313,20314,20323,20324,20330,20331,20336,20337,20344,20345,20360,20361,20370,20371,20392,20393,20403,20404,20416,20417,20427,20428,20574,20575,20588,20589,20597,20598,20603,20604,20639,20640,20651,20652,20686,20687,20799,20800,20811,20812,20821,20822,20823,20824,20853,20854,20859,20860,20897,20898,20926,20927,20928,20929,20930,20931,20958,20959,20971,20972,21027,21028,21091,21092,21153,21154,21159,21160,21201,21202,21257,21258,21259,21260,21265,21266,21271,21272,21277,21278,21300,21301,21306,21307,21315,21316,21323,21324,21453,21454,21609,21610,21616,21617,21634,21635,21644,21645,21663,21664,21666,21667,21675,21676,21773,21774,21800,21801,21806,21807,21815,21816,21856,21857,21863,21864,21999,22000,22001,22002,22007,22008,22015,22016,22021,22022,22027,22028,22035,22036,22045,22046,22055,22056,22060,22061,22088,22089,22115,22116,22134,22135,22141,22142,22148,22149,22156,22157,22166,22167,22226,22227,22261,22262,22270,22271,22276,22277,22285,22286,22287,22288,22307,22308,22315,22316,22320,22321,22326,22327,22375,22376,22683,22684,22688,22689,22727,22728,22736,22737,22745,22746,22751,22752,22756,22757,22761,22762,22766,22767,22772,22773,22791,22792,22803,22804,22815,22816,22821,22822,22823,22824,22834,22835,22843,22844,22853,22854,22864,22865,22910,22911,22920,22921,22930,22931,22940,22941,22942,22943,22947,22948,22953,22954,22959,22960,22965,22966,22971,22972,22977,22978,22983,22984,22989,22990,22995,22996,23002,23003,23009,23010,23016,23017,23023,23024,23029,23030,23035,23036,23063,23064,23093,23094,23102,23103,23108,23109,23113,23114,23159,23160,23164,23165,23177,23178,23182,23183,23184,23185,23198,23199,23205,23206,23211,23212,23219,23220,23227,23228,23233,23234,23239,23240,23245,23246,23272,23273,23281,23282,23288,23289,23293,23294,23300,23301,23307,23308,23309,23310,23314,23315,23346,23347,23393,23394,23395,23396,23404,23405,23420,23421,23426,23427,23432,23433,23440,23441,23446,23447,23449,23450,23454,23455,23478,23479,23480,23481,23486,23487,23505,23506,23514,23515,23520,23521,23526,23527,23532,23533,23538,23539,23561,23562,23632,23633,23638,23639,23644,23645,23651,23652,23658,23659,23661,23662,23678,23679,23684,23685,23691,23692,23797,23798,23822,23823,23829,23830,23836,23837,23841,23842,23843,23844,23866,23867,24180,24181,24349,24350,24367,24368,24371,24372,24373,24374,24436,24437,24438,24439,24440,24441,24442,24443,24459,24460,24464,24465,24466,24467,24521,24522,24523,24524,24545,24546,24607,24608,24609,24610,24620,24621,24625,24626,24628,24629,24678,24679,24680,24681,24700,24701,24749,24750,24752,24753,24754,24755,24771,24772,24776,24777,24778,24779,24836,24837,24838,24839,24863,24864,24926,24927,24928,24929,24945,24946,24950,24951,24952,24953,25008,25009,25010,25011,25035,25036,25098,25099,25100,25101,25117,25118,25122,25123,25124,25125,25187,25188,25189,25190,25214,25215,25278,25279,25439,25440,25441,25442,25444,25445,25446,25447,25449,25450,25455,25456,25459,25460,25461,25462,25463,25464,25465,25466,25474,25475,25477,25478,25720,25721,25722,25723,25724,25725,25726,25727,25732,25733,25734,25735,25736,25737,25740,25741,25744,25745,25748,25749,25752,25753,25754,25755,25758,25759,25762,25763,25766,25767,25770,25771,25774,25775,25776,25777,25780,25781,25784,25785,25788,25789,25792,25793,25796,25797,25800,25801,25884,25885,25886,25887,25894,25895,25914,25915,25921,25922,25923,25924,25925,25926,25927,25928,25929,25930,25931,25932,25933,25934,25939,25940,25941,25942,25943,25944,25947,25948,25951,25952,25953,25954,25957,25958,25959,25960,25963,25964,25966,25967,25970,25971,25975,25976,25980,25981,25985,25986,25990,25991,25992,25993,25996,25997,25998,25999,26000,26001,26002,26003,26004,26005,26006,26007,26028,26029,26034,26035,26049,26050,26067,26068,26072,26073,26074,26075,26077,26078,26235,26236,26238,26239,26240,26241,26403,26404,26406,26407,26408,26409,26410,26411,26414,26415,26416,26417,26421,26422,26423,26424,26427,26428,26429,26430,26431,26432,26433,26434,26435,26436,26437,26438,26449,26450,26451,26452,26453,26454,26455,26456,26458,26459,26460,26461,26462,26463,26464,26465,26466,26467,26468,26469,26470,26471,26472,26473,26474,26475,26476,26477,26478,26479,26480,26481,26482,26483,26484,26485,26486,26487,26488,26489,26490,26491,26492,26493,26494,26495,26496,26497,26498,26499,26500,26501,26502,26503,26504,26505,26506,26507,26508,26509,26510,26511,26512,26513,26514,26515,26517,26518,26521,26522,26523,26524,26525,26526,26527,26528,26529,26530,26531,26532,26553,26554,26555,26556,26557,26558,26560,26561,26566,26567,26568,26569,26570,26571,26573,26574,26575,26576,26577,26578,26581,26582,26584,26585,26586,26587,26589,26590,26592,26593,26595,26596,26602,26603,26611,26612,26620,26621,26628,26629,26636,26637,26645,26646,26654,26655,26663,26664,26672,26673,26691,26692,26693,26694,26695,26696,26697,26698,26699,26700,27806,27807,27808,27809,27810,27811,27812,27813,27814,27815,27816,27817,27818,27819,27820,27821,27822,27823,27824,27825,27826,27827,27828,27829,27830,27831,27832,27833,27834,27835,27836,27837,27838,27839,27840,27841,27842,27843,27844,27845,27846,27847,27848,27849,27850,27851,27852,27853,27854,27855,27856,27857,27858,27859,27860,27861,27862,27863,27864,27865,27866,27867,27868,27869,27870,27871,27872,27873,27874,27875,27876,27877,27878,27879,27880,27881,27882,27883,27884,27885,27886,27887,27888,27889,27890,27891,27892,27893,27894,27895,27896,27897,27898,27899,27900,27901,27902,27903,27904,27905,27917,27918,27919,27920,27921,27922,27923,27924,27925,27926,27927,27928,28085,28086,28087,28088,28089,28090,28091,28092,28093,28094,28097,28098,28101,28102,28103,28104,28105,28106,28107,28108,28109,28110,28111,28112,28113,28114,28115,28116,28117,28118,28119,28120,28121,28122,28123,28124,28125,28126,28127,28128,28129,28130,28131,28132,28133,28134,28135,28136,28137,28138,28139,28140,28141,28142,28143,28144,28145,28146,28147,28148,28149,28150,28151,28152,28153,28154,28155,28156,28157,28158,28159,28160,28161,28162,28163,28164,28165,28166,28167,28168,28169,28170,28171,28172,28173,28174,28175,28176,28177,28178,28179,28180,28181,28182,28183,28184,28186,28187,28188,28189,28190,28191,28192,28193,28196,28197,28198,28199,28200,28201,28202,28203,28204,28205,28206,28207,28208,28209,28210,28211,28212,28213,28214,28215,28216,28217,28218,28219,28220,28221,28222,28223,28224,28225,28229,28230,28231,28232,28233,28234,28235,28236,28237,28238,28695,28696,28697,28698,28700,28701,28702,28703,28704,28705,28707,28708,28710,28711,28713,28714,28716,28717,28718,28719,28721,28722,28724,28725,28727,28728,28729,28730,28732,28733,28735,28736,28738,28739,28741,28742,28744,28745,28747,28748,28750,28751,28753,28754,28756,28757,28759,28760,28762,28763,28765,28766,28769,28770,28772,28773,28775,28776,28778,28779,28781,28782,28784,28785,28786,28787,28788,28789,28791,28792,28794,28795,28798,28799,28802,28803,28805,28806,28808,28809,28811,28812,28814,28815,28817,28818,28820,28821,28823,28824,28826,28827,28829,28830,28833,28834,28836,28837,28839,28840,28842,28843,28845,28846,28848,28849,28851,28852,28854,28855,28857,28858,28860,28861,28863,28864,28866,28867,28869,28870,28871,28872,28874,28875,28877,28878,28880,28881,28883,28884,28886,28887,28888,28889,28891,28892,28894,28895,28897,28898,28900,28901,28903,28904,28906,28907,28909,28910,28911,28912,28914,28915,28917,28918,28920,28921,28923,28924,28926,28927,28929,28930,28932,28933,28935,28936,28938,28939,28941,28942,28944,28945,28947,28948,28950,28951,28953,28954,28956,28957,28958,28959,28961,28962,28964,28965,28967,28968,28970,28971,28972,28973,28975,28976,28978,28979,28981,28982,28984,28985,28987,28988,28990,28991,28993,28994,28996,28997,28999,29000,29003,29004,29006,29007,29009,29010,29012,29013,29015,29016,29018,29019,29020,29021,29023,29024,29026,29027,29029,29030,29032,29033,29035,29036,29037,29038,29040,29041,29043,29044,29046,29047,29049,29050,29052,29053,29054,29055,29057,29058,29060,29061,29063,29064,29126,29127,29129,29130,29132,29133,29134,29135,29137,29138,29140,29141,29143,29144,29146,29147,29149,29150,29151,29152,29154,29155,29157,29158,29160,29161,29163,29164,29165,29166,29168,29169,29171,29172,29174,29175,29177,29178,29180,29181,29183,29184,29186,29187,29189,29190,29192,29193,29195,29196,29197,29198,29200,29201,29203,29204,29206,29207,29209,29210,29212,29213,29215,29216,29218,29219,29221,29222,29224,29225,29226,29227,29228,29229,29230,29231,29232,29233,29235,29236,29239,29240,29242,29243,29244,29245,29246,29247,29249,29250,29252,29253,29255,29256,29258,29259,29261,29262,29264,29265,29267,29268,29270,29271,29272,29273,29274,29275,29276,29277,29278,29279,29281,29282,29290,29291,29299,29300,29308,29309,29317,29318,29326,29327,29328,29329,29330,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29345,29346,29347,29348,29350,29351,29361,29362,29377,29378,29395,29396,29425,29426,29455,29456,29530,29531,29603,29604,29654,29655,29695,29696,29723,29724,29752,29753,29785,29786,29839,29840,29859,29860,29915,29916,31361,31362,31391,31392,31421,31422,31451,31452,31481,31482,31486,31487,31491,31492,31500,31501,31534,31535,31539,31540,31542,31543,31545,31546,31558,31559,31565,31566,31572,31573,31582,31583,31589,31590,31626,31627,31662,31663,31668,31669,31674,31675,31679,31680,31682,31683,31688,31689,31694,31695,31705,31706,31708,31709,31718,31719,31728,31729,31738,31739,31749,31750,31758,31759,31767,31768,31776,31777,31785,31786,31811,31812,31815,31816,31818,31819,31833,31834,31848,31849,31863,31864,31878,31879,31883,31884,31888,31889,31917,31918,31923,31924,31928,31929,31931,31932,31934,31935,31940,31941,31979,31980,32020,32021,32024,32025,32029,32030,32101,32102,32106,32107,32119,32120,32122,32123,32126,32127,32139,32140,32144,32145,32149,32150,32154,32155,32160,32161,32167,32168,32173,32174,32180,32181,32273,32274,32373,32374,32378,32379,32395,32396,32427,32428,32489,32490,32555,32556,32617,32618,32679,32680,32755,32756,32757,32758,32760,32761,32762,32763,32764,32765,32766,32768,32770,32849,32850,33343,41706,41707,47267,47268,50177,50178,50193,50194,50201,50202,50217,50218,50233,50234,50255,50256,50290,50291,50345,50346,50395,50396,50401,50402,50407,50408,50419,50420,50536,50537,50576,50577,50635,50636,50697,50698,50990,50991,51319,51320,51326,51327,51348,51349,51595,51596,51637,51638,51689,51690,51696,51697,51703,51704,52391,52392,52419,52420,53858,53859,53867,53868,53876,53877,53958,53959,53982,53983,54000,54001,54141,54142,54159,54160,54194,54195,54201,54202,54208,54209,54217,54218,54233,54234,54259,54260,54271,54272,54384,54385,54440,54441,54447,54448,54538,54539,54734,54735,54770,54771,54780,54781,54922,54923,55110,55111,55117,55118,55156,55157,55180,55181,55241,55242,55252,55253,55427,55428,55434,55435,55640,55641,55728,55729,55821,55822,56122,56123,56210,56211,56326,56327,56337,56338,56343,56344,56516,56517,56587,56588,56613,56614,56649,56650,56654,56655,56662,56663,56667,56668,56806,56807,56834,56835,56844,56845,56849,56850,56855,56856,56861,56862,56866,56867,56872,56873,56879,56880,56885,56886,56891,56892,56897,56898,56902,56903,56908,56909,56914,56915,56919,56920,56924,56925,56929,56930,56935,56936,56941,56942,56947,56948,56952,56953,56957,56958,56962,56963,56977,56978,56984,56985,57044,57045,57087,57088,57111,57112,57123,57124,57129,57130,57138,57139,57145,57146,57155,57156,57162,57163,57209,57210,57228,57229,57234,57235,57242,57243,57278,57279,57284,57285,57295,57296,57407,57408,57415,57416,57423,57424,57435,57436,57535,57536,57540,57541,57549,57550,57637,57638,57645,57646,57771,57772,58163,58164,58440,58441,58449,58450,58467,58468,58502,58503,58569,58570,58584,58585,58599,58600,58642,58643,58671,58672,58904,58905,58910,58911,58915,58916,58976,58977,59011,59012,59025,59026,59031,59032,59055,59056,59085,59086,59098,59099,59106,59107,59142,59143,59159,59160,59165,59166,59178,59179,59203,59204,59237,59238,59247,59248,59448,59449,59533,59534,59541,59542,59558,59559,59566,59567,59575,59576,59595,59596,59743,59744,59755,59756,59763,59764,59768,59769,59794,59795,59810,59811,59837,59838,59857,59858,59865,59866,59890,59891,59910,59911,59926,59927,59951,59952,59957,59958,59966,59967,59976,59977,59987,59988,59993,59994,60005,60006,60013,60014,60022,60023,60027,60028,60048,60049,60055,60056,60101,60102,60115,60116,60172,60173,60190,60191,61400,61401,61405,61406,61412,61413,61470,61471,61492,61493,61502,61503,62670,62671,62681,62682,62718,62719,62756,62757,62761,62762,62769,62770,62775,62776,62947,62948,62976,62977,62985,62986,62997,62998,63002,63003,63014,63015,63020,63021,63034,63035,63047,63048,63063,63064,63068,63069,63085,63086,63097,63098,63103,63104,63116,63117,63138,63139,63144,63145,63151,63152,63166,63167,63199,63200,63218,63219,63245,63246,63251,63252,63256,63257,64201,64202,64208,64209,64236,64237,64242,64243,64329,64330,64341,64342,64358,64359,64376,64377,64385,64386,64393,64394,64518,64519,64558,64559,64926,64927,64943,64944,64953,64954,64958,64959,64994,64995,64999,65000,65040,65041,65092,65093,65169,65170,65253,65254,65285,65286,65306,65307,65342,65343,65429,65430,65438,65439,65474,65475,65482,65483,65492,65493,65514,65515,65524,65525,65532,65533,65534,65536,65537,66030,66081,66082,66401,66402,66509,66510,66518,66519,66531,66532,66546,66547,66590,66591,66604,66605,66650,66651,66662,66663,66770,66771,67087,67088,67186,67187,67224,67225,67254,67255,67274,67275,67283,67284,67468,67469,67611,67612,67622,67623,67640,67641,67650,67651,67785,67786,67792,67793,67822,67823,67853,67854,68043,68044,68050,68051,68057,68058,68063,68064,68068,68069,68082,68083,68091,68092,68096,68097,68127,68128,68145,68146,68176,68177,68231,68232,68249,68250,68280,68281,68300,68301,68309,68310,68317,68318,68341,68342,68391,68392,68403,68404,68408,68409,68413,68414,69219,69220,69224,69225,69229,69230,69246,69247,69251,69252,69258,69259,69263,69264,69269,69270,69275,69276,69280,69281,69286,69287,69292,69293,69297,69298,69302,69303,69308,69309,69314,69315,69320,69321,69326,69327,69331,69332,69337,69338,69343,69344,69348,69349,69354,69355,69360,69361,69365,69366,69371,69372,69377,69378,69382,69383,69388,69389,69394,69395,69399,69400,69405,69406,69411,69412,69416,69417,69422,69423,69428,69429,69433,69434,69439,69440,69445,69446,69450,69451,69456,69457,69462,69463,69467,69468,69473,69474,69479,69480,69484,69485,69490,69491,69496,69497,69501,69502,69507,69508,69513,69514,69521,69522,69529,69530,69543,69544,69549,69550,69572,69573,69602,69603,69645,69646,69682,69683,69689,69690,69748,69749,69753,69754,69772,69773,69777,69778,69951,69952,70121,70122,70128,70129,70143,70144,70153,70154,70163,70164,70173,70174,70183,70184,70193,70194,70203,70204,70213,70214,70223,70224,70233,70234,70248,70249,70258,70259,70268,70269,70283,70284,70293,70294,70303,70304,70313,70314,70323,70324,70333,70334,70343,70344,70353,70354,70363,70364,70373,70374,70388,70389,70398,70399,70408,70409,70418,70419,70428,70429,70443,70444,70453,70454,70463,70464,70473,70474,70488,70489,70498,70499,70508,70509,70518,70519,70533,70534,70543,70544,70553,70554,70563,70564,70573,70574,70588,70589,70598,70599,70608,70609,70618,70619,70628,70629,70638,70639,70647,70648,70662,70663,70672,70673,70682,70683,70692,70693,70702,70703,70712,70713,70722,70723,70732,70733,70742,70743,70757,70758,70767,70768,70777,70778,70787,70788,70797,70798,70807,70808,70817,70818,70827,70828,70837,70838,70847,70848,70857,70858,70872,70873,70882,70883,70892,70893,70902,70903,70912,70913,70922,70923,70937,70938,70947,70948,70957,70958,70967,70968,70977,70978,70987,70988,70997,70998,71007,71008,71022,71023,71032,71033,71042,71043,71052,71053,71067,71068,71082,71083,71092,71093,71102,71103,71112,71113,71122,71123,71132,71133,71142,71143,71157,71158,71167,71168,71177,71178,71187,71188,71202,71203,71212,71213,71222,71223,71232,71233,71247,71248,71257,71258,71267,71268,71277,71278,71292,71293,71302,71303,71312,71313,71322,71323,71332,71333,71342,71343,71357,71358,71367,71368,71377,71378,71387,71388,71397,71398,71412,71413,71422,71423,71432,71433,71442,71443,71452,71453,71462,71463,71477,71478,71487,71488,71497,71498,71507,71508,71517,71518,71527,71528,71542,71543,71552,71553,71562,71563,71572,71573,71582,71583,71592,71593,71602,71603,71612,71613,71622,71623,71632,71633,71647,71648,71657,71658,71667,71668,71677,71678,71687,71688,71697,71698,71707,71708,71717,71718,71727,71728,71737,71738,71752,71753,71762,71763,71772,71773,71782,71783,71792,71793,71802,71803,71812,71813,71822,71823,71832,71833,71842,71843,71857,71858,71867,71868,71877,71878,71887,71888,71897,71898,71907,71908,71917,71918,71927,71928,71937,71938,71952,71953,71962,71963,71972,71973,71982,71983,71992,71993,72002,72003,72012,72013,72022,72023,72032,72033,72042,72043,72052,72053,72062,72063,72072,72073,72087,72088,72097,72098,72107,72108,72117,72118,72127,72128,72137,72138,72147,72148,72157,72158,72167,72168,72182,72183,72192,72193,72202,72203,72212,72213,72222,72223,72232,72233,72242,72243,72257,72258,72267,72268,72277,72278,72287,72288,72297,72298,72307,72308,72317,72318,72327,72328,72337,72338,72347,72348,72357,72358,72367,72368,72382,72383,72392,72393,72402,72403,72412,72413,72422,72423,72432,72433,72442,72443,72452,72453,72462,72463,72472,72473,72487,72488,72497,72498,72507,72508,72517,72518,72532,72533,72542,72543,72552,72553,72562,72563,72572,72573,72582,72583,72592,72593,72602,72603,72612,72613,72622,72623,72637,72638,72647,72648,72657,72658,72667,72668,72677,72678,72687,72688,72697,72698,72707,72708,72722,72723,72732,72733,72742,72743,72752,72753,72762,72763,72772,72773,72787,72788,72797,72798,72807,72808,72817,72818,72827,72828,72837,72838,72847,72848,72857,72858,72867,72868,72882,72883,72892,72893,72902,72903,72912,72913,73023,73024,73087,73088,73092,73093,73099,73100,73113,73114,73120,73121,73179,73180,73201,73202,73215,73216,73248,73249,73342,73343,73357,73358,73367,73368,73412,73413,73445,73446,73456,73457,73463,73464,73469,73470,73583,73584,73603,73604,73609,73610,74286,74287,74306,74307,74319,74320,74333,74334,74397,74398,74403,74404,74410,74411,74417,74418,74425,74426,74495,74496,74504,74505,74512,74513,74532,74533,74554,74555,74824,74825,79647,79648,79677,79678,79685,79686,79800,79801,79823,79824,79874,79875,79904,79905,79929,79930,79943,79944,79949,79950,79963,79964,79968,79969,80004,80005,80011,80012,80018,80019,80027,80028,80037,80038,80046,80047,80103,80104,80122,80123,80154,80155,80160,80161,80172,80173,80228,80229,80241,80242,80410,80411,80425,80426,80501,80502,80560,80561,80582,80583,80627,80628,80642,80643,80647,80648,80653,80654,80659,80660,80665,80666,80671,80672,80677,80678,80685,80686,80988,80989,80993,80994,81021,81022,81035,81036,81040,81041,81047,81048,81057,81058,81089,81090,81095,81096,81102,81103,81110,81111,81118,81119,81123,81124,81128,81129,81135,81136,81142,81143,81149,81150,81155,81156,81161,81162,81167,81168,81173,81174,81179,81180,81184,81185,81190,81191,81196,81197,81202,81203,81208,81209,81215,81216,81221,81222,81227,81228,81232,81233,81239,81240,81246,81247,81253,81254,81263,81264,81273,81274,81281,81282,81287,81288,81301,81302,81311,81312,81317,81318,81325,81326,81331,81332,81337,81338,81343,81344,81350,81351,81355,81356,81361,81362,81367,81368,81372,81373,81378,81379,81384,81385,81389,81390,81394,81395,81400,81401,81405,81406,81413,81414,81420,81421,81425,81426,81431,81432,81574,81575,81587,81588,81616,81617,81638,81639,81677,81678,81819,81820,81853,81854,81860,81861,81996,81997,82015,82016,82052,82053,82062,82063,82084,82085,82334,82335,82376,82377,82389,82390,82397,82398,82404,82405,82410,82411,82419,82420,82426,82427,82458,82459,82476,82477,82491,82492,82500,82501,82507,82508,82514,82515,82533,82534,82565,82566,82590,82591,82639,82640,82651,82652,82658,82659,82673,82674,82676,82677,82684,82685,82694,82695,82701,82702,82727,82728,82747,82748,82765,82766,82795,82796,82800,82801,82805,82806,82810,82811,82824,82825,82827,82828,85293,85294,85296,85297,85301,85302,85307,85308,85314,85315,85370,85371,85373,85374,85785,85786,87005,87006,87013,87014,87192,87193,87197,87198,87205,87206,87249,87250,87271,87272,87276,87277,87281,87282,87291,87292,87297,87298,87303,87304,87312,87313,87347,87348,87352,87353,87363,87364,87371,87372,87376,87377,87382,87383,87563,87564,87600,87601,87608,87609,87627,87628,87654,87655,87683,87684,87691,87692,87697,87698,87709,87710,87730,87731,87737,87738,87766,87767,87806,87807,87814,87815,87826,87827,87892,87893,87911,87912,87945,87946,87950,87951,87959,87960,87965,87966,87975,87976,87981,87982,88011,88012,88151,88152,88162,88163,88167,88168,88173,88174,88193,88194,88195,88196,88207,88208,88216,88217,88228,88229,88236,88237,88243,88244,88250,88251,88262,88263,88269,88270,88277,88278,88285,88286,88292,88293,88297,88298,88304,88305,88309,88310,88317,88318,88324,88325,88336,88337,88341,88342,88350,88351,88358,88359,88365,88366,88372,88373,88380,88381,88388,88389,88394,88395,88401,88402,88408,88409,88410,88411,88448,88449,88486,88487,88526,88527,88529,88530,88531,88532,88533,88534,88546,88547,88548,88549,88550,88551,88572,88573,88584,88585,88586,88587,88588,88589,88713,88714,88715,88716,88722,88723,88724,88725,88726,88727,88728,88729,88730,88731,88732,88733,88741,88742,88747,88748,88754,88755,88761,88762,88774,88775,88781,88782,88802,88803,88814,88815,88816,88817,88867,88868,88874,88875,88880,88881,88935,88936,88941,88942,88947,88948,88954,88955,88960,88961,89135,89136,89143,89144,89149,89150,89155,89156,89162,89163,89172,89173,89227,89228,89240,89241,89270,89271,89276,89277,89283,89284,89289,89290,89297,89298,89303,89304,89309,89310,89315,89316,89392,89393,89411,89412,89487,89488,89493,89494,89500,89501,89706,98304,98306,98385,98386,104978,105003,105004,105371,105372,105408,105409,105828,105829,105851,105852,106029,106030,106033,106034,106049,106050,106195,106196,107969,107970,108017,108018,108354,108355,108997,108998,117903,117904,117916,117917,117988,117989,117991,117992,117999,118000,118016,118017,118234,118235,118261,118262,118524,118525,118529,118530,118561,118562,118564,118565,118572,118573,118709,118710,119909,119910,119912,119913,119923,119924,119931,119932,119997,119998,120293,120294,122401,122402,122405,122406,122536,122537,122538,122539,122540,122541,122543,122544,122545,122546,122550,122551,122553,122554,122555,122556,122558,122559,122571,122572,122578,122579,122585,122586,122591,122592,122624,122625,122660,122661,122664,122665,122668,122669,123065,123066,123513,123514,123515,123516,123519,123520,123522,123523,123526,123527,124031,124032,125638,125639,125640,125641,125654,125655,125657,125658,125660,125661,125663,125664,125672,125673,125675,125676,125689,125690,125691,125692,125693,125694,125753,125754,125762,125763,125804,125805,125847,125848,125898,125899,126005,126006,126014,126015,126032,126033,126043,126044,126052,126053,126061,126062,126081,126082,126092,126093,126100,126101,126112,126113,126150,126151,126181,126182,126197,126198,126207,126208,126228,126229,126238,126239,126249,126250,126298,126299,126311,126312,126395,126396,126402,126403,126435,126436,126452,126453,126529,126530,126637,126638,126852,126853,126873,126874,126890,126891,127047,127048,127397,127398,127423,127424,127434,127435,127447,127448,127458,127459,127515,127516,127528,127529,127539,127540,127627,127628,127644,127645,127656,127657,127669,127670,127768,127769,128558,128559,128569,128570,128571,128572,128617,128618,128672,128673,128674,128675,128680,128681,128684,128685,128695,128696,128705,128706,128720,128721,128724,128725,128755,128756,128759,128760,128763,128764,128787,128788,128842,128843,128847,128848,128853,128854,128857,128858,128860,128861,129639,129640,129642,129643,129644,129645,129672,129673,129675,129676,129678,129679,129680,129681,129682,129683,129897,129898,129900,129901,129913,129914,129916,129917,129918,129919,129920,129921,129937,129938,129955,129956,130069,130070,130072,130073,130076,130077,130078,130079,130080,130081,130082,130083,130098,130099,130100,130101,130102,130103,130128,130129,130130,130131,130139,130140,130145,130146,130194,130195,130204,130205,130211,130212,130236,130237,130644,130645,130741,130742,130748,130749,130758,130759,130765,130766,130774,130775,130815,130816,130820,130821,130827,130828,130833,130834,130838,130839,130843,130844,130848,130849,130855,130856,130876,130877,130881,130882,130908,130909,130914,130915,130970,130971,130980,130981,130998,130999,131016,131017,131043,131044,131050,131051,131064,131065,131070,131072,131073,163840,163842,163921,163922,164415,164522,164523,164644,164645,164677,164678,164708,164709,164750,164751,164759,164760,164860,164861,164984,164985,165034,165035,165041,165042,165047,165048,165054,165055,165133,165134,165138,165139,165144,165145,165149,165150,165159,165160,165168,165169,165176,165177,165183,165184,165196,165197,165209,165210,165216,165217,165276,165277,165300,165301,165323,165324,165330,165331,165356,165357,165536,165537,165568,165569,165592,165593,165794,165795,165800,165801,165806,165807,165856,165857,165921,165922,165970,165971,165985,165986,165992,165993,166184,166185,166209,166210,166213,166214,166222,166223,166228,166229,166236,166237,166240,166241,166244,166245,166247,166248,166250,166251,166253,166254,166257,166258,166261,166262,166264,166265,166270,166271,166289,166290,166309,166310,166315,166316,166320,166321,166326,166327,166338,166339,166345,166346,166359,166360,166370,166371,166373,166374,166381,166382,166386,166387,166392,166393,166397,166398,166401,166402,166405,166406,166410,166411,166415,166416,166419,166420,166424,166425,166428,166429,166433,166434,166438,166439,166451,166452,166457,166458,166459,166460,167490,167491,167497,167498,167506,167507,167513,167514,167517,167518,167519,167520,167527,167528,167546,167547,167552,167553,167557,167558,167563,167564,167575,167576,167582,167583,167588,167589,167599,167600,167605,167606,167607,167608,167609,167610,167611,167612,167616,167617,167619,167620,167626,167627,167630,167631,167638,167639,167642,167643,167672,167673,167686,167687,167711,167712,167748,167749,167775,167776,167820,167821,167845,167846,167857,167858,167886,167887,167913,167914,167926,167927,167928,167929,167932,167933,167935,167936,167938,167939,167942,167943,167946,167947,167954,167955,167957,167958,167962,167963,167972,167973,167977,167978,167983,167984,167988,167989,167994,167995,167998,167999,168003,168004,168008,168009,168016,168017,168022,168023,168026,168027,168032,168033,168037,168038,168041,168042,168047,168048,168052,168053,168057,168058,168061,168062,168068,168069,168072,168073,168078,168079,168085,168086,168089,168090,168100,168101,168103,168104,168109,168110,168114,168115,168130,168131,168134,168135,168139,168140,168145,168146,168151,168152,168157,168158,168163,168164,168168,168169,168171,168172,168178,168179,168185,168186,168192,168193,168197,168198,168205,168206,168212,168213,168216,168217,168223,168224,168230,168231,168238,168239,168242,168243,168253,168254,168257,168258,168269,168270,168273,168274,168278,168279,168284,168285,168290,168291,168297,168298,168306,168307,168312,168313,168320,168321,168325,168326,168328,168329,168333,168334,168339,168340,168345,168346,168353,168354,168361,168362,168365,168366,168374,168375,168376,168377,168384,168385,168392,168393,168399,168400,168456,168457,168479,168480,168487,168488,168497,168498,168505,168506,168514,168515,168527,168528,168539,168540,168550,168551,168563,168564,168572,168573,168581,168582,168592,168593,168603,168604,168612,168613,168621,168622,168626,168627,168634,168635,168645,168646,168656,168657,168667,168668,168719,168720,168728,168729,168737,168738,168753,168754,168758,168759,168772,168773,168781,168782,168825,168826,168839,168840,168856,168857,168866,168867,168875,168876,168904,168905,168917,168918,168928,168929,168942,168943,168953,168954,168965,168966,168980,168981,168992,168993,169010,169011,169017,169018,169022,169023,169064,169065,169075,169076,169085,169086,169097,169098,169108,169109,169116,169117,169126,169127,169138,169139,169150,169151,169155,169156,169165,169166,169175,169176,169186,169187,169194,169195,169203,169204,169218,169219,169247,169248,169258,169259,169281,169282,169340,169341,169355,169356,169361,169362,169406,169407,169420,169421,169436,169437,169452,169453,169459,169460,169473,169474,169485,169486,169498,169499,169507,169508,169519,169520,169530,169531,169558,169559,169637,169638,169649,169650,169660,169661,169672,169673,169681,169682,169704,169705,169712,169713,169723,169724,169733,169734,169752,169753,169796,169797,169806,169807,169819,169820,169827,169828,169864,169865,169911,169912,169920,169921,169926,169927,169935,169936,169956,169957,169963,169964,169965,169966,169968,169969,169971,169972,169974,169975,169978,169979,169981,169982,169984,169985,169987,169988,169991,169992,169996,169997,169999,170000,170003,170004,170006,170007,170009,170010,170012,170013,170016,170017,170019,170020,170023,170024,170025,170026,170027,170028,170090,170091,170092,170093,170094,170095,170105,170106,170107,170108,170149,170150,170151,170152,170153,170154,170373,170374,170375,170376,170409,170410,170411,170412,170413,170414,170649,170650,170651,170652,170660,170661,170662,170663,170664,170665,170678,170679,170680,170681,170713,170714,170715,170716,170717,170718,170725,170726,170727,170728,171336,171337,171338,171339,171340,171341,171425,171426,171427,171428,171494,171495,171496,171497,171498,171499,171593,171594,171595,171596,173551,173552,173553,173554,173555,173556,175081,175082,175083,175084,175231,175232,175233,175234,175235,175236,175926,175927,175928,175929,175936,175937,175938,175939,175940,175941,175942,175943,175944,175945,175957,175958,175959,175960,178548,178549,178550,178551,178552,178553,180917,180918,180919,180920,181403,181404,181405,181406,181407,181408,182303,182304,182305,182306,182463,182464,182465,182466,182467,182468,182744,182745,182746,182747,183730,183731,183732,183733,183734,183735,184321,184322,184323,184324,184330,184331,184332,184333,184334,184335,184345,184346,184347,184348,184361,184362,184363,184364,184365,184366,184400,184401,184402,184403,184409,184410,184411,184412,184413,184414,184425,184426,184427,184428,184488,184489,184490,184491,184492,184493,184499,184500,184501,184502,184736,184737,184738,184739,184740,184741,184898,184899,184900,184901,184948,184949,184950,184951,184952,184953,185086,185087,185088,185089,186768,186769,186770,186771,186772,186773,188080,188081,188082,188083,188093,188094,188095,188096,188097,188098,188149,188150,188151,188152,188188,188189,188190,188191,188192,188193,188194,188195,188196,188197,188253,188254,188255,188256,188261,188262,188263,188264,188265,188266,188289,188290,188291,188292,189706,189707,189708,189709,189710,189711,190760,190761,190762,190763,190766,190767,190768,190769,190770,190771,190784,190785,190786,190787,190793,190794,190795,190796,190797,190798,190814,190815,190816,190817,190829,190830,190831,190832,190833,190834,190914,190915,190916,190917,190918,190919,190920,190921,193319,193320,193321,193322,193365,193366,193367,193368,193369,193370,193487,193488,193489,193490,193493,193494,193495,193496,193497,193498,193509,193510,193511,193512,193573,193574,193575,193576,193577,193578,193667,193668,193669,193670,193803,193804,193805,193806,193807,193808,194054,194055,194056,194057,194068,194069,194070,194071,194072,194073,194116,194117,194118,194119,195176,195177,195178,195179,195180,195181,196093,196094,196095,196096,196097,196098,196099,196100,196101,196102,196103,196104,196105,196106,196107,196108,196109,196110,196111,196112,196113,196114,196123,196124,196125,196126,196127,196128,196137,196138,196139,196140,196197,196198,196199,196200,196201,196202,196377,196378,196379,196380,196460,196461,196462,196463,196464,196465,196571,196572,196573,196574,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,247034,247035,248132,248133,248970,248971,249503,249504,249514,249515,249662,249663,249664,249665,250533,250534,250535,250536,250537,250538,250539,250540,250574,250575,250582,250583,250584,250585,250586,250587,250588,250589,250621,250622,250676,250677,250712,250713,250714,250715,250716,250717,250718,250719,250720,250721,250722,250723,250724,250725,250726,250727,250728,250729,250730,250731,250732,250733,250734,250735,250736,250737,250738,250739,250740,250741,250742,250743,250744,250745,250746,250747,250748,250749,250905,250906,251014,251015,251158,251159,251260,251261,251451,251452,251611,251612,251675,251676,251824,251825,252029,252030,252124,252125,252279,252280,252342,252343,252344,252345,252346,252347,252348,252349,252350,252351,252352,252353,252354,252355,252364,252365,252366,252367,252369,252370,252371,252372,252399,252400,252401,252402,252428,252429,252430,252431,252458,252459,252460,252461,252473,252474,252475,252476,252484,252485,252486,252487,252491,252492,252493,252494,252500,252501,252502,252503,252504,252505,252506,252507,252509,252510,252511,252512,252521,252522,252523,252524,252525,252526,252527,252528,252529,252530,252531,252532,252533,252534,252535,252536,252614,252615,252616,252617,252618,252619,252620,252621,252622,252623,252624,252625,252626,252627,252628,252629,252631,252632,252633,252634,252635,252636,252637,252638,252674,252675,252676,252677,252713,252714,252715,252716,252717,252718,252719,252720,252721,252722,252723,252724,252725,252726,252728,252729,252731,252732,252733,252734,252735,252736,252737,252738,252739,252740,252741,252742,252743,252744,252745,252746,252747,252748,252749,252750,252751,252752,258173,258174,258175,258176,258177,258178,258179,258180,258181,258182,258183,258184,258188,258189,258192,258193,258197,258198,258202,258203,258207,258208,258209,258210,258211,258212,258215,258216,258217,258218,258219,258220,258221,258222,258223,258224,258225,258226,258227,258228,258229,258230,258231,258232,258233,258234,258235,258236,258237,258238,258239,258240,258241,258242,258243,258244,258245,258246,258247,258248,258249,258250,258251,258252,258253,258254,258255,258256,258257,258258,258259,258260,258261,258262,258263,258264,258265,258266,258267,258268,258269,258270,258271,258272,258273,258274,258275,258276,258277,258278,258279,258280,258281,258282,258283,258284,258285,258286,258287,258288,258289,258290,258291,258292,258296,258297,258302,258303,258304,258305,258428,258429,258430,258431,258432,258433,258434,258435,258436,258437,258438,258439,258440,258441,258443,258444,258445,258446,258448,258449,258450,258451,258453,258454,258455,258456,258458,258459,258460,258461,258463,258464,258465,258466,258468,258469,258470,258471,258473,258474,258475,258476,258477,258478,258479,258480,258481,258482,258483,258484,258490,258491,258492,258493,258494,258495,258501,258502,258503,258504,258585,258586,258587,258588,258589,258590,258976,258977,258978,258979,258981,258982,258983,258984,258985,258986,258992,258993,258994,258995,259000,259001,259002,259003,259004,259005,259022,259023,259024,259025,259055,259056,259057,259058,259059,259060,259079,259080,259081,259082,259092,259093,259094,259095,259096,259097,259120,259121,259122,259123,259124,259125,259126,259127,259129,259130,259131,259132,259136,259137,259138,259139,259141,259142,259143,259144,259146,259147,259148,259149,259151,259152,259153,259154,259156,259157,259158,259159,259161,259162,259163,259164,259166,259167,259168,259169,259172,259173,259174,259175,259177,259178,259179,259180,259183,259184,259185,259186,259188,259189,259190,259191,259201,259202,259203,259204,259205,259206,259207,259208,259209,259210,259211,259212,259213,259214,259219,259220,259221,259222,259223,259224,259231,259232,259233,259234,259256,259257,259258,259259,259260,259261,259306,259307,259308,259309,259323,259324,259325,259326,259327,259328,259344,259345,259346,259347,259348,259349,259350,259351,259364,259365,259366,259367,259369,259370,259371,259372,259374,259375,259376,259377,259379,259380,259381,259382,259384,259385,259386,259387,259389,259390,259391,259392,259394,259395,259396,259397,259399,259400,259401,259402,259404,259405,259406,259407,259409,259410,259411,259412,259419,259420,259421,259422,259424,259425,259426,259427,259428,259429,259430,259431,259432,259433,259434,259435,259436,259437,259442,259443,259444,259445,259446,259447,259454,259455,259456,259457,259461,259462,259463,259464,259465,259466,259473,259474,259475,259476,259477,259478,259479,259480,259482,259483,259484,259485,259487,259488,259489,259490,259492,259493,259494,259495,259497,259498,259499,259500,259502,259503,259504,259505,259507,259508,259509,259510,259618,259619,259620,259621,259622,259623,259624,259625,259626,259627,259628,259629,259630,259631,259632,259633,259634,259635,259636,259637,259638,259639,259640,259641,259649,259650,259651,259652,259660,259661,259662,259663,259664,259665,259672,259673,259674,259675,259682,259683,259684,259685,259686,259687,259688,259689,259690,259691,259692,259693,259702,259703,259704,259705,259706,259707,259723,259724,259725,259726,259728,259729,259730,259731,259733,259734,259735,259736,259738,259739,259740,259741,259746,259747,259748,259749,259751,259752,259753,259754,259755,259756,259757,259758,259763,259764,259765,259766,259767,259768,259778,259779,259780,259781,259806,259807,259808,259809,259810,259811,259897,259898,259899,259900,259963,259964,259965,259966,259967,259968,260119,260120,260121,260122,260137,260138,260139,260140,260141,260142,260161,260162,260163,260164,260165,260166,260167,260168,260473,260474,260538,260539,260540,260541,260628,260629,261292,261293,261298,261299,261304,261305,261315,261316,261329,261330,261345,261346,261374,261375,261385,261386,261423,261424,261696,261697,261698,261699,261700,261701,261702,261703,261776,261777,261850,261851,261894,261895,261896,261897,261900,261901,261902,261903,261904,261905,261906,261907,261908,261909,261911,261912,261918,261919,261924,261925,262000,262001,262004,262005,262010,262011,262012,262013,262014,262015,262016,262017,262018,262019,262020,262021,262027,262028,262029,262030,262051,262052,262075,262076,262077,262078,262089,262090,262133,262134,262135,262136,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") == "3f2eae67464f9aab2e46ced50742ee8c0130e6b3" || 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", "6500,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,3768,4797,4798,4799,4800,5940,5941,5942,5943,6165,6166,6167,6168,7005,7006,7007,7008,7010,7011,7012,7013,7014,7015,7022,7023,7024,7025,7031,7032,7033,7034,7035,7036,7062,7063,7064,7065,7128,7129,7130,7131,7132,7133,7199,7200,7201,7202,7208,7209,7210,7211,7212,7213,7240,7241,7242,7243,7247,7248,7249,7250,7251,7252,7271,7272,7273,7274,7276,7277,7278,7279,7280,7281,7287,7288,7289,7290,7294,7295,7296,7297,7298,7299,7315,7316,7317,7318,7321,7322,7323,7324,7325,7326,7336,7337,7338,7339,7342,7343,7344,7345,7346,7347,7360,7361,7362,7363,7367,7368,7369,7370,7371,7372,7383,7384,7385,7386,7387,7388,7389,7390,7454,7455,7466,7467,7468,7469,7470,7471,7472,7473,7480,7481,7483,7484,7485,7486,7488,7489,7490,7491,7492,7493,7494,7495,7542,7543,7552,7553,7554,7555,7556,7557,7558,7559,7611,7612,7622,7623,7624,7625,7626,7627,7628,7629,8374,8375,19577,19578,19580,19581,19592,19593,19604,19605,19609,19610,19614,19615,19622,19623,19628,19629,19633,19634,19635,19636,19642,19643,19680,19681,19682,19683,19684,19685,19691,19692,19701,19702,19711,19712,19719,19720,19726,19727,19738,19739,19745,19746,19751,19752,19753,19754,19763,19764,19773,19774,19780,19781,19786,19787,19788,19789,19793,19794,19799,19800,19804,19805,19817,19818,19825,19826,19832,19833,19841,19842,19890,19891,19896,19897,19898,19899,19904,19905,19986,19987,19992,19993,20005,20006,20012,20013,20018,20019,20052,20053,20072,20073,20077,20078,20083,20084,20091,20092,20096,20097,20104,20105,20111,20112,20119,20120,20125,20126,20136,20137,20160,20161,20195,20196,20197,20198,20206,20207,20249,20250,20257,20258,20267,20268,20308,20309,20313,20314,20323,20324,20330,20331,20336,20337,20344,20345,20360,20361,20370,20371,20392,20393,20403,20404,20416,20417,20427,20428,20574,20575,20588,20589,20597,20598,20603,20604,20639,20640,20651,20652,20686,20687,20799,20800,20811,20812,20821,20822,20823,20824,20853,20854,20859,20860,20897,20898,20926,20927,20928,20929,20930,20931,20958,20959,20971,20972,21027,21028,21091,21092,21153,21154,21159,21160,21201,21202,21257,21258,21259,21260,21265,21266,21271,21272,21277,21278,21300,21301,21306,21307,21315,21316,21323,21324,21453,21454,21609,21610,21616,21617,21634,21635,21644,21645,21663,21664,21666,21667,21675,21676,21773,21774,21800,21801,21806,21807,21815,21816,21856,21857,21863,21864,21999,22000,22001,22002,22007,22008,22015,22016,22021,22022,22027,22028,22035,22036,22045,22046,22055,22056,22060,22061,22088,22089,22115,22116,22134,22135,22141,22142,22148,22149,22156,22157,22166,22167,22226,22227,22261,22262,22270,22271,22276,22277,22285,22286,22287,22288,22307,22308,22315,22316,22320,22321,22326,22327,22375,22376,22683,22684,22688,22689,22727,22728,22736,22737,22745,22746,22751,22752,22756,22757,22761,22762,22766,22767,22772,22773,22791,22792,22803,22804,22815,22816,22821,22822,22823,22824,22834,22835,22843,22844,22853,22854,22864,22865,22910,22911,22920,22921,22930,22931,22940,22941,22942,22943,22947,22948,22953,22954,22959,22960,22965,22966,22971,22972,22977,22978,22983,22984,22989,22990,22995,22996,23002,23003,23009,23010,23016,23017,23023,23024,23029,23030,23035,23036,23063,23064,23093,23094,23102,23103,23108,23109,23113,23114,23159,23160,23164,23165,23177,23178,23182,23183,23184,23185,23198,23199,23205,23206,23211,23212,23219,23220,23227,23228,23233,23234,23239,23240,23245,23246,23272,23273,23281,23282,23288,23289,23293,23294,23300,23301,23307,23308,23309,23310,23314,23315,23346,23347,23393,23394,23395,23396,23404,23405,23420,23421,23426,23427,23432,23433,23440,23441,23446,23447,23449,23450,23454,23455,23478,23479,23480,23481,23486,23487,23505,23506,23514,23515,23520,23521,23526,23527,23532,23533,23538,23539,23561,23562,23632,23633,23638,23639,23644,23645,23651,23652,23658,23659,23661,23662,23678,23679,23684,23685,23691,23692,23797,23798,23822,23823,23829,23830,23836,23837,23841,23842,23843,23844,23866,23867,24180,24181,24349,24350,24367,24368,24371,24372,24373,24374,24436,24437,24438,24439,24440,24441,24442,24443,24459,24460,24464,24465,24466,24467,24521,24522,24523,24524,24545,24546,24607,24608,24609,24610,24620,24621,24625,24626,24628,24629,24678,24679,24680,24681,24700,24701,24749,24750,24752,24753,24754,24755,24771,24772,24776,24777,24778,24779,24836,24837,24838,24839,24863,24864,24926,24927,24928,24929,24945,24946,24950,24951,24952,24953,25008,25009,25010,25011,25035,25036,25098,25099,25100,25101,25117,25118,25122,25123,25124,25125,25187,25188,25189,25190,25214,25215,25278,25279,25439,25440,25441,25442,25444,25445,25446,25447,25449,25450,25455,25456,25459,25460,25461,25462,25463,25464,25465,25466,25474,25475,25477,25478,25720,25721,25722,25723,25724,25725,25726,25727,25732,25733,25734,25735,25736,25737,25740,25741,25744,25745,25748,25749,25752,25753,25754,25755,25758,25759,25762,25763,25766,25767,25770,25771,25774,25775,25776,25777,25780,25781,25784,25785,25788,25789,25792,25793,25796,25797,25800,25801,25884,25885,25886,25887,25894,25895,25914,25915,25921,25922,25923,25924,25925,25926,25927,25928,25929,25930,25931,25932,25933,25934,25939,25940,25941,25942,25943,25944,25947,25948,25951,25952,25953,25954,25957,25958,25959,25960,25963,25964,25966,25967,25970,25971,25975,25976,25980,25981,25985,25986,25990,25991,25992,25993,25996,25997,25998,25999,26000,26001,26002,26003,26004,26005,26006,26007,26028,26029,26034,26035,26049,26050,26067,26068,26072,26073,26074,26075,26077,26078,26235,26236,26238,26239,26240,26241,26403,26404,26406,26407,26408,26409,26410,26411,26414,26415,26416,26417,26421,26422,26423,26424,26427,26428,26429,26430,26431,26432,26433,26434,26435,26436,26437,26438,26449,26450,26451,26452,26453,26454,26455,26456,26458,26459,26460,26461,26462,26463,26464,26465,26466,26467,26468,26469,26470,26471,26472,26473,26474,26475,26476,26477,26478,26479,26480,26481,26482,26483,26484,26485,26486,26487,26488,26489,26490,26491,26492,26493,26494,26495,26496,26497,26498,26499,26500,26501,26502,26503,26504,26505,26506,26507,26508,26509,26510,26511,26512,26513,26514,26515,26517,26518,26521,26522,26523,26524,26525,26526,26527,26528,26529,26530,26531,26532,26553,26554,26555,26556,26557,26558,26560,26561,26566,26567,26568,26569,26570,26571,26573,26574,26575,26576,26577,26578,26581,26582,26584,26585,26586,26587,26589,26590,26592,26593,26595,26596,26602,26603,26611,26612,26620,26621,26628,26629,26636,26637,26645,26646,26654,26655,26663,26664,26672,26673,26691,26692,26693,26694,26695,26696,26697,26698,26699,26700,27806,27807,27808,27809,27810,27811,27812,27813,27814,27815,27816,27817,27818,27819,27820,27821,27822,27823,27824,27825,27826,27827,27828,27829,27830,27831,27832,27833,27834,27835,27836,27837,27838,27839,27840,27841,27842,27843,27844,27845,27846,27847,27848,27849,27850,27851,27852,27853,27854,27855,27856,27857,27858,27859,27860,27861,27862,27863,27864,27865,27866,27867,27868,27869,27870,27871,27872,27873,27874,27875,27876,27877,27878,27879,27880,27881,27882,27883,27884,27885,27886,27887,27888,27889,27890,27891,27892,27893,27894,27895,27896,27897,27898,27899,27900,27901,27902,27903,27904,27905,27917,27918,27919,27920,27921,27922,27923,27924,27925,27926,27927,27928,28085,28086,28087,28088,28089,28090,28091,28092,28093,28094,28097,28098,28101,28102,28103,28104,28105,28106,28107,28108,28109,28110,28111,28112,28113,28114,28115,28116,28117,28118,28119,28120,28121,28122,28123,28124,28125,28126,28127,28128,28129,28130,28131,28132,28133,28134,28135,28136,28137,28138,28139,28140,28141,28142,28143,28144,28145,28146,28147,28148,28149,28150,28151,28152,28153,28154,28155,28156,28157,28158,28159,28160,28161,28162,28163,28164,28165,28166,28167,28168,28169,28170,28171,28172,28173,28174,28175,28176,28177,28178,28179,28180,28181,28182,28183,28184,28186,28187,28188,28189,28190,28191,28192,28193,28196,28197,28198,28199,28200,28201,28202,28203,28204,28205,28206,28207,28208,28209,28210,28211,28212,28213,28214,28215,28216,28217,28218,28219,28220,28221,28222,28223,28224,28225,28229,28230,28231,28232,28233,28234,28235,28236,28237,28238,28695,28696,28697,28698,28700,28701,28702,28703,28704,28705,28707,28708,28710,28711,28713,28714,28716,28717,28718,28719,28721,28722,28724,28725,28727,28728,28729,28730,28732,28733,28735,28736,28738,28739,28741,28742,28744,28745,28747,28748,28750,28751,28753,28754,28756,28757,28759,28760,28762,28763,28765,28766,28769,28770,28772,28773,28775,28776,28778,28779,28781,28782,28784,28785,28786,28787,28788,28789,28791,28792,28794,28795,28798,28799,28802,28803,28805,28806,28808,28809,28811,28812,28814,28815,28817,28818,28820,28821,28823,28824,28826,28827,28829,28830,28833,28834,28836,28837,28839,28840,28842,28843,28845,28846,28848,28849,28851,28852,28854,28855,28857,28858,28860,28861,28863,28864,28866,28867,28869,28870,28871,28872,28874,28875,28877,28878,28880,28881,28883,28884,28886,28887,28888,28889,28891,28892,28894,28895,28897,28898,28900,28901,28903,28904,28906,28907,28909,28910,28911,28912,28914,28915,28917,28918,28920,28921,28923,28924,28926,28927,28929,28930,28932,28933,28935,28936,28938,28939,28941,28942,28944,28945,28947,28948,28950,28951,28953,28954,28956,28957,28958,28959,28961,28962,28964,28965,28967,28968,28970,28971,28972,28973,28975,28976,28978,28979,28981,28982,28984,28985,28987,28988,28990,28991,28993,28994,28996,28997,28999,29000,29003,29004,29006,29007,29009,29010,29012,29013,29015,29016,29018,29019,29020,29021,29023,29024,29026,29027,29029,29030,29032,29033,29035,29036,29037,29038,29040,29041,29043,29044,29046,29047,29049,29050,29052,29053,29054,29055,29057,29058,29060,29061,29063,29064,29126,29127,29129,29130,29132,29133,29134,29135,29137,29138,29140,29141,29143,29144,29146,29147,29149,29150,29151,29152,29154,29155,29157,29158,29160,29161,29163,29164,29165,29166,29168,29169,29171,29172,29174,29175,29177,29178,29180,29181,29183,29184,29186,29187,29189,29190,29192,29193,29195,29196,29197,29198,29200,29201,29203,29204,29206,29207,29209,29210,29212,29213,29215,29216,29218,29219,29221,29222,29224,29225,29226,29227,29228,29229,29230,29231,29232,29233,29235,29236,29239,29240,29242,29243,29244,29245,29246,29247,29249,29250,29252,29253,29255,29256,29258,29259,29261,29262,29264,29265,29267,29268,29270,29271,29272,29273,29274,29275,29276,29277,29278,29279,29281,29282,29290,29291,29299,29300,29308,29309,29317,29318,29326,29327,29328,29329,29330,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29345,29346,29347,29348,29350,29351,29361,29362,29377,29378,29395,29396,29425,29426,29455,29456,29530,29531,29603,29604,29654,29655,29695,29696,29723,29724,29752,29753,29785,29786,29839,29840,29859,29860,29915,29916,31361,31362,31391,31392,31421,31422,31451,31452,31481,31482,31486,31487,31491,31492,31500,31501,31534,31535,31539,31540,31542,31543,31545,31546,31558,31559,31565,31566,31572,31573,31582,31583,31589,31590,31626,31627,31662,31663,31668,31669,31674,31675,31679,31680,31682,31683,31688,31689,31694,31695,31705,31706,31708,31709,31718,31719,31728,31729,31738,31739,31749,31750,31758,31759,31767,31768,31776,31777,31785,31786,31811,31812,31815,31816,31818,31819,31833,31834,31848,31849,31863,31864,31878,31879,31883,31884,31888,31889,31917,31918,31923,31924,31928,31929,31931,31932,31934,31935,31940,31941,31979,31980,32020,32021,32024,32025,32029,32030,32101,32102,32106,32107,32119,32120,32122,32123,32126,32127,32139,32140,32144,32145,32149,32150,32154,32155,32160,32161,32167,32168,32173,32174,32180,32181,32273,32274,32373,32374,32378,32379,32395,32396,32427,32428,32489,32490,32555,32556,32617,32618,32679,32680,32755,32756,32757,32758,32760,32761,32762,32763,32764,32765,32766,32768,32770,32849,32850,33343,41706,41707,47267,47268,50177,50178,50193,50194,50201,50202,50217,50218,50233,50234,50255,50256,50290,50291,50345,50346,50395,50396,50401,50402,50407,50408,50419,50420,50536,50537,50576,50577,50635,50636,50697,50698,50990,50991,51319,51320,51326,51327,51348,51349,51595,51596,51637,51638,51689,51690,51696,51697,51703,51704,52391,52392,52419,52420,53858,53859,53867,53868,53876,53877,53958,53959,53982,53983,54000,54001,54141,54142,54159,54160,54194,54195,54201,54202,54208,54209,54217,54218,54233,54234,54259,54260,54271,54272,54384,54385,54440,54441,54447,54448,54538,54539,54734,54735,54770,54771,54780,54781,54922,54923,55110,55111,55117,55118,55156,55157,55180,55181,55241,55242,55252,55253,55427,55428,55434,55435,55640,55641,55728,55729,55821,55822,56122,56123,56210,56211,56326,56327,56337,56338,56343,56344,56516,56517,56587,56588,56613,56614,56649,56650,56654,56655,56662,56663,56667,56668,56806,56807,56834,56835,56844,56845,56849,56850,56855,56856,56861,56862,56866,56867,56872,56873,56879,56880,56885,56886,56891,56892,56897,56898,56902,56903,56908,56909,56914,56915,56919,56920,56924,56925,56929,56930,56935,56936,56941,56942,56947,56948,56952,56953,56957,56958,56962,56963,56977,56978,56984,56985,57044,57045,57087,57088,57111,57112,57123,57124,57129,57130,57138,57139,57145,57146,57155,57156,57162,57163,57209,57210,57228,57229,57234,57235,57242,57243,57278,57279,57284,57285,57295,57296,57407,57408,57415,57416,57423,57424,57435,57436,57535,57536,57540,57541,57549,57550,57637,57638,57645,57646,57771,57772,58163,58164,58440,58441,58449,58450,58467,58468,58502,58503,58569,58570,58584,58585,58599,58600,58642,58643,58671,58672,58904,58905,58910,58911,58915,58916,58976,58977,59011,59012,59025,59026,59031,59032,59055,59056,59085,59086,59098,59099,59106,59107,59142,59143,59159,59160,59165,59166,59178,59179,59203,59204,59237,59238,59247,59248,59448,59449,59533,59534,59541,59542,59558,59559,59566,59567,59575,59576,59595,59596,59743,59744,59755,59756,59763,59764,59768,59769,59794,59795,59810,59811,59837,59838,59857,59858,59865,59866,59890,59891,59910,59911,59926,59927,59951,59952,59957,59958,59966,59967,59976,59977,59987,59988,59993,59994,60005,60006,60013,60014,60022,60023,60027,60028,60048,60049,60055,60056,60101,60102,60115,60116,60172,60173,60190,60191,61400,61401,61405,61406,61412,61413,61470,61471,61492,61493,61502,61503,62670,62671,62681,62682,62718,62719,62756,62757,62761,62762,62769,62770,62775,62776,62947,62948,62976,62977,62985,62986,62997,62998,63002,63003,63014,63015,63020,63021,63034,63035,63047,63048,63063,63064,63068,63069,63085,63086,63097,63098,63103,63104,63116,63117,63138,63139,63144,63145,63151,63152,63166,63167,63199,63200,63218,63219,63245,63246,63251,63252,63256,63257,64201,64202,64208,64209,64236,64237,64242,64243,64329,64330,64341,64342,64358,64359,64376,64377,64385,64386,64393,64394,64518,64519,64558,64559,64926,64927,64943,64944,64953,64954,64958,64959,64994,64995,64999,65000,65040,65041,65092,65093,65169,65170,65253,65254,65285,65286,65306,65307,65342,65343,65429,65430,65438,65439,65474,65475,65482,65483,65492,65493,65514,65515,65524,65525,65532,65533,65534,65536,65537,66030,66081,66082,66401,66402,66509,66510,66518,66519,66531,66532,66546,66547,66590,66591,66604,66605,66650,66651,66662,66663,66770,66771,67087,67088,67186,67187,67224,67225,67254,67255,67274,67275,67283,67284,67468,67469,67611,67612,67622,67623,67640,67641,67650,67651,67785,67786,67792,67793,67822,67823,67853,67854,68043,68044,68050,68051,68057,68058,68063,68064,68068,68069,68082,68083,68091,68092,68096,68097,68127,68128,68145,68146,68176,68177,68231,68232,68249,68250,68280,68281,68300,68301,68309,68310,68317,68318,68341,68342,68391,68392,68403,68404,68408,68409,68413,68414,69219,69220,69224,69225,69229,69230,69246,69247,69251,69252,69258,69259,69263,69264,69269,69270,69275,69276,69280,69281,69286,69287,69292,69293,69297,69298,69302,69303,69308,69309,69314,69315,69320,69321,69326,69327,69331,69332,69337,69338,69343,69344,69348,69349,69354,69355,69360,69361,69365,69366,69371,69372,69377,69378,69382,69383,69388,69389,69394,69395,69399,69400,69405,69406,69411,69412,69416,69417,69422,69423,69428,69429,69433,69434,69439,69440,69445,69446,69450,69451,69456,69457,69462,69463,69467,69468,69473,69474,69479,69480,69484,69485,69490,69491,69496,69497,69501,69502,69507,69508,69513,69514,69521,69522,69529,69530,69543,69544,69549,69550,69572,69573,69602,69603,69645,69646,69682,69683,69689,69690,69748,69749,69753,69754,69772,69773,69777,69778,69951,69952,70121,70122,70128,70129,70143,70144,70153,70154,70163,70164,70173,70174,70183,70184,70193,70194,70203,70204,70213,70214,70223,70224,70233,70234,70248,70249,70258,70259,70268,70269,70283,70284,70293,70294,70303,70304,70313,70314,70323,70324,70333,70334,70343,70344,70353,70354,70363,70364,70373,70374,70388,70389,70398,70399,70408,70409,70418,70419,70428,70429,70443,70444,70453,70454,70463,70464,70473,70474,70488,70489,70498,70499,70508,70509,70518,70519,70533,70534,70543,70544,70553,70554,70563,70564,70573,70574,70588,70589,70598,70599,70608,70609,70618,70619,70628,70629,70638,70639,70647,70648,70662,70663,70672,70673,70682,70683,70692,70693,70702,70703,70712,70713,70722,70723,70732,70733,70742,70743,70757,70758,70767,70768,70777,70778,70787,70788,70797,70798,70807,70808,70817,70818,70827,70828,70837,70838,70847,70848,70857,70858,70872,70873,70882,70883,70892,70893,70902,70903,70912,70913,70922,70923,70937,70938,70947,70948,70957,70958,70967,70968,70977,70978,70987,70988,70997,70998,71007,71008,71022,71023,71032,71033,71042,71043,71052,71053,71067,71068,71082,71083,71092,71093,71102,71103,71112,71113,71122,71123,71132,71133,71142,71143,71157,71158,71167,71168,71177,71178,71187,71188,71202,71203,71212,71213,71222,71223,71232,71233,71247,71248,71257,71258,71267,71268,71277,71278,71292,71293,71302,71303,71312,71313,71322,71323,71332,71333,71342,71343,71357,71358,71367,71368,71377,71378,71387,71388,71397,71398,71412,71413,71422,71423,71432,71433,71442,71443,71452,71453,71462,71463,71477,71478,71487,71488,71497,71498,71507,71508,71517,71518,71527,71528,71542,71543,71552,71553,71562,71563,71572,71573,71582,71583,71592,71593,71602,71603,71612,71613,71622,71623,71632,71633,71647,71648,71657,71658,71667,71668,71677,71678,71687,71688,71697,71698,71707,71708,71717,71718,71727,71728,71737,71738,71752,71753,71762,71763,71772,71773,71782,71783,71792,71793,71802,71803,71812,71813,71822,71823,71832,71833,71842,71843,71857,71858,71867,71868,71877,71878,71887,71888,71897,71898,71907,71908,71917,71918,71927,71928,71937,71938,71952,71953,71962,71963,71972,71973,71982,71983,71992,71993,72002,72003,72012,72013,72022,72023,72032,72033,72042,72043,72052,72053,72062,72063,72072,72073,72087,72088,72097,72098,72107,72108,72117,72118,72127,72128,72137,72138,72147,72148,72157,72158,72167,72168,72182,72183,72192,72193,72202,72203,72212,72213,72222,72223,72232,72233,72242,72243,72257,72258,72267,72268,72277,72278,72287,72288,72297,72298,72307,72308,72317,72318,72327,72328,72337,72338,72347,72348,72357,72358,72367,72368,72382,72383,72392,72393,72402,72403,72412,72413,72422,72423,72432,72433,72442,72443,72452,72453,72462,72463,72472,72473,72487,72488,72497,72498,72507,72508,72517,72518,72532,72533,72542,72543,72552,72553,72562,72563,72572,72573,72582,72583,72592,72593,72602,72603,72612,72613,72622,72623,72637,72638,72647,72648,72657,72658,72667,72668,72677,72678,72687,72688,72697,72698,72707,72708,72722,72723,72732,72733,72742,72743,72752,72753,72762,72763,72772,72773,72787,72788,72797,72798,72807,72808,72817,72818,72827,72828,72837,72838,72847,72848,72857,72858,72867,72868,72882,72883,72892,72893,72902,72903,72912,72913,73023,73024,73087,73088,73092,73093,73099,73100,73113,73114,73120,73121,73179,73180,73201,73202,73215,73216,73248,73249,73342,73343,73357,73358,73367,73368,73412,73413,73445,73446,73456,73457,73463,73464,73469,73470,73583,73584,73603,73604,73609,73610,74286,74287,74306,74307,74319,74320,74333,74334,74397,74398,74403,74404,74410,74411,74417,74418,74425,74426,74495,74496,74504,74505,74512,74513,74532,74533,74554,74555,74824,74825,79647,79648,79677,79678,79685,79686,79800,79801,79823,79824,79874,79875,79904,79905,79929,79930,79943,79944,79949,79950,79963,79964,79968,79969,80004,80005,80011,80012,80018,80019,80027,80028,80037,80038,80046,80047,80103,80104,80122,80123,80154,80155,80160,80161,80172,80173,80228,80229,80241,80242,80410,80411,80425,80426,80501,80502,80560,80561,80582,80583,80627,80628,80642,80643,80647,80648,80653,80654,80659,80660,80665,80666,80671,80672,80677,80678,80685,80686,80988,80989,80993,80994,81021,81022,81035,81036,81040,81041,81047,81048,81057,81058,81089,81090,81095,81096,81102,81103,81110,81111,81118,81119,81123,81124,81128,81129,81135,81136,81142,81143,81149,81150,81155,81156,81161,81162,81167,81168,81173,81174,81179,81180,81184,81185,81190,81191,81196,81197,81202,81203,81208,81209,81215,81216,81221,81222,81227,81228,81232,81233,81239,81240,81246,81247,81253,81254,81263,81264,81273,81274,81281,81282,81287,81288,81301,81302,81311,81312,81317,81318,81325,81326,81331,81332,81337,81338,81343,81344,81350,81351,81355,81356,81361,81362,81367,81368,81372,81373,81378,81379,81384,81385,81389,81390,81394,81395,81400,81401,81405,81406,81413,81414,81420,81421,81425,81426,81431,81432,81574,81575,81587,81588,81616,81617,81638,81639,81677,81678,81819,81820,81853,81854,81860,81861,81996,81997,82015,82016,82052,82053,82062,82063,82084,82085,82334,82335,82376,82377,82389,82390,82397,82398,82404,82405,82410,82411,82419,82420,82426,82427,82458,82459,82476,82477,82491,82492,82500,82501,82507,82508,82514,82515,82533,82534,82565,82566,82590,82591,82639,82640,82651,82652,82658,82659,82673,82674,82676,82677,82684,82685,82694,82695,82701,82702,82727,82728,82747,82748,82765,82766,82795,82796,82800,82801,82805,82806,82810,82811,82824,82825,82827,82828,85293,85294,85296,85297,85301,85302,85307,85308,85314,85315,85370,85371,85373,85374,85785,85786,87005,87006,87013,87014,87192,87193,87197,87198,87205,87206,87249,87250,87271,87272,87276,87277,87281,87282,87291,87292,87297,87298,87303,87304,87312,87313,87347,87348,87352,87353,87363,87364,87371,87372,87376,87377,87382,87383,87563,87564,87600,87601,87608,87609,87627,87628,87654,87655,87683,87684,87691,87692,87697,87698,87709,87710,87730,87731,87737,87738,87766,87767,87806,87807,87814,87815,87826,87827,87892,87893,87911,87912,87945,87946,87950,87951,87959,87960,87965,87966,87975,87976,87981,87982,88011,88012,88151,88152,88162,88163,88167,88168,88173,88174,88193,88194,88195,88196,88207,88208,88216,88217,88228,88229,88236,88237,88243,88244,88250,88251,88262,88263,88269,88270,88277,88278,88285,88286,88292,88293,88297,88298,88304,88305,88309,88310,88317,88318,88324,88325,88336,88337,88341,88342,88350,88351,88358,88359,88365,88366,88372,88373,88380,88381,88388,88389,88394,88395,88401,88402,88408,88409,88410,88411,88448,88449,88486,88487,88526,88527,88529,88530,88531,88532,88533,88534,88546,88547,88548,88549,88550,88551,88572,88573,88584,88585,88586,88587,88588,88589,88713,88714,88715,88716,88722,88723,88724,88725,88726,88727,88728,88729,88730,88731,88732,88733,88741,88742,88747,88748,88754,88755,88761,88762,88774,88775,88781,88782,88802,88803,88814,88815,88816,88817,88867,88868,88874,88875,88880,88881,88935,88936,88941,88942,88947,88948,88954,88955,88960,88961,89135,89136,89143,89144,89149,89150,89155,89156,89162,89163,89172,89173,89227,89228,89240,89241,89270,89271,89276,89277,89283,89284,89289,89290,89297,89298,89303,89304,89309,89310,89315,89316,89392,89393,89411,89412,89487,89488,89493,89494,89500,89501,89706,98304,98306,98385,98386,104978,105003,105004,105371,105372,105408,105409,105828,105829,105851,105852,106029,106030,106033,106034,106049,106050,106195,106196,107969,107970,108017,108018,108354,108355,108997,108998,117903,117904,117916,117917,117988,117989,117991,117992,117999,118000,118016,118017,118234,118235,118261,118262,118524,118525,118529,118530,118561,118562,118564,118565,118572,118573,118709,118710,119909,119910,119912,119913,119923,119924,119931,119932,119997,119998,120293,120294,122401,122402,122405,122406,122536,122537,122538,122539,122540,122541,122543,122544,122545,122546,122550,122551,122553,122554,122555,122556,122558,122559,122571,122572,122578,122579,122585,122586,122591,122592,122624,122625,122660,122661,122664,122665,122668,122669,123065,123066,123513,123514,123515,123516,123519,123520,123522,123523,123526,123527,124031,124032,125638,125639,125640,125641,125654,125655,125657,125658,125660,125661,125663,125664,125672,125673,125675,125676,125689,125690,125691,125692,125693,125694,125753,125754,125762,125763,125804,125805,125847,125848,125898,125899,126005,126006,126014,126015,126032,126033,126043,126044,126052,126053,126061,126062,126081,126082,126092,126093,126100,126101,126112,126113,126150,126151,126181,126182,126197,126198,126207,126208,126228,126229,126238,126239,126249,126250,126298,126299,126311,126312,126395,126396,126402,126403,126435,126436,126452,126453,126529,126530,126637,126638,126852,126853,126873,126874,126890,126891,127047,127048,127397,127398,127423,127424,127434,127435,127447,127448,127458,127459,127515,127516,127528,127529,127539,127540,127627,127628,127644,127645,127656,127657,127669,127670,127768,127769,128558,128559,128569,128570,128571,128572,128617,128618,128672,128673,128674,128675,128680,128681,128684,128685,128695,128696,128705,128706,128720,128721,128724,128725,128755,128756,128759,128760,128763,128764,128787,128788,128842,128843,128847,128848,128853,128854,128857,128858,128860,128861,129639,129640,129642,129643,129644,129645,129672,129673,129675,129676,129678,129679,129680,129681,129682,129683,129897,129898,129900,129901,129913,129914,129916,129917,129918,129919,129920,129921,129937,129938,129955,129956,130069,130070,130072,130073,130076,130077,130078,130079,130080,130081,130082,130083,130098,130099,130100,130101,130102,130103,130128,130129,130130,130131,130139,130140,130145,130146,130194,130195,130204,130205,130211,130212,130236,130237,130644,130645,130741,130742,130748,130749,130758,130759,130765,130766,130774,130775,130815,130816,130820,130821,130827,130828,130833,130834,130838,130839,130843,130844,130848,130849,130855,130856,130876,130877,130881,130882,130908,130909,130914,130915,130970,130971,130980,130981,130998,130999,131016,131017,131043,131044,131050,131051,131064,131065,131070,131072,131073,163840,163842,163921,163922,164415,164522,164523,164644,164645,164677,164678,164708,164709,164750,164751,164759,164760,164860,164861,164984,164985,165034,165035,165041,165042,165047,165048,165054,165055,165133,165134,165138,165139,165144,165145,165149,165150,165159,165160,165168,165169,165176,165177,165183,165184,165196,165197,165209,165210,165216,165217,165276,165277,165300,165301,165323,165324,165330,165331,165356,165357,165536,165537,165568,165569,165592,165593,165794,165795,165800,165801,165806,165807,165856,165857,165921,165922,165970,165971,165985,165986,165992,165993,166184,166185,166209,166210,166213,166214,166222,166223,166228,166229,166236,166237,166240,166241,166244,166245,166247,166248,166250,166251,166253,166254,166257,166258,166261,166262,166264,166265,166270,166271,166289,166290,166309,166310,166315,166316,166320,166321,166326,166327,166338,166339,166345,166346,166359,166360,166370,166371,166373,166374,166381,166382,166386,166387,166392,166393,166397,166398,166401,166402,166405,166406,166410,166411,166415,166416,166419,166420,166424,166425,166428,166429,166433,166434,166438,166439,166451,166452,166457,166458,166459,166460,167490,167491,167497,167498,167506,167507,167513,167514,167517,167518,167519,167520,167527,167528,167546,167547,167552,167553,167557,167558,167563,167564,167575,167576,167582,167583,167588,167589,167599,167600,167605,167606,167607,167608,167609,167610,167611,167612,167616,167617,167619,167620,167626,167627,167630,167631,167638,167639,167642,167643,167672,167673,167686,167687,167711,167712,167748,167749,167775,167776,167820,167821,167845,167846,167857,167858,167886,167887,167913,167914,167926,167927,167928,167929,167932,167933,167935,167936,167938,167939,167942,167943,167946,167947,167954,167955,167957,167958,167962,167963,167972,167973,167977,167978,167983,167984,167988,167989,167994,167995,167998,167999,168003,168004,168008,168009,168016,168017,168022,168023,168026,168027,168032,168033,168037,168038,168041,168042,168047,168048,168052,168053,168057,168058,168061,168062,168068,168069,168072,168073,168078,168079,168085,168086,168089,168090,168100,168101,168103,168104,168109,168110,168114,168115,168130,168131,168134,168135,168139,168140,168145,168146,168151,168152,168157,168158,168163,168164,168168,168169,168171,168172,168178,168179,168185,168186,168192,168193,168197,168198,168205,168206,168212,168213,168216,168217,168223,168224,168230,168231,168238,168239,168242,168243,168253,168254,168257,168258,168269,168270,168273,168274,168278,168279,168284,168285,168290,168291,168297,168298,168306,168307,168312,168313,168320,168321,168325,168326,168328,168329,168333,168334,168339,168340,168345,168346,168353,168354,168361,168362,168365,168366,168374,168375,168376,168377,168384,168385,168392,168393,168399,168400,168456,168457,168479,168480,168487,168488,168497,168498,168505,168506,168514,168515,168527,168528,168539,168540,168550,168551,168563,168564,168572,168573,168581,168582,168592,168593,168603,168604,168612,168613,168621,168622,168626,168627,168634,168635,168645,168646,168656,168657,168667,168668,168719,168720,168728,168729,168737,168738,168753,168754,168758,168759,168772,168773,168781,168782,168825,168826,168839,168840,168856,168857,168866,168867,168875,168876,168904,168905,168917,168918,168928,168929,168942,168943,168953,168954,168965,168966,168980,168981,168992,168993,169010,169011,169017,169018,169022,169023,169064,169065,169075,169076,169085,169086,169097,169098,169108,169109,169116,169117,169126,169127,169138,169139,169150,169151,169155,169156,169165,169166,169175,169176,169186,169187,169194,169195,169203,169204,169218,169219,169247,169248,169258,169259,169281,169282,169340,169341,169355,169356,169361,169362,169406,169407,169420,169421,169436,169437,169452,169453,169459,169460,169473,169474,169485,169486,169498,169499,169507,169508,169519,169520,169530,169531,169558,169559,169637,169638,169649,169650,169660,169661,169672,169673,169681,169682,169704,169705,169712,169713,169723,169724,169733,169734,169752,169753,169796,169797,169806,169807,169819,169820,169827,169828,169864,169865,169911,169912,169920,169921,169926,169927,169935,169936,169956,169957,169963,169964,169965,169966,169968,169969,169971,169972,169974,169975,169978,169979,169981,169982,169984,169985,169987,169988,169991,169992,169996,169997,169999,170000,170003,170004,170006,170007,170009,170010,170012,170013,170016,170017,170019,170020,170023,170024,170025,170026,170027,170028,170090,170091,170092,170093,170094,170095,170105,170106,170107,170108,170149,170150,170151,170152,170153,170154,170373,170374,170375,170376,170409,170410,170411,170412,170413,170414,170649,170650,170651,170652,170660,170661,170662,170663,170664,170665,170678,170679,170680,170681,170713,170714,170715,170716,170717,170718,170725,170726,170727,170728,171336,171337,171338,171339,171340,171341,171425,171426,171427,171428,171494,171495,171496,171497,171498,171499,171593,171594,171595,171596,173551,173552,173553,173554,173555,173556,175081,175082,175083,175084,175231,175232,175233,175234,175235,175236,175926,175927,175928,175929,175936,175937,175938,175939,175940,175941,175942,175943,175944,175945,175957,175958,175959,175960,178548,178549,178550,178551,178552,178553,180917,180918,180919,180920,181403,181404,181405,181406,181407,181408,182303,182304,182305,182306,182463,182464,182465,182466,182467,182468,182744,182745,182746,182747,183730,183731,183732,183733,183734,183735,184321,184322,184323,184324,184330,184331,184332,184333,184334,184335,184345,184346,184347,184348,184361,184362,184363,184364,184365,184366,184400,184401,184402,184403,184409,184410,184411,184412,184413,184414,184425,184426,184427,184428,184488,184489,184490,184491,184492,184493,184499,184500,184501,184502,184736,184737,184738,184739,184740,184741,184898,184899,184900,184901,184948,184949,184950,184951,184952,184953,185086,185087,185088,185089,186768,186769,186770,186771,186772,186773,188080,188081,188082,188083,188093,188094,188095,188096,188097,188098,188149,188150,188151,188152,188188,188189,188190,188191,188192,188193,188194,188195,188196,188197,188253,188254,188255,188256,188261,188262,188263,188264,188265,188266,188289,188290,188291,188292,189706,189707,189708,189709,189710,189711,190760,190761,190762,190763,190766,190767,190768,190769,190770,190771,190784,190785,190786,190787,190793,190794,190795,190796,190797,190798,190814,190815,190816,190817,190829,190830,190831,190832,190833,190834,190914,190915,190916,190917,190918,190919,190920,190921,193319,193320,193321,193322,193365,193366,193367,193368,193369,193370,193487,193488,193489,193490,193493,193494,193495,193496,193497,193498,193509,193510,193511,193512,193573,193574,193575,193576,193577,193578,193667,193668,193669,193670,193803,193804,193805,193806,193807,193808,194054,194055,194056,194057,194068,194069,194070,194071,194072,194073,194116,194117,194118,194119,195176,195177,195178,195179,195180,195181,196093,196094,196095,196096,196097,196098,196099,196100,196101,196102,196103,196104,196105,196106,196107,196108,196109,196110,196111,196112,196113,196114,196123,196124,196125,196126,196127,196128,196137,196138,196139,196140,196197,196198,196199,196200,196201,196202,196377,196378,196379,196380,196460,196461,196462,196463,196464,196465,196571,196572,196573,196574,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,247034,247035,248132,248133,248970,248971,249503,249504,249514,249515,249662,249663,249664,249665,250533,250534,250535,250536,250537,250538,250539,250540,250574,250575,250582,250583,250584,250585,250586,250587,250588,250589,250621,250622,250676,250677,250712,250713,250714,250715,250716,250717,250718,250719,250720,250721,250722,250723,250724,250725,250726,250727,250728,250729,250730,250731,250732,250733,250734,250735,250736,250737,250738,250739,250740,250741,250742,250743,250744,250745,250746,250747,250748,250749,250905,250906,251014,251015,251158,251159,251260,251261,251451,251452,251611,251612,251675,251676,251824,251825,252029,252030,252124,252125,252279,252280,252342,252343,252344,252345,252346,252347,252348,252349,252350,252351,252352,252353,252354,252355,252364,252365,252366,252367,252369,252370,252371,252372,252399,252400,252401,252402,252428,252429,252430,252431,252458,252459,252460,252461,252473,252474,252475,252476,252484,252485,252486,252487,252491,252492,252493,252494,252500,252501,252502,252503,252504,252505,252506,252507,252509,252510,252511,252512,252521,252522,252523,252524,252525,252526,252527,252528,252529,252530,252531,252532,252533,252534,252535,252536,252614,252615,252616,252617,252618,252619,252620,252621,252622,252623,252624,252625,252626,252627,252628,252629,252631,252632,252633,252634,252635,252636,252637,252638,252674,252675,252676,252677,252713,252714,252715,252716,252717,252718,252719,252720,252721,252722,252723,252724,252725,252726,252728,252729,252731,252732,252733,252734,252735,252736,252737,252738,252739,252740,252741,252742,252743,252744,252745,252746,252747,252748,252749,252750,252751,252752,258173,258174,258175,258176,258177,258178,258179,258180,258181,258182,258183,258184,258188,258189,258192,258193,258197,258198,258202,258203,258207,258208,258209,258210,258211,258212,258215,258216,258217,258218,258219,258220,258221,258222,258223,258224,258225,258226,258227,258228,258229,258230,258231,258232,258233,258234,258235,258236,258237,258238,258239,258240,258241,258242,258243,258244,258245,258246,258247,258248,258249,258250,258251,258252,258253,258254,258255,258256,258257,258258,258259,258260,258261,258262,258263,258264,258265,258266,258267,258268,258269,258270,258271,258272,258273,258274,258275,258276,258277,258278,258279,258280,258281,258282,258283,258284,258285,258286,258287,258288,258289,258290,258291,258292,258296,258297,258302,258303,258304,258305,258428,258429,258430,258431,258432,258433,258434,258435,258436,258437,258438,258439,258440,258441,258443,258444,258445,258446,258448,258449,258450,258451,258453,258454,258455,258456,258458,258459,258460,258461,258463,258464,258465,258466,258468,258469,258470,258471,258473,258474,258475,258476,258477,258478,258479,258480,258481,258482,258483,258484,258490,258491,258492,258493,258494,258495,258501,258502,258503,258504,258585,258586,258587,258588,258589,258590,258976,258977,258978,258979,258981,258982,258983,258984,258985,258986,258992,258993,258994,258995,259000,259001,259002,259003,259004,259005,259022,259023,259024,259025,259055,259056,259057,259058,259059,259060,259079,259080,259081,259082,259092,259093,259094,259095,259096,259097,259120,259121,259122,259123,259124,259125,259126,259127,259129,259130,259131,259132,259136,259137,259138,259139,259141,259142,259143,259144,259146,259147,259148,259149,259151,259152,259153,259154,259156,259157,259158,259159,259161,259162,259163,259164,259166,259167,259168,259169,259172,259173,259174,259175,259177,259178,259179,259180,259183,259184,259185,259186,259188,259189,259190,259191,259201,259202,259203,259204,259205,259206,259207,259208,259209,259210,259211,259212,259213,259214,259219,259220,259221,259222,259223,259224,259231,259232,259233,259234,259256,259257,259258,259259,259260,259261,259306,259307,259308,259309,259323,259324,259325,259326,259327,259328,259344,259345,259346,259347,259348,259349,259350,259351,259364,259365,259366,259367,259369,259370,259371,259372,259374,259375,259376,259377,259379,259380,259381,259382,259384,259385,259386,259387,259389,259390,259391,259392,259394,259395,259396,259397,259399,259400,259401,259402,259404,259405,259406,259407,259409,259410,259411,259412,259419,259420,259421,259422,259424,259425,259426,259427,259428,259429,259430,259431,259432,259433,259434,259435,259436,259437,259442,259443,259444,259445,259446,259447,259454,259455,259456,259457,259461,259462,259463,259464,259465,259466,259473,259474,259475,259476,259477,259478,259479,259480,259482,259483,259484,259485,259487,259488,259489,259490,259492,259493,259494,259495,259497,259498,259499,259500,259502,259503,259504,259505,259507,259508,259509,259510,259618,259619,259620,259621,259622,259623,259624,259625,259626,259627,259628,259629,259630,259631,259632,259633,259634,259635,259636,259637,259638,259639,259640,259641,259649,259650,259651,259652,259660,259661,259662,259663,259664,259665,259672,259673,259674,259675,259682,259683,259684,259685,259686,259687,259688,259689,259690,259691,259692,259693,259702,259703,259704,259705,259706,259707,259723,259724,259725,259726,259728,259729,259730,259731,259733,259734,259735,259736,259738,259739,259740,259741,259746,259747,259748,259749,259751,259752,259753,259754,259755,259756,259757,259758,259763,259764,259765,259766,259767,259768,259778,259779,259780,259781,259806,259807,259808,259809,259810,259811,259897,259898,259899,259900,259963,259964,259965,259966,259967,259968,260119,260120,260121,260122,260137,260138,260139,260140,260141,260142,260161,260162,260163,260164,260165,260166,260167,260168,260473,260474,260538,260539,260540,260541,260628,260629,261292,261293,261298,261299,261304,261305,261315,261316,261329,261330,261345,261346,261374,261375,261385,261386,261423,261424,261696,261697,261698,261699,261700,261701,261702,261703,261776,261777,261850,261851,261894,261895,261896,261897,261900,261901,261902,261903,261904,261905,261906,261907,261908,261909,261911,261912,261918,261919,261924,261925,262000,262001,262004,262005,262010,262011,262012,262013,262014,262015,262016,262017,262018,262019,262020,262021,262027,262028,262029,262030,262051,262052,262075,262076,262077,262078,262089,262090,262133,262134,262135,262136,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:3c7ce408cae496462f166241c08eeeaf7082db59:16276776:185e9b76816e1c3c0da5931463662168eb34164a",
            "-", 185e9b76816e1c3c0da5931463662168eb34164a, 16276776,
            3c7ce408cae496462f166241c08eeeaf7082db59,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16276776:3c7ce408cae496462f166241c08eeeaf7082db59:16276776:185e9b76816e1c3c0da5931463662168eb34164a");

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

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