From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Jakobi Subject: Re: [PATCH v3] drm/exynos: mixer: document YCbCr magic numbers Date: Sun, 16 Apr 2017 13:50:45 +0200 Message-ID: <81f7716f-f406-d42a-933e-c1369142df13@math.uni-bielefeld.de> References: <1489155714-13066-1-git-send-email-tjakobi@math.uni-bielefeld.de> <85a64d59-63d6-54b0-756b-63c36dc85d2b@math.uni-bielefeld.de> <7ffdd11d-bbdf-321d-fc3c-2d40798e902f@math.uni-bielefeld.de> <58EC1048.1030303@samsung.com> <58ED8AC6.6030600@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <58ED8AC6.6030600@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae , Inki Dae Cc: "moderated list:ARM/S5P EXYNOS AR..." , DRI mailing list List-Id: linux-samsung-soc@vger.kernel.org SGVsbG8gSW5raSwKCklua2kgRGFlIHdyb3RlOgo8c25pcD4KPiBUb2JpYXMsIHdoeSBkaWQgeW91 IHBvc3QgdGhlIHBhdGNoIHNldCAxLzIgYW5kIDIvMiBiZWZvcmU/Cj4gSWYgdGhlc2UgcGF0Y2hl cyBjYW4gYmUgYXBwbGllZCBpbmRlcGVuZGVudGx5IC0geW91IGZvdW5kIG91dCBsYXRlciAtIHRo ZW4geW91IG5lZWQgdG8gY2xhcmlmeSB3aHkgeW91IHBvc3RlZCB0aGVtIHNlcGFyYXRlbHkuCgoK YWZ0ZXIgSSBwb3N0ZWQgdjEgb2YgdGhlIHBhdGNoc2V0LCBBbmRyemVqIHJlc3BvbmRlZCB3aXRo IGEgUmV2aWV3ZWQtQnkKZm9yIHBhdGNoIDEvMiBhbmQgc3VnZ2VzdGlvbnMgZm9yIHBhdGNoIDIv Mi4gSSB0aGVuIGludGVncmF0ZWQgdGhlCnN1Z2dlc3Rpb25zIGFuZCBhZGRlZCB0aGUgUmV2aWV3 ZWQtQnkgdGFnLCBoZW5jZSBjaGFuZ2luZyBib3RoIHBhdGNoIDEvMgphbmQgMi8yLiBJIHRoZW4g cG9zdGVkIHYyIG9mIHRoZSBwYXRjaHNldCwgYmVjYXVzZSBfYm90aF8gcGF0Y2hlcwpjaGFuZ2Vk LiBBbmRyemVqIHRoZW4gcG9pbnRlZCBvdXQgdGhhdCB0aGUgdmFsdWVzIHVzZWQgaW4gcGF0Y2gg Mi8yCmNvdWxkIGJlIGZ1cnRoZXIgc2ltcGxpZWQuIEkgdGhlbiBwb3N0ZWQgYSB2MyBvZiBwYXRj aCAyLzIsIGJlY2F1c2Ugb25seQp0aGlzIG9uZSBwYXRjaCBjaGFuZ2VkLgpXaGVuIEkgcGluZ2Vk IHlvdSBjb25jZXJuaW5nIHRoZSBwYXRjaGVzLCBJIHNwZWNpZmljYWxseSBkaWQgdGhpcyB3aXRo CnYzIG9mIDIvMiwgYW5kIHYyIG9mIDEvMi4gSXQgd2FzIHBlcmZlY3RseSBjbGVhciB3aGljaCBw YXRjaGVzIEkgd2FudGVkCnlvdSB0byBwaWNrIHVwLgpJIGNhbiB1bmRlcnN0YW5kIHdoZW4gbWFp bnRhaW5lcnMgb2YgaGlnaC12b2x1bWUgc3Vic3lzdGVtcyBzb21ldGltZXMKZ2V0IHBhdGNoIHZl cnNpb25zIG1peGVkIHVwLiBCdXQgZHJtLWV4eW5vcyBvbmx5IGdldHMgdmVyeSBmZXcgcGF0Y2hl cwplYWNoIGN5Y2xlLiBJZiB5b3UgaGF2ZSBwcm9ibGVtcyBkZWFsaW5nIHdpdGggeW91ciBtYWlu dGFpbmVyIGR1dGllcyBpbgphIHRpbWVseSBtYW5uZXIsIEkgd291bGQgc3VnZ2VzdCB0byBjb250 YWN0IERhbmllbCBWZXR0ZXIgc28gdGhhdCBleHlub3MKaXMgYWRkZWQgdG8gZHJtLW1pc2MuIEkg cGVyc29uYWxseSB0aGluayBleHlub3Mgd291bGQgYmVuZWZpdCBmcm9tIHN1Y2gKYSBtb3ZlLgoK V2l0aCBiZXN0IHdpc2hlcywKVG9iaWFzCgoKCj4gCj4gVGhhbmtzLAo+IElua2kgRGFlCj4gCj4+ Cj4+Cj4+Pgo+Pj4gSSBjYW4gbWVyZ2UgdGhlIG5ldyBvbmUgLSByZWFsbHkgdHJpdmlhbCAtIGJ1 dCBJIHRoaW5rIGl0J2QgYmUgYmV0dGVyIHlvdSB0byByZXNlbmQgdGhpcyBwYXRjaCBzZXJpZXMg Zm9yIG90aGVyIHBlb3BsZS4KPj4+Cj4+PiBUaGlzIHBhdGNoIHNldCBoYXMgYmVlbiByZW1vdmVk IGZyb20gbXkgdHJlZS4gUGxlYXNlIHJlc2VuZCAobm90IHY0KSB0aGlzIHBhdGNoIHNldCBsaWtl IGJlbG93LAo+Pj4gW1BBVENIIHYzIDAvMl0gZHJtL2V4eW5vczogY2xlYW4gdXAgbWl4ZXIgZHJp dmVyPz8KPj4+IFtQQVRDSCB2MyAxLzJdIGRybS9leHlub3M6IG1peGVyOiBzaW1wbGlmeSBtaXhl cl9jZmdfcmdiX2ZtdCgpCj4+PiBbUEFUQ0ggdjMgMi8yXSBkcm0vZXh5bm9zOiBtaXhlcjogZG9j dW1lbnQgWUNiQ3IgbWFnaWMgbnVtYmVycwo+PiBOb3QgbmVjZXNzYXJ5LCBqdXN0IHBpY2sgdXAg dGhlIHR3byBwYXRjaGVzIHdoaWNoIGZvciB3aGljaCBJIGFscmVhZHkKPj4gcGluZ2VkIHlvdS4g Rm9yIHlvdSBjb252ZW5pZW5jZSwgaGVyZSBhcmUgdGhlIHR3byBvbiBkcmktZGV2ZWwgcGF0Y2h3 b3JrOgo+PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzk2MTcwODUvCj4+IGh0 dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvOTYxNzQ5My8KPj4KPj4gLSBUb2JpYXMK Pj4KPj4KPj4KPj4+Cj4+PiBUaGFua3MsCj4+PiBJbmtpIERhZQo+Pj4KPj4+Pgo+Pj4+IC0gVG9i aWFzCj4+Pj4KPj4+Pgo+Pj4+PiBUaGFua3MsCj4+Pj4+IElua2kgRGFlCj4+Pj4+Cj4+Pj4+PiBX aXRoIGJlc3Qgd2lzaGVzLAo+Pj4+Pj4gVG9iaWFzCj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+IFRvYmlh cyBKYWtvYmkgd3JvdGU6Cj4+Pj4+Pj4gVGhlIG91dHB1dCBzdGFnZSBvZiB0aGUgbWl4ZXIgdXNl cyBZQ2JDciBmb3IgdGhlIGludGVybmFsCj4+Pj4+Pj4gY29tcHV0YXRpb25zLCB3aGljaCBpcyB0 aGUgcmVhc29uIHRoYXQgc29tZSByZWdpc3RlcnMgdGFrZQo+Pj4+Pj4+IFlDYkNyIHJlbGF0ZWQg ZGF0YSBhcyBpbnB1dC4gSW4gcGFydGljdWxhciB0aGlzIGFwcGxpZXMKPj4+Pj4+PiB0byBNWFJf QkdfQ09MT1J7MCwxLDJ9IGFuZCBNWFJfQ01fQ09FRkZfe1ksQ0IsQ1J9Lgo+Pj4+Pj4+Cj4+Pj4+ Pj4gRG9jdW1lbnQgdGhlIGZvcm1hdHRpbmcgb2YgdGhlIGRhdGEgd2hpY2ggd2Ugd3JpdGUgdG8K Pj4+Pj4+PiB0aGVzZSByZWdpc3RlcnMuCj4+Pj4+Pj4KPj4+Pj4+PiBXaGlsZSBhdCBpdCwgdW5p Znkgd29yZGluZyBvZiBjb21tZW50cyBpbiB0aGUgcmVnaXN0ZXIgaGVhZGVyLgo+Pj4+Pj4+Cj4+ Pj4+Pj4gUmV2aWV3ZWQtYnk6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4+ Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVG9iaWFzIEpha29iaSA8dGpha29iaUBtYXRoLnVuaS1iaWVs ZWZlbGQuZGU+Cj4+Pj4+Pj4gLS0tCj4+Pj4+Pj4gQ2hhbmdlcyBpbiB2MjoKPj4+Pj4+PiAtIHVz ZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgYXMgaW5wdXQgZm9yIHRoZSBtYWNyb3MsIGFzCj4+Pj4+ Pj4gICBzdWdnZXN0ZWQgYnkgQW5kcnplago+Pj4+Pj4+IC0gdGhlIGZsb2F0aW5nIHBvaW50IHZh bHVlcyBoYXZlIGJlZW4gdHVuZWQgdG8gZXhhY3RseSBtYXRjaAo+Pj4+Pj4+ICAgdGhlIHZhbHVl cyB0aGF0IGFyZSBjdXJyZW50bHkgdXNlZAo+Pj4+Pj4+Cj4+Pj4+Pj4gQ2hhbmdlcyBpbiB2MzoK Pj4+Pj4+PiAtIHVzZSBvbmx5IHRocmVlIGRpZ2l0IHZhbHVlcyAocG9pbnRlZCBvdXQgYnkgQW5k cnplaikKPj4+Pj4+Pgo+Pj4+Pj4+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhl ci5jIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4+Pj4+Pj4gIGRyaXZl cnMvZ3B1L2RybS9leHlub3MvcmVncy1taXhlci5oICAgfCAgNyArKysrKy0tCj4+Pj4+Pj4gIDIg ZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4+Pj4+Pj4K Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKPj4+Pj4+PiBpbmRleCA0 MWQwYzM2Li45NjQ4ZGQ1IDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX21peGVyLmMKPj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4 eW5vc19taXhlci5jCj4+Pj4+Pj4gQEAgLTQ1LDYgKzQ1LDIyIEBACj4+Pj4+Pj4gICNkZWZpbmUg TUlYRVJfV0lOX05SICAgICAgICAgMwo+Pj4+Pj4+ICAjZGVmaW5lIFZQX0RFRkFVTFRfV0lOICAg ICAgICAgICAgICAgMgo+Pj4+Pj4+Cj4+Pj4+Pj4gKy8qCj4+Pj4+Pj4gKyAqIE1peGVyIGNvbG9y IHNwYWNlIGNvbnZlcnNpb24gY29lZmZpY2llbnQgdHJpcGxldC4KPj4+Pj4+PiArICogVXNlZCBm b3IgQ1NDIGZyb20gUkdCIHRvIFlDYkNyLgo+Pj4+Pj4+ICsgKiBFYWNoIGNvZWZmaWNpZW50IGlz IGEgMTAtYml0IGZpeGVkIHBvaW50IG51bWJlciB3aXRoCj4+Pj4+Pj4gKyAqIHNpZ24gYW5kIG5v IGludGVnZXIgcGFydCwgaS5lLgo+Pj4+Pj4+ICsgKiBbMDo4XSA9IGZyYWN0aW9uYWwgcGFydCAo cmVwcmVzZW50aW5nIGEgdmFsdWUgeSA9IHggLyAyXjkpCj4+Pj4+Pj4gKyAqIFs5XSA9IHNpZ24K Pj4+Pj4+PiArICogTmVnYXRpdmUgdmFsdWVzIGFyZSBlbmNvZGVkIHdpdGggdHdvJ3MgY29tcGxl bWVudC4KPj4+Pj4+PiArICovCj4+Pj4+Pj4gKyNkZWZpbmUgTVhSX0NTQ19DKHgpICgoaW50KSgo eCkgKiA1MTIuMCkgJiAweDNmZikKPj4+Pj4+PiArI2RlZmluZSBNWFJfQ1NDX0NUKGEwLCBhMSwg YTIpIFwKPj4+Pj4+PiArICAoKE1YUl9DU0NfQyhhMCkgPDwgMjApIHwgKE1YUl9DU0NfQyhhMSkg PDwgMTApIHwgKE1YUl9DU0NfQyhhMikgPDwgMCkpCj4+Pj4+Pj4gKwo+Pj4+Pj4+ICsvKiBZQ2JD ciB2YWx1ZSwgdXNlZCBmb3IgbWl4ZXIgYmFja2dyb3VuZCBjb2xvciBjb25maWd1cmF0aW9uLiAq Lwo+Pj4+Pj4+ICsjZGVmaW5lIE1YUl9ZQ0JDUl9WQUwoeSwgY2IsIGNyKSAoKCh5KSA8PCAxNikg fCAoKGNiKSA8PCA4KSB8ICgoY3IpIDw8IDApKQo+Pj4+Pj4+ICsKPj4+Pj4+PiAgLyogVGhlIHBp eGVsZm9ybWF0cyB0aGF0IGFyZSBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlIG1peGVyLiAqLwo+ Pj4+Pj4+ICAjZGVmaW5lIE1YUl9GT1JNQVRfUkdCNTY1ICAgIDQKPj4+Pj4+PiAgI2RlZmluZSBN WFJfRk9STUFUX0FSR0IxNTU1ICA1Cj4+Pj4+Pj4gQEAgLTM5MSwxMyArNDA3LDE0IEBAIHN0YXRp YyB2b2lkIG1peGVyX2NmZ19yZ2JfZm10KHN0cnVjdCBtaXhlcl9jb250ZXh0ICpjdHgsIHVuc2ln bmVkIGludCBoZWlnaHQpCj4+Pj4+Pj4gICAgICAgY2FzZSAxMDgwOgo+Pj4+Pj4+ICAgICAgIGRl ZmF1bHQ6Cj4+Pj4+Pj4gICAgICAgICAgICAgICB2YWwgPSBNWFJfQ0ZHX1JHQjcwOV8xNl8yMzU7 Cj4+Pj4+Pj4gKyAgICAgICAgICAgICAvKiBDb25maWd1cmUgdGhlIEJULjcwOSBDU0MgbWF0cml4 IGZvciBmdWxsIHJhbmdlIFJHQi4gKi8KPj4+Pj4+PiAgICAgICAgICAgICAgIG1peGVyX3JlZ193 cml0ZShyZXMsIE1YUl9DTV9DT0VGRl9ZLAo+Pj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgxIDw8IDMwKSB8ICg5NCA8PCAyMCkgfCAoMzE0IDw8IDEwKSB8Cj4+Pj4+Pj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyIDw8IDApKTsKPj4+Pj4+PiArICAgICAgICAg ICAgICAgICAgICAgTVhSX0NTQ19DVCggMC4xODQsICAwLjYxNCwgIDAuMDYzKSB8Cj4+Pj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgIE1YUl9DTV9DT0VGRl9SR0JfRlVMTCk7Cj4+Pj4+Pj4gICAg ICAgICAgICAgICBtaXhlcl9yZWdfd3JpdGUocmVzLCBNWFJfQ01fQ09FRkZfQ0IsCj4+Pj4+Pj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDk3MiA8PCAyMCkgfCAoODUxIDw8IDEwKSB8 ICgyMjUgPDwgMCkpOwo+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICBNWFJfQ1NDX0NUKC0w LjEwMiwgLTAuMzM4LCAgMC40NDApKTsKPj4+Pj4+PiAgICAgICAgICAgICAgIG1peGVyX3JlZ193 cml0ZShyZXMsIE1YUl9DTV9DT0VGRl9DUiwKPj4+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoMjI1IDw8IDIwKSB8ICg4MjAgPDwgMTApIHwgKDEwMDQgPDwgMCkpOwo+Pj4+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICBNWFJfQ1NDX0NUKCAwLjQ0MCwgLTAuMzk5LCAtMC4wNDAp KTsKPj4+Pj4+PiAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4+Pj4+ICAgICAgIH0KPj4+Pj4+Pgo+ Pj4+Pj4+IEBAIC03MTUsMTAgKzczMiwxMCBAQCBzdGF0aWMgdm9pZCBtaXhlcl93aW5fcmVzZXQo c3RydWN0IG1peGVyX2NvbnRleHQgKmN0eCkKPj4+Pj4+PiAgICAgICAvKiByZXNldCBkZWZhdWx0 IGxheWVyIHByaW9yaXR5ICovCj4+Pj4+Pj4gICAgICAgbWl4ZXJfcmVnX3dyaXRlKHJlcywgTVhS X0xBWUVSX0NGRywgMCk7Cj4+Pj4+Pj4KPj4+Pj4+PiAtICAgICAvKiBzZXR0aW5nIGJhY2tncm91 bmQgY29sb3IgKi8KPj4+Pj4+PiAtICAgICBtaXhlcl9yZWdfd3JpdGUocmVzLCBNWFJfQkdfQ09M T1IwLCAweDAwODA4MCk7Cj4+Pj4+Pj4gLSAgICAgbWl4ZXJfcmVnX3dyaXRlKHJlcywgTVhSX0JH X0NPTE9SMSwgMHgwMDgwODApOwo+Pj4+Pj4+IC0gICAgIG1peGVyX3JlZ193cml0ZShyZXMsIE1Y Ul9CR19DT0xPUjIsIDB4MDA4MDgwKTsKPj4+Pj4+PiArICAgICAvKiBzZXQgYWxsIGJhY2tncm91 bmQgY29sb3JzIHRvIFJHQiAoMCwwLDApICovCj4+Pj4+Pj4gKyAgICAgbWl4ZXJfcmVnX3dyaXRl KHJlcywgTVhSX0JHX0NPTE9SMCwgTVhSX1lDQkNSX1ZBTCgwLCAxMjgsIDEyOCkpOwo+Pj4+Pj4+ ICsgICAgIG1peGVyX3JlZ193cml0ZShyZXMsIE1YUl9CR19DT0xPUjEsIE1YUl9ZQ0JDUl9WQUwo MCwgMTI4LCAxMjgpKTsKPj4+Pj4+PiArICAgICBtaXhlcl9yZWdfd3JpdGUocmVzLCBNWFJfQkdf Q09MT1IyLCBNWFJfWUNCQ1JfVkFMKDAsIDEyOCwgMTI4KSk7Cj4+Pj4+Pj4KPj4+Pj4+PiAgICAg ICBpZiAodGVzdF9iaXQoTVhSX0JJVF9WUF9FTkFCTEVELCAmY3R4LT5mbGFncykpIHsKPj4+Pj4+ PiAgICAgICAgICAgICAgIC8qIGNvbmZpZ3VyYXRpb24gb2YgVmlkZW8gUHJvY2Vzc29yIFJlZ2lz dGVycyAqLwo+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL3JlZ3Mt bWl4ZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvcmVncy1taXhlci5oCj4+Pj4+Pj4gaW5k ZXggN2YyMmRmNS4uYzMxMWY1NyAxMDA2NDQKPj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL3JlZ3MtbWl4ZXIuaAo+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv cmVncy1taXhlci5oCj4+Pj4+Pj4gQEAgLTE0MCwxMSArMTQwLDExIEBACj4+Pj4+Pj4gICNkZWZp bmUgTVhSX0lOVF9FTl9WU1lOQyAgICAgICAgICAgICAoMSA8PCAxMSkKPj4+Pj4+PiAgI2RlZmlu ZSBNWFJfSU5UX0VOX0FMTCAgICAgICAgICAgICAgICAgICAgICAgKDB4MGYgPDwgOCkKPj4+Pj4+ Pgo+Pj4+Pj4+IC0vKiBiaXQgZm9yIE1YUl9JTlRfU1RBVFVTICovCj4+Pj4+Pj4gKy8qIGJpdHMg Zm9yIE1YUl9JTlRfU1RBVFVTICovCj4+Pj4+Pj4gICNkZWZpbmUgTVhSX0lOVF9DTEVBUl9WU1lO QyAgICAgICAgICAoMSA8PCAxMSkKPj4+Pj4+PiAgI2RlZmluZSBNWFJfSU5UX1NUQVRVU19WU1lO QyAgICAgICAgICgxIDw8IDApCj4+Pj4+Pj4KPj4+Pj4+PiAtLyogYml0IGZvciBNWFJfTEFZRVJf Q0ZHICovCj4+Pj4+Pj4gKy8qIGJpdHMgZm9yIE1YUl9MQVlFUl9DRkcgKi8KPj4+Pj4+PiAgI2Rl ZmluZSBNWFJfTEFZRVJfQ0ZHX0dSUDFfVkFMKHgpICAgIE1YUl9NQVNLX1ZBTCh4LCAxMSwgOCkK Pj4+Pj4+PiAgI2RlZmluZSBNWFJfTEFZRVJfQ0ZHX0dSUDFfTUFTSyAgICAgICAgICAgICAgTVhS X0xBWUVSX0NGR19HUlAxX1ZBTCh+MCkKPj4+Pj4+PiAgI2RlZmluZSBNWFJfTEFZRVJfQ0ZHX0dS UDBfVkFMKHgpICAgIE1YUl9NQVNLX1ZBTCh4LCA3LCA0KQo+Pj4+Pj4+IEBAIC0xNTIsNSArMTUy LDggQEAKPj4+Pj4+PiAgI2RlZmluZSBNWFJfTEFZRVJfQ0ZHX1ZQX1ZBTCh4KSAgICAgICAgICAg ICAgTVhSX01BU0tfVkFMKHgsIDMsIDApCj4+Pj4+Pj4gICNkZWZpbmUgTVhSX0xBWUVSX0NGR19W UF9NQVNLICAgICAgICAgICAgICAgIE1YUl9MQVlFUl9DRkdfVlBfVkFMKH4wKQo+Pj4+Pj4+Cj4+ Pj4+Pj4gKy8qIGJpdHMgZm9yIE1YUl9DTV9DT0VGRl9ZICovCj4+Pj4+Pj4gKyNkZWZpbmUgTVhS X0NNX0NPRUZGX1JHQl9GVUxMICAgICAgICAgICAgICAgICgxIDw8IDMwKQo+Pj4+Pj4+ICsKPj4+ Pj4+PiAgI2VuZGlmIC8qIFNBTVNVTkdfUkVHU19NSVhFUl9IICovCj4+Pj4+Pj4KPj4+Pj4+Pgo+ Pj4+Pj4KPj4+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4+Pj4+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+Pj4+PiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4+Pj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+Pj4+PiAtLQo+Pj4+PiBUbyB1bnN1YnNjcmliZSBmcm9t IHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtc2Ftc3VuZy1zb2Mi IGluCj4+Pj4+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwu b3JnCj4+Pj4+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcv bWFqb3Jkb21vLWluZm8uaHRtbAo+Pj4+Pgo+Pj4+Cj4+Pj4gLS0KPj4+PiBUbyB1bnN1YnNjcmli ZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtc2Ftc3Vu Zy1zb2MiIGluCj4+Pj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtl cm5lbC5vcmcKPj4+PiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwu b3JnL21ham9yZG9tby1pbmZvLmh0bWwKPj4+Pgo+Pj4+Cj4+Pj4KPj4+IC0tCj4+PiBUbyB1bnN1 YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgt c2Ftc3VuZy1zb2MiIGluCj4+PiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZn ZXIua2VybmVsLm9yZwo+Pj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2Vy bmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCj4+Pgo+Pgo+Pgo+Pgo+PgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==