From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 02/10] drm/edid: Allow HDMI infoframe without VIC or S3D Date: Thu, 16 Nov 2017 18:21:44 +0200 Message-ID: <20171116162144.GW10981@intel.com> References: <20171113170427.4150-1-ville.syrjala@linux.intel.com> <20171113170427.4150-3-ville.syrjala@linux.intel.com> <612b8afd-0811-646b-b3c5-93b970eb962d@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <612b8afd-0811-646b-b3c5-93b970eb962d@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: Andrzej Hajda , intel-gfx@lists.freedesktop.org, Laurent Pinchart , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBOb3YgMTYsIDIwMTcgYXQgMDg6MTA6NTVQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAxMS8xMy8yMDE3IDEw OjM0IFBNLCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Cj4gPiBBcHBlZGl4IEYgb2YgSERNSSAy LjAgc2F5cyB0aGF0IHNvbWUgSERNSSBzaW5rIG1heSBmYWlsIHRvIHN3aXRjaCBmcm9tCj4gPiAz RCB0byAyRCBtb2RlIGluIGEgdGltZWx5IGZhc2hpb24gaWYgdGhlIHNvdXJjZSBzaW1wbHkgc3Rv cHMgc2VuZGluZyB0aGUKPiA+IEhETUkgaW5mb2ZyYW1lLiBUaGUgc3VnZ2VzdGVkIHdvcmthcm91 bmQgaXMgdG8ga2VlcCBzZW5kaW5nIHRoZQo+ID4gaW5mb2ZyYW1lIGV2ZW4gd2hlbiBzdHJpY3Rs eSBub3QgbmVjZXNzYXJ5IChpZS4gbm8gVklDIGFuZCBubyBTM0QpLgo+ID4gSERNSSAxLjQgZG9l cyBhbGxvdyBmb3IgdGhpcyBiZWhhdmlvdXIsIHN0YXRpbmcgdGhhdCBzZW5kaW5nIHRoZQo+ID4g aW5mb2ZyYW1lIGlzIG9wdGlvbmFsIGluIHRoaXMgY2FzZS4KPiA+Cj4gPiBUaGUgaW5mb2ZyYW1l IHdhcyBmaXJzdCBzcGVjaWZpZWQgaW4gSERNSSAxLjQsIHNvIGluIHRoZW9yeSBzaW5rcwo+ID4g cHJlZGF0aW5nIHRoYXQgbWF5IG5vdCBhcHByZWNpYXRlIHVzIHNlbmRpbmcgYW4gdWtub3duIGlu Zm9mcmFtZQo+ID4gdGhlaXIgd2F5LiBUbyBhdm9pZCByZWdyZXNzaW9ucyBsZXQncyB0cnkgdG8g ZGV0ZXJtaW5lIGlmIHRoZSBzaW5rCj4gPiBzdXBwb3J0cyB0aGUgaW5mb2ZyYW1lIG9yIG5vdC4g VW5mb3J0dW5hdGVseSB0aGVyZSdzIG5vIGRpcmVjdCB3YXkKPiA+IHRvIGRvIHRoYXQsIHNvIGlu c3RlYWQgd2UnbGwganVzdCBjaGVjayBpZiB3ZSBtYW5hZ2VkIHRvIHBhcnNlIGFueQo+ID4gSERN SSAxLjQgNGsgb3Igc3RlcmVvIG1vZGVzIGZyb20gdGhlIEVESUQsIGFuZCBpZiBzbyB3ZSBhc3N1 bWUgdGhlCj4gPiBzaW5rIHdpbGwgYWNjZXB0IHRoZSBpbmZvZnJhbWUuIEFsc28gaWYgdGhlIEVE SUQgY29udGFpbnMgdGhlIEhETUkKPiA+IDIuMCBIRE1JIEZvcnVtIFZTREIgd2UgY2FuIGFzc3Vt ZSB0aGUgc2luayBpcyBwcmVwYXJlZCB0byByZWNlaXZlCj4gPiB0aGUgaW5mb2ZyYW1lLgo+IEkg YW0gdHJ5aW5nIHRvIGdldCBzb21lIHNlbnNlIGZyb20gSERNSSAyLjAgc3BlYyBzZWN0aW9uIDEw LjIuMSwgd2hpY2ggCj4gdGFsa3MgYWJvdXQKPiBzd2l0Y2ggZnJvbSAzRCB0byAyRC4gIFRvIG1l IGl0IGxvb2tzIGxpa2U6Cj4gSWYgKHNlbmRpbmdfdG9faGRtaTJfc2lua3MpIHsKPiAgICAgIC0g Zm9yIDNkIG1vZGVzIHNlbmQgSEYtVlNJRgo+ICAgICAgLSBmb3IgMmQgbW9kZXMgJiYgZGVmaW5l ZCBpbiBIMTRiIEhGVlNJRiwgc2VuZCBIMTRCLVZTSUYKPiAgICAgICAgV2hlbiB5b3Ugc3dpdGNo IGZyb20gM2QtPjJkIHsKPiAgICAgICAgICAgLSBzZW5kX0hGLVZTSUYgd2l0aCAzRF92YWxpZCBi aXQgPSAwLzEKPiAgICAgICB9Cj4gfSBlbHNlIHsgLyogSERNSSAxLjRiIHNpbmtzIGZyb20gQXBw ZW5kaXggRiAqLwo+ICAgICAgLSAgc2VuZCBIMTRiLVZTSUYgd2l0aCBIRE1JX3ZpZGVvX2Zvcm1h dFsyOjAgPSAwIE9SIDFdCj4gfQo+IAo+IFNob3VsZCB3ZSBhZGQgYSBpc19oZG1pMiBjaGVjayBh bmQgc2VwYXJhdGUgdGhlc2UgY2FzZXMgPwoKV2UgZG9uJ3Qgc3VwcG9ydCB0aGUgSERNSSBmb3J1 bSBpbmZvZnJhbWUuIE1heWJlIHNvbWVvbmUgZm9yZ290IHRvCmltcGxlbWVudCB0aGF0IHdoZW4g YWRkaW5nIHRoZSByZXN0IG9mIEhETUkgMi4wIHN1cHBvcnQ/IDspCgo+IAo+ID4KPiA+IHYyOiBG aXggdGhlIGdldHRpbmcgaGFzX2hkbWlfaW5mb2ZyYW1lIGZyb20gZGlzcGxheV9pbmZvCj4gPiAg ICAgIEFsd2F5cyBmYWlsIGNvbnN0cnVjdGluZyB0aGUgaW5mb2ZyYW1lIGlmIHRoZSBkaXNwbGF5 Cj4gPiAgICAgIHBvc3NpYmx5IGNhbid0IGhhbmRsZSBpdAo+ID4KPiA+IENjOiBTaGFzaGFuayBT aGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPiBDYzogQW5kcnplaiBIYWpkYSA8 YS5oYWpkYUBzYW1zdW5nLmNvbT4KPiA+IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBp bmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgIGRyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYyAgICAgIHwgIDMgKystCj4gPiAgIGRyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jIHwgIDQgKysrLQo+ID4gICBkcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgICAgICAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5j ICAgICAgfCAgMiArLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAg ICAgICB8IDE0ICsrKysrKystLS0tLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19oZG1pLmMgICAgICAgfCAgMyArKy0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1 MF9kaXNwbGF5LmMgICAgfCAgMyArKy0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lu bm9faGRtaS5jICAgICAgfCAgMSArCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWku YyAgICAgICAgICAgIHwgIDQgKysrLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWku YyAgICAgICAgICAgICB8ICAxICsKPiA+ICAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAg ICAgICAgICAgICAgfCAgNSArKysrKwo+ID4gICBpbmNsdWRlL2RybS9kcm1fZWRpZC5oICAgICAg ICAgICAgICAgICAgICB8ICAxICsKPiA+ICAgMTIgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9u cygrKSwgMTggZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc2lsLXNpaTg2MjAuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2 MjAuYwo+ID4gaW5kZXggYjdlYjcwNGQwYThhLi40NDE3Mjc2YmEwMmUgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYwo+ID4gQEAgLTIyMjAsOCArMjIyMCw5IEBAIHN0 YXRpYyBib29sIHNpaTg2MjBfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ ID4gICAJCQl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcm07Cj4gPiAgIAkJCXU4IG1obF92aWNbXSA9 IHsgMCwgOTUsIDk0LCA5MywgOTggfTsKPiA+ICAgCj4gPiArCQkJLyogRklYTUU6IFdlIG5lZWQg dGhlIGNvbm5lY3RvciBoZXJlICovCj4gPiAgIAkJCWRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoCj4gPiAtCQkJCSZmcm0udmVuZG9yLmhkbWksIGFkanVzdGVkX21v ZGUpOwo+ID4gKwkJCQkmZnJtLnZlbmRvci5oZG1pLCBOVUxMLCBhZGp1c3RlZF9tb2RlKTsKPiA+ ICAgCQkJdmljID0gZnJtLnZlbmRvci5oZG1pLnZpYzsKPiA+ICAgCQkJaWYgKHZpYyA+PSBBUlJB WV9TSVpFKG1obF92aWMpKQo+ID4gICAJCQkJdmljID0gMDsKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gPiBpbmRleCBhNjRjZTcxMTIyODguLmIxNzIxMzk1 MDJkNiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHct aGRtaS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWku Ywo+ID4gQEAgLTE0MzcsNyArMTQzNyw5IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29uZmlnX3ZlbmRv cl9zcGVjaWZpY19pbmZvZnJhbWUoc3RydWN0IGR3X2hkbWkgKmhkbWksCj4gPiAgIAl1OCBidWZm ZXJbMTBdOwo+ID4gICAJc3NpemVfdCBlcnI7Cj4gPiAgIAo+ID4gLQllcnIgPSBkcm1faGRtaV92 ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gPiArCWVy ciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLAo+ ID4gKwkJCQkJCQkgICZoZG1pLT5jb25uZWN0b3IsCj4gPiArCQkJCQkJCSAgbW9kZSk7Cj4gPiAg IAlpZiAoZXJyIDwgMCkKPiA+ICAgCQkvKgo+ID4gICAJCSAqIEdvaW5nIGludG8gdGhhdCBzdGF0 ZW1lbnQgZG9lcyBub3QgbWVhbnMgdmVuZG9yIGluZm9mcmFtZQo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ IGluZGV4IDc0OWQwN2EwMTc3Mi4uOWFkYTBjY2Y1MGRmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j Cj4gPiBAQCAtMzM5Myw2ICszMzkzLDcgQEAgc3RhdGljIGludAo+ID4gICBkb19oZG1pX3ZzZGJf bW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgdTggKmRiLCB1OCBs ZW4sCj4gPiAgIAkJICAgY29uc3QgdTggKnZpZGVvX2RiLCB1OCB2aWRlb19sZW4pCj4gPiAgIHsK PiA+ICsJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm87Cj4gPiAgIAlpbnQgbW9kZXMgPSAwLCBvZmZzZXQgPSAwLCBpLCBtdWx0aV9wcmVzZW50 ID0gMCwgbXVsdGlfbGVuOwo+ID4gICAJdTggdmljX2xlbiwgaGRtaV8zZF9sZW4gPSAwOwo+ID4g ICAJdTE2IG1hc2s7Cj4gPiBAQCAtMzUyMCw2ICszNTIxLDggQEAgZG9faGRtaV92c2RiX21vZGVz KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuLAo+ ID4gICAJfQo+ID4gICAKPiA+ICAgb3V0Ogo+ID4gKwlpZiAobW9kZXMgPiAwKQo+ID4gKwkJaW5m by0+aGFzX2hkbWlfaW5mb2ZyYW1lID0gdHJ1ZTsKPiA+ICAgCXJldHVybiBtb2RlczsKPiA+ICAg fQo+ID4gICAKPiA+IEBAIC00MjQzLDYgKzQyNDYsOCBAQCBzdGF0aWMgdm9pZCBkcm1fcGFyc2Vf aGRtaV9mb3J1bV92c2RiKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAgIAlz dHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGlzcGxheSA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5m bzsKPiA+ICAgCXN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pID0gJmRpc3BsYXktPmhkbWk7Cj4g PiAgIAo+ID4gKwlkaXNwbGF5LT5oYXNfaGRtaV9pbmZvZnJhbWUgPSB0cnVlOwo+ID4gKwo+ID4g ICAJaWYgKGhmX3ZzZGJbNl0gJiAweDgwKSB7Cj4gPiAgIAkJaGRtaS0+c2NkYy5zdXBwb3J0ZWQg PSB0cnVlOwo+ID4gICAJCWlmIChoZl92c2RiWzZdICYgMHg0MCkKPiA+IEBAIC00NDE2LDYgKzQ0 MjEsNyBAQCBzdGF0aWMgdm9pZCBkcm1fYWRkX2Rpc3BsYXlfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+ID4gICAJaW5mby0+Y2VhX3JldiA9IDA7Cj4gPiAgIAlpbmZvLT5t YXhfdG1kc19jbG9jayA9IDA7Cj4gPiAgIAlpbmZvLT5kdmlfZHVhbCA9IGZhbHNlOwo+ID4gKwlp bmZvLT5oYXNfaGRtaV9pbmZvZnJhbWUgPSBmYWxzZTsKPiA+ICAgCj4gPiAgIAlpZiAoZWRpZC0+ cmV2aXNpb24gPCAzKQo+ID4gICAJCXJldHVybjsKPiA+IEBAIC00OTAzLDYgKzQ5MDksNyBAQCBz M2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQo+ID4gICAgKiBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCkgLSBmaWxsIGFuIEhETUkgaW5mb2ZyYW1lIHdpdGgKPiA+ICAgICogZGF0YSBmcm9t IGEgRFJNIGRpc3BsYXkgbW9kZQo+ID4gICAgKiBAZnJhbWU6IEhETUkgdmVuZG9yIGluZm9mcmFt ZQo+ID4gKyAqIEBjb25uZWN0b3I6IHRoZSBjb25uZWN0b3IKPiBJIHJlbWVtYmVyIG91ciBvbGQg ZGlzY3Vzc2lvbiB3aGVyZSB3ZSByZWFsaXplZCB0aGF0IHdlIHdpbGwgbmVlZCB0aGlzIAo+IGNv bm5lY3RvciBmb3IgYWxsIHR5cGVzIG9mIGluZm9mcmFtZXMsCj4gZXZlbnR1YWxseSwgZG8geW91 IHRoaW5rIHdlIHNob3VsZCBzdGFydCB0aGlua2luZyBhYm91dCBjcmVhdGluZyBhIAo+IHdyYXBw ZXIgbGlrZSBkcm1fYW55X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgpLAo+IGFuZCBwYXNz IGNvbm5lY3RvciBhbmQgZGVzaXJlZCB0eXBlIHRvIGl0ID9PciBJIGFtIGdldHRpbmcgdG9vIGFt Yml0aW91cyAKPiB0YXJnZXRpbmcgdGhpcyBzZXJpZXMgOikgPwo+ID4gICAgKiBAbW9kZTogRFJN IGRpc3BsYXkgbW9kZQo+ID4gICAgKgo+ID4gICAgKiBOb3RlIHRoYXQgdGhlcmUncyBpcyBhIG5l ZWQgdG8gc2VuZCBIRE1JIHZlbmRvciBpbmZvZnJhbWVzIG9ubHkgd2hlbiB1c2luZyBhCj4gPiBA QCAtNDkxMyw4ICs0OTIwLDE1IEBAIHMzZF9zdHJ1Y3R1cmVfZnJvbV9kaXNwbGF5X21vZGUoY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPiAgICAqLwo+ID4gICBpbnQKPiA+ ICAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRt aV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPiA+ICsJCQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+ID4gICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiA+ICAgewo+ID4gKwkvKgo+ID4gKwkgKiBGSVhNRTogc2lsLXNpaTg2MjAg ZG9lc24ndCBoYXZlIGEgY29ubmVjdG9yIGFyb3VuZCB3aGVuCj4gPiArCSAqIHdlIG5lZWQgb25l LCBzbyB3ZSBoYXZlIHRvIGJlIHByZXBhcmVkIGZvciBhIE5VTEwgY29ubmVjdG9yLgo+ID4gKwkg Ki8KPiA+ICsJYm9vbCBoYXNfaGRtaV9pbmZvZnJhbWUgPSBjb25uZWN0b3IgPwo+ID4gKwkJY29u bmVjdG9yLT5kaXNwbGF5X2luZm8uaGFzX2hkbWlfaW5mb2ZyYW1lIDogZmFsc2U7Cj4gPiAgIAlp bnQgZXJyOwo+ID4gICAJdTMyIHMzZF9mbGFnczsKPiA+ICAgCXU4IHZpYzsKPiA+IEBAIC00OTIy LDExICs0OTM2LDIxIEBAIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoc3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCj4gPiAgIAlpZiAoIWZyYW1l IHx8ICFtb2RlKQo+ID4gICAJCXJldHVybiAtRUlOVkFMOwo+ID4gICAKPiA+ICsJaWYgKCFoYXNf aGRtaV9pbmZvZnJhbWUpCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsKPiA+ICAgCXZpYyA9 IGRybV9tYXRjaF9oZG1pX21vZGUobW9kZSk7Cj4gPiAgIAlzM2RfZmxhZ3MgPSBtb2RlLT5mbGFn cyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSzsKPiA+ICAgCj4gPiAtCWlmICghdmljICYmICFzM2Rf ZmxhZ3MpCj4gPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJLyoKPiA+ICsJICogRXZlbiBpZiBp dCdzIG5vdCBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSB0byBzZW5kIHRoZSBpbmZvZnJhbWUKPiA+ICsJ ICogKGllLnZpYz09MCBhbmQgczNkX3N0cnVjdD09MCkgd2Ugd2lsbCBzdGlsbCBzZW5kIGl0IGlm IHdlCj4gPiArCSAqIGtub3cgdGhhdCB0aGUgc2luayBjYW4gaGFuZGxlIGl0LiBUaGlzIGlzIGJh c2VkIG9uIGEKPiA+ICsJICogc3VnZ2VzdGlvbiBpbiBIRE1JIDIuMCBBcHBlbmRpeCBGLiBBcHBh cmVudGx5IHNvbWUgc2lua3MKPiA+ICsJICogaGF2ZSB0cm91YmxlIHJlYWxpemluZyB0aGF0IHRo ZXkgc2h1bGQgc3dpdGNoIGZyb20gM0QgdG8gMkQKPiA+ICsJICogbW9kZSBpZiB0aGUgc291cmNl IHNpbXBseSBzdG9wcyBzZW5kaW5nIHRoZSBpbmZvZnJhbWUgd2hlbgo+ID4gKwkgKiBpdCB3YW50 cyB0byBzd2l0Y2ggZnJvbSAzRCB0byAyRC4KPiA+ICsJICovCj4gPiAgIAo+ID4gICAJaWYgKHZp YyAmJiBzM2RfZmxhZ3MpCj4gPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiBAQCAtNDkzNSwxMCAr NDk1OSw4IEBAIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3Ry dWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCj4gPiAgIAlpZiAoZXJyIDwgMCkKPiA+ ICAgCQlyZXR1cm4gZXJyOwo+ID4gICAKPiA+IC0JaWYgKHZpYykKPiA+IC0JCWZyYW1lLT52aWMg PSB2aWM7Cj4gPiAtCWVsc2UKPiA+IC0JCWZyYW1lLT5zM2Rfc3RydWN0ID0gczNkX3N0cnVjdHVy ZV9mcm9tX2Rpc3BsYXlfbW9kZShtb2RlKTsKPiA+ICsJZnJhbWUtPnZpYyA9IHZpYzsKPiA+ICsJ ZnJhbWUtPnMzZF9zdHJ1Y3QgPSBzM2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKG1vZGUp Owo+ID4gICAKPiA+ICAgCXJldHVybiAwOwo+ID4gICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfaGRtaS5jCj4gPiBpbmRleCAwMTA5ZmY0MGIxZGIuLjgxMmIyNzczZWQ2OSAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gPiBAQCAtNzk1LDcgKzc5NSw3 IEBAIHN0YXRpYyB2b2lkIGhkbWlfcmVnX2luZm9mcmFtZXMoc3RydWN0IGhkbWlfY29udGV4dCAq aGRhdGEpCj4gPiAgIAl9Cj4gPiAgIAo+ID4gICAJcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJtLnZlbmRvci5oZG1pLAo+ID4gLQkJCSZoZGF0YS0+ Y3VycmVudF9tb2RlKTsKPiA+ICsJCQkmaGRhdGEtPmNvbm5lY3RvciwgJmhkYXRhLT5jdXJyZW50 X21vZGUpOwo+ID4gICAJaWYgKCFyZXQpCj4gPiAgIAkJcmV0ID0gaGRtaV92ZW5kb3JfaW5mb2Zy YW1lX3BhY2soJmZybS52ZW5kb3IuaGRtaSwgYnVmLAo+ID4gICAJCQkJc2l6ZW9mKGJ1ZikpOwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gaW5kZXggMmQ5NWRiNjRjZGYyLi4yY2Ni YTRjY2Y3YWQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gQEAgLTUx MiwxMiArNTEyLDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4gICAKPiA+ICAgc3RhdGljIHZvaWQKPiA+ ICAgaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyLAo+ID4gLQkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQo+ID4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAo+ID4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQo+ID4gICB7Cj4gPiAgIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKPiA+ICAg CWludCByZXQ7Cj4gPiAgIAo+ID4gICAJcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUudmVuZG9yLmhkbWksCj4gPiArCQkJCQkJCSAgY29ubl9z dGF0ZS0+Y29ubmVjdG9yLAo+ID4gICAJCQkJCQkJICAmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3Rl ZF9tb2RlKTsKPiA+ICAgCWlmIChyZXQgPCAwKQo+ID4gICAJCXJldHVybjsKPiA+IEBAIC01ODQs NyArNTg2LDcgQEAgc3RhdGljIHZvaWQgZzR4X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKPiA+ICAgCj4gPiAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1l KGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4gICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFt ZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJh bWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPiArCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2Zy YW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+ID4gICB9Cj4gPiAgIAo+ID4g ICBzdGF0aWMgYm9vbCBoZG1pX3NpbmtfaXNfZGVlcF9jb2xvcihjb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiA+IEBAIC03MjUsNyArNzI3LDcgQEAgc3RhdGlj IHZvaWQgaWJ4X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+ ICAgCj4gPiAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ID4gICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0 YXRlKTsKPiA+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7Cj4gPiArCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNf c3RhdGUsIGNvbm5fc3RhdGUpOwo+ID4gICB9Cj4gPiAgIAo+ID4gICBzdGF0aWMgdm9pZCBjcHRf c2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4gQEAgLTc2OCw3 ICs3NzAsNyBAQCBzdGF0aWMgdm9pZCBjcHRfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ID4gICAKPiA+ICAgCWludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPiAgIAlpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1l KGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4gLQlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFt ZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+ICsJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJh bWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gPiAgIH0KPiA+ICAgCj4gPiAg IHN0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCj4gPiBAQCAtODIxLDcgKzgyMyw3IEBAIHN0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2ZyYW1l cyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgIAo+ID4gICAJaW50ZWxfaGRtaV9z ZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+ICAgCWludGVsX2hkbWlf c2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPiAtCWludGVsX2hkbWlf c2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4gKwlpbnRlbF9oZG1p X3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKPiA+ ICAgfQo+ID4gICAKPiA+ICAgc3RhdGljIHZvaWQgaHN3X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKPiA+IEBAIC04NTQsNyArODU2LDcgQEAgc3RhdGljIHZvaWQg aHN3X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+ICAgCj4g PiAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ ID4gICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK PiA+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7 Cj4gPiArCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUs IGNvbm5fc3RhdGUpOwo+ID4gICB9Cj4gPiAgIAo+ID4gICB2b2lkIGludGVsX2RwX2R1YWxfbW9k ZV9zZXRfdG1kc19vdXRwdXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKQo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiA+IGluZGV4IGI3ODc5MTA2MTk4My4u NTlhMTEwMjZkY2ViIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19oZG1pLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4g PiBAQCAtMTA1NCw3ICsxMDU0LDggQEAgc3RhdGljIGludCBtdGtfaGRtaV9zZXR1cF92ZW5kb3Jf c3BlY2lmaWNfaW5mb2ZyYW1lKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKPiA+ICAgCXU4IGJ1ZmZl clsxMF07Cj4gPiAgIAlzc2l6ZV90IGVycjsKPiA+ICAgCj4gPiAtCWVyciA9IGRybV9oZG1pX3Zl bmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+ICsJZXJy ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsCj4g PiArCQkJCQkJCSAgJmhkbWktPmNvbm4sIG1vZGUpOwo+ID4gICAJaWYgKGVycikgewo+ID4gICAJ CWRldl9lcnIoaGRtaS0+ZGV2LAo+ID4gICAJCQkiRmFpbGVkIHRvIGdldCB2ZW5kb3IgaW5mb2Zy YW1lIGZyb20gbW9kZTogJXpkXG4iLCBlcnIpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1 MF9kaXNwbGF5LmMKPiA+IGluZGV4IGIyNmE1MDZkMjBjYS4uOWQ3YjJhZmQ3Y2ZjIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCj4gPiBAQCAtMjc1NCw3ICsy NzU0LDggQEAgbnY1MF9oZG1pX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gICAJCQk9IGhkbWlfaW5mb2ZyYW1lX3Bh Y2soJmF2aV9mcmFtZSwgYXJncy5pbmZvZnJhbWVzLCAxNyk7Cj4gPiAgIAl9Cj4gPiAgIAo+ID4g LQlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZ2ZW5k b3JfZnJhbWUudmVuZG9yLmhkbWksIG1vZGUpOwo+ID4gKwlyZXQgPSBkcm1faGRtaV92ZW5kb3Jf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZ2ZW5kb3JfZnJhbWUudmVuZG9yLmhkbWksCj4g PiArCQkJCQkJCSAgJm52X2Nvbm5lY3Rvci0+YmFzZSwgbW9kZSk7Cj4gPiAgIAlpZiAoIXJldCkg ewo+ID4gICAJCS8qIFdlIGhhdmUgYSBWZW5kb3IgSW5mb0ZyYW1lLCBwb3B1bGF0ZSBpdCB0byB0 aGUgZGlzcGxheSAqLwo+ID4gICAJCWFyZ3MucHdyLnZlbmRvcl9pbmZvZnJhbWVfbGVuZ3RoCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCj4gPiBpbmRleCBlZTU4NGQ4NzExMWYu LmZhYjMwOTI3YTg4OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9p bm5vX2hkbWkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5j Cj4gPiBAQCAtMjgyLDYgKzI4Miw3IEBAIHN0YXRpYyBpbnQgaW5ub19oZG1pX2NvbmZpZ192aWRl b192c2koc3RydWN0IGlubm9faGRtaSAqaGRtaSwKPiA+ICAgCWludCByYzsKPiA+ICAgCj4gPiAg IAlyYyA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LnZlbmRvci5oZG1pLAo+ID4gKwkJCQkJCQkgJmhkbWktPmNvbm5lY3RvciwKPiA+ICAgCQkJCQkJ CSBtb2RlKTsKPiA+ICAgCj4gPiAgIAlyZXR1cm4gaW5ub19oZG1pX3VwbG9hZF9mcmFtZShoZG1p LCByYywgJmZyYW1lLCBJTkZPRlJBTUVfVlNJLAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ID4g aW5kZXggZDE5MDI3NTBhODVkLi5jM2IyOTJhYjE3YTUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2hkbWkuYwo+ID4gQEAgLTUxNSw3ICs1MTUsOSBAQCBzdGF0aWMgaW50IGhkbWlfdmVuZG9yX2lu Zm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9oZG1pICpoZG1pKQo+ID4gICAKPiA+ICAgCURSTV9E RUJVR19EUklWRVIoIlxuIik7Cj4gPiAgIAo+ID4gLQlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJhbWUsIG1vZGUpOwo+ID4gKwlyZXQgPSBk cm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJhbWUsCj4g PiArCQkJCQkJCSAgaGRtaS0+ZHJtX2Nvbm5lY3RvciwKPiA+ICsJCQkJCQkJICBtb2RlKTsKPiA+ ICAgCWlmIChyZXQgPCAwKSB7Cj4gPiAgIAkJLyoKPiA+ICAgCQkgKiBHb2luZyBpbnRvIHRoYXQg c3RhdGVtZW50IGRvZXMgbm90IG1lYW5zIHZlbmRvciBpbmZvZnJhbWUKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhf aGRtaS5jCj4gPiBpbmRleCBiOGFiYjFiNDk2ZmYuLjEzZWE5MGY3YTE4NSAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0venRlL3p4X2hkbWkuYwo+ID4gQEAgLTEwOCw2ICsxMDgsNyBAQCBzdGF0aWMgaW50IHp4X2hk bWlfY29uZmlnX3ZpZGVvX3ZzaShzdHJ1Y3QgenhfaGRtaSAqaGRtaSwKPiA+ICAgCWludCByZXQ7 Cj4gPiAgIAo+ID4gICAJcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJhbWUudmVuZG9yLmhkbWksCj4gPiArCQkJCQkJCSAgJmhkbWktPmNvbm5lY3Rv ciwKPiA+ICAgCQkJCQkJCSAgbW9kZSk7Cj4gPiAgIAlpZiAocmV0KSB7Cj4gPiAgIAkJRFJNX0RF Vl9FUlJPUihoZG1pLT5kZXYsICJmYWlsZWQgdG8gZ2V0IHZlbmRvciBpbmZvZnJhbWU6ICVkXG4i LAo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gaW5kZXggMmI5N2QxZTI4ZjYwLi4xNTQzMjEyYjA0NDkg MTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gQEAgLTI3MCw2ICsyNzAsMTEgQEAgc3RydWN0 IGRybV9kaXNwbGF5X2luZm8gewo+ID4gICAJYm9vbCBkdmlfZHVhbDsKPiA+ICAgCj4gPiAgIAkv KioKPiA+ICsJICogQGhhc19oZG1pX2luZm9mcmFtZTogRG9lcyB0aGUgc2luayBzdXBwb3J0IHRo ZSBIRE1JIGluZm9mcmFtZT8KPiA+ICsJICovCj4gPiArCWJvb2wgaGFzX2hkbWlfaW5mb2ZyYW1l Owo+ID4gKwo+ID4gKwkvKioKPiA+ICAgCSAqIEBlZGlkX2hkbWlfZGNfbW9kZXM6IE1hc2sgb2Yg c3VwcG9ydGVkIGhkbWkgZGVlcCBjb2xvciBtb2Rlcy4gRXZlbgo+ID4gICAJICogbW9yZSBzdHVm ZiByZWR1bmRhbnQgd2l0aCBAYnVzX2Zvcm1hdHMuCj4gPiAgIAkgKi8KPiA+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+ID4gaW5k ZXggOWU0ZTIzNTI0ODQwLi4zYzg3NDBhZDFkYjYgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fZWRpZC5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gPiBAQCAtMzU2 LDYgKzM1Niw3IEBAIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3Ry dWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gPiAgIAkJCQkJIGJvb2wgaXNfaGRtaTJf c2luayk7Cj4gPiAgIGludAo+ID4gICBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAo+ID4gKwkJCQkJ ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAgIAkJCQkJICAgIGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiA+ICAgdm9pZAo+ID4gICBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZy YW1lLAo+IE90aGVyd2lzZSBsb29rcyBnb29kCj4gLSBTaGFzaGFuawoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==