From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Mesa-dev] [PATCH v4 1/2] intel: 48b ppgtt support (EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag) Date: Wed, 14 Oct 2015 09:19:47 +0200 Message-ID: <20151014071947.GT26718@phenom.ffwll.local> 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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by gabe.freedesktop.org (Postfix) with ESMTPS id 95F6B6E42E for ; Wed, 14 Oct 2015 00:16:53 -0700 (PDT) Received: by wicgb1 with SMTP id gb1so117353005wic.1 for ; Wed, 14 Oct 2015 00:16:52 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Kristian =?iso-8859-1?Q?H=F8gsberg?= Cc: Michel Thierry , Emil Velikov , dri-devel , mesa-dev List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBPY3QgMTMsIDIwMTUgYXQgMDI6NTE6MzZQTSAtMDcwMCwgS3Jpc3RpYW4gSMO4Z3Ni ZXJnIHdyb3RlOgo+IE9uIFR1ZSwgT2N0IDEzLCAyMDE1IGF0IDc6NTUgQU0sIE1pY2hlbCBUaGll cnJ5Cj4gPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiAxMC8xMy8yMDE1 IDM6MTMgUE0sIEVtaWwgVmVsaWtvdiB3cm90ZToKPiA+Pgo+ID4+IE9uIDEzIE9jdG9iZXIgMjAx NSBhdCAxMzoxNiwgTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KPiA+ PiB3cm90ZToKPiA+Pj4KPiA+Pj4gT24gMTAvNi8yMDE1IDI6MTIgUE0sIE1pY2hlbCBUaGllcnJ5 IHdyb3RlOgo+ID4+Pj4KPiA+Pj4+Cj4gPj4+PiBPbiAxMC81LzIwMTUgNzowNiBQTSwgS3Jpc3Rp YW4gSMO4Z3NiZXJnIHdyb3RlOgo+ID4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+PiBPbiBNb24sIE9jdCA1 LCAyMDE1IGF0IDc6MDMgQU0sIE1pY2hlbCBUaGllcnJ5Cj4gPj4+Pj4gPG1pY2hlbC50aGllcnJ5 QGludGVsLmNvbT4gd3JvdGU6Cj4gPj4+Pj4+Cj4gPj4+Pj4+Cj4gPj4+Pj4+IE9uIDkvMTQvMjAx NSAyOjU0IFBNLCBNaWNoYcWCIFdpbmlhcnNraSB3cm90ZToKPiA+Pj4+Pj4+Cj4gPj4+Pj4+Pgo+ ID4+Pj4+Pj4KPiA+Pj4+Pj4+IE9uIFRodSwgU2VwIDAzLCAyMDE1IGF0IDAzOjIzOjU4UE0gKzAx MDAsIE1pY2hlbCBUaGllcnJ5IHdyb3RlOgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+ Pgo+ID4+Pj4+Pj4+IEdlbjgrIHN1cHBvcnRzIDQ4LWJpdCB2aXJ0dWFsIGFkZHJlc3NlcywgYnV0 IHNvbWUgb2JqZWN0cyBtdXN0Cj4gPj4+Pj4+Pj4gYWx3YXlzIGJlCj4gPj4+Pj4+Pj4gYWxsb2Nh dGVkIGluc2lkZSB0aGUgMzItYml0IGFkZHJlc3MgcmFuZ2UuCj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+ PiBJbiBzcGVjaWZpYywgYW55IHJlc291cmNlIHVzZWQgd2l0aCBmbGF0L2hlYXBsZXNzCj4gPj4+ Pj4+Pj4gKDB4MDAwMDAwMDAtMHhmZmZmZjAwMCkKPiA+Pj4+Pj4+PiBHZW5lcmFsIFN0YXRlIEhl YXAgKEdTSCkgb3IgSW5zdHJ1Y3Rpb24gU3RhdGUgSGVhcCAoSVNIKSBtdXN0IGJlIGluCj4gPj4+ Pj4+Pj4gYQo+ID4+Pj4+Pj4+IDMyLWJpdCByYW5nZSwgYmVjYXVzZSB0aGUgR2VuZXJhbCBTdGF0 ZSBPZmZzZXQgYW5kIEluc3RydWN0aW9uIFN0YXRlCj4gPj4+Pj4+Pj4gT2Zmc2V0Cj4gPj4+Pj4+ Pj4gYXJlIGxpbWl0ZWQgdG8gMzItYml0cy4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+IFRoZSBpOTE1 IGRyaXZlciBoYXMgYmVlbiBtb2RpZmllZCB0byBwcm92aWRlIGEgZmxhZyB0byBzZXQgd2hlbiB0 aGUKPiA+Pj4+Pj4+PiA0R0IKPiA+Pj4+Pj4+PiBsaW1pdCBpcyBub3QgbmVjZXNzYXJ5IGluIGEg Z2l2ZW4gYm8KPiA+Pj4+Pj4+PiAoRVhFQ19PQkpFQ1RfU1VQUE9SVFNfNDhCX0FERFJFU1MpLgo+ ID4+Pj4+Pj4+IDQ4LWJpdCByYW5nZSB3aWxsIG9ubHkgYmUgdXNlZCB3aGVuIGV4cGxpY2l0bHkg cmVxdWVzdGVkLgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gQ2FsbGVycyB0byB0aGUgZXhpc3Rpbmcg ZHJtX2ludGVsX2JvX2VtaXRfcmVsb2MgZnVuY3Rpb24gc2hvdWxkIHNldAo+ID4+Pj4+Pj4+IHRo ZQo+ID4+Pj4+Pj4+IHVzZV80OGJfYWRkcmVzc19yYW5nZSBmbGFnIGJlZm9yZWhhbmQsIGluIG9y ZGVyIHRvIHVzZSBmdWxsIHBwZ3R0Cj4gPj4+Pj4+Pj4gcmFuZ2UuCj4gPj4+Pj4+Pj4KPiA+Pj4+ Pj4+PiB2MjogTWFrZSBzZXQvY2xlYXIgZnVuY3Rpb25zIG5vcHMgb24gcHJlLWdlbjggcGxhdGZv cm1zLCBhbmQgdXNlCj4gPj4+Pj4+Pj4gdGhlbQo+ID4+Pj4+Pj4+ICAgICAgICBpbnRlcm5hbGx5 IGluIGVtaXRfcmVsb2MgZnVuY3Rpb25zIChCZW4pCj4gPj4+Pj4+Pj4gICAgICAgIHMvNDhCQURE UkVTUy80OEJfQUREUkVTUy8gKERhdmUpCj4gPj4+Pj4+Pj4gdjM6IEtlZXAgc2V0L2NsZWFyIGZ1 bmN0aW9ucyBpbnRlcm5hbCwgbm8tb25lIG5lZWRzIHRvIHVzZSB0aGVtCj4gPj4+Pj4+Pj4gZGly ZWN0bHkuCj4gPj4+Pj4+Pj4gdjQ6IERvbid0IHNldCA0OGJpdC1zdXBwb3J0IGZsYWcgaW4gZW1p dCByZWxvYywgY2hlY2sgZm9yIHBwZ3R0IHR5cGUKPiA+Pj4+Pj4+PiAgICAgICAgYmVmb3JlIGVu YWJsaW5nIHNldC9jbGVhciBmdW5jdGlvbiwgcHJpbnQgZnVsbCBvZmZzZXRzIGluCj4gPj4+Pj4+ Pj4gZGVidWcKPiA+Pj4+Pj4+PiAgICAgICAgc3RhdGVtZW50cywgdXNpbmcgcG9ydCBvZiBsb3dl cl8zMl9iaXRzIGFuZCB1cHBlcl8zMl9iaXRzCj4gPj4+Pj4+Pj4gZnJvbSBsaW51eAo+ID4+Pj4+ Pj4+ICAgICAgICBrZXJuZWwgKE1pY2hhxYIpCj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+PiBSZWZlcmVu Y2VzOgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9h cmNoaXZlcy9pbnRlbC1nZngvMjAxNS1KdWx5LzA3MjYxMi5odG1sCj4gPj4+Pj4+Pj4gQ2M6IEJl biBXaWRhd3NreSA8YmVuQGJ3aWRhd3NrLm5ldD4KPiA+Pj4+Pj4+PiBDYzogTWljaGHFgiBXaW5p YXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+Cj4g Pj4+Pj4+Pgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+ICtLcmlzdGlhbgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+ IExHVE0uCj4gPj4+Pj4+PiBBY2tlZC1ieTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5p YXJza2lAaW50ZWwuY29tPgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBNaWNo ZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+PiBIaSBLcmlzdGlhbiwKPiA+Pj4+Pj4K PiA+Pj4+Pj4gTW9yZSBjb21tZW50cyBvbiB0aGlzPwo+ID4+Pj4+PiBJJ3ZlIHJlc2VudCB0aGUg bWVzYSBwYXRjaCB3aXRoIHRoZSBsYXN0IGNoYW5nZXMKPiA+Pj4+Pj4KPiA+Pj4+Pj4KPiA+Pj4+ Pj4gKGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTUt T2N0b2Jlci8wOTE3NTIuaHRtbCkuCj4gPj4+Pj4+Cj4gPj4+Pj4+Cj4gPj4+Pj4+IE1pY2hhxYIg aGFzIGFncmVlZCB3aXRoIHRoZSBpbnRlcmZhY2UgYW5kIHdpbGwgdXNlIGl0IGZvciBoaXMgd29y ay4KPiA+Pj4+Pj4gSWYgbWVzYSBkb2Vzbid0IHBsYW4gdG8gdXNlIHRoaXMgZm9yIG5vdywgaXQn cyBvay4gVGhlIGtlcm5lbCBjaGFuZ2VzCj4gPj4+Pj4+IGhhdmUKPiA+Pj4+Pj4gYmVlbiBkb25l IHRvIHByZXZlbnQgYW55IHJlZ3Jlc3Npb25zIHdoZW4gdGhlIHN1cHBvcnQgNDgtYml0IGZsYWcg aXMKPiA+Pj4+Pj4gbm90Cj4gPj4+Pj4+IHNldC4KPiA+Pj4+Pgo+ID4+Pj4+Cj4gPj4+Pj4KPiA+ Pj4+PiBJIGRpZG4ndCBnZXQgYW55IHJlcGxpZXMgdG8gbXkgbGFzdCBjb21tZW50cyBvbiB0aGlz Ogo+ID4+Pj4+Cj4gPj4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9t ZXNhLWRldi8yMDE1LUF1Z3VzdC8wOTEzOTguaHRtbAo+ID4+Pj4+Cj4gPj4+Pj4gQmFzaWNhbGx5 LCBJIHRyaWVkIGV4cGxpY2l0bHkgcGxhY2luZyBidWZmZXJzIGFib3ZlIDhHIGFuZCBkaWRuJ3Qg c2VlCj4gPj4+Pj4gdGhlIEhXIHByb2JsZW0gZGVzY3JpYmVkIChpZSBpdCBhbGwgd29ya2VkIGZp bmUpLiAgSSBzdGlsbCB0aGluawo+ID4+Pj4+IHRoZXJlJ3Mgc29tZSBjb25mdXNpb24gYXMgdG8g d2hhdCB0aGUgVy9BIGlzIGFib3V0Lgo+ID4+Pj4+Cj4gPj4+Pj4gSGVyZSdzIG15IHRha2U6IHRo ZSBXL0EgaXMgYSBTVy1vbmx5IHdvcmthcm91bmQgdG8gaGFuZGxlIHRoZSBjYXNlcwo+ID4+Pj4+ IHdoZXJlIGEgZHJpdmVyIHVzZXMgaGVhcGxlc3MgYW5kIDQ4LWJpdCBwcGd0dC4gVGhlIHByb2Js ZW0gaXMgdGhhdCB0aGUKPiA+Pj4+PiBoZWFwcyBhcmUgbGltaXRlZCB0byA0RyBidXQgd2l0aCA0 OGJpdCBwcGd0dCBhIGJ1ZmZlciBjYW4gYmUgcGxhY2VkCj4gPj4+Pj4gYW55d2hlcmUgaXQgdGhl IDQ4IGJpdCBhZGRyZXNzIHNwYWNlLiBJZiB0aGF0IGhhcHBlbnMgaXQncyBjb25zaWRlcmVkZAo+ ID4+Pj4+IG91dC1vZi1ib3VuZHMgZm9yIHRoZSBoZWFwIGFuZCBhY2Nlc3MgZmFpbHMuIFRvIHBy ZXZlbnQgdGhpcyB3ZSBuZWVkCj4gPj4+Pj4gdG8gbWFrZSBzdXJlIHRoZSBib3Mgd2UgYWRkcmVz cyBpbiBhIGhlYXBsZXNzIGZhc2hpb24gYXJlIHBsYWNlZCBiZWxvdwo+ID4+Pj4+IDRnLgo+ID4+ Pj4+Cj4gPj4+Pj4gRm9yIG1lc2EsIHdlIG9ubHkgY29uZmlndXJlIGdlbmVyYWwgc3RhdGUgYmFz ZSBhcyBoZWFwLWxlc3MsIHdoaWNoCj4gPj4+Pj4gYWZmZWN0cyBzY3JhdGNoIGJvcy4gV2hhdCB0 aGlzIGJvaWxzIGRvd24gdG8gaXMgdGhhdCB3ZSBuZWVkIHRoZSA0Rwo+ID4+Pj4+IHJlc3RyaWN0 aW9uIG9ubHkgZm9yIHRoZSBzY3JhdGNoIGJvcyBzZXQgdXAgb24gM0RTVEFURV9WUywgM0RTVEFU RV9HUwo+ID4+Pj4+IGFuZCAzRFNUQVRFX1BTIChhbmQgdGVzc2VsYXRpb24gc3RhZ2UgZXZlbnR1 YWxseSkuIExvb2sgZm9yIHRoZQo+ID4+Pj4+IE9VVF9SRUxPQzY0IGZvciBzdGFnZS0+c2NyYXRj aF9ibyBpbiBnZW44X3ZzX3N0YXRlLmMsIGdlbjhfZ3Nfc3RhdGUuYwo+ID4+Pj4+IGFuZCBnZW44 X3BzX3N0YXRlLmMKPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4KPiA+Pj4+IEkgdGhpbmsgaXQgYWxzbyBh ZmZlY3RzIF8zRFNUQVRFX1ZJRVdQT1JUX1NUQVRFX1BPSU5URVJTX0NDLCBtYXliZSBpdAo+ID4+ Pj4gaXNuJ3QgZXhjbHVzaXZlIHRvIHRoZSBzY3JhdGNoIGJvcyAodGhlIGVycm9yIHN0YXRlIHBv aW50cyB0byB0aGF0Cj4gPj4+PiBpbnN0cnVjdGlvbikuCj4gPj4+Pgo+ID4+Pj4KPiA+Pj4KPiA+ Pj4gSGksCj4gPj4+Cj4gPj4+IEFueW1vcmUgaW5wdXRzIGFib3V0IHRoaXMgcGF0Y2g/Cj4gPj4+ IEFGQUlLLCBpZiBjaGFuZ2VzIGFyZSByZXF1aXJlZCBiYXNlZCBvbiBmdXJ0aGVyIGNvbW1lbnRz IGZyb20gS3Jpc3RpYW4sCj4gPj4+IHRoZXNlIHdpbGwgYmUgaW4gdGhlIG1lc2EgcGF0Y2hbMV0s IG5vdCBsaWJkcm0uIEFsc28sIE1pY2hhxYIgd2lsbCB1c2UKPiA+Pj4gdGhpcwo+ID4+PiBmbGFn IGluIGFub3RoZXIgcHJvamVjdC4KPiA+Pj4KPiA+PiBUaGUgY29tbWVudCBzZWVtcyBxdWl0ZSBi cmllZiBhbmQgSSdtIG5vdCBzdXJlIGl0IGZ1bGx5IGFkZHJlc3Nlcwo+ID4+IEtyaXN0aWFuJ3Mg Y29uY2Vybi4gSSdkIHN1c3BlY3QgdGhhdCBwcm92aWRpbmcgcmVmZXJlbmNlIHRvIHRoZSBIVwo+ ID4+IGRvY3VtZW50YXRpb24gKGNvbmZpcm1pbmcgeW91ciBhc3N1bXB0aW9uKSBtaWdodCBiZSBi ZW5lZmljaWFsLgo+ID4+Cj4gPgo+ID4gU3VyZSwgYXR0YWNoZWQgaXMgdGhlIGhhbmcgSSBnZXQg aWYgSSBkb24ndCBzZXQgdGhlIHJlc3RyaWN0aW9uIGluCj4gPiBnZW44X21pc2Nfc3RhdGUuYyBh bmQgdHJ5IHRvIHVzZSB0aGUgZnVsbCA0OC1iaXQgcmFuZ2UKPiA+IChpOTE1X2Vycm9yX3N0YXRl X25vd2EudHh0KS4gVGhpcyBpcyBqdXN0IHJ1bm5pbmcgZ2Z4YmVuY2ggdC1yZXguCj4gPgo+ID4g SSBzZWUgdGhlIHNhbWUgaGFuZyBzaWduYXR1cmUgd2hlbiBpdCBpcyBvbmx5IGFwcGxpZWQgdG8g dGhlIHNjcmF0Y2ggYm9zIChpbgo+ID4gZ2VuOF92c19zdGF0ZS5jLCBnZW44X2dzX3N0YXRlLmMg YW5kIGdlbjhfcHNfc3RhdGUuYyAtCj4gPiBpOTE1X2Vycm9yX3N0YXRlX3NjcmF0Y2hiby50eHQp Lgo+ID4KPiA+IDNEU1RBVEVfVklFV1BPUlRfU1RBVEVfUE9JTlRFUlNfQ0MgKDB4NzgyMzAwMDAp IGlzIGRlZmluZWQgaGVyZToKPiA+IGh0dHBzOi8vMDEub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMv ZG9jdW1lbnRhdGlvbi9pbnRlbC1nZngtcHJtLW9zcmMtYmR3LXZvbDAyYS1jb21tYW5kcmVmZXJl bmNlLWluc3RydWN0aW9uc18wLnBkZgo+ID4gKHBhZ2UgMjU2KQo+IAo+IEkgYXBwbGllZCB5b3Vy IG1lc2EgYW5kIGxpYmRybSBwYXRjaGVzIGFuZCB0aGVuIGJhY2tlZCBvdXQgdGhlIDRHCj4gcmVz dHJpY3Rpb24gaW4gdGhlIFNUQVRFX0JBU0VfQUREUkVTUyByZWxvY2F0aW9ucy4gIEkgd2FzIG5v dCBhYmxlIHRvCj4gcmVwcm9kdWNlIGFueSBoYW5nIHdpdGggdHJleCBvciBnbHhnZWFycy4gSSBj b25maXJtZWQgKHVzaW5nCj4gSU5URUxfREVCVUc9YmF0KSB0aGF0IGdlbSBhY3R1YWxseSBwbGFj ZWQgQk9zIGFib3ZlIHRoZSA0RyBtYXJrIGFuZAo+IGdvdCB0aGlzOgo+IAo+ICAwOiA4IEAgMHhm ZmZmZmZmOTAwMDAgKG1pcHRyZWUpCj4gIDE6IDkgQCAweGZmZmZmZmY3ODAwMCAoaGl6KQo+ICAy OiA0IEAgMHhmZmZmZmZmNzcwMDAgKHBpcGVfY29udHJvbCB3b3JrYXJvdW5kKQo+ICAzOiA1IEAg MHhmZmZmZmZmNzYwMDAgKHByb2dyYW0gY2FjaGUpCj4gIDQ6IDEyIEAgMHgwMDAwMDAwMDAwMDAg KG1pcHRyZWUpCj4gIDU6IDcgQCAweDAwMDAwMDAwMTAwMCAoaW1hZ2UpCj4gIDY6IDEwIEAgMHhm ZmZmZmZmNWEwMDAgKG1pcHRyZWUpCj4gIDc6IDEzIEAgMHhmZmZmZmZmNTkwMDAgKGJ1ZmZlcm9i aikKPiAgODogMTEgQCAweGZmZmZmZmY1MTAwMCAoYnVmZmVyb2JqKQo+ICA5OiAxNCBAIDB4ZmZm ZmZmZjUwMDAwIChidWZmZXJvYmopCj4gMTA6IDE1IEAgMHhmZmZmZmZmNDAwMDAgKGJhdGNoYnVm ZmVyKUAweDAwMDAwMDAwIDAwMDAwMDIwIC0+IDgKPiAobWlwdHJlZSlAMHgwMDAwZmZmZiBmZmY5 MDAwMCArIDB4MDAwMDAwMDAKPiAxMDogMTUgQCAweGZmZmZmZmY0MDAwMCAoYmF0Y2hidWZmZXIp QDB4MDAwMDAwMDAgMDAwMDAwNDAgLT4gOQo+IChoaXopQDB4MDAwMGZmZmYgZmZmNzgwMDAgKyAw eDAwMDAwMDAwCj4gMTA6IDE1IEAgMHhmZmZmZmZmNDAwMDAgKGJhdGNoYnVmZmVyKUAweDAwMDAw MDAwIDAwMDAwMDk4IC0+IDQKPiAocGlwZV9jb250cm9sIHdvcmthcm91bmQpQDB4MDAwMGZmZmYg ZmZmNzcwMDAgKyAweDAwMDAwMDAwCj4gLi4uCj4gCj4gSW4gcGFydGljdWxhciwgdGhlIG1lc2Eg YmF0Y2hidWZmZXIgaXMgcGxhY2VkIGF0IDB4ZmZmZmZmZjQwMDAwLCBhbmQKPiBhbGwgdGhlIFNU QVRFX0JBU0VfQUREUkVTUyBoZWFwcyBhcmUgaW4gdGhhdCBiby4gSW4gb3RoZXIgd29yZHMsIGFs bAo+IGhlYXAgYmFzZXMgYXJlIHNldCB0byAweGZmZmZmZmY0MDAwMC4KPiAKPiBUaGUgb2Zmc2V0 IGluIDNEU1RBVEVfVklFV1BPUlRfU1RBVEVfUE9JTlRFUlNfQ0MgaXMgaW5kZWVkIG9ubHkgMzIK PiBiaXRzLCBidXQgdGhhdCBvbmx5IGFmZmVjdHMgaG93IGZhciBmcm9tIHRoZSBkeW5hbWljIHN0 YXRlIGJhc2UKPiBhZGRyZXNzIHdlIGNhbiBwbGFjZSB0aGF0LiBJbiBtZXNhcyBjYXNlLCBpdCdz IGFsd2F5cyBpbnNpZGUgdGhlIGJhdGNoCj4gYnVmZmVyLCB3aGljaCBpcyBhdCBtb3N0IDMyaywg c28gdGhhdCdzIG5ldmVyIGEgcHJvYmxlbS4gSWYgYSBkcml2ZXIKPiB1c2VzIGR5bmFtaWMgc3Rh dGUgaW4gYSBoZWFwbGVzcyBmYXNoaW9uLCB0aGVuIHlvdSBuZWVkIHRvIGJlIGNhcmVmdWwKPiB0 byBwbGFjZSB0aGUgQ0Mgdmlld3BvcnQgc3RhdGUgYmVsb3cgNGcuCj4gCj4gV2hhdCBJIHdhcyBh YmxlICB0byBjb25maXJtIGlzIHRoYXQgc2NyYXRjaCBidWZmZXIgSS9PICh3aGljaCB3ZSB1c2UK PiBmb3Igc3BpbGxpbmcpIGRvZXMgYnJlYWsgd2l0aCA0OCBiaXQgcHBndHQuIElmIHlvdSBydW4g Z2x4Z2VhcnMgd2l0aAo+IElOVEVMX0RFQlVHPXNwaWxsX2ZzIHNldCwgeW91IGNhbiBzZWUgbG90 cyBvZiByZW5kZXJpbmcgYXJ0aWZhY3RzIGFzCj4gdGhlIDRHIGxpbWl0IG9uIHRoZSBnZW5lcmFs IHN0YXRlIGhlYXAgY2FwcyBhdHRlbXB0cyB0byBzcGlsbCBhbmQgZmlsbAo+IGZyb20gdGhlIHZl cnRleCBzaGFkZXIuIFVzaW5nIE9VVF9SRUxPQzY0X0lOU0lERV80RygpIHdoZW4gc2V0dGluZyB1 cAo+IHRoZSBzY3JhdGNoIEJPcyBpbiAzRFNUQVRFX1ZTIGFuZCAzRFNUQVRFX1BTIGZpeGVzIHRo ZSBwcm9ibGVtLgoKT2ssIHNvIHdlIGRvIHN0aWxsIG5lZWQgdGhlIDRHIGxpbWl0IGJpdCAoaS5l LiBJIGRvbid0IGhhdmUgdG8gcmV2ZXJ0IHRoZQprZXJuZWwgc2lkZSBmb3IgbGFjayBvZiBvcGVu LXNvdXJjZSB1c2Vyc3BhY2UpLCBqdXN0IG5vdCBhdCB0aGUgcGxhY2Ugd2UKb3JpZ2luYWxseSB0 aG91Z2h0LiBJIGd1ZXNzIGxlc3NvbiBsZWFybmVkIGlzIHRvIGFjdHVhbGx5IHRlc3Qgc3R1ZmYg Zmlyc3QKYmVmb3JlIEkgcHVsbCBpbiB0aGUga2VybmVsIHNpZGUuIE1pY2hlbCwgZGlkIHlvdSBu b3Qgc2VlIHRoZSBzcGlsbGluZwpjb3JydXB0aW9ucyB3aGVuIHRlc3RpbmcgdGhlIG1lc2EgcGF0 Y2hlcz8gS3Jpc3RpYW4sIGRvZXMgdGhpcyBhbHNvIGJsb3cKdXAgd2l0aCBqdXN0IGEgcGlnbGl0 IHJ1bj8KClRoYW5rcywgRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=