From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lis, Tomasz" Subject: Re: [PATCH 06/21] drm/i915/guc: Use guc_class instead of engine_class in fw interface Date: Thu, 30 Aug 2018 15:29:11 +0200 Message-ID: References: <20180829191056.63760-1-michal.wajdeczko@intel.com> <20180829191056.63760-7-michal.wajdeczko@intel.com> <1b5544a7-958d-f5ca-74c5-1dcd1b63ad02@intel.com> <1779168b-4930-ac52-0bb4-20695478cf81@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id D944A6E768 for ; Thu, 30 Aug 2018 13:29:16 +0000 (UTC) In-Reply-To: <1779168b-4930-ac52-0bb4-20695478cf81@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel Landwerlin , Michel Thierry , Michal Wajdeczko , intel-gfx@lists.freedesktop.org Cc: Lucas De Marchi , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org CgpPbiAyMDE4LTA4LTMwIDAyOjE2LCBMaW9uZWwgTGFuZHdlcmxpbiB3cm90ZToKPiBPbiAyOS8w OC8yMDE4IDIwOjU4LCBNaWNoZWwgVGhpZXJyeSB3cm90ZToKPj4gK0xpb25lbAo+PiAocGxlYXNl IHNlZSBiZWxvdyBhcyB0aGlzIHRvdWNoZXMgdGhlIGxyY2EgZm9ybWF0ICYgcmVsYXRlcyB0byBP QSAKPj4gcmVwb3J0aW5nIHRvbykKPj4KPj4gT24gOC8yOS8yMDE4IDEyOjEwIFBNLCBNaWNoYWwg V2FqZGVjemtvIHdyb3RlOgo+Pj4gVW50aWwgbm93IHRoZSBHdUMgYW5kIEhXIGVuZ2luZSBjbGFz cyBoYXMgYmVlbiB0aGUgc2FtZSwgd2hpY2ggYWxsb3dlZAo+Pj4gdXMgdG8gdXNlIHRoZW0gaW50 ZXJjaGFuZ2VhYmxlLiBCdXQgaXQgaXMgYmV0dGVyIHRvIHN0YXJ0IGRvaW5nIHRoZQo+Pj4gcmln aHQgdGhpbmcgYW5kIHVzZSB0aGUgR3VDIGRlZmluaXRpb25zIGZvciB0aGUgZmlybXdhcmUgaW50 ZXJmYWNlLgo+Pj4KPj4+IFdlIGFsc28ga2VlcCB0aGUgc2FtZSBjbGFzcyBpZCBpbiB0aGUgY3R4 IGRlc2NyaXB0b3IgdG8gYmUgYWJsZSB0byBoYXZlCj4+PiB0aGUgc2FtZSB2YWx1ZXMgaW4gdGhl IGRyaXZlciBhbmQgZmlybXdhcmUgbG9ncy4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBNaWNoZWwg VGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgo+Pj4gU2lnbmVkLW9mZi1ieTogUm9k cmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+Pj4gU2lnbmVkLW9mZi1ieTogTWlj aGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4+PiBDYzogRGFuaWVs ZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KPj4+IENj OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgo+Pj4gQ2M6IEx1Y2Fz IERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPgo+Pj4gQ2M6IFRvbWFzeiBMaXMg PHRvbWFzei5saXNAaW50ZWwuY29tPgpUZXN0ZWQtYnk6IFRvbWFzeiBMaXMgPHRvbWFzei5saXNA aW50ZWwuY29tPgo+Pj4gLS0tCj4+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdp bmVfY3MuY8KgIHwgMTMgKysrKysrKysrKysrKwo+Pj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjX2Z3aWYuaMKgwqAgfMKgIDcgKysrKysrKwo+Pj4gwqAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmPCoMKgwqDCoMKgwqDCoCB8IDEwICsrKysrKysrKy0KPj4+IMKgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8wqAgMiArKwo+Pj4gwqAgNCBm aWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Pgo+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIAo+Pj4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+Pj4gaW5kZXggMWEzNGU4Zi4u YmM4MTM1NCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2lu ZV9jcy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+ Pj4gQEAgLTg1LDYgKzg1LDcgQEAgc3RydWN0IGVuZ2luZV9pbmZvIHsKPj4+IMKgwqDCoMKgwqAg dW5zaWduZWQgaW50IGh3X2lkOwo+Pj4gwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgdWFiaV9pZDsK Pj4+IMKgwqDCoMKgwqAgdTggY2xhc3M7Cj4+PiArwqDCoMKgIHU4IGd1Y19jbGFzczsKPj4+IMKg wqDCoMKgwqAgdTggaW5zdGFuY2U7Cj4+PiDCoMKgwqDCoMKgIC8qIG1taW8gYmFzZXMgdGFibGUg Km11c3QqIGJlIHNvcnRlZCBpbiByZXZlcnNlIGdlbiBvcmRlciAqLwo+Pj4gwqDCoMKgwqDCoCBz dHJ1Y3QgZW5naW5lX21taW9fYmFzZSB7Cj4+PiBAQCAtOTgsNiArOTksNyBAQCBzdHJ1Y3QgZW5n aW5lX2luZm8gewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5od19pZCA9IFJDU19IVywKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoCAudWFiaV9pZCA9IEk5MTVfRVhFQ19SRU5ERVIsCj4+PiDCoMKgwqDC oMKgwqDCoMKgwqAgLmNsYXNzID0gUkVOREVSX0NMQVNTLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5n dWNfY2xhc3MgPSBHVUNfUkVOREVSX0NMQVNTLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pbnN0 YW5jZSA9IDAsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLm1taW9fYmFzZXMgPSB7Cj4+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7IC5nZW4gPSAxLCAuYmFzZSA9IFJFTkRFUl9SSU5HX0JB U0UgfQo+Pj4gQEAgLTEwNyw2ICsxMDksNyBAQCBzdHJ1Y3QgZW5naW5lX2luZm8gewo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgIC5od19pZCA9IEJDU19IVywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAu dWFiaV9pZCA9IEk5MTVfRVhFQ19CTFQsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmNsYXNzID0g Q09QWV9FTkdJTkVfQ0xBU1MsCj4+PiArwqDCoMKgwqDCoMKgwqAgLmd1Y19jbGFzcyA9IEdVQ19C TElUVEVSX0NMQVNTLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pbnN0YW5jZSA9IDAsCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqAgLm1taW9fYmFzZXMgPSB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB7IC5nZW4gPSA2LCAuYmFzZSA9IEJMVF9SSU5HX0JBU0UgfQo+Pj4gQEAgLTExNiw2 ICsxMTksNyBAQCBzdHJ1Y3QgZW5naW5lX2luZm8gewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5o d19pZCA9IFZDU19IVywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAudWFiaV9pZCA9IEk5MTVfRVhF Q19CU0QsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmNsYXNzID0gVklERU9fREVDT0RFX0NMQVNT LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5ndWNfY2xhc3MgPSBHVUNfVklERU9fQ0xBU1MsCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqAgLmluc3RhbmNlID0gMCwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAu bW1pb19iYXNlcyA9IHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsgLmdlbiA9IDEx LCAuYmFzZSA9IEdFTjExX0JTRF9SSU5HX0JBU0UgfSwKPj4+IEBAIC0xMjcsNiArMTMxLDcgQEAg c3RydWN0IGVuZ2luZV9pbmZvIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaHdfaWQgPSBWQ1My X0hXLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC51YWJpX2lkID0gSTkxNV9FWEVDX0JTRCwKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCAuY2xhc3MgPSBWSURFT19ERUNPREVfQ0xBU1MsCj4+PiArwqDC oMKgwqDCoMKgwqAgLmd1Y19jbGFzcyA9IEdVQ19WSURFT19DTEFTUywKPj4+IMKgwqDCoMKgwqDC oMKgwqDCoCAuaW5zdGFuY2UgPSAxLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5tbWlvX2Jhc2Vz ID0gewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyAuZ2VuID0gMTEsIC5iYXNlID0g R0VOMTFfQlNEMl9SSU5HX0JBU0UgfSwKPj4+IEBAIC0xMzcsNiArMTQyLDcgQEAgc3RydWN0IGVu Z2luZV9pbmZvIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaHdfaWQgPSBWQ1MzX0hXLAo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgIC51YWJpX2lkID0gSTkxNV9FWEVDX0JTRCwKPj4+IMKgwqDCoMKg wqDCoMKgwqDCoCAuY2xhc3MgPSBWSURFT19ERUNPREVfQ0xBU1MsCj4+PiArwqDCoMKgwqDCoMKg wqAgLmd1Y19jbGFzcyA9IEdVQ19WSURFT19DTEFTUywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAu aW5zdGFuY2UgPSAyLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5tbWlvX2Jhc2VzID0gewo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyAuZ2VuID0gMTEsIC5iYXNlID0gR0VOMTFfQlNE M19SSU5HX0JBU0UgfQo+Pj4gQEAgLTE0Niw2ICsxNTIsNyBAQCBzdHJ1Y3QgZW5naW5lX2luZm8g ewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5od19pZCA9IFZDUzRfSFcsCj4+PiDCoMKgwqDCoMKg wqDCoMKgwqAgLnVhYmlfaWQgPSBJOTE1X0VYRUNfQlNELAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg IC5jbGFzcyA9IFZJREVPX0RFQ09ERV9DTEFTUywKPj4+ICvCoMKgwqDCoMKgwqDCoCAuZ3VjX2Ns YXNzID0gR1VDX1ZJREVPX0NMQVNTLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pbnN0YW5jZSA9 IDMsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLm1taW9fYmFzZXMgPSB7Cj4+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB7IC5nZW4gPSAxMSwgLmJhc2UgPSBHRU4xMV9CU0Q0X1JJTkdfQkFT RSB9Cj4+PiBAQCAtMTU1LDYgKzE2Miw3IEBAIHN0cnVjdCBlbmdpbmVfaW5mbyB7Cj4+PiDCoMKg wqDCoMKgwqDCoMKgwqAgLmh3X2lkID0gVkVDU19IVywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAu dWFiaV9pZCA9IEk5MTVfRVhFQ19WRUJPWCwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuY2xhc3Mg PSBWSURFT19FTkhBTkNFTUVOVF9DTEFTUywKPj4+ICvCoMKgwqDCoMKgwqDCoCAuZ3VjX2NsYXNz ID0gR1VDX1ZJREVPRU5IQU5DRV9DTEFTUywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaW5zdGFu Y2UgPSAwLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5tbWlvX2Jhc2VzID0gewo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgeyAuZ2VuID0gMTEsIC5iYXNlID0gR0VOMTFfVkVCT1hfUklO R19CQVNFIH0sCj4+PiBAQCAtMTY1LDYgKzE3Myw3IEBAIHN0cnVjdCBlbmdpbmVfaW5mbyB7Cj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmh3X2lkID0gVkVDUzJfSFcsCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgLnVhYmlfaWQgPSBJOTE1X0VYRUNfVkVCT1gsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg LmNsYXNzID0gVklERU9fRU5IQU5DRU1FTlRfQ0xBU1MsCj4+PiArwqDCoMKgwqDCoMKgwqAgLmd1 Y19jbGFzcyA9IEdVQ19WSURFT0VOSEFOQ0VfQ0xBU1MsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg Lmluc3RhbmNlID0gMSwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAubW1pb19iYXNlcyA9IHsKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsgLmdlbiA9IDExLCAuYmFzZSA9IEdFTjExX1ZF Qk9YMl9SSU5HX0JBU0UgfQo+Pj4gQEAgLTI3Niw2ICsyODUsOSBAQCBzdGF0aWMgdm9pZCBfX3Nw cmludF9lbmdpbmVfbmFtZShjaGFyICpuYW1lLCAKPj4+IGNvbnN0IHN0cnVjdCBlbmdpbmVfaW5m byAqaW5mbykKPj4+IMKgwqDCoMKgwqAgaWYgKEdFTV9XQVJOX09OKGluZm8tPmNsYXNzID4gTUFY X0VOR0lORV9DTEFTUykpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+ PiDCoCArwqDCoMKgIGlmIChHRU1fV0FSTl9PTihpbmZvLT5ndWNfY2xhc3MgPj0gR1VDX01BWF9F TkdJTkVfQ0xBU1NFUykpCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+PiAr Cj4+PiDCoMKgwqDCoMKgIGlmIChHRU1fV0FSTl9PTihpbmZvLT5pbnN0YW5jZSA+IE1BWF9FTkdJ TkVfSU5TVEFOQ0UpKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+Pj4g wqAgQEAgLTI5MSw2ICszMDMsNyBAQCBzdGF0aWMgdm9pZCBfX3NwcmludF9lbmdpbmVfbmFtZShj aGFyICpuYW1lLCAKPj4+IGNvbnN0IHN0cnVjdCBlbmdpbmVfaW5mbyAqaW5mbykKPj4+IMKgwqDC oMKgwqAgZW5naW5lLT5pOTE1ID0gZGV2X3ByaXY7Cj4+PiDCoMKgwqDCoMKgIF9fc3ByaW50X2Vu Z2luZV9uYW1lKGVuZ2luZS0+bmFtZSwgaW5mbyk7Cj4+PiDCoMKgwqDCoMKgIGVuZ2luZS0+aHdf aWQgPSBlbmdpbmUtPmd1Y19pZCA9IGluZm8tPmh3X2lkOwo+Pj4gK8KgwqDCoCBlbmdpbmUtPmd1 Y19jbGFzcyA9IGluZm8tPmd1Y19jbGFzczsKPj4+IMKgwqDCoMKgwqAgZW5naW5lLT5tbWlvX2Jh c2UgPSBfX2VuZ2luZV9tbWlvX2Jhc2UoZGV2X3ByaXYsIAo+Pj4gaW5mby0+bW1pb19iYXNlcyk7 Cj4+PiDCoMKgwqDCoMKgIGVuZ2luZS0+Y2xhc3MgPSBpbmZvLT5jbGFzczsKPj4+IMKgwqDCoMKg wqAgZW5naW5lLT5pbnN0YW5jZSA9IGluZm8tPmluc3RhbmNlOwo+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lmLmggCj4+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Y19md2lmLmgKPj4+IGluZGV4IDk2M2RhOTEuLjViN2EwNWIgMTAwNjQ0 Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oCj4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oCj4+PiBAQCAtMzksNiArMzks MTMgQEAKPj4+IMKgICNkZWZpbmUgR1VDX1ZJREVPX0VOR0lORTLCoMKgwqDCoMKgwqDCoCA0Cj4+ PiDCoCAjZGVmaW5lIEdVQ19NQVhfRU5HSU5FU19OVU3CoMKgwqDCoMKgwqDCoCAoR1VDX1ZJREVP X0VOR0lORTIgKyAxKQo+Pj4gwqAgKyNkZWZpbmUgR1VDX1JFTkRFUl9DTEFTU8KgwqDCoCAwCj4+ PiArI2RlZmluZSBHVUNfVklERU9fQ0xBU1PCoMKgwqDCoMKgwqDCoCAxCj4+PiArI2RlZmluZSBH VUNfVklERU9FTkhBTkNFX0NMQVNTwqDCoMKgIDIKPj4+ICsjZGVmaW5lIEdVQ19CTElUVEVSX0NM QVNTwqDCoMKgIDMKPj4+ICsjZGVmaW5lIEdVQ19SRVNFUlZFRF9DTEFTU8KgwqDCoCA0Cj4+PiAr I2RlZmluZSBHVUNfTUFYX0VOR0lORV9DTEFTU0VTwqDCoMKgIChHVUNfUkVTRVJWRURfQ0xBU1Mg KyAxKQo+Pj4gKwo+Pj4gwqAgLyogV29yayBxdWV1ZSBpdGVtIGhlYWRlciBkZWZpbml0aW9ucyAq Lwo+Pj4gwqAgI2RlZmluZSBXUV9TVEFUVVNfQUNUSVZFwqDCoMKgwqDCoMKgwqAgMQo+Pj4gwqAg I2RlZmluZSBXUV9TVEFUVVNfU1VTUEVOREVEwqDCoMKgwqDCoMKgwqAgMgo+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIAo+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYwo+Pj4gaW5kZXggZjhjZWI5Yy4uZjRiOTk3MiAxMDA2NDQKPj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+Pj4gQEAgLTI0OSw3ICsyNDksMTUgQEAgc3RhdGlj IGlubGluZSBib29sIG5lZWRfcHJlZW1wdChjb25zdCBzdHJ1Y3QgCj4+PiBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSwKPj4+IMKgIMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBUT0RPOiBkZWNpZGUgd2hh dCB0byBkbyB3aXRoIFNXIGNvdW50ZXIgKGJpdHMgNTUtNjApICovCj4+PiDCoCAtwqDCoMKgwqDC oMKgwqAgZGVzYyB8PSAodTY0KWVuZ2luZS0+Y2xhc3MgPDwgR0VOMTFfRU5HSU5FX0NMQVNTX1NI SUZUOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIC8qCj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIEFsdGhv dWdoIEd1QyB3aWxsIG5ldmVyIHNlZSB0aGlzIHVwcGVyIHBhcnQgYXMgaXQgZmlsbHMKPj4+ICvC oMKgwqDCoMKgwqDCoMKgICogaXRzIG93biBkZXNjcmlwdG9yLCB1c2luZyB0aGUgZ3VjX2NsYXNz IGhlcmUgd2lsbCBoZWxwIGtlZXAKPj4+ICvCoMKgwqDCoMKgwqDCoMKgICogdGhlIGk5MTUgYW5k IGZpcm13YXJlIGxvZ3MgaW4gc3luYy4KPj4+ICvCoMKgwqDCoMKgwqDCoMKgICovCj4+PiArwqDC oMKgwqDCoMKgwqAgaWYgKEhBU19HVUNfU0NIRUQoY3R4LT5pOTE1KSkKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGRlc2MgfD0gKHU2NCllbmdpbmUtPmd1Y19jbGFzcyA8PCAKPj4+IEdFTjEx X0VOR0lORV9DTEFTU19TSElGVDsKPj4+ICvCoMKgwqDCoMKgwqDCoCBlbHNlCj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBkZXNjIHw9ICh1NjQpZW5naW5lLT5jbGFzcyA8PCBHRU4xMV9FTkdJ TkVfQ0xBU1NfU0hJRlQ7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogYml0cyA2MS02MyAqLwo+Pgo+PiBPQSBh bHNvIHVzZXMgdGhpcyB1cHBlciBwYXJ0IChzZWUgb2FfZ2V0X3JlbmRlcl9jdHhfaWQpLCBzbyBp dCdzIAo+PiBzb21ldGhpbmcgdG8gYmUgYXdhcmUgb2YuCj4+Cj4+IE15IG9waW5pb24gaXMgdGhh dCBpdCdzIHVzZWZ1bCB0byBoYXZlIHRoZSBscmNhIG1hdGNoaW5nIHRoZSBmaXJtd2FyZSAKPj4g bG9ncywgYnV0IE9BIHNob3VsZCBhY2NvdW50IG9mIHRoaXMgY2hhbmdlIGF0IGl0IHJlY2VpdmVz IHdoYXQgdGhlIGZ3IAo+PiBzZW50IHRvIHRoZSBody4gV2hpY2ggb25lIGlzIG1vcmUgaW1wb3J0 YW50IGlzIGZvciBvdGhlcnMgdG8gZGVjaWRlIAo+PiAocGx1cyBpdCBvbmx5IGJlY29tZXMgYSBw cm9ibGVtIHdoZW4gZW5naW5lLWNsYXNzIGFuZCBndWMtY2xhc3Mgc3RhcnQgCj4+IHRvIGRldmlh dGUpLgo+Pgo+PiBBY2tlZC1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVs LmNvbT4KPj4KPj4gLU1pY2hlbAo+Cj4KPiBJZiBHdUMgc3RpbGwgYmVoYXZlcyB0aGUgc2FtZSBh cyB0aGUgR2VuOSBmaXJtd2FyZSBJIHdhcyB0ZXN0aW5nIHdpdGgsIAo+IHBhcnRzIG9mIHRoZSB1 cHBlciAzMmJpdHMgb2YgdGhlIGRlc2NyaXB0b3Igd2lsbCBlbmQgdXAgaW4gSFcuCj4KPiBKdXN0 IG1ha2Ugc3VyZSBpOTE1X3BlcmYuYyBpcyBpbiBzeW5jIHdpdGggaW50ZWxfbHJjLmMgYW5kIGl0 IHNob3VsZCAKPiBiZSBmaW5lIDopCj4KVGVzdGVkIG9uIEtCTDsgd29ya3MgZmluZSBmb3IgYm90 aCBlbmFibGVfZ3VjPTIgYW5kIGVuYWJsZV9ndWM9My4KCi4vdGVzdHMvcGVyZiAtLXJ1bi1zdWJ0 ZXN0PWdlbjgtdW5wcml2aWxlZ2VkLXNpbmdsZS1jdHgtY291bnRlcnMKSUdULVZlcnNpb246IDEu MjItZzExZGI2ODAgKHg4Nl82NCkgKExpbnV4OiA0LjE5LjAtcmMxdGxpKyB4ODZfNjQpClN1YnRl c3QgZ2VuOC11bnByaXZpbGVnZWQtc2luZ2xlLWN0eC1jb3VudGVyczogU1VDQ0VTUyAoMCwwNThz KQoKLVRvbWFzego+Cj4+Cj4+Cj4+PiDCoMKgwqDCoMKgIH0gZWxzZSB7Cj4+PiDCoMKgwqDCoMKg wqDCoMKgwqAgR0VNX0JVR19PTihjdHgtPmh3X2lkID49IEJJVChHRU44X0NUWF9JRF9XSURUSCkp Owo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aCAKPj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4+PiBpbmRl eCAzZjY5MjBkLi5mNDcwMDlmIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKPj4+IEBAIC0zNTAsNyArMzUwLDkgQEAgc3RydWN0IGludGVsX2VuZ2luZV9j cyB7Cj4+PiDCoCDCoMKgwqDCoMKgIGVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+Pj4gwqDCoMKg wqDCoCB1bnNpZ25lZCBpbnQgaHdfaWQ7Cj4+PiArCj4+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGlu dCBndWNfaWQ7Cj4+PiArwqDCoMKgIHU4IGd1Y19jbGFzczsKPj4+IMKgIMKgwqDCoMKgwqAgdTgg dWFiaV9pZDsKPj4+IMKgwqDCoMKgwqAgdTggdWFiaV9jbGFzczsKPj4+Cj4+Cj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=