From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [PATCH 1/3] drm/etnaviv: submit support for in-fences Date: Wed, 8 Mar 2017 11:37:48 -0300 Message-ID: <20170308143748.GA2346@joana> References: <20170308125328.28306-1-p.zabel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170308125328.28306-1-p.zabel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philipp Zabel Cc: etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Russell King List-Id: dri-devel@lists.freedesktop.org SGkgUGhpbGlwcCwKCjIwMTctMDMtMDggUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25p eC5kZT46Cgo+IExvb3NlbHkgYmFzZWQgb24gY29tbWl0IGYwYTQyYmI1NDIzYSAoImRybS9tc206 IHN1Ym1pdCBzdXBwb3J0IGZvcgo+IGluLWZlbmNlcyIpLiBVbmZvcnR1bmF0ZWx5LCBzdHJ1Y3Qg ZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdCBkb2Vzbid0IGhhdmUKPiBhIGZsYWdzIGZpZWxkIHlldCwg c28gd2UgaGF2ZSB0byBleHRlbmQgdGhlIHN0cnVjdHVyZSBhbmQgdHJ1c3QgdGhhdAo+IGRybV9p b2N0bCB3aWxsIGNsZWFyIHRoZSBmbGFncyBmb3IgdXMgaWYgYW4gb2xkZXIgdXNlcnNwYWNlIG9u bHkgc3VibWl0cwo+IHBhcnQgb2YgdGhlIHN0cnVjdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQaGls aXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9LY29uZmlnICAgICAgICAgICAgICB8ICAxICsKPiAgZHJpdmVycy9ncHUvZHJt L2V0bmF2aXYvZXRuYXZpdl9nZW0uaCAgICAgICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysr KysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jICAgICAgICB8ICA1 ICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuaCAgICAgICAgfCAg MiArLQo+ICBpbmNsdWRlL3VhcGkvZHJtL2V0bmF2aXZfZHJtLmggICAgICAgICAgICAgICB8ICA2 ICsrKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvS2NvbmZpZyBiL2Ry aXZlcnMvZ3B1L2RybS9ldG5hdml2L0tjb25maWcKPiBpbmRleCBjYzE3MzFjNTI4OWMyLi43MWNl ZTRlOWZlZmJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L0tjb25maWcK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9LY29uZmlnCj4gQEAgLTUsNiArNSw3IEBA IGNvbmZpZyBEUk1fRVROQVZJVgo+ICAJZGVwZW5kcyBvbiBBUkNIX01YQyB8fCBBUkNIX0RPVkUg fHwgKEFSTSAmJiBDT01QSUxFX1RFU1QpCj4gIAlkZXBlbmRzIG9uIE1NVQo+ICAJc2VsZWN0IFNI TUVNCj4gKwlzZWxlY3QgU1lOQ19GSUxFCj4gIAlzZWxlY3QgVE1QRlMKPiAgCXNlbGVjdCBJT01N VV9BUEkKPiAgCXNlbGVjdCBJT01NVV9TVVBQT1JUCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5h dml2X2dlbS5oCj4gaW5kZXggZTYzZmYxMTZhM2IzZC4uMTIwNDEwZDY3ZWI1YiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uaAo+IEBAIC0xMDcsNiArMTA3LDcgQEAgc3Ry dWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCB7Cj4gIAl1MzIgZmVuY2U7Cj4gIAl1bnNpZ25lZCBpbnQg bnJfYm9zOwo+ICAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdF9ibyBib3NbMF07Cj4gKwl1MzIg ZmxhZ3M7Cj4gIH07Cj4gIAo+ICBpbnQgZXRuYXZpdl9nZW1fd2FpdF9ibyhzdHJ1Y3QgZXRuYXZp dl9ncHUgKmdwdSwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKPiBpbmRleCA3MjYwOTBkN2E2YWNlLi5l NjdkODNlYWMyMmRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfZ2VtX3N1Ym1pdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9n ZW1fc3VibWl0LmMKPiBAQCAtMTUsNiArMTUsNyBAQAo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxs aW51eC9yZXNlcnZhdGlvbi5oPgo+ICsjaW5jbHVkZSA8bGludXgvc3luY19maWxlLmg+Cj4gICNp bmNsdWRlICJldG5hdml2X2NtZGJ1Zi5oIgo+ICAjaW5jbHVkZSAiZXRuYXZpdl9kcnYuaCIKPiAg I2luY2x1ZGUgImV0bmF2aXZfZ3B1LmgiCj4gQEAgLTE2OSw4ICsxNzAsMTAgQEAgc3RhdGljIGlu dCBzdWJtaXRfZmVuY2Vfc3luYyhjb25zdCBzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJt aXQpCj4gIAlmb3IgKGkgPSAwOyBpIDwgc3VibWl0LT5ucl9ib3M7IGkrKykgewo+ICAJCXN0cnVj dCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqID0gc3VibWl0LT5ib3NbaV0ub2JqOwo+ ICAJCWJvb2wgd3JpdGUgPSBzdWJtaXQtPmJvc1tpXS5mbGFncyAmIEVUTkFfU1VCTUlUX0JPX1dS SVRFOwo+ICsJCWJvb2wgZXhwbGljaXQgPSAhKHN1Ym1pdC0+ZmxhZ3MgJiBFVE5BX1NVQk1JVF9O T19JTVBMSUNJVCk7Cj4gIAo+IC0JCXJldCA9IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5bmNfb2JqKGV0 bmF2aXZfb2JqLCBjb250ZXh0LCB3cml0ZSk7Cj4gKwkJcmV0ID0gZXRuYXZpdl9ncHVfZmVuY2Vf c3luY19vYmooZXRuYXZpdl9vYmosIGNvbnRleHQsIHdyaXRlLAo+ICsJCQkJCQkgZXhwbGljaXQp Owo+ICAJCWlmIChyZXQpCj4gIAkJCWJyZWFrOwo+ICAJfQo+IEBAIC0zMDMsNiArMzA2LDcgQEAg aW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0Owo+ICAJc3RydWN0 IGV0bmF2aXZfY21kYnVmICpjbWRidWY7Cj4gIAlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKPiAr CXN0cnVjdCBkbWFfZmVuY2UgKmluX2ZlbmNlID0gTlVMTDsKPiAgCXZvaWQgKnN0cmVhbTsKPiAg CWludCByZXQ7Cj4gIAo+IEBAIC0zMjYsNiArMzMwLDExIEBAIGludCBldG5hdml2X2lvY3RsX2dl bV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQlyZXR1cm4g LUVJTlZBTDsKPiAgCX0KPiAgCj4gKwlpZiAoYXJncy0+ZmxhZ3MgJiB+RVROQV9TVUJNSVRfRkxB R1MpIHsKPiArCQlEUk1fRVJST1IoImludmFsaWQgZmxhZ3M6IDB4JXhcbiIsIGFyZ3MtPmZsYWdz KTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gIAkvKgo+ICAJICogQ29weSB0aGUg Y29tbWFuZCBzdWJtaXNzaW9uIGFuZCBibyBhcnJheSB0byBrZXJuZWwgc3BhY2UgaW4KPiAgCSAq IG9uZSBnbywgYW5kIGRvIHRoaXMgb3V0c2lkZSBvZiBhbnkgbG9ja3MuCj4gQEAgLTM3MSw2ICsz ODAsOCBAQCBpbnQgZXRuYXZpdl9pb2N0bF9nZW1fc3VibWl0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCj4gIAkJZ290byBlcnJfc3VibWl0X2NtZHM7Cj4gIAl9Cj4gIAo+ICsJ c3VibWl0LT5mbGFncyA9IGFyZ3MtPmZsYWdzOwo+ICsKPiAgCXJldCA9IHN1Ym1pdF9sb29rdXBf b2JqZWN0cyhzdWJtaXQsIGZpbGUsIGJvcywgYXJncy0+bnJfYm9zKTsKPiAgCWlmIChyZXQpCj4g IAkJZ290byBlcnJfc3VibWl0X29iamVjdHM7Cj4gQEAgLTM4NSw2ICszOTYsMjUgQEAgaW50IGV0 bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAo+ICAJCWdvdG8gZXJyX3N1Ym1pdF9vYmplY3RzOwo+ICAJfQo+ICAKPiArCWlmIChhcmdzLT5m bGFncyAmIEVUTkFfU1VCTUlUX0ZFTkNFX0ZEX0lOKSB7Cj4gKwkJaW5fZmVuY2UgPSBzeW5jX2Zp bGVfZ2V0X2ZlbmNlKGFyZ3MtPmZlbmNlX2ZkKTsKPiArCQlpZiAoIWluX2ZlbmNlKSB7Cj4gKwkJ CXJldCA9IC1FSU5WQUw7Cj4gKwkJCWdvdG8gZXJyX3N1Ym1pdF9vYmplY3RzOwo+ICsJCX0KPiAr Cj4gKwkJLyogVE9ETyBpZiB3ZSBnZXQgYW4gYXJyYXktZmVuY2UgZHVlIHRvIHVzZXJzcGFjZSBt ZXJnaW5nCj4gKwkJICogbXVsdGlwbGUgZmVuY2VzLCB3ZSBuZWVkIGEgd2F5IHRvIGRldGVybWlu ZSBpZiBhbGwgdGhlCj4gKwkJICogYmFja2luZyBmZW5jZXMgYXJlIGZyb20gb3VyIG93biBjb250 ZXh0Li4KPiArCQkgKi8KCkFsbCBHUFUgZHJpdmVycyBzZWVtIHRvIGhhdmUgdGhlIHNhbWUgbmVl ZCBvbiBmZW5jZV9hcnJheSwgc28gSSB0aGluayB3ZQpjYW4gY3JlYXRlIGEgZmVuY2UgYXJyYXkg aGVscGVyIHRvIGluc3BlY3QgaWYgaXQgaGFzIGEgc3BlY2lmaWMgY29udGV4dApvciBub3QuCgo+ ICsKPiArCQlpZiAoaW5fZmVuY2UtPmNvbnRleHQgIT0gZ3B1LT5mZW5jZV9jb250ZXh0KSB7Cj4g KwkJCXJldCA9IGRtYV9mZW5jZV93YWl0KGluX2ZlbmNlLCB0cnVlKTsKPiArCQkJaWYgKHJldCkK PiArCQkJCWdvdG8gZXJyX3N1Ym1pdF9vYmplY3RzOwoKc3luY19maWxlX2dldF9mZW5jZSgpIGhv bGQgYSBmZW5jZSByZWYsIHdlIG5lZWQgdG8gcmVsZWFzZSBpdCBoZXJlCmFsd2F5cyBhbmQgbm90 IG9ubHkgaW4gY2FzZSBvZiBlcnJvci4KCj4gKwkJfQo+ICsJfQo+ICsKPiAgCXJldCA9IHN1Ym1p dF9mZW5jZV9zeW5jKHN1Ym1pdCk7Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gZXJyX3N1Ym1pdF9v YmplY3RzOwo+IEBAIC00MTksNiArNDQ5LDggQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJCWZsdXNoX3dvcmtxdWV1 ZShwcml2LT53cSk7Cj4gIAo+ICBlcnJfc3VibWl0X29iamVjdHM6Cj4gKwlpZiAoaW5fZmVuY2Up Cj4gKwkJZG1hX2ZlbmNlX3B1dChpbl9mZW5jZSk7Cj4gIAlzdWJtaXRfY2xlYW51cChzdWJtaXQp Owo+ICAKPiAgZXJyX3N1Ym1pdF9jbWRzOgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9n cHUuYwo+IGluZGV4IDEzMGQ3ZDUxN2ExOWEuLjUxZDUyYzcyYWVmMTcgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMKPiBAQCAtMTA2NCw3ICsxMDY0LDcgQEAgc3RhdGlj IHN0cnVjdCBkbWFfZmVuY2UgKmV0bmF2aXZfZ3B1X2ZlbmNlX2FsbG9jKHN0cnVjdCBldG5hdml2 X2dwdSAqZ3B1KQo+ICB9Cj4gIAo+ICBpbnQgZXRuYXZpdl9ncHVfZmVuY2Vfc3luY19vYmooc3Ry dWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmosCj4gLQl1bnNpZ25lZCBpbnQgY29u dGV4dCwgYm9vbCBleGNsdXNpdmUpCj4gKwl1bnNpZ25lZCBpbnQgY29udGV4dCwgYm9vbCBleGNs dXNpdmUsIGJvb2wgZXhwbGljaXQpCj4gIHsKPiAgCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3Qg KnJvYmogPSBldG5hdml2X29iai0+cmVzdjsKPiAgCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3Rf bGlzdCAqZm9iajsKPiBAQCAtMTA3Nyw2ICsxMDc3LDkgQEAgaW50IGV0bmF2aXZfZ3B1X2ZlbmNl X3N5bmNfb2JqKHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqLAo+ICAJCQly ZXR1cm4gcmV0Owo+ICAJfQo+ICAKPiArCWlmIChleHBsaWNpdCkKPiArCQlyZXR1cm4gMDsKPiAr Cj4gIAkvKgo+ICAJICogSWYgd2UgaGF2ZSBhbnkgc2hhcmVkIGZlbmNlcywgdGhlbiB0aGUgZXhj bHVzaXZlIGZlbmNlCj4gIAkgKiBzaG91bGQgYmUgaWdub3JlZCBhcyBpdCB3aWxsIGFscmVhZHkg aGF2ZSBiZWVuIHNpZ25hbGxlZC4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2 aXYvZXRuYXZpdl9ncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmgK PiBpbmRleCAxYzA2MDZlYTdkNWU4Li5kYzI3YzdhMDM5MDYwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2dwdS5oCj4gQEAgLTE4MSw3ICsxODEsNyBAQCBpbnQgZXRuYXZpdl9n cHVfZGVidWdmcyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgc3RydWN0IHNlcV9maWxlICptKTsK PiAgI2VuZGlmCj4gIAo+ICBpbnQgZXRuYXZpdl9ncHVfZmVuY2Vfc3luY19vYmooc3RydWN0IGV0 bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmosCj4gLQl1bnNpZ25lZCBpbnQgY29udGV4dCwg Ym9vbCBleGNsdXNpdmUpOwo+ICsJdW5zaWduZWQgaW50IGNvbnRleHQsIGJvb2wgZXhjbHVzaXZl LCBib29sIGltcGxpY2l0KTsKPiAgCj4gIHZvaWQgZXRuYXZpdl9ncHVfcmV0aXJlKHN0cnVjdCBl dG5hdml2X2dwdSAqZ3B1KTsKPiAgaW50IGV0bmF2aXZfZ3B1X3dhaXRfZmVuY2VfaW50ZXJydXB0 aWJsZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2RybS9ldG5hdml2X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5oCj4gaW5k ZXggMjU4NGMxY2NhNDJmNi4uZTljMzg4YTFkOGViZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3Vh cGkvZHJtL2V0bmF2aXZfZHJtLmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2V0bmF2aXZfZHJt LmgKPiBAQCAtMTU0LDYgKzE1NCwxMCBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdF9i byB7Cj4gICAqIG9uZSBvciBtb3JlIGNtZHN0cmVhbSBidWZmZXJzLiAgVGhpcyBhbGxvd3MgZm9y IGNvbmRpdGlvbmFsIGV4ZWN1dGlvbgo+ICAgKiAoY29udGV4dC1yZXN0b3JlKSwgYW5kIElCIGJ1 ZmZlcnMgbmVlZGVkIGZvciBwZXIgdGlsZS9iaW4gZHJhdyBjbWRzLgo+ICAgKi8KPiArI2RlZmlu ZSBFVE5BX1NVQk1JVF9OT19JTVBMSUNJVCAgICAgICAgIDB4MDAwMQo+ICsjZGVmaW5lIEVUTkFf U1VCTUlUX0ZFTkNFX0ZEX0lOICAgICAgICAgMHgwMDAyCgpFVE5BX1NVQk1JVF9OT19JTVBMSUNJ VCBhbmQgRVROQV9TVUJNSVRfRkVOQ0VfRkRfSU4gYXJlIHRoZSBzYW1lLCB3aGVuCnlvdSBzZW5k IGFuZCBmZW5jZV9mZCB0byB0aGUga2VybmVsIHlvdSBhcmUgcmVxdWVzdGluZyBvbiBleHBsaWNp dCBzeW5jCnRodXMgSSB0aGluayB0aGUgRVROQV9TVUJNSVRfTk9fSU1QTElDSVQgY2FuIGJlIGRy b3BwZWQgYW5kCkVUTkFfU1VCTUlUX0ZFTkNFX0ZEX0lOIHdvdWxkIGJlIHRoZSBvbmUgdG8gbG9v ayBhdC4KCj4gKyNkZWZpbmUgRVROQV9TVUJNSVRfRkxBR1MJCShFVE5BX1NVQk1JVF9OT19JTVBM SUNJVCB8IFwKPiArCQkJCQkgRVROQV9TVUJNSVRfRkVOQ0VfRkRfSU4pCj4gICNkZWZpbmUgRVRO QV9QSVBFXzNEICAgICAgMHgwMAo+ICAjZGVmaW5lIEVUTkFfUElQRV8yRCAgICAgIDB4MDEKPiAg I2RlZmluZSBFVE5BX1BJUEVfVkcgICAgICAweDAyCj4gQEAgLTE2Nyw2ICsxNzEsOCBAQCBzdHJ1 Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdCB7Cj4gIAlfX3U2NCBib3M7ICAgICAgICAgICAgLyog aW4sIHB0ciB0byBhcnJheSBvZiBzdWJtaXRfYm8ncyAqLwo+ICAJX191NjQgcmVsb2NzOyAgICAg ICAgIC8qIGluLCBwdHIgdG8gYXJyYXkgb2Ygc3VibWl0X3JlbG9jJ3MgKi8KPiAgCV9fdTY0IHN0 cmVhbTsgICAgICAgICAvKiBpbiwgcHRyIHRvIGNtZHN0cmVhbSAqLwo+ICsJX191MzIgZmxhZ3M7 ICAgICAgICAgIC8qIGluLCBtYXNrIG9mIEVUTkFfU1VCTUlUX3ggKi8KPiArCV9fczMyIGZlbmNl X2ZkOyAgICAgICAvKiBpbiwgZmVuY2UgZmQgKHNlZSBFVE5BX1NVQk1JVF9GRU5DRV9GRF9JTikg Ki8KPiAgfTsKPiAgCj4gIC8qIFRoZSBub3JtYWwgd2F5IHRvIHN5bmNocm9uaXplIHdpdGggdGhl IEdQVSBpcyBqdXN0IHRvIENQVV9QUkVQIG9uCj4gLS0gCj4gMi4xMS4wCj4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=