From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: KMS backlight ABI proposition Date: Wed, 22 Feb 2017 17:38:31 +0200 Message-ID: <87fuj6i6bs.fsf@intel.com> References: <4b17ba08-39f3-57dd-5aad-d37d844b02c6@linux.intel.com> <14595a0f-f743-2714-b256-5886f450567a@linux.intel.com> <20170220162551.GA15493@ulmo.ba.sec> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id B895D6E83B for ; Wed, 22 Feb 2017 15:38:35 +0000 (UTC) In-Reply-To: <20170220162551.GA15493@ulmo.ba.sec> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , Martin Peres Cc: Daniel Thompson , Jingoo Han , "dri-devel@lists.freedesktop.org" , Hans de Goede , Martin =?utf-8?B?R3LDpMOfbGlu?= , plasma-devel@kde.org, Lee Jones List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMCBGZWIgMjAxNywgVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWls LmNvbT4gd3JvdGU6Cj4+ICAtIFRoZSBsdW1pbmFuY2UgY3VydmUgb2YgdGhlIGJhY2tsaWdodCBk cml2ZXJzIGlzIG5vdCBzcGVjaWZpZWQsIHdoaWNoCj4+IGNhbiBsZWFkIHRvIGEgYmFkIHVzZXIg ZXhwZXJpZW5jZTogTGl0dGxlIGNoYW5nZXMgaW4gdGhlIGhpZ2hlc3QgbGV2ZWxzCj4+IGJ1dCBk cmFzdGljIGNoYW5nZXMgaW4gdGhlIGxvdyBsZXZlbHMuCj4KPiBJIHRoaW5rIHRoaXMgaXMgc29t ZXRoaW5nIHRoYXQgdGhlIGJhY2tsaWdodCBmcmFtZXdvcmsgc2hvdWxkIHNwZWNpZnkuCj4gSXQn cyBmYWlybHkgdW5saWtlbHkgdGhhdCB5b3UgY291bGQgZ2V0IHRoaXMgcmlnaHQgZXZlcnkgdGlt ZSBpbiB0aGUKPiBkaXNwbGF5IGRyaXZlci4gSSBzdXBwb3NlIGZvciBzb21ldGhpbmcgbGlrZSB4 ODYgdGhpcyBtaWdodCBhY3R1YWxseQo+IHdvcmssIGJ1dCBJIGRvbid0IHRoaW5rIGl0J2xsIHdv cmsgb24gc29tZXRoaW5nIGxpa2UgQVJNIHdoZXJlIHlvdSdkCj4gaGF2ZSB0byBlbmNvZGUgdGhp cyBiYXNlZCBvbiB3aGF0IGJhY2tsaWdodCBkcml2ZXIgd2FzIGFjdHVhbGx5IGJlaW5nCj4gdXNl ZC4KCkkgb3V0bGluZWQgb25lIGlkZWEgZWxzZXdoZXJlIGluIHRoZSB0aHJlYWQgWzFdLgoKWzFd IGh0dHA6Ly9sa21sLmtlcm5lbC5vcmcvci84N212ZGVpN3VnLmZzZkBpbnRlbC5jb20KCj4+IEJl aW5nIGJpLWRpcmVjdGlvbmFsIHdvdWxkIGJlIG9mIGNvdXJzZSB0aGUgYmVzdCwgYnV0IHRoaXMg cmVxdWlyZXMgdGhhdAo+PiBib3RoIGRyaXZlcnMgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2Ygc3Rl cHMsIG90aGVyd2lzZSwgd2UgbWF5IHdyaXRlIGEKPj4gdmFsdWUgdG8gdGhlIHByb3BlcnR5LCBi dXQgZ2V0IGFub3RoZXIgb25lIHdoZW4gcmVhZGluZyBpdCByaWdodCBhZnRlciwKPj4gZHVlIHRv IHRoZSBub24tYmlqZWN0aXZlIG5hdHVyZSBvZiB0aGUgdHJhbnNmb3JtYXRpb24uCj4KPiBJIHRo aW5rIHRoaXMgaXMgdGhlIG9ubHkgcmVhc29uYWJsZSBjaG9pY2UuIEFzIGhhcyBiZWVuIGRpc2N1 c3NlZAo+IGVsc2V3aGVyZSB0cnlpbmcgdG8gbWFwIGRpZmZlcmVudCByYW5nZXMgYWx3YXlzIGhh cyBkcmF3YmFja3MuIEFsc28gaXRzCj4gcmVhbGx5IHRoZSBiYWNrbGlnaHQgZHJpdmVyJ3Mgam9i IHRvIGV4cG9zZSB0aGUgbnVtYmVyIG9mIGJyaWdodG5lc3MKPiBsZXZlbHMgdGhhdCBtYWtlIHNl bnNlIGdpdmVuIHRoZSBzcGVjaWZpYyBoYXJkd2FyZS4KCkkgb3V0bGluZWQgc29tZSBvZiB0aGUg cHJvYmxlbXMgd2l0aCBiaS1kaXJlY3Rpb25hbCBhY2Nlc3MgZWxzZXdoZXJlIGluCnRoZSB0aHJl YWQgWzFdLiBUaGlzIGlzIGFsc28gcmVsYXRlZCB0byBzY2FsaW5nIChvciByZS1yYW5naW5nKSBi ZXR3ZWVuCkFQSSBhbmQgaGFyZHdhcmUuCgo+PiBJdCB3YXMgYnJvdWdodCB1cCB0aGF0IHdlIGNv dWxkIHNpbXBseSBub3QgYWxsb3cgdGhlIGJhY2tsaWdodCB0byBiZQo+PiB0dXJuZWQgb2ZmLCBh bmQganVzdCByZXF1ZXN0IERQTVMgdG8gcmVhY2ggdGhpcyBzdGF0ZS4gSG93ZXZlciwgSSBkbyBu b3QKPj4gdGhpbmsgaXQgaXMgYSBnb29kIGlkZWEgYXMgc29tZSBwYW5lbHMgKGxpa2UgdGhlIG9u ZSBmcm9tIHRoZSBPTFBDKQo+PiBzd2l0Y2ggdG8gZS1wYXBlciBtb2RlIHdoZW4gdGhlIGJhY2ts aWdodCBpcyBzZXQgdG8gMCBhbmQgYXJlIHBlcmZlY3RseQo+PiByZWFkYWJsZS4KPgo+IEkgdGhp bmsgdGhpcyBpcyBzb21ldGhpbmcgdGhhdCB0aGUgYmFja2xpZ2h0IEFQSSBzaG91bGQgYmUgc3Ry aWN0ZXIKPiBhYm91dC4gU29tZSBkcml2ZXJzIHNlZW0gdG8gZXF1YXRlIGJyaWdodG5lc3MgMCB3 aXRoIGJhY2tsaWdodCBvZmYsCj4gd2hpbGUgb3RoZXJzIGRvbid0LiBUaGF0J3MgcmVhbGx5IGNv bmZ1c2luZyBpbiBteSBvcGluaW9uLiBTaW5jZSB3ZQo+IGFscmVhZHkgaGF2ZSBzZXBhcmF0ZSBw cm9wZXJ0aWVzIGZvciBib3RoIChhbmQgcmVmbGVjdGVkIGluIHN5c2ZzKSwKPiBJIHRoaW5rIHRo ZSBtb3N0IHNlbnNpYmxlIHRoaW5nIHRvIGRvIHdvdWxkIGJlIHRvIGZvcm1hbGl6ZSB0aGlzIGlu Cj4gdGhlIGJhY2tsaWdodCBzdWJzeXN0ZW0uCgpZZXMsIHdlIHNob3VsZCBiZSBjbGVhciBpbiB0 aGUgc3BlY2lmaWNhdGlvbiwgYnV0IGFsc28gcHJvdmlkZQpyZWNvbW1lbmRhdGlvbiBmb3IgY2Fz ZXMgd2hlcmUgMSkgdGhlIGRyaXZlciBkb2VzIG5vdCBrbm93IHdoZXRoZXIgdGhlCmxvd2VzdCB2 YWx1ZSBpcyBvZmYgb3Igbm90LCAyKSB0aGUgZHJpdmVyIGNhbid0IHN3aXRjaCB0aGUgYmFja2xp Z2h0Cm9mZi4KCihSZWFzb25zIGZvciB0aGUgbGF0dGVyIG1pZ2h0IGJlIHRoYXQgeW91IGp1c3Qg Y2FuJ3Qgc3dpdGNoIHRoZSBQV00KZ2VuZXJhdG9yIG9mZiBhbG9uZSwgb3IgaXQgbXVzdCBiZSBk b25lIGluIHNlcXVlbmNlIHdpdGggb3RoZXIgaGFyZHdhcmUKdGhhdCByZWFsbHkgbmVlZHMgYSBm dWxsIERQTVMsIGFuZCB0aGUgUFdNIG9yIGJvYXJkIGRlc2lnbiBkb2VzIG5vdAphbGxvdyAwIGR1 dHkgY3ljbGUgd2l0aCB0aGUgUFdNIG9uLiBUaGlzIGlzIG5vdCB0aGVvcmV0aWNhbC4pCgo+IElm IHdlIGV4cG9zZSBhbGwgdmFsdWVzIHRoYXQgdGhlIGJhY2tsaWdodCBkcml2ZXIgZXhwb3Nlcywg dGhlbiB0aGVyZQo+IHNob3VsZCBiZSBubyByZWFzb24gbm90IHRvIHRydXN0IHRoYXQgd2hlbiB3 ZSBzZXQgYSB2YWx1ZSB3aXRoaW4gdGhlCj4gZ2l2ZW4gcmFuZ2UsIGl0IHdpbGwgYmUgdGhlIHZh bHVlIHRoYXQncyBhY3R1YWxseSBnb2luZyB0byBiZQo+IHByb2dyYW1tZWQuCgpTZWUgWzFdLgoK Pj4gIC0gVW5pLWRpcmVjdGlvbmFsOiBLTVMgLT4gYmFja2xpZ2h0Cj4KPiBJIGRvbid0IHRoaW5r IHRoYXQnbGwgd29yayB2ZXJ5IHdlbGwuIEF0IHRoZSB2ZXJ5IGxlYXN0IHdlJ2xsIG5lZWQgdG8K PiByZWFkIGJhY2sgdGhlIGluaXRpYWwgYnJpZ2h0bmVzcy4gQW5kIHRoZW4gdGhlcmUncyB0aGUg aXNzdWUgb2YgdGhlc2UKPiBicmlnaHRuZXNzIHZhbHVlcyBnb2luZyBvdXQgb2Ygc3luYy4gQm90 aCBvZiB3aGljaCBhcmUgbGlrZWx5IGdvaW5nIHRvCj4gcmVzdWx0IGluIHZlcnkgYW5ub3lpbmcg dXNlciBpbnRlcmZhY2UgYmVoYXZpb3VyLiBCaWRpcmVjdGlvbmFsIHNvdW5kcwo+IGxpa2UgdGhl IGJlc3QgdG8gbWUsIGFuZCBJIGRvbid0IHRoaW5rIGl0IHdvdWxkIGJlIHZlcnkgZGlmZmljdWx0 IHRvCj4gaW1wbGVtZW50LCBlaXRoZXIuCgpTZWUgWzFdLiAoU29ycnkgZm9yIHRoZXNlIHR5cGVz IG9mIGFubm95aW5nIHJlZmVyZW5jZXMsIGJ1dCBJIGFscmVhZHkKcmVwbGllZCB0aGVyZSBhbmQg ZG9uJ3Qgd2FudCB0byBzcGxpdCB0aGUgZGlzY3Vzc2lvbiBhYm91dCB0aGUgc2FtZQp0aGluZyBm dXJ0aGVyLikKCj4+ICAtIERvIG5vdCBkZWFsIHlldCB3aXRoIDMpIGFuZCA0KTogSSBoYXZlIGlk ZWFzLCBidXQgSSBoYXZlIGJlZW4KPj4gcHJvY3Jhc3RpbmF0aW5nIGxvbmctZW5vdWdoIHRvIHNl bmQgdGhpcyBlbWFpbCBhbmQgd2UgYWxyZWFkeSBoYXZlIG11Y2gKPj4gdG8gZGlzY3VzcyEKPgo+ IEkgdGhpbmsgd2Ugc2hvdWxkIHB1c2ggMykgaW50byBiYWNrbGlnaHQgZHJpdmVycyB3aGVyZSB0 aGlzIGtub3dsZWRnZQo+IHNob3VsZCBleGlzdC4gSSBzdXNwZWN0IHRoZXJlIGNvdWxkIGJlIGVk Z2UgY2FzZXMgd2hlcmUgdGhlIGRyaXZlciBkb2VzCj4gbm90IGV4cG9zZSBhIHNlbnNpYmxlIHJh bmdlICh0aGluayAwLTY1NTM1LCB3aXRoIG5vIG9idmlvdXMgcmVsYXRpb24gdG8KPiBicmlnaHRu ZXNzIGF0IGFsbCkuIEluIHRob3NlIGNhc2VzIEkgdGhpbmsgd2UgY291bGQgcG9zc2libGUgb3Zl cmxheSBhCj4gYmFja2xpZ2h0IGRyaXZlciB0aGF0IG1ha2VzIHNvbWV0aGluZyB1c2VmdWwgb3V0 IG9mIHRob3NlIHZhbHVlcywKPiBwb3NzaWJseSB1c2luZyBkZXZpY2Utc3BlY2lmaWMga25vd2xl ZGdlLgo+Cj4+ICAtIERvZXMgbm90IGV4cG9zZSB0aGUgY3VycmVudCBiYWNrbGlnaHQgcG93ZXIg YXMgd2Ugd2FudCB0byBsZXQgdGhlCj4+IGtlcm5lbCBkZWFsIHdpdGggRFBNUyBvbiBpdHMgb3du Cj4KPiBJIHRoaW5rIERQTVMgYW5kIGJhY2tsaWdodCBwb3dlciBhcmUgc2VwYXJhdGUgdGhpbmdz LiBBcyB3YXMgbWVudGlvbmVkCj4gZWxzZXdoZXJlIHRoZXJlIGFyZSBjYXNlcyB3aGVyZSBpdCBt YWtlcyBzZW5zZSB0byBkaXNhYmxlIHRoZSBiYWNrbGlnaHQKPiBidXQga2VlcCB0aGUgZGlzcGxh eSBwaXBlbGluZSBydW5uaW5nLiBJdCdzIHByb2JhYmx5IG9rYXkgdG8gbm90IHN1cHBvcnQKPiB0 aGVzZSByaWdodCBhd2F5LCBidXQgSSB0aGluayB3ZSBuZWVkIHRvIGJlIGNhcmVmdWwgdG8gZGVz aWduIGFuCj4gaW50ZXJmYWNlIHRoYXQgd2lsbCBhbGxvdyB0aGVtIHRvIGJlIHN1cHBvcnRlZCBs YXRlciBvbi4KClNob3VsZCB3ZSBlbmNvdXJhZ2UgYSBiYWNrbGlnaHQgb24vb2ZmIGludGVyZmFj ZSB3aGVuIHdlIGNhbid0IGJlIHN1cmUKd2hldGhlciB0aGUgYmFja2xpZ2h0IGNhbiBiZSBzd2l0 Y2hlZCBvZmY/IFRoZSBPTFBDIGNhc2UgaXMgYSB2YWxpZCBvbmUsCmJ1dCBJIGRvbid0IHdhbnQg dG8gZW5jb3VyYWdlIGJhY2tsaWdodCBvZmYgYXMgYSAibGlnaHQgRFBNUyIuCgooU2lkZSBub3Rl LCB3ZSBzaG91bGQgcmVhbGx5IHJlbWVtYmVyIHRoYXQgYWxsIGJyaWdodG5lc3MgaXMgbm90CmJh Y2tsaWdodCBlaXRoZXIuKQoKPj4gPT09IEFCSSBwcm9wb3NhbCA9PT0KPj4gCj4+IFRoZSBicmln aHRuZXNzIHByb3BlcnR5IE1VU1QgaGF2ZSB2YWx1ZXMgMC4uLjEwMCBpbmNsdXNpdmUuCj4+IAo+ PiBUaGUgZGlzcGxheSBicmlnaHRuZXNzIE1VU1QgYmUgYSBtb25vdG9uaWNhbGx5IGluY3JlYXNp bmcgZnVuY3Rpb24gb2YKPj4gdGhlIGJyaWdodG5lc3MgcHJvcGVydHkuCj4+IAo+PiBCcmlnaHRu ZXNzIHByb3BlcnR5IHZhbHVlIDEgTVVTVCBtZWFuIHRoZSBtaW5pbXVtIHN1cHBvcnRlZCB2aXNp YmxlCj4+IGJyaWdodG5lc3MuCj4+IAo+PiBCcmlnaHRuZXNzIHByb3BlcnR5IHZhbHVlIDEwMCBN VVNUIG1lYW4gdGhlIG1heGltdW0gc3VwcG9ydGVkCj4+IGJyaWdodG5lc3MuCj4+IAo+PiBCcmln aHRuZXNzIHByb3BlcnR5IHZhbHVlIDAgU0hPVUxEIG1lYW4gYmFja2xpZ2h0IG9mZiBvciBlcXVp dmFsZW50IGZvcgo+PiBub24tYmFja2xpZ2h0IGJyaWdodG5lc3MgYWRqdXN0bWVudCwgdHlwaWNh bGx5IGNvbXBsZXRlbHkKPj4gYmxhY2suIEJyaWdodG5lc3MgcHJvcGVydHkgdmFsdWUgMCBNVVNU IE5PVCBzd2l0Y2ggdGhlIGRpc3BsYXkgb3IgcGlwZQo+PiBvZmYgWzFdLgo+Cj4gV2h5IHNwZWNp YWwgY2FzZSAwPyBDb3VsZG4ndCB3ZSBzaW1wbHkgYWRkIGEgc2Vjb25kIHByb3BlcnR5IGZvciB0 aGUKPiBwb3dlcj8gV2UgY291bGQgZm9yIGV4YW1wbGUgaGF2ZSBhIGJvb2xlYW4gImJhY2tsaWdo dCIgcHJvcGVydHkgdGhhdAo+IHVzZXJzcGFjZSBjYW4gdHVybiAiT24iIG9yICJPZmYiIGFuZCBh ICJicmlnaHRuZXNzIiBwcm9wZXJ0eSB3aGljaAo+IGNvbnRyb2xzIHRoZSBiYWNrbGlnaHQgYnJp Z2h0bmVzcy4KClZlcnkgZmV3IG9mIHRoZSBiYWNrbGlnaHQgY2xhc3MgaW1wbGVtZW50YXRpb25z IHN1cHBvcnQgdGhlIGJsX3Bvd2VyCmF0dHJpYnV0ZSB0byBzd2l0Y2ggb2ZmIHRoZSBiYWNrbGln aHQuIEV2ZW4gaWYgdGhleSBjYW4gYmUgc3dpdGNoZWQgb2ZmCnVzaW5nIDAgYnJpZ2h0bmVzcy4g VW5sZXNzIHdlJ3JlIGxvb2tpbmcgYXQgY2hhbmdpbmcgYWxsIGJhY2tsaWdodApkcml2ZXJzLCB0 aGUgcHJvcGVydHkgaW1wbGVtZW50YXRpb24gY2FuIG9ubHkgdHJ5IHRvIHVzZSB2YWx1ZSAwIGZv cgpiYWNrbGlnaHQgb2ZmLiBCdXQgd2UgZG9uJ3Qga25vdyBpZiBpdCdzIG9mZiBvciBtaW5pbXVt IG9yIHdoYXQuIEFsc28Kc2VlIGJlbG93LgoKPj4gSWYgdGhlIGhhcmR3YXJlIGlzIG5vdCBjYXBh YmxlIG9mIHN1cHBvcnRpbmcgemVybyBicmlnaHRuZXNzLCBhbmQgdGhlCj4+IGRyaXZlciBrbm93 cyB0aGlzLCB2YWx1ZSAwIE1VU1QgYmUgZXF1YWwgdG8gdmFsdWUgMS4KPj4gCj4+IElmIHRoZSBk cml2ZXIgZG9lcyBub3Qga25vdyB3aGV0aGVyIHRoZSBoYXJkd2FyZSBpcyBjYXBhYmxlIG9mCj4+ IHN1cHBvcnRpbmcgemVybyBicmlnaHRuZXNzLCB0aGUgZHJpdmVyIFNIT1VMRCBlcnIgb24gdGhl IHNpZGUgb2YgMCBub3QKPj4gYmVpbmcgb2ZmIHJhdGhlciB0aGFuIDEgbWVhbmluZyBvZmYuIElu IHRoaXMgY2FzZSwgdmFsdWUgMCBpcyBsaWtlbHkKPj4gZGlmZmVyZW50IGZyb20gdmFsdWUgMSwg YW5kIHRoZSBtaW5pbXVtIGJyaWdodG5lc3MgY2FuIG9ubHkgYmUgcmVhY2hlZAo+PiB2aWEgcHJv cGVydHkgdmFsdWUgMCBbMl0uCj4KPiBZZWFoLCB0aGlzIGRlZmluaXRpb24gaXMgcmVhbGx5IGNv bXBsaWNhdGVkLiBJJ3ZlIGJlZW4gcmVhZGluZyBpdCB0aHJlZQo+IHRpbWVzIGFuZCBJJ20gbm90 IHN1cmUgSSBmdWxseSB1bmRlcnN0YW5kIGl0LiA9KQo+Cj4gRm9yIG15IHVuZGVyc3RhbmRpbmcs IHdpdGggdGhvc2UgZS1wYXBlciBkaXNwbGF5cywgd2hhdCB3b3VsZCBiZSB0aGUKPiBkaWZmZXJl bmNlIGJldHdlZW4gYnJpZ2h0bmVzcyAwIGFuZCBiYWNrbGlnaHQgb2ZmPyBXb3VsZCBiYWNrbGln aHQgb2ZmCj4gYWN0dWFsbHkgdHVybiBvZmYgdGhlIGRpc3BsYXk/IFNvIHRoYXQgbm8gImluayIg d291bGQgZXZlbiBiZSB2aXNpYmxlPwo+IEZvciBwYW5lbHMgd2UgdHlwaWNhbGx5IGhhdmUgZW5h YmxlZCBhbmQgZGlzYWJsZWQgc3RhdGVzLCB3aGVyZSB0aGUKPiBkaXNhYmxlZCBzdGF0ZSwgYW1v bmcgb3RoZXIgdGhpbmdzLCBhbHNvIHR1cm5zIG9mZiB0aGUgYmFja2xpZ2h0LiBTbwo+IGZvciBw YW5lbHMgd2UgZG8gaGF2ZSBvbmUgbW9yZSBsZXZlbCBvZiBhYnN0cmFjdGlvbi4gRm9yIGUtcGFw ZXItYWJsZQo+IGRpc3BsYXlzIHdlIGNvdWxkIHNpbXBseSBoYXZlIGEgZnVsbCByYW5nZSBvZiBi cmlnaHRuZXNzIHZhbHVlcywgd2l0aAo+IDAgbWVhbmluZyBlLXBhcGVyIG1vZGUgYW5kIHBhbmVs IG9mZiBtZWFuaW5nLCB3ZWxsLCBwYW5lbCBvZmYuCj4KPiBBbHRlcm5hdGl2ZWx5LCBlLXBhcGVy IG1vZGUgY291bGQgYmUgdGhlIHNhbWUgYXMgYmFja2xpZ2h0IG9mZiwgc2luY2UKPiBvYnZpb3Vz bHkgdGhlcmUgaXMgbm8gYmFja2xpZ2h0IGFueW1vcmUsIGluIHdoaWNoIGNhc2UgdGhlcmUgd291 bGRuJ3QgYmUKPiBhIG5lZWQgdG8gZGlmZmVyZW50aWF0ZSB0aGUgc3BlY2lhbCBjYXNlIGZvciAw LgoKVGhlIG1haW4gZ29hbCB3YXMgdG8gYWxsb3cgZm9yIGNhc2VzIHdoZXJlIHlvdSBjYW4ndCBz d2l0Y2ggb2ZmIHRoZQpiYWNrbGlnaHQsIG9yIHlvdSBkb24ndCBrbm93IHdoZXRoZXIgdGhlIGxv d2VzdCB2YWx1ZSBpcyBwaXRjaCBibGFjay4gQXMKSSB3cm90ZSBpbiBbMV0sIHdlIGNhbiBjaGFu Z2UgdGhlIG1lYW5pbmcgb2YgMCwgYnV0IHdlIG5lZWQgdG8gdGFrZSBpbnRvCmFjY291bnQgaXQg cmVhbGx5IG1pZ2h0IG1lYW4gIm9mZiIgZm9yIHNvbWUsIGFuZCAibWluaW11bSB2aXNpYmxlIiBm b3IKb3RoZXJzLgoKVGhlIG9sZCBzeXNmcyBBQkkgaGFuZGxlZCB0aGlzIGJ5IGRlZmVycmluZyBp dCBhbGwgdG8gZHJpdmVycywgYW5kIHdlCmtub3cgdGhlIHJlc3VsdC4uLiB0aGlzIHJlYWxseSBp cyBhbiB1bmhvbHkgbWVzcy4KCkJSLApKYW5pLgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVu IFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK