From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH i-g-t v4 1/7] tests: Stop looking at plane private members Date: Fri, 29 Sep 2017 16:13:07 +0300 Message-ID: <1506690787.3274.21.camel@intel.com> References: <20170929095937.15702-1-maarten.lankhorst@linux.intel.com> <20170929095937.15702-2-maarten.lankhorst@linux.intel.com> Reply-To: mika.kahola@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED2A06E27C for ; Fri, 29 Sep 2017 13:11:07 +0000 (UTC) In-Reply-To: <20170929095937.15702-2-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTA5LTI5IGF0IDExOjU5ICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBNb3N0IG9mIHRoZXNlIHRlc3RzIGhhdmUgbm8gcmVhc29uIHRvIGxvb2sgYXQgdGhvc2Ug bWVtYmVycywKPiBzbyB0cnkgb3RoZXIgd2F5cyBvZiBnZXR0aW5nIHRoZSBpbmZvcm1hdGlvbi4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogTWlrYSBLYWhvbGEgPG1pa2Eua2Fob2xhQGlu dGVsLmNvbT4KCj4gLS0tCj4gwqBsaWIvaWd0X2ttcy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgMjEgKysrKysrKysKPiDCoHRlc3RzL2ttc19hdG9taWNfdHJhbnNpdGlv bi5jIHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gLS0tLS0tLS0tLQo+ IMKgdGVzdHMva21zX2J1c3kuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNSAr LQo+IMKgdGVzdHMva21zX2NvbmN1cnJlbnQuY8KgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArLQo+ IMKgdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuY8KgwqDCoMKgwqB8wqDCoMKgNiArLS0KPiDCoHRl c3RzL2ttc19mYmNfY3JjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDMgKy0KPiDCoHRl c3RzL2ttc19wYW5lbF9maXR0aW5nLmPCoMKgwqDCoMKgfMKgwqAxNCArLS0tLQo+IMKgdGVzdHMv a21zX3BsYW5lX3NjYWxpbmcuY8KgwqDCoMKgwqB8wqDCoDE0ICstLS0tCj4gwqB0ZXN0cy9rbXNf cm1mYi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAyICstCj4gwqB0ZXN0cy9r bXNfcm90YXRpb25fY3JjLmPCoMKgwqDCoMKgwqB8wqDCoDEwIC0tLS0KPiDCoDEwIGZpbGVzIGNo YW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDEwMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvbGliL2lndF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKPiBpbmRleCAzZDEwNjFmYTA4YzguLjYy MTk3ZGNmZWE3YiAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2ttcy5oCj4gKysrIGIvbGliL2lndF9r bXMuaAo+IEBAIC01NTYsNiArNTU2LDI3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbAo+IGlndF9vdXRw dXRfaXNfY29ubmVjdGVkKGlndF9vdXRwdXRfdCAqb3V0cHV0KQo+IMKgCWlndF9hc3NlcnRfbHQo MCwgZHJtTW9kZUF0b21pY0FkZFByb3BlcnR5KHJlcSwgb3V0cHV0LQo+ID5jb25maWcuY29ubmVj dG9yLT5jb25uZWN0b3JfaWQsXAo+IMKgCQkJCQkJwqDCoG91dHB1dC0KPiA+Y29uZmlnLmF0b21p Y19wcm9wc19jb25uZWN0b3JbcHJvcF0sIHZhbHVlKSkKPiDCoAo+ICsvKgo+ICsgKiBpZ3RfcGlw ZV9yZWZyZXNoOgo+ICsgKiBAZGlzcGxheTogYSBwb2ludGVyIHRvIGFuICNpZ3RfZGlzcGxheV90 IHN0cnVjdHVyZQo+ICsgKiBAcGlwZTogUGlwZSB0byByZWZyZXNoCj4gKyAqIEBmb3JjZTogU2hv dWxkIGJlIHNldCB0byB0cnVlIGlmIG1vZGVfYmxvYiBpcyBubyBsb25nZXIKPiBjb25zaWRlcmVk Cj4gKyAqIHRvIGJlIHZhbGlkLCBmb3IgZXhhbXBsZSBhZnRlciBkb2luZyBhbiBhdG9taWMgY29t bWl0IGR1cmluZyBmb3JrCj4gb3IgY2xvc2luZyBkaXNwbGF5IGZkLgo+ICsgKgo+ICsgKiBSZXF1 ZXN0cyB0aGUgcGlwZSB0byBiZSBwYXJ0IG9mIHRoZSBzdGF0ZSBvbiBuZXh0IHVwZGF0ZS4KPiAr ICogVGhpcyBpcyB1c2VmdWwgd2hlbiBzdGF0ZSBtYXkgaGF2ZSBiZWVuIG91dCBvZiBzeW5jIGFm dGVyCj4gKyAqIGEgZm9yaywgb3Igd2UganVzdCB3YW50IHRvIGJlIHN1cmUgdGhlIHBpcGUgaXMg aW5jbHVkZWQKPiArICogaW4gdGhlIG5leHQgY29tbWl0Lgo+ICsgKi8KPiArc3RhdGljIGlubGlu ZSB2b2lkCj4gK2lndF9waXBlX3JlZnJlc2goaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBw aXBlIHBpcGUsIGJvb2wgZm9yY2UpCj4gK3sKPiArCWlmIChmb3JjZSkKPiArCQlkaXNwbGF5LT5w aXBlc1twaXBlXS5tb2RlX2Jsb2IgPSAwOwo+ICsKPiArCWRpc3BsYXktPnBpcGVzW3BpcGVdLm1v ZGVfY2hhbmdlZCA9IHRydWU7Cj4gK30KPiArCj4gwqB2b2lkIGlndF9lbmFibGVfY29ubmVjdG9y cyh2b2lkKTsKPiDCoHZvaWQgaWd0X3Jlc2V0X2Nvbm5lY3RvcnModm9pZCk7Cj4gwqAKPiBkaWZm IC0tZ2l0IGEvdGVzdHMva21zX2F0b21pY190cmFuc2l0aW9uLmMKPiBiL3Rlc3RzL2ttc19hdG9t aWNfdHJhbnNpdGlvbi5jCj4gaW5kZXggZTIyNzYzYmRmOTRiLi40ODgyM2EwOWFlZDIgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMva21zX2F0b21pY190cmFuc2l0aW9uLmMKPiArKysgYi90ZXN0cy9rbXNf YXRvbWljX3RyYW5zaXRpb24uYwo+IEBAIC00Niw2ICs0NiwxMSBAQCBzdHJ1Y3QgcGxhbmVfcGFy bXMgewo+IMKgCj4gwqAjZGVmaW5lIGh3ZWlnaHQzMiBfX2J1aWx0aW5fcG9wY291bnQKPiDCoAo+ ICsvKiBnbG9iYWxzIGZvciBmZW5jZSBzdXBwb3J0ICovCj4gK2ludCAqdGltZWxpbmU7Cj4gK3B0 aHJlYWRfdCAqdGhyZWFkOwo+ICtpbnQgKnNlcW5vOwo+ICsKPiDCoHN0YXRpYyB2b2lkCj4gwqBy dW5fcHJpbWFyeV90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLAo+ IGlndF9vdXRwdXRfdCAqb3V0cHV0KQo+IMKgewo+IEBAIC04OSw5ICs5NCwzNCBAQCBydW5fcHJp bWFyeV90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZQo+IHBpcGUsIGlndF9v dXRwdXRfdCAqb3V0cHV0KQo+IMKgCWlndF9yZW1vdmVfZmIoZGlzcGxheS0+ZHJtX2ZkLCAmZmIp Owo+IMKgfQo+IMKgCj4gK3N0YXRpYyB2b2lkICpmZW5jZV9pbmNfdGhyZWFkKHZvaWQgKmFyZykK PiArewo+ICsJaW50IHQgPSAqKChpbnQgKikgYXJnKTsKPiArCj4gKwlwdGhyZWFkX2RldGFjaChw dGhyZWFkX3NlbGYoKSk7Cj4gKwo+ICsJdXNsZWVwKDUwMDApOwo+ICsJc3dfc3luY190aW1lbGlu ZV9pbmModCwgMSk7Cj4gKwlyZXR1cm4gTlVMTDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgY29u ZmlndXJlX2ZlbmNpbmcoaWd0X3BsYW5lX3QgKnBsYW5lKQo+ICt7Cj4gKwlpbnQgaSwgZmQsIHJl dDsKPiArCj4gKwlpID0gcGxhbmUtPmluZGV4Owo+ICsKPiArCXNlcW5vW2ldKys7Cj4gKwlmZCA9 IHN3X3N5bmNfdGltZWxpbmVfY3JlYXRlX2ZlbmNlKHRpbWVsaW5lW2ldLCBzZXFub1tpXSk7Cj4g KwlpZ3RfcGxhbmVfc2V0X2ZlbmNlX2ZkKHBsYW5lLCBmZCk7Cj4gKwljbG9zZShmZCk7Cj4gKwly ZXQgPSBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkW2ldLCBOVUxMLCBmZW5jZV9pbmNfdGhyZWFkLAo+ ICZ0aW1lbGluZVtpXSk7Cj4gKwlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4gK30KPiArCj4gwqBz dGF0aWMgdm9pZAo+IMKgd21fc2V0dXBfcGxhbmUoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51 bSBwaXBlIHBpcGUsCj4gLQnCoMKgwqDCoMKgwqDCoHVpbnQzMl90IG1hc2ssIHN0cnVjdCBwbGFu ZV9wYXJtcyAqcGFybXMpCj4gKwnCoMKgwqDCoMKgwqDCoHVpbnQzMl90IG1hc2ssIHN0cnVjdCBw bGFuZV9wYXJtcyAqcGFybXMsIGJvb2wKPiBmZW5jaW5nKQo+IMKgewo+IMKgCWlndF9wbGFuZV90 ICpwbGFuZTsKPiDCoAo+IEBAIC0xMDgsNiArMTM4LDkgQEAgd21fc2V0dXBfcGxhbmUoaWd0X2Rp c3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlCj4gcGlwZSwKPiDCoAkJCWNvbnRpbnVlOwo+IMKg CQl9Cj4gwqAKPiArCQlpZiAoZmVuY2luZykKPiArCQkJY29uZmlndXJlX2ZlbmNpbmcocGxhbmUp Owo+ICsKPiDCoAkJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgcGFybXNbaV0uZmIpOwo+IMKgCQlp Z3RfZmJfc2V0X3NpemUocGFybXNbaV0uZmIsIHBsYW5lLCBwYXJtc1tpXS53aWR0aCwKPiBwYXJt c1tpXS5oZWlnaHQpOwo+IMKgCQlpZ3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIHBhcm1zW2ldLndp ZHRoLAo+IHBhcm1zW2ldLmhlaWdodCk7Cj4gQEAgLTEzNiw3ICsxNjksNyBAQCBzdGF0aWMgYm9v bAo+IHNraXBfb25fdW5zdXBwb3J0ZWRfbm9uYmxvY2tpbmdfbW9kZXNldChpZ3RfZGlzcGxheV90 ICpkaXNwbGF5KQo+IMKgCj4gwqAJLyogRm9yY2UgdGhlIG5leHQgc3RhdGUgdG8gdXBkYXRlIGFs bCBjcnRjJ3MsIHRvIHN5bmNocm9uaXplCj4gd2l0aCB0aGUgbm9uYmxvY2tpbmcgbW9kZXNldC4g Ki8KPiDCoAlmb3JfZWFjaF9waXBlKGRpc3BsYXksIHBpcGUpCj4gLQkJZGlzcGxheS0+cGlwZXNb cGlwZV0ubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKPiArCQlpZ3RfcGlwZV9yZWZyZXNoKGRpc3BsYXks IHBpcGUsIGZhbHNlKTsKPiDCoAo+IMKgCXJldHVybiBmYWxzZTsKPiDCoH0KPiBAQCAtMTgzLDYg KzIxNiw3IEBAIHN0YXRpYyB2b2lkIHNldF9zcHJpdGVfd2goaWd0X2Rpc3BsYXlfdCAqZGlzcGxh eSwKPiBlbnVtIHBpcGUgcGlwZSwKPiDCoAo+IMKgc3RhdGljIHZvaWQgc2V0dXBfcGFybXMoaWd0 X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsCj4gwqAJCQljb25zdCBkcm1Nb2Rl TW9kZUluZm8gKm1vZGUsCj4gKwkJCXN0cnVjdCBpZ3RfZmIgKnByaW1hcnlfZmIsCj4gwqAJCQlz dHJ1Y3QgaWd0X2ZiICphcmdiX2ZiLAo+IMKgCQkJc3RydWN0IGlndF9mYiAqc3ByaXRlX2ZiLAo+ IMKgCQkJc3RydWN0IHBsYW5lX3Bhcm1zICpwYXJtcykKPiBAQCAtMjA1LDcgKzIzOSw3IEBAIHN0 YXRpYyB2b2lkIHNldHVwX3Bhcm1zKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksCj4gZW51bSBwaXBl IHBpcGUsCj4gwqAJCWludCBpID0gcGxhbmUtPmluZGV4Owo+IMKgCj4gwqAJCWlmIChwbGFuZS0+ dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKSB7Cj4gLQkJCXBhcm1zW2ldLmZiID0gcGxh bmUtPmZiOwo+ICsJCQlwYXJtc1tpXS5mYiA9IHByaW1hcnlfZmI7Cj4gwqAJCQlwYXJtc1tpXS53 aWR0aCA9IG1vZGUtPmhkaXNwbGF5Owo+IMKgCQkJcGFybXNbaV0uaGVpZ2h0ID0gbW9kZS0+dmRp c3BsYXk7Cj4gwqAJCX0gZWxzZSBpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VS U09SKSB7Cj4gQEAgLTI0Miw3ICsyNzYsNyBAQCByZXRyeToKPiDCoAkJc2V0X3Nwcml0ZV93aChk aXNwbGF5LCBwaXBlLCBwYXJtcywgc3ByaXRlX2ZiLAo+IMKgCQkJwqDCoMKgwqDCoMKgYWxwaGEs IHNwcml0ZV93aWR0aCwgc3ByaXRlX2hlaWdodCk7Cj4gwqAKPiAtCQl3bV9zZXR1cF9wbGFuZShk aXNwbGF5LCBwaXBlLCAoMSA8PCBuX3BsYW5lcykgLSAxLAo+IHBhcm1zKTsKPiArCQl3bV9zZXR1 cF9wbGFuZShkaXNwbGF5LCBwaXBlLCAoMSA8PCBuX3BsYW5lcykgLSAxLAo+IHBhcm1zLCBmYWxz ZSk7Cj4gwqAJCXJldCA9IGlndF9kaXNwbGF5X3RyeV9jb21taXRfYXRvbWljKGRpc3BsYXksCj4g RFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSB8IERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VU LCBOVUxMKTsKPiDCoAo+IMKgCQlpZiAocmV0ID09IC1FSU5WQUwpIHsKPiBAQCAtMzAwLDEwICsz MzQsNiBAQCByZXRyeToKPiDCoAkJwqBzcHJpdGVfd2lkdGgsIHNwcml0ZV9oZWlnaHQsIGFscGhh KTsKPiDCoH0KPiDCoAo+IC1pbnQgKnRpbWVsaW5lOwo+IC1wdGhyZWFkX3QgKnRocmVhZDsKPiAt aW50ICpzZXFubzsKPiAtCj4gwqBzdGF0aWMgdm9pZCBwcmVwYXJlX2ZlbmNpbmcoaWd0X2Rpc3Bs YXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUpCj4gwqB7Cj4gwqAJaWd0X3BsYW5lX3QgKnBs YW5lOwo+IEBAIC0zMzUsNDQgKzM2NSwxMCBAQCBzdGF0aWMgdm9pZCB1bnByZXBhcmVfZmVuY2lu ZyhpZ3RfZGlzcGxheV90Cj4gKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlKQo+IMKgCWZyZWUoc2Vx bm8pOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyB2b2lkICpmZW5jZV9pbmNfdGhyZWFkKHZvaWQgKmFy ZykKPiAtewo+IC0JaW50IHQgPSAqKChpbnQgKikgYXJnKTsKPiAtCj4gLQlwdGhyZWFkX2RldGFj aChwdGhyZWFkX3NlbGYoKSk7Cj4gLQo+IC0JdXNsZWVwKDUwMDApOwo+IC0Jc3dfc3luY190aW1l bGluZV9pbmModCwgMSk7Cj4gLQlyZXR1cm4gTlVMTDsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQg Y29uZmlndXJlX2ZlbmNpbmcoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlCj4gcGlw ZSkKPiAtewo+IC0JaWd0X3BsYW5lX3QgKnBsYW5lOwo+IC0JaW50IGksIGZkLCByZXQ7Cj4gLQo+ IC0JZm9yX2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFuZSkgewo+IC0KPiAt CQlpZiAoIXBsYW5lLT5mYikKPiAtCQkJY29udGludWU7Cj4gLQo+IC0JCWkgPSBwbGFuZS0+aW5k ZXg7Cj4gLQo+IC0JCXNlcW5vW2ldKys7Cj4gLQkJZmQgPSBzd19zeW5jX3RpbWVsaW5lX2NyZWF0 ZV9mZW5jZSh0aW1lbGluZVtpXSwKPiBzZXFub1tpXSk7Cj4gLQkJaWd0X3BsYW5lX3NldF9mZW5j ZV9mZChwbGFuZSwgZmQpOwo+IC0JCWNsb3NlKGZkKTsKPiAtCQlyZXQgPSBwdGhyZWFkX2NyZWF0 ZSgmdGhyZWFkW2ldLCBOVUxMLAo+IGZlbmNlX2luY190aHJlYWQsICZ0aW1lbGluZVtpXSk7Cj4g LQkJaWd0X2Fzc2VydF9lcShyZXQsIDApOwo+IC0JfQo+IC19Cj4gLQo+IMKgc3RhdGljIHZvaWQg YXRvbWljX2NvbW1pdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZSwKPiB1 bnNpZ25lZCBpbnQgZmxhZ3MsIHZvaWQgKmRhdGEsIGJvb2wgZmVuY2luZykKPiDCoHsKPiAtCWlm IChmZW5jaW5nKSB7Cj4gLQkJY29uZmlndXJlX2ZlbmNpbmcoZGlzcGxheSwgcGlwZSk7Cj4gKwlp ZiAoZmVuY2luZykKPiDCoAkJaWd0X3BpcGVfcmVxdWVzdF9vdXRfZmVuY2UoJmRpc3BsYXktPnBp cGVzW3BpcGVdKTsKPiAtCX0KPiDCoAo+IMKgCWlndF9kaXNwbGF5X2NvbW1pdF9hdG9taWMoZGlz cGxheSwgZmxhZ3MsIGRhdGEpOwo+IMKgfQo+IEBAIC00NDUsNyArNDQxLDcgQEAgcnVuX3RyYW5z aXRpb25fdGVzdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtCj4gcGlwZSBwaXBlLCBpZ3Rf b3V0cHV0X3QgKm91dHB1dAo+IMKgCj4gwqAJaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQsIHBp cGUpOwo+IMKgCj4gLQl3bV9zZXR1cF9wbGFuZShkaXNwbGF5LCBwaXBlLCAwLCBOVUxMKTsKPiAr CXdtX3NldHVwX3BsYW5lKGRpc3BsYXksIHBpcGUsIDAsIE5VTEwsIGZhbHNlKTsKPiDCoAo+IMKg CWlmIChmbGFncyAmIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VUKSB7Cj4gwqAJCXNraXBf dGVzdCA9IG5vbmJsb2NraW5nICYmCj4gc2tpcF9vbl91bnN1cHBvcnRlZF9ub25ibG9ja2luZ19t b2Rlc2V0KGRpc3BsYXkpOwo+IEBAIC00NjEsNyArNDU3LDcgQEAgcnVuX3RyYW5zaXRpb25fdGVz dChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtCj4gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3Qg Km91dHB1dAo+IMKgCj4gwqAJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfQVRP TUlDKTsKPiDCoAo+IC0Jc2V0dXBfcGFybXMoZGlzcGxheSwgcGlwZSwgbW9kZSwgJmFyZ2JfZmIs ICZzcHJpdGVfZmIsCj4gcGFybXMpOwo+ICsJc2V0dXBfcGFybXMoZGlzcGxheSwgcGlwZSwgbW9k ZSwgJmZiLCAmYXJnYl9mYiwgJnNwcml0ZV9mYiwKPiBwYXJtcyk7Cj4gwqAKPiDCoAkvKgo+IMKg CcKgKiBJbiBzb21lIGNvbmZpZ3VyYXRpb25zIHRoZSB0ZXN0cyBtYXkgbm90IHJ1biB0bwo+IGNv bXBsZXRpb24gd2l0aCBhbGwKPiBAQCAtNDY5LDcgKzQ2NSw3IEBAIHJ1bl90cmFuc2l0aW9uX3Rl c3QoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bQo+IHBpcGUgcGlwZSwgaWd0X291dHB1dF90 ICpvdXRwdXQKPiDCoAnCoCogcGxhbmVzIHRvIGZpeCB0aGlzCj4gwqAJwqAqLwo+IMKgCXdoaWxl ICgxKSB7Cj4gLQkJd21fc2V0dXBfcGxhbmUoZGlzcGxheSwgcGlwZSwgaXRlcl9tYXggLSAxLCBw YXJtcyk7Cj4gKwkJd21fc2V0dXBfcGxhbmUoZGlzcGxheSwgcGlwZSwgaXRlcl9tYXggLSAxLCBw YXJtcywKPiBmYWxzZSk7Cj4gwqAKPiDCoAkJaWYgKGZlbmNpbmcpCj4gwqAJCQlpZ3RfcGlwZV9y ZXF1ZXN0X291dF9mZW5jZShwaXBlX29iaik7Cj4gQEAgLTUwNCw3ICs1MDAsNyBAQCBydW5fdHJh bnNpdGlvbl90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0KPiBwaXBlIHBpcGUsIGln dF9vdXRwdXRfdCAqb3V0cHV0Cj4gwqAJaWYgKHR5cGUgPT0gVFJBTlNJVElPTl9BRlRFUl9GUkVF KSB7Cj4gwqAJCWludCBmZW5jZV9mZCA9IC0xOwo+IMKgCj4gLQkJd21fc2V0dXBfcGxhbmUoZGlz cGxheSwgcGlwZSwgMCwgcGFybXMpOwo+ICsJCXdtX3NldHVwX3BsYW5lKGRpc3BsYXksIHBpcGUs IDAsIHBhcm1zLCBmZW5jaW5nKTsKPiDCoAo+IMKgCQlhdG9taWNfY29tbWl0KGRpc3BsYXksIHBp cGUsIGZsYWdzLCAodm9pZAo+ICopKHVuc2lnbmVkIGxvbmcpMCwgZmVuY2luZyk7Cj4gwqAJCWlm IChmZW5jaW5nKSB7Cj4gQEAgLTUxMiw4ICs1MDgsOSBAQCBydW5fdHJhbnNpdGlvbl90ZXN0KGln dF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0KPiBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0 cHV0Cj4gwqAJCQlwaXBlX29iai0+b3V0X2ZlbmNlX2ZkID0gLTE7Cj4gwqAJCX0KPiDCoAo+ICsJ CS8qIGZvcmNlIHBsYW5lcyB0byBiZSBwYXJ0IG9mIGNvbW1pdCAqLwo+IMKgCQlmb3JfZWFjaF9w bGFuZV9vbl9waXBlKGRpc3BsYXksIHBpcGUsIHBsYW5lKQo+IC0JCQlwbGFuZS0+ZmJfY2hhbmdl ZCA9IHRydWU7Cj4gKwkJCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIDAsIDApOwo+IMKg Cj4gwqAJCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7Cj4gwqAK PiBAQCAtNTMwLDcgKzUyNyw3IEBAIHJ1bl90cmFuc2l0aW9uX3Rlc3QoaWd0X2Rpc3BsYXlfdCAq ZGlzcGxheSwgZW51bQo+IHBpcGUgcGlwZSwgaWd0X291dHB1dF90ICpvdXRwdXQKPiDCoAlmb3Ig KGkgPSAwOyBpIDwgaXRlcl9tYXg7IGkrKykgewo+IMKgCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91 dHB1dCwgcGlwZSk7Cj4gwqAKPiAtCQl3bV9zZXR1cF9wbGFuZShkaXNwbGF5LCBwaXBlLCBpLCBw YXJtcyk7Cj4gKwkJd21fc2V0dXBfcGxhbmUoZGlzcGxheSwgcGlwZSwgaSwgcGFybXMsIGZlbmNp bmcpOwo+IMKgCj4gwqAJCWF0b21pY19jb21taXQoZGlzcGxheSwgcGlwZSwgZmxhZ3MsICh2b2lk Cj4gKikodW5zaWduZWQgbG9uZylpLCBmZW5jaW5nKTsKPiDCoAkJd2FpdF9mb3JfdHJhbnNpdGlv bihkaXNwbGF5LCBwaXBlLCBub25ibG9ja2luZywKPiBmZW5jaW5nKTsKPiBAQCAtNTM4LDcgKzUz NSw3IEBAIHJ1bl90cmFuc2l0aW9uX3Rlc3QoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bQo+ IHBpcGUgcGlwZSwgaWd0X291dHB1dF90ICpvdXRwdXQKPiDCoAkJaWYgKHR5cGUgPT0gVFJBTlNJ VElPTl9NT0RFU0VUX0RJU0FCTEUpIHsKPiDCoAkJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0 LCBQSVBFX05PTkUpOwo+IMKgCj4gLQkJCXdtX3NldHVwX3BsYW5lKGRpc3BsYXksIHBpcGUsIDAs IHBhcm1zKTsKPiArCQkJd21fc2V0dXBfcGxhbmUoZGlzcGxheSwgcGlwZSwgMCwgcGFybXMsCj4g ZmVuY2luZyk7Cj4gwqAKPiDCoAkJCWF0b21pY19jb21taXQoZGlzcGxheSwgcGlwZSwgZmxhZ3Ms ICh2b2lkICopCj4gMFVMLCBmZW5jaW5nKTsKPiDCoAkJCXdhaXRfZm9yX3RyYW5zaXRpb24oZGlz cGxheSwgcGlwZSwKPiBub25ibG9ja2luZywgZmVuY2luZyk7Cj4gQEAgLTU0Nyw3ICs1NDQsNyBA QCBydW5fdHJhbnNpdGlvbl90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0KPiBwaXBl IHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0Cj4gwqAKPiDCoAkJCS8qIGkgLT4gaSsxIHdpbGwg YmUgZG9uZSB3aGVuIGkgaW5jcmVhc2VzLAo+IGNhbiBiZSBza2lwcGVkIGhlcmUgKi8KPiDCoAkJ CWZvciAoaiA9IGl0ZXJfbWF4IC0gMTsgaiA+IGkgKyAxOyBqLS0pIHsKPiAtCQkJCXdtX3NldHVw X3BsYW5lKGRpc3BsYXksIHBpcGUsIGosCj4gcGFybXMpOwo+ICsJCQkJd21fc2V0dXBfcGxhbmUo ZGlzcGxheSwgcGlwZSwgaiwKPiBwYXJtcywgZmVuY2luZyk7Cj4gwqAKPiDCoAkJCQlpZiAodHlw ZSA9PSBUUkFOU0lUSU9OX01PREVTRVQpCj4gwqAJCQkJCWlndF9vdXRwdXRfb3ZlcnJpZGVfbW9k ZShvdXQKPiBwdXQsICZvdmVycmlkZV9tb2RlKTsKPiBAQCAtNTU1LDcgKzU1Miw3IEBAIHJ1bl90 cmFuc2l0aW9uX3Rlc3QoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bQo+IHBpcGUgcGlwZSwg aWd0X291dHB1dF90ICpvdXRwdXQKPiDCoAkJCQlhdG9taWNfY29tbWl0KGRpc3BsYXksIHBpcGUs IGZsYWdzLAo+ICh2b2lkICopKHVuc2lnbmVkIGxvbmcpIGosIGZlbmNpbmcpOwo+IMKgCQkJCXdh aXRfZm9yX3RyYW5zaXRpb24oZGlzcGxheSwgcGlwZSwKPiBub25ibG9ja2luZywgZmVuY2luZyk7 Cj4gwqAKPiAtCQkJCXdtX3NldHVwX3BsYW5lKGRpc3BsYXksIHBpcGUsIGksCj4gcGFybXMpOwo+ ICsJCQkJd21fc2V0dXBfcGxhbmUoZGlzcGxheSwgcGlwZSwgaSwKPiBwYXJtcywgZmVuY2luZyk7 Cj4gwqAJCQkJaWYgKHR5cGUgPT0gVFJBTlNJVElPTl9NT0RFU0VUKQo+IMKgCQkJCQlpZ3Rfb3V0 cHV0X292ZXJyaWRlX21vZGUob3V0Cj4gcHV0LCBOVUxMKTsKPiDCoAo+IEBAIC02NjYsMTUgKzY2 MywxOSBAQCBzdGF0aWMgdW5zaWduZWQgc2V0X2NvbWJpbmF0aW9ucyhpZ3RfZGlzcGxheV90Cj4g KmRpc3BsYXksIHVuc2lnbmVkIG1hc2ssIHN0cnVjdCBpCj4gwqAJcmV0dXJuIGV2ZW50X21hc2s7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIHZvaWQgcmVmcmVzaF9wcmltYXJpZXMoaWd0X2Rpc3BsYXlf dCAqZGlzcGxheSkKPiArc3RhdGljIHZvaWQgcmVmcmVzaF9wcmltYXJpZXMoaWd0X2Rpc3BsYXlf dCAqZGlzcGxheSwgaW50IG1hc2spCj4gwqB7Cj4gwqAJZW51bSBwaXBlIHBpcGU7Cj4gwqAJaWd0 X3BsYW5lX3QgKnBsYW5lOwo+IMKgCj4gLQlmb3JfZWFjaF9waXBlKGRpc3BsYXksIHBpcGUpCj4g Kwlmb3JfZWFjaF9waXBlKGRpc3BsYXksIHBpcGUpIHsKPiArCQlpZiAoISgoMSA8PCBwaXBlKSAm IG1hc2spKQo+ICsJCQljb250aW51ZTsKPiArCj4gwqAJCWZvcl9lYWNoX3BsYW5lX29uX3BpcGUo ZGlzcGxheSwgcGlwZSwgcGxhbmUpCj4gLQkJCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVf VFlQRV9QUklNQVJZICYmCj4gcGxhbmUtPmZiKQo+IC0JCQkJcGxhbmUtPmZiX2NoYW5nZWQgPSB0 cnVlOwo+ICsJCQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkKPiAr CQkJCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIDAsIDApOwo+ICsJfQo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgdm9pZCBjb2xsZWN0X2NyY3NfbWFzayhpZ3RfcGlwZV9jcmNfdCAqKnBpcGVf Y3JjcywgdW5zaWduZWQKPiBtYXNrLCBpZ3RfY3JjX3QgKmNyY3MpCj4gQEAgLTc4Myw3ICs3ODQs NyBAQCBzdGF0aWMgdm9pZCBydW5fbW9kZXNldF90ZXN0cyhpZ3RfZGlzcGxheV90Cj4gKmRpc3Bs YXksIGludCBob3dtYW55LCBib29sIG5vbmJsb2NrCj4gwqAKPiDCoAkJCWNvbGxlY3RfY3Jjc19t YXNrKHBpcGVfY3JjcywgaiwgY3Jjc1sxXSk7Cj4gwqAKPiAtCQkJcmVmcmVzaF9wcmltYXJpZXMo ZGlzcGxheSk7Cj4gKwkJCXJlZnJlc2hfcHJpbWFyaWVzKGRpc3BsYXksIGopOwo+IMKgCQkJY29t bWl0X2Rpc3BsYXkoZGlzcGxheSwgaiwgbm9uYmxvY2tpbmcpOwo+IMKgCQkJY29sbGVjdF9jcmNz X21hc2socGlwZV9jcmNzLCBqLCBjcmNzWzJdKTsKPiDCoAo+IEBAIC03OTQsNyArNzk1LDcgQEAg c3RhdGljIHZvaWQgcnVuX21vZGVzZXRfdGVzdHMoaWd0X2Rpc3BsYXlfdAo+ICpkaXNwbGF5LCBp bnQgaG93bWFueSwgYm9vbCBub25ibG9jawo+IMKgCQkJY29tbWl0X2Rpc3BsYXkoZGlzcGxheSwg ZXZlbnRfbWFzaywKPiBub25ibG9ja2luZyk7Cj4gwqAJCQljb2xsZWN0X2NyY3NfbWFzayhwaXBl X2NyY3MsIGksIGNyY3NbM10pOwo+IMKgCj4gLQkJCXJlZnJlc2hfcHJpbWFyaWVzKGRpc3BsYXkp Owo+ICsJCQlyZWZyZXNoX3ByaW1hcmllcyhkaXNwbGF5LCBpKTsKPiDCoAkJCWNvbW1pdF9kaXNw bGF5KGRpc3BsYXksIGksIG5vbmJsb2NraW5nKTsKPiDCoAkJCWNvbGxlY3RfY3Jjc19tYXNrKHBp cGVfY3JjcywgaSwgY3Jjc1s0XSk7Cj4gwqAKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2J1c3ku YyBiL3Rlc3RzL2ttc19idXN5LmMKPiBpbmRleCA3ZTMxYzJjODJkYzUuLmY0MzBiZWFmNzM3MyAx MDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfYnVzeS5jCj4gKysrIGIvdGVzdHMva21zX2J1c3kuYwo+ IEBAIC0xNDYsNyArMTQ2LDEwIEBAIHN0YXRpYyB2b2lkIGZsaXBfdG9fZmIoaWd0X2Rpc3BsYXlf dCAqZHB5LCBpbnQKPiBwaXBlLAo+IMKgCj4gwqAJaWYgKG1vZGVzZXQpIHsKPiDCoAkJaWd0X3Nl dF9tb2R1bGVfcGFyYW1faW50KCJlbmFibGVfaGFuZ2NoZWNrIiwgMSk7Cj4gLQkJZHB5LT5waXBl c1twaXBlXS5tb2RlX2Jsb2IgPSAwOwo+ICsKPiArCQkvKiBDbGVhciBvbGQgbW9kZSBibG9iLiAq Lwo+ICsJCWlndF9waXBlX3JlZnJlc2goZHB5LCBwaXBlLCB0cnVlKTsKPiArCj4gwqAJCWlndF9v dXRwdXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKPiDCoAkJaWd0X2Rpc3BsYXlfY29tbWl0Mihk cHksIENPTU1JVF9BVE9NSUMpOwo+IMKgCX0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NvbmN1 cnJlbnQuYyBiL3Rlc3RzL2ttc19jb25jdXJyZW50LmMKPiBpbmRleCA1ZDFlMGJjNWFkMTkuLjdm NDRjNTk2YjRjNCAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfY29uY3VycmVudC5jCj4gKysrIGIv dGVzdHMva21zX2NvbmN1cnJlbnQuYwo+IEBAIC05MSw3ICs5MSw3IEBAIHN0YXRpYyB2b2lkIHRl c3RfZmluaShkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwaXBlLAo+IGludCBuX3BsYW5lcywKPiDC oHsKPiDCoAlpbnQgaTsKPiDCoAo+IC0JZGF0YS0+ZGlzcGxheS5waXBlc1twaXBlXS5tb2RlX2Js b2IgPSAwOwo+ICsJaWd0X3BpcGVfcmVmcmVzaCgmZGF0YS0+ZGlzcGxheSwgcGlwZSwgdHJ1ZSk7 Cj4gwqAKPiDCoAlmb3IgKGkgPSAwOyBpIDwgbl9wbGFuZXM7IGkrKykgewo+IMKgCQlpZ3RfcGxh bmVfdCAqcGxhbmUgPSBkYXRhLT5wbGFuZVtpXTsKPiBAQCAtMjkyLDcgKzI5Miw3IEBAIHRlc3Rf cmVzb2x1dGlvbl93aXRoX291dHB1dChkYXRhX3QgKmRhdGEsIGVudW0KPiBwaXBlIHBpcGUsIGln dF9vdXRwdXRfdCAqb3V0cHV0KQo+IMKgCj4gwqAJaSA9IDA7Cj4gwqAJd2hpbGUgKGkgPCBpdGVy YXRpb25zIHx8IGxvb3BfZm9yZXZlcikgewo+IC0JCWRhdGEtPmRpc3BsYXkucGlwZXNbcGlwZV0u bW9kZV9ibG9iID0gMDsKPiArCQlpZ3RfcGlwZV9yZWZyZXNoKCZkYXRhLT5kaXNwbGF5LCBwaXBl LCB0cnVlKTsKPiDCoAo+IMKgCQltb2RlX2hpID0gaWd0X291dHB1dF9nZXRfbW9kZShvdXRwdXQp Owo+IMKgCQltb2RlX2xvID0gZ2V0X2xvd3Jlc19tb2RlKGRhdGEsIG1vZGVfaGksIG91dHB1dCk7 Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jdXJzb3JfbGVnYWN5LmMgYi90ZXN0cy9rbXNfY3Vy c29yX2xlZ2FjeS5jCj4gaW5kZXggYmE3YzNmNTFiYTIxLi42NWEwMDFhOWRlYzAgMTAwNjQ0Cj4g LS0tIGEvdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuYwo+ICsrKyBiL3Rlc3RzL2ttc19jdXJzb3Jf bGVnYWN5LmMKPiBAQCAtNzg0LDcgKzc4NCw3IEBAIHN0YXRpYyBib29sCj4gc2tpcF9vbl91bnN1 cHBvcnRlZF9ub25ibG9ja2luZ19tb2Rlc2V0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXkpCj4gwqAK PiDCoAkvKiBGb3JjZSB0aGUgbmV4dCBzdGF0ZSB0byB1cGRhdGUgYWxsIGNydGMncywgdG8gc3lu Y2hyb25pemUKPiB3aXRoIHRoZSBub25ibG9ja2luZyBtb2Rlc2V0LiAqLwo+IMKgCWZvcl9lYWNo X3BpcGUoZGlzcGxheSwgcGlwZSkKPiAtCQlkaXNwbGF5LT5waXBlc1twaXBlXS5tb2RlX2NoYW5n ZWQgPSB0cnVlOwo+ICsJCWlndF9waXBlX3JlZnJlc2goZGlzcGxheSwgcGlwZSwgZmFsc2UpOwo+ IMKgCj4gwqAJcmV0dXJuIGZhbHNlOwo+IMKgfQo+IEBAIC05NzEsOCArOTcxLDggQEAgc3RhdGlj IHZvaWQKPiB0d29fc2NyZWVuc19mbGlwX3ZzX2N1cnNvcihpZ3RfZGlzcGxheV90ICpkaXNwbGF5 LCBpbnQgbmxvb3BzLCBib29sCj4gwqAKPiDCoAkJaWYgKG1vZGVzZXQpIHsKPiDCoAkJCS8qIHdh aXQgZm9yIHBlbmRpbmcgbW9kZXNldCBhbmQgcGFnZSBmbGlwIHRvCj4gY29tcGxldGUsIHRvIHBy ZXZlbnQgLUVCVVNZICovCj4gLQkJCWRpc3BsYXktPnBpcGVzW3BpcGVdLm1vZGVfY2hhbmdlZCA9 IHRydWU7Cj4gLQkJCWRpc3BsYXktPnBpcGVzW3BpcGUyXS5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+ ICsJCQlpZ3RfcGlwZV9yZWZyZXNoKGRpc3BsYXksIHBpcGUsIGZhbHNlKTsKPiArCQkJaWd0X3Bp cGVfcmVmcmVzaChkaXNwbGF5LCBwaXBlMiwgZmFsc2UpOwo+IMKgCQkJaWd0X2Rpc3BsYXlfY29t bWl0MihkaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKPiDCoAkJfQo+IMKgCX0KPiBkaWZmIC0tZ2l0 IGEvdGVzdHMva21zX2ZiY19jcmMuYyBiL3Rlc3RzL2ttc19mYmNfY3JjLmMKPiBpbmRleCAwOGFi YjhiNGI5NWUuLjA2MjM0NTY2YzIzMiAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfZmJjX2NyYy5j Cj4gKysrIGIvdGVzdHMva21zX2ZiY19jcmMuYwo+IEBAIC00NjEsOCArNDYxLDcgQEAgc3RhdGlj IHZvaWQgcmVzZXRfZGlzcGxheShkYXRhX3QgKmRhdGEpCj4gwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X3BpcGVfdCAqcGlwZSA9ICZkaXNwbGF5LT5waXBlc1twaXBlX2lkXTsKPiDCoAkJaWd0X3BsYW5l X3QgKnBsYW5lID0gaWd0X3BpcGVfZ2V0X3BsYW5lX3R5cGUocGlwZSwKPiBEUk1fUExBTkVfVFlQ RV9QUklNQVJZKTsKPiDCoAo+IC0JCWlmIChwbGFuZS0+ZmIpCj4gLQkJCWlndF9wbGFuZV9zZXRf ZmIocGxhbmUsIE5VTEwpOwo+ICsJCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsIE5VTEwpOwo+IMKg CX0KPiDCoAo+IMKgCWZvcl9lYWNoX2Nvbm5lY3RlZF9vdXRwdXQoZGlzcGxheSwgZGF0YS0+b3V0 cHV0KQo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfcGFuZWxfZml0dGluZy5jIGIvdGVzdHMva21z X3BhbmVsX2ZpdHRpbmcuYwo+IGluZGV4IDUyNjY4NjJhNzBjZi4uODVhMjMxZTYwZWEyIDEwMDY0 NAo+IC0tLSBhL3Rlc3RzL2ttc19wYW5lbF9maXR0aW5nLmMKPiArKysgYi90ZXN0cy9rbXNfcGFu ZWxfZml0dGluZy5jCj4gQEAgLTg0LDE5ICs4NCw3IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVfY3J0 YyhkYXRhX3QgKmRhdGEsCj4gaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gcGlwZSBwaXBlLAo+ IMKgCX0KPiDCoAo+IMKgCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsICZkYXRhLT5mYjEpOwo+IC0J aWYgKHMgPT0gQ09NTUlUX0xFR0FDWSkgewo+IC0JCWludCByZXQ7Cj4gLQkJcmV0ID0gZHJtTW9k ZVNldENydGMoZGF0YS0+ZHJtX2ZkLAo+IC0JCQkJcGxhbmUtPnBpcGUtPmNydGNfaWQsCj4gLQkJ CQlkYXRhLT5mYl9pZDEsCj4gLQkJCQlwbGFuZS0+c3JjX3gsIHBsYW5lLT5zcmNfeSwKPiAtCQkJ CSZvdXRwdXQtPmlkLAo+IC0JCQkJMSwKPiAtCQkJCW1vZGUpOwo+IC0JCWlndF9hc3NlcnRfZXEo cmV0LCAwKTsKPiAtCX0gZWxzZSB7Cj4gLQkJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBz KTsKPiAtCX0KPiArCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgcyk7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyB2b2lkIGNsZWFudXBfY3J0YyhkYXRhX3QgKmRhdGEsIGlndF9vdXRwdXRfdCAq b3V0cHV0LAo+IGlndF9wbGFuZV90ICpwbGFuZSkKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3Bs YW5lX3NjYWxpbmcuYyBiL3Rlc3RzL2ttc19wbGFuZV9zY2FsaW5nLmMKPiBpbmRleCAxNDU3ODk0 YWFhMTAuLjVlZDY5ZjM1ZjI2NyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcGxhbmVfc2NhbGlu Zy5jCj4gKysrIGIvdGVzdHMva21zX3BsYW5lX3NjYWxpbmcuYwo+IEBAIC05MywxOSArOTMsNyBA QCBzdGF0aWMgdm9pZCBwcmVwYXJlX2NydGMoZGF0YV90ICpkYXRhLAo+IGlndF9vdXRwdXRfdCAq b3V0cHV0LCBlbnVtIHBpcGUgcGlwZSwKPiDCoAl9Cj4gwqAKPiDCoAlpZ3RfcGxhbmVfc2V0X2Zi KHBsYW5lLCAmZGF0YS0+ZmIxKTsKPiAtCWlmIChzID09IENPTU1JVF9MRUdBQ1kpIHsKPiAtCQlp bnQgcmV0Owo+IC0JCXJldCA9IGRybU1vZGVTZXRDcnRjKGRhdGEtPmRybV9mZCwKPiAtCQkJCXBs YW5lLT5waXBlLT5jcnRjX2lkLAo+IC0JCQkJZGF0YS0+ZmJfaWQxLAo+IC0JCQkJcGxhbmUtPnNy Y194LCBwbGFuZS0+c3JjX3ksCj4gLQkJCQkmb3V0cHV0LT5pZCwKPiAtCQkJCTEsCj4gLQkJCQlt b2RlKTsKPiAtCQlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4gLQl9IGVsc2Ugewo+IC0JCWlndF9k aXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgcyk7Cj4gLQl9Cj4gKwlpZ3RfZGlzcGxheV9jb21taXQy KGRpc3BsYXksIHMpOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdm9pZCBjbGVhbnVwX2NydGMoZGF0 YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKPiBpZ3RfcGxhbmVfdCAqcGxhbmUpCj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19ybWZiLmMgYi90ZXN0cy9rbXNfcm1mYi5jCj4gaW5kZXgg OWYxZjU2NGU1NGFhLi5jOTdhZGNlZWE3NjEgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX3JtZmIu Ywo+ICsrKyBiL3Rlc3RzL2ttc19ybWZiLmMKPiBAQCAtMTAyLDcgKzEwMiw3IEBAIHRlc3Rfcm1m YihzdHJ1Y3Qgcm1mYl9kYXRhICpkYXRhLCBpZ3Rfb3V0cHV0X3QKPiAqb3V0cHV0LCBlbnVtIHBp cGUgcGlwZSwgYm9vbCByZW8KPiDCoAkJZHJtU2V0Q2xpZW50Q2FwKGRhdGEtPmRybV9mZCwKPiBE Uk1fQ0xJRU5UX0NBUF9VTklWRVJTQUxfUExBTkVTLCAxKTsKPiDCoAkJZHJtU2V0Q2xpZW50Q2Fw KGRhdGEtPmRybV9mZCwgRFJNX0NMSUVOVF9DQVBfQVRPTUlDLAo+IDEpOwo+IMKgCj4gLQkJZGF0 YS0+ZGlzcGxheS5waXBlc1twaXBlXS5tb2RlX2Jsb2IgPSAwOwo+ICsJCWlndF9waXBlX3JlZnJl c2goJmRhdGEtPmRpc3BsYXksIHBpcGUsIHRydWUpOwo+IMKgCX0gZWxzZSB7Cj4gwqAJCWlndF9y ZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZmIpOwo+IMKgCQlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRy bV9mZCwgJmFyZ2JfZmIpOwo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMg Yi90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMKPiBpbmRleCAyMWUyNjRhZGRjMDkuLjRkMmVmMWMx ODRmMCAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMKPiArKysgYi90ZXN0 cy9rbXNfcm90YXRpb25fY3JjLmMKPiBAQCAtNDY1LDEyICs0NjUsNiBAQCBzdGF0aWMgdm9pZAo+ IHRlc3RfcGxhbmVfcm90YXRpb25feXRpbGVkX29iaihkYXRhX3QgKmRhdGEsCj4gwqAJaWd0X3Bs YW5lX3NldF9mYihwbGFuZSwgJmRhdGEtPmZiKTsKPiDCoAlpZ3RfcGxhbmVfc2V0X3NpemUocGxh bmUsIGgsIHcpOwo+IMKgCj4gLQlpZiAoY29tbWl0IDwgQ09NTUlUX0FUT01JQykKPiAtCQlkcm1N b2RlT2JqZWN0U2V0UHJvcGVydHkoZmQsIHBsYW5lLT5kcm1fcGxhbmUtCj4gPnBsYW5lX2lkLAo+ IC0JCQkJCURSTV9NT0RFX09CSkVDVF9QTEFORSwKPiAtCQkJCQlwbGFuZS0+cm90YXRpb25fcHJv cGVydHksCj4gLQkJCQkJcGxhbmUtPnJvdGF0aW9uKTsKPiAtCj4gwqAJcmV0ID0gaWd0X2Rpc3Bs YXlfdHJ5X2NvbW1pdDIoZGlzcGxheSwgY29tbWl0KTsKPiDCoAo+IMKgCWlndF9vdXRwdXRfc2V0 X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOwo+IEBAIC01NjIsMTAgKzU1Niw2IEBAIHN0YXRpYyB2 b2lkCj4gdGVzdF9wbGFuZV9yb3RhdGlvbl9leGhhdXN0X2ZlbmNlcyhkYXRhX3QgKmRhdGEsCj4g wqAJCWlndF9wbGFuZV9zZXRfcm90YXRpb24ocGxhbmUsIElHVF9ST1RBVElPTl85MCk7Cj4gwqAJ CWlndF9wbGFuZV9zZXRfc2l6ZShwbGFuZSwgaCwgdyk7Cj4gwqAKPiAtCQlkcm1Nb2RlT2JqZWN0 U2V0UHJvcGVydHkoZmQsIHBsYW5lLT5kcm1fcGxhbmUtCj4gPnBsYW5lX2lkLAo+IC0JCQkJCcKg RFJNX01PREVfT0JKRUNUX1BMQU5FLAo+IC0JCQkJCcKgcGxhbmUtPnJvdGF0aW9uX3Byb3BlcnR5 LAo+IC0JCQkJCcKgcGxhbmUtPnJvdGF0aW9uKTsKPiDCoAkJaWd0X2Rpc3BsYXlfY29tbWl0Mihk aXNwbGF5LCBjb21taXQpOwo+IMKgCQlpZiAocmV0KSB7Cj4gwqAJCQlpZ3Rfd2FybigiZmFpbGVk IHRvIGNvbW1pdCBoYXJkd2FyZSByb3RhdGVkCj4gZmI6ICVpXG4iLCByZXQpOwotLSAKTWlrYSBL YWhvbGEgLSBJbnRlbCBPVEMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=