From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 32FC16E7D2 for ; Fri, 9 Nov 2018 11:13:11 +0000 (UTC) From: Petri Latvala Date: Fri, 9 Nov 2018 13:13:03 +0200 Message-Id: <20181109111303.3466-1-petri.latvala@intel.com> Subject: [igt-dev] [PATCH i-g-t v6 1/1] runner: Implement --abort-on-monitored-error List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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: Petri Latvala , Martin Peres , Tomi Sarvela List-ID: RGV2aWF0aW5nIGEgYml0IGZyb20gdGhlIHBpZ2xpdCBjb21tYW5kIGxpbmUgZmxhZywgaWd0X3J1 bm5lciB0YWtlcyBhbgpvcHRpb25hbCBjb21tYS1zZXBhcmF0ZWQgbGlzdCBhcyBhbiBhcmd1bWVu dCB0bwotLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvciBmb3IgdGhlIGxpc3Qgb2YgY29uZGl0aW9u cyB0byBhYm9ydApvbi4gV2l0aG91dCBhIGxpc3QgYWxsIHBvc3NpYmxlIGNvbmRpdGlvbnMgd2ls bCBiZSBjaGVja2VkLgoKVHdvIGNvbmRpdGlvbnMgaW1wbGVtZW50ZWQ6CiAtICJ0YWludCIgY2hl Y2tzIHRoZSBrZXJuZWwgdGFpbnQgbGV2ZWwgZm9yIFRBSU5UX1BBR0UsIFRBSU5UX0RJRSBhbmQK IFRBSU5UX09PUFMKIC0gImxvY2tkZXAiIGNoZWNrcyB0aGUga2VybmVsIGxvY2tkZXAgc3RhdHVz CgpDaGVja2luZyBpcyBkb25lIGFmdGVyIGV2ZXJ5IHRlc3QgYmluYXJ5IGV4ZWN1dGlvbiwgYW5k IGlmIGFuIGFib3J0CmNvbmRpdGlvbiBpcyBtZXQsIHRoZSByZWFzb24gaXMgcHJpbnRlZCB0byBz dGRlcnIgKHVubGVzcyBsb2cgbGV2ZWwgaXMKcXVpZXQpIGFuZCB0aGUgcnVubmVyIGRvZXNuJ3Qg ZXhlY3V0ZSBhbnkgZnVydGhlciB0ZXN0cy4gQWJvcnRpbmcKYmV0d2VlbiBzdWJ0ZXN0cyAod2hl biBydW5uaW5nIGluIC0tbXVsdGlwbGUtbW9kZSkgaXMgbm90IGRvbmUuCgpBIFRPRE8gaXRlbSBm b3IgdGhlIGZ1dHVyZSBpcyBoYXZpbmcgYWJvcnRpbmcgYXBwZWFyIGluIHRoZSB0ZXN0CnJlc3Vs dHMuCgp2MjoKIC0gUmVtZW1iZXIgdG8gZmNsb3NlCiAtIFRhaW50cyBhcmUgdW5zaWduZWQgbG9u ZyAoQ2hyaXMpCiAtIFVzZSBnZXRsaW5lIGluc3RlYWQgb2YgZmdldHMgKENocmlzKQp2MzoKIC0g Rml4IGJyYWluZmFydCB3aXRoIGxvY2tkZXAKdjQ6CiAtIFJlYmFzZQogLSBSZWZhY3RvciB0aGUg YWJvcnQgY29uZGl0aW9uIGNoZWNraW5nIHRvIHBhc3MgZG93biBzdHJpbmdzCiAtIFByZXNlbnQg dGhlIGFib3J0IHJlc3VsdCBpbiByZXN1bHRzLmpzb24gYXMgYSBwc2V1ZG8gdGVzdCByZXN1bHQK IC0gVW5pdCB0ZXN0cyBmb3IgdGhlIHBzZXVkbyByZXN1bHQKdjU6CiAtIFJlZmFjdG9ycyAoQ2hy aXMpCiAtIERvbid0IGNsYWltIGxvY2tkZXAgd2FzIHRyaWdnZXJlZCBpZiBkZWJ1Z19sb2NrcyBp cyBub3Qgb24KICAgYW55bW9yZS4gSnVzdCBzYXkgaXQncyBub3QgYWN0aXZlLgogLSBEdW1wIGxv Y2tkZXBfc3RhdHMgd2hlbiBhYm9ydGluZyBkdWUgdG8gbG9ja2RlcCAoQ2hyaXMpCiAtIFVzZSBp Z3RAcnVubmVyQGFib3J0ZWQgaW5zdGVhZCBmb3IgdGhlIHBzZXVkbyByZXN1bHQgKE1hcnRpbikK djY6CiAtIElmIGFib3J0aW5nIGFmdGVyIGEgdGVzdCwgZ2VuZXJhdGUgcmVzdWx0cy5qc29uLiBM aWtlIHdhcyBhbHJlYWR5CiAgIGRvbmUgZm9yIGFib3J0aW5nIGF0IHN0YXJ0dXAuCiAtIFByaW50 IHRoZSB0ZXN0IHRoYXQgd291bGQgYmUgZXhlY3V0ZWQgbmV4dCBhcyB3ZWxsIHdoZW4gYWJvcnRp bmcsCiAgIGFzIHJlcXVlc3RlZCBieSBUb21pLgoKU2lnbmVkLW9mZi1ieTogUGV0cmkgTGF0dmFs YSA8cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+CkNjOiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVz ei5oaWxlckBpbnRlbC5jb20+CkNjOiBUb21pIFNhcnZlbGEgPHRvbWkucC5zYXJ2ZWxhQGludGVs LmNvbT4KQ2M6IE1hcnRpbiBQZXJlcyA8bWFydGluLnBlcmVzQGxpbnV4LmludGVsLmNvbT4KQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBydW5uZXIvZXhlY3V0b3IuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAyMDAgKysrKysrKysrKysrKysrKy0tCiBydW5uZXIvZXhl Y3V0b3IuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4uL2Fib3J0ZWQt YWZ0ZXItYS10ZXN0LzAvZG1lc2cudHh0ICAgICAgICAgIHwgICA1ICsKIC4uLi9hYm9ydGVkLWFm dGVyLWEtdGVzdC8wL2Vyci50eHQgICAgICAgICAgICB8ICAgMiArCiAuLi4vYWJvcnRlZC1hZnRl ci1hLXRlc3QvMC9qb3VybmFsLnR4dCAgICAgICAgfCAgIDIgKwogLi4uL2Fib3J0ZWQtYWZ0ZXIt YS10ZXN0LzAvb3V0LnR4dCAgICAgICAgICAgIHwgICAzICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEt dGVzdC9SRUFETUUudHh0ICAgICAgICAgICB8ICAgMSArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRl c3QvYWJvcnRlZC50eHQgICAgICAgICAgfCAgIDMgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0 L2VuZHRpbWUudHh0ICAgICAgICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC9q b2JsaXN0LnR4dCAgICAgICAgICB8ICAgNSArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3QvbWV0 YWRhdGEudHh0ICAgICAgICAgfCAgMTIgKysKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC9yZWZl cmVuY2UuanNvbiAgICAgICB8ICA5MCArKysrKysrKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0 L3N0YXJ0dGltZS50eHQgICAgICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC91 bmFtZS50eHQgICAgICAgICAgICB8ICAgMSArCiAuLi4vYWJvcnRlZC1vbi1ib290L1JFQURNRS50 eHQgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4uL2Fib3J0ZWQtb24tYm9vdC9hYm9ydGVkLnR4 dCAgICAgICAgICAgICAgIHwgICAzICsKIC4uLi9hYm9ydGVkLW9uLWJvb3QvZW5kdGltZS50eHQg ICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0ICAg ICAgICAgICAgICAgfCAgIDUgKwogLi4uL2Fib3J0ZWQtb24tYm9vdC9tZXRhZGF0YS50eHQgICAg ICAgICAgICAgIHwgIDEyICsrCiAuLi4vYWJvcnRlZC1vbi1ib290L3JlZmVyZW5jZS5qc29uICAg ICAgICAgICAgfCAgNTkgKysrKysrCiAuLi4vYWJvcnRlZC1vbi1ib290L3N0YXJ0dGltZS50eHQg ICAgICAgICAgICAgfCAgIDEgKwogLi4uL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qv dW5hbWUudHh0IHwgICAxICsKIC4uLi9kbWVzZy1yZXN1bHRzL21ldGFkYXRhLnR4dCAgICAgICAg ICAgICAgICB8ICAgMiArLQogLi4uL21ldGFkYXRhLnR4dCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyICstCiAuLi4vanNvbl90ZXN0c19kYXRhL25vcm1hbC1ydW4vbWV0YWRhdGEu dHh0ICAgfCAgIDIgKy0KIC4uLi9waWdsaXQtc3R5bGUtZG1lc2cvbWV0YWRhdGEudHh0ICAgICAg ICAgICB8ICAgMiArLQogLi4uL3dhcm5pbmdzLXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEudHh0 ICAgIHwgICAyICstCiBydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRhLnR4 dCAgfCAgIDIgKy0KIHJ1bm5lci9yZXN1bHRnZW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA0OCArKysrLQogcnVubmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMgICAgICAgICAgICAgICAg ICAgIHwgICAyICsKIHJ1bm5lci9ydW5uZXJfdGVzdHMuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA0OSArKysrLQogcnVubmVyL3NldHRpbmdzLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDc5ICsrKysrKy0KIHJ1bm5lci9zZXR0aW5ncy5oICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgOCArLQogMzMgZmlsZXMgY2hhbmdlZCwgNTY3IGluc2VydGlvbnMoKyksIDQx IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvMC9kbWVzZy50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5u ZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4dAogY3JlYXRl IG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv MC9qb3VybmFsLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvMC9vdXQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0CiBjcmVhdGUg bW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9h Ym9ydGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJv cnRlZC1hZnRlci1hLXRlc3QvZW5kdGltZS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIv anNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2pvYmxpc3QudHh0CiBjcmVhdGUg bW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9t ZXRhZGF0YS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fi b3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29uCiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9zdGFydHRpbWUudHh0CiBj cmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEt dGVzdC91bmFtZS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRh L2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQKIGNyZWF0ZSBtb2RlIDEw MDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9lbmR0aW1lLnR4dAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290 L2pvYmxpc3QudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLW9uLWJvb3QvbWV0YWRhdGEudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpzb24KIGNyZWF0ZSBtb2Rl IDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9zdGFydHRpbWUu dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9u LWJvb3QvdW5hbWUudHh0CgpkaWZmIC0tZ2l0IGEvcnVubmVyL2V4ZWN1dG9yLmMgYi9ydW5uZXIv ZXhlY3V0b3IuYwppbmRleCAwMDdiNzJjZS4uMDg5ZTYzMTIgMTAwNjQ0Ci0tLSBhL3J1bm5lci9l eGVjdXRvci5jCisrKyBiL3J1bm5lci9leGVjdXRvci5jCkBAIC0xMDgsNiArMTA4LDkxIEBAIHN0 YXRpYyB2b2lkIHBpbmdfd2F0Y2hkb2dzKHZvaWQpCiAJfQogfQogCitzdGF0aWMgY2hhciAqaGFu ZGxlX2xvY2tkZXAodm9pZCkKK3sKKwljb25zdCBjaGFyICpoZWFkZXIgPSAiTG9ja2RlcCBub3Qg YWN0aXZlXG5cbi9wcm9jL2xvY2tkZXBfc3RhdHMgY29udGVudHM6XG4iOworCWludCBmZCA9IG9w ZW4oIi9wcm9jL2xvY2tkZXBfc3RhdHMiLCBPX1JET05MWSk7CisJY29uc3QgY2hhciAqZGVidWdf bG9ja3NfbGluZSA9ICIgZGVidWdfbG9ja3M6IjsKKwljaGFyIGJ1Zls0MDk2XSwgKnA7CisJc3Np emVfdCBidWZzaXplID0gMDsKKwlpbnQgdmFsOworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIE5V TEw7CisKKwlzdHJjcHkoYnVmLCBoZWFkZXIpOworCisJaWYgKChidWZzaXplID0gcmVhZChmZCwg YnVmICsgc3RybGVuKGhlYWRlciksIHNpemVvZihidWYpIC0gc3RybGVuKGhlYWRlcikgLSAxKSkg PCAwKQorCQlyZXR1cm4gTlVMTDsKKwlidWZzaXplICs9IHN0cmxlbihoZWFkZXIpOworCWJ1Zlti dWZzaXplXSA9ICdcMCc7CisJY2xvc2UoZmQpOworCisJaWYgKChwID0gc3Ryc3RyKGJ1ZiwgZGVi dWdfbG9ja3NfbGluZSkpICE9IE5VTEwgJiYKKwkgICAgc3NjYW5mKHAgKyBzdHJsZW4oZGVidWdf bG9ja3NfbGluZSksICIlZCIsICZ2YWwpID09IDEgJiYKKwkgICAgdmFsICE9IDEpIHsKKwkJcmV0 dXJuIHN0cmR1cChidWYpOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAq aGFuZGxlX3RhaW50KHZvaWQpCit7CisJY29uc3QgdW5zaWduZWQgbG9uZyBiYWRfdGFpbnRzID0K KwkJMHgyMCAgfCAvKiBUQUlOVF9QQUdFICovCisJCTB4ODAgIHwgLyogVEFJTlRfRElFICovCisJ CTB4MjAwOyAvKiBUQUlOVF9PT1BTICovCisJdW5zaWduZWQgbG9uZyB0YWludHMgPSAwOworCWNo YXIgKnJlYXNvbiA9IE5VTEw7CisJRklMRSAqZjsKKworCWYgPSBmb3BlbigiL3Byb2Mvc3lzL2tl cm5lbC90YWludGVkIiwgInIiKTsKKwlpZiAoZikgeworCQlmc2NhbmYoZiwgIiVsdSIsICZ0YWlu dHMpOworCQlmY2xvc2UoZik7CisJfQorCisJaWYgKHRhaW50cyAmIGJhZF90YWludHMpCisJCWFz cHJpbnRmKCZyZWFzb24sCisJCQkgIktlcm5lbCB0YWludGVkICglI2x4IC0tICVseCkiLAorCQkJ IHRhaW50cywgdGFpbnRzICYgYmFkX3RhaW50cyk7CisKKwlyZXR1cm4gcmVhc29uOworfQorCitz dGF0aWMgY29uc3Qgc3RydWN0IHsKKwlpbnQgY29uZGl0aW9uOworCWNoYXIgKigqaGFuZGxlciko dm9pZCk7Cit9IGFib3J0X2hhbmRsZXJzW10gPSB7CisJeyBBQk9SVF9MT0NLREVQLCBoYW5kbGVf bG9ja2RlcCB9LAorCXsgQUJPUlRfVEFJTlQsIGhhbmRsZV90YWludCB9LAorCXsgMCwgMCB9LAor fTsKKworc3RhdGljIGNoYXIgKm5lZWRfdG9fYWJvcnQoY29uc3Qgc3RydWN0IHNldHRpbmdzKiBz ZXR0aW5ncykKK3sKKwl0eXBlb2YoKmFib3J0X2hhbmRsZXJzKSAqaXQ7CisKKwlmb3IgKGl0ID0g YWJvcnRfaGFuZGxlcnM7IGl0LT5jb25kaXRpb247IGl0KyspIHsKKwkJY2hhciAqYWJvcnQ7CisK KwkJaWYgKCEoc2V0dGluZ3MtPmFib3J0X21hc2sgJiBpdC0+Y29uZGl0aW9uKSkKKwkJCWNvbnRp bnVlOworCisJCWFib3J0ID0gaXQtPmhhbmRsZXIoKTsKKwkJaWYgKCFhYm9ydCkKKwkJCWNvbnRp bnVlOworCisJCWlmIChzZXR0aW5ncy0+bG9nX2xldmVsID49IExPR19MRVZFTF9OT1JNQUwpCisJ CQlmcHJpbnRmKHN0ZGVyciwgIkFib3J0aW5nOiAlc1xuIiwgYWJvcnQpOworCisJCXJldHVybiBh Ym9ydDsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIHZvaWQgcHJ1bmVfc3VidGVz dChzdHJ1Y3Qgam9iX2xpc3RfZW50cnkgKmVudHJ5LCBjaGFyICpzdWJ0ZXN0KQogewogCWNoYXIg KmV4Y2w7CkBAIC03MTQsNiArNzk5LDM3IEBAIHN0YXRpYyB2b2lkIHByaW50X3RpbWVfbGVmdChz dHJ1Y3QgZXhlY3V0ZV9zdGF0ZSAqc3RhdGUsCiAJcHJpbnRmKCIoJSouMGZzIGxlZnQpICIsIHdp ZHRoLCBzdGF0ZS0+dGltZV9sZWZ0KTsKIH0KIAorc3RhdGljIGNoYXIgKmVudHJ5X2Rpc3BsYXlf bmFtZShzdHJ1Y3Qgam9iX2xpc3RfZW50cnkgKmVudHJ5KQoreworCXNpemVfdCBzaXplID0gc3Ry bGVuKGVudHJ5LT5iaW5hcnkpICsgMTsKKwljaGFyICpyZXQgPSBtYWxsb2Moc2l6ZSk7CisKKwlz cHJpbnRmKHJldCwgIiVzIiwgZW50cnktPmJpbmFyeSk7CisKKwlpZiAoZW50cnktPnN1YnRlc3Rf Y291bnQgPiAwKSB7CisJCXNpemVfdCBpOworCQljb25zdCBjaGFyICpkZWxpbSA9ICIiOworCisJ CXNpemUgKz0gMzsgLyogc3RybGVuKCIgKCIpICsgc3RybGVuKCIpIikgKi8KKwkJcmV0ID0gcmVh bGxvYyhyZXQsIHNpemUpOworCQlzdHJjYXQocmV0LCAiICgiKTsKKworCQlmb3IgKGkgPSAwOyBp IDwgZW50cnktPnN1YnRlc3RfY291bnQ7IGkrKykgeworCQkJc2l6ZSArPSBzdHJsZW4oZGVsaW0p ICsgc3RybGVuKGVudHJ5LT5zdWJ0ZXN0c1tpXSk7CisJCQlyZXQgPSByZWFsbG9jKHJldCwgc2l6 ZSk7CisKKwkJCXN0cmNhdChyZXQsIGRlbGltKTsKKwkJCXN0cmNhdChyZXQsIGVudHJ5LT5zdWJ0 ZXN0c1tpXSk7CisKKwkJCWRlbGltID0gIiwgIjsKKwkJfQorCQkvKiBUaGVyZSdzIGFscmVhZHkg cm9vbSBmb3IgdGhpcyAqLworCQlzdHJjYXQocmV0LCAiKSIpOworCX0KKworCXJldHVybiByZXQ7 Cit9CisKIC8qCiAgKiBSZXR1cm5zOgogICogID0wIC0gU3VjY2VzcwpAQCAtNzk3LDI0ICs5MTMs MTUgQEAgc3RhdGljIGludCBleGVjdXRlX25leHRfZW50cnkoc3RydWN0IGV4ZWN1dGVfc3RhdGUg KnN0YXRlLAogCX0KIAogCWlmIChzZXR0aW5ncy0+bG9nX2xldmVsID49IExPR19MRVZFTF9OT1JN QUwpIHsKKwkJY2hhciAqZGlzcGxheW5hbWU7CiAJCWludCB3aWR0aCA9IGRpZ2l0cyh0b3RhbCk7 CiAJCXByaW50ZigiWyUwKnpkLyUwKnpkXSAiLCB3aWR0aCwgaWR4ICsgMSwgd2lkdGgsIHRvdGFs KTsKIAogCQlwcmludF90aW1lX2xlZnQoc3RhdGUsIHNldHRpbmdzKTsKIAotCQlwcmludGYoIiVz IiwgZW50cnktPmJpbmFyeSk7Ci0KLQkJaWYgKGVudHJ5LT5zdWJ0ZXN0X2NvdW50ID4gMCkgewot CQkJc2l6ZV90IGk7Ci0JCQljb25zdCBjaGFyICpkZWxpbSA9ICIiOwotCi0JCQlwcmludGYoIiAo Iik7Ci0JCQlmb3IgKGkgPSAwOyBpIDwgZW50cnktPnN1YnRlc3RfY291bnQ7IGkrKykgewotCQkJ CXByaW50ZigiJXMlcyIsIGRlbGltLCBlbnRyeS0+c3VidGVzdHNbaV0pOwotCQkJCWRlbGltID0g IiwgIjsKLQkJCX0KLQkJCXByaW50ZigiKSIpOwotCQl9CisJCWRpc3BsYXluYW1lID0gZW50cnlf ZGlzcGxheV9uYW1lKGVudHJ5KTsKKwkJcHJpbnRmKCIlcyIsIGRpc3BsYXluYW1lKTsKKwkJZnJl ZShkaXNwbGF5bmFtZSk7CiAKIAkJcHJpbnRmKCJcbiIpOwogCX0KQEAgLTg5Niw3ICsxMDAzLDgg QEAgc3RhdGljIGJvb2wgY2xlYXJfb2xkX3Jlc3VsdHMoY2hhciAqcGF0aCkKIAogCWlmIChyZW1v dmVfZmlsZShkaXJmZCwgInVuYW1lLnR4dCIpIHx8CiAJICAgIHJlbW92ZV9maWxlKGRpcmZkLCAi c3RhcnR0aW1lLnR4dCIpIHx8Ci0JICAgIHJlbW92ZV9maWxlKGRpcmZkLCAiZW5kdGltZS50eHQi KSkgeworCSAgICByZW1vdmVfZmlsZShkaXJmZCwgImVuZHRpbWUudHh0IikgfHwKKwkgICAgcmVt b3ZlX2ZpbGUoZGlyZmQsICJhYm9ydGVkLnR4dCIpKSB7CiAJCWNsb3NlKGRpcmZkKTsKIAkJZnBy aW50ZihzdGRlcnIsICJFcnJvciBjbGVhcmluZyBvbGQgcmVzdWx0czogJXNcbiIsIHN0cmVycm9y KGVycm5vKSk7CiAJCXJldHVybiBmYWxzZTsKQEAgLTk1Nyw2ICsxMDY1LDcgQEAgYm9vbCBpbml0 aWFsaXplX2V4ZWN1dGVfc3RhdGVfZnJvbV9yZXN1bWUoaW50IGRpcmZkLAogCWZyZWVfc2V0dGlu Z3Moc2V0dGluZ3MpOwogCWZyZWVfam9iX2xpc3QobGlzdCk7CiAJbWVtc2V0KHN0YXRlLCAwLCBz aXplb2YoKnN0YXRlKSk7CisJc3RhdGUtPnJlc3VtaW5nID0gdHJ1ZTsKIAogCWlmICghcmVhZF9z ZXR0aW5ncyhzZXR0aW5ncywgZGlyZmQpIHx8CiAJICAgICFyZWFkX2pvYl9saXN0KGxpc3QsIGRp cmZkKSkgewpAQCAtMTA0NCw2ICsxMTUzLDI3IEBAIHN0YXRpYyBib29sIG92ZXJhbGxfdGltZW91 dF9leGNlZWRlZChzdHJ1Y3QgZXhlY3V0ZV9zdGF0ZSAqc3RhdGUpCiAJcmV0dXJuIHN0YXRlLT50 aW1lX2xlZnQgPT0gMC4wOwogfQogCitzdGF0aWMgdm9pZCB3cml0ZV9hYm9ydF9maWxlKGludCBy ZXNkaXJmZCwKKwkJCSAgICAgY29uc3QgY2hhciAqcmVhc29uLAorCQkJICAgICBjb25zdCBjaGFy ICp0ZXN0YmVmb3JlLAorCQkJICAgICBjb25zdCBjaGFyICp0ZXN0YWZ0ZXIpCit7CisJaW50IGFi b3J0ZmQ7CisKKwlpZiAoKGFib3J0ZmQgPSBvcGVuYXQocmVzZGlyZmQsICJhYm9ydGVkLnR4dCIs IE9fQ1JFQVQgfCBPX1dST05MWSB8IE9fRVhDTCwgMDY2NikpID49IDApIHsKKwkJLyoKKwkJICog SWdub3JlIGZhaWx1cmUgdG8gb3BlbiwgdGhlcmUncworCQkgKiBhbHJlYWR5IGFuIGFib3J0IHBy b2JhYmx5IChpZiB0aGlzCisJCSAqIGlzIGEgcmVzdW1lKQorCQkgKi8KKwkJZHByaW50ZihhYm9y dGZkLCAiQWJvcnRpbmcuXG4iKTsKKwkJZHByaW50ZihhYm9ydGZkLCAiUHJldmlvdXMgdGVzdDog JXNcbiIsIHRlc3RiZWZvcmUpOworCQlkcHJpbnRmKGFib3J0ZmQsICJOZXh0IHRlc3Q6ICVzXG5c biIsIHRlc3RhZnRlcik7CisJCXdyaXRlKGFib3J0ZmQsIHJlYXNvbiwgc3RybGVuKHJlYXNvbikp OworCQljbG9zZShhYm9ydGZkKTsKKwl9Cit9CisKIGJvb2wgZXhlY3V0ZShzdHJ1Y3QgZXhlY3V0 ZV9zdGF0ZSAqc3RhdGUsCiAJICAgICBzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzLAogCSAgICAg c3RydWN0IGpvYl9saXN0ICpqb2JfbGlzdCkKQEAgLTExMDAsMTQgKzEyMzAsMzEgQEAgYm9vbCBl eGVjdXRlKHN0cnVjdCBleGVjdXRlX3N0YXRlICpzdGF0ZSwKIAl9CiAJY2xvc2UodW5hbWVmZCk7 CiAKKwkvKiBDaGVjayBpZiB3ZSdyZSBhbHJlYWR5IGluIGFib3J0LXN0YXRlIGF0IGJvb3R1cCAq LworCWlmICghc3RhdGUtPnJlc3VtaW5nKSB7CisJCWNoYXIgKnJlYXNvbjsKKworCQlpZiAoKHJl YXNvbiA9IG5lZWRfdG9fYWJvcnQoc2V0dGluZ3MpKSAhPSBOVUxMKSB7CisJCQljaGFyICpuZXh0 dGVzdCA9IGVudHJ5X2Rpc3BsYXlfbmFtZSgmam9iX2xpc3QtPmVudHJpZXNbc3RhdGUtPm5leHRd KTsKKwkJCXdyaXRlX2Fib3J0X2ZpbGUocmVzZGlyZmQsIHJlYXNvbiwgIm5vdGhpbmciLCBuZXh0 dGVzdCk7CisJCQlmcmVlKHJlYXNvbik7CisJCQlmcmVlKG5leHR0ZXN0KTsKKworCQkJZ290byBl bmQ7CisJCX0KKwl9CisKIAlmb3IgKDsgc3RhdGUtPm5leHQgPCBqb2JfbGlzdC0+c2l6ZTsKIAkg ICAgIHN0YXRlLT5uZXh0KyspIHsKLQkJaW50IHJlc3VsdCA9IGV4ZWN1dGVfbmV4dF9lbnRyeShz dGF0ZSwKLQkJCQkJCWpvYl9saXN0LT5zaXplLAotCQkJCQkJJnRpbWVfc3BlbnQsCi0JCQkJCQlz ZXR0aW5ncywKLQkJCQkJCSZqb2JfbGlzdC0+ZW50cmllc1tzdGF0ZS0+bmV4dF0sCi0JCQkJCQl0 ZXN0ZGlyZmQsIHJlc2RpcmZkKTsKKwkJY2hhciAqcmVhc29uOworCQlpbnQgcmVzdWx0OworCisJ CXJlc3VsdCA9IGV4ZWN1dGVfbmV4dF9lbnRyeShzdGF0ZSwKKwkJCQkJICAgIGpvYl9saXN0LT5z aXplLAorCQkJCQkgICAgJnRpbWVfc3BlbnQsCisJCQkJCSAgICBzZXR0aW5ncywKKwkJCQkJICAg ICZqb2JfbGlzdC0+ZW50cmllc1tzdGF0ZS0+bmV4dF0sCisJCQkJCSAgICB0ZXN0ZGlyZmQsIHJl c2RpcmZkKTsKIAogCQlpZiAocmVzdWx0IDwgMCkgewogCQkJc3RhdHVzID0gZmFsc2U7CkBAIC0x MTI0LDYgKzEyNzEsMTggQEAgYm9vbCBleGVjdXRlKHN0cnVjdCBleGVjdXRlX3N0YXRlICpzdGF0 ZSwKIAkJCWJyZWFrOwogCQl9CiAKKwkJaWYgKChyZWFzb24gPSBuZWVkX3RvX2Fib3J0KHNldHRp bmdzKSkgIT0gTlVMTCkgeworCQkJY2hhciAqcHJldiA9IGVudHJ5X2Rpc3BsYXlfbmFtZSgmam9i X2xpc3QtPmVudHJpZXNbc3RhdGUtPm5leHRdKTsKKwkJCWNoYXIgKm5leHQgPSAoc3RhdGUtPm5l eHQgKyAxIDwgam9iX2xpc3QtPnNpemUgPworCQkJCSAgICAgIGVudHJ5X2Rpc3BsYXlfbmFtZSgm am9iX2xpc3QtPmVudHJpZXNbc3RhdGUtPm5leHQgKyAxXSkgOgorCQkJCSAgICAgIHN0cmR1cCgi bm90aGluZyIpKTsKKwkJCXdyaXRlX2Fib3J0X2ZpbGUocmVzZGlyZmQsIHJlYXNvbiwgcHJldiwg bmV4dCk7CisJCQlmcmVlKHByZXYpOworCQkJZnJlZShuZXh0KTsKKwkJCWZyZWUocmVhc29uKTsK KwkJCWJyZWFrOworCQl9CisKIAkJaWYgKHJlc3VsdCA+IDApIHsKIAkJCWRvdWJsZSB0aW1lX2xl ZnQgPSBzdGF0ZS0+dGltZV9sZWZ0OwogCkBAIC0xMTQwLDYgKzEyOTksNyBAQCBib29sIGV4ZWN1 dGUoc3RydWN0IGV4ZWN1dGVfc3RhdGUgKnN0YXRlLAogCQljbG9zZSh0aW1lZmQpOwogCX0KIAor IGVuZDoKIAljbG9zZSh0ZXN0ZGlyZmQpOwogCWNsb3NlKHJlc2RpcmZkKTsKIAljbG9zZV93YXRj aGRvZ3Moc2V0dGluZ3MpOwpkaWZmIC0tZ2l0IGEvcnVubmVyL2V4ZWN1dG9yLmggYi9ydW5uZXIv ZXhlY3V0b3IuaAppbmRleCAyNTIzMzlhYi4uMTI4ODNmMTUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9l eGVjdXRvci5oCisrKyBiL3J1bm5lci9leGVjdXRvci5oCkBAIC0xMyw2ICsxMyw3IEBAIHN0cnVj dCBleGVjdXRlX3N0YXRlCiAJICogPiAwIDogVGltZW91dCBpbiB1c2UsIHRpbWUgbGVmdC4KIAkg Ki8KIAlkb3VibGUgdGltZV9sZWZ0OworCWRvdWJsZSByZXN1bWluZzsKIH07CiAKIGVudW0gewpk aWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8w L2RtZXNnLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv MC9kbWVzZy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmExODllNzA0 Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVy LWEtdGVzdC8wL2RtZXNnLnR4dApAQCAtMCwwICsxLDUgQEAKKzYsOTUxLDMyMTYxODYwOTUwODMs LTtDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGR1bW15IGRldmljZSA4MHgyNQorMTQsOTUy LDMyMTYxODYwOTUwOTcsLTtbSUdUXSBzdWNjZXNzdGVzdDogZXhlY3V0aW5nCisxNCw5NTMsMzIx NjE4NjEwMTExNSwtO1tJR1RdIHN1Y2Nlc3N0ZXN0OiBzdGFydGluZyBzdWJ0ZXN0IGZpcnN0LXN1 YnRlc3QKKzE0LDk1NCwzMjE2MTg2MTAxMTYwLC07W0lHVF0gc3VjY2Vzc3Rlc3Q6IGV4aXRpbmcs IHJldD0wCis2LDk1NSwzMjE2MTg2MTAxMjk5LC07Q29uc29sZTogc3dpdGNoaW5nIHRvIGNvbG91 ciBmcmFtZSBidWZmZXIgZGV2aWNlIDI0MHg3NQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2Vyci50eHQgYi9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMC4uNWRjNzgwNTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNv bl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4dApAQCAtMCwwICsxLDIg QEAKK1N0YXJ0aW5nIHN1YnRlc3Q6IGZpcnN0LXN1YnRlc3QKK1N1YnRlc3QgZmlyc3Qtc3VidGVz dDogU1VDQ0VTUyAoMC4wMDBzKQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLWFmdGVyLWEtdGVzdC8wL2pvdXJuYWwudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2pvdXJuYWwudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwLi44NmEzMGUwNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9qb3VybmFsLnR4dApAQCAtMCwwICsx LDIgQEAKK2ZpcnN0LXN1YnRlc3QKK2V4aXQ6MCAoMC4wMTRzKQpkaWZmIC0tZ2l0IGEvcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL291dC50eHQgYi9ydW5uZXIv anNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvb3V0LnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNTk0NmJmMzEKLS0tIC9kZXYvbnVsbAorKysgYi9y dW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvb3V0LnR4dApAQCAt MCwwICsxLDMgQEAKK0lHVC1WZXJzaW9uOiAxLjIzLWcwYzc2M2JmZCAoeDg2XzY0KSAoTGludXg6 IDQuMTguMC0xLWFtZDY0IHg4Nl82NCkKK1N0YXJ0aW5nIHN1YnRlc3Q6IGZpcnN0LXN1YnRlc3QK K1N1YnRlc3QgZmlyc3Qtc3VidGVzdDogU1VDQ0VTUyAoMC4wMDBzKQpkaWZmIC0tZ2l0IGEvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0IGIvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4xYWQ4OTA1MwotLS0gL2Rldi9udWxsCisr KyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvUkVBRE1FLnR4 dApAQCAtMCwwICsxIEBACitBIHJ1biB0aGF0IGFib3J0ZWQgYWZ0ZXIgcnVubmluZyB0aGUgZmly c3QgdGVzdC4KZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRl ci1hLXRlc3QvYWJvcnRlZC50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0L2Fib3J0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw Li4zYzhmMjcwNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJv cnRlZC1hZnRlci1hLXRlc3QvYWJvcnRlZC50eHQKQEAgLTAsMCArMSwzIEBACitBYm9ydGVkIGFm dGVyOiBzdWNjZXNzdGVzdCAoZmlyc3Qtc3VidGVzdCkKKworS2VybmVsIHRhaW50ZWQgKDB4MjAw KQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVz dC9lbmR0aW1lLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3QvZW5kdGltZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYzNWY2 YWU5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFm dGVyLWEtdGVzdC9lbmR0aW1lLnR4dApAQCAtMCwwICsxIEBACisxNTM5OTUzNzM1LjE3MjM3Mwpk aWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9q b2JsaXN0LnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv am9ibGlzdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjMxZWY4NDEz Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVy LWEtdGVzdC9qb2JsaXN0LnR4dApAQCAtMCwwICsxLDUgQEAKK3N1Y2Nlc3N0ZXN0IGZpcnN0LXN1 YnRlc3QKK3N1Y2Nlc3N0ZXN0IHNlY29uZC1zdWJ0ZXN0Cituby1zdWJ0ZXN0cworc2tpcHBlcnMg c2tpcC1vbmUKK3NraXBwZXJzIHNraXAtdHdvCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvbWV0YWRhdGEudHh0Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43ODUwNzZlOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvbWV0YWRhdGEudHh0CkBAIC0w LDAgKzEsMTIgQEAKK2Fib3J0X21hc2sgOiAzCituYW1lIDogbm9ybWFsLXJ1bgorZHJ5X3J1biA6 IDAKK3N5bmMgOiAwCitsb2dfbGV2ZWwgOiAwCitvdmVyd3JpdGUgOiAwCittdWx0aXBsZV9tb2Rl IDogMAoraW5hY3Rpdml0eV90aW1lb3V0IDogMAordXNlX3dhdGNoZG9nIDogMAorcGlnbGl0X3N0 eWxlX2RtZXNnIDogMAordGVzdF9yb290IDogL3BhdGgvZG9lcy9ub3QvZXhpc3QKK3Jlc3VsdHNf cGF0aCA6IC9wYXRoL2RvZXMvbm90L2V4aXN0CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29uIGIvcnVubmVyL2pzb25f dGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9yZWZlcmVuY2UuanNvbgpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMWUwOGRlY2EKLS0tIC9kZXYvbnVsbAorKysgYi9y dW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29u CkBAIC0wLDAgKzEsOTAgQEAKK3sKKyAgIl9fdHlwZV9fIjoiVGVzdHJ1blJlc3VsdCIsCisgICJy ZXN1bHRzX3ZlcnNpb24iOjksCisgICJuYW1lIjoibm9ybWFsLXJ1biIsCisgICJ1bmFtZSI6Ikxp bnV4IGhvc3RuYW1lIDQuMTguMC0xLWFtZDY0ICMxIFNNUCBEZWJpYW4gNC4xOC42LTEgKDIwMTgt MDktMDYpIHg4Nl82NCIsCisgICJ0aW1lX2VsYXBzZWQiOnsKKyAgICAiX190eXBlX18iOiJUaW1l QXR0cmlidXRlIiwKKyAgICAic3RhcnQiOjE1Mzk5NTM3MzUuMTExMDM4OSwKKyAgICAiZW5kIjox NTM5OTUzNzM1LjE3MjM3MzEKKyAgfSwKKyAgInRlc3RzIjp7CisgICAgImlndEBzdWNjZXNzdGVz dEBmaXJzdC1zdWJ0ZXN0Ijp7CisgICAgICAib3V0IjoiU3RhcnRpbmcgc3VidGVzdDogZmlyc3Qt c3VidGVzdFxuU3VidGVzdCBmaXJzdC1zdWJ0ZXN0OiBTVUNDRVNTICgwLjAwMHMpXG4iLAorICAg ICAgImlndC12ZXJzaW9uIjoiSUdULVZlcnNpb246IDEuMjMtZzBjNzYzYmZkICh4ODZfNjQpIChM aW51eDogNC4xOC4wLTEtYW1kNjQgeDg2XzY0KSIsCisgICAgICAicmVzdWx0IjoicGFzcyIsCisg ICAgICAidGltZSI6eworICAgICAgICAiX190eXBlX18iOiJUaW1lQXR0cmlidXRlIiwKKyAgICAg ICAgInN0YXJ0IjowLAorICAgICAgICAiZW5kIjowCisgICAgICB9LAorICAgICAgImVyciI6IlN0 YXJ0aW5nIHN1YnRlc3Q6IGZpcnN0LXN1YnRlc3RcblN1YnRlc3QgZmlyc3Qtc3VidGVzdDogU1VD Q0VTUyAoMC4wMDBzKVxuIiwKKyAgICAgICJkbWVzZyI6Ijw2PiBbMzIxNjE4Ni4wOTUwODNdIENv bnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1XG48Nj4gWzMyMTYx ODYuMDk1MDk3XSBbSUdUXSBzdWNjZXNzdGVzdDogZXhlY3V0aW5nXG48Nj4gWzMyMTYxODYuMTAx MTE1XSBbSUdUXSBzdWNjZXNzdGVzdDogc3RhcnRpbmcgc3VidGVzdCBmaXJzdC1zdWJ0ZXN0XG48 Nj4gWzMyMTYxODYuMTAxMTYwXSBbSUdUXSBzdWNjZXNzdGVzdDogZXhpdGluZywgcmV0PTBcbjw2 PiBbMzIxNjE4Ni4xMDEyOTldIENvbnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZnJhbWUgYnVm ZmVyIGRldmljZSAyNDB4NzVcbiIKKyAgICB9LAorICAgICJpZ3RAcnVubmVyQGFib3J0ZWQiOnsK Kwkib3V0IjoiQWJvcnRlZCBhZnRlcjogc3VjY2Vzc3Rlc3QgKGZpcnN0LXN1YnRlc3QpXG5cbktl cm5lbCB0YWludGVkICgweDIwMClcbiIsCisJInJlc3VsdCI6ImZhaWwiLAorCSJlcnIiOiIiLAor CSJkbWVzZyI6IiIsCisgICAgfQorICB9LAorICAidG90YWxzIjp7CisgICAgIiI6eworICAgICAg ImNyYXNoIjowLAorICAgICAgInBhc3MiOjEsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAg ICJkbWVzZy13YXJuIjowLAorICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwK KyAgICAgICJ0aW1lb3V0IjowLAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAor ICAgICAgIndhcm4iOjAKKyAgICB9LAorICAgICJyb290Ijp7CisgICAgICAiY3Jhc2giOjAsCisg ICAgICAicGFzcyI6MSwKKyAgICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4i OjAsCisgICAgICAic2tpcCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVv dXQiOjAsCisgICAgICAibm90cnVuIjowLAorICAgICAgImZhaWwiOjEsCisgICAgICAid2FybiI6 MAorICAgIH0sCisgICAgImlndEBzdWNjZXNzdGVzdCI6eworICAgICAgImNyYXNoIjowLAorICAg ICAgInBhc3MiOjEsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjow LAorICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0 IjowLAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjowLAorICAgICAgIndhcm4iOjAK KyAgICB9LAorICAgICJpZ3RAcnVubmVyIjp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFz cyI6MCwKKyAgICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAg ICAic2tpcCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisg ICAgICAibm90cnVuIjowLAorICAgICAgImZhaWwiOjEsCisgICAgICAid2FybiI6MAorICAgIH0s CisgIH0sCisgICJydW50aW1lcyI6eworICAgICJpZ3RAc3VjY2Vzc3Rlc3QiOnsKKyAgICAgICJ0 aW1lIjp7CisgICAgICAgICJfX3R5cGVfXyI6IlRpbWVBdHRyaWJ1dGUiLAorICAgICAgICAic3Rh cnQiOjAsCisgICAgICAgICJlbmQiOjAuMDE0CisgICAgICB9CisgICAgfSwKKyAgfQorfQpkaWZm IC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9zdGFy dHRpbWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9z dGFydHRpbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5hZTAzOGYx OAotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRl ci1hLXRlc3Qvc3RhcnR0aW1lLnR4dApAQCAtMCwwICsxIEBACisxNTM5OTUzNzM1LjExMTAzOQpk aWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC91 bmFtZS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3Vu YW1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTdhZWY2ZjcKLS0t IC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10 ZXN0L3VuYW1lLnR4dApAQCAtMCwwICsxIEBACitMaW51eCBob3N0bmFtZSA0LjE4LjAtMS1hbWQ2 NCAjMSBTTVAgRGViaWFuIDQuMTguNi0xICgyMDE4LTA5LTA2KSB4ODZfNjQKZGlmZiAtLWdpdCBh L3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L1JFQURNRS50eHQgYi9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5lOTU3YzQwZgotLS0gL2Rldi9udWxsCisrKyBiL3J1 bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L1JFQURNRS50eHQKQEAgLTAsMCAr MSBAQAorQSBydW4gdGhhdCBhYm9ydGVkIGJlZm9yZSBydW5uaW5nIGFueSB0ZXN0cy4KZGlmZiAt LWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2Fib3J0ZWQudHh0 IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjRhMWMxYTMyCi0tLSAvZGV2L251bGwK KysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQK QEAgLTAsMCArMSwzIEBACitBYm9ydGVkIGFmdGVyOiBzdGFydHVwCisKK0tlcm5lbCB0YWludGVk ICgweDIwMCkKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1i b290L2VuZHRpbWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qv ZW5kdGltZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYzNWY2YWU5 Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJv b3QvZW5kdGltZS50eHQKQEAgLTAsMCArMSBAQAorMTUzOTk1MzczNS4xNzIzNzMKZGlmZiAtLWdp dCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0IGIv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qvam9ibGlzdC50eHQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjMxZWY4NDEzCi0tLSAvZGV2L251bGwKKysr IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qvam9ibGlzdC50eHQKQEAg LTAsMCArMSw1IEBACitzdWNjZXNzdGVzdCBmaXJzdC1zdWJ0ZXN0CitzdWNjZXNzdGVzdCBzZWNv bmQtc3VidGVzdAorbm8tc3VidGVzdHMKK3NraXBwZXJzIHNraXAtb25lCitza2lwcGVycyBza2lw LXR3bwpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qv bWV0YWRhdGEudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0 YWRhdGEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43ODUwNzZlOQot LS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290 L21ldGFkYXRhLnR4dApAQCAtMCwwICsxLDEyIEBACithYm9ydF9tYXNrIDogMworbmFtZSA6IG5v cm1hbC1ydW4KK2RyeV9ydW4gOiAwCitzeW5jIDogMAorbG9nX2xldmVsIDogMAorb3ZlcndyaXRl IDogMAorbXVsdGlwbGVfbW9kZSA6IDAKK2luYWN0aXZpdHlfdGltZW91dCA6IDAKK3VzZV93YXRj aGRvZyA6IDAKK3BpZ2xpdF9zdHlsZV9kbWVzZyA6IDAKK3Rlc3Rfcm9vdCA6IC9wYXRoL2RvZXMv bm90L2V4aXN0CityZXN1bHRzX3BhdGggOiAvcGF0aC9kb2VzL25vdC9leGlzdApkaWZmIC0tZ2l0 IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpzb24g Yi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9yZWZlcmVuY2UuanNvbgpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYmZhZWUxYmIKLS0tIC9kZXYvbnVs bAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9yZWZlcmVuY2Uu anNvbgpAQCAtMCwwICsxLDU5IEBACit7CisgICJfX3R5cGVfXyI6IlRlc3RydW5SZXN1bHQiLAor ICAicmVzdWx0c192ZXJzaW9uIjo5LAorICAibmFtZSI6Im5vcm1hbC1ydW4iLAorICAidW5hbWUi OiJMaW51eCBob3N0bmFtZSA0LjE4LjAtMS1hbWQ2NCAjMSBTTVAgRGViaWFuIDQuMTguNi0xICgy MDE4LTA5LTA2KSB4ODZfNjQiLAorICAidGltZV9lbGFwc2VkIjp7CisgICAgIl9fdHlwZV9fIjoi VGltZUF0dHJpYnV0ZSIsCisgICAgInN0YXJ0IjoxNTM5OTUzNzM1LjExMTAzODksCisgICAgImVu ZCI6MTUzOTk1MzczNS4xNzIzNzMxCisgIH0sCisgICJ0ZXN0cyI6eworICAgICJpZ3RAcnVubmVy QGFib3J0ZWQiOnsKKwkib3V0IjoiQWJvcnRlZCBhZnRlcjogc3RhcnR1cFxuXG5LZXJuZWwgdGFp bnRlZCAoMHgyMDApXG4iLAorCSJyZXN1bHQiOiJmYWlsIiwKKwkiZXJyIjoiIiwKKwkiZG1lc2ci OiIiLAorICAgIH0KKyAgfSwKKyAgInRvdGFscyI6eworICAgICIiOnsKKyAgICAgICJjcmFzaCI6 MCwKKyAgICAgICJwYXNzIjowLAorICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ct d2FybiI6MCwKKyAgICAgICJza2lwIjowLAorICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAi dGltZW91dCI6MCwKKyAgICAgICJub3RydW4iOjAsCisgICAgICAiZmFpbCI6MSwKKyAgICAgICJ3 YXJuIjowCisgICAgfSwKKyAgICAicm9vdCI6eworICAgICAgImNyYXNoIjowLAorICAgICAgInBh c3MiOjAsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjowLAorICAg ICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0IjowLAor ICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4iOjAKKyAgICB9 LAorICAgICJpZ3RAcnVubmVyIjp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFzcyI6MCwK KyAgICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAgICAic2tp cCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisgICAgICAi bm90cnVuIjowLAorICAgICAgImZhaWwiOjEsCisgICAgICAid2FybiI6MAorICAgIH0sCisgIH0s CisgICJydW50aW1lcyI6eworICB9Cit9CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19k YXRhL2Fib3J0ZWQtb24tYm9vdC9zdGFydHRpbWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLW9uLWJvb3Qvc3RhcnR0aW1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMC4uYWUwMzhmMTgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9zdGFydHRpbWUudHh0CkBAIC0wLDAgKzEgQEAKKzE1Mzk5 NTM3MzUuMTExMDM5CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQt b24tYm9vdC91bmFtZS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9v dC91bmFtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmE3YWVmNmY3 Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJv b3QvdW5hbWUudHh0CkBAIC0wLDAgKzEgQEAKK0xpbnV4IGhvc3RuYW1lIDQuMTguMC0xLWFtZDY0 ICMxIFNNUCBEZWJpYW4gNC4xOC42LTEgKDIwMTgtMDktMDYpIHg4Nl82NApkaWZmIC0tZ2l0IGEv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9kbWVzZy1yZXN1bHRzL21ldGFkYXRhLnR4dCBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvZG1lc2ctcmVzdWx0cy9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2 MGQuLmM1MDFhZTBlIDEwMDY0NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2RtZXNnLXJl c3VsdHMvbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvZG1lc2ctcmVz dWx0cy9tZXRhZGF0YS50eHQKQEAgLTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fi b3J0X21hc2sgOiAwCiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRp ZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2luY29tcGxldGUtYmVmb3JlLWFueS1z dWJ0ZXN0cy9tZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2luY29tcGxldGUt YmVmb3JlLWFueS1zdWJ0ZXN0cy9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2MGQuLmM1MDFhZTBl IDEwMDY0NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2luY29tcGxldGUtYmVmb3JlLWFu eS1zdWJ0ZXN0cy9tZXRhZGF0YS50eHQKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9pbmNv bXBsZXRlLWJlZm9yZS1hbnktc3VidGVzdHMvbWV0YWRhdGEudHh0CkBAIC0xLDQgKzEsNCBAQAot YWJvcnRfb25fZXJyb3IgOiAwCithYm9ydF9tYXNrIDogMAogbmFtZSA6IG5vcm1hbC1ydW4KIGRy eV9ydW4gOiAwCiBzeW5jIDogMApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9u b3JtYWwtcnVuL21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvbm9ybWFsLXJ1 bi9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2MGQuLmM1MDFhZTBlIDEwMDY0NAotLS0gYS9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL25vcm1hbC1ydW4vbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9q c29uX3Rlc3RzX2RhdGEvbm9ybWFsLXJ1bi9tZXRhZGF0YS50eHQKQEAgLTEsNCArMSw0IEBACi1h Ym9ydF9vbl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAwCiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5 X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3Bp Z2xpdC1zdHlsZS1kbWVzZy9tZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3Bp Z2xpdC1zdHlsZS1kbWVzZy9tZXRhZGF0YS50eHQKaW5kZXggN2YxMzcyYzEuLjNlY2E3OGNkIDEw MDY0NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3BpZ2xpdC1zdHlsZS1kbWVzZy9tZXRh ZGF0YS50eHQKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9waWdsaXQtc3R5bGUtZG1lc2cv bWV0YWRhdGEudHh0CkBAIC0xLDQgKzEsNCBAQAotYWJvcnRfb25fZXJyb3IgOiAwCithYm9ydF9t YXNrIDogMAogbmFtZSA6IG5vcm1hbC1ydW4KIGRyeV9ydW4gOiAwCiBzeW5jIDogMApkaWZmIC0t Z2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy13aXRoLWRtZXNnLXdhcm5zL21l dGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3Mtd2l0aC1kbWVzZy13 YXJucy9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2MGQuLmM1MDFhZTBlIDEwMDY0NAotLS0gYS9y dW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzLXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEu dHh0CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3Mtd2l0aC1kbWVzZy13YXJu cy9tZXRhZGF0YS50eHQKQEAgLTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fib3J0 X21hc2sgOiAwCiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYg LS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRhLnR4dCBiL3J1 bm5lci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3MvbWV0YWRhdGEudHh0CmluZGV4IDEzMTY1NjBk Li5jNTAxYWUwZSAxMDA2NDQKLS0tIGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy9t ZXRhZGF0YS50eHQKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy9tZXRhZGF0 YS50eHQKQEAgLTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAw CiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9y dW5uZXIvcmVzdWx0Z2VuLmMgYi9ydW5uZXIvcmVzdWx0Z2VuLmMKaW5kZXggYTYyZTQwMGUuLmIw OTMzYWQ3IDEwMDY0NAotLS0gYS9ydW5uZXIvcmVzdWx0Z2VuLmMKKysrIGIvcnVubmVyL3Jlc3Vs dGdlbi5jCkBAIC02NDksNiArNjQ5LDcgQEAgc3RhdGljIGJvb2wgZmlsbF9mcm9tX2RtZXNnKGlu dCBmZCwKIAkJYXBwZW5kX2xpbmUoJmRtZXNnLCAmZG1lc2dsZW4sIGZvcm1hdHRlZCk7CiAJCWZy ZWUoZm9ybWF0dGVkKTsKIAl9CisJZnJlZShsaW5lKTsKIAogCWlmIChjdXJyZW50X3Rlc3QgIT0g TlVMTCkgewogCQlhZGRfZG1lc2coY3VycmVudF90ZXN0LCBkbWVzZywgZG1lc2dsZW4sIHdhcm5p bmdzLCB3YXJuaW5nc2xlbik7CkBAIC03MTcsNiArNzE4LDE1IEBAIHN0YXRpYyB2b2lkIGFkZF9z dWJ0ZXN0KHN0cnVjdCBzdWJ0ZXN0cyAqc3VidGVzdHMsIGNoYXIgKnN1YnRlc3QpCiAJc3VidGVz dHMtPm5hbWVzW3N1YnRlc3RzLT5zaXplIC0gMV0gPSBzdWJ0ZXN0OwogfQogCitzdGF0aWMgdm9p ZCBmcmVlX3N1YnRlc3RzKHN0cnVjdCBzdWJ0ZXN0cyAqc3VidGVzdHMpCit7CisJc2l6ZV90IGk7 CisKKwlmb3IgKGkgPSAwOyBpIDwgc3VidGVzdHMtPnNpemU7IGkrKykKKwkJZnJlZShzdWJ0ZXN0 cy0+bmFtZXNbaV0pOworCWZyZWUoc3VidGVzdHMtPm5hbWVzKTsKK30KKwogc3RhdGljIHZvaWQg ZmlsbF9mcm9tX2pvdXJuYWwoaW50IGZkLAogCQkJICAgICAgc3RydWN0IGpvYl9saXN0X2VudHJ5 ICplbnRyeSwKIAkJCSAgICAgIHN0cnVjdCBzdWJ0ZXN0cyAqc3VidGVzdHMsCkBAIC05MDIsNyAr OTEyLDcgQEAgc3RhdGljIHZvaWQgYWRkX3Jlc3VsdF90b190b3RhbHMoc3RydWN0IGpzb25fb2Jq ZWN0ICp0b3RhbHMsCiAJanNvbl9vYmplY3Rfb2JqZWN0X2FkZCh0b3RhbHMsIHJlc3VsdCwganNv bl9vYmplY3RfbmV3X2ludChvbGQgKyAxKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZF90b190b3Rh bHMoY2hhciAqYmluYXJ5LAorc3RhdGljIHZvaWQgYWRkX3RvX3RvdGFscyhjb25zdCBjaGFyICpi aW5hcnksCiAJCQkgIHN0cnVjdCBzdWJ0ZXN0cyAqc3VidGVzdHMsCiAJCQkgIHN0cnVjdCByZXN1 bHRzICpyZXN1bHRzKQogewpAQCAtOTUwLDYgKzk2MCw3IEBAIHN0YXRpYyBib29sIHBhcnNlX3Rl c3RfZGlyZWN0b3J5KGludCBkaXJmZCwKIHsKIAlpbnQgZmRzW19GX0xBU1RdOwogCXN0cnVjdCBz dWJ0ZXN0cyBzdWJ0ZXN0cyA9IHt9OworCWJvb2wgc3RhdHVzID0gdHJ1ZTsKIAogCWlmICghb3Bl bl9vdXRwdXRfZmlsZXMoZGlyZmQsIGZkcywgZmFsc2UpKSB7CiAJCWZwcmludGYoc3RkZXJyLCAi RXJyb3Igb3BlbmluZyBvdXRwdXQgZmlsZXNcbiIpOwpAQCAtOTY2LDE1ICs5NzcsMTggQEAgc3Rh dGljIGJvb2wgcGFyc2VfdGVzdF9kaXJlY3RvcnkoaW50IGRpcmZkLAogCSAgICAhZmlsbF9mcm9t X291dHB1dChmZHNbX0ZfRVJSXSwgZW50cnktPmJpbmFyeSwgImVyciIsICZzdWJ0ZXN0cywgcmVz dWx0cy0+dGVzdHMpIHx8CiAJICAgICFmaWxsX2Zyb21fZG1lc2coZmRzW19GX0RNRVNHXSwgc2V0 dGluZ3MsIGVudHJ5LT5iaW5hcnksICZzdWJ0ZXN0cywgcmVzdWx0cy0+dGVzdHMpKSB7CiAJCWZw cmludGYoc3RkZXJyLCAiRXJyb3IgcGFyc2luZyBvdXRwdXQgZmlsZXNcbiIpOwotCQlyZXR1cm4g ZmFsc2U7CisJCXN0YXR1cyA9IGZhbHNlOworCQlnb3RvIHBhcnNlX291dHB1dF9lbmQ7CiAJfQog CiAJb3ZlcnJpZGVfcmVzdWx0cyhlbnRyeS0+YmluYXJ5LCAmc3VidGVzdHMsIHJlc3VsdHMtPnRl c3RzKTsKIAlhZGRfdG9fdG90YWxzKGVudHJ5LT5iaW5hcnksICZzdWJ0ZXN0cywgcmVzdWx0cyk7 CiAKKyBwYXJzZV9vdXRwdXRfZW5kOgogCWNsb3NlX291dHB1dHMoZmRzKTsKKwlmcmVlX3N1YnRl c3RzKCZzdWJ0ZXN0cyk7CiAKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gc3RhdHVzOwogfQogCiBz dGF0aWMgdm9pZCBjcmVhdGVfcmVzdWx0X3Jvb3Rfbm9kZXMoc3RydWN0IGpzb25fb2JqZWN0ICpy b290LApAQCAtMTA3Nyw2ICsxMDkxLDM0IEBAIHN0cnVjdCBqc29uX29iamVjdCAqZ2VuZXJhdGVf cmVzdWx0c19qc29uKGludCBkaXJmZCkKIAkJY2xvc2UodGVzdGRpcmZkKTsKIAl9CiAKKwlpZiAo KGZkID0gb3BlbmF0KGRpcmZkLCAiYWJvcnRlZC50eHQiLCBPX1JET05MWSkpID49IDApIHsKKwkJ Y2hhciBidWZbNDA5Nl07CisJCWNoYXIgcGlnbGl0X25hbWVbXSA9ICJpZ3RAcnVubmVyQGFib3J0 ZWQiOworCQlzdHJ1Y3Qgc3VidGVzdHMgYWJvcnRzdWIgPSB7fTsKKwkJc3RydWN0IGpzb25fb2Jq ZWN0ICphYm9ydHRlc3QgPSBnZXRfb3JfY3JlYXRlX2pzb25fb2JqZWN0KHJlc3VsdHMudGVzdHMs IHBpZ2xpdF9uYW1lKTsKKwkJc3NpemVfdCBzOworCisJCWFkZF9zdWJ0ZXN0KCZhYm9ydHN1Yiwg c3RyZHVwKCJhYm9ydGVkIikpOworCisJCXMgPSByZWFkKGZkLCBidWYsIHNpemVvZihidWYpKTsK KworCQlqc29uX29iamVjdF9vYmplY3RfYWRkKGFib3J0dGVzdCwgIm91dCIsCisJCQkJICAgICAg IGpzb25fb2JqZWN0X25ld19zdHJpbmdfbGVuKGJ1ZiwgcykpOworCQlqc29uX29iamVjdF9vYmpl Y3RfYWRkKGFib3J0dGVzdCwgImVyciIsCisJCQkJICAgICAgIGpzb25fb2JqZWN0X25ld19zdHJp bmcoIiIpKTsKKwkJanNvbl9vYmplY3Rfb2JqZWN0X2FkZChhYm9ydHRlc3QsICJkbWVzZyIsCisJ CQkJICAgICAgIGpzb25fb2JqZWN0X25ld19zdHJpbmcoIiIpKTsKKwkJanNvbl9vYmplY3Rfb2Jq ZWN0X2FkZChhYm9ydHRlc3QsICJyZXN1bHQiLAorCQkJCSAgICAgICBqc29uX29iamVjdF9uZXdf c3RyaW5nKCJmYWlsIikpOworCisJCWFkZF90b190b3RhbHMoInJ1bm5lciIsICZhYm9ydHN1Yiwg JnJlc3VsdHMpOworCisJCWZyZWVfc3VidGVzdHMoJmFib3J0c3ViKTsKKwl9CisKKwlmcmVlX3Nl dHRpbmdzKCZzZXR0aW5ncyk7CisJZnJlZV9qb2JfbGlzdCgmam9iX2xpc3QpOworCiAJcmV0dXJu IG9iajsKIH0KIApkaWZmIC0tZ2l0IGEvcnVubmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMgYi9ydW5u ZXIvcnVubmVyX2pzb25fdGVzdHMuYwppbmRleCA3NTg3MDBkNC4uNzVkNjIzN2YgMTAwNjQ0Ci0t LSBhL3J1bm5lci9ydW5uZXJfanNvbl90ZXN0cy5jCisrKyBiL3J1bm5lci9ydW5uZXJfanNvbl90 ZXN0cy5jCkBAIC0xNTQsNiArMTU0LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKmRpcm5hbWVzW10g PSB7CiAJInBpZ2xpdC1zdHlsZS1kbWVzZyIsCiAJImluY29tcGxldGUtYmVmb3JlLWFueS1zdWJ0 ZXN0cyIsCiAJImRtZXNnLXJlc3VsdHMiLAorCSJhYm9ydGVkLW9uLWJvb3QiLAorCSJhYm9ydGVk LWFmdGVyLWEtdGVzdCIsCiB9OwogCiBpZ3RfbWFpbgpkaWZmIC0tZ2l0IGEvcnVubmVyL3J1bm5l cl90ZXN0cy5jIGIvcnVubmVyL3J1bm5lcl90ZXN0cy5jCmluZGV4IGQwN2U2ZjM3Li42MjEzYjhl NyAxMDA2NDQKLS0tIGEvcnVubmVyL3J1bm5lcl90ZXN0cy5jCisrKyBiL3J1bm5lci9ydW5uZXJf dGVzdHMuYwpAQCAtMTQyLDcgKzE0Miw3IEBAIHN0YXRpYyB2b2lkIGFzc2VydF9zZXR0aW5nc19l cXVhbChzdHJ1Y3Qgc2V0dGluZ3MgKm9uZSwgc3RydWN0IHNldHRpbmdzICp0d28pCiAJICogUmVn ZXggbGlzdHMgYXJlIG5vdCBzZXJpYWxpemVkLCBhbmQgdGh1cyB3b24ndCBiZSBjb21wYXJlZAog CSAqIGhlcmUuCiAJICovCi0JaWd0X2Fzc2VydF9lcShvbmUtPmFib3J0X29uX2Vycm9yLCB0d28t PmFib3J0X29uX2Vycm9yKTsKKwlpZ3RfYXNzZXJ0X2VxKG9uZS0+YWJvcnRfbWFzaywgdHdvLT5h Ym9ydF9tYXNrKTsKIAlpZ3RfYXNzZXJ0X2Vxc3RyKG9uZS0+dGVzdF9saXN0LCB0d28tPnRlc3Rf bGlzdCk7CiAJaWd0X2Fzc2VydF9lcXN0cihvbmUtPm5hbWUsIHR3by0+bmFtZSk7CiAJaWd0X2Fz c2VydF9lcShvbmUtPmRyeV9ydW4sIHR3by0+ZHJ5X3J1bik7CkBAIC0yMDgsNyArMjA4LDcgQEAg aWd0X21haW4KIAogCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2KSwg KGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKIAotCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy5hYm9y dF9vbl9lcnJvcik7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywgMCk7CiAJ CWlndF9hc3NlcnQoIXNldHRpbmdzLnRlc3RfbGlzdCk7CiAJCWlndF9hc3NlcnRfZXFzdHIoc2V0 dGluZ3MubmFtZSwgInBhdGgtdG8tcmVzdWx0cyIpOwogCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy5k cnlfcnVuKTsKQEAgLTMyMyw3ICszMjMsNyBAQCBpZ3RfbWFpbgogCQlzZXRlbnYoIklHVF9URVNU X1JPT1QiLCB0ZXN0ZGF0YWRpciwgMSk7CiAJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJB WV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOwogCi0JCWlndF9hc3NlcnQo IXNldHRpbmdzLmFib3J0X29uX2Vycm9yKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5hYm9y dF9tYXNrLCAwKTsKIAkJaWd0X2Fzc2VydCghc2V0dGluZ3MudGVzdF9saXN0KTsKIAkJaWd0X2Fz c2VydF9lcXN0cihzZXR0aW5ncy5uYW1lLCAicGF0aC10by1yZXN1bHRzIik7CiAJCWlndF9hc3Nl cnQoIXNldHRpbmdzLmRyeV9ydW4pOwpAQCAtMzQ4LDcgKzM0OCw3IEBAIGlndF9tYWluCiAJaWd0 X3N1YnRlc3QoInBhcnNlLWFsbC1zZXR0aW5ncyIpIHsKIAkJY29uc3QgY2hhciAqYXJndltdID0g eyAicnVubmVyIiwKIAkJCQkgICAgICAgIi1uIiwgImZvbyIsCi0JCQkJICAgICAgICItLWFib3J0 LW9uLW1vbml0b3JlZC1lcnJvciIsCisJCQkJICAgICAgICItLWFib3J0LW9uLW1vbml0b3JlZC1l cnJvcj10YWludCxsb2NrZGVwIiwKIAkJCQkgICAgICAgIi0tdGVzdC1saXN0IiwgInBhdGgtdG8t dGVzdC1saXN0IiwKIAkJCQkgICAgICAgIi0taWdub3JlLW1pc3NpbmciLAogCQkJCSAgICAgICAi LS1kcnktcnVuIiwKQEAgLTM3MCw3ICszNzAsNyBAQCBpZ3RfbWFpbgogCiAJCWlndF9hc3NlcnQo cGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykp OwogCi0JCWlndF9hc3NlcnQoc2V0dGluZ3MuYWJvcnRfb25fZXJyb3IpOworCQlpZ3RfYXNzZXJ0 X2VxKHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX1RBSU5UIHwgQUJPUlRfTE9DS0RFUCk7CiAJ CWlndF9hc3NlcnQoc3Ryc3RyKHNldHRpbmdzLnRlc3RfbGlzdCwgInBhdGgtdG8tdGVzdC1saXN0 IikgIT0gTlVMTCk7CiAJCWlndF9hc3NlcnRfZXFzdHIoc2V0dGluZ3MubmFtZSwgImZvbyIpOwog CQlpZ3RfYXNzZXJ0KHNldHRpbmdzLmRyeV9ydW4pOwpAQCAtNDI4LDYgKzQyOCw0NSBAQCBpZ3Rf bWFpbgogCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmxvZ19sZXZlbCwgTE9HX0xFVkVMX1ZFUkJP U0UpOwogCX0KIAorCWlndF9zdWJ0ZXN0KCJhYm9ydC1jb25kaXRpb25zIikgeworCQljb25zdCBj aGFyICphcmd2W10gPSB7ICJydW5uZXIiLAorCQkJCSAgICAgICAiLS1hYm9ydC1vbi1tb25pdG9y ZWQtZXJyb3I9dGFpbnQiLAorCQkJCSAgICAgICAidGVzdC1yb290LWRpciIsCisJCQkJICAgICAg ICJyZXN1bHRzLXBhdGgiLAorCQl9OworCisJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJB WV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2Vx KHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX1RBSU5UKTsKKworCQlhcmd2WzFdID0gIi0tYWJv cnQtb24tbW9uaXRvcmVkLWVycm9yPWxvY2tkZXAiOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlv bnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fz c2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCBBQk9SVF9MT0NLREVQKTsKKworCQlhcmd2WzFd ID0gIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPXRhaW50IjsKKwkJaWd0X2Fzc2VydChwYXJz ZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisJ CWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywgQUJPUlRfVEFJTlQpOworCisJCWFy Z3ZbMV0gPSAiLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJyb3I9bG9ja2RlcCx0YWludCI7CisJCWln dF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZz ZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX1RB SU5UIHwgQUJPUlRfTE9DS0RFUCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3Jl ZC1lcnJvcj10YWludCxsb2NrZGVwIjsKKwkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZ X1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEo c2V0dGluZ3MuYWJvcnRfbWFzaywgQUJPUlRfVEFJTlQgfCBBQk9SVF9MT0NLREVQKTsKKworCQlh cmd2WzFdID0gIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPWFsbCI7CisJCWlndF9hc3NlcnQo cGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykp OworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX0FMTCk7CisKKwkJ YXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcj0iOworCQlpZ3RfYXNzZXJ0KHBh cnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsK KwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCAwKTsKKworCQlhcmd2WzFdID0g Ii0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPWRvZXNub3RleGlzdCI7CisJCWlndF9hc3NlcnQo IXBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3Mp KTsKKworCX0KKwogCWlndF9zdWJ0ZXN0KCJwYXJzZS1jbGVhcnMtb2xkLWRhdGEiKSB7CiAJCWNv bnN0IGNoYXIgKmFyZ3ZbXSA9IHsgInJ1bm5lciIsCiAJCQkJICAgICAgICItbiIsICJmb28iLApk aWZmIC0tZ2l0IGEvcnVubmVyL3NldHRpbmdzLmMgYi9ydW5uZXIvc2V0dGluZ3MuYwppbmRleCBl MjQwMTQ1NS4uZTY0MjQ0ZTYgMTAwNjQ0Ci0tLSBhL3J1bm5lci9zZXR0aW5ncy5jCisrKyBiL3J1 bm5lci9zZXR0aW5ncy5jCkBAIC00MSw2ICs0MSwxNiBAQCBzdGF0aWMgc3RydWN0IHsKIAl7IDAs IDAgfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgeworCWludCB2YWx1ZTsKKwljb25zdCBjaGFyICpu YW1lOworfSBhYm9ydF9jb25kaXRpb25zW10gPSB7CisJeyBBQk9SVF9UQUlOVCwgInRhaW50IiB9 LAorCXsgQUJPUlRfTE9DS0RFUCwgImxvY2tkZXAiIH0sCisJeyBBQk9SVF9BTEwsICJhbGwiIH0s CisJeyAwLCAwIH0sCit9OworCiBzdGF0aWMgYm9vbCBzZXRfbG9nX2xldmVsKHN0cnVjdCBzZXR0 aW5ncyogc2V0dGluZ3MsIGNvbnN0IGNoYXIgKmxldmVsKQogewogCXR5cGVvZigqbG9nX2xldmVs cykgKml0OwpAQCAtNTUsNiArNjUsNTYgQEAgc3RhdGljIGJvb2wgc2V0X2xvZ19sZXZlbChzdHJ1 Y3Qgc2V0dGluZ3MqIHNldHRpbmdzLCBjb25zdCBjaGFyICpsZXZlbCkKIAlyZXR1cm4gZmFsc2U7 CiB9CiAKK3N0YXRpYyBib29sIHNldF9hYm9ydF9jb25kaXRpb24oc3RydWN0IHNldHRpbmdzKiBz ZXR0aW5ncywgY29uc3QgY2hhciAqY29uZCkKK3sKKwl0eXBlb2YoKmFib3J0X2NvbmRpdGlvbnMp ICppdDsKKworCWlmICghY29uZCkgeworCQlzZXR0aW5ncy0+YWJvcnRfbWFzayA9IEFCT1JUX0FM TDsKKwkJcmV0dXJuIHRydWU7CisJfQorCisJaWYgKHN0cmxlbihjb25kKSA9PSAwKSB7CisJCXNl dHRpbmdzLT5hYm9ydF9tYXNrID0gMDsKKwkJcmV0dXJuIHRydWU7CisJfQorCisJZm9yIChpdCA9 IGFib3J0X2NvbmRpdGlvbnM7IGl0LT5uYW1lOyBpdCsrKSB7CisJCWlmICghc3RyY21wKGNvbmQs IGl0LT5uYW1lKSkgeworCQkJc2V0dGluZ3MtPmFib3J0X21hc2sgfD0gaXQtPnZhbHVlOworCQkJ cmV0dXJuIHRydWU7CisJCX0KKwl9CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29s IHBhcnNlX2Fib3J0X2NvbmRpdGlvbnMoc3RydWN0IHNldHRpbmdzICpzZXR0aW5ncywgY29uc3Qg Y2hhciAqb3B0YXJnKQoreworCWNoYXIgKmR1cCwgKm9yaWdkdXAsICpwOworCWlmICghb3B0YXJn KQorCQlyZXR1cm4gc2V0X2Fib3J0X2NvbmRpdGlvbihzZXR0aW5ncywgTlVMTCk7CisKKwlvcmln ZHVwID0gZHVwID0gc3RyZHVwKG9wdGFyZyk7CisJd2hpbGUgKGR1cCkgeworCQlpZiAoKHAgPSBz dHJjaHIoZHVwLCAnLCcpKSAhPSBOVUxMKSB7CisJCQkqcCA9ICdcMCc7CisJCQlwKys7CisJCX0K KworCQlpZiAoIXNldF9hYm9ydF9jb25kaXRpb24oc2V0dGluZ3MsIGR1cCkpIHsKKwkJCWZyZWUo b3JpZ2R1cCk7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKworCQlkdXAgPSBwOworCX0KKworCWZy ZWUob3JpZ2R1cCk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGNvbnN0IGNoYXIgKnVz YWdlX3N0ciA9CiAJInVzYWdlOiBydW5uZXIgW29wdGlvbnNdIFt0ZXN0X3Jvb3RdIHJlc3VsdHMt cGF0aFxuXG4iCiAJIk9wdGlvbnM6XG4iCkBAIC02Nyw5ICsxMjcsMTUgQEAgc3RhdGljIGNvbnN0 IGNoYXIgKnVzYWdlX3N0ciA9CiAJIiAgICAgICAgICAgICAgICAgICAgICAgIFJ1biBvbmx5IG1h dGNoaW5nIHRlc3RzIChjYW4gYmUgdXNlZCBtb3JlIHRoYW4gb25jZSlcbiIKIAkiICAteCA8cmVn ZXg+LCAtLWV4Y2x1ZGUtdGVzdHMgPHJlZ2V4PlxuIgogCSIgICAgICAgICAgICAgICAgICAgICAg ICBFeGNsdWRlIG1hdGNoaW5nIHRlc3RzIChjYW4gYmUgdXNlZCBtb3JlIHRoYW4gb25jZSlcbiIK LQkiICAtLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvclxuIgorCSIgIC0tYWJvcnQtb24tbW9uaXRv cmVkLWVycm9yWz1saXN0XVxuIgogCSIgICAgICAgICAgICAgICAgICAgICAgICBBYm9ydCBleGVj dXRpb24gd2hlbiBhIGZhdGFsIGNvbmRpdGlvbiBpcyBkZXRlY3RlZC5cbiIKLQkiICAgICAgICAg ICAgICAgICAgICAgICAgPFRPRE8+XG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIEEgY29t bWEtc2VwYXJhdGVkIGxpc3Qgb2YgY29uZGl0aW9ucyB0byBjaGVjayBjYW4gYmVcbiIKKwkiICAg ICAgICAgICAgICAgICAgICAgICAgZ2l2ZW4uIElmIG5vdCBnaXZlbiwgYWxsIGNvbmRpdGlvbnMg YXJlIGNoZWNrZWQuIEFuXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5IHN0cmlu ZyBhcyBhIGNvbmRpdGlvbiBkaXNhYmxlcyBhYm9ydGluZ1xuIgorCSIgICAgICAgICAgICAgICAg ICAgICAgICBQb3NzaWJsZSBjb25kaXRpb25zOlxuIgorCSIgICAgICAgICAgICAgICAgICAgICAg ICAgbG9ja2RlcCAtIGFib3J0IHdoZW4ga2VybmVsIGxvY2tkZXAgaGFzIGJlZW4gYW5nZXJlZC5c biIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgIHRhaW50ICAgLSBhYm9ydCB3aGVuIGtlcm5l bCBiZWNvbWVzIGZhdGFsbHkgdGFpbnRlZC5cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAg IGFsbCAgICAgLSBhYm9ydCBmb3IgYWxsIG9mIHRoZSBhYm92ZS5cbiIKIAkiICAtcywgLS1zeW5j ICAgICAgICAgICAgU3luYyByZXN1bHRzIHRvIGRpc2sgYWZ0ZXIgZXZlcnkgdGVzdFxuIgogCSIg IC1sIHtxdWlldCx2ZXJib3NlLGR1bW15fSwgLS1sb2ctbGV2ZWwge3F1aWV0LHZlcmJvc2UsZHVt bXl9XG4iCiAJIiAgICAgICAgICAgICAgICAgICAgICAgIFNldCB0aGUgbG9nZ2VyIHZlcmJvc2l0 eSBsZXZlbFxuIgpAQCAtMTkzLDcgKzI1OSw3IEBAIGJvb2wgcGFyc2Vfb3B0aW9ucyhpbnQgYXJn YywgY2hhciAqKmFyZ3YsCiAJCXsiZHJ5LXJ1biIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfRFJZ X1JVTn0sCiAJCXsiaW5jbHVkZS10ZXN0cyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRf SU5DTFVERX0sCiAJCXsiZXhjbHVkZS10ZXN0cyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBP UFRfRVhDTFVERX0sCi0JCXsiYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yIiwgbm9fYXJndW1lbnQs IE5VTEwsIE9QVF9BQk9SVF9PTl9FUlJPUn0sCisJCXsiYWJvcnQtb24tbW9uaXRvcmVkLWVycm9y Iiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9BQk9SVF9PTl9FUlJPUn0sCiAJCXsic3lu YyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfU1lOQ30sCiAJCXsibG9nLWxldmVsIiwgcmVxdWly ZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9MT0dfTEVWRUx9LAogCQl7InRlc3QtbGlzdCIsIHJlcXVp cmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfVEVTVF9MSVNUfSwKQEAgLTIzMSw3ICsyOTcsOCBAQCBi b29sIHBhcnNlX29wdGlvbnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2LAogCQkJCWdvdG8gZXJyb3I7 CiAJCQlicmVhazsKIAkJY2FzZSBPUFRfQUJPUlRfT05fRVJST1I6Ci0JCQlzZXR0aW5ncy0+YWJv cnRfb25fZXJyb3IgPSB0cnVlOworCQkJaWYgKCFwYXJzZV9hYm9ydF9jb25kaXRpb25zKHNldHRp bmdzLCBvcHRhcmcpKQorCQkJCWdvdG8gZXJyb3I7CiAJCQlicmVhazsKIAkJY2FzZSBPUFRfU1lO QzoKIAkJCXNldHRpbmdzLT5zeW5jID0gdHJ1ZTsKQEAgLTQ0NCw3ICs1MTEsNyBAQCBib29sIHNl cmlhbGl6ZV9zZXR0aW5ncyhzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzKQogCQlyZXR1cm4gZmFs c2U7CiAJfQogCi0JU0VSSUFMSVpFX0xJTkUoZiwgc2V0dGluZ3MsIGFib3J0X29uX2Vycm9yLCAi JWQiKTsKKwlTRVJJQUxJWkVfTElORShmLCBzZXR0aW5ncywgYWJvcnRfbWFzaywgIiVkIik7CiAJ aWYgKHNldHRpbmdzLT50ZXN0X2xpc3QpCiAJCVNFUklBTElaRV9MSU5FKGYsIHNldHRpbmdzLCB0 ZXN0X2xpc3QsICIlcyIpOwogCWlmIChzZXR0aW5ncy0+bmFtZSkKQEAgLTUwMSw3ICs1NjgsNyBA QCBib29sIHJlYWRfc2V0dGluZ3Moc3RydWN0IHNldHRpbmdzICpzZXR0aW5ncywgaW50IGRpcmZk KQogCiAJd2hpbGUgKGZzY2FuZihmLCAiJW1zIDogJW1zIiwgJm5hbWUsICZ2YWwpID09IDIpIHsK IAkJaW50IG51bXZhbCA9IGF0b2kodmFsKTsKLQkJUEFSU0VfTElORShzZXR0aW5ncywgbmFtZSwg dmFsLCBhYm9ydF9vbl9lcnJvciwgbnVtdmFsKTsKKwkJUEFSU0VfTElORShzZXR0aW5ncywgbmFt ZSwgdmFsLCBhYm9ydF9tYXNrLCBudW12YWwpOwogCQlQQVJTRV9MSU5FKHNldHRpbmdzLCBuYW1l LCB2YWwsIHRlc3RfbGlzdCwgdmFsID8gc3RyZHVwKHZhbCkgOiBOVUxMKTsKIAkJUEFSU0VfTElO RShzZXR0aW5ncywgbmFtZSwgdmFsLCBuYW1lLCB2YWwgPyBzdHJkdXAodmFsKSA6IE5VTEwpOwog CQlQQVJTRV9MSU5FKHNldHRpbmdzLCBuYW1lLCB2YWwsIGRyeV9ydW4sIG51bXZhbCk7CmRpZmYg LS1naXQgYS9ydW5uZXIvc2V0dGluZ3MuaCBiL3J1bm5lci9zZXR0aW5ncy5oCmluZGV4IGI0ODlh YmM1Li4yNjdkNzJjZiAxMDA2NDQKLS0tIGEvcnVubmVyL3NldHRpbmdzLmgKKysrIGIvcnVubmVy L3NldHRpbmdzLmgKQEAgLTEyLDYgKzEyLDEyIEBAIGVudW0gewogCUxPR19MRVZFTF9WRVJCT1NF ID0gMSwKIH07CiAKKyNkZWZpbmUgQUJPUlRfVEFJTlQgICAoMSA8PCAwKQorI2RlZmluZSBBQk9S VF9MT0NLREVQICgxIDw8IDEpCisjZGVmaW5lIEFCT1JUX0FMTCAgICAgKEFCT1JUX1RBSU5UIHwg QUJPUlRfTE9DS0RFUCkKKworX1N0YXRpY19hc3NlcnQoQUJPUlRfQUxMID09IChBQk9SVF9UQUlO VCB8IEFCT1JUX0xPQ0tERVApLCAiQUJPUlRfQUxMIG11c3QgYmUgYWxsIGNvbmRpdGlvbnMgYml0 d2lzZSBvcidkIik7CisKIHN0cnVjdCByZWdleF9saXN0IHsKIAljaGFyICoqcmVnZXhfc3RyaW5n czsKIAlyZWdleF90KiogcmVnZXhlczsKQEAgLTE5LDcgKzI1LDcgQEAgc3RydWN0IHJlZ2V4X2xp c3QgewogfTsKIAogc3RydWN0IHNldHRpbmdzIHsKLQlib29sIGFib3J0X29uX2Vycm9yOworCWlu dCBhYm9ydF9tYXNrOwogCWNoYXIgKnRlc3RfbGlzdDsKIAljaGFyICpuYW1lOwogCWJvb2wgZHJ5 X3J1bjsKLS0gCjIuMTguMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2 Cg==