From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-sn1nam01on0720.outbound.protection.outlook.com ([2a01:111:f400:fe40::720] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gZFKy-0004e6-Tv for barebox@lists.infradead.org; Tue, 18 Dec 2018 13:23:07 +0000 From: "Baeuerle, Florian" Date: Tue, 18 Dec 2018 13:22:51 +0000 Message-ID: <20181218132233.23669-1-florian.baeuerle@allegion.com> References: <20181217105343.kkfo4ihynrcv7dis@pengutronix.de> In-Reply-To: <20181217105343.kkfo4ihynrcv7dis@pengutronix.de> Content-Language: en-US Content-ID: <9EB6356179AF3E4CA8F4812499AC8B72@prod.exchangelabs.com> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH 1/2] recursive_action: add ACTION_SORT flag To: "barebox@lists.infradead.org" QWRkIGEgZmxhZyB0byBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIGJlZm9yZSByZWN1cnNpbmcgaW50 byB0aGVtLg0KDQpTaW5jZSB0aGlzIHBhcnQgb2YgbGliLyBpcyB1c2VkIGluc2lkZSBiYXJlYm94 IGFzIHdlbGwgYXMgaW4NCnNjcmlwdHMvYmFyZWJveGVudi5jLCB3ZSBjYW5ub3QgZWFzaWx5IHVz ZSBzdHJpbmdsaXN0cyBmcm9tIGxpYi8sIHdoaWNoDQp3b3VsZCBoYXZlIG1hZGUgdGhlIGNvZGUg YSBiaXQgbmljZXIuDQoNCkZ1cnRoZXIsIGFkZCBwb2lzb24uaCBmcm9tIGtlcm5lbCA0LjUtcmMx LCB3aGljaCB3YXMgdGhlIGJhc2UgZm9yDQppbXBvcnRpbmcgbGludXggaGVhZGVycyB1bmRlciBz Y3JpcHRzLyBpbiBhODgzZDlhLiBUaGlzIGlzIHJlcXVpcmVkIGZvcg0KYWN0dWFsbHkgdXNpbmcg a2VybmVsIGxpbmtlZCBsaXN0cyB3aXRoaW4gc2NyaXB0cy8gdG9vbHMuDQoNClNpZ25lZC1vZmYt Ynk6IEZsb3JpYW4gQsOkdWVybGUgPGZsb3JpYW4uYmFldWVybGVAYWxsZWdpb24uY29tPg0KLS0t DQogaW5jbHVkZS9saWJiYi5oICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KIGxpYi9saXN0X3Nv cnQuYyAgICAgICAgICAgICAgICAgICB8ICAzICstDQogbGliL3JlY3Vyc2l2ZV9hY3Rpb24uYyAg ICAgICAgICAgIHwgNjEgKysrKysrKysrKysrKysrKystLS0NCiBzY3JpcHRzL2JhcmVib3hlbnYu YyAgICAgICAgICAgICAgfCAgNiArKw0KIHNjcmlwdHMvaW5jbHVkZS9saW51eC9saXN0X3NvcnQu aCB8ICAxICsNCiBzY3JpcHRzL2luY2x1ZGUvbGludXgvcG9pc29uLmggICAgfCA5MyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKystDQogNiBmaWxlcyBjaGFuZ2VkLCAxNTUgaW5zZXJ0aW9u cygrKSwgMTAgZGVsZXRpb25zKC0pDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNjcmlwdHMvaW5jbHVk ZS9saW51eC9saXN0X3NvcnQuaA0KDQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJiYi5oIGIvaW5j bHVkZS9saWJiYi5oDQppbmRleCBhMzYyYmQzMmQuLjFmNmFmYWEyNyAxMDA2NDQNCi0tLSBhL2lu Y2x1ZGUvbGliYmIuaA0KKysrIGIvaW5jbHVkZS9saWJiYi5oDQpAQCAtMTcsNiArMTcsNyBAQCBl bnVtIHsNCiAJQUNUSU9OX0ZPTExPV0xJTktTICAgID0gKDEgPDwgMSksDQogCUFDVElPTl9ERVBU SEZJUlNUICA9ICgxIDw8IDIpLA0KIAkvKkFDVElPTl9SRVZFUlNFICAgPSAoMSA8PCAzKSwgLSB1 bnVzZWQgKi8NCisJQUNUSU9OX1NPUlQgICAgICAgID0gKDEgPDwgNCksDQogfTsNCiANCiBpbnQg cmVjdXJzaXZlX2FjdGlvbihjb25zdCBjaGFyICpmaWxlTmFtZSwgdW5zaWduZWQgZmxhZ3MsDQpk aWZmIC0tZ2l0IGEvbGliL2xpc3Rfc29ydC5jIGIvbGliL2xpc3Rfc29ydC5jDQppbmRleCBiN2U3 NGYyNjAuLjg0YzZmNjQ2NSAxMDA2NDQNCi0tLSBhL2xpYi9saXN0X3NvcnQuYw0KKysrIGIvbGli L2xpc3Rfc29ydC5jDQpAQCAtMSw3ICsxLDYgQEANCiAjaWZuZGVmIF9fQkFSRUJPWF9fDQogI2lu Y2x1ZGUgPGxpbnV4L2tlcm5lbC5oPg0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCi0jaW5j bHVkZSA8bGludXgvc2xhYi5oPg0KKyNkZWZpbmUgRVhQT1JUX1NZTUJPTCh4KQ0KICNlbHNlDQog I2luY2x1ZGUgPGNvbW1vbi5oPg0KICNpbmNsdWRlIDxtYWxsb2MuaD4NCmRpZmYgLS1naXQgYS9s aWIvcmVjdXJzaXZlX2FjdGlvbi5jIGIvbGliL3JlY3Vyc2l2ZV9hY3Rpb24uYw0KaW5kZXggMzQ1 ZDNkYjBjLi4wZDdkZGJkOGUgMTAwNjQ0DQotLS0gYS9saWIvcmVjdXJzaXZlX2FjdGlvbi5jDQor KysgYi9saWIvcmVjdXJzaXZlX2FjdGlvbi5jDQpAQCAtMTYsNiArMTYsMTQgQEANCiANCiAjZW5k aWYNCiANCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPg0KKyNpbmNsdWRlIDxsaW51eC9saXN0X3Nv cnQuaD4NCisNCitzdHJ1Y3QgZGlybGlzdCB7DQorCWNoYXIgKmRpcm5hbWU7DQorCXN0cnVjdCBs aXN0X2hlYWQgbGlzdDsNCit9Ow0KKw0KIC8qDQogICogV2FsayBkb3duIGFsbCB0aGUgZGlyZWN0 b3JpZXMgdW5kZXIgdGhlIHNwZWNpZmllZA0KICAqIGxvY2F0aW9uLCBhbmQgZG8gc29tZXRoaW5n IChzb21ldGhpbmcgc3BlY2lmaWVkDQpAQCAtMzMsNiArNDEsMTkgQEAgc3RhdGljIGludCB0cnVl X2FjdGlvbihjb25zdCBjaGFyICpmaWxlTmFtZSwgc3RydWN0IHN0YXQgKnN0YXRidWYsDQogCXJl dHVybiAxOw0KIH0NCiANCitzdGF0aWMgaW50IGNtcF9kaXJsaXN0KHZvaWQgKnByaXYsIHN0cnVj dCBsaXN0X2hlYWQgKmEsIHN0cnVjdCBsaXN0X2hlYWQgKmIpDQorew0KKwlzdHJ1Y3QgZGlybGlz dCAqcmEsICpyYjsNCisNCisJaWYgKGEgPT0gYikNCisJCXJldHVybiAwOw0KKw0KKwlyYSA9IGxp c3RfZW50cnkoYSwgc3RydWN0IGRpcmxpc3QsIGxpc3QpOw0KKwlyYiA9IGxpc3RfZW50cnkoYiwg c3RydWN0IGRpcmxpc3QsIGxpc3QpOw0KKw0KKwlyZXR1cm4gc3RyY21wKHJhLT5kaXJuYW1lLCBy Yi0+ZGlybmFtZSk7DQorfQ0KKw0KIC8qIGZpbGVBY3Rpb24gcmV0dXJuIHZhbHVlIG9mIDAgb24g YW55IGZpbGUgaW4gZGlyZWN0b3J5IHdpbGwgbWFrZQ0KICAqIHJlY3Vyc2l2ZV9hY3Rpb24oKSBy ZXR1cm4gMCwgYnV0IGl0IGRvZXNuJ3Qgc3RvcCBkaXJlY3RvcnkgdHJhdmVyc2FsDQogICogKGZp bGVBY3Rpb24vZGlyQWN0aW9uIHdpbGwgYmUgY2FsbGVkIG9uIGVhY2ggZmlsZSkuDQpAQCAtNTUs OSArNzYsMTIgQEAgaW50IHJlY3Vyc2l2ZV9hY3Rpb24oY29uc3QgY2hhciAqZmlsZU5hbWUsDQog ew0KIAlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOw0KIAl1bnNpZ25lZCBmb2xsb3c7DQorCXVuc2lnbmVk IHNvcnQ7DQogCWludCBzdGF0dXM7DQogCURJUiAqZGlyOw0KIAlzdHJ1Y3QgZGlyZW50ICpuZXh0 Ow0KKwlzdHJ1Y3QgZGlybGlzdCAqZW50cnksICplbnRyeV90bXA7DQorCUxJU1RfSEVBRChkaXJz KTsNCiANCiAJaWYgKCFmaWxlQWN0aW9uKSBmaWxlQWN0aW9uID0gdHJ1ZV9hY3Rpb247DQogCWlm ICghZGlyQWN0aW9uKSBkaXJBY3Rpb24gPSB0cnVlX2FjdGlvbjsNCkBAIC0xMDYsMjAgKzEzMCw0 MyBAQCBpbnQgcmVjdXJzaXZlX2FjdGlvbihjb25zdCBjaGFyICpmaWxlTmFtZSwNCiAJCS8qIFRv IHRyaWdnZXI6ICJmaW5kIC1leGVjIHJtIC1yZiB7fSBcOyIgKi8NCiAJCWdvdG8gZG9uZV9uYWtf d2FybjsNCiAJfQ0KKwlzb3J0ID0gZmxhZ3MgJiBBQ1RJT05fU09SVDsNCiAJc3RhdHVzID0gMTsN CiAJd2hpbGUgKChuZXh0ID0gcmVhZGRpcihkaXIpKSAhPSBOVUxMKSB7DQotCQljaGFyICpuZXh0 RmlsZTsNCi0NCi0JCW5leHRGaWxlID0gY29uY2F0X3N1YnBhdGhfZmlsZShmaWxlTmFtZSwgbmV4 dC0+ZF9uYW1lKTsNCisJCWNoYXIgKm5leHRGaWxlID0gY29uY2F0X3N1YnBhdGhfZmlsZShmaWxl TmFtZSwgbmV4dC0+ZF9uYW1lKTsNCiAJCWlmIChuZXh0RmlsZSA9PSBOVUxMKQ0KIAkJCWNvbnRp bnVlOw0KLQkJLyogbm93IGRlc2NlbmQgaW50byBpdCwgZm9yY2luZyByZWN1cnNpb24uICovDQot CQlpZiAoIXJlY3Vyc2l2ZV9hY3Rpb24obmV4dEZpbGUsIGZsYWdzIHwgQUNUSU9OX1JFQ1VSU0Us DQotCQkJCWZpbGVBY3Rpb24sIGRpckFjdGlvbiwgdXNlckRhdGEsIGRlcHRoKzEpKSB7DQotCQkJ c3RhdHVzID0gMDsNCisNCisJCWlmIChzb3J0KSB7DQorCQkJc3RydWN0IGRpcmxpc3QgKmUgPSBt YWxsb2Moc2l6ZW9mKCplKSk7DQorCQkJZS0+ZGlybmFtZSA9IHN0cmR1cChuZXh0LT5kX25hbWUp Ow0KKwkJCWxpc3RfYWRkKCZlLT5saXN0LCAmZGlycyk7DQorCQl9IGVsc2Ugew0KKwkJCS8qIGRl c2NlbmQgaW50byBpdCwgZm9yY2luZyByZWN1cnNpb24uICovDQorCQkJaWYgKCFyZWN1cnNpdmVf YWN0aW9uKG5leHRGaWxlLCBmbGFncyB8IEFDVElPTl9SRUNVUlNFLA0KKwkJCQkJCWZpbGVBY3Rp b24sIGRpckFjdGlvbiwgdXNlckRhdGEsIGRlcHRoKzEpKSB7DQorCQkJCXN0YXR1cyA9IDA7DQor CQkJfQ0KIAkJfQ0KKw0KIAkJZnJlZShuZXh0RmlsZSk7DQogCX0NCisNCisJaWYgKHNvcnQpIHsN CisJCWxpc3Rfc29ydChOVUxMLCAmZGlycywgJmNtcF9kaXJsaXN0KTsNCisNCisJCWxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZShlbnRyeSwgZW50cnlfdG1wLCAmZGlycywgbGlzdCkNCisJCXsNCisJ CQkvKiBkZXNjZW5kIGludG8gaXQsIGZvcmNpbmcgcmVjdXJzaW9uLiAqLw0KKwkJCWlmICghcmVj dXJzaXZlX2FjdGlvbihlbnRyeS0+ZGlybmFtZSwgZmxhZ3MgfCBBQ1RJT05fUkVDVVJTRSwNCisJ CQkJCQlmaWxlQWN0aW9uLCBkaXJBY3Rpb24sIHVzZXJEYXRhLCBkZXB0aCsxKSkgew0KKwkJCQlz dGF0dXMgPSAwOw0KKwkJCX0NCisNCisJCQlsaXN0X2RlbCgmZW50cnktPmxpc3QpOw0KKwkJCWZy ZWUoZW50cnktPmRpcm5hbWUpOw0KKwkJfQ0KKwl9DQogCWNsb3NlZGlyKGRpcik7DQogCWlmICgo ZmxhZ3MgJiBBQ1RJT05fREVQVEhGSVJTVCkgJiYNCiAJCSFkaXJBY3Rpb24oZmlsZU5hbWUsICZz dGF0YnVmLCB1c2VyRGF0YSwgZGVwdGgpKSB7DQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9iYXJlYm94 ZW52LmMgYi9zY3JpcHRzL2JhcmVib3hlbnYuYw0KaW5kZXggMjQ5ZTY1YjI1Li5kZTU3YzJmY2Ug MTAwNjQ0DQotLS0gYS9zY3JpcHRzL2JhcmVib3hlbnYuYw0KKysrIGIvc2NyaXB0cy9iYXJlYm94 ZW52LmMNCkBAIC0zNCw2ICszNCw3IEBADQogI2luY2x1ZGUgImNvbXBpbGVyLmgiDQogDQogI2Rl ZmluZSBkZWJ1ZyguLi4pDQorI2RlZmluZSBwcmludGtfb25jZSguLi4pDQogDQogLyogRmluZCBv dXQgaWYgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgc3RyaW5nIG1hdGNoZXMgdGhlIG9uZSBnaXZl bi4NCiAgKiBEb24ndCB1bmRlcnJ1biB0aGUgYnVmZmVyIGlmIHRoZSBzdHJpbmcgbGVuZ3RoIGlz IDAuDQpAQCAtNTQsNiArNTUsNyBAQCBlbnVtIHsNCiAJQUNUSU9OX0ZPTExPV0xJTktTID0gKDEg PDwgMSksDQogCUFDVElPTl9ERVBUSEZJUlNUICA9ICgxIDw8IDIpLA0KIAkvKkFDVElPTl9SRVZF UlNFICAgPSAoMSA8PCAzKSwgLSB1bnVzZWQgKi8NCisJQUNUSU9OX1NPUlQgICAgICAgID0gKDEg PDwgNCksDQogfTsNCiANCiBpbnQgcmVjdXJzaXZlX2FjdGlvbihjb25zdCBjaGFyICpmaWxlTmFt ZSwgdW5zaWduZWQgZmxhZ3MsDQpAQCAtOTUsNiArOTcsMTAgQEAgc3RhdGljIGNoYXIgKmNvbmNh dF9zdWJwYXRoX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZikNCiAJcmV0dXJu IGNvbmNhdF9wYXRoX2ZpbGUocGF0aCwgZik7DQogfQ0KIA0KKyNpbmNsdWRlIDxsaW51eC9saXN0 Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2xpc3Rfc29ydC5oPg0KKyNpbmNsdWRlIDxsaW51eC9jb21w aWxlci5oPg0KKyNpbmNsdWRlICIuLi9saWIvbGlzdF9zb3J0LmMiDQogI2luY2x1ZGUgIi4uL2xp Yi9yZWN1cnNpdmVfYWN0aW9uLmMiDQogI2luY2x1ZGUgIi4uL2luY2x1ZGUvZW52ZnMuaCINCiAj aW5jbHVkZSAiLi4vY3J5cHRvL2NyYzMyLmMiDQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9pbmNsdWRl L2xpbnV4L2xpc3Rfc29ydC5oIGIvc2NyaXB0cy9pbmNsdWRlL2xpbnV4L2xpc3Rfc29ydC5oDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi5iZTg4OWM5YWUNCi0tLSAvZGV2 L251bGwNCisrKyBiL3NjcmlwdHMvaW5jbHVkZS9saW51eC9saXN0X3NvcnQuaA0KQEAgLTAsMCAr MSBAQA0KKyNpbmNsdWRlIDwuLi8uLi9pbmNsdWRlL2xpbnV4L2xpc3Rfc29ydC5oPg0KZGlmZiAt LWdpdCBhL3NjcmlwdHMvaW5jbHVkZS9saW51eC9wb2lzb24uaCBiL3NjcmlwdHMvaW5jbHVkZS9s aW51eC9wb2lzb24uaA0KaW5kZXggMGMyN2JkZjE0Li4xNTkyN2ViYzIgMTAwNjQ0DQotLS0gYS9z Y3JpcHRzL2luY2x1ZGUvbGludXgvcG9pc29uLmgNCisrKyBiL3NjcmlwdHMvaW5jbHVkZS9saW51 eC9wb2lzb24uaA0KQEAgLTEgKzEsOTIgQEANCi0jaW5jbHVkZSAiLi4vLi4vLi4vaW5jbHVkZS9s aW51eC9wb2lzb24uaCINCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLw0K KyNpZm5kZWYgX0xJTlVYX1BPSVNPTl9IDQorI2RlZmluZSBfTElOVVhfUE9JU09OX0gNCisNCisv KioqKioqKioqKiBpbmNsdWRlL2xpbnV4L2xpc3QuaCAqKioqKioqKioqLw0KKw0KKy8qDQorICog QXJjaGl0ZWN0dXJlcyBtaWdodCB3YW50IHRvIG1vdmUgdGhlIHBvaXNvbiBwb2ludGVyIG9mZnNl dA0KKyAqIGludG8gc29tZSB3ZWxsLXJlY29nbml6ZWQgYXJlYSBzdWNoIGFzIDB4ZGVhZDAwMDAw MDAwMDAwMCwNCisgKiB0aGF0IGlzIGFsc28gbm90IG1hcHBhYmxlIGJ5IHVzZXItc3BhY2UgZXhw bG9pdHM6DQorICovDQorI2lmZGVmIENPTkZJR19JTExFR0FMX1BPSU5URVJfVkFMVUUNCisjIGRl ZmluZSBQT0lTT05fUE9JTlRFUl9ERUxUQSBfQUMoQ09ORklHX0lMTEVHQUxfUE9JTlRFUl9WQUxV RSwgVUwpDQorI2Vsc2UNCisjIGRlZmluZSBQT0lTT05fUE9JTlRFUl9ERUxUQSAwDQorI2VuZGlm DQorDQorLyoNCisgKiBUaGVzZSBhcmUgbm9uLU5VTEwgcG9pbnRlcnMgdGhhdCB3aWxsIHJlc3Vs dCBpbiBwYWdlIGZhdWx0cw0KKyAqIHVuZGVyIG5vcm1hbCBjaXJjdW1zdGFuY2VzLCB1c2VkIHRv IHZlcmlmeSB0aGF0IG5vYm9keSB1c2VzDQorICogbm9uLWluaXRpYWxpemVkIGxpc3QgZW50cmll cy4NCisgKi8NCisjZGVmaW5lIExJU1RfUE9JU09OMSAgKCh2b2lkICopIDB4MTAwICsgUE9JU09O X1BPSU5URVJfREVMVEEpDQorI2RlZmluZSBMSVNUX1BPSVNPTjIgICgodm9pZCAqKSAweDIwMCAr IFBPSVNPTl9QT0lOVEVSX0RFTFRBKQ0KKw0KKy8qKioqKioqKioqIGluY2x1ZGUvbGludXgvdGlt ZXIuaCAqKioqKioqKioqLw0KKy8qDQorICogTWFnaWMgbnVtYmVyICJ0c3RhIiB0byBpbmRpY2F0 ZSBhIHN0YXRpYyB0aW1lciBpbml0aWFsaXplcg0KKyAqIGZvciB0aGUgb2JqZWN0IGRlYnVnZ2lu ZyBjb2RlLg0KKyAqLw0KKyNkZWZpbmUgVElNRVJfRU5UUllfU1RBVElDCSgodm9pZCAqKSAweDMw MCArIFBPSVNPTl9QT0lOVEVSX0RFTFRBKQ0KKw0KKy8qKioqKioqKioqIG1tL2RlYnVnLXBhZ2Vh bGxvYy5jICoqKioqKioqKiovDQorI2lmZGVmIENPTkZJR19QQUdFX1BPSVNPTklOR19aRVJPDQor I2RlZmluZSBQQUdFX1BPSVNPTiAweDAwDQorI2Vsc2UNCisjZGVmaW5lIFBBR0VfUE9JU09OIDB4 YWENCisjZW5kaWYNCisNCisvKioqKioqKioqKiBtbS9wYWdlX2FsbG9jLmMgKioqKioqKioqKioq Lw0KKw0KKyNkZWZpbmUgVEFJTF9NQVBQSU5HCSgodm9pZCAqKSAweDQwMCArIFBPSVNPTl9QT0lO VEVSX0RFTFRBKQ0KKw0KKy8qKioqKioqKioqIG1tL3NsYWIuYyAqKioqKioqKioqLw0KKy8qDQor ICogTWFnaWMgbnVtcyBmb3Igb2JqIHJlZCB6b25pbmcuDQorICogUGxhY2VkIGluIHRoZSBmaXJz dCB3b3JkIGJlZm9yZSBhbmQgdGhlIGZpcnN0IHdvcmQgYWZ0ZXIgYW4gb2JqLg0KKyAqLw0KKyNk ZWZpbmUJUkVEX0lOQUNUSVZFCTB4MDlGOTExMDI5RDc0RTM1QlVMTAkvKiB3aGVuIG9iaiBpcyBp bmFjdGl2ZSAqLw0KKyNkZWZpbmUJUkVEX0FDVElWRQkweEQ4NDE1NkM1NjM1Njg4QzBVTEwJLyog d2hlbiBvYmogaXMgYWN0aXZlICovDQorDQorI2RlZmluZSBTTFVCX1JFRF9JTkFDVElWRQkweGJi DQorI2RlZmluZSBTTFVCX1JFRF9BQ1RJVkUJCTB4Y2MNCisNCisvKiAuLi5hbmQgZm9yIHBvaXNv bmluZyAqLw0KKyNkZWZpbmUJUE9JU09OX0lOVVNFCTB4NWEJLyogZm9yIHVzZS11bmluaXRpYWxp c2VkIHBvaXNvbmluZyAqLw0KKyNkZWZpbmUgUE9JU09OX0ZSRUUJMHg2YgkvKiBmb3IgdXNlLWFm dGVyLWZyZWUgcG9pc29uaW5nICovDQorI2RlZmluZQlQT0lTT05fRU5ECTB4YTUJLyogZW5kLWJ5 dGUgb2YgcG9pc29uaW5nICovDQorDQorLyoqKioqKioqKiogYXJjaC8kQVJDSC9tbS9pbml0LmMg KioqKioqKioqKi8NCisjZGVmaW5lIFBPSVNPTl9GUkVFX0lOSVRNRU0JMHhjYw0KKw0KKy8qKioq KioqKioqIGFyY2gvaWE2NC9ocC9jb21tb24vc2JhX2lvbW11LmMgKioqKioqKioqKi8NCisvKg0K KyAqIGFyY2gvaWE2NC9ocC9jb21tb24vc2JhX2lvbW11LmMgdXNlcyBhIDE2LWJ5dGUgcG9pc29u IHN0cmluZyB3aXRoIGENCisgKiB2YWx1ZSBvZiAiU0JBSU9NTVUgUE9JU09OXDAiIGZvciBzcGls bC1vdmVyIHBvaXNvbmluZy4NCisgKi8NCisNCisvKioqKioqKioqKiBmcy9qYmQvam91cm5hbC5j ICoqKioqKioqKiovDQorI2RlZmluZSBKQkRfUE9JU09OX0ZSRUUJCTB4NWINCisjZGVmaW5lIEpC RDJfUE9JU09OX0ZSRUUJMHg1Yw0KKw0KKy8qKioqKioqKioqIGRyaXZlcnMvYmFzZS9kbWFwb29s LmMgKioqKioqKioqKi8NCisjZGVmaW5lCVBPT0xfUE9JU09OX0ZSRUVECTB4YTcJLyogIWludXNl ICovDQorI2RlZmluZQlQT09MX1BPSVNPTl9BTExPQ0FURUQJMHhhOQkvKiAhaW5pdHRlZCAqLw0K Kw0KKy8qKioqKioqKioqIGRyaXZlcnMvYXRtLyAqKioqKioqKioqLw0KKyNkZWZpbmUgQVRNX1BP SVNPTl9GUkVFCQkweDEyDQorI2RlZmluZSBBVE1fUE9JU09OCQkweGRlYWRiZWVmDQorDQorLyoq KioqKioqKioga2VybmVsL211dGV4ZXMgKioqKioqKioqKi8NCisjZGVmaW5lIE1VVEVYX0RFQlVH X0lOSVQJMHgxMQ0KKyNkZWZpbmUgTVVURVhfREVCVUdfRlJFRQkweDIyDQorI2RlZmluZSBNVVRF WF9QT0lTT05fV1dfQ1RYCSgodm9pZCAqKSAweDUwMCArIFBPSVNPTl9QT0lOVEVSX0RFTFRBKQ0K Kw0KKy8qKioqKioqKioqIGxpYi9mbGV4X2FycmF5LmMgKioqKioqKioqKi8NCisjZGVmaW5lIEZM RVhfQVJSQVlfRlJFRQkweDZjCS8qIGZvciB1c2UtYWZ0ZXItZnJlZSBwb2lzb25pbmcgKi8NCisN CisvKioqKioqKioqKiBzZWN1cml0eS8gKioqKioqKioqKi8NCisjZGVmaW5lIEtFWV9ERVNUUk9Z CQkweGJkDQorDQorI2VuZGlmDQotLSANCjIuMTkuMg0KDQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlzdApiYXJlYm94QGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9iYXJlYm94Cg==