From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH v2 0/7] Make GEN macros more similar Date: Mon, 26 Nov 2018 10:46:57 -0800 Message-ID: <20181126184657.GD2683@intel.com> References: <20181106215123.27568-1-lucas.demarchi@intel.com> <6d6d46ec-5f0f-78eb-295c-7926e4b068d2@linux.intel.com> <20181108005727.GB2885@ldmartin-desk.jf.intel.com> <20181119222054.GB9928@ldmartin-desk.jf.intel.com> <20181121221919.GF13148@intel.com> <92766e53-954c-9bd0-1736-2be115826c2b@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id ADD7889D5B for ; Mon, 26 Nov 2018 18:46:57 +0000 (UTC) Content-Disposition: inline In-Reply-To: <92766e53-954c-9bd0-1736-2be115826c2b@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMjIsIDIwMTggYXQgMDg6NTQ6MzBBTSArMDAwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gCj4gCj4gT24gMjEvMTEvMjAxOCAyMjoxOSwgUm9kcmlnbyBWaXZpIHdyb3RlOgo+ ID4gT24gTW9uLCBOb3YgMTksIDIwMTggYXQgMDI6MjA6NTVQTSAtMDgwMCwgTHVjYXMgRGUgTWFy Y2hpIHdyb3RlOgo+ID4gPiBPbiBUaHUsIE5vdiAwOCwgMjAxOCBhdCAxMToyMzo0NkFNICswMDAw LCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPiA+ID4gPiAKPiA+ID4gPiBPbiAwOC8xMS8yMDE4IDAw OjU3LCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6Cj4gPiA+ID4gPiBPbiBXZWQsIE5vdiAwNywgMjAx OCBhdCAxMDowNToxOUFNICswMDAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPiA+ID4gPiA+ID4g Cj4gPiA+ID4gPiA+IE9uIDA2LzExLzIwMTggMjE6NTEsIEx1Y2FzIERlIE1hcmNoaSB3cm90ZToK PiA+ID4gPiA+ID4gPiBUaGlzIGlzIHRoZSBzZWNvbmQgdmVyc2lvbiBvZiB0aGUgc2VyaWVzIHRy eWluZyB0byBtYWtlIEdFTiBjaGVja3MKPiA+ID4gPiA+ID4gPiBtb3JlIHNpbWlsYXIuIFRoZXNl IG9yIHJvdWdobHkgdGhlIGNoYW5nZXMgZnJvbSB2MToKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiAtIFdlIGRvbid0IGhhdmUgYSBzaW5nbGUgbWFjcm8gcmVjZWl2aW5nIDIgb3IgMyBwYXJh bWV0ZXJzLiBOb3cgdGhlcmUKPiA+ID4gPiA+ID4gPiAgICAgIGlzIEdUX0dFTl9SQU5HRSgpLCBh bmQgR1RfR0VOKCkuIFRoZSBmaXJzIGlzIHRoZSBjb252ZXJzaW9uIGZyb20KPiA+ID4gPiA+ID4g PiAgICAgIElTX0dFTigpIHdoaWxlIHRoZSBzZWNvbmQgaXMgdGhlIGNvbnZlcnNpb24gZnJvbSBJ U19HRU48Tj4oKQo+ID4gPiA+ID4gPiA+IC0gQnJpbmcgR0VOX0ZPUkVWRVIgYmFjayB0byBiZSB1 c2VkIHdpdGggYWJvdmUgbWFjcm9zCj4gPiA+ID4gPiA+ID4gLSBQYXRjaCBjb252ZXJ0aW5nIDws IDw9LCA9PSwgPiwgPj0gIGNoZWNrcyB1c2luZyBJTlRFTF9HRU4oKSB0bwo+ID4gPiA+ID4gPiA+ ICAgICAgdXNlIHRoZSBtYWNyb3MgYWJvdmUgd2FzIGFkZGVkCj4gPiA+ID4gPiA+ID4gLSBJTlRF TF9HRU4oKSBpcyByZW1vdmVkIHRvIGF2b2lkIGl0IGJlaW5nIHVzZWQgd2hlbiB3ZSBzaG91bGQg cHJlZmVyCj4gPiA+ID4gPiA+ID4gICAgICB0aGUgbmV3IG1hY3Jvcwo+ID4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiA+IFRoZSBpZGVhIG9mIHRoZSBuYW1lcyBpcyB0byBwYXZlIHRoZSB3YXkgZm9y IGNoZWNrcyBvZiB0aGUgZGlzcGxheSB2ZXJzaW9uLAo+ID4gPiA+ID4gPiA+IHdoaWNoIHdvdWxk IGJlIG5hbWVkIERJU1BMQVlfR0VOKCksIERJU1BMQVlfR0VOX1JBTkdFKCkuCj4gPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ID4gSW4gdGhlIGNvbW1pdCBtZXNzYWdlcyB3ZSBoYXZlIHRoZSBzY3Jp cHRzIHRvIHJlZ2VuZXJhdGUgdGhlIHBhdGNoIHRvIG1ha2UKPiA+ID4gPiA+ID4gPiBpdCBlYXNp ZXIgdG8gYXBwbHkgYWZ0ZXIgdGhlIGRpc2N1c3Npb25zIGFuZCBhbHNvIHRvIGJlIGFibGUgdG8g Y29udmVydAo+ID4gPiA+ID4gPiA+IGluZmxpZ2h0IHBhdGNoZXMuCj4gPiA+ID4gPiA+ID4gCj4g PiA+ID4gPiA+ID4gU29ycnkgaW4gYWR2YW5jZSBmb3IgdGhlIG5vaXNlIHRoaXMgY2F1c2VzIGlu IHRoZSBjb2RlYmFzZSwgYnV0IGhvcGVmdWxseQo+ID4gPiA+ID4gPiA+IGl0IGlzIGZvciB0aGUg Z3JlYXRlciBnb29kLgo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ IEx1Y2FzIERlIE1hcmNoaSAoNik6Cj4gPiA+ID4gPiA+ID4gICAgICBSZXZlcnQgImRybS9pOTE1 OiBLaWxsIEdFTl9GT1JFVkVSIgo+ID4gPiA+ID4gPiA+ICAgICAgZHJtL2k5MTU6IHJlcGxhY2Ug SVNfR0VOPE4+IHdpdGggR1RfR0VOKC4uLiwgTikKPiA+ID4gPiA+ID4gPiAgICAgIGRybS9pOTE1 OiByZW5hbWUgSVNfR0VOOV8qIHRvIEdUX0dFTjlfKgo+ID4gPiA+ID4gPiA+ICAgICAgZHJtL2k5 MTU6IHJlcGxhY2UgZ2VuIGNoZWNrcyB1c2luZyBvcGVyYXRvcnMgYnkgR1RfR0VOL0dUX0dFTl9S QU5HRQo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gSSBoYXZlIHJlc2VydmF0aW9ucyBhYm91dCB0 aGlzIHBhdGNoLCB3aGVyZSBJIHRoaW5rIGZvcmNpbmcgb25seSBvbmUgZmxhdm91cgo+ID4gPiA+ ID4gPiBtYXliZSBpcyBub3QgdGhlIGJlc3QgdGhpbmcuIEJlY2F1c2UgZm9yIHBsYWluIGlmLWxh ZGRlciBjYXNlcyBpdCBmZWVscyBtb3JlCj4gPiA+ID4gPiA+IHJlYWRhYmxlIHRvIHN0aWNrIHdp dGggdGhlIGN1cnJlbnQgc2NoZW1lIG9mIGFyaXRobWV0aWMgY29tcGFyaXNvbnMuIEFuZCBpdAo+ ID4gPiA+ID4gPiBpcyBtb3JlIGVmZmljaWVudCBpbiBjb2RlIGFzIHdlbGwuCj4gPiA+ID4gPiA+ IAo+ID4gPiA+ID4gPiBSYW5nZSBjaGVja3MgYXJlIG9uIHRoZSBvdGhlciBoYW5kIHVzZWZ1bCBl aXRoZXIgd2hlbiBjb21iaW5lZCBpbiB0aGUgc2FtZQo+ID4gPiA+ID4gPiBjb25kaXRpb25hbCBh cyBzb21lIG90aGVyIGJpdG1hc2sgYmFzZWQgdGVzdCwgb3Igd2hlbiBib3RoIGVuZHMgb2YgdGhl Cj4gPiA+ID4gPiA+IGNvbXBhcmlzb24gZWRnZSBhcmUgYm91bmQuCj4gPiA+ID4gPiAKPiA+ID4g PiA+IFNvIGFyZSB5b3UgYWdhaW5zdCBjaGFuZ2luZyB0aGUgPT0gdG8gdXNlIHRoZSBtYWNyb3Ms IGNoYW5naW5nIHRoZSA+PSwgPiwgPCwgPD0sCj4gPiA+ID4gPiBvciBhbGwgb2YgdGhlbT8KPiA+ ID4gPiAKPiA+ID4gPiBEZWZpbml0ZWx5IG5vdCBhbGwgb2YgdGhlbS4gSnVzdCBwbGFpbiBpZiBs YWRkZXJzIEkgdGhpbmsgYXJlIGRlZmluaXRlbHkKPiA+ID4gPiBtb3JlIHJlYWRhYmxlIGluIHNv dXJjZSBhbmQgcmVzdWx0IGluIGJldHRlciBjb2RlIGluIHRoZSBub3JtYWwgZmFzaGlvbiBvZjoK PiA+ID4gPiAKPiA+ID4gPiAgICAgaWYgKGdlbiA+PSAxMSkKPiA+ID4gPiAgICAgZWxzZSBpZiAo Z2VuID49IDkpCj4gPiA+ID4gICAgIGVsc2UgaWYgKGdlbiA+PSA3KQo+ID4gPiA+ICAgICAuLi4g ZXRjIC4uLgo+ID4gPiA+IAo+ID4gPiA+IFdoZXJlIEkgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgaXMg d2hlbiBlaXRoZXIgYm90aCBlZGdlcyBhcmUgYm91bmQsIGxpa2U6Cj4gPiA+ID4gCj4gPiA+ID4g ICAgaWYgKGdlbiA8IDExIHx8IGdlbiA+PSA4KQo+ID4gPiA+ICAgIGlmIChnZW4gPj0gMTAgfHwg Z2VuID09IDgpCj4gPiA+IAo+ID4gPiBvaywgSSB3aWxsIHRha2UgYSBsb29rIGJlZm9yZSByZXNw aW5uaW5nIHRoaXMuCj4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IEJ1dCBub3Qgc3VyZSBob3cgbWFu eSBvZiB0aG9zZSB0aGVyZSBhcmUuCj4gPiA+ID4gCj4gPiA+ID4gV2hhdCBkZWZpbml0ZWx5IGV4 aXN0cyBpbiBsYXJnZS1pc2ggbnVtYmVycyBhcmU6Cj4gPiAKPiA+IHNwZWNpYWxseSBvbiBkaXNw bGF5IHNpZGUuLi4KPiA+IAo+ID4gPiA+IAo+ID4gPiA+ICAgICBpZiAoZ2VuID49IDExIHx8ICBJ U19QTEFURk9STSkKPiA+IAo+ID4gTXkgZ29hbCBpcyBleGFjdGx5IHRvIG9yZ2FuaXplIHRoZSBn ZW4gbnVtYmVycyBpbiBhIHdheSB0aGF0Cj4gPiB3ZSBtaW5pbWl6ZSB0aGlzIG1peCBhcyBtdWNo IGFzIHBvc3NpYmxlLgo+ID4gCj4gPiA+ID4gCj4gPiA+ID4gQXQgc29tZSBwb2ludCBJIGhhZCBh IHByb3RvdHlwZSB3aGljaCBwdXRzIHRoZSBnZW4gYW5kIHBsYXRmb3JtIG1hc2tzIGludG8gYQo+ ID4gPiA+IGJhZyBvZiBiaXRzIGFuZCB0aGVuLCBkZXBlbmRpbmcgb24gYml0cyBsb2NhbGl0eSwg dGhpcyB0b28gY2FuIGJlIGNvbXByZXNzZWQKPiA+ID4gPiB0byBhIHNpbmdsZSBiaXRtYXNrIHRl c3QuIEhvd2V2ZXIgSSBmZWx0IHRoYXQgd2FzIGdvaW5nIHRvbyBmYXIsIGFuZCB0aGUKPiA+ID4g PiBpc3N1ZSBpcyBhY2hpZXZpbmcgaW50ZXJlc3RpbmcgYml0cyBsb2NhbGl0eSBmb3IgaXQgdG9v IHdvcmsuIEJ1dCBJIGRpZ3Jlc3MuCj4gPiA+ID4gCj4gPiA+ID4gPiBMb29raW5nIGF0IHRoZSBj aGFuZ2VzIHRvID09LCB0aGV5IHNlZW0gdmVyeSByZWFzb25hYmxlIGFuZCBpbiBhIGZldyBjYXNl cyBpdCBhbGxvd2VkCj4gPiA+ID4gPiB0aGUgbmV4dCBwYXRjaCB0byBtZXJnZSB0aGVtIGluIGEg R1RfR0VOX1JBTkdFKCkgLS0geWVzIHRoZSBwYXRjaCBvcmRlcmluZyB3YXMgb24KPiA+ID4gPiA+ IHB1cnBvc2UgdG8gYWxsb3cgdGhhdC4KPiA+ID4gPiAKPiA+ID4gPiBZZXAgdGhvc2UgYXJlIHRo ZSBnb29kIG9uZXMuCj4gPiA+ID4gCj4gPiA+ID4gPiBUaGUgb3RoZXJzIGFyZSBpbmRlZWQgZGVi YXRhYmxlLiBIb3dldmVyIElNTyBmb3IgdGhlIGNhc2VzIGl0IG1ha2VzIHNlbnNlLAo+ID4gPiA+ ID4gdGhlcmUncyBhbHdheXMgdGhlIGZhbGxiYWNrCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGlmIChk ZXZfcHJpdi0+aW5mby5nZW4gPT0gMTApCj4gPiA+ID4gPiAgICAgICAuLi4KPiA+ID4gPiA+IGVs c2UgaWYgKGRldl9wcml2LT5pbmZvLmdlbiA9PSAxMSkKPiA+ID4gPiA+ICAgICAgIC4uLgo+ID4g PiA+ID4gZWxzZSBpZiAoZGV2X3ByaXYtPmluZm8uZ2VuIDwgNSkKPiA+ID4gPiA+ICAgICAgIC4u Lgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBXZSBjYW4gZ28gb24gYSBjYXNlIGJ5IGNhc2UgbWFubmVy IGluIHRoaXMgcGF0Y2ggcmF0aGVyIHRoYW4gdGhlIG1hc3MgY29udmVyc2lvbgo+ID4gPiA+ID4g Zm9yIHRoZXNlLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ICAgICAgZHJt L2k5MTU6IG1lcmdlIGdlbiBjaGVja3MgdG8gdXNlIHJhbmdlCj4gPiA+ID4gPiA+ID4gICAgICBk cm0vaTkxNTogcmVtb3ZlIElOVEVMX0dFTiBtYWNybwo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g SSBoYXZlIHJlc2VydmF0aW9ucyBhYm91dCB0aGlzIGFzIGFzIHdlbGwsIGVzcGVjaWFsbHkgY29u c2lkZXJpbmcgdGhlCj4gPiA+ID4gPiA+IHByZXZpb3VzIHBhcmFncmFwaC4gQnV0IGV2ZW4gb24g aXQncyBvd24gSSBhbSBub3Qgc3VyZSB3ZSB3YW50IHRvIGdvIGJhY2sgdG8KPiA+ID4gPiA+ID4g bW9yZSB2ZXJib3NlLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBzZWUgYWJvdmUuIElNTyBpdCdzIG5v dCBhY3R1YWxseSBzbyB2ZXJib3NlIGFzIG9uZSB3b3VsZCB0aGluay4KPiA+ID4gPiA+IAo+ID4g PiA+ID4gICAgICAgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gMTEpCj4gPiA+ID4gPiAgICAg ICB2cwo+ID4gPiA+ID4gICAgICAgaWYgKGRldl9wcml2LT5pbmZvLmdlbiA9PSAxMSkKPiA+ID4g PiAKPiA+ID4gPiBJIHRoaW5rIGl0IHNob3VsZCBiZToKPiA+ID4gPiAKPiA+ID4gPiAgICAgICAg IGlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID09IDExKQo+ID4gPiA+IAo+ID4gPiA+IFdo aWNoIGlzIGEgdGlueSBiaXQgbG9uZ2VyLi4KPiA+ID4gCj4gPiA+IElmIGl0J3MgbG9uZ2VyLCB3 aHkgYm90aGVyPyBXZSBjb3VsZCBqdXN0IGFzIHdlbGwgZG8gZm9yIHRoZSBpZiBsYWRkZXJzOgo+ ID4gPiAKPiA+ID4gZ2VuID0gZGV2X3ByaXYtPmluZm8uZ2VuOwo+ID4gPiBvcgo+ID4gPiBnZW4g PSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuCj4gPiA+IAo+ID4gPiBJbiB5b3VyIG90aGVyIHNl cmllcyB5b3Ugd291bGQgYmUgbW92aW5nIGdlbiB0byBhIHJ1bnRpbWUgaW5mbywgc28gdGhpcwo+ ID4gPiB3b3VsZCBjYXVzZSB0aGUgc2FtZSBhbW91bnQgb2YgY2h1cm4gKGFsdGhvdWdoIEkgZGlz YWdyZWUgd2l0aCBtb3ZpbmcgZ2VuIHRvIGEgcnVudGltZQo+ID4gPiBpbmZvIGp1c3QgYmVjYXVz ZSBvZiB0aGUgbW9jayBzdHJ1Y3QpLgo+ID4gPiAKPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gPiBU aGUgInZlcmJvc2UiIHZlcnNpb24gaXMgYWN0dWFsbHkgb25lIGNoYXJhY3RlciBsZXNzIGFuZCBv bmUgbG9va3VwIGxlc3MKPiA+ID4gPiA+IHRvIHdoYXQgdGhlIG1hY3JvIGlzIGRvaW5nIHVuZGVy bmVhdGguIE9mIGNvdXJzZSB0aGF0IG1lYW5zIGEgbG90IG9mIGNodXJuCj4gPiA+ID4gPiB0byB0 aGUgY29kZWJhc2Ugd2hlbi9pZiB3ZSBjaGFuZ2Ugd2hlcmUgdGhlIGdlbiBudW1iZXIgaXMgbG9j YXRlZCwgYnV0IHRoYXQKPiA+ID4gPiA+IG51bWJlciBpcyBhdCB0aGUgc2FtZSBwbGFjZSBzaW5j ZSBpdHMgaW50cm9kdWN0aW9uIGluIDIwMTAKPiA+ID4gPiA+IChjb21taXQgYzk2YzNhOGNiN2Zh ZGNiMzNkOWE1ZWJlMzVmY2VlOGI3ZDBhNzk0NikKPiA+ID4gPiAKPiA+ID4gPiBJIGFtIHByZXR0 eSBzdXJlIHdlIHdlbnQgdGhyb3VnaCBwYXRjaGVzIHRvIGEpIG1vdmUgdG93YXJkcyBJTlRFTF9J TkZPIGFuZAo+ID4gPiA+IGIpIHJlcGxhY2UgSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiB3aXRo IElOVEVMX0dFTi4gU28gSSBkb24ndCBzZWUgYW4KPiA+ID4gPiBhZHZhbnRhZ2Ugb2YgcmV2ZXJ0 aW5nIHRoYXQsIGp1c3Qgc28gdGhhdCB3ZSBjYW4gbG9zZSB0aGUgSVNfIHByZWZpeCBiZWxvdy4K PiA+ID4gPiAKPiA+ID4gPiA+ID4gUGVyaGFwcyBpbiB0aGUgbmV3IHNjaGVtZSBvZiB0aGluZ3Mg aXQgc2hvdWxkIGJlIHJlbmFtZWQgdG8gSU5URUxfR1RfR0VOPyBJCj4gPiA+ID4gPiA+IGtub3cg aXQgZG9lc24ndCBmaXQgbmljZWx5IHdpdGggdGhlIG5hbWluZyBzY2hlbWUgb2YgR1QvRElTUExB WV9HRU4uLiBzbwo+ID4gPiA+ID4gPiBtYXliZToKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEdU X0dFTiAtPiBJU19HVF9HRU4KPiA+ID4gPiA+ID4gR1RfR0VOX1JBTkdFIC0+IElTX0dUX0dFTl9S QU5HRQo+ID4gPiA+ID4gPiBJTlRFTF9HRU4gLT4gR1RfR0VOIChidXQgY2h1cm4hPykKPiA+ID4g PiA+IAo+ID4gPiA+ID4gSSBzdGlsbCB0aGluayBJTlRFTF9HRU4oKSBpcyBub3QgYnJpbmdpbmcg bXVjaCBjbGFyaXR5IGFuZCBmb3JjaW5nCj4gPiA+ID4gPiB0aGUgb3RoZXIgbWFjcm9zIHRvIGhh dmUgdGhlIElTXyBwcmVmaXguCj4gPiA+ID4gCj4gPiA+ID4gSXMgdGhlIElTXyBwcmVmaXggdGhh dCBiYWQ/Cj4gPiAKPiA+IEkgcGVyc29uYWxseSBkb24ndCBsaWtlIGl0Li4uIGJ1dCBtYXliZSBp dCBpcyBqdXN0IG15IGJhZCBlbmdsaXNoPyEKPiA+IAo+ID4gMS4gaWYgZ2VuIDkKPiA+IDIuIGlm IGlzIGdlbiA5Cj4gPiAzLiBpZiB0aGlzIGlzIGEgZ2VuIDkgcGxhdGZvcm0KPiA+IAo+ID4gSSBs aWtlIG1vcmUgdGhlIG9wdGlvbiAxLi4uCj4gPiAKPiA+ID4gPiAKPiA+ID4gPiBJIGFncmVlIG15 IGlkZWEgZG9lcyBub3QgZGVjcmVhc2UgdGhlIGFtb3VudCBvZiBjaHVybiwgc2luY2UgaXQgc2Fp ZCB0bwo+ID4gPiA+IHJlcGxhY2UgSU5URUxfR0VOIHdpdGggSU5URUxfR1RfR0VOLiBCdXQgaW4g dGhlIGxpZ2h0IG9mIHRoZSBHVC9ESVNQTEFZCj4gPiA+ID4gc3BsaXQsIGFuZCBpZiB3ZSBhZ3Jl ZSB0byBsZWF2ZSBhIGxvdCBvZiB0aGUgYXJpdGhtZXRpYyBjb21wYXJpc29uIGluCj4gPiA+ID4g KGRpYWxpbmcgZG93biBvZiAiZHJtL2k5MTU6IHJlcGxhY2UgZ2VuIGNoZWNrcyB1c2luZyBvcGVy YXRvcnMgYnkKPiA+ID4gPiBHVF9HRU4vR1RfR0VOX1JBTkdFIiksIHRoZW4gaXQgZmVlbHMgZ29p bmcgYmFjayB0byBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuCj4gPiA+ID4gdGhyb3VnaG91dCB0 aGUgY29kZSBpcyB1bmRvaW5nIHNvbWUgd29yaywganVzdCBzbyB5b3UgY2FuIHJlbW92ZSB0aGUK PiA+ID4gPiBJTlRFTF9HRU4gbWFjcm8gaW5zdGVhZCBvZiByZW5hbWluZyBpdCBJTlRFTF9HVF9H RU4uCj4gPiA+ID4gCj4gPiA+ID4gRG9uJ3Qga25vdywgaXQncyBteSBvcGluaW9uIGF0IGxlYXN0 IGFuZCBtb3JlIHBlb3BsZSBhcmUgd2VsY29tZSB0byBjaGltZSBpbgo+ID4gPiA+IHdpdGggdGhl aXJzLgo+ID4gPiAKPiA+ID4gQW55IG90aGVycyB0byBjaGltZSBpbiBvbiB0aGlzPyBKYW5pLCBW aWxsZSwgUm9kcmlnbz8KPiA+IAo+ID4gSSBkb24ndCBsaWtlIG1peGVkIHN0eWxlcyBtdWNoLiBJ ZiB3ZSBkb24ndCBraWxsIHRoZSBtYWNybyB3ZSB3aWxsIGNvbnRpbnVlCj4gPiBoYXZpbmcgbWl4 ZWQgY2FzZXMuCj4gPiAKPiA+IFNvIEknbSBpbiBmYXZvciBvZiB0aGUgYXBwcm9hY2ggb2YgdGhp cyBzZXJpZXMgaGVyZS4KPiAKPiBJbmNsdWRpbmcgdGhlIHJlbW92YWwgb2YgSU5URUxfR0VOIG1h Y3JvPyBPciB3aGF0IGRvIHlvdSBwcm9wb3NlIGZvciB0aGF0Cj4gb25lPyBDYW4ndCBiZSBjYWxs ZWQgR1RfR0VOIG5vdyBzaW5jZSB0aGF0IGhhcyBiZWVuIHVzZWQgdXAuLi4KClllcywgaW5jbHVk aW5nIHRoZSByZW1vdmFsIG9mIElOVEVMX0dFTiBtYWNyby4KCkkgZG9uJ3QgbGlrZSB0aGUgbWl4 ZWQgc3R5bGVzIGxpa2UgdXNpbmcgSU5URUxfR0VOKGQpID4gNyBpbiBvbmUgcGxhY2UKYW5kIElO VEVMX0dFTl9SQU5HRShkLCA3LCBGT1JFVkVSKSBpbiBhbm90aGVyIHBsYWNlLgoKVGhlIG1lYW5p bmcgaXMgdGhlIHNhbWUgc28gd2Ugc2hvdWxkIHN0aWNrIHdpdGggb25lIG9mIHRoZSB1c2FnZXMu CgpJIHNlZSB0aGF0IHRoZXJlIHdlcmUgbWFueSBjYXNlcyB3aGVyZSBoYXZpbmcgdGhlIGluZm8t PmdlbiBudW1iZXIKZGlyZWN0bHkgaXMgdXNlZnVsLiBCdXQgSSdkIHByZWZlciB0byB1c2UgdGhh dCBvbiBhIGRpcmVjdCBmYXNoaW9uCnJhdGhlciB0aGFuIGtlZXBpbmcgdGhpcyBtYWNyby4KCkJl Y2F1c2UgaWYgd2Uga2VlcCB0aGUgbWFjcm8gZGV2ZWxvcGVycyB3aWxsIGV2ZW50dWFsbHkgZW5k IHVwCmFkZGluZyB0aGUgbWl4ZWQgc3R5bGUgYmFjay4KClVzaW5nIGRpcmVjdCBpbmZvLT5nZW4g YXMgTHVjYXMgYWxyZWFkeSBzaG93ZWQgaGFzIGFsbW9zdCBzYW1lIG51bWJlcgpvZiBjaGFycyB0 aGFuIHRoZSBtYWNybywgYnV0IHJlcXVpcmVzIG1vcmUgYXR0ZW50aW9uIHdoYXQgaXMgYSBnb29k CnRoaW5nLgoKPiAKPiBSZWdhcmRzLAo+IAo+IFR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK