From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Kristian_H=C3=B8gsberg?= Subject: Re: [Mesa-dev] [PATCH v4 1/2] intel: 48b ppgtt support (EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag) Date: Wed, 18 Nov 2015 14:53:07 -0800 Message-ID: References: <1441290239-31462-1-git-send-email-michel.thierry@intel.com> <1441290239-31462-2-git-send-email-michel.thierry@intel.com> <20150914135403.GA8219@mwiniars-desk1.igk.intel.com> <56128342.2070407@intel.com> <5613C8DB.9090403@intel.com> <561CF60B.7080507@intel.com> <561D1B6D.6080608@intel.com> <20151014071947.GT26718@phenom.ffwll.local> <561E4675.3050004@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <561E4675.3050004@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Michel Thierry Cc: Emil Velikov , dri-devel , mesa-dev List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBPY3QgMTQsIDIwMTUgYXQgNToxMSBBTSwgTWljaGVsIFRoaWVycnkKPG1pY2hlbC50 aGllcnJ5QGludGVsLmNvbT4gd3JvdGU6Cj4gT24gMTAvMTQvMjAxNSA4OjE5IEFNLCBEYW5pZWwg VmV0dGVyIHdyb3RlOgo+Pgo+PiBPbiBUdWUsIE9jdCAxMywgMjAxNSBhdCAwMjo1MTozNlBNIC0w NzAwLCBLcmlzdGlhbiBIw7hnc2Jlcmcgd3JvdGU6Cj4+Pgo+Pj4gT24gVHVlLCBPY3QgMTMsIDIw MTUgYXQgNzo1NSBBTSwgTWljaGVsIFRoaWVycnkKPj4+IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5j b20+IHdyb3RlOgo+Pj4+Cj4+Pj4gT24gMTAvMTMvMjAxNSAzOjEzIFBNLCBFbWlsIFZlbGlrb3Yg d3JvdGU6Cj4+Pj4+Cj4+Pj4+Cj4+Pj4+IE9uIDEzIE9jdG9iZXIgMjAxNSBhdCAxMzoxNiwgTWlj aGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KPj4+Pj4gd3JvdGU6Cj4+Pj4+ Pgo+Pj4+Pj4KPj4+Pj4+IE9uIDEwLzYvMjAxNSAyOjEyIFBNLCBNaWNoZWwgVGhpZXJyeSB3cm90 ZToKPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4KPj4+Pj4+PiBPbiAxMC81LzIwMTUgNzowNiBQTSwg S3Jpc3RpYW4gSMO4Z3NiZXJnIHdyb3RlOgo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiBPbiBNb24sIE9jdCA1LCAyMDE1IGF0IDc6MDMgQU0sIE1pY2hlbCBUaGllcnJ5Cj4+Pj4+ Pj4+IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+IHdyb3RlOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gT24gOS8xNC8yMDE1IDI6NTQgUE0sIE1pY2hhxYIgV2luaWFy c2tpIHdyb3RlOgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4gT24gVGh1LCBTZXAgMDMsIDIwMTUgYXQgMDM6MjM6NThQTSArMDEwMCwgTWljaGVs IFRoaWVycnkgd3JvdGU6Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IEdlbjgrIHN1cHBvcnRzIDQ4LWJpdCB2aXJ0dWFsIGFkZHJlc3Nl cywgYnV0IHNvbWUgb2JqZWN0cyBtdXN0Cj4+Pj4+Pj4+Pj4+IGFsd2F5cyBiZQo+Pj4+Pj4+Pj4+ PiBhbGxvY2F0ZWQgaW5zaWRlIHRoZSAzMi1iaXQgYWRkcmVzcyByYW5nZS4KPj4+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+Pj4gSW4gc3BlY2lmaWMsIGFueSByZXNvdXJjZSB1c2VkIHdpdGggZmxhdC9oZWFw bGVzcwo+Pj4+Pj4+Pj4+PiAoMHgwMDAwMDAwMC0weGZmZmZmMDAwKQo+Pj4+Pj4+Pj4+PiBHZW5l cmFsIFN0YXRlIEhlYXAgKEdTSCkgb3IgSW5zdHJ1Y3Rpb24gU3RhdGUgSGVhcCAoSVNIKSBtdXN0 IGJlCj4+Pj4+Pj4+Pj4+IGluCj4+Pj4+Pj4+Pj4+IGEKPj4+Pj4+Pj4+Pj4gMzItYml0IHJhbmdl LCBiZWNhdXNlIHRoZSBHZW5lcmFsIFN0YXRlIE9mZnNldCBhbmQgSW5zdHJ1Y3Rpb24KPj4+Pj4+ Pj4+Pj4gU3RhdGUKPj4+Pj4+Pj4+Pj4gT2Zmc2V0Cj4+Pj4+Pj4+Pj4+IGFyZSBsaW1pdGVkIHRv IDMyLWJpdHMuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IFRoZSBpOTE1IGRyaXZlciBoYXMgYmVl biBtb2RpZmllZCB0byBwcm92aWRlIGEgZmxhZyB0byBzZXQgd2hlbgo+Pj4+Pj4+Pj4+PiB0aGUK Pj4+Pj4+Pj4+Pj4gNEdCCj4+Pj4+Pj4+Pj4+IGxpbWl0IGlzIG5vdCBuZWNlc3NhcnkgaW4gYSBn aXZlbiBibwo+Pj4+Pj4+Pj4+PiAoRVhFQ19PQkpFQ1RfU1VQUE9SVFNfNDhCX0FERFJFU1MpLgo+ Pj4+Pj4+Pj4+PiA0OC1iaXQgcmFuZ2Ugd2lsbCBvbmx5IGJlIHVzZWQgd2hlbiBleHBsaWNpdGx5 IHJlcXVlc3RlZC4KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gQ2FsbGVycyB0byB0aGUgZXhpc3Rp bmcgZHJtX2ludGVsX2JvX2VtaXRfcmVsb2MgZnVuY3Rpb24gc2hvdWxkCj4+Pj4+Pj4+Pj4+IHNl dAo+Pj4+Pj4+Pj4+PiB0aGUKPj4+Pj4+Pj4+Pj4gdXNlXzQ4Yl9hZGRyZXNzX3JhbmdlIGZsYWcg YmVmb3JlaGFuZCwgaW4gb3JkZXIgdG8gdXNlIGZ1bGwgcHBndHQKPj4+Pj4+Pj4+Pj4gcmFuZ2Uu Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IHYyOiBNYWtlIHNldC9jbGVhciBmdW5jdGlvbnMgbm9w cyBvbiBwcmUtZ2VuOCBwbGF0Zm9ybXMsIGFuZCB1c2UKPj4+Pj4+Pj4+Pj4gdGhlbQo+Pj4+Pj4+ Pj4+PiAgICAgICAgIGludGVybmFsbHkgaW4gZW1pdF9yZWxvYyBmdW5jdGlvbnMgKEJlbikKPj4+ Pj4+Pj4+Pj4gICAgICAgICBzLzQ4QkFERFJFU1MvNDhCX0FERFJFU1MvIChEYXZlKQo+Pj4+Pj4+ Pj4+PiB2MzogS2VlcCBzZXQvY2xlYXIgZnVuY3Rpb25zIGludGVybmFsLCBuby1vbmUgbmVlZHMg dG8gdXNlIHRoZW0KPj4+Pj4+Pj4+Pj4gZGlyZWN0bHkuCj4+Pj4+Pj4+Pj4+IHY0OiBEb24ndCBz ZXQgNDhiaXQtc3VwcG9ydCBmbGFnIGluIGVtaXQgcmVsb2MsIGNoZWNrIGZvciBwcGd0dAo+Pj4+ Pj4+Pj4+PiB0eXBlCj4+Pj4+Pj4+Pj4+ICAgICAgICAgYmVmb3JlIGVuYWJsaW5nIHNldC9jbGVh ciBmdW5jdGlvbiwgcHJpbnQgZnVsbCBvZmZzZXRzIGluCj4+Pj4+Pj4+Pj4+IGRlYnVnCj4+Pj4+ Pj4+Pj4+ICAgICAgICAgc3RhdGVtZW50cywgdXNpbmcgcG9ydCBvZiBsb3dlcl8zMl9iaXRzIGFu ZCB1cHBlcl8zMl9iaXRzCj4+Pj4+Pj4+Pj4+IGZyb20gbGludXgKPj4+Pj4+Pj4+Pj4gICAgICAg ICBrZXJuZWwgKE1pY2hhxYIpCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IFJlZmVyZW5jZXM6Cj4+ Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvYXJjaGl2ZXMvaW50ZWwtZ2Z4LzIwMTUtSnVseS8wNzI2MTIuaHRtbAo+Pj4+Pj4+Pj4+ PiBDYzogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3c2submV0Pgo+Pj4+Pj4+Pj4+PiBDYzogTWlj aGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgo+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiArS3Jp c3RpYW4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IExHVE0uCj4+Pj4+Pj4+Pj4gQWNrZWQtYnk6IE1p Y2hhxYIgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KPj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlA aW50ZWwuY29tPgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gSGkgS3Jpc3RpYW4sCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4g TW9yZSBjb21tZW50cyBvbiB0aGlzPwo+Pj4+Pj4+Pj4gSSd2ZSByZXNlbnQgdGhlIG1lc2EgcGF0 Y2ggd2l0aCB0aGUgbGFzdCBjaGFuZ2VzCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Cj4+ Pj4+Pj4+PiAoaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwv MjAxNS1PY3RvYmVyLzA5MTc1Mi5odG1sKS4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4g TWljaGHFgiBoYXMgYWdyZWVkIHdpdGggdGhlIGludGVyZmFjZSBhbmQgd2lsbCB1c2UgaXQgZm9y IGhpcyB3b3JrLgo+Pj4+Pj4+Pj4gSWYgbWVzYSBkb2Vzbid0IHBsYW4gdG8gdXNlIHRoaXMgZm9y IG5vdywgaXQncyBvay4gVGhlIGtlcm5lbAo+Pj4+Pj4+Pj4gY2hhbmdlcwo+Pj4+Pj4+Pj4gaGF2 ZQo+Pj4+Pj4+Pj4gYmVlbiBkb25lIHRvIHByZXZlbnQgYW55IHJlZ3Jlc3Npb25zIHdoZW4gdGhl IHN1cHBvcnQgNDgtYml0IGZsYWcKPj4+Pj4+Pj4+IGlzCj4+Pj4+Pj4+PiBub3QKPj4+Pj4+Pj4+ IHNldC4KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSSBkaWRu J3QgZ2V0IGFueSByZXBsaWVzIHRvIG15IGxhc3QgY29tbWVudHMgb24gdGhpczoKPj4+Pj4+Pj4K Pj4+Pj4+Pj4KPj4+Pj4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9t ZXNhLWRldi8yMDE1LUF1Z3VzdC8wOTEzOTguaHRtbAo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBCYXNpY2Fs bHksIEkgdHJpZWQgZXhwbGljaXRseSBwbGFjaW5nIGJ1ZmZlcnMgYWJvdmUgOEcgYW5kIGRpZG4n dAo+Pj4+Pj4+PiBzZWUKPj4+Pj4+Pj4gdGhlIEhXIHByb2JsZW0gZGVzY3JpYmVkIChpZSBpdCBh bGwgd29ya2VkIGZpbmUpLiAgSSBzdGlsbCB0aGluawo+Pj4+Pj4+PiB0aGVyZSdzIHNvbWUgY29u ZnVzaW9uIGFzIHRvIHdoYXQgdGhlIFcvQSBpcyBhYm91dC4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSGVy ZSdzIG15IHRha2U6IHRoZSBXL0EgaXMgYSBTVy1vbmx5IHdvcmthcm91bmQgdG8gaGFuZGxlIHRo ZSBjYXNlcwo+Pj4+Pj4+PiB3aGVyZSBhIGRyaXZlciB1c2VzIGhlYXBsZXNzIGFuZCA0OC1iaXQg cHBndHQuIFRoZSBwcm9ibGVtIGlzIHRoYXQKPj4+Pj4+Pj4gdGhlCj4+Pj4+Pj4+IGhlYXBzIGFy ZSBsaW1pdGVkIHRvIDRHIGJ1dCB3aXRoIDQ4Yml0IHBwZ3R0IGEgYnVmZmVyIGNhbiBiZSBwbGFj ZWQKPj4+Pj4+Pj4gYW55d2hlcmUgaXQgdGhlIDQ4IGJpdCBhZGRyZXNzIHNwYWNlLiBJZiB0aGF0 IGhhcHBlbnMgaXQncwo+Pj4+Pj4+PiBjb25zaWRlcmVkZAo+Pj4+Pj4+PiBvdXQtb2YtYm91bmRz IGZvciB0aGUgaGVhcCBhbmQgYWNjZXNzIGZhaWxzLiBUbyBwcmV2ZW50IHRoaXMgd2UgbmVlZAo+ Pj4+Pj4+PiB0byBtYWtlIHN1cmUgdGhlIGJvcyB3ZSBhZGRyZXNzIGluIGEgaGVhcGxlc3MgZmFz aGlvbiBhcmUgcGxhY2VkCj4+Pj4+Pj4+IGJlbG93Cj4+Pj4+Pj4+IDRnLgo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiBGb3IgbWVzYSwgd2Ugb25seSBjb25maWd1cmUgZ2VuZXJhbCBzdGF0ZSBiYXNlIGFzIGhl YXAtbGVzcywgd2hpY2gKPj4+Pj4+Pj4gYWZmZWN0cyBzY3JhdGNoIGJvcy4gV2hhdCB0aGlzIGJv aWxzIGRvd24gdG8gaXMgdGhhdCB3ZSBuZWVkIHRoZSA0Rwo+Pj4+Pj4+PiByZXN0cmljdGlvbiBv bmx5IGZvciB0aGUgc2NyYXRjaCBib3Mgc2V0IHVwIG9uIDNEU1RBVEVfVlMsCj4+Pj4+Pj4+IDNE U1RBVEVfR1MKPj4+Pj4+Pj4gYW5kIDNEU1RBVEVfUFMgKGFuZCB0ZXNzZWxhdGlvbiBzdGFnZSBl dmVudHVhbGx5KS4gTG9vayBmb3IgdGhlCj4+Pj4+Pj4+IE9VVF9SRUxPQzY0IGZvciBzdGFnZS0+ c2NyYXRjaF9ibyBpbiBnZW44X3ZzX3N0YXRlLmMsCj4+Pj4+Pj4+IGdlbjhfZ3Nfc3RhdGUuYwo+ Pj4+Pj4+PiBhbmQgZ2VuOF9wc19zdGF0ZS5jCj4+Pj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+ Pj4KPj4+Pj4+PiBJIHRoaW5rIGl0IGFsc28gYWZmZWN0cyBfM0RTVEFURV9WSUVXUE9SVF9TVEFU RV9QT0lOVEVSU19DQywgbWF5YmUgaXQKPj4+Pj4+PiBpc24ndCBleGNsdXNpdmUgdG8gdGhlIHNj cmF0Y2ggYm9zICh0aGUgZXJyb3Igc3RhdGUgcG9pbnRzIHRvIHRoYXQKPj4+Pj4+PiBpbnN0cnVj dGlvbikuCj4+Pj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+IEhpLAo+Pj4+Pj4KPj4+Pj4+IEFu eW1vcmUgaW5wdXRzIGFib3V0IHRoaXMgcGF0Y2g/Cj4+Pj4+PiBBRkFJSywgaWYgY2hhbmdlcyBh cmUgcmVxdWlyZWQgYmFzZWQgb24gZnVydGhlciBjb21tZW50cyBmcm9tCj4+Pj4+PiBLcmlzdGlh biwKPj4+Pj4+IHRoZXNlIHdpbGwgYmUgaW4gdGhlIG1lc2EgcGF0Y2hbMV0sIG5vdCBsaWJkcm0u IEFsc28sIE1pY2hhxYIgd2lsbCB1c2UKPj4+Pj4+IHRoaXMKPj4+Pj4+IGZsYWcgaW4gYW5vdGhl ciBwcm9qZWN0Lgo+Pj4+Pj4KPj4+Pj4gVGhlIGNvbW1lbnQgc2VlbXMgcXVpdGUgYnJpZWYgYW5k IEknbSBub3Qgc3VyZSBpdCBmdWxseSBhZGRyZXNzZXMKPj4+Pj4gS3Jpc3RpYW4ncyBjb25jZXJu LiBJJ2Qgc3VzcGVjdCB0aGF0IHByb3ZpZGluZyByZWZlcmVuY2UgdG8gdGhlIEhXCj4+Pj4+IGRv Y3VtZW50YXRpb24gKGNvbmZpcm1pbmcgeW91ciBhc3N1bXB0aW9uKSBtaWdodCBiZSBiZW5lZmlj aWFsLgo+Pj4+Pgo+Pj4+Cj4+Pj4gU3VyZSwgYXR0YWNoZWQgaXMgdGhlIGhhbmcgSSBnZXQgaWYg SSBkb24ndCBzZXQgdGhlIHJlc3RyaWN0aW9uIGluCj4+Pj4gZ2VuOF9taXNjX3N0YXRlLmMgYW5k IHRyeSB0byB1c2UgdGhlIGZ1bGwgNDgtYml0IHJhbmdlCj4+Pj4gKGk5MTVfZXJyb3Jfc3RhdGVf bm93YS50eHQpLiBUaGlzIGlzIGp1c3QgcnVubmluZyBnZnhiZW5jaCB0LXJleC4KPj4+Pgo+Pj4+ IEkgc2VlIHRoZSBzYW1lIGhhbmcgc2lnbmF0dXJlIHdoZW4gaXQgaXMgb25seSBhcHBsaWVkIHRv IHRoZSBzY3JhdGNoIGJvcwo+Pj4+IChpbgo+Pj4+IGdlbjhfdnNfc3RhdGUuYywgZ2VuOF9nc19z dGF0ZS5jIGFuZCBnZW44X3BzX3N0YXRlLmMgLQo+Pj4+IGk5MTVfZXJyb3Jfc3RhdGVfc2NyYXRj aGJvLnR4dCkuCj4+Pj4KPj4+PiAzRFNUQVRFX1ZJRVdQT1JUX1NUQVRFX1BPSU5URVJTX0NDICgw eDc4MjMwMDAwKSBpcyBkZWZpbmVkIGhlcmU6Cj4+Pj4KPj4+PiBodHRwczovLzAxLm9yZy9zaXRl cy9kZWZhdWx0L2ZpbGVzL2RvY3VtZW50YXRpb24vaW50ZWwtZ2Z4LXBybS1vc3JjLWJkdy12b2ww MmEtY29tbWFuZHJlZmVyZW5jZS1pbnN0cnVjdGlvbnNfMC5wZGYKPj4+PiAocGFnZSAyNTYpCj4+ Pgo+Pj4KPj4+IEkgYXBwbGllZCB5b3VyIG1lc2EgYW5kIGxpYmRybSBwYXRjaGVzIGFuZCB0aGVu IGJhY2tlZCBvdXQgdGhlIDRHCj4+PiByZXN0cmljdGlvbiBpbiB0aGUgU1RBVEVfQkFTRV9BRERS RVNTIHJlbG9jYXRpb25zLiAgSSB3YXMgbm90IGFibGUgdG8KPj4+IHJlcHJvZHVjZSBhbnkgaGFu ZyB3aXRoIHRyZXggb3IgZ2x4Z2VhcnMuIEkgY29uZmlybWVkICh1c2luZwo+Pj4gSU5URUxfREVC VUc9YmF0KSB0aGF0IGdlbSBhY3R1YWxseSBwbGFjZWQgQk9zIGFib3ZlIHRoZSA0RyBtYXJrIGFu ZAo+Pj4gZ290IHRoaXM6Cj4+Pgo+Pj4gICAwOiA4IEAgMHhmZmZmZmZmOTAwMDAgKG1pcHRyZWUp Cj4+PiAgIDE6IDkgQCAweGZmZmZmZmY3ODAwMCAoaGl6KQo+Pj4gICAyOiA0IEAgMHhmZmZmZmZm NzcwMDAgKHBpcGVfY29udHJvbCB3b3JrYXJvdW5kKQo+Pj4gICAzOiA1IEAgMHhmZmZmZmZmNzYw MDAgKHByb2dyYW0gY2FjaGUpCj4+PiAgIDQ6IDEyIEAgMHgwMDAwMDAwMDAwMDAgKG1pcHRyZWUp Cj4+PiAgIDU6IDcgQCAweDAwMDAwMDAwMTAwMCAoaW1hZ2UpCj4+PiAgIDY6IDEwIEAgMHhmZmZm ZmZmNWEwMDAgKG1pcHRyZWUpCj4+PiAgIDc6IDEzIEAgMHhmZmZmZmZmNTkwMDAgKGJ1ZmZlcm9i aikKPj4+ICAgODogMTEgQCAweGZmZmZmZmY1MTAwMCAoYnVmZmVyb2JqKQo+Pj4gICA5OiAxNCBA IDB4ZmZmZmZmZjUwMDAwIChidWZmZXJvYmopCj4+PiAxMDogMTUgQCAweGZmZmZmZmY0MDAwMCAo YmF0Y2hidWZmZXIpQDB4MDAwMDAwMDAgMDAwMDAwMjAgLT4gOAo+Pj4gKG1pcHRyZWUpQDB4MDAw MGZmZmYgZmZmOTAwMDAgKyAweDAwMDAwMDAwCj4+PiAxMDogMTUgQCAweGZmZmZmZmY0MDAwMCAo YmF0Y2hidWZmZXIpQDB4MDAwMDAwMDAgMDAwMDAwNDAgLT4gOQo+Pj4gKGhpeilAMHgwMDAwZmZm ZiBmZmY3ODAwMCArIDB4MDAwMDAwMDAKPj4+IDEwOiAxNSBAIDB4ZmZmZmZmZjQwMDAwIChiYXRj aGJ1ZmZlcilAMHgwMDAwMDAwMCAwMDAwMDA5OCAtPiA0Cj4+PiAocGlwZV9jb250cm9sIHdvcmth cm91bmQpQDB4MDAwMGZmZmYgZmZmNzcwMDAgKyAweDAwMDAwMDAwCj4+PiAuLi4KPj4+Cj4+PiBJ biBwYXJ0aWN1bGFyLCB0aGUgbWVzYSBiYXRjaGJ1ZmZlciBpcyBwbGFjZWQgYXQgMHhmZmZmZmZm NDAwMDAsIGFuZAo+Pj4gYWxsIHRoZSBTVEFURV9CQVNFX0FERFJFU1MgaGVhcHMgYXJlIGluIHRo YXQgYm8uIEluIG90aGVyIHdvcmRzLCBhbGwKPj4+IGhlYXAgYmFzZXMgYXJlIHNldCB0byAweGZm ZmZmZmY0MDAwMC4KPj4+Cj4+PiBUaGUgb2Zmc2V0IGluIDNEU1RBVEVfVklFV1BPUlRfU1RBVEVf UE9JTlRFUlNfQ0MgaXMgaW5kZWVkIG9ubHkgMzIKPj4+IGJpdHMsIGJ1dCB0aGF0IG9ubHkgYWZm ZWN0cyBob3cgZmFyIGZyb20gdGhlIGR5bmFtaWMgc3RhdGUgYmFzZQo+Pj4gYWRkcmVzcyB3ZSBj YW4gcGxhY2UgdGhhdC4gSW4gbWVzYXMgY2FzZSwgaXQncyBhbHdheXMgaW5zaWRlIHRoZSBiYXRj aAo+Pj4gYnVmZmVyLCB3aGljaCBpcyBhdCBtb3N0IDMyaywgc28gdGhhdCdzIG5ldmVyIGEgcHJv YmxlbS4gSWYgYSBkcml2ZXIKPj4+IHVzZXMgZHluYW1pYyBzdGF0ZSBpbiBhIGhlYXBsZXNzIGZh c2hpb24sIHRoZW4geW91IG5lZWQgdG8gYmUgY2FyZWZ1bAo+Pj4gdG8gcGxhY2UgdGhlIENDIHZp ZXdwb3J0IHN0YXRlIGJlbG93IDRnLgo+Pj4KPj4+IFdoYXQgSSB3YXMgYWJsZSAgdG8gY29uZmly bSBpcyB0aGF0IHNjcmF0Y2ggYnVmZmVyIEkvTyAod2hpY2ggd2UgdXNlCj4+PiBmb3Igc3BpbGxp bmcpIGRvZXMgYnJlYWsgd2l0aCA0OCBiaXQgcHBndHQuIElmIHlvdSBydW4gZ2x4Z2VhcnMgd2l0 aAo+Pj4gSU5URUxfREVCVUc9c3BpbGxfZnMgc2V0LCB5b3UgY2FuIHNlZSBsb3RzIG9mIHJlbmRl cmluZyBhcnRpZmFjdHMgYXMKPj4+IHRoZSA0RyBsaW1pdCBvbiB0aGUgZ2VuZXJhbCBzdGF0ZSBo ZWFwIGNhcHMgYXR0ZW1wdHMgdG8gc3BpbGwgYW5kIGZpbGwKPj4+IGZyb20gdGhlIHZlcnRleCBz aGFkZXIuIFVzaW5nIE9VVF9SRUxPQzY0X0lOU0lERV80RygpIHdoZW4gc2V0dGluZyB1cAo+Pj4g dGhlIHNjcmF0Y2ggQk9zIGluIDNEU1RBVEVfVlMgYW5kIDNEU1RBVEVfUFMgZml4ZXMgdGhlIHBy b2JsZW0uCj4+Cj4+Cj4+IE9rLCBzbyB3ZSBkbyBzdGlsbCBuZWVkIHRoZSA0RyBsaW1pdCBiaXQg KGkuZS4gSSBkb24ndCBoYXZlIHRvIHJldmVydCB0aGUKPj4ga2VybmVsIHNpZGUgZm9yIGxhY2sg b2Ygb3Blbi1zb3VyY2UgdXNlcnNwYWNlKSwganVzdCBub3QgYXQgdGhlIHBsYWNlIHdlCj4+IG9y aWdpbmFsbHkgdGhvdWdodC4gSSBndWVzcyBsZXNzb24gbGVhcm5lZCBpcyB0byBhY3R1YWxseSB0 ZXN0IHN0dWZmIGZpcnN0Cj4+IGJlZm9yZSBJIHB1bGwgaW4gdGhlIGtlcm5lbCBzaWRlLiBNaWNo ZWwsIGRpZCB5b3Ugbm90IHNlZSB0aGUgc3BpbGxpbmcKPj4gY29ycnVwdGlvbnMgd2hlbiB0ZXN0 aW5nIHRoZSBtZXNhIHBhdGNoZXM/IEtyaXN0aWFuLCBkb2VzIHRoaXMgYWxzbyBibG93Cj4+IHVw IHdpdGgganVzdCBhIHBpZ2xpdCBydW4/Cj4+Cj4KPiBUaGVyZSdzIG11c3QgYmUgc29tZXRoaW5n IGVsc2Ugd2UgaGF2ZSBkaWZmZXJlbnQgaW4gb3VyIHN5c3RlbXMuCj4KPiBLcmlzdGlhbiBkb2Vz bid0IGdldCB0aGUgaGFuZywgYW5kIGlmIEkgYmFjayBvdXQgdGhlIDRHIHJlc3RyaWN0aW9uIGlu IHRoZQo+IFNUQVRFX0JBU0VfQUREUkVTUywgSSBkb24ndCBzZWUgYW55IGNvcnJ1cHRpb24gd2hp bGUgcnVubmluZwo+IElOVEVMX0RFQlVHPXNwaWxsX2ZzIGdseGdlYXJzLgoKSSBkb24ndCB3YW50 IHRvIGJsb2NrIHRoaXMsIGluIGZhY3QsIEkgdmVyeSBtdWNoIHdhbnQgdG8gc2VlIHRoaXMgbW92 ZQpmb3J3YXJkLiBIb3dldmVyLCBJIGNhbid0IGFjayBwYXRjaGVzIHRoYXQgMSkgZml4IGEgZ3B1 IGhhbmcgSSBjYW4ndApyZXByb2R1Y2UgYW5kIEkgZG9uJ3QgYWdyZWUgc2hvdWxkIGJlIGEgcHJv YmxlbSAodGhlClNUQVRFX0JBU0VfQUREUkVTUyBwcm9ibGxlbSkgYW5kIDIpIGRvbid0IGZpeCB0 aGUgaXNzdWUgdGhhdCBJIHNlZSBhbmQKcmVwcm9kdWNlZCBvbiBteSBCRFcgKHRoZSBzcGlsbGlu ZyBwcm9ibGVtKS4KCkknbGwgdHJ5IGEgZnVsbCBwaWdsaXQgcnVuIHRvbW9ycm93IHdpdGggYm90 aCBteSBtZXNhIHBhdGNoIGFuZApNaWNoZWxzIGFuZCBzZWUgd2hhdCBoYXBwZW5zLiBIb3dldmVy LCB0aGlzIGlzbid0IHRoZSBraW5kIG9mIHByb2JsZW0KdGhhdCBvY2N1cnMgb25jZSBpbiBhIGJs dWUgbW9vbiBvciBmb3Igc29tZSBjb3JuZXIgY2FzZSBwaWdsaXQgdGVzdC4KSWYgTWljaGVscyB1 bmRlcnN0YW5kaW5nIG9mIHRoZSBodyBhbmQgdGhlIHdvcmthcm91bmQgaXMgY29ycmVjdCwKbm90 aGluZyBzaG91bGQgd29yayB3aXRob3V0IGhpcyBwYXRjaC4KClRvIG1vdmUgZm9yd2FyZCBvbiB0 aGlzLCB1bmxlc3Mgc29tZXRoaW5nIG5ldyBjb21lcyB1cCB3aGVuIHJ1bm5pbmcKcGlnbGl0LCBJ IGNhbiB0YWtlIG93bmVyc2hpcCBvZiBtYWtpbmcgbWVzYSB3b3JrIG9uZSB3YXkgb3IgdGhlIG90 aGVyLgpUaGUga2VybmVsIGFuZCBsaWJkcm0gd29yayBpcyBmaW5lIGFuZCBtb3N0IG9mIE1pY2hl bHMgbWVzYSBwYXRjaCBpcwpnb29kLiBJZiBtZXNhIGJyZWFrcyBkb3duIHRoZSByb2FkIGJlY2F1 c2Ugd2UgbmVlZCB0byBsaW1pdCB0aGUKU1RBVEVfQkFTRV9BRERSRVNTIHJlbG9jcywgSSdsbCBv d24gdGhlIHByb2JsZW0gdGhlbi4KCktyaXN0aWFuCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==