From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 32A5189AFF for ; Mon, 9 Sep 2019 11:38:23 +0000 (UTC) From: Petri Latvala Date: Mon, 9 Sep 2019 14:38:07 +0300 Message-Id: <20190909113809.1229-2-petri.latvala@intel.com> In-Reply-To: <20190909113809.1229-1-petri.latvala@intel.com> References: <20190909113809.1229-1-petri.latvala@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/4] runner: Add support for aborting on network failure List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Tomi Sarvela , Petri Latvala , Daniel Vetter List-ID: SWYgdGhlIG5ldHdvcmsgZ29lcyBkb3duIHdoaWxlIHRlc3RpbmcsIENJIHRlbmRzIHRvIGludGVy cHJldCB0aGF0IGFzCnRoZSBkZXZpY2UgYmVpbmcgZG93biwgY3V0dGluZyBpdHMgcG93ZXIgYWZ0 ZXIgYSB3aGlsZS4gVGhpcyBjYXVzZXMgYW4KaW5jb21wbGV0ZSB0byBhbiBpbm5vY2VudCB0ZXN0 LCBpbmNyZWFzaW5nIG5vaXNlIGluIHRoZSByZXN1bHRzLgoKQSBuZXcgZmxhZyB0byAtLWFib3J0 LW9uLW1vbml0b3JlZC1lcnJvciwgInBpbmciLCB1c2VzIGxpYm9waW5nIHRvCnBpbmcgYSBob3N0 IGNvbmZpZ3VyZWQgaW4gLmlndHJjIHdpdGggb25lIHBpbmcgYWZ0ZXIgZWFjaCB0ZXN0CmV4ZWN1 dGlvbiBhbmQgYWJvcnRzIHRoZSBydW4gaWYgdGhlcmUgaXMgbm8gcmVwbHkgaW4gYSBoYXJkY29k ZWQKYW1vdW50IG9mIHRpbWUuCgp2MjoKIC0gVXNlIGEgaGlnaGVyIHRpbWVvdXQKIC0gQWxsb3cg aG9zdG5hbWUgY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50CnYzOgogLSBVc2UgcnVubmVy X2NfYXJncyBmb3IgaG9sZGluZyBjIGFyZ3MgZm9yIHJ1bm5lcgogLSBIYW5kbGUgcnVubmVyJ3Mg bWVzb24gb3B0aW9ucyBpbiBydW5uZXIvbWVzb24uYnVpbGQKIC0gSW5zdGVhZCBvZiBvbmUgcGlu ZyB3aXRoIDIwIHNlY29uZCB0aW1lb3V0LCBwaW5nIHdpdGggMSBzZWNvbmQgdGltZW91dAogICBm b3IgYSBkdXJhdGlvbiBvZiAyMCBzZWNvbmRzCnY0OgogLSBSZWJhc2UKIC0gVXNlIG5vdy1leHBv cnRlZCBpZ3RfbG9hZF9pZ3RyYyBpbnN0ZWFkIG9mIGNvcHlwYXN0ZSBjb2RlCiAtIFVzZSBkZWZp bmUgZm9yIHRpbWVvdXQsIGNsZWFyZXIgdmFyIG5hbWUgZm9yIHNpbmdsZSBhdHRlbXB0IHRpbWVv dXQKClNpZ25lZC1vZmYtYnk6IFBldHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29t PgpDYzogQXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50ZWwuY29tPgpDYzogTWFy dGluIFBlcmVzIDxtYXJ0aW4ucGVyZXNAbGludXguaW50ZWwuY29tPgpDYzogVG9taSBTYXJ2ZWxh IDx0b21pLnAuc2FydmVsYUBpbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3 bGwuY2g+Ci0tLQogbWVzb25fb3B0aW9ucy50eHQgIHwgICA0ICsrCiBydW5uZXIvZXhlY3V0b3Iu YyAgfCAxMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBy dW5uZXIvbWVzb24uYnVpbGQgfCAgMTQgKysrKy0KIHJ1bm5lci9zZXR0aW5ncy5jICB8ICAgNCAr KwogcnVubmVyL3NldHRpbmdzLmggIHwgICA1ICstCiA1IGZpbGVzIGNoYW5nZWQsIDE1MyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0 IGIvbWVzb25fb3B0aW9ucy50eHQKaW5kZXggOGUyZTFjZjAuLmZmM2FiZjA4IDEwMDY0NAotLS0g YS9tZXNvbl9vcHRpb25zLnR4dAorKysgYi9tZXNvbl9vcHRpb25zLnR4dApAQCAtNDIsNiArNDIs MTAgQEAgb3B0aW9uKCdydW5uZXInLAogICAgICAgIHR5cGUgOiAnZmVhdHVyZScsCiAgICAgICAg ZGVzY3JpcHRpb24gOiAnQnVpbGQgdGVzdCBydW5uZXInKQogCitvcHRpb24oJ29waW5nJywKKyAg ICAgICB0eXBlIDogJ2ZlYXR1cmUnLAorICAgICAgIGRlc2NyaXB0aW9uIDogJ0J1aWxkIHRlc3Qg cnVubmVyIHdpdGggbGlib3BpbmcgZm9yIHBpbmdpbmcgc3VwcG9ydCcpCisKIG9wdGlvbigndXNl X3JwYXRoJywKICAgICAgICB0eXBlIDogJ2Jvb2xlYW4nLAogICAgICAgIHZhbHVlIDogZmFsc2Us CmRpZmYgLS1naXQgYS9ydW5uZXIvZXhlY3V0b3IuYyBiL3J1bm5lci9leGVjdXRvci5jCmluZGV4 IDUyZmVlN2QxLi42YWM5NTY2MyAxMDA2NDQKLS0tIGEvcnVubmVyL2V4ZWN1dG9yLmMKKysrIGIv cnVubmVyL2V4ZWN1dG9yLmMKQEAgLTEsNiArMSwxMCBAQAogI2luY2x1ZGUgPGVycm5vLmg+CiAj aW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8bGludXgvd2F0 Y2hkb2cuaD4KKyNpZiBIQVZFX09QSU5HCisjaW5jbHVkZSA8b3BpbmcuaD4KKyNlbmRpZgogI2lu Y2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+ CkBAIC0xNyw2ICsyMSw3IEBACiAjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1ZGUgPHVuaXN0ZC5o PgogCisjaW5jbHVkZSAiaWd0X2F1eC5oIgogI2luY2x1ZGUgImlndF9jb3JlLmgiCiAjaW5jbHVk ZSAiZXhlY3V0b3IuaCIKICNpbmNsdWRlICJvdXRwdXRfc3RyaW5ncy5oIgpAQCAtMTMwLDYgKzEz NSwxMjkgQEAgc3RhdGljIHZvaWQgcGluZ193YXRjaGRvZ3Modm9pZCkKIAl9CiB9CiAKKyNpZiBI QVZFX09QSU5HCitzdGF0aWMgcGluZ29ial90ICpwaW5nb2JqID0gTlVMTDsKKworc3RhdGljIGJv b2wgbG9hZF9waW5nX2NvbmZpZ19mcm9tX2ZpbGUodm9pZCkKK3sKKwlHRXJyb3IgKmVycm9yID0g TlVMTDsKKwlHS2V5RmlsZSAqa2V5X2ZpbGUgPSBOVUxMOworCWNvbnN0IGNoYXIgKnBpbmdfaG9z dG5hbWU7CisKKwkvKiBMb2FkIGlndCBjb25maWcgZmlsZSAqLworCWtleV9maWxlID0gaWd0X2xv YWRfaWd0cmMoKTsKKwlpZiAoIWtleV9maWxlKQorCQlyZXR1cm4gZmFsc2U7CisKKwlwaW5nX2hv c3RuYW1lID0KKwkJZ19rZXlfZmlsZV9nZXRfc3RyaW5nKGtleV9maWxlLCAiRFVUIiwKKwkJCQkg ICAgICAiUGluZ0hvc3ROYW1lIiwgJmVycm9yKTsKKworCWdfY2xlYXJfZXJyb3IoJmVycm9yKTsK KwlnX2tleV9maWxlX2ZyZWUoa2V5X2ZpbGUpOworCisJaWYgKCFwaW5nX2hvc3RuYW1lKQorCQly ZXR1cm4gZmFsc2U7CisKKwlpZiAocGluZ19ob3N0X2FkZChwaW5nb2JqLCBwaW5nX2hvc3RuYW1l KSkgeworCQlmcHJpbnRmKHN0ZGVyciwKKwkJCSJhYm9ydCBvbiBwaW5nOiBDYW5ub3QgdXNlIGhv c3RuYW1lIGZyb20gY29uZmlnIGZpbGVcbiIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJcmV0 dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGxvYWRfcGluZ19jb25maWdfZnJvbV9lbnYodm9p ZCkKK3sKKwljb25zdCBjaGFyICpwaW5nX2hvc3RuYW1lOworCisJcGluZ19ob3N0bmFtZSA9IGdl dGVudigiSUdUX1BJTkdfSE9TVE5BTUUiKTsKKwlpZiAoIXBpbmdfaG9zdG5hbWUpCisJCXJldHVy biBmYWxzZTsKKworCWlmIChwaW5nX2hvc3RfYWRkKHBpbmdvYmosIHBpbmdfaG9zdG5hbWUpKSB7 CisJCWZwcmludGYoc3RkZXJyLAorCQkJImFib3J0IG9uIHBpbmc6IENhbm5vdCB1c2UgaG9zdG5h bWUgZnJvbSBlbnZpcm9ubWVudFxuIik7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4g dHJ1ZTsKK30KKworLyoKKyAqIE9uIHNvbWUgaG9zdHMsIGdldHRpbmcgbmV0d29yayBiYWNrIHVw IGFmdGVyIHN1c3BlbmQgdGFrZXMKKyAqIHVwd2FyZHMgb2YgMTAgc2Vjb25kcy4gMjAgc2Vjb25k cyBzaG91bGQgYmUgZW5vdWdoIHRvIHNlZQorICogaWYgbmV0d29yayBjb21lcyBiYWNrIGF0IGFs bCwgYW5kIGhvcGVmdWxseSBub3QgdG9vIGxvbmcgdG8KKyAqIG1ha2UgZXh0ZXJuYWwgbW9uaXRv cmluZyBmcmVhayBvdXQuCisgKi8KKyNkZWZpbmUgUElOR19BQk9SVF9ERUFETElORSAyMAorCitz dGF0aWMgYm9vbCBjYW5fcGluZyh2b2lkKQoreworCWlndF91bnRpbF90aW1lb3V0KFBJTkdfQUJP UlRfREVBRExJTkUpIHsKKwkJcGluZ29ial9pdGVyX3QgKml0ZXI7CisKKwkJcGluZ19zZW5kKHBp bmdvYmopOworCisJCWZvciAoaXRlciA9IHBpbmdfaXRlcmF0b3JfZ2V0KHBpbmdvYmopOworCQkg ICAgIGl0ZXIgIT0gTlVMTDsKKwkJICAgICBpdGVyID0gcGluZ19pdGVyYXRvcl9uZXh0KGl0ZXIp KSB7CisJCQlkb3VibGUgbGF0ZW5jeTsKKwkJCXNpemVfdCBsZW4gPSBzaXplb2YobGF0ZW5jeSk7 CisKKwkJCXBpbmdfaXRlcmF0b3JfZ2V0X2luZm8oaXRlciwKKwkJCQkJICAgICAgIFBJTkdfSU5G T19MQVRFTkNZLAorCQkJCQkgICAgICAgJmxhdGVuY3ksCisJCQkJCSAgICAgICAmbGVuKTsKKwkJ CWlmIChsYXRlbmN5ID49IDAuMCkKKwkJCQlyZXR1cm4gdHJ1ZTsKKwkJfQorCX0KKworCXJldHVy biBmYWxzZTsKK30KKworI2VuZGlmCisKK3N0YXRpYyB2b2lkIHBpbmdfY29uZmlnKHZvaWQpCit7 CisjaWYgSEFWRV9PUElORworCWRvdWJsZSBzaW5nbGVfYXR0ZW1wdF90aW1lb3V0ID0gMS4wOwor CisJaWYgKHBpbmdvYmopCisJCXJldHVybjsKKworCXBpbmdvYmogPSBwaW5nX2NvbnN0cnVjdCgp OworCisJLyogVHJ5IGVudiBmaXJzdCwgdGhlbiBjb25maWcgZmlsZSAqLworCWlmICghbG9hZF9w aW5nX2NvbmZpZ19mcm9tX2VudigpICYmICFsb2FkX3BpbmdfY29uZmlnX2Zyb21fZmlsZSgpKSB7 CisJCWZwcmludGYoc3RkZXJyLAorCQkJImFib3J0IG9uIHBpbmc6IE5vIGhvc3QgdG8gcGluZyBj b25maWd1cmVkXG4iKTsKKwkJcGluZ19kZXN0cm95KHBpbmdvYmopOworCQlwaW5nb2JqID0gTlVM TDsKKwkJcmV0dXJuOworCX0KKworCXBpbmdfc2V0b3B0KHBpbmdvYmosIFBJTkdfT1BUX1RJTUVP VVQsICZzaW5nbGVfYXR0ZW1wdF90aW1lb3V0KTsKKyNlbmRpZgorfQorCitzdGF0aWMgY2hhciAq aGFuZGxlX3Bpbmcodm9pZCkKK3sKKyNpZiBIQVZFX09QSU5HCisJaWYgKHBpbmdvYmogJiYgIWNh bl9waW5nKCkpIHsKKwkJY2hhciAqcmVhc29uOworCisJCWFzcHJpbnRmKCZyZWFzb24sCisJCQkg IlBpbmcgaG9zdCBkaWQgbm90IHJlc3BvbmQgdG8gcGluZywgbmV0d29yayBkb3duIik7CisJCXJl dHVybiByZWFzb247CisJfQorI2VuZGlmCisKKwlyZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIGNo YXIgKmhhbmRsZV9sb2NrZGVwKHZvaWQpCiB7CiAJY29uc3QgY2hhciAqaGVhZGVyID0gIkxvY2tk ZXAgbm90IGFjdGl2ZVxuXG4vcHJvYy9sb2NrZGVwX3N0YXRzIGNvbnRlbnRzOlxuIjsKQEAgLTIx OSw2ICszNDcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKIH0gYWJvcnRfaGFuZGxlcnNbXSA9 IHsKIAl7IEFCT1JUX0xPQ0tERVAsIGhhbmRsZV9sb2NrZGVwIH0sCiAJeyBBQk9SVF9UQUlOVCwg aGFuZGxlX3RhaW50IH0sCisJeyBBQk9SVF9QSU5HLCBoYW5kbGVfcGluZyB9LAogCXsgMCwgMCB9 LAogfTsKIApkaWZmIC0tZ2l0IGEvcnVubmVyL21lc29uLmJ1aWxkIGIvcnVubmVyL21lc29uLmJ1 aWxkCmluZGV4IDg2NTIxZjk0Li42ZDhkM2FiMiAxMDA2NDQKLS0tIGEvcnVubmVyL21lc29uLmJ1 aWxkCisrKyBiL3J1bm5lci9tZXNvbi5idWlsZApAQCAtMTMsNiArMTMsMTQgQEAgcnVubmVyX3Rl c3Rfc291cmNlcyA9IFsgJ3J1bm5lcl90ZXN0cy5jJyBdCiBydW5uZXJfanNvbl90ZXN0X3NvdXJj ZXMgPSBbICdydW5uZXJfanNvbl90ZXN0cy5jJyBdCiAKIGpzb25jID0gZGVwZW5kZW5jeSgnanNv bi1jJywgcmVxdWlyZWQ6IGJ1aWxkX3J1bm5lcikKK3J1bm5lcl9kZXBzID0gW2pzb25jLCBnbGli XQorcnVubmVyX2NfYXJncyA9IFtdCisKK2xpYm9waW5nID0gZGVwZW5kZW5jeSgnbGlib3Bpbmcn LCByZXF1aXJlZDogZ2V0X29wdGlvbignb3BpbmcnKSkKK2lmIGxpYm9waW5nLmZvdW5kKCkKKwly dW5uZXJfZGVwcyArPSBsaWJvcGluZworCXJ1bm5lcl9jX2FyZ3MgKz0gJy1ESEFWRV9PUElORz0x JworZW5kaWYKIAogaWYgbm90IGJ1aWxkX3Rlc3RzIGFuZCBqc29uYy5mb3VuZCgpCiAJZXJyb3Io J0J1aWxkaW5nIHRlc3QgcnVubmVyIHJlcXVpcmVzIGJ1aWxkaW5nIHRlc3RzJykKQEAgLTIzLDcg KzMxLDggQEAgaWYganNvbmMuZm91bmQoKQogCiAJcnVubmVybGliID0gc3RhdGljX2xpYnJhcnko J2lndF9ydW5uZXInLCBydW5uZXJsaWJfc291cmNlcywKIAkJCQkgICBpbmNsdWRlX2RpcmVjdG9y aWVzIDogaW5jLAotCQkJCSAgIGRlcGVuZGVuY2llcyA6IFtqc29uYywgZ2xpYl0pCisJCQkJICAg Y19hcmdzIDogcnVubmVyX2NfYXJncywKKwkJCQkgICBkZXBlbmRlbmNpZXMgOiBydW5uZXJfZGVw cykKIAogCXJ1bm5lciA9IGV4ZWN1dGFibGUoJ2lndF9ydW5uZXInLCBydW5uZXJfc291cmNlcywK IAkJCSAgICBsaW5rX3dpdGggOiBydW5uZXJsaWIsCkBAIC02MSw2ICs3MCw5IEBAIGlmIGpzb25j LmZvdW5kKCkKIAl0ZXN0KCdydW5uZXJfanNvbicsIHJ1bm5lcl9qc29uX3Rlc3QpCiAKIAlidWls ZF9pbmZvICs9ICdCdWlsZCB0ZXN0IHJ1bm5lcjogdHJ1ZScKKwlpZiBsaWJvcGluZy5mb3VuZCgp CisJCWJ1aWxkX2luZm8gKz0gJ0J1aWxkIHRlc3QgcnVubmVyIHdpdGggb3Bpbmc6IHRydWUnCisJ ZW5kaWYKIGVsc2UKIAlidWlsZF9pbmZvICs9ICdCdWlsZCB0ZXN0IHJ1bm5lcjogZmFsc2UnCiBl bmRpZgpkaWZmIC0tZ2l0IGEvcnVubmVyL3NldHRpbmdzLmMgYi9ydW5uZXIvc2V0dGluZ3MuYwpp bmRleCA4YjM5YzA2My4uZDYwMWNkMTEgMTAwNjQ0Ci0tLSBhL3J1bm5lci9zZXR0aW5ncy5jCisr KyBiL3J1bm5lci9zZXR0aW5ncy5jCkBAIC01MSw2ICs1MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgewog fSBhYm9ydF9jb25kaXRpb25zW10gPSB7CiAJeyBBQk9SVF9UQUlOVCwgInRhaW50IiB9LAogCXsg QUJPUlRfTE9DS0RFUCwgImxvY2tkZXAiIH0sCisJeyBBQk9SVF9QSU5HLCAicGluZyIgfSwKIAl7 IEFCT1JUX0FMTCwgImFsbCIgfSwKIAl7IDAsIDAgfSwKIH07CkBAIC0xNDAsNiArMTQxLDkgQEAg c3RhdGljIGNvbnN0IGNoYXIgKnVzYWdlX3N0ciA9CiAJIiAgICAgICAgICAgICAgICAgICAgICAg IFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4iCiAJIiAgICAgICAgICAgICAgICAgICAgICAgICBsb2Nr ZGVwIC0gYWJvcnQgd2hlbiBrZXJuZWwgbG9ja2RlcCBoYXMgYmVlbiBhbmdlcmVkLlxuIgogCSIg ICAgICAgICAgICAgICAgICAgICAgICAgdGFpbnQgICAtIGFib3J0IHdoZW4ga2VybmVsIGJlY29t ZXMgZmF0YWxseSB0YWludGVkLlxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgcGluZyAg ICAtIGFib3J0IHdoZW4gYSBob3N0IGNvbmZpZ3VyZWQgaW4gLmlndHJjIG9yXG4iCisJIiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGUgSUdUX1BJ TkdfSE9TVE5BTUUgZG9lc1xuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG5vdCByZXNwb25kIHRvIHBpbmcuXG4iCiAJIiAgICAgICAgICAgICAgICAgICAgICAgICBhbGwg ICAgIC0gYWJvcnQgZm9yIGFsbCBvZiB0aGUgYWJvdmUuXG4iCiAJIiAgLXMsIC0tc3luYyAgICAg ICAgICAgIFN5bmMgcmVzdWx0cyB0byBkaXNrIGFmdGVyIGV2ZXJ5IHRlc3RcbiIKIAkiICAtbCB7 cXVpZXQsdmVyYm9zZSxkdW1teX0sIC0tbG9nLWxldmVsIHtxdWlldCx2ZXJib3NlLGR1bW15fVxu IgpkaWZmIC0tZ2l0IGEvcnVubmVyL3NldHRpbmdzLmggYi9ydW5uZXIvc2V0dGluZ3MuaAppbmRl eCA2ZGNmYThjNS4uMTM0MDlmMDQgMTAwNjQ0Ci0tLSBhL3J1bm5lci9zZXR0aW5ncy5oCisrKyBi L3J1bm5lci9zZXR0aW5ncy5oCkBAIC0xNSw5ICsxNSwxMCBAQCBlbnVtIHsKIAogI2RlZmluZSBB Qk9SVF9UQUlOVCAgICgxIDw8IDApCiAjZGVmaW5lIEFCT1JUX0xPQ0tERVAgKDEgPDwgMSkKLSNk ZWZpbmUgQUJPUlRfQUxMICAgICAoQUJPUlRfVEFJTlQgfCBBQk9SVF9MT0NLREVQKQorI2RlZmlu ZSBBQk9SVF9QSU5HICAgICgxIDw8IDIpCisjZGVmaW5lIEFCT1JUX0FMTCAgICAgKEFCT1JUX1RB SU5UIHwgQUJPUlRfTE9DS0RFUCB8IEFCT1JUX1BJTkcpCiAKLV9TdGF0aWNfYXNzZXJ0KEFCT1JU X0FMTCA9PSAoQUJPUlRfVEFJTlQgfCBBQk9SVF9MT0NLREVQKSwgIkFCT1JUX0FMTCBtdXN0IGJl IGFsbCBjb25kaXRpb25zIGJpdHdpc2Ugb3InZCIpOworX1N0YXRpY19hc3NlcnQoQUJPUlRfQUxM ID09IChBQk9SVF9UQUlOVCB8IEFCT1JUX0xPQ0tERVAgfCBBQk9SVF9QSU5HKSwgIkFCT1JUX0FM TCBtdXN0IGJlIGFsbCBjb25kaXRpb25zIGJpdHdpc2Ugb3InZCIpOwogCiBzdHJ1Y3QgcmVnZXhf bGlzdCB7CiAJY2hhciAqKnJlZ2V4X3N0cmluZ3M7Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0Cmln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==