From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4 2/2] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Thu, 23 Mar 2017 19:42:47 +0200 Message-ID: <20170323174247.GC19813@intel.com> References: <1490282059-16331-1-git-send-email-shashank.sharma@intel.com> <1490282059-16331-2-git-send-email-shashank.sharma@intel.com> <4ea0e5b5-b367-4fbf-142c-666dbde9aeb8@synopsys.com> <20170323154528.GW31595@intel.com> <48e90373-5260-d388-d73e-cb084725c722@synopsys.com> <5b2b08fe-3214-6434-3246-c808873c9fa1@intel.com> <5424fef6-6c66-de41-b341-65048bed8ab6@intel.com> <68c84fc4-6d18-7102-feba-21b92dd0a44b@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <68c84fc4-6d18-7102-feba-21b92dd0a44b@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jose Abreu Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMjMsIDIwMTcgYXQgMDU6MTE6NDRQTSArMDAwMCwgSm9zZSBBYnJldSB3cm90 ZToKPiBIaSBTaGFzaGFuaywKPiAKPiAKPiBPbiAyMy0wMy0yMDE3IDE2OjQzLCBTaGFybWEsIFNo YXNoYW5rIHdyb3RlOgo+ID4gUmVnYXJkcwo+ID4KPiA+IFNoYXNoYW5rCj4gPgo+ID4KPiA+IE9u IDMvMjMvMjAxNyA2OjMzIFBNLCBKb3NlIEFicmV1IHdyb3RlOgo+ID4+IEhpIFNoYXNoYW5rLAo+ ID4+Cj4gPj4KPiA+PiBPbiAyMy0wMy0yMDE3IDE2OjA4LCBTaGFybWEsIFNoYXNoYW5rIHdyb3Rl Ogo+ID4+PiBSZWdhcmRzCj4gPj4+Cj4gPj4+IFNoYXNoYW5rCj4gPj4+Cj4gPj4+Cj4gPj4+IE9u IDMvMjMvMjAxNyA1OjU3IFBNLCBKb3NlIEFicmV1IHdyb3RlOgo+ID4+Pj4gSGkgVmlsbGUsCj4g Pj4+Pgo+ID4+Pj4KPiA+Pj4+IE9uIDIzLTAzLTIwMTcgMTU6NDUsIFZpbGxlIFN5cmrDpGzDpCB3 cm90ZToKPiA+Pj4+PiBPbiBUaHUsIE1hciAyMywgMjAxNyBhdCAwMzoyODoyOVBNICswMDAwLCBK b3NlIEFicmV1IHdyb3RlOgo+ID4+Pj4+PiBIaSBTaGFzaGFuaywKPiA+Pj4+Pj4KPiA+Pj4+Pj4K PiA+Pj4+Pj4gT24gMjMtMDMtMjAxNyAxNToxNCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+ID4+ Pj4+Pj4gSERNSSAxLjRiIHN1cHBvcnQgdGhlIENFQSB2aWRlbyBtb2RlcyBhcyBwZXIgcmFuZ2Ug b2YKPiA+Pj4+Pj4+IENFQS04NjEtRCAoVklDIDEtNjQpLgo+ID4+Pj4+Pj4gRm9yIGFueSBvdGhl ciBtb2RlLCB0aGUgVklDIGZpbGVkIGluIEFWSSBpbmZvZnJhbWVzIHNob3VsZAo+ID4+Pj4+Pj4g YmUgMC4KPiA+Pj4+Pj4+IEhETUkgMi4wIHNpbmtzLCBzdXBwb3J0IHZpZGVvIG1vZGVzIHJhbmdl IGFzIHBlciBDRUEtODYxLUYKPiA+Pj4+Pj4+IHNwZWMsIHdoaWNoIGlzCj4gPj4+Pj4+PiBleHRl bmRlZCB0byAoVklDIDEtMTA3KS4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBUaGlzIHBhdGNoIGFkZHMg YSBib29sIGlucHV0IHZhcmlhYmxlLCB3aGljaCBpbmRpY2F0ZXMgaWYKPiA+Pj4+Pj4+IHRoZSBj b25uZWN0ZWQKPiA+Pj4+Pj4+IHNpbmsgaXMgYSBIRE1JIDIuMCBzaW5rIG9yIG5vdC4gVGhpcyB3 aWxsIG1ha2Ugc3VyZSB0aGF0IHdlCj4gPj4+Pj4+PiBkb24ndCBwYXNzIGEKPiA+Pj4+Pj4+IEhE TUkgMi4wIFZJQyB0byBhIEhETUkgMS40IHNpbmsuCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4gVGhpcyBw YXRjaCB0b3VjaGVzIGFsbCBkcm0gZHJpdmVycywgd2hvIGFyZSBjYWxsZXJzIG9mIHRoaXMKPiA+ Pj4+Pj4+IGZ1bmN0aW9uCj4gPj4+Pj4+PiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlIGJ1dCB0byBtYWtlIHN1cmUKPiA+Pj4+Pj4+IHRoZXJlIGlzCj4gPj4+Pj4+PiBu byBjaGFuZ2UgaW4gY3VycmVudCBiZWhhdmlvciwgaXNfaGRtaTIgaXMga2VwdCBhcyBmYWxzZS4K PiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBJbiBjYXNlIG9mIEk5MTUgZHJpdmVyLCB0aGlzIHBhdGNoIGNo ZWNrcyB0aGUKPiA+Pj4+Pj4+IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvCj4gPj4+Pj4+PiB0byBj aGVjayBpZiB0aGUgY29ubmVjdGVkIGRpc3BsYXkgaXMgSERNSSAyLjAuCj4gPj4+Pj4+Pgo+ID4+ Pj4+Pj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ ID4+Pj4+Pj4gQ2M6IEpvc2UgQWJyZXUgPGpvc2UuYWJyZXVAc3lub3BzeXMuY29tPgo+ID4+Pj4+ Pj4gQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gPj4+Pj4+PiBDYzog QWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+ID4+Pj4+Pj4gQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+ IFBTOiBUaGlzIHBhdGNoIHRvdWNoZXMgYSBmZXcgbGluZXMgaW4gZmV3IGZpbGVzLCB3aGljaCB3 ZXJlCj4gPj4+Pj4+PiBhbHJlYWR5IGFib3ZlIDgwIGNoYXIsIHNvIGNoZWNrcGF0Y2ggZ2l2ZXMg ODAgY2hhciB3YXJuaW5nCj4gPj4+Pj4+PiBhZ2Fpbi4KPiA+Pj4+Pj4+IC0gZ3B1L2RybS9vbWFw ZHJtL29tYXBfZW5jb2Rlci5jCj4gPj4+Pj4+PiAtIGdwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMK PiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNo YW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPj4+Pj4+PiAtLS0KPiA+Pj4+Pj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jICAgIHwgIDIgKy0KPiA+Pj4+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jICAgIHwgIDIgKy0KPiA+Pj4+Pj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgICAgIHwgIDIgKy0KPiA+ Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIHwgIDMg KystCj4gPj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyAgICAgICAg ICB8ICAyICstCj4gPj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3 LWhkbWkuYyB8ICAyICstCj4gPj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAg ICAgICAgICAgICAgICB8IDEyCj4gPj4+Pj4+PiArKysrKysrKysrKy0KPiA+Pj4+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyAgICAgIHwgIDIgKy0KPiA+Pj4+Pj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyAgICAgICAgIHwgIDIgKy0KPiA+ Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICAgICAgIHwgIDUg KysrKy0KPiA+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICAg ICAgIHwgIDMgKystCj4gPj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hk bWkuYyAgICAgICB8ICAyICstCj4gPj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9v bWFwX2VuY29kZXIuYyAgICB8ICAzICsrLQo+ID4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fYXVkaW8uYyAgICAgfCAgMiArLQo+ID4+Pj4+Pj4gICAgZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jICAgICAgfCAgMiArLQo+ID4+Pj4+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgICAgICAgICAgfCAgMiArLQo+ID4+Pj4+Pj4gICAg ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyAgICAgICAgICAgICAgfCAgMiArLQo+ID4+Pj4+ Pj4gICAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jICAgICAgICAgICAgICAgfCAgMiArLQo+ ID4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jICAgICAgICAgICAgfCAg MiArLQo+ID4+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgICAgICAgICAg ICAgfCAgMiArLQo+ID4+Pj4+Pj4gICAgaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAg ICAgICAgICAgfCAgMyArKy0KPiA+Pj4+Pj4+ICAgIDIxIGZpbGVzIGNoYW5nZWQsIDM4IGluc2Vy dGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+ID4+Pj4+Pj4KPiA+Pj4+Pj4gW3NuaXBdCj4gPj4+ Pj4+Cj4gPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5 cy9kdy1oZG1pLmMKPiA+Pj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9k dy1oZG1pLmMKPiA+Pj4+Pj4+IGluZGV4IGFmOTNmN2EuLjVmZjI4ODYgMTAwNjQ0Cj4gPj4+Pj4+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+Pj4+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiA+Pj4+ Pj4+IEBAIC0xMTQ2LDcgKzExNDYsNyBAQCBzdGF0aWMgdm9pZCBoZG1pX2NvbmZpZ19BVkkoc3Ry dWN0Cj4gPj4+Pj4+PiBkd19oZG1pICpoZG1pLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKPiA+Pj4+Pj4+ICAgICAgICB1OCB2YWw7Cj4gPj4+Pj4+PiAgICAgICAgICAvKiBJbml0aWFs aXNlIGluZm8gZnJhbWUgZnJvbSBEUk0gbW9kZSAqLwo+ID4+Pj4+Pj4gLSAgICBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gPj4+Pj4+PiAr ICAgIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2Rl LAo+ID4+Pj4+Pj4gZmFsc2UpOwo+ID4+Pj4+Pj4gICAgICAgICAgaWYgKGhkbWktPmhkbWlfZGF0 YS5lbmNfb3V0X2Zvcm1hdCA9PSBZQ0JDUjQ0NCkKPiA+Pj4+Pj4+ICAgICAgICAgICAgZnJhbWUu Y29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7Cj4gPj4+Pj4+Pgo+ID4+Pj4+PiBk dy1oZG1pIGNvbnRyb2xsZXIgaGFzIGZ1bGwgc3VwcG9ydCBmb3IgSERNSSAyLjAgZmVhdHVyZXMu Cj4gPj4+Pj4+IEl0IGFsbAo+ID4+Pj4+PiBkZXBlbmRzIG9uIHRoZSBwbGF0Zm9ybSBpdCBpcyBp bnRlZ3JhdGVkLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBJIHRoaW5rIGFkZGluZyBhIHBhcmFtZXRlciB0 bwo+ID4+Pj4+PiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlIGlzIG5v dCB0aGUgYmVzdCBpZGVhCj4gPj4+Pj4+IGJlY2F1c2Ugb2YgdGhpcyBjYXNlOiBBIGJyaWRnZSBj YW4gaGF2ZSBzdXBwb3J0IGZvciBIRE1JIDIuMAo+ID4+Pj4+PiBmZWF0dXJlcyBidXQgdGhlIHBs YXRmb3JtIG1heSBsaW1pdCB0aGlzIHN1cHBvcnQuIEkgZ3Vlc3MgaXQKPiA+Pj4+Pj4gY2FuCj4g Pj4+Pj4+IGhhcHBlbiBpbiBvdGhlciBkcml2ZXJzIHRvby4KPiA+Pj4+PiBZb3VyIGRyaXZlciBp cyBpbiBmdWxsIGNvbnRyb2wgb2Ygd2hhdCBnZXRzIHBhc3NlZCBoZXJlLiBTbyBJCj4gPj4+Pj4g ZG9uJ3Qgc2VlCj4gPj4+Pj4gd2h5IHRoYXQgd291bGQgYmUgYSBwcm9ibGVtLgo+ID4+Pj4+Cj4g Pj4+Pj4gQWxzbyB0aGlzIGRvZXNuJ3QgcmVhbGx5IGhhdmUgYW55dGhpbmcgdG8gZG8gd2l0aCB0 aGUKPiA+Pj4+PiBjYXBhYmlsaXRpZXMgb2YKPiA+Pj4+PiB0aGUgc291cmNlLiBBbGwgd2Ugd2Fu dCB0byBtYWtlIHN1cmUgaXMgdGhhdCB3ZSBkb24ndCBzZW5kIGEKPiA+Pj4+PiBWSUMgdGhlCj4g Pj4+Pj4gc2luayB3aWxsIG5vdCB1bmRlcnN0YW5kLgo+ID4+Pj4+Cj4gPj4+PiBCdXQgdGhlIGRy aXZlciBpcyBub3QgYXdhcmUgb2YgdGhlIHBsYXRmb3JtIGxpbWl0YXRpb25zLCBpdHMKPiA+Pj4+ IGdlbmVyaWMgdG8gdGhlIGNvbnRyb2xsZXIgb25seS4gV2UgY291bGQgYWRkIGEgZmllbGQgaW4g cGRhdGEKPiA+Pj4+IHdoaWNoIHRlbGxzIGlmIHBsYXRmb3JtIGlzIEhETUkgMi4wKyBidXQgd2hh dCBhYm91dCBvdGhlcgo+ID4+Pj4gYnJpZGdlCj4gPj4+PiBkcml2ZXJzIG9yIEhETUkgZHJpdmVy cz8gVGhleSB3aWxsIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBzYW1lCj4gPj4+PiB0aGluZyBhbHNv Lgo+ID4+Pj4KPiA+Pj4+IEJlc3QgcmVnYXJkcywKPiA+Pj4+IEpvc2UgTWlndWVsIEFicmV1Cj4g Pj4+IEkgdGhpbmsgdGhlIGRyaXZlciB3b3VsZCBiZSBhd2FyZSBvZiB0aGUgcGxhdGZvcm0ncwo+ ID4+PiBjYXBhYmlsaXRpZXMsIGlzbid0IGl0ID8KPiA+Pj4gRWxzZSBob3cgd291bGQgaXQgZXZl biBkZWNpZGUgd2hpY2ggbW9kZSB0byBhbGxvdywgYW5kIHdoaWNoIHRvCj4gPj4+IHJlamVjdCA/ Cj4gPj4gVGhlIERSTSBjb3JlIHByb3BhZ2F0ZXMgdGhlIG1vZGUgdG8gdGhlIGNoYWluIG9mIGNv bmZpZ3VyYXRpb24KPiA+PiBiZWZvcmUgcmVhY2hpbmcgdGhlIGJyaWRnZSBkcml2ZXIgYWxzbywg dGhlcmUgaXMgYSBjYWxsYmFjawo+ID4+IHN1cHBsaWVkIGJ5IHBkYXRhIChtb2RlX3ZhbGlkKSB3 aGljaCBjYW4gY2hlY2sgaWYgdGhlIG1vZGUgaXMKPiA+PiB2YWxpZC4gKHNlZQo+ID4+IGh0dHBz Oi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fY2dpdC5mcmVl ZGVza3RvcC5vcmdfLTdFYWlybGllZF9saW51eF90cmVlX2RyaXZlcnNfZ3B1X2RybV9icmlkZ2Vf c3lub3BzeXNfZHctMkRoZG1pLmMtM0ZoLTNEZHJtLTJEbmV4dC0yM24xNzQwJmQ9RHdJRC1nJmM9 RFBMNl9YXzZKa1hGeDdBWFdxQjB0ZyZyPVdIRHNjNmtjV0FsNGk5NlZtNWhKXzE5SUppdXh4X3Bf UnpvMmctdUhES3cmbT16QzFjV1J5NlJEV2ltUUcybzg2NnlZeWxWN2M1aF9VNGFHV2pWdG5JSEgw JnM9RFBaQTNPZ0xXT08yOTloank5ZEJEQks2NmttVUdmWkFyeEtiZUhOTUtPYyZlPQo+ID4+ICkK PiA+Pgo+ID4+IEJlc3QgcmVnYXJkcywKPiA+PiBKb3NlIE1pZ3VlbCBBYnJldQo+ID4+Cj4gPj4K PiA+Pj4gUmVnYXJkcwo+ID4+PiBTaGFzaGFuawo+ID4gUGxlYXNlIGNvcnJlY3QgbWUgaWYgbXkg dW5kZXJzdGFuZGluZyBpcyBub3QgcmlnaHQsIGJ1dCBkcml2ZXJzCj4gPiBjYWxsIG1vZGVfdmFs aWQoKSB0byBwcnVuZS9yZWplY3QgbW9kZXMgd2hpY2ggdGhleSBjYW50IHN1cHBvcnQuCj4gPiBh bmQgdGhleSBjYWxsIGRybV9zZXRfaW5mb2ZyYW1lX2Zyb21fdmlkZW9tb2RlKCkgZnVuY3Rpb24s IHdoZW4KPiA+IHRoZXkgYXJlIGdvaW5nIGFoZWFkIHRvIHRoZSBtb2Rlc2V0IHdpdGggYSBtb2Rl Lgo+ID4gV2h5IHdvdWxkIGEgZHJpdmVyIGNob29zZSB0byBkbyBhIG1vZGVzZXQsIHdoaWNoIGl0 IGNvdWxkIG5vdAo+ID4gc3VwcG9ydCAoc2hvdWxkbid0IG1vZGVfdmFsaWQgaGF2ZSBkcm9wcGVk IGl0IGluIGF0b21pY19jaGVjaygpCj4gPiBvciBtYXkgYmUgZXZlbiBlZGlkX3BhcnNpbmcgdGlt ZSA/KQo+IAo+IFllcywgdGhhdHMgYWxsIGNvcnJlY3QgOikgSSBnb3QgYSBsaXR0bGUgb3V0IG9m IHRvcGljIGhlcmUsIHNvcnJ5Lgo+IAo+IFRoZSB0aGluZyBJIGRvbid0IGFncmVlIHdpdGggaXMg dGhlIGFkZGluZyBvZiB0aGUgcGFyYW1ldGVyIGZvcgo+IHRoZSBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCksIGJlY2F1c2UgSSB0aGluawo+IGl0cyBub3QgZW5vdWdo LiBJIHdpbGwgc3RhdGUgd2h5Ogo+IAo+IFBpY3R1cmUgdGhpcyBzY2VuYXJpbzoKPiAgICAgMSkg RURJRCBpcyByZWFkIGZyb20gSERNSSAyLjAgc2luawo+ICAgICAyKSBUaGUgMi4wIG1vZGVzIGFy ZSBwcm9iZWQgYW5kIGFzIHRoZXJlIGlzIG5vIGNoZWNrIGZvcgo+IHRoZXNlIG1vZGVzICh0aGV5 IGFyZSBpbiB0aGUgQ0VBIHRhYmxlKSB0aGV5IHdpbGwgYmUgYWRkZWQgdG8KPiBtb2RlIGxpc3QK PiAgICAgMykgVGhlIG1vZGVzIGFyZSBwYXNzZWQgdG8gdXNlcnNwYWNlLiBUaGlzIGlzIGEgcHJv YmxlbQo+IGJlY2F1c2UgdXNlcnNwYWNlIGRvZXMgbm90IHlldCB1bmRlcnN0YW5kIHRoZSBuZXcg YXNwZWN0IHJhdGlvcywKPiBidXQgbGV0cyBpbWFnaW5lIGl0IHVuZGVyc3RhbmRzCj4gICAgIDQp IFVzZXIgc2VsZWN0cyBhbiBIRE1JIDIuMCBtb2RlCj4gICAgIDUpIFRoZSBkcm0gY29yZSBjaGVj a3MgaWYgbW9kZSBpcyB2YWxpZCB3aXRoIGRyaXZlciwgdGhlCj4gZHJpdmVyIGNhbiBzYXkgeWVz IG9yIG5vLiBMZXRzIHRoaW5rIGl0IHNheXMgeWVzIGJlY2F1c2UgdGhlCj4gcGxhdGZvcm0gc3Vw cG9ydHMgSERNSSAyLjAgbW9kZXMuCj4gICAgIDYpIE1vZGUgaXMgY29tbWl0dGVkIGJ1dCBWSUMg d2lsbCBiZSBzZXQgdG8gemVybyBhY2NvcmRpbmcgdG8KPiB0aGUgcGF0Y2gKClRoYXQncyBvbmx5 IGJlY2F1c2UgeW91IGhhdmVuJ3QgdXBkYXRlZCB5b3VyIGRyaXZlciB0byBwYXNzICd0cnVlJwph cyBuZWVkZWQuCgpUaGUgb3RoZXIgb3B0aW9uIHdvdWxkIGJlIHRvIHBhc3MgdGhlIGNvbm5lY3Rv ciBpbnN0ZWFkIG9mIGEgYm9vbGVhbiwKYnV0IGFjY29yZGluZyB0byBTaGFzaGFuayB0aGF0IHdv dWxkIHJlcXVpcmVkIGEgbG90IG9mIHBsdW1iaW5nIGNoYW5nZXMKYmVjYXVzZSBtYW55IGRyaXZl cnMgZG9uJ3QgaGF2ZSB0aGUgY29ubmVjdG9yIGltbWVkaWF0ZWx5IGF2YWlsYWJsZQp3aGVyZSB0 aGV5IGNhbGwgdGhlc2UgZnVuY3Rpb25zLiBBbmQgcGx1bWJpbmcgdGhlIGNvbm5lY3RvciB0aHJv dWdoCnByb2JhYmx5IHJlcXVpcmVzIGludGltYXRlIGtub3dsZWRnZSBvZiBlYWNoIGRyaXZlciwg YW5kIHRodXMgaXMgbm90CnNvbWV0aGluZyB3ZSB3b3VsZCBiZSBjb25mb3J0YWJsZSBkb2luZy4g SGVuY2UgSSB0aGluayB0aGUgYm9vbCBpcyB0aGUKYmVzdCBzaG9ydCB0ZXJtIHNvbHV0aW9uLCBs ZXR0aW5nIGVhY2ggZHJpdmVyIGF1dGhvciBmaWd1cmUgb3V0IGhvdyB0bwpnZXQgYXQgdGhlIHJp Z2h0IGNvbm5lY3RvciBhbmQgcGFzcyBvbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uCgpJIGRv bid0IHJlYWxseSB1bmRlcnN0YW5kIHdoYXQgeW91J3JlIGV2ZW4gc3VnZ2VzdGluZyBhcyBhbiBh bHRlcm5hdGl2ZS4KV2UgbmVlZCB0byBrbm93IHdoYXQgdGhlIHNpbmsgc3VwcG9ydHMsIGFuZCBp ZiB5b3VyIGRyaXZlciBpcyBhcmNoaXRlY3RlZAppbiBzb21lIGNyYXp5IHdheSB3aGVyZSB5b3Ug ZG9uJ3QgZXZlbiBoYXZlIHRoYXQgaW5mb3JtYXRpb24gd2hlcmUgaXQncwpuZWVkZWQsIEkgZG9u J3QgdGhpbmsgdGhlcmUncyBhbnl0aGluZyBhbnlvbmUgY2FuIGRvLgoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==