From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v3 09/19] drm/i915: clean up atomic plane check functions, v2. Date: Mon, 22 Jun 2015 09:23:04 +0200 Message-ID: <5587B7D8.6010207@linux.intel.com> References: <1434364436-6366-1-git-send-email-maarten.lankhorst@linux.intel.com> <1434364436-6366-10-git-send-email-maarten.lankhorst@linux.intel.com> <20150618014844.GE3607@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id E8D666E59A for ; Mon, 22 Jun 2015 00:23:06 -0700 (PDT) In-Reply-To: <20150618014844.GE3607@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMTgtMDYtMTUgb20gMDM6NDggc2NocmVlZiBNYXR0IFJvcGVyOgo+IE9uIE1vbiwgSnVuIDE1 LCAyMDE1IGF0IDEyOjMzOjQ2UE0gKzAyMDAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+PiBC eSBwYXNzaW5nIGNydGNfc3RhdGUgdG8gdGhlIGNoZWNrX3BsYW5lIGZ1bmN0aW9ucyBhIGxvdCBv ZiBkdXBsaWNhdGVkCj4+IGNvZGUgY2FuIGJlIHJlbW92ZWQuIFRoZXJlIGFyZSBzdGlsbCBzb21l IHRyYW5zaXRpb25hbCBoZWxwZXIgY2FsbHMsCj4+IHRoZXkgd2lsbCBiZSByZW1vdmVkIGxhdGVy Lgo+Pgo+PiBDaGFuZ2VzIHNpbmNlIHYxOgo+PiAtIFJldmVydCBzdGF0ZS0+dmlzaWJsZSBjaGFu Z2VzLgo+PiAtIFVzZSBwbGFuZS0+c3RhdGUtPmNydGMgaW5zdGVhZCBvZiBwbGFuZS0+Y3J0Yy4K Pj4gLSBVc2UgZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZS4KPj4KPj4gU2lnbmVk LW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUu YyB8IDE2ICsrKysrKystLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgICAgICB8IDQ4ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgIHwgIDEgKwo+PiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgICAgICAgfCAgOSArKy0tLS0KPj4gIDQgZmlsZXMgY2hh bmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCj4+IGluZGV4IGFhMjEyODM2OWEwYS4uOTFk NTM3NjhkZjlkIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9t aWNfcGxhbmUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxh bmUuYwo+PiBAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcGxhbmVfYXRvbWlj X2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+PiAgCXN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShzdGF0ZSk7Cj4+ICAJaW50 IHJldDsKPj4gIAo+PiAtCWNydGMgPSBjcnRjID8gY3J0YyA6IHBsYW5lLT5jcnRjOwo+PiArCWNy dGMgPSBjcnRjID8gY3J0YyA6IHBsYW5lLT5zdGF0ZS0+Y3J0YzsKPj4gIAlpbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKPj4gIAo+PiAgCS8qCj4+IEBAIC0xMzEsMTAgKzEzMSwxMyBA QCBzdGF0aWMgaW50IGludGVsX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPj4gIAkvKiBGSVhNRTogdGVtcG9yYXJ5IGhhY2sgbmVjZXNzYXJ5IHdoaWxlIHdlIHN0 aWxsIHVzZSB0aGUgcGxhbmUgdXBkYXRlCj4+ICAJICogaGVscGVyLiAqLwo+PiAgCWlmIChzdGF0 ZS0+c3RhdGUpIHsKPj4gLQkJY3J0Y19zdGF0ZSA9Cj4+IC0JCQlpbnRlbF9hdG9taWNfZ2V0X2Ny dGNfc3RhdGUoc3RhdGUtPnN0YXRlLCBpbnRlbF9jcnRjKTsKPj4gLQkJaWYgKElTX0VSUihjcnRj X3N0YXRlKSkKPj4gLQkJCXJldHVybiBQVFJfRVJSKGNydGNfc3RhdGUpOwo+PiArCQlzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKmRybV9jcnRjX3N0YXRlID0KPj4gKwkJCWRybV9hdG9taWNfZ2V0X2V4 aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUtPnN0YXRlLCBjcnRjKTsKPiBJcyB0aGlzIGNoYW5nZSBp bXBvcnRhbnQ/ICBXZSBjYW4ndCBnZXQgdG8gdGhpcyBwb2ludCB3aXRob3V0IHRoZSBjcnRjCj4g c3RhdGUgYmVpbmcgaW4gdGhlIGF0b21pYyB0cmFuc2FjdGlvbiBjYW4gd2U/ICBUaGUgb25seSBj YXNlIHdoZXJlIHRoYXQKPiB1c2VkIHRvIGhhcHBlbiB3YXMgaWYgY3J0YyB3YXMgYWN0dWFsbHkg TlVMTCBkdWUgdG8gYSBwcm9wZXJ0eSB1cGRhdGUgb2YKPiBhIGRpc2FibGVkIHBsYW5lLCBidXQg d2UgYmFpbCBvdXQgb24gIWNydGMganVzdCBhYm92ZSB0aGlzLgo+Cj4gTm90IHRoYXQgdGhpcyBj aGFuZ2Ugd291bGQgY2F1c2UgYW55IHByb2JsZW1zIHRoYXQgSSBzZWUsIEkganVzdCBkb24ndAo+ IHVuZGVyc3RhbmQgdGhlIG1vdGl2YXRpb24uCkl0J3MganVzdCBwYXJhbm9pYS4gVGhlcmUgd2Vy ZSBzb21lIGNhc2VzIGluIHdoaWNoIHdlIGRpZG4ndCBhZGQgdGhlIGNydGMgc3RhdGUgY29ycmVj dGx5LCB3aGljaCB3YXMgYSBidWcuClRoaXMgbW9zdGx5IGhhcHBlbmVkIHdpdGhvdXQgdGhlIG90 aGVyIGh1bmsgdGhhdCBjaGVja3MgcGxhbmUtPnN0YXRlLT5jcnRjLCBidXQgc2luY2Ugd2UgcmVh bGx5IGRvbid0IHdhbnQKdG8gZGVhbCB3aXRoIGVycm9ycyBieSBhbGxvY2F0aW5nIGNydGMgc3Rh dGUgaGVyZSwgSSBmZWx0IGFkZGluZyBhIFdBUk5fT04gd2FzIG1vcmUgYXBwcm9wcmlhdGUuCj4+ ICsKPj4gKwkJaWYgKFdBUk5fT04oIWRybV9jcnRjX3N0YXRlKSkKPj4gKwkJCXJldHVybiAtRUlO VkFMOwo+PiArCj4+ICsJCWNydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGRybV9jcnRj X3N0YXRlKTsKPj4gIAl9IGVsc2Ugewo+PiAgCQljcnRjX3N0YXRlID0gaW50ZWxfY3J0Yy0+Y29u ZmlnOwo+PiAgCX0KPj4gQEAgLTE4NSw3ICsxODgsOCBAQCBzdGF0aWMgaW50IGludGVsX3BsYW5l X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPj4gIAkJfQo+PiAgCX0KPj4g IAo+PiAtCXJldCA9IGludGVsX3BsYW5lLT5jaGVja19wbGFuZShwbGFuZSwgaW50ZWxfc3RhdGUp Owo+PiArCWludGVsX3N0YXRlLT52aXNpYmxlID0gZmFsc2U7Cj4+ICsJcmV0ID0gaW50ZWxfcGxh bmUtPmNoZWNrX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlLCBpbnRlbF9zdGF0ZSk7Cj4+ICAJaWYg KHJldCB8fCAhc3RhdGUtPnN0YXRlKQo+PiAgCQlyZXR1cm4gcmV0Owo+PiAgCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggZWM0OTI0ZWVjZDY4Li42MTY5NzMzNWJm ZjIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTEzNzAz LDM2ICsxMzcwMywyNSBAQCBza2xfbWF4X3NjYWxlKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZQo+PiAgCj4+ICBzdGF0aWMg aW50Cj4+ICBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAo+PiArCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gIAkJCSAg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0 ZS0+YmFzZS5jcnRjOwo+PiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwo+PiAtCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+PiAgCXN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiID0gc3RhdGUtPmJhc2UuZmI7Cj4+IC0Jc3RydWN0IGRybV9yZWN0ICpkZXN0ID0g JnN0YXRlLT5kc3Q7Cj4+IC0Jc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUtPnNyYzsKPj4g LQljb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmNsaXAgPSAmc3RhdGUtPmNsaXA7Cj4+IC0JYm9vbCBj YW5fcG9zaXRpb24gPSBmYWxzZTsKPj4gLQlpbnQgbWF4X3NjYWxlID0gRFJNX1BMQU5FX0hFTFBF Ul9OT19TQ0FMSU5HOwo+PiAgCWludCBtaW5fc2NhbGUgPSBEUk1fUExBTkVfSEVMUEVSX05PX1ND QUxJTkc7Cj4+ICsJaW50IG1heF9zY2FsZSA9IERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORzsK Pj4gKwlib29sIGNhbl9wb3NpdGlvbiA9IGZhbHNlOwo+PiAgCj4+IC0JY3J0YyA9IGNydGMgPyBj cnRjIDogcGxhbmUtPmNydGM7Cj4+IC0JaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7 Cj4+IC0JY3J0Y19zdGF0ZSA9IHN0YXRlLT5iYXNlLnN0YXRlID8KPj4gLQkJaW50ZWxfYXRvbWlj X2dldF9jcnRjX3N0YXRlKHN0YXRlLT5iYXNlLnN0YXRlLCBpbnRlbF9jcnRjKSA6IE5VTEw7Cj4+ IC0KPj4gLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+PiAtCQkvKiB1c2Ugc2Nh bGVyIHdoZW4gY29sb3JrZXkgaXMgbm90IHJlcXVpcmVkICovCj4+IC0JCWlmICh0b19pbnRlbF9w bGFuZShwbGFuZSktPmNrZXkuZmxhZ3MgPT0gSTkxNV9TRVRfQ09MT1JLRVlfTk9ORSkgewo+PiAt CQkJbWluX3NjYWxlID0gMTsKPj4gLQkJCW1heF9zY2FsZSA9IHNrbF9tYXhfc2NhbGUoaW50ZWxf Y3J0YywgY3J0Y19zdGF0ZSk7Cj4+IC0JCX0KPj4gKwkvKiB1c2Ugc2NhbGVyIHdoZW4gY29sb3Jr ZXkgaXMgbm90IHJlcXVpcmVkICovCj4+ICsJaWYgKElOVEVMX0lORk8ocGxhbmUtPmRldiktPmdl biA+PSA5ICYmCj4+ICsJICAgIHRvX2ludGVsX3BsYW5lKHBsYW5lKS0+Y2tleS5mbGFncyA9PSBJ OTE1X1NFVF9DT0xPUktFWV9OT05FKSB7Cj4+ICsJCW1pbl9zY2FsZSA9IDE7Cj4+ICsJCW1heF9z Y2FsZSA9IHNrbF9tYXhfc2NhbGUodG9faW50ZWxfY3J0YyhjcnRjKSwgY3J0Y19zdGF0ZSk7Cj4+ ICAJCWNhbl9wb3NpdGlvbiA9IHRydWU7Cj4+ICAJfQo+PiAgCj4+IC0JcmV0dXJuIGRybV9wbGFu ZV9oZWxwZXJfY2hlY2tfdXBkYXRlKHBsYW5lLCBjcnRjLCBmYiwKPj4gLQkJCQkJICAgICBzcmMs IGRlc3QsIGNsaXAsCj4+ICsJcmV0dXJuIGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfdXBkYXRlKHBs YW5lLCBjcnRjLCBmYiwgJnN0YXRlLT5zcmMsCj4+ICsJCQkJCSAgICAgJnN0YXRlLT5kc3QsICZz dGF0ZS0+Y2xpcCwKPj4gIAkJCQkJICAgICBtaW5fc2NhbGUsIG1heF9zY2FsZSwKPj4gIAkJCQkJ ICAgICBjYW5fcG9zaXRpb24sIHRydWUsCj4+ICAJCQkJCSAgICAgJnN0YXRlLT52aXNpYmxlKTsK Pj4gQEAgLTEzOTczLDI0ICsxMzk2MiwxNyBAQCB2b2lkIGludGVsX2NyZWF0ZV9yb3RhdGlvbl9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfcGxhbmUgKgo+PiAg Cj4+ICBzdGF0aWMgaW50Cj4+ICBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4+ICsJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4+ICAJCQkgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKPj4gIHsKPj4gLQlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0ZS0+YmFzZS5jcnRjOwo+PiAtCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBwbGFuZS0+ZGV2Owo+PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNf c3RhdGUtPmJhc2UuY3J0YzsKPj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRl LT5iYXNlLmZiOwo+PiAtCXN0cnVjdCBkcm1fcmVjdCAqZGVzdCA9ICZzdGF0ZS0+ZHN0Owo+PiAt CXN0cnVjdCBkcm1fcmVjdCAqc3JjID0gJnN0YXRlLT5zcmM7Cj4+IC0JY29uc3Qgc3RydWN0IGRy bV9yZWN0ICpjbGlwID0gJnN0YXRlLT5jbGlwOwo+PiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwo+PiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjOwo+PiAgCXVuc2lnbmVkIHN0cmlkZTsKPj4gIAlpbnQgcmV0Owo+PiAgCj4+IC0JY3J0 YyA9IGNydGMgPyBjcnRjIDogcGxhbmUtPmNydGM7Cj4+IC0JaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Cj4+IC0KPj4gLQlyZXQgPSBkcm1fcGxhbmVfaGVscGVyX2NoZWNrX3VwZGF0 ZShwbGFuZSwgY3J0YywgZmIsCj4+IC0JCQkJCSAgICBzcmMsIGRlc3QsIGNsaXAsCj4+ICsJcmV0 ID0gZHJtX3BsYW5lX2hlbHBlcl9jaGVja191cGRhdGUocGxhbmUsIGNydGMsIGZiLCAmc3RhdGUt PnNyYywKPj4gKwkJCQkJICAgICZzdGF0ZS0+ZHN0LCAmc3RhdGUtPmNsaXAsCj4+ICAJCQkJCSAg ICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4+ICAJCQkJCSAgICBEUk1fUExBTkVfSEVM UEVSX05PX1NDQUxJTkcsCj4+ICAJCQkJCSAgICB0cnVlLCB0cnVlLCAmc3RhdGUtPnZpc2libGUp Owo+PiBAQCAtMTQwMDIsNyArMTM5ODQsNyBAQCBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmUoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4+ICAJCXJldHVybiAwOwo+PiAgCj4+ICAJLyogQ2hlY2sg Zm9yIHdoaWNoIGN1cnNvciB0eXBlcyB3ZSBzdXBwb3J0ICovCj4+IC0JaWYgKCFjdXJzb3Jfc2l6 ZV9vayhkZXYsIHN0YXRlLT5iYXNlLmNydGNfdywgc3RhdGUtPmJhc2UuY3J0Y19oKSkgewo+PiAr CWlmICghY3Vyc29yX3NpemVfb2socGxhbmUtPmRldiwgc3RhdGUtPmJhc2UuY3J0Y193LCBzdGF0 ZS0+YmFzZS5jcnRjX2gpKSB7Cj4+ICAJCURSTV9ERUJVRygiQ3Vyc29yIGRpbWVuc2lvbiAlZHgl ZCBub3Qgc3VwcG9ydGVkXG4iLAo+PiAgCQkJICBzdGF0ZS0+YmFzZS5jcnRjX3csIHN0YXRlLT5i YXNlLmNydGNfaCk7Cj4+ICAJCXJldHVybiAtRUlOVkFMOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+PiBpbmRleCA5ZjU4NjdiZjc0NWUuLjhjMGYxN2U4NGVlZSAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPj4gQEAgLTYxMyw2ICs2MTMsNyBAQCBzdHJ1Y3QgaW50ZWxfcGxh bmUgewo+PiAgCXZvaWQgKCpkaXNhYmxlX3BsYW5lKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK Pj4gIAkJCSAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBmb3JjZSk7Cj4+ICAJaW50 ICgqY2hlY2tfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+PiArCQkJICAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAJCQkgICBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnN0YXRlKTsKPj4gIAl2b2lkICgqY29tbWl0X3BsYW5lKShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPj4gIAkJCSAgICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSk7 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4+IGluZGV4IGM5MDliOGI4Y2U4NS4u OTk5YTU3NTNkZGUzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+PiBA QCAtNzM5LDExICs3MzksMTIgQEAgaWxrX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBmb3JjZSkKPj4gIAo+PiAgc3RhdGlj IGludAo+PiAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAo+PiArCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+PiAgCQkJIHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4+ICB7Cj4+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKHN0YXRlLT5iYXNlLmNydGMpOwo+PiAtCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlOwo+PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5i YXNlLmNydGM7Cj4+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGMpOwo+IFdlIGRvbid0IGFjdHVhbGx5IHVzZSBjcnRjIGFueXdoZXJlIGFmdGVyIHRo aXMsIHNvIEknbSBub3Qgc3VyZSBpZiB0aGVyZQo+IHdhcyBhIG5lZWQgdG8gY2hhbmdlIHRoZSBh c3NpZ25tZW50IG9mIGludGVsX2NydGM/ICBOb3QgYSBiaWcgZGVhbAo+IGVpdGhlciB3YXkuCj4K Q2FuJ3QgcmVtZW1iZXIgd2h5IEkgZGlkIHRoaXMsIGJ1dCBpdCdzIG5vdCB3b3J0aCBzZW5kaW5n IGEgbmV3IHBhdGNoIGZvci4gOikKCn5NYWFydGVuCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==