From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v4 04/34] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane. Date: Wed, 23 Mar 2016 22:37:23 -0400 Message-ID: <20160324023718.GA13266@localhost.localdomain> References: <20160317013852.GA22460@char.us.oracle.com> <56EC046302000078000DE54F@prv-mh.provo.novell.com> <20160318192224.GA11924@char.us.oracle.com> <56EFFAF802000078000DED1F@prv-mh.provo.novell.com> <20160322155251.GB20062@char.us.oracle.com> <56F17B8902000078000DF47F@prv-mh.provo.novell.com> <20160322185744.GA28711@char.us.oracle.com> <56F19CF9.7020007@citrix.com> <20160322203930.GA30388@char.us.oracle.com> <56F2686402000078000DF878@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aiv9i-0000FV-SF for xen-devel@lists.xenproject.org; Thu, 24 Mar 2016 02:37:51 +0000 Content-Disposition: inline In-Reply-To: <56F2686402000078000DF878@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Wei Liu , Stefano Stabellini , Andrew Cooper , Ian Jackson , mpohlack@amazon.de, ross.lagerwall@citrix.com, Julien Grall , Stefano Stabellini , xen-devel@lists.xenproject.org, Daniel De Graaf , Keir Fraser , sasha.levin@oracle.com List-Id: xen-devel@lists.xenproject.org LiBmaXhlZCBhbGwgb2YgdGhvc2UgLi4KPiA+IC0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYwo+ ID4gKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCj4gPiBAQCAtMTY1OCw2ICsxNjU4LDQwIEBA IHN0YXRpYyBpbnQgZmxhc2tfeGVuX3ZlcnNpb24gKHVpbnQzMl90IG9wKQo+ID4gICAgICB9Cj4g PiAgfQo+ID4gIAo+ID4gK3N0YXRpYyBpbnQgZmxhc2tfdmVyc2lvbl9vcCAodWludDMyX3Qgb3Ap Cj4gPiArewo+ID4gKyAgICB1MzIgZHNpZCA9IGRvbWFpbl9zaWQoY3VycmVudC0+ZG9tYWluKTsK PiA+ICsKPiA+ICsgICAgc3dpdGNoICggb3AgKQo+ID4gKyAgICB7Cj4gPiArICAgIGNhc2UgWEVO X1ZFUlNJT05fdmVyc2lvbjoKPiA+ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9wbGF0Zm9ybV9wYXJh bWV0ZXJzOgo+ID4gKyAgICBjYXNlIFhFTl9WRVJTSU9OX2dldF9mZWF0dXJlczoKPiA+ICsgICAg ICAgIC8qIFRoZXNlIE1VU1QgYWx3YXlzIGJlIGFjY2Vzc2libGUgdG8gYW55IGd1ZXN0IGJ5IGRl ZmF1bHQuICovCj4gPiArICAgICAgICByZXR1cm4gMDsKPiAKPiBQZXJoYXBzIHRoZXNlIHdvdWxk IGJldHRlciBiZSB0YWtlbiBjYXJlIG9mIGluIHhzbV92ZXJzaW9uX29wKCk/CgpJdCB3b3VsZCBi ZSB0aGUgb2RkYmFsbCBvbmUuCkFsbCBvZiB0aGUgeHNtXyoqKCkgaW4gdGhlIGhlYWRlciBmaWxl IChpbmNsdWRlL3hzbS94c20uaCkgY2FsbCB0aGUgZnVuY3Rpb24KcG9pbnRlcnMuCgo+IChUaGF0 IGNvbnNpZGVyYXRpb24gdGhlbiBhbHNvIGFwcGxpZXMgdG8gdGhlIG90aGVyIHBhdGNoIG9mIGNv dXJzZS4pCgpIZXJlIGlzIHRoZSB1cGRhdGVkIHBhdGNoOgoKRnJvbSAxMGVjYWQ3NDY5YTViYTEy ODk1NDE4YWEyZDAzNWRlZjg1MjY1NGU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBL b25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkRhdGU6IFR1ZSwg MjIgTWFyIDIwMTYgMTY6NTM6MTkgLTA0MDAKU3ViamVjdDogW1BBVENIXSBIWVBFUkNBTExfdmVy c2lvbl9vcC4gTmV3IGh5cGVyY2FsbCBtaXJyb3JpbmcgWEVOVkVSXyBidXQKIHNhbmUuCgpUaGlz IGh5cGVyY2FsbCBtaXJyb3JzIHRoZSBYRU5WRVJfIGluIHRoYXQgaXQgaGFzIHNpbWlsYXIgZnVu Y3Rpb25hbGl0eS4KSG93ZXZlciBpdCBpcyBkZXNpZ25lZCBkaWZmZXJlbnRseToKIC0gTm8gY29t cGF0IGxheWVyLiBUaGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSB0aGUgc2FtZSBzaXplIG9uIDMyCiAg IGFzIG9uIDY0LWJpdC4KIC0gVGhlIGh5cGVyY2FsbCBhY2NlcHRzIHRocmVlIGFyZ3VtZW50cyAt IHRoZSBjb21tYW5kLCBwb2ludGVyIHRvCiAgIGFuIGJ1ZmZlciwgYW5kIHRoZSBsZW5ndGggb2Yg dGhlIGJ1ZmZlci4KIC0gRWFjaCBzdWItb3BzIGNhbiBiZSAicHJvYmVkIiBmb3Igc2l6ZSBieSBy ZXR1cm5pbmcgdGhlIHNpemUgb2YKICAgYnVmZmVyIHRoYXQgd2lsbCBiZSBuZWVkZWQgLSBpZiB0 aGUgYnVmZmVyIGlzIE5VTEwuCiAtIFN1Ym9wcyBjYW4gY29tcGxldGUgZXZlbiBpZiB0aGUgYnVm ZmVyIGlzIHRvbyBzbWFsbCAtIHRydW5jYXRlZAogICBkYXRhIHdpbGwgYmUgZmlsbGVkIGFuZCBo eXBlcmNhbGwgd2lsbCByZXR1cm4gLUVOT0JVRlMuCiAtIFZFUlNJT05fY29tbWFuZGxpbmUsIFZF UlNJT05fY2hhbmdlc2V0IGFyZSBwcml2aWxlZ2VkLgogLSBUaGVyZSBpcyBubyBYRU5WRVJfY29t cGlsZV9pbmZvIGVxdWl2YWxlbnQuCiAtIFRoZSBoeXBlcmNhbGwgY2FuIHJldHVybiAtRVBFUk0g YW5kIHRvb2xzdGFjay9PU2VzIGFyZSBleHBlY3RlZAogICB0byBkZWFsIHdpdGguIEhvd2V2ZXIg dGhlcmUgYXJlIHRocmVlIHN1Ym9wczogWEVOX1ZFUlNJT05fdmVyc2lvbiwKICAgWEVOX1ZFUlNJ T05fcGxhdGZvcm1fcGFyYW1ldGVycyBhbmQgWEVOX1ZFUlNJT05fZ2V0X2ZlYXR1cmVzCiAgIHRo YXQgd2lsbCBhbHdheXMgcmV0dXJuIGFuIHZhbHVlIGFzIGd1ZXN0cyBjYW5ub3Qgc3Vydml2ZSB3 aXRob3V0IHRoZW0uCgpXaGlsZSB3ZSBjb21iaW5lIHNvbWUgb2YgdGhlIGNvbW1vbiBjb2RlIGJl dHdlZW4gWEVOVkVSXyBhbmQgVkVSU0lPTl8KdGFrZSB0aGUgbGliZXJ0eSBvZiBtb3ZpbmcgcGFl X2V4dGVuZGVkX2NyMyBpbiB4ODYgYXJlYS4KClN1Z2dlc3RlZC1ieTogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6dXRl ayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpBY2tlZC1ieTogRGFuaWVsIERlIEdyYWFm IDxkZ2RlZ3JhQHR5Y2hvLm5zYS5nb3Y+IFtYU00gYml0c10KCi0tLQpDYzogRGFuaWVsIERlIEdy YWFmIDxkZ2RlZ3JhQHR5Y2hvLm5zYS5nb3Y+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25A ZXUuY2l0cml4LmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5p QGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAY2l0cml4LmNvbT4KQ2M6IEp1bGll biBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBLZWlyIEZyYXNlciA8a2VpckB4ZW4u b3JnPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCnYxLXYzOiBXYXMgbm90IHBhcnQgb2YgdGhl IHNlcmllcy4KdjQ6IE5ldyBwb3N0aW5nLgp2NTogUmVtb3ZlIG1lbXNldCBhbmQgdXNlIHt9LiBU d2VhayBjb3B5X3RvX2d1ZXN0IGFuZCBjYXBhYmlsaXRpZXNfaW5mbywKICAgIGFkZCBBU1NFUlQo c3opIHBlciBBbmRyZXcncyByZXZpZXcuIEFkZCBjYWNoZWQ9MSBiYWNrIGluLgogICAgUGVyIEph biwgcy9WRVJTSU9OX09QL1ZFUlNJT04vLCBzcXVhc2ggc2l6ZSBjaGVjayB3aXRoIGRvX3ZlcnNp b25fb3AsCiAgICB1cGRhdGUgdGhlIGNvbW1lbnRzLiBEcm9wcGVkIEFuZHJldydzIFJldmlldy1i eS4gQXRlIG5ld2xpbmVzLgogICAgQWRkZWQgaW5pdGNhbGwgdG8gZ3VhcmQgYWdhaW5zdCBnYXJi YWdlIGJlaW5nIHNldCBpbiBjYWNoZWQgZGF0YS4KICAgIEZvbGRlZCBjb2RlIHBvcHVsYXRpbmcg Y2FjaGUgaW4gX19pbml0LiBzL2NoYXIvY2hhcltdLyBpbiBwdWJsaWMuaAotLS0KLS0tCiB0b29s cy9mbGFzay9wb2xpY3kvcG9saWN5L21vZHVsZXMveGVuL3hlbi50ZSB8ICAgNyArLQogeGVuL2Fy Y2gvYXJtL3RyYXBzLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogeGVuL2FyY2gv eDg2L2h2bS9odm0uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogeGVuL2FyY2gveDg2 L3g4Nl82NC9jb21wYXQvZW50cnkuUyAgICAgICAgICAgfCAgIDIgKwogeGVuL2FyY2gveDg2L3g4 Nl82NC9lbnRyeS5TICAgICAgICAgICAgICAgICAgfCAgIDIgKwogeGVuL2NvbW1vbi9jb21wYXQv a2VybmVsLmMgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogeGVuL2NvbW1vbi9rZXJuZWwuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAyMTMgKysrKysrKysrKysrKysrKysrKysrKy0tLS0t CiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaCAgICAgICAgICAgICAgICB8ICAgMiArCiB4 ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5oICAgICAgICAgICAgICAgICB8ICA3MCArKysrKysr Ky0KIHhlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaCAgICAgICAgICAgICAgICAgICAgIHwgICAxICsK IHhlbi9pbmNsdWRlL3hlbi9oeXBlcmNhbGwuaCAgICAgICAgICAgICAgICAgIHwgICA0ICsKIHhl bi9pbmNsdWRlL3hzbS9kdW1teS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDIxICsrKwogeGVu L2luY2x1ZGUveHNtL3hzbS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKwogeGVuL3hz bS9kdW1teS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogeGVuL3hzbS9m bGFzay9ob29rcy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzUgKysrKysKIHhlbi94c20v Zmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzICAgICAgICAgIHwgIDIxICsrLQogMTYgZmlsZXMg Y2hhbmdlZCwgMzQ2IGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3Rvb2xzL2ZsYXNrL3BvbGljeS9wb2xpY3kvbW9kdWxlcy94ZW4veGVuLnRlIGIvdG9vbHMvZmxh c2svcG9saWN5L3BvbGljeS9tb2R1bGVzL3hlbi94ZW4udGUKaW5kZXggZTE3NGU0OC4uN2U2OWNl OSAxMDA2NDQKLS0tIGEvdG9vbHMvZmxhc2svcG9saWN5L3BvbGljeS9tb2R1bGVzL3hlbi94ZW4u dGUKKysrIGIvdG9vbHMvZmxhc2svcG9saWN5L3BvbGljeS9tb2R1bGVzL3hlbi94ZW4udGUKQEAg LTc0LDExICs3NCwxMiBAQCBhbGxvdyBkb20wX3QgeGVuX3Q6eGVuMiB7CiAgICAgZ2V0X3N5bWJv bAogfTsKIAotIyBBbGxvdyBkb20wIHRvIHVzZSBhbGwgWEVOVkVSXyBzdWJvcHMgdGhhdCBoYXZl IGNoZWNrcy4KKyMgQWxsb3cgZG9tMCB0byB1c2UgYWxsIFhFTlZFUl8gc3Vib3BzIGFuZCBWRVJT SU9OIHN1Ym9wcyB0aGF0IGhhdmUgY2hlY2tzLgogIyBOb3RlIHRoYXQgZG9tMCBpcyBwYXJ0IG9m IGRvbWFpbl90eXBlIHNvIHRoaXMgaGFzIGR1cGxpY2F0ZXMuCiBhbGxvdyBkb20wX3QgeGVuX3Q6 dmVyc2lvbiB7CiAgICAgeGVuX2V4dHJhdmVyc2lvbiB4ZW5fY29tcGlsZV9pbmZvIHhlbl9jYXBh YmlsaXRpZXMKICAgICB4ZW5fY2hhbmdlc2V0IHhlbl9wYWdlc2l6ZSB4ZW5fZ3Vlc3RfaGFuZGxl IHhlbl9jb21tYW5kbGluZQorICAgIGV4dHJhdmVyc2lvbiBjYXBhYmlsaXRpZXMgY2hhbmdlc2V0 IHBhZ2VzaXplIGd1ZXN0X2hhbmRsZSBjb21tYW5kbGluZQogfTsKIAogYWxsb3cgZG9tMF90IHhl bl90Om1tdSBtZW1vcnltYXA7CkBAIC0xNDUsMTAgKzE0NiwxMiBAQCBpZiAoZ3Vlc3Rfd3JpdGVj b25zb2xlKSB7CiAjIHBtdV9jdHJsIGlzIGZvcikKIGFsbG93IGRvbWFpbl90eXBlIHhlbl90Onhl bjIgcG11X3VzZTsKIAotIyBGb3Igbm9ybWFsIGd1ZXN0cyBhbGwgcG9zc2libGUgZXhjZXB0IFhF TlZFUl9jb21tYW5kbGluZS4KKyMgRm9yIG5vcm1hbCBndWVzdHMgYWxsIHBvc3NpYmxlIGV4Y2Vw dCBYRU5WRVJfY29tbWFuZGxpbmUsIFZFUlNJT05fY2hhbmdlc2V0LAorIyBhbmQgVkVSU0lPTl9j b21tYW5kbGluZQogYWxsb3cgZG9tYWluX3R5cGUgeGVuX3Q6dmVyc2lvbiB7CiAgICAgeGVuX2V4 dHJhdmVyc2lvbiB4ZW5fY29tcGlsZV9pbmZvIHhlbl9jYXBhYmlsaXRpZXMKICAgICB4ZW5fY2hh bmdlc2V0IHhlbl9wYWdlc2l6ZSB4ZW5fZ3Vlc3RfaGFuZGxlCisgICAgZXh0cmF2ZXJzaW9uIGNh cGFiaWxpdGllcyBwYWdlc2l6ZSBndWVzdF9oYW5kbGUKIH07CiAKICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJtL3Ry YXBzLmMKaW5kZXggODM3NDRlOC4uMzFkMjExNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3Ry YXBzLmMKKysrIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTEyMzUsNiArMTIzNSw3IEBAIHN0 YXRpYyBhcm1faHlwZXJjYWxsX3QgYXJtX2h5cGVyY2FsbF90YWJsZVtdID0gewogICAgIEhZUEVS Q0FMTChtdWx0aWNhbGwsIDIpLAogICAgIEhZUEVSQ0FMTChwbGF0Zm9ybV9vcCwgMSksCiAgICAg SFlQRVJDQUxMX0FSTSh2Y3B1X29wLCAzKSwKKyAgICBIWVBFUkNBTEwodmVyc2lvbl9vcCwgMyks CiB9OwogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0u YyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggODBkNTlmZi4uZjE2YjU5MCAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5j CkBAIC01MzIyLDYgKzUzMjIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICAgICBDT01QQVRf Q0FMTChwbGF0Zm9ybV9vcCksCiAgICAgQ09NUEFUX0NBTEwobW11ZXh0X29wKSwKICAgICBIWVBF UkNBTEwoeGVucG11X29wKSwKKyAgICBIWVBFUkNBTEwodmVyc2lvbl9vcCksCiAgICAgSFlQRVJD QUxMKGFyY2hfMSkKIH07CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0 L2VudHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCmluZGV4IDMzZTJj MTIuLmZkMjVlODQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5 LlMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwpAQCAtMzk0LDYgKzM5 NCw3IEBAIEVOVFJZKGNvbXBhdF9oeXBlcmNhbGxfdGFibGUpCiAgICAgICAgIC5xdWFkIGRvX3Rt ZW1fb3AKICAgICAgICAgLnF1YWQgZG9fbmlfaHlwZXJjYWxsICAgICAgICAgICAvKiByZXNlcnZl ZCBmb3IgWGVuQ2xpZW50ICovCiAgICAgICAgIC5xdWFkIGRvX3hlbnBtdV9vcCAgICAgICAgICAg ICAgLyogNDAgKi8KKyAgICAgICAgLnF1YWQgZG9fdmVyc2lvbl9vcAogICAgICAgICAucmVwdCBf X0hZUEVSVklTT1JfYXJjaF8wLSgoLi1jb21wYXRfaHlwZXJjYWxsX3RhYmxlKS84KQogICAgICAg ICAucXVhZCBjb21wYXRfbmlfaHlwZXJjYWxsCiAgICAgICAgIC5lbmRyCkBAIC00NDUsNiArNDQ2 LDcgQEAgRU5UUlkoY29tcGF0X2h5cGVyY2FsbF9hcmdzX3RhYmxlKQogICAgICAgICAuYnl0ZSAx IC8qIGRvX3RtZW1fb3AgICAgICAgICAgICAgICAqLwogICAgICAgICAuYnl0ZSAwIC8qIHJlc2Vy dmVkIGZvciBYZW5DbGllbnQgICAqLwogICAgICAgICAuYnl0ZSAyIC8qIGRvX3hlbnBtdV9vcCAg ICAgICAgICAgICAqLyAgLyogNDAgKi8KKyAgICAgICAgLmJ5dGUgMyAvKiBkb192ZXJzaW9uX29w ICAgICAgICAgICAgKi8KICAgICAgICAgLnJlcHQgX19IWVBFUlZJU09SX2FyY2hfMC0oLi1jb21w YXRfaHlwZXJjYWxsX2FyZ3NfdGFibGUpCiAgICAgICAgIC5ieXRlIDAgLyogY29tcGF0X25pX2h5 cGVyY2FsbCAgICAgICovCiAgICAgICAgIC5lbmRyCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv eDg2XzY0L2VudHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKaW5kZXggMDdlZjA5 Ni4uYjBlNzI1NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCisrKyBi L3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwpAQCAtNzMwLDYgKzczMCw3IEBAIEVOVFJZKGh5 cGVyY2FsbF90YWJsZSkKICAgICAgICAgLnF1YWQgZG9fdG1lbV9vcAogICAgICAgICAucXVhZCBk b19uaV9oeXBlcmNhbGwgICAgICAgLyogcmVzZXJ2ZWQgZm9yIFhlbkNsaWVudCAqLwogICAgICAg ICAucXVhZCBkb194ZW5wbXVfb3AgICAgICAgICAgLyogNDAgKi8KKyAgICAgICAgLnF1YWQgZG9f dmVyc2lvbl9vcAogICAgICAgICAucmVwdCBfX0hZUEVSVklTT1JfYXJjaF8wLSgoLi1oeXBlcmNh bGxfdGFibGUpLzgpCiAgICAgICAgIC5xdWFkIGRvX25pX2h5cGVyY2FsbAogICAgICAgICAuZW5k cgpAQCAtNzgxLDYgKzc4Miw3IEBAIEVOVFJZKGh5cGVyY2FsbF9hcmdzX3RhYmxlKQogICAgICAg ICAuYnl0ZSAxIC8qIGRvX3RtZW1fb3AgICAgICAgICAgICovCiAgICAgICAgIC5ieXRlIDAgLyog cmVzZXJ2ZWQgZm9yIFhlbkNsaWVudCAqLwogICAgICAgICAuYnl0ZSAyIC8qIGRvX3hlbnBtdV9v cCAgICAgICAgICovICAvKiA0MCAqLworICAgICAgICAuYnl0ZSAzIC8qIGRvX3ZlcnNpb25fb3Ag ICAgICAgICovCiAgICAgICAgIC5yZXB0IF9fSFlQRVJWSVNPUl9hcmNoXzAtKC4taHlwZXJjYWxs X2FyZ3NfdGFibGUpCiAgICAgICAgIC5ieXRlIDAgLyogZG9fbmlfaHlwZXJjYWxsICAgICAgKi8K ICAgICAgICAgLmVuZHIKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vY29tcGF0L2tlcm5lbC5jIGIv eGVuL2NvbW1vbi9jb21wYXQva2VybmVsLmMKaW5kZXggZGY5M2ZkZC4uN2E3Y2E1MyAxMDA2NDQK LS0tIGEveGVuL2NvbW1vbi9jb21wYXQva2VybmVsLmMKKysrIGIveGVuL2NvbW1vbi9jb21wYXQv a2VybmVsLmMKQEAgLTM5LDYgKzM5LDggQEAgQ0hFQ0tfVFlQRShjYXBhYmlsaXRpZXNfaW5mbyk7 CiAKIENIRUNLX1RZUEUoZG9tYWluX2hhbmRsZSk7CiAKK0NIRUNLX1RZUEUodmVyc2lvbl9vcF92 YWwpOworCiAjZGVmaW5lIHhlbm5taV9jYWxsYmFjayBjb21wYXRfbm1pX2NhbGxiYWNrCiAjZGVm aW5lIHhlbm5taV9jYWxsYmFja190IGNvbXBhdF9ubWlfY2FsbGJhY2tfdAogCmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL2tlcm5lbC5jIGIveGVuL2NvbW1vbi9rZXJuZWwuYwppbmRleCBhNGEzYzM2 Li5mYjI1MzU5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2tlcm5lbC5jCisrKyBiL3hlbi9jb21t b24va2VybmVsLmMKQEAgLTIyMSw2ICsyMjEsNDcgQEAgdm9pZCBfX2luaXQgZG9faW5pdGNhbGxz KHZvaWQpCiAKICNlbmRpZgogCitzdGF0aWMgaW50IGdldF9mZWF0dXJlcyhzdHJ1Y3QgZG9tYWlu ICpkLCB4ZW5fZmVhdHVyZV9pbmZvX3QgKmZpKQoreworICAgIHN3aXRjaCAoIGZpLT5zdWJtYXBf aWR4ICkKKyAgICB7CisgICAgY2FzZSAwOgorICAgICAgICBmaS0+c3VibWFwID0gKDFVIDw8IFhF TkZFQVRfbWVtb3J5X29wX3Zub2RlX3N1cHBvcnRlZCk7CisgICAgICAgIGlmICggcGFnaW5nX21v ZGVfdHJhbnNsYXRlKGQpICkKKyAgICAgICAgICAgIGZpLT5zdWJtYXAgfD0KKyAgICAgICAgICAg ICAgICAoMVUgPDwgWEVORkVBVF93cml0YWJsZV9wYWdlX3RhYmxlcykgfAorICAgICAgICAgICAg ICAgICgxVSA8PCBYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKTsKKyAgICAgICAgaWYg KCBpc19oYXJkd2FyZV9kb21haW4oZCkgKQorICAgICAgICAgICAgZmktPnN1Ym1hcCB8PSAxVSA8 PCBYRU5GRUFUX2RvbTA7CisjaWZkZWYgQ09ORklHX1g4NgorICAgICAgICBpZiAoIFZNX0FTU0lT VChkLCBwYWVfZXh0ZW5kZWRfY3IzKSApCisgICAgICAgICAgICBmaS0+c3VibWFwIHw9ICgxVSA8 PCBYRU5GRUFUX3BhZV9wZ2Rpcl9hYm92ZV80Z2IpOworICAgICAgICBzd2l0Y2ggKCBkLT5ndWVz dF90eXBlICkKKyAgICAgICAgeworICAgICAgICBjYXNlIGd1ZXN0X3R5cGVfcHY6CisgICAgICAg ICAgICBmaS0+c3VibWFwIHw9ICgxVSA8PCBYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVf YWQpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfaGlnaG1lbV9h c3Npc3QpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfZ250dGFi X21hcF9hdmFpbF9iaXRzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGd1ZXN0 X3R5cGVfcHZoOgorICAgICAgICAgICAgZmktPnN1Ym1hcCB8PSAoMVUgPDwgWEVORkVBVF9odm1f c2FmZV9wdmNsb2NrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICgxVSA8PCBYRU5GRUFU X3N1cGVydmlzb3JfbW9kZV9rZXJuZWwpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKDFV IDw8IFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3Rvcik7CisgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgY2FzZSBndWVzdF90eXBlX2h2bToKKyAgICAgICAgICAgIGZpLT5zdWJtYXAgfD0gKDFV IDw8IFhFTkZFQVRfaHZtX3NhZmVfcHZjbG9jaykgfAorICAgICAgICAgICAgICAgICAgICAgICAg ICAoMVUgPDwgWEVORkVBVF9odm1fY2FsbGJhY2tfdmVjdG9yKSB8CisgICAgICAgICAgICAgICAg ICAgICAgICAgICgxVSA8PCBYRU5GRUFUX2h2bV9waXJxcyk7CisgICAgICAgICAgIGJyZWFrOwor ICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAg cmV0dXJuIC1FSU5WQUw7CisgICAgfQorICAgIHJldHVybiAwOworfQorCiAvKgogICogU2ltcGxl IGh5cGVyY2FsbHMuCiAgKi8KQEAgLTI5OCw0NyArMzM5LDE0IEBAIERPKHhlbl92ZXJzaW9uKShp bnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKICAgICBjYXNlIFhFTlZF Ul9nZXRfZmVhdHVyZXM6CiAgICAgewogICAgICAgICB4ZW5fZmVhdHVyZV9pbmZvX3QgZmk7Ci0g ICAgICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47CisgICAgICAgIGludCBy YzsKIAogICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmZmksIGFyZywgMSkgKQogICAgICAg ICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAKLSAgICAgICAgc3dpdGNoICggZmkuc3VibWFwX2lkeCAp Ci0gICAgICAgIHsKLSAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgZmkuc3VibWFwID0gKDFV IDw8IFhFTkZFQVRfbWVtb3J5X29wX3Zub2RlX3N1cHBvcnRlZCk7Ci0gICAgICAgICAgICBpZiAo IFZNX0FTU0lTVChkLCBwYWVfZXh0ZW5kZWRfY3IzKSApCi0gICAgICAgICAgICAgICAgZmkuc3Vi bWFwIHw9ICgxVSA8PCBYRU5GRUFUX3BhZV9wZ2Rpcl9hYm92ZV80Z2IpOwotICAgICAgICAgICAg aWYgKCBwYWdpbmdfbW9kZV90cmFuc2xhdGUoZCkgKQotICAgICAgICAgICAgICAgIGZpLnN1Ym1h cCB8PSAKLSAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfd3JpdGFibGVfcGFnZV90 YWJsZXMpIHwKLSAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfYXV0b190cmFuc2xh dGVkX3BoeXNtYXApOwotICAgICAgICAgICAgaWYgKCBpc19oYXJkd2FyZV9kb21haW4oZCkgKQot ICAgICAgICAgICAgICAgIGZpLnN1Ym1hcCB8PSAxVSA8PCBYRU5GRUFUX2RvbTA7Ci0jaWZkZWYg Q09ORklHX1g4NgotICAgICAgICAgICAgc3dpdGNoICggZC0+Z3Vlc3RfdHlwZSApCi0gICAgICAg ICAgICB7Ci0gICAgICAgICAgICBjYXNlIGd1ZXN0X3R5cGVfcHY6Ci0gICAgICAgICAgICAgICAg Zmkuc3VibWFwIHw9ICgxVSA8PCBYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVfYWQpIHwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfaGlnaG1lbV9hc3Np c3QpIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfZ250dGFi X21hcF9hdmFpbF9iaXRzKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh c2UgZ3Vlc3RfdHlwZV9wdmg6Ci0gICAgICAgICAgICAgICAgZmkuc3VibWFwIHw9ICgxVSA8PCBY RU5GRUFUX2h2bV9zYWZlX3B2Y2xvY2spIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KDFVIDw8IFhFTkZFQVRfc3VwZXJ2aXNvcl9tb2RlX2tlcm5lbCkgfAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9odm1fY2FsbGJhY2tfdmVjdG9yKTsKLSAgICAg ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgZ3Vlc3RfdHlwZV9odm06Ci0gICAg ICAgICAgICAgICAgZmkuc3VibWFwIHw9ICgxVSA8PCBYRU5GRUFUX2h2bV9zYWZlX3B2Y2xvY2sp IHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfaHZtX2NhbGxi YWNrX3ZlY3RvcikgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMVUgPDwgWEVORkVB VF9odm1fcGlycXMpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotI2Vu ZGlmCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwotICAgICAgICB9CisgICAgICAgIHJjID0gZ2V0X2ZlYXR1cmVzKGN1cnJl bnQtPmRvbWFpbiwgJmZpKTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICByZXR1cm4g cmM7CiAKICAgICAgICAgaWYgKCBfX2NvcHlfdG9fZ3Vlc3QoYXJnLCAmZmksIDEpICkKICAgICAg ICAgICAgIHJldHVybiAtRUZBVUxUOwpAQCAtMzgxLDYgKzM4OSwxMjMgQEAgRE8oeGVuX3ZlcnNp b24pKGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgIHJldHVy biAtRU5PU1lTOwogfQogCisvKiBDb21wdXRlZCBiZSBrZXJuZWxfY2FjaGVfaW5pdC4gKi8KK3N0 YXRpYyB4ZW5fY2FwYWJpbGl0aWVzX2luZm9fdCBfX3JlYWRfbW9zdGx5IGNhY2hlZF9jYXA7Citz dGF0aWMgdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgY2FjaGVkX2NhcF9sZW47CisKKy8qCisg KiBTaW1pbGFyIHRvIEhZUEVSVklTT1JfeGVuX3ZlcnNpb24gYnV0IHdpdGggYSBzYW5lIGludGVy ZmFjZQorICogKGhhcyBhIGxlbmd0aCwgb25lIGNhbiBwcm9iZSBmb3IgdGhlIGxlbmd0aCkgYW5k IHdpdGggb25lIGxlc3Mgc3ViLW9wczoKKyAqIG1pc3NpbmcgWEVOVkVSX2NvbXBpbGVfaW5mby4K KyAqLworRE8odmVyc2lvbl9vcCkodW5zaWduZWQgaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9Q QVJBTSh2b2lkKSBhcmcsCisgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKQoreworICAg IHVuaW9uIHsKKyAgICAgICAgeGVuX3ZlcnNpb25fb3BfdmFsX3QgdmFsOworICAgICAgICB4ZW5f ZmVhdHVyZV9pbmZvX3QgZmk7CisgICAgfSB1ID0ge307CisgICAgdW5zaWduZWQgaW50IHN6ID0g MDsKKyAgICBjb25zdCB2b2lkICpwdHIgPSBOVUxMOworICAgIGludCByYyA9IHhzbV92ZXJzaW9u X29wKFhTTV9PVEhFUiwgY21kKTsKKworICAgIC8qIFdlIGNhbiBzYWZlbHkgcmV0dXJuIC1FUEVS TSEgKi8KKyAgICBpZiAoIHJjICkKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAgLyoKKyAgICAg KiBUaGUgSFlQRVJWSVNPUl94ZW5fdmVyc2lvbiBkaWZmZXJzIGluIHRoYXQgc29tZSByZXR1cm4g dGhlIHZhbHVlLAorICAgICAqIGFuZCBzb21lIGNvcHkgaXQgb24gYmFjayBvbiBhcmd1bWVudC4g V2UgZm9sbG93IHRoZSBzYW1lIHJ1bGUgZm9yIGFsbAorICAgICAqIHN1Yi1vcHM6IHJldHVybiAw IG9uIHN1Y2Nlc3MsIHBvc2l0aXZlIHZhbHVlIG9mIGJ5dGVzIHJldHVybmVkLCBhbmQKKyAgICAg KiBhbHdheXMgY29weSB0aGUgcmVzdWx0IGluIGFyZy4gWWVleSBzYW5pdHkhCisgICAgICovCisg ICAgc3dpdGNoICggY21kICkKKyAgICB7CisgICAgY2FzZSBYRU5fVkVSU0lPTl92ZXJzaW9uOgor ICAgICAgICBzeiA9IHNpemVvZih4ZW5fdmVyc2lvbl9vcF92YWxfdCk7CisgICAgICAgIHUudmFs ID0gKHhlbl9tYWpvcl92ZXJzaW9uKCkgPDwgMTYpIHwgeGVuX21pbm9yX3ZlcnNpb24oKTsKKyAg ICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX2V4dHJhdmVyc2lvbjoKKyAgICAg ICAgc3ogPSBzdHJsZW4oeGVuX2V4dHJhX3ZlcnNpb24oKSkgKyAxOworICAgICAgICBwdHIgPSB4 ZW5fZXh0cmFfdmVyc2lvbigpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgWEVOX1ZFUlNJ T05fY2FwYWJpbGl0aWVzOgorICAgICAgICBzeiA9IGNhY2hlZF9jYXBfbGVuOworICAgICAgICBw dHIgPSBjYWNoZWRfY2FwOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgWEVOX1ZFUlNJT05f Y2hhbmdlc2V0OgorICAgICAgICBzeiA9IHN0cmxlbih4ZW5fY2hhbmdlc2V0KCkpICsgMTsKKyAg ICAgICAgcHRyID0geGVuX2NoYW5nZXNldCgpOworICAgICAgICBicmVhazsKKworICAgIGNhc2Ug WEVOX1ZFUlNJT05fcGxhdGZvcm1fcGFyYW1ldGVyczoKKyAgICAgICAgc3ogPSBzaXplb2YoeGVu X3ZlcnNpb25fb3BfdmFsX3QpOworICAgICAgICB1LnZhbCA9IEhZUEVSVklTT1JfVklSVF9TVEFS VDsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX2dldF9mZWF0dXJlczoK KyAgICAgICAgc3ogPSBzaXplb2YoeGVuX2ZlYXR1cmVfaW5mb190KTsKKworICAgICAgICBpZiAo IGd1ZXN0X2hhbmRsZV9pc19udWxsKGFyZykgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg ICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnUuZmksIGFyZywgMSkgKQorICAgICAgICB7CisgICAg ICAgICAgICByYyA9IC1FRkFVTFQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg ICAgICByYyA9IGdldF9mZWF0dXJlcyhjdXJyZW50LT5kb21haW4sICZ1LmZpKTsKKyAgICAgICAg YnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX3BhZ2VzaXplOgorICAgICAgICBzeiA9IHNp emVvZih4ZW5fdmVyc2lvbl9vcF92YWxfdCk7CisgICAgICAgIHUudmFsID0gUEFHRV9TSVpFOwor ICAgICAgICBicmVhazsKKworICAgIGNhc2UgWEVOX1ZFUlNJT05fZ3Vlc3RfaGFuZGxlOgorICAg ICAgICBzeiA9IEFSUkFZX1NJWkUoY3VycmVudC0+ZG9tYWluLT5oYW5kbGUpOworICAgICAgICBw dHIgPSBjdXJyZW50LT5kb21haW4tPmhhbmRsZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNl IFhFTl9WRVJTSU9OX2NvbW1hbmRsaW5lOgorICAgICAgICBzeiA9IHN0cmxlbihzYXZlZF9jbWRs aW5lKSArIDE7CisgICAgICAgIHB0ciA9IHNhdmVkX2NtZGxpbmU7CisgICAgICAgIGJyZWFrOwor CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmMgPSAtRU5PU1lTOworICAgIH0KKworICAgIGlmICgg cmMgKQorICAgICAgICByZXR1cm4gcmM7CisKKyAgICAvKgorICAgICAqIFRoaXMgaHlwZXJjYWxs IGFsc28gYWxsb3dzIHRoZSBjbGllbnQgdG8gcHJvYmUuIElmIGl0IHByb3ZpZGVzCisgICAgICog YSBOVUxMIGFyZyB3ZSB3aWxsIHJldHVybiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2UgaXQgaGFzIHRv CisgICAgICogYWxsb2NhdGUgZm9yIHRoZSBzcGVjaWZpYyBzdWItb3AuCisgICAgICovCisgICAg QVNTRVJUKHN6KTsKKyAgICBpZiAoIGd1ZXN0X2hhbmRsZV9pc19udWxsKGFyZykgKQorICAgICAg ICByZXR1cm4gc3o7CisKKyAgICBpZiAoICFyYyApCisgICAgeworICAgICAgICB1bnNpZ25lZCBp bnQgYnl0ZXMgPSBtaW4oc3osIGxlbik7CisKKyAgICAgICAgaWYgKCBjb3B5X3RvX2d1ZXN0KGFy ZywgcHRyID8gOiAmdSwgYnl0ZXMpICkKKyAgICAgICAgICAgIHJjID0gLUVGQVVMVDsKKworICAg ICAgICAvKiBXZSByZXR1cm4gbGVuICh0cnVuY2F0ZSkgd29ydGggb2YgZGF0YSBldmVuIGlmIHdl IGZhaWwuICovCisgICAgICAgIGlmICggIXJjICYmIHN6ID4gbGVuICkKKyAgICAgICAgICAgIHJj ID0gLUVOT0JVRlM7CisgICAgfQorCisgICAgcmV0dXJuIHJjID09IDAgPyBzeiA6IHJjOworfQor CiBETyhubWlfb3ApKHVuc2lnbmVkIGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9p ZCkgYXJnKQogewogICAgIHN0cnVjdCB4ZW5ubWlfY2FsbGJhY2sgY2I7CkBAIC00MTgsNiArNTQz LDIwIEBAIERPKG5pX2h5cGVyY2FsbCkodm9pZCkKICAgICByZXR1cm4gLUVOT1NZUzsKIH0KIAor c3RhdGljIGludCBfX2luaXQga2VybmVsX2NhY2hlX2luaXQodm9pZCkKK3sKKyAgICAvKgorICAg ICAqIFByZS1hbGxvY2F0ZSB0aGUgY2FjaGUgc28gd2UgZG8gbm90IGhhdmUgdG8gd29ycnkgYWJv dXQKKyAgICAgKiBzaW11bHRhbmVvdXMgaW52b2NhdGlvbnMgb24gc2FmZV9zdHJjYXQgYnkgZ3Vl c3RzIGFuZCB0aGUgY2FjaGUKKyAgICAgKiBkYXRhIGJlY29taW5nIGdhcmJhZ2UuCisgICAgICov CisgICAgYXJjaF9nZXRfeGVuX2NhcHMoJmNhY2hlZF9jYXApOworICAgIGNhY2hlZF9jYXBfbGVu ID0gc3RybGVuKGNhY2hlZF9jYXApICsgMTsKKworICAgIHJldHVybiAwOworfQorX19pbml0Y2Fs bChrZXJuZWxfY2FjaGVfaW5pdCk7CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2Rl OiBDCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaCBiL3hlbi9pbmNs dWRlL3B1YmxpYy9hcmNoLWFybS5oCmluZGV4IDg3MGJjM2IuLjVmOTA3MTggMTAwNjQ0Ci0tLSBh L3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9h cmNoLWFybS5oCkBAIC0xMjgsNiArMTI4LDggQEAKICAqICAgICogVkNQVU9QX3JlZ2lzdGVyX3Zj cHVfaW5mbwogICogICAgKiBWQ1BVT1BfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5X2FyZWEKICAq CisgKiAgSFlQRVJWSVNPUl92ZXJzaW9uX29wCisgKiAgIEFsbCBnZW5lcmljIHN1Yi1vcGVyYXRp b25zCiAgKgogICogT3RoZXIgbm90ZXMgb24gdGhlIEFSTSBBQkk6CiAgKgpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvcHVibGljL3ZlcnNpb24uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9u LmgKaW5kZXggMjRhNTgyZi4uZDcxZWM1YiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGlj L3ZlcnNpb24uaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5oCkBAIC0zMCw3ICsz MCwxNCBAQAogCiAjaW5jbHVkZSAieGVuLmgiCiAKLS8qIE5CLiBBbGwgb3BzIHJldHVybiB6ZXJv IG9uIHN1Y2Nlc3MsIGV4Y2VwdCBYRU5WRVJfe3ZlcnNpb24scGFnZXNpemV9ICovCisvKgorICog VGhlcmUgYXJlIHR3byBoeXBlcmNhbGxzIG1lbnRpb25lZCBpbiBoZXJlLiBUaGUgWEVOVkVSXyBh cmUgZm9yCisgKiBIWVBFUkNBTExfeGVuX3ZlcnNpb24gKDE3KSwgd2hpbGUgVkVSU0lPTl8gYXJl IGZvciB0aGUKKyAqIEhZUEVSQ0FMTF92ZXJzaW9uX29wICg0MSkuCisgKgorICogVGhlIHN1Ym9w cyBhcmUgdmVyeSBzaW1pbGFyIGV4Y2VwdCB0aGF0IHRoZSBsYXRlciBoeXBlcmNhbGwgaGFzIGEK KyAqIHNhbmUgaW50ZXJmYWNlLgorICovCiAKIC8qIGFyZyA9PSBOVUxMOyByZXR1cm5zIG1ham9y Om1pbm9yICgxNjoxNikuICovCiAjZGVmaW5lIFhFTlZFUl92ZXJzaW9uICAgICAgMApAQCAtODcs NiArOTQsNjcgQEAgdHlwZWRlZiBzdHJ1Y3QgeGVuX2ZlYXR1cmVfaW5mbyB4ZW5fZmVhdHVyZV9p bmZvX3Q7CiAjZGVmaW5lIFhFTlZFUl9jb21tYW5kbGluZSA5CiB0eXBlZGVmIGNoYXIgeGVuX2Nv bW1hbmRsaW5lX3RbMTAyNF07CiAKKy8qCisgKiBUaGUgSFlQRVJDQUxMX3ZlcnNpb25fb3AgaGFz IGEgc2V0IG9mIHN1Yi1vcHMgd2hpY2ggbWlycm9yIHRoZQorICogc3ViLW9wcyBvZiBIWVBFUkNB TExfeGVuX3ZlcnNpb24uIEhvd2V2ZXIgdGhpcyBoeXBlcmNhbGwgZGlmZmVycworICogcmFkaWNh bGx5IGZyb20gdGhlIGZvcm1lcjoKKyAqICAtIEl0IHJldHVybnMgdGhlIGFtb3VudCBvZiBieXRl cyByZXR1cm5lZC4KKyAqICAtIEl0IHdpbGwgcmV0dXJuIC1YRU5fRVBFUk0gaWYgdGhlIGd1ZXN0 IGlzIG5vdCBwZXJtaXR0ZWQKKyAqICAgIChBbGJlaXQgWEVOX1ZFUlNJT05fdmVyc2lvbiwgWEVO X1ZFUlNJT05fcGxhdGZvcm1fcGFyYW1ldGVycywgYW5kCisgKiAgICBYRU5fVkVSU0lPTl9nZXRf ZmVhdHVyZXMgd2lsbCBhbHdheXMgcmV0dXJuIGFuIHZhbHVlIGFzIGd1ZXN0IGNhbm5vdAorICog ICAgc3Vydml2ZSB3aXRob3V0IHRoaXMgaW5mb3JtYXRpb24pLgorICogIC0gSXQgd2lsbCByZXR1 cm4gdGhlIHJlcXVlc3RlZCBkYXRhIGluIGFyZy4KKyAqICAtIEl0IHJlcXVpcmVzIGFuIHRoaXJk IGFyZ3VtZW50IChsZW4pIGZvciB0aGUgbGVuZ3RoIG9mIHRoZQorICogICAgYXJnLiBOYXR1cmFs bHkgdGhlIGFyZyBoYXMgdG8gZml0IHRoZSByZXF1ZXN0ZWQgZGF0YSBvdGhlcndpc2UKKyAqICAg IC1YRU5fRU5PQlVGUyBpcyByZXR1cm5lZC4KKyAqCisgKiBJdCBhbHNvIG9mZmVycyBhbiBtZWNo YW5pc20gdG8gcHJvYmUgZm9yIHRoZSBhbW91bnQgb2YgYnl0ZXMgYW4KKyAqIHN1Yi1vcCB3aWxs IHJlcXVpcmUuIEhhdmluZyB0aGUgYXJnIGhhdmUgYW4gTlVMTCBoYW5kbGUgd2lsbAorICogcmV0 dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVxdWVzdGVkIGZvciB0aGUgb3BlcmF0aW9uLiBPciBh bgorICogbmVnYXRpdmUgdmFsdWUgaWYgYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQuCisgKi8KKwor dHlwZWRlZiB1aW50NjRfdCB4ZW5fdmVyc2lvbl9vcF92YWxfdDsKK0RFRklORV9YRU5fR1VFU1Rf SEFORExFKHhlbl92ZXJzaW9uX29wX3ZhbF90KTsKKworLyoKKyAqIGFyZyA9PSB4ZW5fdmVyc2lv bl9vcF92YWxfdC4gRW5jb2RlZCBhcyBtYWpvcjptaW5vciAoMzEuLjE2OjE1Li4wKSwgd2hpbGUK KyAqIDYzLi4zMiBhcmUgemVyby4KKyAqLworI2RlZmluZSBYRU5fVkVSU0lPTl92ZXJzaW9uICAg ICAgICAgICAgIDAKKworLyogYXJnID09IGNoYXJbXS4gQ29udGFpbnMgTlVMIHRlcm1pbmF0ZWQg dXRmLTggc3RyaW5nLiAqLworI2RlZmluZSBYRU5fVkVSU0lPTl9leHRyYXZlcnNpb24gICAgICAg IDEKKworLyogYXJnID09IGNoYXJbXS4gQ29udGFpbnMgTlVMIHRlcm1pbmF0ZWQgdXRmLTggc3Ry aW5nLiAqLworI2RlZmluZSBYRU5fVkVSU0lPTl9jYXBhYmlsaXRpZXMgICAgICAgIDMKKworLyog YXJnID09IGNoYXJbXS4gQ29udGFpbnMgTlVMIHRlcm1pbmF0ZWQgdXRmLTggc3RyaW5nLiAqLwor I2RlZmluZSBYRU5fVkVSU0lPTl9jaGFuZ2VzZXQgICAgICAgICAgIDQKKworLyogYXJnID09IHhl bl92ZXJzaW9uX29wX3ZhbF90LiAqLworI2RlZmluZSBYRU5fVkVSU0lPTl9wbGF0Zm9ybV9wYXJh bWV0ZXJzIDUKKworLyoKKyAqIGFyZyA9IHhlbl9mZWF0dXJlX2luZm9fdCAtIHNoYXJlcyB0aGUg c2FtZSBzdHJ1Y3R1cmUKKyAqIGFzIHRoZSBYRU5WRVJfZ2V0X2ZlYXR1cmVzLgorICovCisjZGVm aW5lIFhFTl9WRVJTSU9OX2dldF9mZWF0dXJlcyAgICAgICAgNgorCisvKiBhcmcgPT0geGVuX3Zl cnNpb25fb3BfdmFsX3QuICovCisjZGVmaW5lIFhFTl9WRVJTSU9OX3BhZ2VzaXplICAgICAgICAg ICAgNworCisvKgorICogYXJnID09IHZvaWQuCisgKgorICogVGhlIHRvb2xzdGFjayBmaWxscyBp dCBvdXQgZm9yIGd1ZXN0IGNvbnN1bXB0aW9uLiBJdCBpcyBpbnRlbmRlZCB0byBob2xkCisgKiB0 aGUgVVVJRCBvZiB0aGUgZ3Vlc3QuCisgKi8KKyNkZWZpbmUgWEVOX1ZFUlNJT05fZ3Vlc3RfaGFu ZGxlICAgICAgICA4CisKKy8qIGFyZyA9IGNoYXJbXS4gQ29udGFpbnMgTlVMIHRlcm1pbmF0ZWQg dXRmLTggc3RyaW5nLiAqLworI2RlZmluZSBYRU5fVkVSU0lPTl9jb21tYW5kbGluZSAgICAgICAg IDkKKwogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19WRVJTSU9OX0hfXyAqLwogCiAvKgpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvcHVibGljL3hlbi5oIGIveGVuL2luY2x1ZGUvcHVibGljL3hlbi5o CmluZGV4IDY0YmE3YWIuLjFhOTk5MjkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy94 ZW4uaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmgKQEAgLTExNSw2ICsxMTUsNyBAQCBE RUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fdWxvbmdfdCk7CiAjZGVmaW5lIF9fSFlQRVJWSVNP Ul90bWVtX29wICAgICAgICAgICAgICAzOAogI2RlZmluZSBfX0hZUEVSVklTT1JfeGNfcmVzZXJ2 ZWRfb3AgICAgICAgMzkgLyogcmVzZXJ2ZWQgZm9yIFhlbkNsaWVudCAqLwogI2RlZmluZSBfX0hZ UEVSVklTT1JfeGVucG11X29wICAgICAgICAgICAgNDAKKyNkZWZpbmUgX19IWVBFUlZJU09SX3Zl cnNpb25fb3AgICAgICAgICAgIDQxIC8qIHN1cGVyc2VkZXMgeGVuX3ZlcnNpb24gKDE3KSAqLwog CiAvKiBBcmNoaXRlY3R1cmUtc3BlY2lmaWMgaHlwZXJjYWxsIGRlZmluaXRpb25zLiAqLwogI2Rl ZmluZSBfX0hZUEVSVklTT1JfYXJjaF8wICAgICAgICAgICAgICAgNDgKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL3hlbi9oeXBlcmNhbGwuaCBiL3hlbi9pbmNsdWRlL3hlbi9oeXBlcmNhbGwuaApp bmRleCAwYzhhZTBlLi5lOGQyYjgxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaHlwZXJj YWxsLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2h5cGVyY2FsbC5oCkBAIC0xNDcsNiArMTQ3LDEw IEBAIGRvX3hlbm9wcm9mX29wKGludCBvcCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBh cmcpOwogZXh0ZXJuIGxvbmcKIGRvX3hlbnBtdV9vcCh1bnNpZ25lZCBpbnQgb3AsIFhFTl9HVUVT VF9IQU5ETEVfUEFSQU0oeGVuX3BtdV9wYXJhbXNfdCkgYXJnKTsKIAorZXh0ZXJuIGxvbmcKK2Rv X3ZlcnNpb25fb3AodW5zaWduZWQgaW50IGNtZCwKKyAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFN KHZvaWQpIGFyZywgdW5zaWduZWQgaW50IGxlbik7CisKICNpZmRlZiBDT05GSUdfQ09NUEFUCiAK IGV4dGVybiBpbnQKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oIGIveGVuL2lu Y2x1ZGUveHNtL2R1bW15LmgKaW5kZXggYWJiZTI4Mi4uZTVkYWQzNSAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTc1 MSwzICs3NTEsMjQgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV94ZW5fdmVyc2lvbiAoWFNN X0RFRkFVTFRfQVJHIHVpbnQzMl90IG9wKQogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0 aW9uKFhTTV9QUklWLCBjdXJyZW50LT5kb21haW4sIE5VTEwpOwogICAgIH0KIH0KKworc3RhdGlj IFhTTV9JTkxJTkUgaW50IHhzbV92ZXJzaW9uX29wIChYU01fREVGQVVMVF9BUkcgdWludDMyX3Qg b3ApCit7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX09USEVSKTsKKyAgICBzd2l0Y2ggKCBv cCApCisgICAgeworICAgIGNhc2UgWEVOX1ZFUlNJT05fdmVyc2lvbjoKKyAgICBjYXNlIFhFTl9W RVJTSU9OX3BsYXRmb3JtX3BhcmFtZXRlcnM6CisgICAgY2FzZSBYRU5fVkVSU0lPTl9nZXRfZmVh dHVyZXM6CisgICAgICAgIC8qIFRoZXNlIE1VU1QgYWx3YXlzIGJlIGFjY2Vzc2libGUgdG8gYW55 IGd1ZXN0IGJ5IGRlZmF1bHQuICovCisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgWEVOX1ZF UlNJT05fZXh0cmF2ZXJzaW9uOgorICAgIGNhc2UgWEVOX1ZFUlNJT05fY2FwYWJpbGl0aWVzOgor ICAgIGNhc2UgWEVOX1ZFUlNJT05fcGFnZXNpemU6CisgICAgY2FzZSBYRU5fVkVSU0lPTl9ndWVz dF9oYW5kbGU6CisgICAgICAgIC8qIFRoZXNlIGNhbiBiZSBhY2Nlc3NpYmxlIHRvIGEgZ3Vlc3Qu ICovCisgICAgICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oWFNNX0hPT0ssIGN1cnJlbnQt PmRvbWFpbiwgTlVMTCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0 X2FjdGlvbihYU01fUFJJViwgY3VycmVudC0+ZG9tYWluLCBOVUxMKTsKKyAgICB9Cit9CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS94c20veHNtLmggYi94ZW4vaW5jbHVkZS94c20veHNtLmgKaW5k ZXggNWVjYmVlMC4uYWM4MDQ3MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveHNtL3hzbS5oCisr KyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtMTk0LDYgKzE5NCw3IEBAIHN0cnVjdCB4c21f b3BlcmF0aW9ucyB7CiAgICAgaW50ICgqcG11X29wKSAoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IG9wKTsKICNlbmRpZgogICAgIGludCAoKnhlbl92ZXJzaW9uKSAodWludDMyX3QgY21k KTsKKyAgICBpbnQgKCp2ZXJzaW9uX29wKSAodWludDMyX3QgY21kKTsKIH07CiAKICNpZmRlZiBD T05GSUdfWFNNCkBAIC03MzcsNiArNzM4LDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV94ZW5f dmVyc2lvbiAoeHNtX2RlZmF1bHRfdCBkZWYsIHVpbnQzMl90IG9wKQogICAgIHJldHVybiB4c21f b3BzLT54ZW5fdmVyc2lvbihvcCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHhzbV92ZXJzaW9u X29wICh4c21fZGVmYXVsdF90IGRlZiwgdWludDMyX3Qgb3ApCit7CisgICAgcmV0dXJuIHhzbV9v cHMtPnZlcnNpb25fb3Aob3ApOworfQorCiAjZW5kaWYgLyogWFNNX05PX1dSQVBQRVJTICovCiAK ICNpZmRlZiBDT05GSUdfTVVMVElCT09UCmRpZmYgLS1naXQgYS94ZW4veHNtL2R1bW15LmMgYi94 ZW4veHNtL2R1bW15LmMKaW5kZXggOTc5MWFkNC4uNzc2ZGQwOSAxMDA2NDQKLS0tIGEveGVuL3hz bS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTYzLDQgKzE2Myw1IEBAIHZvaWQg eHNtX2ZpeHVwX29wcyAoc3RydWN0IHhzbV9vcGVyYXRpb25zICpvcHMpCiAgICAgc2V0X3RvX2R1 bW15X2lmX251bGwob3BzLCBwbXVfb3ApOwogI2VuZGlmCiAgICAgc2V0X3RvX2R1bW15X2lmX251 bGwob3BzLCB4ZW5fdmVyc2lvbik7CisgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB2ZXJz aW9uX29wKTsKIH0KZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94c20v Zmxhc2svaG9va3MuYwppbmRleCAyMDY5Y2IzLi4xZWFlYzU4IDEwMDY0NAotLS0gYS94ZW4veHNt L2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xNjU4LDYgKzE2 NTgsNDAgQEAgc3RhdGljIGludCBmbGFza194ZW5fdmVyc2lvbiAodWludDMyX3Qgb3ApCiAgICAg fQogfQogCitzdGF0aWMgaW50IGZsYXNrX3ZlcnNpb25fb3AgKHVpbnQzMl90IG9wKQoreworICAg IHUzMiBkc2lkID0gZG9tYWluX3NpZChjdXJyZW50LT5kb21haW4pOworCisgICAgc3dpdGNoICgg b3AgKQorICAgIHsKKyAgICBjYXNlIFhFTl9WRVJTSU9OX3ZlcnNpb246CisgICAgY2FzZSBYRU5f VkVSU0lPTl9wbGF0Zm9ybV9wYXJhbWV0ZXJzOgorICAgIGNhc2UgWEVOX1ZFUlNJT05fZ2V0X2Zl YXR1cmVzOgorICAgICAgICAvKiBUaGVzZSBNVVNUIGFsd2F5cyBiZSBhY2Nlc3NpYmxlIHRvIGFu eSBndWVzdCBieSBkZWZhdWx0LiAqLworICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIFhFTl9W RVJTSU9OX2V4dHJhdmVyc2lvbjoKKyAgICAgICAgcmV0dXJuIGF2Y19oYXNfcGVybShkc2lkLCBT RUNJTklUU0lEX1hFTiwgU0VDQ0xBU1NfVkVSU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBWRVJTSU9OX19FWFRSQVZFUlNJT04sIE5VTEwpOworICAgIGNhc2UgWEVOX1ZFUlNJT05f Y2FwYWJpbGl0aWVzOgorICAgICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIFNFQ0lOSVRT SURfWEVOLCBTRUNDTEFTU19WRVJTSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZF UlNJT05fX0NBUEFCSUxJVElFUywgTlVMTCk7CisgICAgY2FzZSBYRU5fVkVSU0lPTl9jaGFuZ2Vz ZXQ6CisgICAgICAgIHJldHVybiBhdmNfaGFzX3Blcm0oZHNpZCwgU0VDSU5JVFNJRF9YRU4sIFNF Q0NMQVNTX1ZFUlNJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSU0lPTl9fQ0hB TkdFU0VULCBOVUxMKTsKKyAgICBjYXNlIFhFTl9WRVJTSU9OX3BhZ2VzaXplOgorICAgICAgICBy ZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIFNFQ0lOSVRTSURfWEVOLCBTRUNDTEFTU19WRVJTSU9O LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJT05fX1BBR0VTSVpFLCBOVUxMKTsK KyAgICBjYXNlIFhFTl9WRVJTSU9OX2d1ZXN0X2hhbmRsZToKKyAgICAgICAgcmV0dXJuIGF2Y19o YXNfcGVybShkc2lkLCBTRUNJTklUU0lEX1hFTiwgU0VDQ0xBU1NfVkVSU0lPTiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBWRVJTSU9OX19HVUVTVF9IQU5ETEUsIE5VTEwpOworICAgIGNh c2UgWEVOX1ZFUlNJT05fY29tbWFuZGxpbmU6CisgICAgICAgIHJldHVybiBhdmNfaGFzX3Blcm0o ZHNpZCwgU0VDSU5JVFNJRF9YRU4sIFNFQ0NMQVNTX1ZFUlNJT04sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVkVSU0lPTl9fQ09NTUFORExJTkUsIE5VTEwpOworICAgIGRlZmF1bHQ6Cisg ICAgICAgIHJldHVybiAtRVBFUk07CisgICAgfQorfQorCiBsb25nIGRvX2ZsYXNrX29wKFhFTl9H VUVTVF9IQU5ETEVfUEFSQU0oeHNtX29wX3QpIHVfZmxhc2tfb3ApOwogaW50IGNvbXBhdF9mbGFz a19vcChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhzbV9vcF90KSB1X2ZsYXNrX29wKTsKIApAQCAt MTc5Nyw2ICsxODMxLDcgQEAgc3RhdGljIHN0cnVjdCB4c21fb3BlcmF0aW9ucyBmbGFza19vcHMg PSB7CiAgICAgLnBtdV9vcCA9IGZsYXNrX3BtdV9vcCwKICNlbmRpZgogICAgIC54ZW5fdmVyc2lv biA9IGZsYXNrX3hlbl92ZXJzaW9uLAorICAgIC52ZXJzaW9uX29wID0gZmxhc2tfdmVyc2lvbl9v cCwKIH07CiAKIHN0YXRpYyBfX2luaXQgdm9pZCBmbGFza19pbml0KHZvaWQpCmRpZmYgLS1naXQg YS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyBiL3hlbi94c20vZmxhc2svcG9s aWN5L2FjY2Vzc192ZWN0b3JzCmluZGV4IGJhZGNmMWMuLjU2NjAwYmIgMTAwNjQ0Ci0tLSBhL3hl bi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzCisrKyBiL3hlbi94c20vZmxhc2svcG9s aWN5L2FjY2Vzc192ZWN0b3JzCkBAIC00OTYsMTIgKzQ5NiwxNCBAQCBjbGFzcyBzZWN1cml0eQog ICAgIGRlbF9vY29udGV4dAogfQogCi0jIENsYXNzIHZlcnNpb24gaXMgdXNlZCB0byBkZXNjcmli ZSB0aGUgWEVOVkVSXyBoeXBlcmNhbGwuCisjIENsYXNzIHZlcnNpb24gaXMgdXNlZCB0byBkZXNj cmliZSB0aGUgWEVOVkVSXyBhbmQgVkVSU0lPTiBoeXBlcmNhbGwuCiAjIEFsbW9zdCBhbGwgc3Vi LW9wcyBhcmUgZGVzY3JpYmVkIGhlcmUgLSBpbiB0aGUgZGVmYXVsdCBjYXNlIGFsbCBvZiB0aGVt IHNob3VsZAotIyBiZSBhbGxvd2VkIGV4Y2VwdCB0aGUgWEVOVkVSX2NvbW1hbmRsaW5lLgorIyBi ZSBhbGxvd2VkIGV4Y2VwdCB0aGUgWEVOVkVSX2NvbW1hbmRsaW5lLCBWRVJTSU9OX2NvbW1hbmRs aW5lLCBhbmQKKyMgVkVSU0lPTl9jaGFuZ2VzZXQuCiAjCiAjIFRoZSBvbmVzIHRoYXQgYXJlIG9t aXR0ZWQgYXJlIFhFTlZFUl92ZXJzaW9uLCBYRU5WRVJfcGxhdGZvcm1fcGFyYW1ldGVycywKLSMg YW5kIFhFTlZFUl9nZXRfZmVhdHVyZXMgIC0gYXMgdGhleSBNVVNUIGFsd2F5cyBiZSByZXR1cm5l ZCB0byBhIGd1ZXN0LgorIyBYRU5WRVJfZ2V0X2ZlYXR1cmVzLCBYRU5fVkVSU0lPTl92ZXJzaW9u LCBYRU5fVkVSU0lPTl9wbGF0Zm9ybV9wYXJhbWV0ZXJzLAorIyBhbmQgWEVOX1ZFUlNJT05fZ2V0 X2ZlYXR1cmVzIC0gYXMgdGhleSBNVVNUIGFsd2F5cyBiZSByZXR1cm5lZCB0byBhIGd1ZXN0Lgog IwogY2xhc3MgdmVyc2lvbgogewpAQCAtNTE5LDQgKzUyMSwxNyBAQCBjbGFzcyB2ZXJzaW9uCiAg ICAgeGVuX2d1ZXN0X2hhbmRsZQogIyBYZW4gY29tbWFuZCBsaW5lLgogICAgIHhlbl9jb21tYW5k bGluZQorIyAtLS0gVkVSU0lPTiBoeXBlcmNhbGwgLS0tCisjIEV4dHJhIGluZm9ybWF0aW9ucyAo LXVuc3RhYmxlKS4KKyAgICBleHRyYXZlcnNpb24KKyMgU3VjaCBhcyAieGVuLTMuMC14ODZfNjQg eGVuLTMuMC14ODZfMzJwIGh2bS0zLjAteDg2XzMyIGh2bS0zLjAteDg2XzMycCBodm0tMy4wLXg4 Nl82NCIuCisgICAgY2FwYWJpbGl0aWVzCisjIFNvdXJjZSBjb2RlIGNoYW5nZXNldC4KKyAgICBj aGFuZ2VzZXQKKyMgUGFnZSBzaXplIHRoZSBoeXBlcnZpc29yIHVzZXMuCisgICAgcGFnZXNpemUK KyMgQW4gdmFsdWUgdGhhdCB0aGUgY29udHJvbCBzdGFjayBjYW4gY2hvb3NlLgorICAgIGd1ZXN0 X2hhbmRsZQorIyBYZW4gY29tbWFuZCBsaW5lLgorICAgIGNvbW1hbmRsaW5lCiB9Ci0tIAoyLjUu MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==