From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [Intel-gfx] [PATCH 3/5] drm/i915: Update CRTC state if connector link status property changed Date: Mon, 21 Nov 2016 11:00:52 -0800 Message-ID: <20161121190051.GA24708@intel.com> References: <20161118141147.GJ31595@intel.com> <1d310e18-b9de-c4af-1eba-7ad089f3514f@linux.intel.com> <20161118152854.GO31595@intel.com> <20161118153525.5ui2ojrtuxzr2n6r@phenom.ffwll.local> <20161118162121.GP31595@intel.com> <20161118174449.GA29317@intel.com> <20161121093820.6hygtcvuxhktxxrh@phenom.ffwll.local> <20161121094257.GA17662@nuc-i3427.alporthouse.com> <20161121101045.thkxly4t7fv4t6yw@phenom.ffwll.local> <20161121154807.cu3wno677r33cxlv@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161121154807.cu3wno677r33cxlv@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBOb3YgMjEsIDIwMTYgYXQgMDQ6NDg6MDdQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBNb24sIE5vdiAyMSwgMjAxNiBhdCAxMToxMDo0NUFNICswMTAwLCBEYW5pZWwg VmV0dGVyIHdyb3RlOgo+ID4gT24gTW9uLCBOb3YgMjEsIDIwMTYgYXQgMDk6NDI6NTdBTSArMDAw MCwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+ID4gPiBPbiBNb24sIE5vdiAyMSwgMjAxNiBhdCAxMDoz ODoyMEFNICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiA+IE9uIEZyaSwgTm92IDE4 LCAyMDE2IGF0IDA5OjQ0OjQ5QU0gLTA4MDAsIE1hbmFzaSBOYXZhcmUgd3JvdGU6Cj4gPiA+ID4g PiBPbiBGcmksIE5vdiAxOCwgMjAxNiBhdCAwNjoyMToyMVBNICswMjAwLCBWaWxsZSBTeXJqw6Rs w6Qgd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIEZyaSwgTm92IDE4LCAyMDE2IGF0IDA0OjM1OjI1UE0g KzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24gRnJpLCBOb3YgMTgs IDIwMTYgYXQgMDU6Mjg6NTRQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gPiA+ ID4gPiA+ID4gT24gRnJpLCBOb3YgMTgsIDIwMTYgYXQgMDM6MTg6MDZQTSArMDEwMCwgTWFhcnRl biBMYW5raG9yc3Qgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+IE9wIDE4LTExLTE2IG9tIDE1OjEx IHNjaHJlZWYgVmlsbGUgU3lyasOkbMOkOgo+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIEZyaSwgTm92 IDE4LCAyMDE2IGF0IDAyOjUwOjUyUE0gKzAxMDAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+ ID4gPiA+ID4gPiA+ID4gPiA+PiBPcCAxOC0xMS0xNiBvbSAwODoxMyBzY2hyZWVmIE1hbmFzaSBO YXZhcmU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBDUlRDIHN0YXRlIGNvbm5lY3Rvcl9jaGFuZ2Vk IG5lZWRzIHRvIGJlIHNldCB0byB0cnVlCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBpZiBjb25uZWN0 b3IgbGluayBzdGF0dXMgcHJvcGVydHkgaGFzIGNoYW5nZWQuIFRoaXMgd2lsbCB0ZWxsIHRoZQo+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gZHJpdmVyIHRvIGRvIGEgY29tcGxldGUgbW9kZXNldCBkdWUg dG8gY2hhbmdlIGluIGNvbm5lY3RvciBwcm9wZXJ0eS4KPiA+ID4gPiA+ID4gPiA+ID4gPj4+Cj4g PiA+ID4gPiA+ID4gPiA+ID4+PiBBY2tlZC1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRs YW5kQGFtZC5jb20+Cj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBBY2tlZC1ieTogVG9ueSBDaGVuZyA8 dG9ueS5jaGVuZ0BhbWQuY29tPgo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gQ2M6IGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gPiA+ID4gPiA+ID4gPj4+IENjOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNp LmQubmF2YXJlQGludGVsLmNvbT4KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IC0tLQo+ID4gPiA+ID4g PiA+ID4gPiA+Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgNyArKysr KysrCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBpbmRleCAwYjE2NTg3Li4y MTI1ZmQxIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMKPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBAQCAtNTE5 LDYgKzUxOSwxMyBAQCBzdGF0aWMgaW50IGhhbmRsZV9jb25mbGljdGluZ19lbmNvZGVycyhzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgCQkJCQkg ICAgICAgY29ubmVjdG9yX3N0YXRlKTsKPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAJCWlmIChyZXQp Cj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgCQkJcmV0dXJuIHJldDsKPiA+ID4gPiA+ID4gPiA+ID4g Pj4+ICsKPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsJCWlmIChjb25uZWN0b3ItPnN0YXRlLT5jcnRj KSB7Cj4gPiA+ID4gPiA+ID4gPiA+ID4+PiArCQkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0 X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUsCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiArCQkJCQkJ CQkJY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yyk7Cj4gPiA+ID4gPiA+ID4gPiA+ID4+PiArCQkJaWYg KGNvbm5lY3Rvci0+bGlua19zdGF0dXMgPT0gRFJNX01PREVfTElOS19TVEFUVVNfQkFEKQo+ID4g PiA+ID4gPiA+ID4gPiA+Pj4gKwkJCQljcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0 cnVlOwo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKwkJfQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gIAl9 Cj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgCS8qCj4gPiA+ ID4gPiA+ID4gPiA+ID4+IFRoaXMgd2lsbCBjYXVzZSBvcmRpbmFyeSBhdG9taWMgY29tbWl0cyB0 aGF0IGhhcHBlbiB0byBjaGFuZ2UgY29ubmVjdG9yIGZsYWdzIHRvIHBvdGVudGlhbGx5IGZhaWwg d2l0aCAtRUlOVkFMIGlmIEFMTE9XX01PREVTRVQgaXMgbm90IHNldC4KPiA+ID4gPiA+ID4gPiA+ ID4gPj4gRm9yIHRoaXMgcmVhc29uIEknbSBub3Qgc3VyZSB0aGlzIGZsYWcgc2hvdWxkIGJlIHNl dCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBrZXJuZWwuIENvdWxkIHdlIGFkZCBhZGQgYSByZXRyYWlu IGxpbmsgcHJvcGVydHkgaW5zdGVhZCwgdGhhdAo+ID4gPiA+ID4gPiA+ID4gPiA+PiBhbHdheXMg cmV0dXJuIDAgd2hlbiBxdWVyaWVkLCBidXQgd3JpdGluZyBhIDEgY2F1c2luZyBjb25uZWN0b3Jz X2NoYW5nZWQgdG8gYmUgc2V0IG9uIGJhZCBsaW5rIHN0YXR1cz8KPiA+ID4gPiA+ID4gPiA+ID4g PiBPciBqdXN0IGNoZWNrIGZvciBhbGxvd19tb2Rlc2V0IGJlZm9yZSBzZXR0aW5nIGNvbm5lY3Rv cnNfY2hhbmdlZD10cnVlIGhlcmU/Cj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4g PiBJIGRvbid0IHRoaW5rIG1vZGVzZXRzIHNob3VsZCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgbGlr ZSB0aGF0LCBldmVuIGlmIEFMTE9XX01PREVTRVQgaXMgc2V0IGEgbW9kZXNldCBtYXkgbm90IGJl IGV4cGVjdGVkIGJ5IHVzZXJzcGFjZS4KPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4g UHJlc3VtYWJseSB1c2Vyc3BhY2Ugd291bGQgd2FudCBhIHBpY3R1cmUgb24gdGhlIHNjcmVlbiB1 c2luZyBhbnkgbWVhbnMKPiA+ID4gPiA+ID4gPiA+IGlmIGl0IHNhaWQgQUxMT1dfTU9ERVNFVC4g U28gaWYgaXQgY2FuJ3QgdG9sZXJhdGUgdGhlIG1vZGVzZXQgaXQgc2hvdWxkCj4gPiA+ID4gPiA+ ID4gPiBwcm9iYWJseSBzYXkgYXMgbXVjaD8KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBZ ZWFoLCBhZ3JlZWQuIEFsc28sIGlmIHRoZSBsaW5rIGlzIGJhZCB0aGVuIHdlIHByZXR0eSBtdWNo IGhhdmUgdG8gZG8gYQo+ID4gPiA+ID4gPiA+IG1vZGVzZXQgdG8gcmVjb3ZlciBpdCwgb3RoZXJ3 aXNlIHlvdSdsbCBiZSBmb3JldmVyIHN0dWNrIHdpdGggYSBiYWQKPiA+ID4gPiA+ID4gPiBzY3Jl ZW4uCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gV2hhdCB3ZSBjb3VsZCB0cnkgaXMgdG8g Z2F0ZSB0aGlzIG9mIHdoZXRoZXIgdXNlcnNwYWNlIHRvdWNoZXMgdGhlIG1vZGUKPiA+ID4gPiA+ ID4gPiBwcm9wZXJ0eSBvbiB0aGUgY29ycmVzcG9uZGluZyBDUlRDLiBJLmUuIGlmIHRoYXQncyB0 b3VjaGVkIChldmVuIGlmIGl0J3MKPiA+ID4gPiA+ID4gPiB0aGUgc2FtZSBtb2RlKSwgYW5kIGEg bGluayBpcyBiYWQgaW4gb25lIG9mIHRoZSBjb25uZWN0b3JzIGluIHRoZSBzdGF0ZQo+ID4gPiA+ ID4gPiA+IHRoZW4gd2UgZG8gYSBmdWxsIG1vZGVzZXQgdG8gcmVjb3Zlci4KPiA+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gPiBBbm90aGVyIG9wdGlvbiB3b3VsZCBiZSB0byBtYWtlIHRoZSBsaW5r IHN0YXR1cyB3cml0ZWFibGUuIFRyeWluZyB0bwo+ID4gPiA+ID4gPiA+IGNoYW5nZSBpdCBmcm9t IGJhZC0+Z29vZCB3b3VsZCBmb3JjZSB0aGUgbW9kZXNldC4gVGhhdCB3b3VsZCBiZSAxMDAlIGNs ZWFyCj4gPiA+ID4gPiA+ID4gdG8gdXNlcnNwYWNlLCBub3Qgc3BlY2lhbCBoYWNrcyBuZWVkZWQg d2l0aCBjaGVja2luZyBmb3IgYWxsb3dfbW9kZXNldCwKPiA+ID4gPiA+ID4gPiBubyBtYWdpYyBw cm9wZXJ0eSB0aGF0IGF1dG8tY2hhbmdlcyBpdHMgdmFsdWUuIEFuZCAxMDAlIGJhY2t3YXJkcyBj b21wYXQKPiA+ID4gPiA+ID4gPiBiZWNhdXNlIGV4aXN0aW5nIHVzZXJzcGFjZSBzaG91bGQgbmV2 ZXIgdG91Y2ggcHJvcGVydGllcyBpdCBkb2Vzbid0Cj4gPiA+ID4gPiA+ID4gdW5kZXJzdGFuZCAo ZXhjZXB0IHdoZW4gcmVzdG9yaW5nIGEgbW9kZSwgYW5kIHRoZW4gaXQgc2hvdWxkIGFsbG93IGEg ZnVsbAo+ID4gPiA+ID4gPiA+IG1vZGVzZXQpLiBBbmQgaWYgc29tZW9uZSBkb2VzIHRyeSBhIGdv b2QtPmJhZCB0cmFuc2l0aW9uLCB3ZSBqdXN0IHNpbGVudGx5Cj4gPiA+ID4gPiA+ID4ga2VlcCBp dCBhdCBnb29kLgo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IERlZmluaXRlbHkgbmVlZCB0 byBkb2N1bWVudCB0aGlzIHByb3Blcmx5IGluIHRoZSBwcm9wZXJ0eSBkb2NzLCBubyBtYXR0ZXIK PiA+ID4gPiA+ID4gPiB3aGF0IHdlIGRlY2lkZS4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEht bS4gSSB0aGluayBJIGtpbmRhIGxpa2UgdGhpcyBpZGVhIG9mIHVzZXJzcGFjZSBjbGVhciB0aGUg c3RhdGUgYmFjawo+ID4gPiA+ID4gPiB0byBnb29kIGV4cGxpY2l0bHksIGlmIGl0IGhhcHBlbnMg d2l0aCB0aGUgc2FtZSBwcm9wLiBTbyBpdCdzIGxpa2UKPiA+ID4gPiA+ID4gTWFhcnRlbidzIHJl dHJhaW5fbGluayBwcm9wIGlkZWEsIGJ1dCB3aXRob3V0IGhhdmluZyB0byBhZGQgdGhlIHNlY29u ZAo+ID4gPiA+ID4gPiBwcm9wIHRvIHRoZSBtaXguCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJ dCB3b3VsZCBhbHNvIHNhdmUgbWUgZnJvbSBwb2ludGluZyBvdXQgKGZvciB0aGUgbnRoIHRpbWUp IHRoYXQgdGhlCj4gPiA+ID4gPiA+IGxpbmsgc3RhdHVzIHNob3VsZCByZWFsbHkgYmUgY2xlYXJl ZCB0byBnb29kIGR1cmluZyB0aGUgY29tbWl0IHN0YXRlCj4gPiA+ID4gPiA+IHN3YXAgYW5kIG5v dCBhdCBzb21lIHJhbmRvbSBwb2ludCBkdXJpbmcgdGhlIGNvbW1pdCA7KQo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gCj4gPiA+ID4gPiBPa2F5LCBzbyBjaGFuZ2UgMSBpcyB0byBtYWtlIHRoZSB1c2Vy c3BhY2UgY2xlYXIgdGhlIHN0YXRlIGJhY2sgdG8gR29vZCBmb3IgdGhlIHByb3BlcnR5Li4KPiA+ ID4gPiA+IFRoZW4gQ2hhbmdlIDIgaXMgdG8gc2V0IGNvbm5lY3Rvcl9jaGFuZ2VkIGZsYWcgaW4g Y3J0Y19zdGF0ZSB0byB0cnVlIGlmIHRoaXMgcHJvcGVydHkgY2hhbmdlZAo+ID4gPiA+ID4gZnJv bSBCQUQgdG8gR09PRC4gSSBhbSBub3QgcXVpdGUgaG93IGFuZCB3aGVyZSB0byBjaGFuZ2UgdGhp cyB0byBzdGF0ZSBjb25uZWN0b3JfY2hhbmdlZCB0byB0cnVlLgo+ID4gPiA+ID4gV2l0aG91dCB0 aGlzIHRoZSBmdWxsIG1vZGVzZXQgd2lsbCBub3QgaGFwcGVuIGFuZCB0aGUgd2hvbGUgZGVzaWdu IG9mIHJldHJpYW5pbmcgaXMgbG9zdC4KPiA+ID4gPiAKPiA+ID4gPiBUbyBtYWtlIHRoaXMgd29y ayB3ZSBuZWVkIGEgZmV3IG1vcmUgYml0czoKPiA+ID4gPiAKPiA+ID4gPiAtIGxpbmstc3RhdHVz IG5lZWRzIHRvIGJlY29tZSBhIGZ1bGwtYmxvd24gYXRvbWljIHByb3BlcnR5LiBUaGlzIG1lYW5z IHdlCj4gPiA+ID4gICBuZWVkIHRvIG1vdmUgbGlua19zdGF0dXMgaW50byBkcm1fY29ubmVjdG9y X3N0YXRlLCBtYXJrIHRoZSBwcm9wZXJ0eSBhcwo+ID4gPiA+ICAgdHlwZSBBVE9NSUMgYW5kIHdp cmUgdXAgdGhlIGdldC9zZXQgc3R1ZmYuCj4gPiA+ID4gCj4gPiA+ID4gLSBvbmNlIHRoYXQncyBk b25lIGl0J3MgYWxzbyBwcmV0dHkgZWFzeSB0byBzZXQgY3J0Yy0+Y29ubmVjdG9yc19jaGFuZ2Vk Cj4gPiA+ID4gICBmcm9tIHRoZSBhdG9taWMgaGVscGVycy4gWW91IGNhbiBqdXN0IGNvbXBhcmUg b2xkIGFuZCBuZXcgbGlua19zdGF0dXMgaW4KPiA+ID4gPiAgIGRybV9jb25uZWN0b3Jfc3RhdGUs IHNpbWlsYXIgdG8gaG93IHdlIGNvbXBhcmUgb2xkL25ldyBDUlRDIGluCj4gPiA+ID4gICBkcm1f Y29ubmVjdG9yX3N0YXRlLT5jcnRjIGFscmVhZHkuCj4gPiA+ID4gCj4gPiA+ID4gLSBBbm90aGVy IGZhbGxvdXQgaXMgdGhhdCBsZWdhY3kgY2xpZW50cyB3aWxsIG5vIGxvbmdlciBzZWUgdGhlCj4g PiA+ID4gICBsaW5rLXN0YXR1cyBwcm9wZXJ0eS4gQW5kIHRoZXkgd29uJ3QgYmUgYWJsZSB0byBz ZXQgaXQgdGhyb3VnaCB0aGUKPiA+ID4gPiAgIFNFVENSVEMgaW9jdGwsIHdoaWNoIHdvdWxkIGtp bmRhIGRlZmF1dCB0aGUgcG9pbnQuIEkgdGhpbmsgdGhlIGJlc3QKPiA+ID4gPiAgIHNvbHV0aW9u IHdvdWxkIGJlIHRvIGNoZWNrIGZvciBsaW5rX3N0YXR1cyA9PSBCQUQgaW4KPiA+ID4gPiAgIGRy bV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsIGFuZCByZXNldCBpdCB0byBnb29kIGF1dG9tYXRp Y2FsbHkgZm9yCj4gPiA+ID4gICBsZWdhY3kgY2xpZW50cy4KPiA+ID4gCj4gPiA+IFRoZW4gaG93 IGRvIHRoZXkga25vdyB0aGF0IHRoZSBrZXJuZWwgZGVtYW5kcyB0aGUgbW9kZXNldD8gQm90aCBh IGxlZ2FjeQo+ID4gPiBhbmQgYXRvbWljIHByb3BlcnR5Pwo+ID4gCj4gPiBJIGd1ZXNzIHdlIGNv dWxkIGF2b2lkIHRoZSBmaWx0ZXJpbmcgb2YgdGhlIHByb3BlcnR5IGZvciBsZWdhY3kgY2xpZW50 cy4KPiA+IERlZmluaXRlbHkgbm90IDIgcHJvcGVydGllcywgdGhhdCdzIHNpbGx5LiBPciB3ZSB0 ZWFjaCB1c2Vyc3BhY2UgdG8gZ28KPiA+IGxvb2sgZm9yIGF0b21pYyBwcm9wZXJ0aWVzLgo+IAo+ IFdlbGwsIG5vdyB0aGF0IEkgZmx1c2hlZCB0aGUgZ3VuayBvdXQgb2YgbXkgYnJhaW4gd2l0aCBz b21lIHdvcmstb3V0IGl0J3MKPiBhIGxvdCBlYXNpZXI6IEFUT01JQyBvbiBwcm9wZXJ0aWVzIGlz IG9ubHkgdG8gaGlkZSB0aGVtIGZyb20gbGVnYWN5Cj4gdXNlcnNwYWNlLCBpdCBkb2Vzbid0IGNv bnRyb2wgaG93IGl0J3MgaW1wbGVtZW50LiBXaGljaCBtZWFucyB3ZSBjYW4KPiBpbXBsZW1lbnQg aXQgYXMgZGVzY3JpYmVkIGFib3ZlLCBhbmQgbm9uLWF0b21pYyB1c2Vyc3BhY2UgY2FuIHN0aWxs IHJlYWQKPiBpdC4gU2V0dGluZyB3b3VsZCBhbHNvIHdvcmssIGJ1dCBzaW5jZSB3ZSB3YW50IHRv IGRvIHRoYXQgYXMgcGFydCBvZgo+IFNFVENSVEMgYW55d2F5LCBhbmQgc2luY2UgbGVnYWN5IFNF VENSVEMgZG9lc24ndCBzcGVjaWZpeSB3aGV0aGVyIGEKPiBtb2Rlc2V0IHdpbGwgaGFwcGVuIG9y IG5vdCwgYXV0b21hZ2ljIGluIHRoZXJlIHNlZW1zIHJlYXNvbmFibGUuCj4gLURhbmllbAo+IC0t IAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K PiBodHRwOi8vYmxvZy5mZndsbC5jaAoKVGhhbmtzIERhbmllbCBmb3IgcHJvdmlkaW5nIHRoZSBz b2x1dGlvbiBhbHRlcm5hdGl2ZXMgaGVyZS4KU28gYWZ0ZXIgd2UgbWFrZSBpdCBhdG9taWMsIHdl IHdvdWxkIHNvbHZlIHRoZSBwcm9ibGVtIG9mIHVwZGF0aW5nIHRoZSBjb25uZWN0b3JfY2hhbmdl ZAppbiBhdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQgZnVuY3Rpb24uIFNvIGluIHRoaXMsIHdo byByZXNldHMgdGhlIHByb3BlcnR5IHRvIEdPT0Q/CldvdWxkIHRoaXMgaGFwcGVuIGluIGRybV9h dG9taWNfaGVscGVyX3NldF9jb25maWcgaW4gYm90aCBhdG9taWMgYW5kIG5vbiBhdG9taWMgY2Fz ZXM/CgpBbmQgaW4gY2FzZSBvZiBub24gYXRvbWljIHVzZXJzcGFjZSwgd2lsbCBpdCBzdGlsbCBi ZSBhYmxlIHRvIHJlYWQgbGluay1zdGF0dXMgYXMgQkFEIGluIHVzZXJzcGFjZQp0byBkZWNpZGUg d2hldGhlciBpdCBuZWVkcyB0byBjYWxsIHNldGNydGM/CgpDaHJpcywgd2lsbCBhbnkgaW1wbGVt ZW50YXRpb24gaW4geW91ciBwYXRjaCBmb3IgbGluayBfc3RhdHVzIGNoYW5nZSBpZiB0aGlzIGlz IG1hZGUgYXRvbWljPwoKTWFuYXNpIApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK