From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v4 05/14] libxl: Load guest BIOS from file Date: Tue, 15 Mar 2016 20:53:10 -0400 Message-ID: <20160316005310.GB29696@char.us.oracle.com> References: <1457978150-27201-1-git-send-email-anthony.perard@citrix.com> <1457978150-27201-6-git-send-email-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1457978150-27201-6-git-send-email-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Anthony PERARD Cc: Stefano Stabellini , Wei Liu , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBNYXIgMTQsIDIwMTYgYXQgMDU6NTU6NDBQTSArMDAwMCwgQW50aG9ueSBQRVJBUkQg d3JvdGU6Cj4gVGhlIHBhdGggdG8gdGhlIEJJT1MgYmxvYiBjYW4gYmUgb3ZlcnJpZGUgYnkgdGhl IHhsJ3MgYmlvc19vdmVycmlkZSBvcHRpb24sCgpzL292ZXJyaWRlL292ZXJyaWRlbi8KCj4gb3Ig cHJvdmlkZWQgYnkgdS5odm0uYmlvc19maXJtd2FyZSBpbiB0aGUgZG9tYWluX2J1aWxkX2luZm8g c3RydWN0IGJ5IG90aGVyCj4gbGlieGwgdXNlci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbnRob255 IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KPiAKPiAtLS0KPiBDaGFuZ2UgaW4g VjQ6Cj4gLSB1cGRhdGluZyBtYW4gcGFnZSB0byBoYXZlIGJpb3Nfb3ZlcnJpZGUgZGVzY3JpYmVk Lgo+IC0gcmV0dXJuIEVSUk9SX0lOVkFMIGluIGxpYnhsX19sb2FkX2h2bV9maXJtd2FyZV9tb2R1 bGUgd2hlbiB0aGUgZmlsZSBpcwo+ICAgZW1wdHkuCj4gCj4gQ2hhbmdlIGluIFYzOgo+IC0gbW92 ZSBzZWFiaW9zX3BhdGggYW5kIG92bWZfcGF0aCB0byBsaWJ4bF9wYXRoLmMgKHdpdGggcmVuYW1p bmcpCj4gLSBmaXggc29tZSBjb2Rpbmcgc3R5bGUKPiAtIHdhcm4gZm9yIGVtcHR5IGZpbGUKPiAt IHJlbW92ZSByb21iaW9zIHN0dWZmICh3aWxsIHN0aWxsIGJlIGJ1aWx0LWluIGh2bWxvYWRlcikK PiAtIHJlbmFtZSBmaWVsZCBiaW9zX2ZpbGVuYW1lIGluIGRvbWFpbl9idWlsZF9pbmZvIHRvIGJp b3NfZmlybXdhcmUgdG8KPiAgIGZvbGxvdyBuYW1pbmcgb2YgYWNwaSBhbmQgc21iaW9zLgo+IC0g bG9nIGFuIGVycm9yIGFmdGVyIGxpYnhsX3JlYWRfZmlsZV9jb250ZW50cygpIG9ubHkgd2hlbiBp dCByZXR1cm4gRU5PRU5UCj4gLSByZXR1cm4gYW4gZXJyb3Igb24gZW1wdHkgZmlsZS4KPiAtIGFk ZGVkICNkZWZpbmUgTElCWExfSEFWRV9CVUlMRElORk9fSFZNX0JJT1NfRklSTVdBUkUKPiAtLS0K PiAgZG9jcy9tYW4veGwuY2ZnLnBvZC41ICAgICAgICB8ICA5ICsrKysrKysKPiAgdG9vbHMvbGli eGwvbGlieGwuaCAgICAgICAgICB8ICA4ICsrKysrKysKPiAgdG9vbHMvbGlieGwvbGlieGxfZG9t LmMgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgMiArKwo+ICB0b29scy9saWJ4bC9s aWJ4bF9wYXRocy5jICAgIHwgMTAgKysrKysrKysKPiAgdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu aWRsICB8ICAxICsKPiAgdG9vbHMvbGlieGwveGxfY21kaW1wbC5jICAgICB8IDExICsrKysrKy0t LQo+ICA3IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy5wb2QuNSBiL2RvY3MvbWFuL3hsLmNmZy5w b2QuNQo+IGluZGV4IDU2YjExMTcuLjE2NTkxNWIgMTAwNjQ0Cj4gLS0tIGEvZG9jcy9tYW4veGwu Y2ZnLnBvZC41Cj4gKysrIGIvZG9jcy9tYW4veGwuY2ZnLnBvZC41Cj4gQEAgLTExMjEsNiArMTEy MSwxNSBAQCBSZXF1aXJlcyBkZXZpY2VfbW9kZWxfdmVyc2lvbj1xZW11LXhlbi4KPiAgCj4gID1i YWNrCj4gIAo+ICs9aXRlbSBCPGJpb3Nfb3ZlcnJpZGU9IlBBVEgiPgoKUGVyaGFwcyAnYmlvc19v dmVycmlkZV9wYXRoJyA/Cgo+ICsKPiArT3ZlcnJpZGUgdGhlIHBhdGggdG8gdGhlIGJsb2IgdG8g YmUgdXNlZCBhcyBCSU9TLiBUaGUgYmxvYiBwcm92aWRlZCBoZXJlIE1VU1QKClBlcmhhcHM6CgpP dmVycmlkZSB0aGUgcGF0aCB0byBzZWFyY2ggZm9yIHRoZSBCPGJpb3M9Pj8KCk9yIGlzIHRoaXMg dGhlIGZ1bGwgcGF0aCBpbmNsdWRpbmcgdGhlIG5hbWU/PyBJbiB3aGljaCBjYXNlIHNob3VsZCBp dAptZW50aW9uIHRoYXQgQjxiaW9zPT4gaXMgb3ZlcnJpZGVuPwoKCj4gK2JlIGNvbnNpc3RlbnQg d2l0aCB0aGUgYGJpb3NgIHdoaWNoIHlvdSBoYXZlIHNwZWNpZmllZC4gWW91IHNob3VsZCBub3Qg bm9ybWFsbHkKPiArbmVlZCB0byBzcGVjaWZ5IHRoaXMgb3B0aW9uLgo+ICsKPiArVGhpcyBvcHRp b25zIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCBpZiB1c2luZyBiaW9zPSJyb21iaW9zIiBvcgoK QjxiaW9zPSJyb21iaW9zIj4gPwo+ICtkZXZpY2VfbW9kZWxfdmVyc2lvbj0icWVtdS14ZW4tdHJh ZGl0aW9uYWwiLgoKQW5kIGhlcmUgdG9vPwoKPiArCj4gID1pdGVtIEI8cGFlPUJPT0xFQU4+Cj4g IAo+ICBIaWRlIG9yIGV4cG9zZSB0aGUgSUEzMiBQaHlzaWNhbCBBZGRyZXNzIEV4dGVuc2lvbnMu IFRoZXNlIGV4dGVuc2lvbnMKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rv b2xzL2xpYnhsL2xpYnhsLmgKPiBpbmRleCBmOWUzZWY1Li5kMDZjNmM1IDEwMDY0NAo+IC0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsLmgKPiArKysgYi90b29scy9saWJ4bC9saWJ4bC5oCj4gQEAgLTg4 NCw2ICs4ODQsMTQgQEAgdm9pZCBsaWJ4bF9tYWNfY29weShsaWJ4bF9jdHggKmN0eCwgbGlieGxf bWFjICpkc3QsIGxpYnhsX21hYyAqc3JjKTsKPiAgI2RlZmluZSBMSUJYTF9IQVZFX0NIRUNLUE9J TlRFRF9TVFJFQU0gMQo+ICAKPiAgLyoKPiArICogTElCWExfSEFWRV9CVUlMRElORk9fSFZNX0JJ T1NfRklSTVdBUkUKPiArICoKPiArICogbGlieGxfZG9tYWluX2J1aWxkX2luZm8gaGFzIHUuaHZt LmJpb3NfZmlybXdhcmUgZmllbGQgd2hpY2ggY2FuIGJlIHVzZQo+ICsgKiB0byBwcm92aWRlIGEg ZGlmZmVyZW50IGJpb3MgYmxvYiAobGlrZSBTZWFCSU9TIG9yIE9WTUYpLgo+ICsgKi8KPiArI2Rl ZmluZSBMSUJYTF9IQVZFX0JVSUxESU5GT19IVk1fQklPU19GSVJNV0FSRQo+ICsKPiArLyoKPiAg ICogRVJST1JfUkVNVVNfWFhYIGVycm9yIGNvZGUgb25seSBleGlzdHMgZnJvbSBYZW4gNC41LCBY ZW4gNC42IGFuZCBpdAo+ICAgKiBpcyBjaGFuZ2VkIHRvIEVSUk9SX0NIRUNLUE9JTlRfWFhYIGlu IFhlbiA0LjcKPiAgICovCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIv dG9vbHMvbGlieGwvbGlieGxfZG9tLmMKPiBpbmRleCBiODI1Yjk4Li5jMTEyY2M1IDEwMDY0NAo+ IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxf ZG9tLmMKPiBAQCAtODYyLDYgKzg2MiwzOCBAQCBlcnI6Cj4gICAgICByZXR1cm4gcmV0Owo+ICB9 Cj4gIAo+ICtzdGF0aWMgaW50IGxpYnhsX19sb2FkX2h2bV9maXJtd2FyZV9tb2R1bGUobGlieGxf X2djICpnYywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGNoYXIgKmZpbGVuYW1lLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqd2hhdCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19odm1fZmlybXdhcmVfbW9kdWxlICptKQo+ICt7Cj4g KyAgICBpbnQgZGF0YWxlbiA9IDA7Cj4gKyAgICB2b2lkICpkYXRhID0gTlVMTDsKPiArICAgIGlu dCBlOwoKVGhhdCBpcyBpbnRlcmVzdGluZy4KClRoZSBDT0RJTkdfU1RZTEUgaW4gdG9vbHMvbGli eGwgc2F5czoKCiAzNiAgIGludCByYzsgICAgLyogYSBsaWJ4bCBlcnJvciBjb2RlIC0gYW5kIG5v dCBhbnl0aGluZyBlbHNlICovICAgICAgICAgICAgICAgICAgIAogMzcgICBpbnQgcjsgICAgIC8q IHRoZSByZXR1cm4gdmFsdWUgZnJvbSBhIHN5c3RlbSBjYWxsIChvciBsaWJ4YyBjYWxsKSAqLyAg ICAgICAgICAKIDM4ICAgYm9vbCBvazsgICAvKiB0aGUgc3VjY2VzcyByZXR1cm4gdmFsdWUgZnJv bSBhIGJvb2xlYW4gZnVuY3Rpb24gKi8gICAgICAgICAgICAgCgpBbmQgbGlieGxfcmVhZF9maWxl X2NvbnRlbnRzIGlzIHF1aXRlIHdlaXJkLiBJdCBkb2VzIHJldHVybiBhbiBub3JtYWwKZXJybm8g dmFsdWUsIHNvIC4uIG9uZSBjb3VsZCBzYXkgaXQgc2hvdWxkIGJlICdyJz8gQnV0IHRoZSBleGlz dGluZyB1c2VycwpvZiB0aGlzIGFyZSBlaXRoZXIgJ2UnLCdyZXQnIG9yICdyYycuICdyYycgaXMg bm90IGdvb2QsIGFuZCAncmV0JwppcyAncmMnIGlzIGNsZWFybHkgd3JvbmcuCgpIb3cgY29uZnVz aW5nLgoKSWFuLCBXZWksIG1heWJlIHlvdSBjb3VsZCBjbGFyaWZ5IHBsZWFzZT8KCgo+ICsKPiAr ICAgIExPRyhERUJVRywgIkxvYWRpbmcgJXM6ICVzIiwgd2hhdCwgZmlsZW5hbWUpOwo+ICsgICAg ZSA9IGxpYnhsX3JlYWRfZmlsZV9jb250ZW50cyhDVFgsIGZpbGVuYW1lLCAmZGF0YSwgJmRhdGFs ZW4pOwo+ICsgICAgaWYgKGUpIHsKPiArICAgICAgICAvKgo+ICsgICAgICAgICAqIFByaW50IGEg bWVzc2FnZSBvbmx5IG9uIEVOT0VOVCwgb3RoZXIgZXJyb3IgYXJlIGxvZ2dlZCBieSB0aGUKCnMv ZXJyb3IvZXJyb3JzLwo+ICsgICAgICAgICAqIGZ1bmN0aW9uIGxpYnhsX3JlYWRfZmlsZV9jb250 ZW50cygpLgo+ICsgICAgICAgICAqLwo+ICsgICAgICAgIGlmIChlID09IEVOT0VOVCkKPiArICAg ICAgICAgICAgTE9HRVYoRVJST1IsIGUsICJmYWlsZWQgdG8gcmVhZCAlcyBmaWxlIiwgd2hhdCk7 Cj4gKyAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7Cj4gKyAgICB9Cj4gKyAgICBsaWJ4bF9fcHRy X2FkZChnYywgZGF0YSk7Cj4gKyAgICBpZiAoZGF0YWxlbikgewo+ICsgICAgICAgIC8qIE9ubHkg YWNjZXB0IG5vbi1lbXB0eSBmaWxlcyAqLwo+ICsgICAgICAgIG0tPmRhdGEgPSBkYXRhOwo+ICsg ICAgICAgIG0tPmxlbmd0aCA9IGRhdGFsZW47Cj4gKyAgICB9IGVsc2Ugewo+ICsgICAgICAgIExP RyhFUlJPUiwgImZpbGUgJXMgZm9yICVzIGlzIGVtcHR5IiwgZmlsZW5hbWUsIHdoYXQpOwo+ICsg ICAgICAgIHJldHVybiBFUlJPUl9JTlZBTDsKPiArICAgIH0KPiArICAgIHJldHVybiAwOwo+ICt9 Cj4gKwo+ICBzdGF0aWMgaW50IGxpYnhsX19kb21haW5fZmlybXdhcmUobGlieGxfX2djICpnYywK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9p bmZvICppbmZvLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhj X2RvbV9pbWFnZSAqZG9tKQo+IEBAIC04NzEsNiArOTAzLDcgQEAgc3RhdGljIGludCBsaWJ4bF9f ZG9tYWluX2Zpcm13YXJlKGxpYnhsX19nYyAqZ2MsCj4gICAgICBpbnQgZSwgcmM7Cj4gICAgICBp bnQgZGF0YWxlbiA9IDA7Cj4gICAgICB2b2lkICpkYXRhOwo+ICsgICAgY29uc3QgY2hhciAqYmlv c19maWxlbmFtZSA9IE5VTEw7Cj4gIAo+ICAgICAgaWYgKGluZm8tPnUuaHZtLmZpcm13YXJlKQo+ ICAgICAgICAgIGZpcm13YXJlID0gaW5mby0+dS5odm0uZmlybXdhcmU7Cj4gQEAgLTkxNCw2ICs5 NDcsMzAgQEAgc3RhdGljIGludCBsaWJ4bF9fZG9tYWluX2Zpcm13YXJlKGxpYnhsX19nYyAqZ2Ms Cj4gICAgICAgICAgZ290byBvdXQ7Cj4gICAgICB9Cj4gIAo+ICsgICAgaWYgKGluZm8tPmRldmlj ZV9tb2RlbF92ZXJzaW9uID09IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOKSB7 Cj4gKyAgICAgICAgaWYgKGluZm8tPnUuaHZtLmJpb3NfZmlybXdhcmUpIHsKPiArICAgICAgICAg ICAgYmlvc19maWxlbmFtZSA9IGluZm8tPnUuaHZtLmJpb3NfZmlybXdhcmU7Cj4gKyAgICAgICAg fSBlbHNlIHsKPiArICAgICAgICAgICAgc3dpdGNoIChpbmZvLT51Lmh2bS5iaW9zKSB7Cj4gKyAg ICAgICAgICAgIGNhc2UgTElCWExfQklPU19UWVBFX1NFQUJJT1M6Cj4gKyAgICAgICAgICAgICAg ICBiaW9zX2ZpbGVuYW1lID0gbGlieGxfX3NlYWJpb3NfcGF0aCgpOwo+ICsgICAgICAgICAgICAg ICAgYnJlYWs7Cj4gKyAgICAgICAgICAgIGNhc2UgTElCWExfQklPU19UWVBFX09WTUY6Cj4gKyAg ICAgICAgICAgICAgICBiaW9zX2ZpbGVuYW1lID0gbGlieGxfX292bWZfcGF0aCgpOwo+ICsgICAg ICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgIGNhc2UgTElCWExfQklPU19UWVBFX1JP TUJJT1M6Cj4gKyAgICAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgICAgICBhYm9ydCgp Owo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIGlmIChi aW9zX2ZpbGVuYW1lKSB7Cj4gKyAgICAgICAgcmMgPSBsaWJ4bF9fbG9hZF9odm1fZmlybXdhcmVf bW9kdWxlKGdjLCBiaW9zX2ZpbGVuYW1lLCAiQklPUyIsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZkb20tPmJpb3NfbW9kdWxlKTsKPiArICAgICAgICBp ZiAocmMpIGdvdG8gb3V0Owo+ICsgICAgfQo+ICsKPiAgICAgIGlmIChpbmZvLT51Lmh2bS5zbWJp b3NfZmlybXdhcmUpIHsKPiAgICAgICAgICBkYXRhID0gTlVMTDsKPiAgICAgICAgICBlID0gbGli eGxfcmVhZF9maWxlX2NvbnRlbnRzKGN0eCwgaW5mby0+dS5odm0uc21iaW9zX2Zpcm13YXJlLAo+ IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaAo+IGluZGV4IDAwNWZlNTMuLmFmM2JhOWEgMTAwNjQ0Cj4gLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2lu dGVybmFsLmgKPiBAQCAtMjI2NSw2ICsyMjY1LDggQEAgX2hpZGRlbiBjb25zdCBjaGFyICpsaWJ4 bF9feGVuX2NvbmZpZ19kaXJfcGF0aCh2b2lkKTsKPiAgX2hpZGRlbiBjb25zdCBjaGFyICpsaWJ4 bF9feGVuX3NjcmlwdF9kaXJfcGF0aCh2b2lkKTsKPiAgX2hpZGRlbiBjb25zdCBjaGFyICpsaWJ4 bF9fbG9ja19kaXJfcGF0aCh2b2lkKTsKPiAgX2hpZGRlbiBjb25zdCBjaGFyICpsaWJ4bF9fcnVu X2Rpcl9wYXRoKHZvaWQpOwo+ICtfaGlkZGVuIGNvbnN0IGNoYXIgKmxpYnhsX19zZWFiaW9zX3Bh dGgodm9pZCk7Cj4gK19oaWRkZW4gY29uc3QgY2hhciAqbGlieGxfX292bWZfcGF0aCh2b2lkKTsK PiAgCj4gIC8qLS0tLS0gc3VicHJvY2VzcyBleGVjdXRpb24gd2l0aCB0aW1lb3V0IC0tLS0tKi8K PiAgCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3BhdGhzLmMgYi90b29scy9saWJ4 bC9saWJ4bF9wYXRocy5jCj4gaW5kZXggOWI3YjBkNS4uNjk3MmI5MCAxMDA2NDQKPiAtLS0gYS90 b29scy9saWJ4bC9saWJ4bF9wYXRocy5jCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcGF0aHMu Ywo+IEBAIC0zNSw2ICszNSwxNiBAQCBjb25zdCBjaGFyICpsaWJ4bF9fcnVuX2Rpcl9wYXRoKHZv aWQpCj4gICAgICByZXR1cm4gWEVOX1JVTl9ESVI7Cj4gIH0KPiAgCj4gK2NvbnN0IGNoYXIgKmxp YnhsX19zZWFiaW9zX3BhdGgodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIFNFQUJJT1NfUEFUSDsK PiArfQo+ICsKPiArY29uc3QgY2hhciAqbGlieGxfX292bWZfcGF0aCh2b2lkKQo+ICt7Cj4gKyAg ICByZXR1cm4gT1ZNRl9QQVRIOwo+ICt9Cj4gKwo+ICAvKgo+ICAgKiBMb2NhbCB2YXJpYWJsZXM6 Cj4gICAqIG1vZGU6IEMKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRs IGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gaW5kZXggNjMyYzAwOS4uMzk3OGZkOSAx MDA2NDQKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiArKysgYi90b29scy9s aWJ4bC9saWJ4bF90eXBlcy5pZGwKPiBAQCAtNDkzLDYgKzQ5Myw3IEBAIGxpYnhsX2RvbWFpbl9i dWlsZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVpbGRfaW5mbyIsWwo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoInRpbWVyX21vZGUiLCAgICAgICBsaWJ4bF90aW1l cl9tb2RlKSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJuZXN0 ZWRfaHZtIiwgICAgICAgbGlieGxfZGVmYm9vbCksCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgiYWx0cDJtIiwgICAgICAgICAgIGxpYnhsX2RlZmJvb2wpLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImJpb3NfZmlybXdhcmUiLCAg ICBzdHJpbmcpLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInNt Ymlvc19maXJtd2FyZSIsICBzdHJpbmcpLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoImFjcGlfZmlybXdhcmUiLCAgICBzdHJpbmcpLAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoImhkdHlwZSIsICAgICAgICAgICBsaWJ4bF9oZHR5 cGUpLAo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMgYi90b29scy9saWJ4 bC94bF9jbWRpbXBsLmMKPiBpbmRleCA5OTBkM2M5Li4wOGNlZWRlIDEwMDY0NAo+IC0tLSBhL3Rv b2xzL2xpYnhsL3hsX2NtZGltcGwuYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwo+ IEBAIC0xNTA1LDEyICsxNTA1LDE3IEBAIHN0YXRpYyB2b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNv bnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCj4gIAo+ICAgICAgICAgIHhsdV9jZmdfcmVwbGFjZV9z dHJpbmcgKGNvbmZpZywgImZpcm13YXJlX292ZXJyaWRlIiwKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmYl9pbmZvLT51Lmh2bS5maXJtd2FyZSwgMCk7Cj4gLSAgICAgICAgaWYg KCF4bHVfY2ZnX2dldF9zdHJpbmcoY29uZmlnLCAiYmlvcyIsICZidWYsIDApICYmCj4gLSAgICAg ICAgICAgIGxpYnhsX2Jpb3NfdHlwZV9mcm9tX3N0cmluZyhidWYsICZiX2luZm8tPnUuaHZtLmJp b3MpKSB7Cj4gKyAgICAgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAiYmlvc19v dmVycmlkZSIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5mby0+dS5o dm0uYmlvc19maXJtd2FyZSwgMCk7Cj4gKyAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9zdHJpbmco Y29uZmlnLCAiYmlvcyIsICZidWYsIDApKSB7Cj4gKyAgICAgICAgICAgIGlmIChsaWJ4bF9iaW9z X3R5cGVfZnJvbV9zdHJpbmcoYnVmLCAmYl9pbmZvLT51Lmh2bS5iaW9zKSkgewo+ICAgICAgICAg ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFUlJPUjogaW52YWxpZCB2YWx1ZSBcIiVzXCIgZm9y IFwiYmlvc1wiXG4iLAo+ICAgICAgICAgICAgICAgICAgICAgIGJ1Zik7Cj4gICAgICAgICAgICAg ICAgICBleGl0ICgxKTsKPiAtICAgICAgICB9Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9 IGVsc2UgaWYgKGJfaW5mby0+dS5odm0uYmlvc19maXJtd2FyZSkKPiArICAgICAgICAgICAgZnBy aW50ZihzdGRlcnIsICJXQVJOSU5HOiAiCj4gKyAgICAgICAgICAgICAgICAgICAgImJpb3Nfb3Zl cnJpZGUgZ2l2ZW4gd2l0aG91dCBzcGVjaWZpYyBiaW9zIG5hbWVcbiIpOwo+ICAKPiAgICAgICAg ICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgInBhZSIsICZiX2luZm8tPnUuaHZtLnBhZSwg MCk7Cj4gICAgICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhcGljIiwgJmJfaW5m by0+dS5odm0uYXBpYywgMCk7Cj4gLS0gCj4gQW50aG9ueSBQRVJBUkQKPiAKPiAKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWls aW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IGh0dHA6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK