From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1goRN1-0001Aj-VW for barebox@lists.infradead.org; Tue, 29 Jan 2019 11:16:02 +0000 Received: from [2001:67c:670:100:2e4d:54ff:fe9d:849c] (helo=erdnuss) by metis.ext.pengutronix.de with esmtp (Exim 4.89) (envelope-from ) id 1goRMy-00010O-AT for barebox@lists.infradead.org; Tue, 29 Jan 2019 12:15:56 +0100 Message-ID: <1548760556.25432.11.camel@pengutronix.de> From: Rouven Czerwinski Date: Tue, 29 Jan 2019 12:15:56 +0100 In-Reply-To: References: Mime-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH 1/1] ARM: Initial OP-TEE support To: barebox@lists.infradead.org T24gVHVlLCAyMDE5LTAxLTI5IGF0IDEyOjEwICswMTAwLCBSb3V2ZW4gQ3plcndpbnNraSB3cm90 ZToKPiBGcm9tOiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAeHh4eHh4eHh4eHh4eHg+Cj4gCj4gVGhp cyBhZGRzIGluaXRpYWwgc3VwcG9ydCBmb3IgT1AtVEVFLCBzZWUgaHR0cHM6Ly93d3cub3AtdGVl Lm9yZy8KPiAKPiBiYXJlYm94IHN0YXJ0cyBpbiBzZWN1cmUgbW9kZSBhcyB1c3VhbC4gV2hlbiBi b290aW5nIGEga2VybmVsCj4gdGhlIGJvb3RtIGNvZGUgYWxzbyBsb2FkcyB0aGUgb3B0ZWVfb3Mg YmluYXJ5LiBJbnN0ZWFkIG9mIGp1bXBpbmcKPiBpbnRvIHRoZSBrZXJuZWwgYmFyZWJveCBqdW1w cyBpbnRvIHRoZSBvcHRlZV9vcyBiaW5hcnkgYW5kIHB1dHMKPiB0aGUga2VybmVsIGV4ZWN1dGlv biBhZGRyZXNzIGludG8gdGhlIGxyIHJlZ2lzdGVyLiBPUC1URUUgdGhlbgo+IGp1bXBzIGludG8g dGhlIGtlcm5lbCBpbiBub25zZWN1cmUgbW9kZS4KPiAKPiBUaGUgb3B0ZWVfb3MgYmluYXJ5IGlz IHBhc3NlZCB3aXRoIHRoZSAtdCBvcHRpb24gdG8gYm9vdG0gb3IKPiB3aXRoIGdsb2JhbC5ib290 bS50ZWUuCj4gCj4gT3B0aW9uYWxseSBPUC1URUUgY2FuIGJlIGNvbXBpbGVkIGludG8gYmFyZWJv eCB1c2luZyB0aGUgYnVpbHRpbgo+IGZpcm13YXJlCj4gZmVhdHVyZS4gRW5hYmxlIHRoZSBLY29u ZmlnIG9wdGlvbiBhbmQgcGxhY2Ugb3IgbGluayB5b3VyIHRlZSBiaW5hcnkKPiBhcwo+IG9wdGVl LmJpbiBpbnRvIHRoZSBmaXJtd2FyZSBkaXJlY3RvcnkuCj4gCj4gVGhlIGFtb3VudCBvZiBTRFJB TSB3aGljaCBpcyBrZXB0IGZyZWUgZm9yIE9QLVRFRSBpcyBjb25maWd1cmFibGUuCj4gCj4gVGhp cyBwYXRjaCB3YXMgdGVzdGVkIG9uIGEgaS5NWDYgTml0cm9nZW42eCBib2FyZC4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gU2lnbmVk LW9mZi1ieTogUm91dmVuIEN6ZXJ3aW5za2kgPHIuY3plcndpbnNraUBwZW5ndXRyb25peC5kZT4K PiAtLS0KPiDCoGFyY2gvYXJtL2NwdS9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB8wqDCoMKgMiArLQo+IMKgYXJjaC9hcm0vY3B1L3N0YXJ0LWtlcm5lbC1vcHRlZS5TwqDCoHzC oMKgMTQgKysrKy0KPiDCoGFyY2gvYXJtL2NwdS9zdGFydC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgfMKgwqDCoDMgKy0KPiDCoGFyY2gvYXJtL2luY2x1ZGUvYXNtL2FybWxpbnV4LmjC oMKgwqDCoHzCoMKgwqAyICstCj4gwqBhcmNoL2FybS9pbmNsdWRlL2FzbS9iYXJlYm94LWFybS5o IHzCoMKgwqA5ICsrLQo+IMKgYXJjaC9hcm0vbGliMzIvYXJtbGludXguY8KgwqDCoMKgwqDCoMKg wqDCoMKgfMKgwqAxMCArKy0KPiDCoGFyY2gvYXJtL2xpYjMyL2Jvb3RtLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHwgMTA5Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gwqBh cmNoL2FybS9saWIzMi9ib290dS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMiAr LQo+IMKgYXJjaC9hcm0vbGliMzIvYm9vdHouY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKg wqDCoDIgKy0KPiDCoGNvbW1hbmRzL2Jvb3RtLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgMTEgKystCj4gwqBjb21tb24vS2NvbmZpZ8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMzMgKysrKysrKysrLQo+IMKgY29tbW9uL2Jv b3RtLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNiAr Ky0KPiDCoGZpcm13YXJlL0tjb25maWfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHzCoMKgwqAzICstCj4gwqBmaXJtd2FyZS9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAyICstCj4gwqBpbmNsdWRlL2Jvb3RtLmjCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDMgKy0KPiDCoGluY2x1ZGUvdGVl L29wdGVlLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMzAgKysrKysrKyst Cj4gwqAxNiBmaWxlcyBjaGFuZ2VkLCAyMzQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK PiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9jcHUvc3RhcnQta2VybmVsLW9wdGVlLlMK PiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3RlZS9vcHRlZS5oCj4gCj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2NwdS9NYWtlZmlsZSBiL2FyY2gvYXJtL2NwdS9NYWtlZmlsZQo+IGluZGV4 IGEzNWRiNDMuLmU2ZTc0ZTAgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vY3B1L01ha2VmaWxlCj4g KysrIGIvYXJjaC9hcm0vY3B1L01ha2VmaWxlCj4gQEAgLTEyLDYgKzEyLDggQEAgb2JqLXkgKz0g c3RhcnQubyBlbnRyeS5vCj4gwqAKPiDCoG9iai1wYmwteSArPSBzZXR1cGMkKFM2NCkubyBjYWNo ZSQoUzY0KS5vCj4gwqAKPiArb2JqLSQoQ09ORklHX0JPT1RNX09QVEVFKSArPSBzdGFydC1rZXJu ZWwtb3B0ZWUubwo+ICsKPiDCoCMKPiDCoCMgQW55IHZhcmlhbnRzIGNhbiBiZSBjYWxsZWQgYXMg c3RhcnQtYXJteHl6LlMKPiDCoCMKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L3N0YXJ0LWtl cm5lbC1vcHRlZS5TIGIvYXJjaC9hcm0vY3B1L3N0YXJ0LQo+IGtlcm5lbC1vcHRlZS5TCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jZTVhYzE3Cj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL2FyY2gvYXJtL2NwdS9zdGFydC1rZXJuZWwtb3B0ZWUuUwo+IEBAIC0wLDAgKzEs MTQgQEAKPiArI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KPiArCj4gK0VOVFJZKHN0YXJ0X2tl cm5lbF9vcHRlZSkKPiArwqDCoMKgwqDCoMKgwqDCoC8qCj4gK8KgwqDCoMKgwqDCoMKgwqDCoCog cjAgPSBvcHRlZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqAqIHIxID0ga2VybmVsCj4gK8KgwqDCoMKg wqDCoMKgwqDCoCogcjIgPSBvZnRyZWUKPiArwqDCoMKgwqDCoMKgwqDCoMKgKi8KPiArwqDCoMKg wqDCoMKgwqDCoMKgbW92IHI0LCByMAo+ICvCoMKgwqDCoMKgwqDCoMKgwqBtb3YgcjAsICMwCj4g K8KgwqDCoMKgwqDCoMKgwqDCoG1vdiBsciwgcjEKPiArwqDCoMKgwqDCoMKgwqDCoMKgbW92IHIx LCAjMAo+ICvCoMKgwqDCoMKgwqDCoMKgwqBieCByNAo+ICtFTkRQUk9DKHN0YXJ0X2tlcm5lbF9v cHRlZSkKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L3N0YXJ0LmMgYi9hcmNoL2FybS9jcHUv c3RhcnQuYwo+IGluZGV4IDc2OGZhOWUuLmU3OGE4MjAgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Y3B1L3N0YXJ0LmMKPiArKysgYi9hcmNoL2FybS9jcHUvc3RhcnQuYwo+IEBAIC0yMjYsNiArMjI2 LDkgQEAgX19ub3JldHVybiB2b2lkIGJhcmVib3hfbm9uX3BibF9zdGFydCh1bnNpZ25lZAo+IGxv bmcgbWVtYmFzZSwKPiDCoAo+IMKgCW1lbV9tYWxsb2NfaW5pdCgodm9pZCAqKW1hbGxvY19zdGFy dCwgKHZvaWQgKiltYWxsb2NfZW5kIC0KPiAxKTsKPiDCoAo+ICsJaWYgKElTX0VOQUJMRUQoQ09O RklHX0JPT1RNX09QVEVFKSkKPiArCQlvZl9hZGRfcmVzZXJ2ZV9lbnRyeShlbmRtZW0gLQo+IENP TkZJR19CT09UTV9PUFRFRV9TSVpFLCBlbmRtZW0gLSAxKTsKPiArCj4gwqAJcHJfZGVidWcoInN0 YXJ0aW5nIGJhcmVib3guLi5cbiIpOwo+IMKgCj4gwqAJc3RhcnRfYmFyZWJveCgpOwo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm1saW51eC5oCj4gYi9hcmNoL2FybS9pbmNs dWRlL2FzbS9hcm1saW51eC5oCj4gaW5kZXggMTM1ZjExYi4uNmFmOTg5NiAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm1saW51eC5oCj4gKysrIGIvYXJjaC9hcm0vaW5jbHVk ZS9hc20vYXJtbGludXguaAo+IEBAIC00MCw2ICs0MCw2IEBAIHN0cnVjdCBpbWFnZV9kYXRhOwo+ IMKgCj4gwqB2b2lkIHN0YXJ0X2xpbnV4KHZvaWQgKmFkciwgaW50IHN3YXAsIHVuc2lnbmVkIGxv bmcgaW5pdHJkX2FkZHJlc3MsCj4gwqAJCcKgdW5zaWduZWQgbG9uZyBpbml0cmRfc2l6ZSwgdm9p ZCAqb2Z0cmVlLAo+IC0JCcKgZW51bSBhcm1fc2VjdXJpdHlfc3RhdGUpOwo+ICsJCcKgZW51bSBh cm1fc2VjdXJpdHlfc3RhdGUsIHZvaWQgKm9wdGVlKTsKPiDCoAo+IMKgI2VuZGlmIC8qIF9fQVJD SF9BUk1MSU5VWF9IICovCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2JhcmVi b3gtYXJtLmgKPiBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2JhcmVib3gtYXJtLmgKPiBpbmRleCBl MDY1YjQ3Li45NTc2NWY5IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2JhcmVi b3gtYXJtLmgKPiArKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9iYXJlYm94LWFybS5oCj4gQEAg LTEwOSw2ICsxMDksMTUgQEAgdm9pZCAqYmFyZWJveF9hcm1fYm9vdF9kdGIodm9pZCk7Cj4gwqBz dGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYXJtX21lbV9zdGFja190b3AodW5zaWduZWQgbG9u ZyBtZW1iYXNlLAo+IMKgCQkJCQnCoMKgwqDCoMKgwqB1bnNpZ25lZCBsb25nIGVuZG1lbSkKPiDC oHsKPiArCS8qCj4gKwnCoCogRklYTUU6Cj4gKwnCoCogT1AtVEVFIGV4cGVjdHMgdG8gYmUgZXhl Y3V0ZWQgc29tZXdoZXJlIGF0IHRoZSBlbmQgb2YKPiBSQU0uCj4gKwnCoCogU2luY2Ugd2Ugbm9y bWFsbHkgb2NjdXB5IGFsbCBSQU0gYXQgdGhlIGVuZCwgbW92ZQo+IG91cnNlbHZlcwo+ICsJwqAq IGEgYml0IGxvd2VyLgo+ICsJwqAqLwogICAgICAgICBeClRoYXQgRklYTUUgaXMgZml4ZWQgYnV0 IHN0aWxsIGluIHRoZSBjb2RlLCB3aWxsIGZpeCBpbiB2Mi4KCj4gKwlpZiAoSVNfRU5BQkxFRChD T05GSUdfQk9PVE1fT1BURUUpKQo+ICsJCXJldHVybiBlbmRtZW0gLSBDT05GSUdfQk9PVE1fT1BU RUVfU0laRSAtIFNaXzY0SzsKPiArCj4gwqAJcmV0dXJuIGVuZG1lbSAtIFNaXzY0SzsKPiDCoH0K PiDCoAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIzMi9hcm1saW51eC5jIGIvYXJjaC9hcm0v bGliMzIvYXJtbGludXguYwo+IGluZGV4IGM5NzBmMDIuLmExZTMzNzUgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vbGliMzIvYXJtbGludXguYwo+ICsrKyBiL2FyY2gvYXJtL2xpYjMyL2FybWxpbnV4 LmMKPiBAQCAtMjU4LDkgKzI1OCwxMSBAQCBzdGF0aWMgdm9pZCBzZXR1cF90YWdzKHVuc2lnbmVk IGxvbmcKPiBpbml0cmRfYWRkcmVzcywKPiDCoAo+IMKgfQo+IMKgCj4gK3ZvaWQgc3RhcnRfa2Vy bmVsX29wdGVlKHZvaWQgKm9wdGVlLCB2b2lkICprZXJuZWwsIHZvaWQgKm9mdHJlZSk7Cj4gKwo+ IMKgdm9pZCBzdGFydF9saW51eCh2b2lkICphZHIsIGludCBzd2FwLCB1bnNpZ25lZCBsb25nIGlu aXRyZF9hZGRyZXNzLAo+IMKgCQnCoHVuc2lnbmVkIGxvbmcgaW5pdHJkX3NpemUsIHZvaWQgKm9m dHJlZSwKPiAtCQnCoGVudW0gYXJtX3NlY3VyaXR5X3N0YXRlIHN0YXRlKQo+ICsJCcKgZW51bSBh cm1fc2VjdXJpdHlfc3RhdGUgc3RhdGUsIHZvaWQgKm9wdGVlKQo+IMKgewo+IMKgCXZvaWQgKCpr ZXJuZWwpKGludCB6ZXJvLCBpbnQgYXJjaCwgdm9pZCAqcGFyYW1zKSA9IGFkcjsKPiDCoAl2b2lk ICpwYXJhbXMgPSBOVUxMOwo+IEBAIC0yOTQsNSArMjk2LDkgQEAgdm9pZCBzdGFydF9saW51eCh2 b2lkICphZHIsIGludCBzd2FwLCB1bnNpZ25lZAo+IGxvbmcgaW5pdHJkX2FkZHJlc3MsCj4gwqAJ CV9fYXNtX18gX192b2xhdGlsZV9fKCJtY3IgcDE1LCAwLCAlMCwgYzEsIGMwIiA6OiAiciIKPiAo cmVnKSk7Cj4gwqAJfQo+IMKgCj4gLQlrZXJuZWwoMCwgYXJjaGl0ZWN0dXJlLCBwYXJhbXMpOwo+ ICsJaWYgKG9wdGVlKSB7Cj4gKwkJc3RhcnRfa2VybmVsX29wdGVlKG9wdGVlLCBrZXJuZWwsIG9m dHJlZSk7Cj4gKwl9IGVsc2Ugewo+ICsJCWtlcm5lbCgwLCBhcmNoaXRlY3R1cmUsIHBhcmFtcyk7 Cj4gKwl9Cj4gwqB9Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYjMyL2Jvb3RtLmMgYi9hcmNo L2FybS9saWIzMi9ib290bS5jCj4gaW5kZXggNGNmNTcwZS4uNjliZjViYiAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9saWIzMi9ib290bS5jCj4gKysrIGIvYXJjaC9hcm0vbGliMzIvYm9vdG0uYwo+ IEBAIC00LDYgKzQsNyBAQAo+IMKgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiDCoCNpbmNsdWRlIDxk cml2ZXIuaD4KPiDCoCNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgo+ICsjaW5jbHVkZSA8ZmlybXdh cmUuaD4KPiDCoCNpbmNsdWRlIDxpbWFnZS5oPgo+IMKgI2luY2x1ZGUgPGluaXQuaD4KPiDCoCNp bmNsdWRlIDxmcy5oPgo+IEBAIC0xOSw2ICsyMCw3IEBACj4gwqAjaW5jbHVkZSA8YmluZm10Lmg+ Cj4gwqAjaW5jbHVkZSA8cmVzdGFydC5oPgo+IMKgI2luY2x1ZGUgPGdsb2JhbHZhci5oPgo+ICsj aW5jbHVkZSA8dGVlL29wdGVlLmg+Cj4gwqAKPiDCoCNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+ Cj4gwqAjaW5jbHVkZSA8YXNtL3NldHVwLmg+Cj4gQEAgLTEzMywxMSArMTM1LDk2IEBAIHN0YXRp YyBpbnQgZ2V0X2tlcm5lbF9hZGRyZXNzZXMoc2l6ZV90Cj4gaW1hZ2Vfc2l6ZSwKPiDCoAlyZXR1 cm4gMDsKPiDCoH0KPiDCoAo+ICtzdGF0aWMgaW50IG9wdGVlX3ZlcmlmeV9oZWFkZXJfcmVxdWVz dF9yZWdpb24oc3RydWN0IGltYWdlX2RhdGEKPiAqZGF0YSwgc3RydWN0IG9wdGVlX2hlYWRlciAq aGRyKQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmIChoZHItPm1hZ2ljICE9IE9QVEVFX01B R0lDKSB7Cj4gKwkJcHJpbnRmKCJJbnZhbGlkIGhlYWRlciBtYWdpYyAweCUwOHgsIGV4cGVjdGVk Cj4gMHglMDh4XG4iLAo+ICsJCcKgwqDCoMKgwqDCoMKgaGRyLT5tYWdpYywgT1BURUVfTUFHSUMp Owo+ICsJCXJldCA9IC1FSU5WQUw7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlpZiAo aGRyLT5hcmNoICE9IE9QVEVFX0FSQ0hfQVJNMzIgfHwgaGRyLT5pbml0X2xvYWRfYWRkcl9oaSkg Cj4gewo+ICsJCXByaW50ZigiT25seSAzMmJpdCBzdXBwb3J0ZWRcbiIpOwo+ICsJCXJldCA9IC1F SU5WQUw7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlkYXRhLT50ZWVfcmVzID0gcmVx dWVzdF9zZHJhbV9yZWdpb24oIlRFRSIsIGhkci0KPiA+aW5pdF9sb2FkX2FkZHJfbG8sIGhkci0+ aW5pdF9zaXplKTsKPiArCWlmICghZGF0YS0+dGVlX3Jlcykgewo+ICsJCXJldCA9IC1FQlVTWTsK PiArCQlwcmludGYoIkNhbm5vdCByZXF1ZXN0IFNEUkFNIHJlZ2lvbiAweCUwOHgtMHglMDh4Ogo+ ICVzXG4iLAo+ICsJCcKgwqDCoMKgwqDCoMKgaGRyLT5pbml0X2xvYWRfYWRkcl9sbywgaGRyLQo+ ID5pbml0X2xvYWRfYWRkcl9sbyArIGhkci0+aW5pdF9zaXplIC0gMSwKPiArCQnCoMKgwqDCoMKg wqDCoHN0cmVycm9yKC1yZXQpKTsKPiArCX0KPiArCj4gKwlyZXQgPSAwOwo+ICsJcmV0dXJuIHJl dDsKPiArfQo+ICsKPiArc3RhdGljIGludCBib290bV9sb2FkX3RlZV9mcm9tX2Zpcm13YXJlKHN0 cnVjdCBpbWFnZV9kYXRhICpkYXRhKQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCXU4ICpvcHRl ZTsKPiArCXNpemVfdCBvcHRlZV9zaXplOwo+ICsKPiArCXN0cnVjdCBvcHRlZV9oZWFkZXIgaGRy Owo+ICsKPiArCWdldF9idWlsdGluX2Zpcm13YXJlKG9wdGVlX2JpbiwgJm9wdGVlLCAmb3B0ZWVf c2l6ZSk7Cj4gKwo+ICsJbWVtY3B5KG9wdGVlLCAmaGRyLCBzaXplb2YoaGRyKSk7Cj4gKwo+ICsJ cmV0ID0gb3B0ZWVfdmVyaWZ5X2hlYWRlcl9yZXF1ZXN0X3JlZ2lvbihkYXRhLCAmaGRyKTsKPiAr CWlmIChyZXQgPCAwKQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJbWVtY3B5KG9wdGVlLCAodm9p ZCAqKWRhdGEtPnRlZV9yZXMtPnN0YXJ0LCBoZHIuaW5pdF9zaXplKTsKPiArCj4gKwlwcmludGYo IkNvcGllZCBvcHRlZSBiaW5hcnkgdG8gMHglMDh4LCBzaXplIDB4JTA4eFxuIiwgZGF0YS0KPiA+ dGVlX3Jlcy0+c3RhcnQsIGhkci5pbml0X3NpemUpOwo+ICsKPiArCXJldCA9IDA7Cj4gKwlyZXR1 cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGJvb3RtX2xvYWRfdGVlX2Zyb21fZmlsZShz dHJ1Y3QgaW1hZ2VfZGF0YSAqZGF0YSkKPiArewo+ICsJaW50IGZkLCByZXQ7Cj4gKwlzdHJ1Y3Qg b3B0ZWVfaGVhZGVyIGhkcjsKPiArCj4gKwlmZCA9IG9wZW4oZGF0YS0+dGVlX2ZpbGUsIE9fUkRP TkxZKTsKPiArCWlmIChmZCA8IDApCj4gKwkJcmV0dXJuIGZkOwo+ICsKPiArCXJldCA9IHJlYWQo ZmQsICZoZHIsIHNpemVvZihoZHIpKTsKPiArCWlmIChyZXQgPCAwKQo+ICsJCWdvdG8gb3V0Owo+ ICsKPiArCW9wdGVlX3ZlcmlmeV9oZWFkZXJfcmVxdWVzdF9yZWdpb24oZGF0YSwgJmhkcik7Cj4g KwlpZiAocmV0IDwgMCkKPiArCQlnb3RvIG91dDsKPiArCj4gKwlyZXQgPSByZWFkX2Z1bGwoZmQs ICh2b2lkICopZGF0YS0+dGVlX3Jlcy0+c3RhcnQsCj4gaGRyLmluaXRfc2l6ZSk7Cj4gKwlpZiAo cmV0IDwgMCkKPiArCQlnb3RvIG91dDsKPiArCj4gKwlwcmludGYoIlJlYWQgb3B0ZWUgZmlsZSB0 byAweCUwOHgsIHNpemUgMHglMDh4XG4iLCBkYXRhLQo+ID50ZWVfcmVzLT5zdGFydCwgaGRyLmlu aXRfc2l6ZSk7Cj4gKwo+ICsJcmV0ID0gMDsKPiArb3V0Ogo+ICsJY2xvc2UoZmQpOwo+ICsKPiAr CXJldHVybiByZXQ7Cj4gK30KPiArCj4gwqBzdGF0aWMgaW50IF9fZG9fYm9vdG1fbGludXgoc3Ry dWN0IGltYWdlX2RhdGEgKmRhdGEsIHVuc2lnbmVkIGxvbmcKPiBmcmVlX21lbSwKPiDCoAkJCcKg wqDCoMKgaW50IHN3YXAsIHZvaWQgKmZkdCkKPiDCoHsKPiDCoAl1bnNpZ25lZCBsb25nIGtlcm5l bDsKPiDCoAl1bnNpZ25lZCBsb25nIGluaXRyZF9zdGFydCA9IDAsIGluaXRyZF9zaXplID0gMCwg aW5pdHJkX2VuZAo+ID0gMDsKPiArCXZvaWQgKnRlZTsKPiDCoAllbnVtIGFybV9zZWN1cml0eV9z dGF0ZSBzdGF0ZSA9IGJvb3RtX2FybV9zZWN1cml0eV9zdGF0ZSgpOwo+IMKgCXZvaWQgKmZkdF9s b2FkX2FkZHJlc3MgPSBOVUxMOwo+IMKgCWludCByZXQ7Cj4gQEAgLTE4OSw2ICsyNzYsMjEgQEAg c3RhdGljIGludCBfX2RvX2Jvb3RtX2xpbnV4KHN0cnVjdCBpbWFnZV9kYXRhCj4gKmRhdGEsIHVu c2lnbmVkIGxvbmcgZnJlZV9tZW0sCj4gwqAJCQlyZXR1cm4gcmV0Owo+IMKgCX0KPiDCoAo+ICsJ aWYgKElTX0VOQUJMRUQoQ09ORklHX0JPT1RNX09QVEVFKSkgewo+ICsJCWlmIChkYXRhLT50ZWVf ZmlsZSkgewo+ICsJCQlyZXQgPSBib290bV9sb2FkX3RlZV9mcm9tX2ZpbGUoZGF0YSk7Cj4gKwkJ CWlmIChyZXQpCj4gKwkJCQlyZXR1cm4gcmV0Owo+ICsJCX0gZWxzZSB7Cj4gKwkJCWlmIChJU19F TkFCTEVEKENPTkZJR19CT09UTV9PUFRFRV9GSVJNV0FSRSkpCj4gewo+ICsJCQkJcmV0ID0KPiBi b290bV9sb2FkX3RlZV9mcm9tX2Zpcm13YXJlKGRhdGEpOwo+ICsJCQkJaWYgKHJldCkKPiArCQkJ CQlyZXR1cm4gcmV0Owo+ICsJCQl9Cj4gKwkJfQo+ICsJfQo+ICsKPiArCj4gwqAJaWYgKGJvb3Rt X3ZlcmJvc2UoZGF0YSkpIHsKPiDCoAkJcHJpbnRmKCJcblN0YXJ0aW5nIGtlcm5lbCBhdCAweCUw OGx4Iiwga2VybmVsKTsKPiDCoAkJaWYgKGluaXRyZF9zaXplKQo+IEBAIC0yMTAsOCArMzEyLDEz IEBAIHN0YXRpYyBpbnQgX19kb19ib290bV9saW51eChzdHJ1Y3QgaW1hZ2VfZGF0YQo+ICpkYXRh LCB1bnNpZ25lZCBsb25nIGZyZWVfbWVtLAo+IMKgCWlmIChkYXRhLT5kcnlydW4pCj4gwqAJCXJl dHVybiAwOwo+IMKgCj4gKwlpZiAoZGF0YS0+dGVlX3JlcykKPiArCQl0ZWUgPSAodm9pZCAqKWRh dGEtPnRlZV9yZXMtPnN0YXJ0Owo+ICsJZWxzZQo+ICsJCXRlZSA9IE5VTEw7Cj4gKwo+IMKgCXN0 YXJ0X2xpbnV4KCh2b2lkICopa2VybmVsLCBzd2FwLCBpbml0cmRfc3RhcnQsIGluaXRyZF9zaXpl LAo+IC0JCcKgwqDCoMKgZmR0X2xvYWRfYWRkcmVzcywgc3RhdGUpOwo+ICsJCcKgwqDCoMKgZmR0 X2xvYWRfYWRkcmVzcywgc3RhdGUsIHRlZSk7Cj4gwqAKPiDCoAlyZXN0YXJ0X21hY2hpbmUoKTsK PiDCoAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIzMi9ib290dS5jIGIvYXJjaC9hcm0vbGli MzIvYm9vdHUuYwo+IGluZGV4IGQ4MTFkYTMuLjI0Yzc0NGQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm0vbGliMzIvYm9vdHUuYwo+ICsrKyBiL2FyY2gvYXJtL2xpYjMyL2Jvb3R1LmMKPiBAQCAtMjYs NyArMjYsNyBAQCBzdGF0aWMgaW50IGRvX2Jvb3R1KGludCBhcmdjLCBjaGFyICphcmd2W10pCj4g wqAJb2Z0cmVlID0gb2ZfZ2V0X2ZpeGVkX3RyZWUoTlVMTCk7Cj4gwqAjZW5kaWYKPiDCoAo+IC0J c3RhcnRfbGludXgoa2VybmVsLCAwLCAwLCAwLCBvZnRyZWUsIEFSTV9TVEFURV9TRUNVUkUpOwo+ ICsJc3RhcnRfbGludXgoa2VybmVsLCAwLCAwLCAwLCBvZnRyZWUsIEFSTV9TVEFURV9TRUNVUkUs Cj4gTlVMTCk7Cj4gwqAKPiDCoAlyZXR1cm4gMTsKPiDCoH0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vbGliMzIvYm9vdHouYyBiL2FyY2gvYXJtL2xpYjMyL2Jvb3R6LmMKPiBpbmRleCBjMGZmZDkz Li5hMmEyNmFjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2xpYjMyL2Jvb3R6LmMKPiArKysgYi9h cmNoL2FybS9saWIzMi9ib290ei5jCj4gQEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgaW50IGRv X2Jvb3R6KGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gwqAJb2Z0cmVlID0gb2ZfZ2V0X2ZpeGVk X3RyZWUoTlVMTCk7Cj4gwqAjZW5kaWYKPiDCoAo+IC0Jc3RhcnRfbGludXgoemltYWdlLCBzd2Fw LCAwLCAwLCBvZnRyZWUsIEFSTV9TVEFURV9TRUNVUkUpOwo+ICsJc3RhcnRfbGludXgoemltYWdl LCBzd2FwLCAwLCAwLCBvZnRyZWUsIEFSTV9TVEFURV9TRUNVUkUsCj4gTlVMTCk7Cj4gwqAKPiDC oAlyZXR1cm4gMDsKPiDCoAo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9ib290bS5jIGIvY29tbWFu ZHMvYm9vdG0uYwo+IGluZGV4IGM3Y2JkYmUuLjEwMGMyZTkgMTAwNjQ0Cj4gLS0tIGEvY29tbWFu ZHMvYm9vdG0uYwo+ICsrKyBiL2NvbW1hbmRzL2Jvb3RtLmMKPiBAQCAtNDUsNyArNDUsNyBAQAo+ IMKgI2luY2x1ZGUgPG1hZ2ljdmFyLmg+Cj4gwqAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbWVtb3J5 X2xheW91dC5oPgo+IMKgCj4gLSNkZWZpbmUgQk9PVE1fT1BUU19DT01NT04gInNjYTplOnZvOmZk Igo+ICsjZGVmaW5lIEJPT1RNX09QVFNfQ09NTU9OICJzY2E6ZTp2bzpmZHQ6Igo+IMKgCj4gwqAj aWZkZWYgQ09ORklHX0JPT1RNX0lOSVRSRAo+IMKgI2RlZmluZSBCT09UTV9PUFRTIEJPT1RNX09Q VFNfQ09NTU9OICJMOnI6Igo+IEBAIC05Niw2ICs5Niw5IEBAIHN0YXRpYyBpbnQgZG9fYm9vdG0o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKPiDCoAkJY2FzZSAnZCc6Cj4gwqAJCQlkYXRhLmRyeXJ1 biA9IDE7Cj4gwqAJCQlicmVhazsKPiArCQljYXNlICd0JzoKPiArCQkJZGF0YS50ZWVfZmlsZSA9 IG9wdGFyZzsKPiArCQkJYnJlYWs7Cj4gwqAJCWRlZmF1bHQ6Cj4gwqAJCQlyZXR1cm4gQ09NTUFO RF9FUlJPUl9VU0FHRTsKPiDCoAkJfQo+IEBAIC0xMzQsNiArMTM3LDkgQEAgQkFSRUJPWF9DTURf SEVMUF9PUFQgKCItZSBPRkZTXHQiLCJlbnRyeSBwb2ludCB0bwo+IHRoZSBpbWFnZSByZWxhdGl2 ZSB0byBzdGFydCAoMAo+IMKgI2lmZGVmIENPTkZJR19PRlRSRUUKPiDCoEJBUkVCT1hfQ01EX0hF TFBfT1BUICgiLW8gRFRCXHQiLCJzcGVjaWZ5IG9wZW4gZmlybXdhcmUgZGV2aWNlCj4gdHJlZSIp Cj4gwqAjZW5kaWYKPiArI2lmZGVmIENPTkZJR19CT09UTV9PUFRFRQo+ICtCQVJFQk9YX0NNRF9I RUxQX09QVCAoIi10IFRFRVx0Iiwic3BlY2lmeSBURUUgaW1hZ2UiKQo+ICsjZW5kaWYKPiDCoCNp ZmRlZiBDT05GSUdfQk9PVE1fVkVSQk9TRQo+IMKgQkFSRUJPWF9DTURfSEVMUF9PUFQgKCItdlx0 IiwidmVyYm9zZSIpCj4gwqAjZW5kaWYKPiBAQCAtMTUzLDYgKzE1OSw5IEBAIEJBUkVCT1hfQ01E X1NUQVJUKGJvb3RtKQo+IMKgI2lmZGVmIENPTkZJR19CT09UTV9WRVJCT1NFCj4gwqAJCQkJCcKg wqAidiIKPiDCoCNlbmRpZgo+ICsjaWZkZWYgQ09ORklHX0JPT1RNX09QVEVFCj4gKwkJCQkJwqDC oCJ0Igo+ICsjZW5kaWYKPiDCoAkJCQkJwqDCoCJdIElNQUdFIikKPiDCoAlCQVJFQk9YX0NNRF9H Uk9VUChDTURfR1JQX0JPT1QpCj4gwqAJQkFSRUJPWF9DTURfSEVMUChjbWRfYm9vdG1faGVscCkK PiBkaWZmIC0tZ2l0IGEvY29tbW9uL0tjb25maWcgYi9jb21tb24vS2NvbmZpZwo+IGluZGV4IDJh ZDkyMTUuLmQ1ODU4YjQgMTAwNjQ0Cj4gLS0tIGEvY29tbW9uL0tjb25maWcKPiArKysgYi9jb21t b24vS2NvbmZpZwo+IEBAIC02NTksNiArNjU5LDM5IEBAIGNvbmZpZyBCT09UTV9GT1JDRV9TSUdO RURfSU1BR0VTCj4gwqAJwqDCoGFyZSByZWZ1c2VkIHRvIGJvb3QuIEVmZmVjdGl2ZWx5IHRoaXMg bWVhbnMgb25seSBGSVQKPiBpbWFnZXMgY2FuIGJlIGJvb3RlZAo+IMKgCcKgwqBzaW5jZSB0aGV5 IGFyZSB0aGUgb25seSBzdXBwb3J0ZWQgaW1hZ2UgdHlwZSB0aGF0IHN1cHBvcnQKPiBzaWduaW5n Lgo+IMKgCj4gK2NvbmZpZyBCT09UTV9PUFRFRQo+ICsJYm9vbAo+ICsJcHJvbXB0ICJzdXBwb3J0 IGJvb3RpbmcgT1AtVEVFIgo+ICsJZGVwZW5kcyBvbiBCT09UTSAmJiBBUk0KPiArCWhlbHAKPiAr CcKgwqBPUC1URUUgaXMgYSB0cnVzdGVkIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCAoVEVFKS4gV2l0 aCB0aGlzCj4gb3B0aW9uCj4gKwnCoMKgZW5hYmxlZCBiYXJlYm94IHN1cHBvcnRzIHN0YXJ0aW5n IG9wdGVlX29zIGFzIHBhcnQgb2YgdGhlCj4gYm9vdG0gY29tbWFuZC4KPiArCcKgwqBJbnN0ZWFk IG9mIHRoZSBrZXJuZWwgYm9vdG0gc3RhcnRzIHRoZSBvcHRlZV9vcyBiaW5hcnkKPiB3aGljaCB0 aGVuIHN0YXJ0cwo+ICsJwqDCoHRoZSBrZXJuZWwgaW4gbm9uc2VjdXJlIG1vZGUuIFBhc3MgdGhl IG9wdGVlX29zIGJpbmFyeQo+IHdpdGggdGhlIC10IG9wdGlvbgo+ICsJwqDCoG9yIGluIHRoZSBn bG9iYWwuYm9vdG0udGVlIHZhcmlhYmxlLgo+ICsKPiArY29uZmlnIEJPT1RNX09QVEVFX1NJWkUK PiArCWhleAo+ICsJZGVmYXVsdCAweDAyMDAwMDAwCj4gKwlwcm9tcHQgIk9QLVRFRSBNZW1vcnkg U2l6ZSIKPiArCWRlcGVuZHMgb24gQk9PVE1fT1BURUUKPiArCWhlbHAKPiArCcKgwqBTaXplIHRv IHJlc2VydmUgaW4gbWFpbiBtZW1vcnkgZm9yIE9QLVRFRS4KPiArCcKgwqBDYW4gYmUgc21hbGxl ciB0aGFuIHRoZSBhY3R1YWwgc2l6ZSB1c2VkIGJ5IE9QLVRFRSwgdGhpcwo+IGlzIHVzZWQgdG8g cHJldmVudAo+ICsJwqDCoGJhcmVib3ggZnJvbSBhbGxvY2F0aW5nIG1lbW9yeSBpbiB0aGlzIGFy ZWEuCj4gKwo+ICtjb25maWcgQk9PVE1fT1BURUVfRklSTVdBUkUKPiArCWJvb2wKPiArCXByb21w dCAibG9hZCBPUC1URUUgZnJvbSBidWlsdGluIGZpcm13YXJlIgo+ICsJZGVwZW5kcyBvbiBCT09U TV9PUFRFRQo+ICsJc2VsZWN0IEZJUk1XQVJFX09QVEVFCj4gKwloZWxwCj4gKwnCoMKgQnVpbGQg T1AtVEVFIGludG8gdGhlIGJhcmVib3ggYmluYXJ5IGFzIGEgZmlybXdhcmUgaW1hZ2UuCj4gKwnC oMKgUGxhY2UgeW91ciB0ZWUuYmluIGludG8gdGhlIGZpcm13YXJlIGRpcmVjdG9yeSBvciB0aGUK PiBleHRlcm5hbCBmaXJtd2FyZQo+ICsJwqDCoGRpcmVjdG9yeSBpZiBkZWZpbmVkLgo+ICsJwqDC oEJhcmVib3ggd2lsbCB1c2UgdGhlIGJ1aWx0aW4gb3B0ZWUuYmluIGlmIGEgc2VwYXJhdGUKPiB0 ZWVfZmlsZSBpcyBub3QKPiArCcKgwqBkZWZpbmVkLgo+ICsKPiDCoGNvbmZpZyBCTFNQRUMKPiDC oAlkZXBlbmRzIG9uIEZMRVhJQkxFX0JPT1RBUkdTCj4gwqAJZGVwZW5kcyBvbiAhU0hFTExfTk9O RQo+IGRpZmYgLS1naXQgYS9jb21tb24vYm9vdG0uYyBiL2NvbW1vbi9ib290bS5jCj4gaW5kZXgg MzZmNmM0MS4uZDcyMzJmNiAxMDA2NDQKPiAtLS0gYS9jb21tb24vYm9vdG0uYwo+ICsrKyBiL2Nv bW1vbi9ib290bS5jCj4gQEAgLTU4LDYgKzU4LDcgQEAgdm9pZCBib290bV9kYXRhX2luaXRfZGVm YXVsdHMoc3RydWN0IGJvb3RtX2RhdGEKPiAqZGF0YSkKPiDCoAlkYXRhLT5pbml0cmRfYWRkcmVz cyA9IFVJTUFHRV9JTlZBTElEX0FERFJFU1M7Cj4gwqAJZGF0YS0+b3NfYWRkcmVzcyA9IFVJTUFH RV9TT01FX0FERFJFU1M7Cj4gwqAJZGF0YS0+b2Z0cmVlX2ZpbGUgPSBnZXRlbnZfbm9uZW1wdHko Imdsb2JhbC5ib290bS5vZnRyZWUiKTsKPiArCWRhdGEtPnRlZV9maWxlID0gZ2V0ZW52X25vbmVt cHR5KCJnbG9iYWwuYm9vdG0udGVlIik7Cj4gwqAJZGF0YS0+b3NfZmlsZSA9IGdldGVudl9ub25l bXB0eSgiZ2xvYmFsLmJvb3RtLmltYWdlIik7Cj4gwqAJZ2V0ZW52X3VsKCJnbG9iYWwuYm9vdG0u aW1hZ2UubG9hZGFkZHIiLCAmZGF0YS0+b3NfYWRkcmVzcyk7Cj4gwqAJZ2V0ZW52X3VsKCJnbG9i YWwuYm9vdG0uaW5pdHJkLmxvYWRhZGRyIiwgJmRhdGEtCj4gPmluaXRyZF9hZGRyZXNzKTsKPiBA QCAtNTUzLDYgKzU1NCw4IEBAIGludCBib290bV9ib290KHN0cnVjdCBib290bV9kYXRhICpib290 bV9kYXRhKQo+IMKgCWJvb3RtX2ltYWdlX25hbWVfYW5kX3BhcnQoYm9vdG1fZGF0YS0+b3NfZmls ZSwgJmRhdGEtCj4gPm9zX2ZpbGUsICZkYXRhLT5vc19wYXJ0KTsKPiDCoAlib290bV9pbWFnZV9u YW1lX2FuZF9wYXJ0KGJvb3RtX2RhdGEtPm9mdHJlZV9maWxlLCAmZGF0YS0KPiA+b2Z0cmVlX2Zp bGUsICZkYXRhLT5vZnRyZWVfcGFydCk7Cj4gwqAJYm9vdG1faW1hZ2VfbmFtZV9hbmRfcGFydChi b290bV9kYXRhLT5pbml0cmRfZmlsZSwgJmRhdGEtCj4gPmluaXRyZF9maWxlLCAmZGF0YS0+aW5p dHJkX3BhcnQpOwo+ICsJaWYgKGJvb3RtX2RhdGEtPnRlZV9maWxlKQo+ICsJCWRhdGEtPnRlZV9m aWxlID0geHN0cmR1cChib290bV9kYXRhLT50ZWVfZmlsZSk7Cj4gwqAJZGF0YS0+dmVyYm9zZSA9 IGJvb3RtX2RhdGEtPnZlcmJvc2U7Cj4gwqAJZGF0YS0+dmVyaWZ5ID0gYm9vdG1fZGF0YS0+dmVy aWZ5Owo+IMKgCWRhdGEtPmZvcmNlID0gYm9vdG1fZGF0YS0+Zm9yY2U7Cj4gQEAgLTY5Myw2ICs2 OTYsNyBAQCBlcnJfb3V0Ogo+IMKgCWZyZWUoZGF0YS0+b3NfZmlsZSk7Cj4gwqAJZnJlZShkYXRh LT5vZnRyZWVfZmlsZSk7Cj4gwqAJZnJlZShkYXRhLT5pbml0cmRfZmlsZSk7Cj4gKwlmcmVlKGRh dGEtPnRlZV9maWxlKTsKPiDCoAlmcmVlKGRhdGEpOwo+IMKgCj4gwqAJcmV0dXJuIHJldDsKPiBA QCAtNzAzLDYgKzcwNyw3IEBAIHN0YXRpYyBpbnQgYm9vdG1faW5pdCh2b2lkKQo+IMKgCWdsb2Jh bHZhcl9hZGRfc2ltcGxlKCJib290bS5pbWFnZSIsIE5VTEwpOwo+IMKgCWdsb2JhbHZhcl9hZGRf c2ltcGxlKCJib290bS5pbWFnZS5sb2FkYWRkciIsIE5VTEwpOwo+IMKgCWdsb2JhbHZhcl9hZGRf c2ltcGxlKCJib290bS5vZnRyZWUiLCBOVUxMKTsKPiArCWdsb2JhbHZhcl9hZGRfc2ltcGxlKCJi b290bS50ZWUiLCBOVUxMKTsKPiDCoAlnbG9iYWx2YXJfYWRkX3NpbXBsZV9ib29sKCJib290bS5h cHBlbmRyb290IiwKPiAmYm9vdG1fYXBwZW5kcm9vdCk7Cj4gwqAJaWYgKElTX0VOQUJMRUQoQ09O RklHX0JPT1RNX0lOSVRSRCkpIHsKPiDCoAkJZ2xvYmFsdmFyX2FkZF9zaW1wbGUoImJvb3RtLmlu aXRyZCIsIE5VTEwpOwo+IEBAIC03MjcsNiArNzMyLDcgQEAKPiBCQVJFQk9YX01BR0lDVkFSX05B TUVEKGdsb2JhbF9ib290bV9pbWFnZV9sb2FkYWRkciwKPiBnbG9iYWwuYm9vdG0uaW1hZ2UubG9h ZGFkZHIsCj4gwqBCQVJFQk9YX01BR0lDVkFSX05BTUVEKGdsb2JhbF9ib290bV9pbml0cmQsIGds b2JhbC5ib290bS5pbml0cmQsCj4gImJvb3RtIGRlZmF1bHQgaW5pdHJkIik7Cj4gwqBCQVJFQk9Y X01BR0lDVkFSX05BTUVEKGdsb2JhbF9ib290bV9pbml0cmRfbG9hZGFkZHIsCj4gZ2xvYmFsLmJv b3RtLmluaXRyZC5sb2FkYWRkciwgImJvb3RtIGRlZmF1bHQgaW5pdHJkIGxvYWRhZGRyIik7Cj4g wqBCQVJFQk9YX01BR0lDVkFSX05BTUVEKGdsb2JhbF9ib290bV9vZnRyZWUsIGdsb2JhbC5ib290 bS5vZnRyZWUsCj4gImJvb3RtIGRlZmF1bHQgb2Z0cmVlIik7Cj4gK0JBUkVCT1hfTUFHSUNWQVJf TkFNRUQoZ2xvYmFsX2Jvb3RtX3RlZSwgZ2xvYmFsLmJvb3RtLnRlZSwgImJvb3RtCj4gZGVmYXVs dCB0ZWUgaW1hZ2UiKTsKPiDCoEJBUkVCT1hfTUFHSUNWQVJfTkFNRUQoZ2xvYmFsX2Jvb3RtX3Zl cmlmeSwgZ2xvYmFsLmJvb3RtLnZlcmlmeSwKPiAiYm9vdG0gZGVmYXVsdCB2ZXJpZnkgbGV2ZWwi KTsKPiDCoEJBUkVCT1hfTUFHSUNWQVJfTkFNRUQoZ2xvYmFsX2Jvb3RtX3ZlcmJvc2UsIGdsb2Jh bC5ib290bS52ZXJib3NlLAo+ICJib290bSBkZWZhdWx0IHZlcmJvc2l0eSBsZXZlbCAoMD1xdWll dCkiKTsKPiDCoEJBUkVCT1hfTUFHSUNWQVJfTkFNRUQoZ2xvYmFsX2Jvb3RtX2FwcGVuZHJvb3Qs Cj4gZ2xvYmFsLmJvb3RtLmFwcGVuZHJvb3QsICJBZGQgcm9vdD0gb3B0aW9uIHRvIEtlcm5lbCB0 byBtb3VudCByb290ZnMKPiBmcm9tIHRoZSBkZXZpY2UgdGhlIEtlcm5lbCBjb21lcyBmcm9tIik7 Cj4gZGlmZiAtLWdpdCBhL2Zpcm13YXJlL0tjb25maWcgYi9maXJtd2FyZS9LY29uZmlnCj4gaW5k ZXggYTZmNzllOC4uOWRjOWI0OSAxMDA2NDQKPiAtLS0gYS9maXJtd2FyZS9LY29uZmlnCj4gKysr IGIvZmlybXdhcmUvS2NvbmZpZwo+IEBAIC0xMCw0ICsxMCw3IEBAIGNvbmZpZyBGSVJNV0FSRV9J TVhfTFBERFI0X1BNVV9UUkFJTgo+IMKgY29uZmlnIEZJUk1XQVJFX0lNWDhNUV9BVEYKPiDCoMKg wqDCoMKgwqDCoMKgwqBib29sCj4gwqAKPiArY29uZmlnIEZJUk1XQVJFX09QVEVFCj4gKwlib29s Cj4gKwo+IMKgZW5kbWVudQo+IGRpZmYgLS1naXQgYS9maXJtd2FyZS9NYWtlZmlsZSBiL2Zpcm13 YXJlL01ha2VmaWxlCj4gaW5kZXggN2Y0ZGM0OS4uNTYwNmQ3MSAxMDA2NDQKPiAtLS0gYS9maXJt d2FyZS9NYWtlZmlsZQo+ICsrKyBiL2Zpcm13YXJlL01ha2VmaWxlCj4gQEAgLTExLDYgKzExLDgg QEAgZmlybXdhcmUtJChDT05GSUdfRklSTVdBUkVfSU1YX0xQRERSNF9QTVVfVFJBSU4pICs9Cj4g XAo+IMKgCj4gwqBmaXJtd2FyZS0kKENPTkZJR19GSVJNV0FSRV9JTVg4TVFfQVRGKSArPSBpbXgv aW14OG0tYmwzMS5iaW4KPiDCoAo+ICtmaXJtd2FyZS0kKENPTkZJR19GSVJNV0FSRV9PUFRFRSkg Kz0gb3B0ZWUuYmluCj4gKwo+IMKgIyBDcmVhdGUgJChmd2FicykgZnJvbSAkKENPTkZJR19FWFRS QV9GSVJNV0FSRV9ESVIpIC0tIGlmIGl0IGRvZXNuJ3QKPiBoYXZlIGEKPiDCoCMgbGVhZGluZyAv LCBpdCdzIHJlbGF0aXZlIHRvICQoc3JjdHJlZSkuCj4gwqBmd2RpciA6PSAkKHN1YnN0ICQocXVv dGUpLCwkKENPTkZJR19FWFRSQV9GSVJNV0FSRV9ESVIpKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2Jvb3RtLmggYi9pbmNsdWRlL2Jvb3RtLmgKPiBpbmRleCBmZGM3M2Y3Li41Y2UzMzE4IDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvYm9vdG0uaAo+ICsrKyBiL2luY2x1ZGUvYm9vdG0uaAo+IEBAIC0x Niw2ICsxNiw3IEBAIHN0cnVjdCBib290bV9kYXRhIHsKPiDCoAljb25zdCBjaGFyICpvc19maWxl Owo+IMKgCWNvbnN0IGNoYXIgKmluaXRyZF9maWxlOwo+IMKgCWNvbnN0IGNoYXIgKm9mdHJlZV9m aWxlOwo+ICsJY29uc3QgY2hhciAqdGVlX2ZpbGU7Cj4gwqAJaW50IHZlcmJvc2U7Cj4gwqAJZW51 bSBib290bV92ZXJpZnkgdmVyaWZ5Owo+IMKgCWJvb2wgZm9yY2U7Cj4gQEAgLTg2LDYgKzg3LDgg QEAgc3RydWN0IGltYWdlX2RhdGEgewo+IMKgCcKgKiBpdC4KPiDCoAnCoCovCj4gwqAJdm9pZCAq b3NfaGVhZGVyOwo+ICsJY2hhciAqdGVlX2ZpbGU7Cj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKnRlZV9y ZXM7Cj4gwqAKPiDCoAllbnVtIGJvb3RtX3ZlcmlmeSB2ZXJpZnk7Cj4gwqAJaW50IHZlcmJvc2U7 Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdGVlL29wdGVlLmggYi9pbmNsdWRlL3RlZS9vcHRlZS5o Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi44Y2ZlMDZkCj4gLS0tIC9k ZXYvbnVsbAo+ICsrKyBiL2luY2x1ZGUvdGVlL29wdGVlLmgKPiBAQCAtMCwwICsxLDMwIEBACj4g Ky8qCj4gKyAqIE9QLVRFRSByZWxhdGVkIGRlZmluaXRpb25zCj4gKyAqCj4gKyAqIChDKSBDb3B5 cmlnaHQgMjAxNiBMaW5hcm8gTGltaXRlZAo+ICsgKiBBbmRyZXcgRi4gRGF2aXMgPGFuZHJldy5k YXZpc0B4eHh4eHh4eHh4Pgo+ICsgKgo+ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBfT1BURUVfSAo+ICsjZGVmaW5lIF9PUFRF RV9ICj4gKwo+ICsjZGVmaW5lIE9QVEVFX01BR0lDwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAw eDQ1NTQ1MDRmCj4gKyNkZWZpbmUgT1BURUVfVkVSU0lPTsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAx Cj4gKyNkZWZpbmUgT1BURUVfQVJDSF9BUk0zMsKgwqDCoMKgwqDCoMKgwqAwCj4gKyNkZWZpbmUg T1BURUVfQVJDSF9BUk02NMKgwqDCoMKgwqDCoMKgwqAxCj4gKwo+ICtzdHJ1Y3Qgb3B0ZWVfaGVh ZGVyIHsKPiArCXVpbnQzMl90IG1hZ2ljOwo+ICsJdWludDhfdCB2ZXJzaW9uOwo+ICsJdWludDhf dCBhcmNoOwo+ICsJdWludDE2X3QgZmxhZ3M7Cj4gKwl1aW50MzJfdCBpbml0X3NpemU7Cj4gKwl1 aW50MzJfdCBpbml0X2xvYWRfYWRkcl9oaTsKPiArCXVpbnQzMl90IGluaXRfbG9hZF9hZGRyX2xv Owo+ICsJdWludDMyX3QgaW5pdF9tZW1fdXNhZ2U7Cj4gKwl1aW50MzJfdCBwYWdlZF9zaXplOwo+ ICt9Owo+ICsKPiArI2VuZGlmIC8qIF9PUFRFRV9IICovCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlzdApiYXJlYm94QGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9iYXJlYm94Cg==