From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/dp: DP audio API changes for MST Date: Fri, 5 Aug 2016 11:51:57 +0300 Message-ID: <20160805085157.GS4329@intel.com> References: <1470190470-32326-1-git-send-email-dhinakaran.pandiyan@intel.com> <1470190470-32326-2-git-send-email-dhinakaran.pandiyan@intel.com> <20160803190812.GO4329@intel.com> <20160804171852.GA15944@shiv> <20160804173516.GK4329@intel.com> <20160804204828.GL4329@intel.com> <96A12704CE18D347B625EE2D4A099D19119F9330@SHSMSX103.ccr.corp.intel.com> <1470384064.13893.53.camel@dk-H97M-D3H> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1470384064.13893.53.camel@dk-H97M-D3H> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Pandiyan, Dhinakaran" Cc: "tiwai@suse.de" , "intel-gfx@lists.freedesktop.org" , "alsa-devel@alsa-project.org" , "libin.yang@linux.intel.com" List-Id: alsa-devel@alsa-project.org T24gRnJpLCBBdWcgMDUsIDIwMTYgYXQgMDc6NDY6NTRBTSArMDAwMCwgUGFuZGl5YW4sIERoaW5h a2FyYW4gd3JvdGU6Cj4gT24gRnJpLCAyMDE2LTA4LTA1IGF0IDAyOjMxICswMDAwLCBZYW5nLCBM aWJpbiB3cm90ZToKPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gRnJvbTog SW50ZWwtZ2Z4IFttYWlsdG86aW50ZWwtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn XSBPbiBCZWhhbGYgT2YKPiA+ID4gVmlsbGUgU3lyasOkbMOkCj4gPiA+IFNlbnQ6IEZyaWRheSwg QXVndXN0IDUsIDIwMTYgNDo0OCBBTQo+ID4gPiBUbzogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNl LmRlPgo+ID4gPiBDYzogbGliaW4ueWFuZ0BsaW51eC5pbnRlbC5jb207IGludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc7IGFsc2EtCj4gPiA+IGRldmVsQGFsc2EtcHJvamVjdC5vcmc7IFBh bmRpeWFuLCBEaGluYWthcmFuCj4gPiA+IDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4K PiA+ID4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSF0gZHJtL2k5MTUvZHA6IERQIGF1 ZGlvIEFQSSBjaGFuZ2VzIGZvciBNU1QKPiA+ID4gCj4gPiA+IE9uIFRodSwgQXVnIDA0LCAyMDE2 IGF0IDA3OjU1OjA5UE0gKzAyMDAsIFRha2FzaGkgSXdhaSB3cm90ZToKPiA+ID4gPiBPbiBUaHUs IDA0IEF1ZyAyMDE2IDE5OjM1OjE2ICswMjAwLAo+ID4gPiA+IFZpbGxlIFN5cmrDpGzDpCB3cm90 ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBUaHUsIEF1ZyAwNCwgMjAxNiBhdCAxMDoxODo1MkFN IC0wNzAwLCBKaW0gQnJpZGUgd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDAzLCAyMDE2 IGF0IDEwOjA4OjEyUE0gKzAzMDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+ID4gPiA+ID4g PiBPbiBUdWUsIEF1ZyAwMiwgMjAxNiBhdCAwNzoxNDozMFBNIC0wNzAwLCBEaGluYWthcmFuIFBh bmRpeWFuIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gRFAgTVNUIHByb3ZpZGVzIHRoZSBjYXBhYmls aXR5IHRvIHNlbmQgbXVsdGlwbGUgdmlkZW8gYW5kCj4gPiA+ID4gPiA+ID4gPiBhdWRpbyBzdHJl YW1zIHZpYSBvbmUgc2luZ2xlIHBvcnQuIFRoaXMgcmVxdWlyZXMgdGhlIEFQSSdzCj4gPiA+ID4g PiA+ID4gPiBiZXR3ZWVuIGk5MTUgYW5kIGF1ZGlvIGRyaXZlcnMgdG8gZGlzdGluZ3Vpc2ggYmV0 d2VlbiBhdWRpbwo+ID4gPiA+ID4gPiA+ID4gY2FwYWJsZSBkaXNwbGF5cyBjb25uZWN0ZWQgdG8g YSBwb3J0LiBUaGlzIHBhdGNoIGFkZHMgdGhpcwo+ID4gPiA+ID4gPiA+ID4gc3VwcG9ydCB2aWEg YW4gYWRkaXRpb25hbCBwYXJhbWV0ZXIgJ2ludCBkZXZfaWQnLiBUaGUgZXhpc3RpbmcKPiA+ID4g cGFyYW1ldGVyICdwb3J0JyBkb2VzIG5vdCBjaGFuZ2UgaXQncyBtZWFuaW5nLgo+ID4gPiA+ID4g PiA+ID4KPiA+ID4gPiA+ID4gPiA+IGRldl9pZCA9Cj4gPiA+ID4gPiA+ID4gPiAJTVNUCTogcGlw ZSB0aGF0IHRoZSBzdHJlYW0gb3JpZ2luYXRlcyBmcm9tCj4gPiA+ID4gPiA+ID4gPiAJTm9uLU1T VAk6IC0xCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gQWZmZWN0ZWQgQVBJczoKPiA+ ID4gPiA+ID4gPiA+IHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMKPiA+ID4gPiA+ID4g PiA+IC0gICAgICAgaW50ICgqc3luY19hdWRpb19yYXRlKShzdHJ1Y3QgZGV2aWNlICosIGludCBw b3J0LCBpbnQgcmF0ZSk7Cj4gPiA+ID4gPiA+ID4gPiArCWludCAoKnN5bmNfYXVkaW9fcmF0ZSko c3RydWN0IGRldmljZSAqLCBpbnQgcG9ydCwgaW50Cj4gPiA+ID4gPiA+ID4gPiArZGV2X2lkLAo+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gRG9lcyB0aGUgdGVybSAnZGV2X2lkJyBoYXZlIHNv bWUgc3BlY2lhbCBtZWFuaW5nIG9uIHRoZSBhdWRpbwo+ID4gPiA+ID4gPiA+IHNpZGU/IE9uIHRo ZSBpOTE1IHNpZGUgdGhpbmdzIHdvdWxkIGJlIGxlc3MgY29uZnVzaW5nIGlmIHdlIGp1c3QKPiA+ ID4gPiA+ID4gPiBjYWxsZWQgaXQgJ3BpcGUnLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBZZWFo LCBpdCBkb2VzLiAgQWxsIG9mIHRoZSBkb2N1bWVudGF0aW9uIG9uIHRoZSBhdWRpbyBzaWRlIGlz Cj4gPiA+ID4gPiA+IHdyaXR0ZW4gaW4gdGVybXMgb2YgZGV2aWNlIElELCBzbyB0aGV5IGFza2Vk IGZvciB0aGF0IG5vbWVuY2xhdHVyZS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBBbmQgaXMgdGhlIGRl dmljZSBJRCBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIHBpcGU/IFVudGlsIG5vdyB3ZSd2ZQo+ID4g PiA+ID4gbWFkZSBkdWUgd2l0aCBwYXNzaW5nIHRoZSBwb3J0IGluc3RlYWQgb2YgdGhlIHBpcGUs IHNvIGVpdGhlciB0aGUKPiA+ID4gPiA+IGF1ZGlvIHNpZGUgZGlkbid0IHVzZSB0aGUgZGV2aWNl IElELCBvciBpdHMgbWVhbmluZyBjaGFuZ2VzIGJhc2VkIG9uCj4gPiA+ID4gPiBob3cgd2UgZHJp dmUgdGhpbmdzLCBvciB0aGV5IGR1ZyBpdCBvdXQgZnJvbSBzb21ld2hlcmUgZWxzZSBiYXNlZCBv biB0aGUKPiA+ID4gcG9ydD8KPiA+ID4gPgo+ID4gPiA+IFRoaXMgaXMgbXkgY29uY2VybiwgdG9v LiAgQ3VycmVudGx5IHdlIGhhdmUgYSB2ZXJ5IHdpbGQgYXNzdW1wdGlvbgo+ID4gPiA+IGV2ZW4g Zm9yIHRoZSBwb3J0IG1hcHBpbmcuICBJbiB0aGUgYXVkaW8gc2lkZSwgdGhlcmUgaXMgbmVpdGhl ciBwb3J0Cj4gPiA+ID4gbm9yIHBpcGUuICBUaGVyZSBhcmUgb25seSB0aGUgd2lkZ2V0IG5vZGUg aWQgYW5kIHRoZSBkZXZpY2UgaWQuICBUaGUKPiA+ID4gPiBmb3JtZXIgaXMgc3VwcG9zZWRseSBj b3JyZXNwb25kaW5nIHRvIHRoZSBwb3J0LCBhbmQgdGhlIGxhdHRlciB0byB0aGUKPiA+ID4gPiBw aXBlLiAgQnV0IHRoZSBhdWRpbyBzaWRlIGhhcyBhYnNvbHV0ZWx5IG5vIGNsdWUgYWJvdXQgaG93 IHRoZXNlIGFyZQo+ID4gPiA+IGNvbm5lY3RlZC4KPiA+ID4gCj4gPiA+IFNvIEkgdHJpZWQgdG8g c3R1ZHkgdGhpcyBhIGJpdCwgYW5kIE1TVCBhbmQgZGV2aWNlPG4+IGFyZSBtZW50aW9uZWQgYSBm ZXcKPiA+ID4gdGltZXMgaW4gdGhlIGRlc2NyaXB0aW9uIG9mIHNvbWUgYXVkaW8gcmVnaXN0ZXJz IGluIHRoZSBHUFUgZG9jcy4gTG9va3MgbGlrZSBhCj4gPiA+IGJ1bmNoIG9mIGJpdHMgb3Zlcmxh cCBzb21laG93IHdpdGggcGluIHZzLiBkZXZpY2UgdXNhZ2UuIEkgZG9uJ3QgdW5kZXJzdGFuZAo+ ID4gPiBob3cgdGhhdCdzIHN1cHBvc2VkIHRvIHdvcmsuIEVnOgo+ID4gCj4gPiBGb3IgU1NUICYg SERNSSwgcG9ydCBpcyBtYXBwaW5nIHRvIHBpbi4KPiA+IAo+ID4gRm9yIE1TVCwgaW4gYXVkaW8s IGVhY2ggcGluIGhhcyBzZXZlcmFsIGRldmljZSBlbnRyaWVzLiBFYWNoIGRldmljZSBlbnRyeQo+ ID4gY2FuIHRyYW5zZmVyIGF1ZGlvIHN0cmVhbS4gQW5kIHdlIGNvbmZpcm1lZCB3aXRoIHNpbGlj b24gdGVhbSwKPiA+IGRldmljZSBlbnRyeSBpcyByZWxhdGVkIHRvIHBpcGUuCj4gPiAKPiA+IERl dmljZSBlbnRyeSBpcyBhbHdheXMgdGhlIHJpZ2h0IGNvbmNlcHQgaW4gYXVkaW8gZHJpdmVyLiBX ZSBhcmUgbm90IHN1cmUKPiA+IHRoZSByZWxhdGlvbnNoaXAgd2lsbCBiZSBhbHdheXMgcmlnaHQg YmV0d2VlbiBwaXBlIGFuZCBkZXZpY2UgZW50cnkuCj4gPiAKPiA+IFdlIGFyZSB3b3JyeSB0aGF0 IHRoZSByZWxhdGlvbnNoaXAgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZSBiZXR3ZWVuCj4g PiBwaXBlIGFuZCBkZXZpY2UgZW50cnkuIEkgbWVhbiBtYXliZSB0aGUgcGlwZSBpcyBub3QgcmVs YXRlZCB0byBkZXZpY2UKPiA+IGVudHJ5IGluIHRoZSBuZXcgcGxhdGZvcm1zLCBidXQgc29tZSBv dGhlciBjb25jZXB0aW9uLCBzdWNoIGFzIHRyYW5zY29kZXIuCj4gPiBJZiBzbywgaWYgd2UgYXJl IHVzaW5nIHBpcGUgbm93LCBtYXliZSB3ZSBuZWVkIGNoYW5nZSB0aGUgQVBJIGFnYWluLgo+ID4g Rm9yIHRoZSBzdGFiaWxpdHksIHdlIGFyZSB0aGlua2luZyBkZXZpY2UgZW50cnkgaXMgc3VpdGFi bGUuCj4gPiAKPiA+IEkgdGhpbmsgeW91ciBjb25jZXJuIGlzIHJpZ2h0LiBJdCBpcyBub3QgZ29v ZCB0byB1c2UgYXVkaW8gY29uY2VwdGlvbiAKPiA+IGluIGdmeCBkcml2ZXIsIHdoaWNoIHdpbGwg Y2F1c2UgY29uZnVzaW9uLiBJZiB3ZSBjYW4gY29uZmlybSB0aGF0Cj4gPiBwaXBlIHdpbGwgYWx3 YXlzIGJlIHRoZSBmaXhlZCBtYXBwaW5nIHRvIGRldmljZSBlbnRyeSwgaXQgd2lsbCBiZQo+ID4g YmV0dGVyIHRvIHVzZSBwaXBlLgo+ID4gPiAgQVVEX1BXUlNUQVVEX1BXUlNUCj4gPiA+ICAxOjAg CSBQaW5CIFdpZGdldCBQd3JTdCBTZXQKPiA+ID4gIFBpbkIgV2lkZ2V0IHBvd2VyIHN0YXRlIHRo YXQgd2FzIHNldEZvciBEUCBNU1QgdGhpcyByZXByZXNlbnRzIERldmljZTEKPiA+ID4gcG93ZXIg c3RhdGUKPiA+IAo+ID4gRm9yIHRoaXMgcmVnaXN0ZXIsIGl0IG1lYW5zIGRpZmZlcmVudCBpbiBk aWZmZXJlbnQgc2NlbmFyaW86Cj4gPiBJbiBEUCBTU1QgJiBIRE1JLCBpdCBpcyBmb3IgUGluQgo+ ID4gSW4gRFAgTVNULCBpdCBpcyBmb3IgZGV2aWNlIGVudHJ5IDEgKG9uIHdoaWNoZXZlciBwaW4p LiAKPiA+IAo+ID4gPiAKPiA+ID4gSXQncyBhbnlvbmUncyBndWVlcyB3aGF0IHRob3NlIGJpdHMg YXJlIHN1cHBvb3NlZCB0byByZWZsZWN0IHdoZW4geW91J3JlIGRvaW5nCj4gPiA+IE1TVCB3aXRo IGRldmljZTEvcGlwZSBBLCBhbmQgYXQgdGhlIHNhbWUgdGltZSB5b3UncmUgZHJpdmluZyBwb3J0 IEIgaW4KPiA+ID4gSERNSS9TU1QgbW9kZS4KPiA+IAo+ID4gSSBkaWQgdGhlIHNpbWlsYXIgdGVz dCBiZWZvcmUuIEkgcmVtZW1iZXIgKGJ1dCBJIGRpZG4ndCByZW1lbWJlciBjbGVhcmx5IG5vdykK PiA+IElmIG9uZSBwaW4gaXMgdXNlZCBhcyBEUCBNU1QsIGFsbCB0aGUgcGlucyBhcmUgdXNlZCBh cyBEUCBNU1QuIFRoaXMgbWVhbnMgaWYKPiA+IFBpbkIgaXMgdXNlZCBhcyBEUCBNU1QsIDE6MCBy ZXByZXNlbnRzIERldmljZSAxIGFuZCA1OjQgcmVwcmVzZW50cyBEZXZpY2UgMi4KPiA+IExldCdz IHNheSBQaW5DIGlzIGNvbm5lY3RlZCB0byBIRE1JIGF1ZGlvLCBpdCBpcyBub3cgbG9va2VkIGFz IERldmljZSAyIChvcgo+ID4gb3RoZXIgZGV2aWNlIGlkKSBub3QgYXMgUGluQyBhdWRpby4KPiA+ IAo+ID4gUmVnYXJkcywKPiA+IExpYmluCj4gPiAKPiAKPiBIZXJlJ3Mgd2hhdCBJIGZvdW5kIGFm dGVyIGRpZ2dpbmcgdGhyb3VnaCB0aGUgc3BlY3MuIAo+IAo+IDEuIEZpcnN0bHksICJkZXZpY2Ug MSIgaXMgbm90IHNhbWUgYXMgImRldmljZSBlbnRyeSBhdCBpbmRleD0xIi4KPiBhKSBEZXZpY2UK PiAiR2V0IERldmljZSBTZWxlY3QiIChzb3VyY2U6IEJzcGVjKQo+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ IDExOjA2IFNpbmsgRGV2aWNlIElEOiBTaW5rIERldmljZSBJRCBpbiB0aGUgbXVsdGkgc3RyZWFt IHRvcG9sb2d5IG9mIHRoZQo+IERQIGhpZXJhcmNoeS4KPiBEZXZpY2UgYXR0YWNoZWQgdG8gUGlw ZSBBIHdpbGwgaGF2ZSBJRCBvZiAiMDAwMDAiLCBQaXBlIEIgd2lsbCBoYXZlCj4gIjAwMDAxIiBh bmQgUGlwZSBDIHdpbGwgaGF2ZSAiMDAwMTAiLgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IAo+IGIpIERl dmljZSBlbnRyeQo+IERldmljZSBlbnRyeSBpcyBhbiBhdWRpbyBkZXZpY2UgYXR0YWNoZWQgdG8g YSBwaW4ocG9ydCkuIEVhY2ggZW50cnkgaGFzCj4gYW4gaW5kZXggaW4gYSBwZXIgcGluIGxpc3Qg b2YgZGV2aWNlcy4KPiAgIAo+IDIuIFRoZSAiZGV2aWNlKHBpcGUpIiBhbmQgdGhlIGRldmljZSBl bnRyeShpbmRleCBpbiBhIHBlciBwaW4gbGlzdCkKPiBtYXBwaW5nIGNhbiBiZSBmaWd1cmVkIG91 dCB3aXRoIGEgc2VxdWVuY2Ugb2YgIkdldCBEZXZpY2UgTGlzdCBFbnRyeSIKPiBhbmQgIkdldCBE ZXZpY2UgU2VsZWN0IiB2ZXJicyBpbiB0aGUgYXVkaW8gZHJpdmVyLihzb3VyY2U6SERBIHNwZWMp Cj4gCj4gaTkxNSBpcyBub3QgYXdhcmUgb2YgImRldmljZSBlbnRyeSIgb3IgaXQncyBtYXBwaW5n IHRvIGRldmljZShwaXBlKS4gU28sCj4gd2Ugc2hvdWxkIGJlIHNlbmRpbmcgdGhlICJwaW4ocG9y dCkiIGFuZCAiZGV2aWNlKHBpcGUpIiB2aWEKPiBwaW5fZWxkX25vdGlmeSgpLiBUaGUgYXVkaW8g ZHJpdmVyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBnZXQgIHRoZQo+IHJpZ2h0IGRldmlj ZSBlbnRyeSBmb3IgIkdldCBQaW4gU2Vuc2UiIHZlcmIuIAoKT0ssIHNvIHNvdW5kcyBsaWtlIHRo ZSBoZGEgc2lkZSBpcyB0aGUgb25seSBvbmUgdGhhdCBjYW4gcmVhbGx5IGZpZ3VyZQp0aGlzIHN0 dWZmIG91dC4gaTkxNSBqdXN0IGRvZXNuJ3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24uCgo+IAo+ IDMuIENvbmZpcm1pbmcgd2hhdCBWaWxsZSBhbHJlYWR5IHNhaWQuIEFsbCB3ZSBuZWVkIHRvIGRv IG5vdyBpcywgYXMKPiBWaWxsZSBwb2ludGVkIG91dCwgcmVuYW1lIHRoZSB2YXJpYWJsZXMKPiAK PiAocG9ydCBhbmQgcGlwZSkgb3IgKHBpbiBhbmQgZGV2aWNlX2lkKQo+IAo+IFNpbmNlIGRldl9p ZCBpcyBhIGhvcnJpYmxlIG5hbWUgZm9yIGEgbmV3IHZhcmlhYmxlIGluIGk5MTUsIGxldCdzIHVz ZQo+IHBvcnQgYW5kIHBpcGUuCj4gCj4gSSB3aWxsIHNlbmQgb3V0IGEgcGF0Y2ggcmVuYW1pbmcg ZGV2X2lkIHRvIHBpcGUuCgpTb3VuZHMgZ29vZC4gVGhhbmtzLgoKPiAKPiAtREsKPiAKPiA+ID4g Cj4gPiA+IEFueXdheXMsIGl0IGRvZXNuJ3QgaGVscCB0aGF0IHRoaXMgd2hvbGUgZGV2aWNlIHdp ZGdldCBhc3BlY3Qgb2YgaGRhIHNlZW1zIHRvCj4gPiA+IGJlIHVuZG9jdW1lbnRlZC4gTm8gc3Bl YyBJJ3ZlIGZvdW5kIHNlZW1zIHRvIGtub3cgYW55dGhpbmcgYWJvdXQgYW55Cj4gPiA+IGRldmlj ZSB3aWRnZXRzLCBhbmQgeWV0IHRob3NlIGFyZSBob3cgTVNUIHJvbGxzIGFwcGFyZW50bHkuCj4g PiA+IAo+ID4gPiBJbiBjb25jbHVzaW9uLCBJJ2Qgc2F5IHRoYXQgY29uc2lzdGVuY3kncyBzYWtl IHdlIHNob3VsZCB1c2UgZWl0aGVyCj4gPiA+IGRlditwaW4gb3IgcGlwZStwb3J0IGluIHRoZSBp bnRlcmZhY2UsIG5vdCBtaXggYm90aC4gSW4gY2FzZSBvZiBwaW4gSQo+ID4gPiBkZXYrZG9uJ3Qg dGhpbmsgd2Ugc2hvdWxkIHVzZSB0aGUgTklEIChJJ20gYXNzdW1pbmcgZGV2aWNlCj4gPiA+IHdp ZGdldHMgaGF2ZSBvbmUgdG9vKSwgYnV0IHJhdGhlciB0aGUgaW5kZXguIGk5MTUgY291bGQgdGhl biBkbyB0aGUgbWFwcGluZwo+ID4gPiBzb21ldGhpZ24gbGlrZSBkZXY9cGlwZSBhbmQgcGluPXBv cnQtMSwgYW5kIHRoZW4gc25kLWhkYSBjYW4gZG8gdGhlIGlkeDwtCj4gPiA+ID5uaWQgY29udmVy c2lvbiBob3dldmVyIGl0IHNlZXMgZml0IChqdXN0IHVzZSBiYXNlX25pZCwgb3Igd2FsayBzb21l IHBlci10eXBlCj4gPiA+IHdpZGdldCBsaXN0cywgb3Igd2hhdGV2ZXIpLgo+ID4gPiAKPiA+ID4g VGhhdCdzIGFzc3VtaW5nIHRoZSB3aWRnZXRzIHJlYWxseSBhcmUgc29tZWhvdyBvcmRlcmVkIGNv bnNpc3RlbnRseSBzbyB3ZQo+ID4gPiBjYW4gaW5kZXggdGhlbSBsaWtlIHRoYXQuIEkgYWxzbyBt aWdodCBoYXZlIHVuZGVyc3R0b2QgZXZlcnloaW5nIEkgcmVhZCBhYm91Cj4gPiA+IGhkYS4KPiA+ ID4gCj4gPiA+IC0tCj4gPiA+IFZpbGxlIFN5cmrDpGzDpAo+ID4gPiBJbnRlbCBPVEMKPiA+ID4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKPiAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=