From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v1 8/9] livepatch: Move test-cases to common Date: Sun, 14 Aug 2016 19:07:53 -0400 Message-ID: <1471216074-3007-9-git-send-email-konrad.wilk@oracle.com> References: <1471216074-3007-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZ4WG-0001Ag-98 for xen-devel@lists.xenproject.org; Sun, 14 Aug 2016 23:08:40 +0000 In-Reply-To: <1471216074-3007-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, konrad@kernel.org, ross.lagerwall@citrix.com Cc: Andrew Cooper , julien.grall@arm.com, sstabellini@kernel.org, Jan Beulich , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org U28gdGhleSBjYW4gYmUgc2hhcmVkIHdpdGggQVJNNjQgKGJ1dCBub3QgeWV0LCBzbyB0aGV5CmFy ZSBvbmx5IGJ1aWx0IG9uIHg4NikuCgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KCldlIGFsc28gbmVl ZCB0byB0d2VhayB0aGUgTUFJTlRBSU5FUlMgYW5kIC5naXRpZ25vcmUgZmlsZQoKU2lnbmVkLW9m Zi1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgoKLS0t CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBKdWxp ZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K CnYxOiBGaXJzdCBzdWJtaXNzaW9uCi0tLQogLmdpdGlnbm9yZSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDggKy0tCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMSArCiB4ZW4vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogeGVuL2FyY2gvYXJtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgIHwg IDMgLS0KIHhlbi9hcmNoL3g4Ni9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICB8ICA0IC0t CiB4ZW4vYXJjaC94ODYvdGVzdC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCA4NSAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGQu YyAgICAgICAgICB8IDM0IC0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93 b3JsZF9mdW5jLmMgICAgIHwgMjIgLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxs b193b3JsZC5jICAgICAgICB8IDY4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gv eDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYyAgIHwgMzkgLS0tLS0tLS0tLS0tLS0KIHhl bi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkLmMgICAgICB8IDMzIC0tLS0tLS0tLS0t LQogeGVuL2FyY2gveDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGRfZnVuYy5jIHwgMjIgLS0tLS0t LS0KIHhlbi9jb21tb24vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKwog eGVuL2NvbW1vbi90ZXN0L01ha2VmaWxlICAgICAgICAgICAgICAgICAgIHwgODUgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL3Rlc3QveGVuX2J5ZV93b3JsZC5jICAg ICAgICAgICAgfCAzNCArKysrKysrKysrKysKIHhlbi9jb21tb24vdGVzdC94ZW5fYnllX3dvcmxk X2Z1bmMuYyAgICAgICB8IDIyICsrKysrKysrCiB4ZW4vY29tbW9uL3Rlc3QveGVuX2hlbGxvX3dv cmxkLmMgICAgICAgICAgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9jb21tb24v dGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jICAgICB8IDM5ICsrKysrKysrKysrKysrCiB4ZW4v Y29tbW9uL3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYyAgICAgICAgfCAzMyArKysrKysrKysrKysK IHhlbi9jb21tb24vdGVzdC94ZW5fcmVwbGFjZV93b3JsZF9mdW5jLmMgICB8IDIyICsrKysrKysr CiAyMCBmaWxlcyBjaGFuZ2VkLCAzMTUgaW5zZXJ0aW9ucygrKSwgMzE1IGRlbGV0aW9ucygtKQog ZGVsZXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL3g4Ni90ZXN0L01ha2VmaWxlCiBkZWxldGUgbW9k ZSAxMDA2NDQgeGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZC5jCiBkZWxldGUgbW9kZSAx MDA2NDQgeGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZF9mdW5jLmMKIGRlbGV0ZSBtb2Rl IDEwMDY0NCB4ZW4vYXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGQuYwogZGVsZXRlIG1vZGUg MTAwNjQ0IHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZF9mdW5jLmMKIGRlbGV0ZSBt b2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvdGVzdC94ZW5fcmVwbGFjZV93b3JsZC5jCiBkZWxldGUg bW9kZSAxMDA2NDQgeGVuL2FyY2gveDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGRfZnVuYy5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgeGVuL2NvbW1vbi90ZXN0L01ha2VmaWxlCiBjcmVhdGUgbW9kZSAx MDA2NDQgeGVuL2NvbW1vbi90ZXN0L3hlbl9ieWVfd29ybGQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IHhlbi9jb21tb24vdGVzdC94ZW5fYnllX3dvcmxkX2Z1bmMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IHhlbi9jb21tb24vdGVzdC94ZW5faGVsbG9fd29ybGQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhl bi9jb21tb24vdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg eGVuL2NvbW1vbi90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4 ZW4vY29tbW9uL3Rlc3QveGVuX3JlcGxhY2Vfd29ybGRfZnVuYy5jCgpkaWZmIC0tZ2l0IGEvLmdp dGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggNDRjYzdiZi4uYmVmMWRlZSAxMDA2NDQKLS0tIGEv LmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yNTUsMTQgKzI1NSwxNCBAQCB4ZW4vYXJj aC94ODYvZWZpLmxkcwogeGVuL2FyY2gveDg2L2VmaS9jaGVjay5lZmkKIHhlbi9hcmNoL3g4Ni9l ZmkvZGlzYWJsZWQKIHhlbi9hcmNoL3g4Ni9lZmkvbWtyZWxvYwoteGVuL2FyY2gveDg2L3Rlc3Qv Y29uZmlnLmgKLXhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZC5saXZlcGF0Y2gKLXhl bi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGQubGl2ZXBhdGNoCi14ZW4vYXJjaC94ODYvdGVz dC94ZW5fcmVwbGFjZV93b3JsZC5saXZlcGF0Y2gKIHhlbi9hcmNoLyovZWZpL2Jvb3QuYwogeGVu L2FyY2gvKi9lZmkvY29tcGF0LmMKIHhlbi9hcmNoLyovZWZpL2VmaS5oCiB4ZW4vYXJjaC8qL2Vm aS9ydW50aW1lLmMKK3hlbi9jb21tb24vdGVzdC9jb25maWcuaAoreGVuL2NvbW1vbi90ZXN0L3hl bl9ieWVfd29ybGQubGl2ZXBhdGNoCit4ZW4vY29tbW9uL3Rlc3QveGVuX2hlbGxvX3dvcmxkLmxp dmVwYXRjaAoreGVuL2NvbW1vbi90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkLmxpdmVwYXRjaAogeGVu L2luY2x1ZGUvaGVhZGVycy5jaGsKIHhlbi9pbmNsdWRlL2hlYWRlcnMrKy5jaGsKIHhlbi9pbmNs dWRlL2FzbQpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCBhZTBi NmJjLi5lNTc2M2Y2IDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpA QCAtMjcxLDYgKzI3MSw3IEBAIEY6ICB0b29scy9taXNjL3hlbi1saXZlcGF0Y2guYwogRjogIHhl bi9hcmNoLyovbGl2ZXBhdGNoKgogRjogIHhlbi9hcmNoLyovKi9saXZlcGF0Y2gqCiBGOiAgeGVu L2NvbW1vbi9saXZlcGF0Y2gqCitGOiAgeGVuL2NvbW1vbi90ZXN0LyoKIEY6ICB4ZW4vaW5jbHVk ZS94ZW4vbGl2ZXBhdGNoKgogCiBNQUNISU5FIENIRUNLIChNQ0EpICYgUkFTCmRpZmYgLS1naXQg YS94ZW4vTWFrZWZpbGUgYi94ZW4vTWFrZWZpbGUKaW5kZXggYTRjNzJiZS4uZGM4OTgwZSAxMDA2 NDQKLS0tIGEveGVuL01ha2VmaWxlCisrKyBiL3hlbi9NYWtlZmlsZQpAQCAtNzksNyArNzksNyBA QCBfaW5zdGFsbDogJChUQVJHRVQpJChDT05GSUdfWEVOX0lOU1RBTExfU1VGRklYKQogCiAuUEhP Tlk6IF90ZXN0cwogX3Rlc3RzOgotCSQoTUFLRSkgLWYgJChCQVNFRElSKS9SdWxlcy5tayAtQyBh cmNoLyQoVEFSR0VUX0FSQ0gpIHRlc3RzCisJJChNQUtFKSAtZiAkKEJBU0VESVIpL1J1bGVzLm1r IC1DIGNvbW1vbiB0ZXN0cwogCiAuUEhPTlk6IF91bmluc3RhbGwKIF91bmluc3RhbGw6IEQ9JChE RVNURElSKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL01ha2VmaWxlIGIveGVuL2FyY2gvYXJt L01ha2VmaWxlCmluZGV4IDlmNzVjNWMuLjlkYzA3OTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy bS9NYWtlZmlsZQorKysgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKQEAgLTczLDkgKzczLDYgQEAg aWZlcSAoJChDT05GSUdfQVJNXzY0KSx5KQogCWxuIC1zZiAkKG5vdGRpciAkQCkgIC4uLy4uLyQo bm90ZGlyICRAKS5lZmkKIGVuZGlmCiAKLS5QSE9OWTogdGVzdHMKLXRlc3RzOgotCiAkKFRBUkdF VCkuYXhmOiAkKFRBUkdFVCktc3ltcwogCSMgWFhYOiBWRSBtb2RlbCBsb2FkcyBieSBWTUEgc28g aW5zdGVhZCBvZgogCSMgbWFraW5nIGEgcHJvcGVyIEVMRiB3ZSBsaW5rIHdpdGggTE1BID09IFZN QSBhbmQgYWRqdXN0IGNydWRlbHkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZSBi L3hlbi9hcmNoL3g4Ni9NYWtlZmlsZQppbmRleCBkODdlY2Q4Li42Zjc0MzQ2IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvTWFrZWZpbGUKKysrIGIveGVuL2FyY2gveDg2L01ha2VmaWxlCkBAIC05 MiwxMCArOTIsNiBAQCAkKFRBUkdFVCk6ICQoVEFSR0VUKS1zeW1zICQoZWZpLXkpIGJvb3QvbWtl bGYzMgogCS4vYm9vdC9ta2VsZjMyICQobm90ZXNfcGhkcnMpICQoVEFSR0VUKS1zeW1zICQoVEFS R0VUKSAweDEwMDAwMCBcCiAJYCQoTk0pIC1uciAkKFRBUkdFVCktc3ltcyB8IGhlYWQgLW4gMSB8 IHNlZCAtZSAncy9eXChbXiBdKlwpLiovMHhcMS8nYAogCi0uUEhPTlk6IHRlc3RzCi10ZXN0czoK LQkkKE1BS0UpIC1mICQoQkFTRURJUikvUnVsZXMubWsgLUMgdGVzdCBsaXZlcGF0Y2gKLQogQUxM X09CSlMgOj0gJChCQVNFRElSKS9hcmNoL3g4Ni9ib290L2J1aWx0X2luLm8gJChCQVNFRElSKS9h cmNoL3g4Ni9lZmkvYnVpbHRfaW4ubyAkKEFMTF9PQkpTKQogCiBpZmVxICgkKGx0bykseSkKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90ZXN0L01ha2VmaWxlIGIveGVuL2FyY2gveDg2L3Rlc3Qv TWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzZGZmMWQuLjAwMDAwMDAK LS0tIGEveGVuL2FyY2gveDg2L3Rlc3QvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw4NSAr MCwwIEBACi1pbmNsdWRlICQoWEVOX1JPT1QpL0NvbmZpZy5tawotCi1DT0RFX0FERFI9JChzaGVs bCBubSAtLWRlZmluZWQgJCgxKSB8IGdyZXAgJCgyKSB8IGF3ayAne3ByaW50ICIweCIkJDF9JykK LUNPREVfU1o9JChzaGVsbCBubSAtLWRlZmluZWQgLVMgJCgxKSB8IGdyZXAgJCgyKSB8IGF3ayAn eyBwcmludCAiMHgiJCQyfScpCi0KLS5QSE9OWTogZGVmYXVsdAotCi1MSVZFUEFUQ0ggOj0geGVu X2hlbGxvX3dvcmxkLmxpdmVwYXRjaAotTElWRVBBVENIX0JZRSA6PSB4ZW5fYnllX3dvcmxkLmxp dmVwYXRjaAotTElWRVBBVENIX1JFUExBQ0UgOj0geGVuX3JlcGxhY2Vfd29ybGQubGl2ZXBhdGNo Ci0KLWRlZmF1bHQ6IGxpdmVwYXRjaAotCi1pbnN0YWxsOiBsaXZlcGF0Y2gKLQkkKElOU1RBTExf REFUQSkgJChMSVZFUEFUQ0gpICQoREVTVERJUikkKERFQlVHX0RJUikvJChMSVZFUEFUQ0gpCi0J JChJTlNUQUxMX0RBVEEpICQoTElWRVBBVENIX0JZRSkgJChERVNURElSKSQoREVCVUdfRElSKS8k KExJVkVQQVRDSF9CWUUpCi0JJChJTlNUQUxMX0RBVEEpICQoTElWRVBBVENIX1JFUExBQ0UpICQo REVTVERJUikkKERFQlVHX0RJUikvJChMSVZFUEFUQ0hfUkVQTEFDRSkKLXVuaW5zdGFsbDoKLQly bSAtZiAkKERFU1RESVIpJChERUJVR19ESVIpLyQoTElWRVBBVENIKQotCXJtIC1mICQoREVTVERJ UikkKERFQlVHX0RJUikvJChMSVZFUEFUQ0hfQllFKQotCXJtIC1mICQoREVTVERJUikkKERFQlVH X0RJUikvJChMSVZFUEFUQ0hfUkVQTEFDRSkKLQotLlBIT05ZOiBjbGVhbgotY2xlYW46OgotCXJt IC1mICoubyAuKi5vLmQgKi5saXZlcGF0Y2ggY29uZmlnLmgKLQotIwotIyBUbyBjb21wdXRlIHRo ZXNlIHZhbHVlcyB3ZSBuZWVkIHRoZSBiaW5hcnkgZmlsZXM6IHhlbi1zeW1zCi0jIGFuZCB4ZW5f aGVsbG9fd29ybGRfZnVuYy5vIHRvIGJlIGFscmVhZHkgY29tcGlsZWQuCi0jCi0uUEhPTlk6IGNv bmZpZy5oCi1jb25maWcuaDogT0xEX0NPREVfU1o9JChjYWxsIENPREVfU1osJChCQVNFRElSKS94 ZW4tc3ltcyx4ZW5fZXh0cmFfdmVyc2lvbikKLWNvbmZpZy5oOiBORVdfQ09ERV9TWj0kKGNhbGwg Q09ERV9TWiwkPCx4ZW5faGVsbG9fd29ybGQpCi1jb25maWcuaDogeGVuX2hlbGxvX3dvcmxkX2Z1 bmMubwotCShzZXQgLWU7IFwKLQkgZWNobyAiI2RlZmluZSBORVdfQ09ERV9TWiAkKE5FV19DT0RF X1NaKSI7IFwKLQkgZWNobyAiI2RlZmluZSBPTERfQ09ERV9TWiAkKE9MRF9DT0RFX1NaKSIpID4g JEAKLQoteGVuX2hlbGxvX3dvcmxkLm86IGNvbmZpZy5oCi0KLS5QSE9OWTogJChMSVZFUEFUQ0gp Ci0kKExJVkVQQVRDSCk6IHhlbl9oZWxsb193b3JsZF9mdW5jLm8geGVuX2hlbGxvX3dvcmxkLm8g bm90ZS5vCi0JJChMRCkgJChMREZMQUdTKSAkKGJ1aWxkX2lkX2xpbmtlcikgLXIgLW8gJChMSVZF UEFUQ0gpICReCi0KLSMKLSMgVGhpcyB0YXJnZXQgaXMgb25seSBhY2Nlc3NpYmxlIGlmIENPTkZJ R19MSVZFUEFUQ0ggaXMgZGVmaW5lZCwgd2hpY2gKLSMgZGVwZW5kcyBvbiAkKGJ1aWxkX2lkX2xp bmtlcikgYmVpbmcgYXZhaWxhYmxlLiBIZW5jZSB3ZSBkbyBub3QKLSMgbmVlZCBhbnkgY2hlY2tz LgotIwotIyBOLkIuIFRoZSByZWFzb24gd2UgZG9uJ3QgdXNlIGFyY2gveDg2L25vdGUubyBpcyB0 aGF0IGl0IG1heQotIyBub3QgYmUgYnVpbHQgKGl0IGlzIGZvciBFRkkgYnVpbGRzKSwgYW5kIHRo YXQgd2UgZG8gbm90IGhhdmUKLSMgdGhlIG5vdGUuby5iaW4gdG8gbXVjayB3aXRoIChhcyBpdCBn ZXRzIGRlbGV0ZWQpCi0jCi0uUEhPTlk6IG5vdGUubwotbm90ZS5vOgotCSQoT0JKQ09QWSkgLU8g YmluYXJ5IC0tb25seS1zZWN0aW9uPS5ub3RlLmdudS5idWlsZC1pZCAkKEJBU0VESVIpL3hlbi1z eW1zICRALmJpbgotCSQoT0JKQ09QWSkgLUkgYmluYXJ5IC1PIGVsZjY0LXg4Ni02NCAtQiBpMzg2 Ong4Ni02NCBcCi0JCSAgIC0tcmVuYW1lLXNlY3Rpb249LmRhdGE9LmxpdmVwYXRjaC5kZXBlbmRz IC1TICRALmJpbiAkQAotCXJtIC1mICRALmJpbgotCi0jCi0jIEV4dHJhY3QgdGhlIGJ1aWxkLWlk IG9mIHRoZSB4ZW5faGVsbG9fd29ybGQubGl2ZXBhdGNoCi0jICh3aGljaCB4ZW5fYnllX3dvcmxk IHdpbGwgZGVwZW5kIG9uKS4KLSMKLS5QSE9OWTogaGVsbG9fd29ybGRfbm90ZS5vCi1oZWxsb193 b3JsZF9ub3RlLm86ICQoTElWRVBBVENIKQotCSQoT0JKQ09QWSkgLU8gYmluYXJ5IC0tb25seS1z ZWN0aW9uPS5ub3RlLmdudS5idWlsZC1pZCAkKExJVkVQQVRDSCkgJEAuYmluCi0JJChPQkpDT1BZ KSAgLUkgYmluYXJ5IC1PIGVsZjY0LXg4Ni02NCAtQiBpMzg2Ong4Ni02NCBcCi0JCSAgIC0tcmVu YW1lLXNlY3Rpb249LmRhdGE9LmxpdmVwYXRjaC5kZXBlbmRzIC1TICRALmJpbiAkQAotCXJtIC1m ICRALmJpbgotCi14ZW5fYnllX3dvcmxkLm86IGNvbmZpZy5oCi0KLS5QSE9OWTogJChMSVZFUEFU Q0hfQllFKQotJChMSVZFUEFUQ0hfQllFKTogeGVuX2J5ZV93b3JsZF9mdW5jLm8geGVuX2J5ZV93 b3JsZC5vIGhlbGxvX3dvcmxkX25vdGUubwotCSQoTEQpICQoTERGTEFHUykgJChidWlsZF9pZF9s aW5rZXIpIC1yIC1vICQoTElWRVBBVENIX0JZRSkgJF4KLQoteGVuX3JlcGxhY2Vfd29ybGQubzog Y29uZmlnLmgKLQotLlBIT05ZOiAkKExJVkVQQVRDSF9SRVBMQUNFKQotJChMSVZFUEFUQ0hfUkVQ TEFDRSk6IHhlbl9yZXBsYWNlX3dvcmxkX2Z1bmMubyB4ZW5fcmVwbGFjZV93b3JsZC5vIG5vdGUu bwotCSQoTEQpICQoTERGTEFHUykgJChidWlsZF9pZF9saW5rZXIpIC1yIC1vICQoTElWRVBBVENI X1JFUExBQ0UpICReCi0KLS5QSE9OWTogbGl2ZXBhdGNoCi1saXZlcGF0Y2g6ICQoTElWRVBBVENI KSAkKExJVkVQQVRDSF9CWUUpICQoTElWRVBBVENIX1JFUExBQ0UpCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvdGVzdC94ZW5fYnllX3dvcmxkLmMgYi94ZW4vYXJjaC94ODYvdGVzdC94ZW5fYnll X3dvcmxkLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3NWUwYjEuLjAwMDAwMDAK LS0tIGEveGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZC5jCisrKyAvZGV2L251bGwKQEAg LTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxNiBPcmFjbGUgYW5kL29yIGl0 cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqLwotCi0jaW5jbHVkZSAi Y29uZmlnLmgiCi0jaW5jbHVkZSA8eGVuL2xpYi5oPgotI2luY2x1ZGUgPHhlbi90eXBlcy5oPgot I2luY2x1ZGUgPHhlbi92ZXJzaW9uLmg+Ci0jaW5jbHVkZSA8eGVuL2xpdmVwYXRjaC5oPgotCi0j aW5jbHVkZSA8cHVibGljL3N5c2N0bC5oPgotCi1zdGF0aWMgY2hhciBieWVfd29ybGRfcGF0Y2hf dGhpc19mbmNbXSA9ICJ4ZW5fZXh0cmFfdmVyc2lvbiI7Ci1leHRlcm4gY29uc3QgY2hhciAqeGVu X2J5ZV93b3JsZCh2b2lkKTsKLQotc3RydWN0IGxpdmVwYXRjaF9mdW5jIF9fc2VjdGlvbigiLmxp dmVwYXRjaC5mdW5jcyIpIGxpdmVwYXRjaF94ZW5fYnllX3dvcmxkID0gewotICAgIC52ZXJzaW9u ID0gTElWRVBBVENIX1BBWUxPQURfVkVSU0lPTiwKLSAgICAubmFtZSA9IGJ5ZV93b3JsZF9wYXRj aF90aGlzX2ZuYywKLSAgICAubmV3X2FkZHIgPSB4ZW5fYnllX3dvcmxkLAotICAgIC5vbGRfYWRk ciA9IHhlbl9leHRyYV92ZXJzaW9uLAotICAgIC5uZXdfc2l6ZSA9IE5FV19DT0RFX1NaLAotICAg IC5vbGRfc2l6ZSA9IE9MRF9DT0RFX1NaLAotfTsKLQotLyoKLSAqIExvY2FsIHZhcmlhYmxlczoK LSAqIG1vZGU6IEMKLSAqIGMtZmlsZS1zdHlsZTogIkJTRCIKLSAqIGMtYmFzaWMtb2Zmc2V0OiA0 Ci0gKiB0YWItd2lkdGg6IDQKLSAqIGluZGVudC10YWJzLW1vZGU6IG5pbAotICogRW5kOgotICov CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdGVzdC94ZW5fYnllX3dvcmxkX2Z1bmMuYyBiL3hl bi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGRfZnVuYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAzMmVmMzQxLi4wMDAwMDAwCi0tLSBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9i eWVfd29ybGRfZnVuYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLyoKLSAqIENv cHlyaWdodCAoYykgMjAxNiBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRz IHJlc2VydmVkLgotICoKLSAqLwotCi0jaW5jbHVkZSA8eGVuL3R5cGVzLmg+Ci0KLS8qIE91ciBy ZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IgeGVuX2hlbGxvX3dvcmxkLiAqLwotY29uc3QgY2hhciAq eGVuX2J5ZV93b3JsZCh2b2lkKQotewotICAgIHJldHVybiAiQnllIFdvcmxkISI7Ci19Ci0KLS8q Ci0gKiBMb2NhbCB2YXJpYWJsZXM6Ci0gKiBtb2RlOiBDCi0gKiBjLWZpbGUtc3R5bGU6ICJCU0Qi Ci0gKiBjLWJhc2ljLW9mZnNldDogNAotICogdGFiLXdpZHRoOiA0Ci0gKiBpbmRlbnQtdGFicy1t b2RlOiBuaWwKLSAqIEVuZDoKLSAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Rlc3QveGVu X2hlbGxvX3dvcmxkLmMgYi94ZW4vYXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGQuYwpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjZjNWI4ZS4uMDAwMDAwMAotLS0gYS94ZW4vYXJj aC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGQuYworKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAg QEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTYgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRl cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot I2luY2x1ZGUgPHhlbi9saWIuaD4KLSNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KLSNpbmNsdWRlIDx4 ZW4vdmVyc2lvbi5oPgotI2luY2x1ZGUgPHhlbi9saXZlcGF0Y2guaD4KLSNpbmNsdWRlIDx4ZW4v bGl2ZXBhdGNoX3BheWxvYWQuaD4KLQotI2luY2x1ZGUgPHB1YmxpYy9zeXNjdGwuaD4KLQotc3Rh dGljIGNoYXIgaGVsbG9fd29ybGRfcGF0Y2hfdGhpc19mbmNbXSA9ICJ4ZW5fZXh0cmFfdmVyc2lv biI7Ci1leHRlcm4gY29uc3QgY2hhciAqeGVuX2hlbGxvX3dvcmxkKHZvaWQpOwotc3RhdGljIHVu c2lnbmVkIGludCBjbnQ7Ci0KLXN0YXRpYyB2b2lkIGFwcGx5X2hvb2sodm9pZCkKLXsKLSAgICBw cmludGsoS0VSTl9ERUJVRyAiSG9vayBleGVjdXRpbmcuXG4iKTsKLX0KLQotc3RhdGljIHZvaWQg cmV2ZXJ0X2hvb2sodm9pZCkKLXsKLSAgICBwcmludGsoS0VSTl9ERUJVRyAiSG9vayB1bmxvYWRl ZC5cbiIpOwotfQotCi1zdGF0aWMgdm9pZCAgaGlfZnVuYyh2b2lkKQotewotICAgIHByaW50ayhL RVJOX0RFQlVHICIlczogSGkhIChjYWxsZWQgJXUgdGltZXMpXG4iLCBfX2Z1bmNfXywgKytjbnQp OwotfTsKLQotLyogSWYgd2UgYXJlIHNvcnRlZCB3ZSBfTVVTVF8gYmUgdGhlIGxhc3QgLmxpdmVw YXRjaC5ob29rIHNlY3Rpb24uICovCi1zdGF0aWMgdm9pZCB6X2NoZWNrX2ZuYyh2b2lkKQotewot ICAgIHByaW50ayhLRVJOX0RFQlVHICIlczogSGkgZnVuYyBjYWxsZWQgJXUgdGltZXNcbiIsIF9f ZnVuY19fLCBjbnQpOwotICAgIEJVR19PTihjbnQgPT0gMCB8fCBjbnQgPiAyKTsKLX0KLQotTElW RVBBVENIX0xPQURfSE9PSyhhcHBseV9ob29rKTsKLUxJVkVQQVRDSF9VTkxPQURfSE9PSyhyZXZl cnRfaG9vayk7Ci0KLS8qIEltYmFsYW5jZSBoZXJlLiBUd28gbG9hZCBhbmQgdGhyZWUgdW5sb2Fk LiAqLwotCi1MSVZFUEFUQ0hfTE9BRF9IT09LKGhpX2Z1bmMpOwotTElWRVBBVENIX1VOTE9BRF9I T09LKGhpX2Z1bmMpOwotCi1MSVZFUEFUQ0hfVU5MT0FEX0hPT0soel9jaGVja19mbmMpOwotCi1z dHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgX19zZWN0aW9uKCIubGl2ZXBhdGNoLmZ1bmNzIikgbGl2ZXBh dGNoX3hlbl9oZWxsb193b3JsZCA9IHsKLSAgICAudmVyc2lvbiA9IExJVkVQQVRDSF9QQVlMT0FE X1ZFUlNJT04sCi0gICAgLm5hbWUgPSBoZWxsb193b3JsZF9wYXRjaF90aGlzX2ZuYywKLSAgICAu bmV3X2FkZHIgPSB4ZW5faGVsbG9fd29ybGQsCi0gICAgLm9sZF9hZGRyID0geGVuX2V4dHJhX3Zl cnNpb24sCi0gICAgLm5ld19zaXplID0gTkVXX0NPREVfU1osCi0gICAgLm9sZF9zaXplID0gT0xE X0NPREVfU1osCi19OwotCi0vKgotICogTG9jYWwgdmFyaWFibGVzOgotICogbW9kZTogQwotICog Yy1maWxlLXN0eWxlOiAiQlNEIgotICogYy1iYXNpYy1vZmZzZXQ6IDQKLSAqIHRhYi13aWR0aDog NAotICogaW5kZW50LXRhYnMtbW9kZTogbmlsCi0gKiBFbmQ6Ci0gKi8KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZF9mdW5jLmMgYi94ZW4vYXJjaC94ODYvdGVz dC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw M2Q2Yjg0Li4wMDAwMDAwCi0tLSBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZF9m dW5jLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChj KSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu Ci0gKgotICovCi0KLSNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KLQotI2luY2x1ZGUgPGFzbS9hbHRl cm5hdGl2ZS5oPgotI2luY2x1ZGUgPGFzbS9ub3BzLmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3Mu aD4KLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgKm5vbl9jYW5vbmljYWxfYWRkciA9ICh1bnNpZ25l ZCBsb25nICopMHhkZWFkMDAwMDAwMDAwMDAwVUxMOwotCi0vKiBPdXIgcmVwbGFjZW1lbnQgZnVu Y3Rpb24gZm9yIHhlbl9leHRyYV92ZXJzaW9uLiAqLwotY29uc3QgY2hhciAqeGVuX2hlbGxvX3dv cmxkKHZvaWQpCi17Ci0gICAgdW5zaWduZWQgbG9uZyB0bXA7Ci0gICAgaW50IHJjOwotCi0gICAg YWx0ZXJuYXRpdmUoQVNNX05PUDgsIEFTTV9OT1AxLCBYODZfRkVBVFVSRV9MTSk7Ci0gICAgLyoK LSAgICAgKiBBbnkgQlVHLCBvciBXQVJOX09OIHdpbGwgY29udGFpbiBzeW1ib2wgYW5kIHBheWxv YWQgbmFtZS4gRnVydGhlcm1vcmUKLSAgICAgKiBleGNlcHRpb25zIHdpbGwgYmUgY2F1Z2h0IGFu ZCBwcm9jZXNzZWQgcHJvcGVybHkuCi0gICAgICovCi0gICAgcmMgPSBfX2dldF91c2VyKHRtcCwg bm9uX2Nhbm9uaWNhbF9hZGRyKTsKLSAgICBCVUdfT04ocmMgIT0gLUVGQVVMVCk7Ci0KLSAgICBy ZXR1cm4gIkhlbGxvIFdvcmxkIjsKLX0KLQotLyoKLSAqIExvY2FsIHZhcmlhYmxlczoKLSAqIG1v ZGU6IEMKLSAqIGMtZmlsZS1zdHlsZTogIkJTRCIKLSAqIGMtYmFzaWMtb2Zmc2V0OiA0Ci0gKiB0 YWItd2lkdGg6IDQKLSAqIGluZGVudC10YWJzLW1vZGU6IG5pbAotICogRW5kOgotICovCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvdGVzdC94ZW5fcmVwbGFjZV93b3JsZC5jIGIveGVuL2FyY2gv eDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggYTJhMjIxYS4uMDAwMDAwMAotLS0gYS94ZW4vYXJjaC94ODYvdGVzdC94ZW5fcmVwbGFjZV93 b3JsZC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo YykgMjAxNiBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVk LgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8eGVuL2xpYi5oPgot I2luY2x1ZGUgPHhlbi90eXBlcy5oPgotI2luY2x1ZGUgPHhlbi9saXZlcGF0Y2guaD4KLQotI2lu Y2x1ZGUgPHB1YmxpYy9zeXNjdGwuaD4KLQotc3RhdGljIGNoYXIgeGVuX3JlcGxhY2Vfd29ybGRf bmFtZVtdID0gInhlbl9leHRyYV92ZXJzaW9uIjsKLWV4dGVybiBjb25zdCBjaGFyICp4ZW5fcmVw bGFjZV93b3JsZCh2b2lkKTsKLQotc3RydWN0IGxpdmVwYXRjaF9mdW5jIF9fc2VjdGlvbigiLmxp dmVwYXRjaC5mdW5jcyIpIGxpdmVwYXRjaF94ZW5fcmVwbGFjZV93b3JsZCA9IHsKLSAgICAudmVy c2lvbiA9IExJVkVQQVRDSF9QQVlMT0FEX1ZFUlNJT04sCi0gICAgLm5hbWUgPSB4ZW5fcmVwbGFj ZV93b3JsZF9uYW1lLAotICAgIC5vbGRfYWRkciA9IDAsIC8qIEZvcmNlcyB0aGUgaHlwZXJ2aXNv ciB0byBsb29rdXAgLm5hbWUgKi8KLSAgICAubmV3X2FkZHIgPSB4ZW5fcmVwbGFjZV93b3JsZCwK LSAgICAubmV3X3NpemUgPSBORVdfQ09ERV9TWiwKLSAgICAub2xkX3NpemUgPSBPTERfQ09ERV9T WiwKLX07Ci0KLS8qCi0gKiBMb2NhbCB2YXJpYWJsZXM6Ci0gKiBtb2RlOiBDCi0gKiBjLWZpbGUt c3R5bGU6ICJCU0QiCi0gKiBjLWJhc2ljLW9mZnNldDogNAotICogdGFiLXdpZHRoOiA0Ci0gKiBp bmRlbnQtdGFicy1tb2RlOiBuaWwKLSAqIEVuZDoKLSAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGRfZnVuYy5jIGIveGVuL2FyY2gveDg2L3Rlc3QveGVu X3JlcGxhY2Vfd29ybGRfZnVuYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZmI1 Y2RhLi4wMDAwMDAwCi0tLSBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkX2Z1 bmMuYworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMp IDIwMTYgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K LSAqCi0gKi8KLQotI2luY2x1ZGUgPHhlbi90eXBlcy5oPgotCi0vKiBPdXIgcmVwbGFjZW1lbnQg ZnVuY3Rpb24gZm9yIHhlbl9oZWxsb193b3JsZC4gKi8KLWNvbnN0IGNoYXIgKnhlbl9yZXBsYWNl X3dvcmxkKHZvaWQpCi17Ci0gICAgcmV0dXJuICJIZWxsbyBBZ2FpbiBXb3JsZCEiOwotfQotCi0v KgotICogTG9jYWwgdmFyaWFibGVzOgotICogbW9kZTogQwotICogYy1maWxlLXN0eWxlOiAiQlNE IgotICogYy1iYXNpYy1vZmZzZXQ6IDQKLSAqIHRhYi13aWR0aDogNAotICogaW5kZW50LXRhYnMt bW9kZTogbmlsCi0gKiBFbmQ6Ci0gKi8KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vTWFrZWZpbGUg Yi94ZW4vY29tbW9uL01ha2VmaWxlCmluZGV4IGMyZTY4NDYuLjIyODA2YjYgMTAwNjQ0Ci0tLSBh L3hlbi9jb21tb24vTWFrZWZpbGUKKysrIGIveGVuL2NvbW1vbi9NYWtlZmlsZQpAQCAtNzksMyAr NzksOSBAQCBzdWJkaXItJChjb3ZlcmFnZSkgKz0gZ2NvdgogCiBzdWJkaXIteSArPSBsaWJlbGYK IHN1YmRpci0kKENPTkZJR19IQVNfREVWSUNFX1RSRUUpICs9IGxpYmZkdAorCisuUEhPTlk6IHRl c3RzCit0ZXN0czoKK2lmZXEgKCQoWEVOX1RBUkdFVF9BUkNIKSx4ODZfNjQpCisJJChNQUtFKSAt ZiAkKEJBU0VESVIpL1J1bGVzLm1rIC1DIHRlc3QgbGl2ZXBhdGNoCitlbmRpZgpkaWZmIC0tZ2l0 IGEveGVuL2NvbW1vbi90ZXN0L01ha2VmaWxlIGIveGVuL2NvbW1vbi90ZXN0L01ha2VmaWxlCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZGZmMWQKLS0tIC9kZXYvbnVsbAor KysgYi94ZW4vY29tbW9uL3Rlc3QvTWFrZWZpbGUKQEAgLTAsMCArMSw4NSBAQAoraW5jbHVkZSAk KFhFTl9ST09UKS9Db25maWcubWsKKworQ09ERV9BRERSPSQoc2hlbGwgbm0gLS1kZWZpbmVkICQo MSkgfCBncmVwICQoMikgfCBhd2sgJ3twcmludCAiMHgiJCQxfScpCitDT0RFX1NaPSQoc2hlbGwg bm0gLS1kZWZpbmVkIC1TICQoMSkgfCBncmVwICQoMikgfCBhd2sgJ3sgcHJpbnQgIjB4IiQkMn0n KQorCisuUEhPTlk6IGRlZmF1bHQKKworTElWRVBBVENIIDo9IHhlbl9oZWxsb193b3JsZC5saXZl cGF0Y2gKK0xJVkVQQVRDSF9CWUUgOj0geGVuX2J5ZV93b3JsZC5saXZlcGF0Y2gKK0xJVkVQQVRD SF9SRVBMQUNFIDo9IHhlbl9yZXBsYWNlX3dvcmxkLmxpdmVwYXRjaAorCitkZWZhdWx0OiBsaXZl cGF0Y2gKKworaW5zdGFsbDogbGl2ZXBhdGNoCisJJChJTlNUQUxMX0RBVEEpICQoTElWRVBBVENI KSAkKERFU1RESVIpJChERUJVR19ESVIpLyQoTElWRVBBVENIKQorCSQoSU5TVEFMTF9EQVRBKSAk KExJVkVQQVRDSF9CWUUpICQoREVTVERJUikkKERFQlVHX0RJUikvJChMSVZFUEFUQ0hfQllFKQor CSQoSU5TVEFMTF9EQVRBKSAkKExJVkVQQVRDSF9SRVBMQUNFKSAkKERFU1RESVIpJChERUJVR19E SVIpLyQoTElWRVBBVENIX1JFUExBQ0UpCit1bmluc3RhbGw6CisJcm0gLWYgJChERVNURElSKSQo REVCVUdfRElSKS8kKExJVkVQQVRDSCkKKwlybSAtZiAkKERFU1RESVIpJChERUJVR19ESVIpLyQo TElWRVBBVENIX0JZRSkKKwlybSAtZiAkKERFU1RESVIpJChERUJVR19ESVIpLyQoTElWRVBBVENI X1JFUExBQ0UpCisKKy5QSE9OWTogY2xlYW4KK2NsZWFuOjoKKwlybSAtZiAqLm8gLiouby5kICou bGl2ZXBhdGNoIGNvbmZpZy5oCisKKyMKKyMgVG8gY29tcHV0ZSB0aGVzZSB2YWx1ZXMgd2UgbmVl ZCB0aGUgYmluYXJ5IGZpbGVzOiB4ZW4tc3ltcworIyBhbmQgeGVuX2hlbGxvX3dvcmxkX2Z1bmMu byB0byBiZSBhbHJlYWR5IGNvbXBpbGVkLgorIworLlBIT05ZOiBjb25maWcuaAorY29uZmlnLmg6 IE9MRF9DT0RFX1NaPSQoY2FsbCBDT0RFX1NaLCQoQkFTRURJUikveGVuLXN5bXMseGVuX2V4dHJh X3ZlcnNpb24pCitjb25maWcuaDogTkVXX0NPREVfU1o9JChjYWxsIENPREVfU1osJDwseGVuX2hl bGxvX3dvcmxkKQorY29uZmlnLmg6IHhlbl9oZWxsb193b3JsZF9mdW5jLm8KKwkoc2V0IC1lOyBc CisJIGVjaG8gIiNkZWZpbmUgTkVXX0NPREVfU1ogJChORVdfQ09ERV9TWikiOyBcCisJIGVjaG8g IiNkZWZpbmUgT0xEX0NPREVfU1ogJChPTERfQ09ERV9TWikiKSA+ICRACisKK3hlbl9oZWxsb193 b3JsZC5vOiBjb25maWcuaAorCisuUEhPTlk6ICQoTElWRVBBVENIKQorJChMSVZFUEFUQ0gpOiB4 ZW5faGVsbG9fd29ybGRfZnVuYy5vIHhlbl9oZWxsb193b3JsZC5vIG5vdGUubworCSQoTEQpICQo TERGTEFHUykgJChidWlsZF9pZF9saW5rZXIpIC1yIC1vICQoTElWRVBBVENIKSAkXgorCisjCisj IFRoaXMgdGFyZ2V0IGlzIG9ubHkgYWNjZXNzaWJsZSBpZiBDT05GSUdfTElWRVBBVENIIGlzIGRl ZmluZWQsIHdoaWNoCisjIGRlcGVuZHMgb24gJChidWlsZF9pZF9saW5rZXIpIGJlaW5nIGF2YWls YWJsZS4gSGVuY2Ugd2UgZG8gbm90CisjIG5lZWQgYW55IGNoZWNrcy4KKyMKKyMgTi5CLiBUaGUg cmVhc29uIHdlIGRvbid0IHVzZSBhcmNoL3g4Ni9ub3RlLm8gaXMgdGhhdCBpdCBtYXkKKyMgbm90 IGJlIGJ1aWx0IChpdCBpcyBmb3IgRUZJIGJ1aWxkcyksIGFuZCB0aGF0IHdlIGRvIG5vdCBoYXZl CisjIHRoZSBub3RlLm8uYmluIHRvIG11Y2sgd2l0aCAoYXMgaXQgZ2V0cyBkZWxldGVkKQorIwor LlBIT05ZOiBub3RlLm8KK25vdGUubzoKKwkkKE9CSkNPUFkpIC1PIGJpbmFyeSAtLW9ubHktc2Vj dGlvbj0ubm90ZS5nbnUuYnVpbGQtaWQgJChCQVNFRElSKS94ZW4tc3ltcyAkQC5iaW4KKwkkKE9C SkNPUFkpIC1JIGJpbmFyeSAtTyBlbGY2NC14ODYtNjQgLUIgaTM4Njp4ODYtNjQgXAorCQkgICAt LXJlbmFtZS1zZWN0aW9uPS5kYXRhPS5saXZlcGF0Y2guZGVwZW5kcyAtUyAkQC5iaW4gJEAKKwly bSAtZiAkQC5iaW4KKworIworIyBFeHRyYWN0IHRoZSBidWlsZC1pZCBvZiB0aGUgeGVuX2hlbGxv X3dvcmxkLmxpdmVwYXRjaAorIyAod2hpY2ggeGVuX2J5ZV93b3JsZCB3aWxsIGRlcGVuZCBvbiku CisjCisuUEhPTlk6IGhlbGxvX3dvcmxkX25vdGUubworaGVsbG9fd29ybGRfbm90ZS5vOiAkKExJ VkVQQVRDSCkKKwkkKE9CSkNPUFkpIC1PIGJpbmFyeSAtLW9ubHktc2VjdGlvbj0ubm90ZS5nbnUu YnVpbGQtaWQgJChMSVZFUEFUQ0gpICRALmJpbgorCSQoT0JKQ09QWSkgIC1JIGJpbmFyeSAtTyBl bGY2NC14ODYtNjQgLUIgaTM4Njp4ODYtNjQgXAorCQkgICAtLXJlbmFtZS1zZWN0aW9uPS5kYXRh PS5saXZlcGF0Y2guZGVwZW5kcyAtUyAkQC5iaW4gJEAKKwlybSAtZiAkQC5iaW4KKworeGVuX2J5 ZV93b3JsZC5vOiBjb25maWcuaAorCisuUEhPTlk6ICQoTElWRVBBVENIX0JZRSkKKyQoTElWRVBB VENIX0JZRSk6IHhlbl9ieWVfd29ybGRfZnVuYy5vIHhlbl9ieWVfd29ybGQubyBoZWxsb193b3Js ZF9ub3RlLm8KKwkkKExEKSAkKExERkxBR1MpICQoYnVpbGRfaWRfbGlua2VyKSAtciAtbyAkKExJ VkVQQVRDSF9CWUUpICReCisKK3hlbl9yZXBsYWNlX3dvcmxkLm86IGNvbmZpZy5oCisKKy5QSE9O WTogJChMSVZFUEFUQ0hfUkVQTEFDRSkKKyQoTElWRVBBVENIX1JFUExBQ0UpOiB4ZW5fcmVwbGFj ZV93b3JsZF9mdW5jLm8geGVuX3JlcGxhY2Vfd29ybGQubyBub3RlLm8KKwkkKExEKSAkKExERkxB R1MpICQoYnVpbGRfaWRfbGlua2VyKSAtciAtbyAkKExJVkVQQVRDSF9SRVBMQUNFKSAkXgorCisu UEhPTlk6IGxpdmVwYXRjaAorbGl2ZXBhdGNoOiAkKExJVkVQQVRDSCkgJChMSVZFUEFUQ0hfQllF KSAkKExJVkVQQVRDSF9SRVBMQUNFKQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi90ZXN0L3hlbl9i eWVfd29ybGQuYyBiL3hlbi9jb21tb24vdGVzdC94ZW5fYnllX3dvcmxkLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc1ZTBiMQotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9j b21tb24vdGVzdC94ZW5fYnllX3dvcmxkLmMKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHly aWdodCAoYykgMjAxNiBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJl c2VydmVkLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSA8eGVuL2xp Yi5oPgorI2luY2x1ZGUgPHhlbi90eXBlcy5oPgorI2luY2x1ZGUgPHhlbi92ZXJzaW9uLmg+Cisj aW5jbHVkZSA8eGVuL2xpdmVwYXRjaC5oPgorCisjaW5jbHVkZSA8cHVibGljL3N5c2N0bC5oPgor CitzdGF0aWMgY2hhciBieWVfd29ybGRfcGF0Y2hfdGhpc19mbmNbXSA9ICJ4ZW5fZXh0cmFfdmVy c2lvbiI7CitleHRlcm4gY29uc3QgY2hhciAqeGVuX2J5ZV93b3JsZCh2b2lkKTsKKworc3RydWN0 IGxpdmVwYXRjaF9mdW5jIF9fc2VjdGlvbigiLmxpdmVwYXRjaC5mdW5jcyIpIGxpdmVwYXRjaF94 ZW5fYnllX3dvcmxkID0geworICAgIC52ZXJzaW9uID0gTElWRVBBVENIX1BBWUxPQURfVkVSU0lP TiwKKyAgICAubmFtZSA9IGJ5ZV93b3JsZF9wYXRjaF90aGlzX2ZuYywKKyAgICAubmV3X2FkZHIg PSB4ZW5fYnllX3dvcmxkLAorICAgIC5vbGRfYWRkciA9IHhlbl9leHRyYV92ZXJzaW9uLAorICAg IC5uZXdfc2l6ZSA9IE5FV19DT0RFX1NaLAorICAgIC5vbGRfc2l6ZSA9IE9MRF9DT0RFX1NaLAor fTsKKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHls ZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVu dC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Rl c3QveGVuX2J5ZV93b3JsZF9mdW5jLmMgYi94ZW4vY29tbW9uL3Rlc3QveGVuX2J5ZV93b3JsZF9m dW5jLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJlZjM0MQotLS0gL2Rl di9udWxsCisrKyBiL3hlbi9jb21tb24vdGVzdC94ZW5fYnllX3dvcmxkX2Z1bmMuYwpAQCAtMCww ICsxLDIyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFm ZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRlIDx4ZW4v dHlwZXMuaD4KKworLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5faGVsbG9fd29y bGQuICovCitjb25zdCBjaGFyICp4ZW5fYnllX3dvcmxkKHZvaWQpCit7CisgICAgcmV0dXJuICJC eWUgV29ybGQhIjsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAq IGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6 IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94 ZW4vY29tbW9uL3Rlc3QveGVuX2hlbGxvX3dvcmxkLmMgYi94ZW4vY29tbW9uL3Rlc3QveGVuX2hl bGxvX3dvcmxkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZjNWI4ZQot LS0gL2Rldi9udWxsCisrKyBiL3hlbi9jb21tb24vdGVzdC94ZW5faGVsbG9fd29ybGQuYwpAQCAt MCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRz IGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRlICJj b25maWcuaCIKKyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVuL3R5cGVzLmg+Cisj aW5jbHVkZSA8eGVuL3ZlcnNpb24uaD4KKyNpbmNsdWRlIDx4ZW4vbGl2ZXBhdGNoLmg+CisjaW5j bHVkZSA8eGVuL2xpdmVwYXRjaF9wYXlsb2FkLmg+CisKKyNpbmNsdWRlIDxwdWJsaWMvc3lzY3Rs Lmg+CisKK3N0YXRpYyBjaGFyIGhlbGxvX3dvcmxkX3BhdGNoX3RoaXNfZm5jW10gPSAieGVuX2V4 dHJhX3ZlcnNpb24iOworZXh0ZXJuIGNvbnN0IGNoYXIgKnhlbl9oZWxsb193b3JsZCh2b2lkKTsK K3N0YXRpYyB1bnNpZ25lZCBpbnQgY250OworCitzdGF0aWMgdm9pZCBhcHBseV9ob29rKHZvaWQp Cit7CisgICAgcHJpbnRrKEtFUk5fREVCVUcgIkhvb2sgZXhlY3V0aW5nLlxuIik7Cit9CisKK3N0 YXRpYyB2b2lkIHJldmVydF9ob29rKHZvaWQpCit7CisgICAgcHJpbnRrKEtFUk5fREVCVUcgIkhv b2sgdW5sb2FkZWQuXG4iKTsKK30KKworc3RhdGljIHZvaWQgIGhpX2Z1bmModm9pZCkKK3sKKyAg ICBwcmludGsoS0VSTl9ERUJVRyAiJXM6IEhpISAoY2FsbGVkICV1IHRpbWVzKVxuIiwgX19mdW5j X18sICsrY250KTsKK307CisKKy8qIElmIHdlIGFyZSBzb3J0ZWQgd2UgX01VU1RfIGJlIHRoZSBs YXN0IC5saXZlcGF0Y2guaG9vayBzZWN0aW9uLiAqLworc3RhdGljIHZvaWQgel9jaGVja19mbmMo dm9pZCkKK3sKKyAgICBwcmludGsoS0VSTl9ERUJVRyAiJXM6IEhpIGZ1bmMgY2FsbGVkICV1IHRp bWVzXG4iLCBfX2Z1bmNfXywgY250KTsKKyAgICBCVUdfT04oY250ID09IDAgfHwgY250ID4gMik7 Cit9CisKK0xJVkVQQVRDSF9MT0FEX0hPT0soYXBwbHlfaG9vayk7CitMSVZFUEFUQ0hfVU5MT0FE X0hPT0socmV2ZXJ0X2hvb2spOworCisvKiBJbWJhbGFuY2UgaGVyZS4gVHdvIGxvYWQgYW5kIHRo cmVlIHVubG9hZC4gKi8KKworTElWRVBBVENIX0xPQURfSE9PSyhoaV9mdW5jKTsKK0xJVkVQQVRD SF9VTkxPQURfSE9PSyhoaV9mdW5jKTsKKworTElWRVBBVENIX1VOTE9BRF9IT09LKHpfY2hlY2tf Zm5jKTsKKworc3RydWN0IGxpdmVwYXRjaF9mdW5jIF9fc2VjdGlvbigiLmxpdmVwYXRjaC5mdW5j cyIpIGxpdmVwYXRjaF94ZW5faGVsbG9fd29ybGQgPSB7CisgICAgLnZlcnNpb24gPSBMSVZFUEFU Q0hfUEFZTE9BRF9WRVJTSU9OLAorICAgIC5uYW1lID0gaGVsbG9fd29ybGRfcGF0Y2hfdGhpc19m bmMsCisgICAgLm5ld19hZGRyID0geGVuX2hlbGxvX3dvcmxkLAorICAgIC5vbGRfYWRkciA9IHhl bl9leHRyYV92ZXJzaW9uLAorICAgIC5uZXdfc2l6ZSA9IE5FV19DT0RFX1NaLAorICAgIC5vbGRf c2l6ZSA9IE9MRF9DT0RFX1NaLAorfTsKKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1v ZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0 YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYg LS1naXQgYS94ZW4vY29tbW9uL3Rlc3QveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYyBiL3hlbi9jb21t b24vdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjAzZDZiODQKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vY29tbW9uL3Rlc3QveGVu X2hlbGxvX3dvcmxkX2Z1bmMuYwpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChj KSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu CisgKgorICovCisKKyNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KKworI2luY2x1ZGUgPGFzbS9hbHRl cm5hdGl2ZS5oPgorI2luY2x1ZGUgPGFzbS9ub3BzLmg+CisjaW5jbHVkZSA8YXNtL3VhY2Nlc3Mu aD4KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgKm5vbl9jYW5vbmljYWxfYWRkciA9ICh1bnNpZ25l ZCBsb25nICopMHhkZWFkMDAwMDAwMDAwMDAwVUxMOworCisvKiBPdXIgcmVwbGFjZW1lbnQgZnVu Y3Rpb24gZm9yIHhlbl9leHRyYV92ZXJzaW9uLiAqLworY29uc3QgY2hhciAqeGVuX2hlbGxvX3dv cmxkKHZvaWQpCit7CisgICAgdW5zaWduZWQgbG9uZyB0bXA7CisgICAgaW50IHJjOworCisgICAg YWx0ZXJuYXRpdmUoQVNNX05PUDgsIEFTTV9OT1AxLCBYODZfRkVBVFVSRV9MTSk7CisgICAgLyoK KyAgICAgKiBBbnkgQlVHLCBvciBXQVJOX09OIHdpbGwgY29udGFpbiBzeW1ib2wgYW5kIHBheWxv YWQgbmFtZS4gRnVydGhlcm1vcmUKKyAgICAgKiBleGNlcHRpb25zIHdpbGwgYmUgY2F1Z2h0IGFu ZCBwcm9jZXNzZWQgcHJvcGVybHkuCisgICAgICovCisgICAgcmMgPSBfX2dldF91c2VyKHRtcCwg bm9uX2Nhbm9uaWNhbF9hZGRyKTsKKyAgICBCVUdfT04ocmMgIT0gLUVGQVVMVCk7CisKKyAgICBy ZXR1cm4gIkhlbGxvIFdvcmxkIjsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1v ZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0 YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYg LS1naXQgYS94ZW4vY29tbW9uL3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYyBiL3hlbi9jb21tb24v dGVzdC94ZW5fcmVwbGFjZV93b3JsZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmEyYTIyMWEKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vY29tbW9uL3Rlc3QveGVuX3JlcGxh Y2Vfd29ybGQuYwpAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICov CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8 eGVuL3R5cGVzLmg+CisjaW5jbHVkZSA8eGVuL2xpdmVwYXRjaC5oPgorCisjaW5jbHVkZSA8cHVi bGljL3N5c2N0bC5oPgorCitzdGF0aWMgY2hhciB4ZW5fcmVwbGFjZV93b3JsZF9uYW1lW10gPSAi eGVuX2V4dHJhX3ZlcnNpb24iOworZXh0ZXJuIGNvbnN0IGNoYXIgKnhlbl9yZXBsYWNlX3dvcmxk KHZvaWQpOworCitzdHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgX19zZWN0aW9uKCIubGl2ZXBhdGNoLmZ1 bmNzIikgbGl2ZXBhdGNoX3hlbl9yZXBsYWNlX3dvcmxkID0geworICAgIC52ZXJzaW9uID0gTElW RVBBVENIX1BBWUxPQURfVkVSU0lPTiwKKyAgICAubmFtZSA9IHhlbl9yZXBsYWNlX3dvcmxkX25h bWUsCisgICAgLm9sZF9hZGRyID0gMCwgLyogRm9yY2VzIHRoZSBoeXBlcnZpc29yIHRvIGxvb2t1 cCAubmFtZSAqLworICAgIC5uZXdfYWRkciA9IHhlbl9yZXBsYWNlX3dvcmxkLAorICAgIC5uZXdf c2l6ZSA9IE5FV19DT0RFX1NaLAorICAgIC5vbGRfc2l6ZSA9IE9MRF9DT0RFX1NaLAorfTsKKwor LyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJT RCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJz LW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Rlc3QveGVu X3JlcGxhY2Vfd29ybGRfZnVuYy5jIGIveGVuL2NvbW1vbi90ZXN0L3hlbl9yZXBsYWNlX3dvcmxk X2Z1bmMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmI1Y2RhCi0tLSAv ZGV2L251bGwKKysrIGIveGVuL2NvbW1vbi90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkX2Z1bmMuYwpA QCAtMCwwICsxLDIyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3Ig aXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRl IDx4ZW4vdHlwZXMuaD4KKworLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5faGVs bG9fd29ybGQuICovCitjb25zdCBjaGFyICp4ZW5fcmVwbGFjZV93b3JsZCh2b2lkKQoreworICAg IHJldHVybiAiSGVsbG8gQWdhaW4gV29ybGQhIjsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxl czoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0 OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgor ICovCi0tIAoyLjQuMTEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK