From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id E272D6E17E for ; Tue, 15 Jun 2021 06:11:56 +0000 (UTC) From: "Shankar, Uma" Date: Tue, 15 Jun 2021 06:11:51 +0000 Message-ID: <022ace71648746a6b89ddea38d3bfead@intel.com> References: <20210611052005.303-1-venkata.sai.patnana@intel.com> In-Reply-To: Content-Language: en-US MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "Modem, Bhanuprakash" , "Patnana, Venkata Sai" , "igt-dev@lists.freedesktop.org" Cc: "Varide, Nischal" , "Latvala, Petri" List-ID: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTW9kZW0sIEJoYW51cHJh a2FzaCA8YmhhbnVwcmFrYXNoLm1vZGVtQGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVu ZSAxNSwgMjAyMSAxMToyOCBBTQ0KPiBUbzogU2hhbmthciwgVW1hIDx1bWEuc2hhbmthckBpbnRl bC5jb20+OyBQYXRuYW5hLCBWZW5rYXRhIFNhaQ0KPiA8dmVua2F0YS5zYWkucGF0bmFuYUBpbnRl bC5jb20+OyBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBDYzogU2hhcm1hLCBTd2F0 aTIgPHN3YXRpMi5zaGFybWFAaW50ZWwuY29tPjsgQiBTLCBLYXJ0aGlrDQo+IDxrYXJ0aGlrLmIu c0BpbnRlbC5jb20+OyBWYXJpZGUsIE5pc2NoYWwgPG5pc2NoYWwudmFyaWRlQGludGVsLmNvbT47 IExhdHZhbGEsIFBldHJpDQo+IDxwZXRyaS5sYXR2YWxhQGludGVsLmNvbT4NCj4gU3ViamVjdDog UkU6IFtQQVRDSCBpLWctdCAwMS8xN10gdGVzdHMva21zX2RpdGhlcjogTmV3IElHVCB0byB2YWxp ZGF0ZSBjcnRjIERpdGhlcmluZw0KPiANCj4gPiBGcm9tOiBTaGFua2FyLCBVbWEgPHVtYS5zaGFu a2FyQGludGVsLmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5LCBKdW5lIDE1LCAyMDIxIDExOjI0IEFN DQo+ID4gVG86IFBhdG5hbmEsIFZlbmthdGEgU2FpIDx2ZW5rYXRhLnNhaS5wYXRuYW5hQGludGVs LmNvbT47IGlndC0NCj4gPiBkZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gQ2M6IE1vZGVt LCBCaGFudXByYWthc2ggPGJoYW51cHJha2FzaC5tb2RlbUBpbnRlbC5jb20+OyBTaGFybWEsIFN3 YXRpMg0KPiA+IDxzd2F0aTIuc2hhcm1hQGludGVsLmNvbT47IEIgUywgS2FydGhpayA8a2FydGhp ay5iLnNAaW50ZWwuY29tPjsNCj4gPiBWYXJpZGUsIE5pc2NoYWwgPG5pc2NoYWwudmFyaWRlQGlu dGVsLmNvbT47IExhdHZhbGEsIFBldHJpDQo+ID4gPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPg0K PiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggaS1nLXQgMDEvMTddIHRlc3RzL2ttc19kaXRoZXI6IE5l dyBJR1QgdG8gdmFsaWRhdGUNCj4gPiBjcnRjIERpdGhlcmluZw0KPiA+DQo+ID4NCj4gPg0KPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFBhdG5hbmEsIFZlbmth dGEgU2FpIDx2ZW5rYXRhLnNhaS5wYXRuYW5hQGludGVsLmNvbT4NCj4gPiA+IFNlbnQ6IEZyaWRh eSwgSnVuZSAxMSwgMjAyMSAxMDo1MCBBTQ0KPiA+ID4gVG86IGlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnDQo+ID4gPiBDYzogUGF0bmFuYSwgVmVua2F0YSBTYWkgPHZlbmthdGEuc2FpLnBh dG5hbmFAaW50ZWwuY29tPjsgTW9kZW0sDQo+ID4gQmhhbnVwcmFrYXNoDQo+ID4gPiA8YmhhbnVw cmFrYXNoLm1vZGVtQGludGVsLmNvbT47IFNoYXJtYSwgU3dhdGkyDQo+ID4gPiA8c3dhdGkyLnNo YXJtYUBpbnRlbC5jb20+OyBCIFMsIEthcnRoaWsgPGthcnRoaWsuYi5zQGludGVsLmNvbT47DQo+ ID4gPiBTaGFua2FyLCBVbWEgPHVtYS5zaGFua2FyQGludGVsLmNvbT47IFZhcmlkZSwgTmlzY2hh bA0KPiA+ID4gPG5pc2NoYWwudmFyaWRlQGludGVsLmNvbT47IExhdHZhbGEsIFBldHJpDQo+ID4g PHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogW1BBVENIIGktZy10IDAx LzE3XSB0ZXN0cy9rbXNfZGl0aGVyOiBOZXcgSUdUIHRvIHZhbGlkYXRlDQo+ID4gPiBjcnRjDQo+ ID4gRGl0aGVyaW5nDQo+ID4NCj4gPiBUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgY29ycmVzcG9u ZGluZyBrZXJuZWwgZHJpdmVyIGNoYW5nZXMuDQo+ID4gaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRl c2t0b3Aub3JnL3Nlcmllcy85MTM4My8gOiBEaXRoZXJpbmcgc3VwcG9ydA0KPiA+IGh0dHBzOi8v cGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNzk2NjQvOiBEZWJ1Z2ZzIGNoYW5nZXMg VGhlDQo+ID4gYWJvdmUgYXJlIGluIHJldmlldy4NCj4gPg0KPiA+IEkgd291bGQgc3VnZ2VzdCB3 ZSBjb25zb2xpZGF0ZSBib3RoIGtlcm5lbCBjaGFuZ2VzIGluIDEgY29tbW9uIHNlcmllcy4NCj4g DQo+IEFzIHdlIGRvZXNuJ3QgaGF2ZSBhIHRlc3QgY292ZXJhZ2UgZm9yIERpdGhlcmluZywgaXQg d2FzIGludGVudGlvbmFsIHRvIGhhdmUgMg0KPiBwYXRjaGVzOg0KPiANCj4gKiBvbmUgZm9yIGxl Z2FjeSAoZGl0aGVyIGF0IGVuZCBvZiB0aGUgcGlwZSkNCj4gKiBvdGhlciB0byBleHRlbmQgaXQg Zm9yIGRpdGhlciBhdCBlbmQgb2YgQ0MgYmxvY2suDQoNCkkgaW50ZW5kZWQgdG8gdGVsbCBhYm91 dCB0aGUgYWN0dWFsIGRpdGhlcmluZyBzdXBwb3J0IGFuZCBkZWJ1Z2ZzIGFkZGl0aW9ucyBpbiBk cml2ZXIgd2hpY2ggYXJlIG5vdw0KaW4gc2VwYXJhdGUgc2VyaWVzIGluIG1haWxpbmcgbGlzdC4g SSBnb3QgdGhlIElHVCBwYXJ0IHdoaWNoIGlzIGZpbmUgaW4gc2VwYXJhdGUgcGF0Y2hlcy4NCg0K UmVnYXJkcywNClVtYSBTaGFua2FyDQoNCj4gLSBCaGFudQ0KPiA+DQo+ID4gVGhlIGtlcm5lbCBj aGFuZ2VzIG5lZWRzIHRvIGJlIG1lcmdlZCBhbmQgYXZhaWxhYmxlIGluIGRyaXZlciwgYmVmb3Jl DQo+ID4gdGhpcyB0ZXN0IGNhbiBnbyBpbi4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gVW1hIFNo YW5rYXINCj4gPg0KPiA+ID4gRnJvbTogQmhhbnVwcmFrYXNoIE1vZGVtIDxiaGFudXByYWthc2gu bW9kZW1AaW50ZWwuY29tPg0KPiA+ID4NCj4gPiA+IE1hbnkgb2YgdGhlIGRpc3BsYXkgZGV2aWNl cyBoYXZlIGNvbG9yIGZvcm1hdCBzdXBwb3J0IGxlc3MgdGhhbiB0aGUNCj4gPiA+IGNvbG9yDQo+ ID4gZm9ybWF0IG9mDQo+ID4gPiB0aGUgaW5wdXQgZGF0YSAoRXg6IDgtYml0IGlucHV0IGRhdGEg YW5kIDYtYml0IGRpc3BsYXkgY29sb3IgZGVwdGgpLg0KPiA+ID4gVGhlbg0KPiA+IHRoZSBpbnB1 dCBkYXRhDQo+ID4gPiB3aWxsIGJlIGVpdGhlciB0cnVuY2F0ZWQgb3Igcm91bmRlZCwgYnV0IHRo aXMgYXBwcm9hY2ggdXN1YWxseQ0KPiA+ID4gY2F1c2VzIGxvc3MNCj4gPiBvZiBkZXRhaWwNCj4g PiA+IGFuZCBhbHNvIHByb2R1Y2UgbGFyZ2UgYmFuZGVkIGFyZWFzIG9mIGEgc2luZ2xlIGNvbG9y IHRoYXQNCj4gPiA+IHNpZ25pZmljYW50bHkNCj4gPiBkaWZmZXJzIGZyb20NCj4gPiA+IHRoZSBv cmlnaW5hbCBpbWFnZS4NCj4gPiA+DQo+ID4gPiBEaXRoZXJpbmcgaXMgYSB0ZWNobmlxdWUgdXNl ZCB0byBlbmhhbmNlIHRoZXNlIGNvbG9ycyBieSBjcmVhdGluZw0KPiA+ID4gdGhlDQo+ID4gaWxs dXNpb24gb2YNCj4gPiA+IHNtb290aG5lc3MgYnkgYWRqdXN0aW5nIHRoZSBuZWFyYnkgcGl4ZWwg Y29sb3IuDQo+ID4gPiBGb3IgRWc6IENvbnZlcnRpbmcgOC1iaXQgdG8gNi1iaXQgYnkgbW9kaWZ5 aW5nIHRoZSBwaXhlbCBpbmZvcm1hdGlvbi4NCj4gPiA+DQo+ID4gPiBEaXRoZXJpbmcgc2hvdWxk IGJlIGVuYWJsZWQgd2hlbiBhIHBhbmVsIGNvbG9yIGRlcHRoIGlzIGxvd2VyIHRoYW4NCj4gPiA+ IHRoZSBjb2xvcg0KPiA+IGRlcHRoDQo+ID4gPiBvZiB0aGUgZnJhbWVidWZmZXIuDQo+ID4gPg0K PiA+ID4gRXZlbiB0aG91Z2ggZmVhdHVyZSBEaXRoZXJpbmcgaXMgdGhlcmUgc2luY2UgbGVnYWN5 LCB0aGVyZSBpcyBubw0KPiA+ID4gc3BlY2lmaWMNCj4gPiBJR1QgZm9yIHRoaXMuDQo+ID4gPiBU aGlzIHBhdGNoIHdpbGwgY3JlYXRlIE5ldyBJR1QgZm9yIERpdGhlcmluZy4NCj4gPiA+IEFuZCBi ZWxvdyBpcyB0aGUgdHJ1dGggdGFibGUgZm9yIENSVEMgRGl0aGVyaW5nLg0KPiA+ID4NCj4gPiA+ IHwtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfA0KPiA+ID4gfCAgRnJh bWUgYnVmZmVyICB8ICBQYW5lbCAgfCAgRGl0aGVyaW5nICB8DQo+ID4gPiB8LS0tLS0tLS0tLS0t LS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwNCj4gPiA+IHwgICAgICA4IEJQQyAgICAgfCAg NiBCUEMgIHwgICAgIFllcyAgICAgfA0KPiA+ID4gfC0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0t fC0tLS0tLS0tLS0tLS18DQo+ID4gPiB8ICAgICAgOCBCUEMgICAgIHwgIDggQlBDICB8ICAgICBO byAgICAgIHwNCj4gPiA+IHwtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t fA0KPiA+ID4gfCAgICAgIDggQlBDICAgICB8IDEwIEJQQyAgfCAgICAgTm8gICAgICB8DQo+ID4g PiB8LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwNCj4gPiA+IHwgICAg IDEwIEJQQyAgICAgfCAgNiBCUEMgIHwgICAgIFllcyAgICAgfA0KPiA+ID4gfC0tLS0tLS0tLS0t LS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18DQo+ID4gPiB8ICAgICAxMCBCUEMgICAgIHwg IDggQlBDICB8ICAgICBZZXMgICAgIHwNCj4gPiA+IHwtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0t LXwtLS0tLS0tLS0tLS0tfA0KPiA+ID4gfCAgICAgMTAgQlBDICAgICB8IDEwIEJQQyAgfCAgICAg Tm8gICAgICB8DQo+ID4gPiB8LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0t LXwNCj4gPiA+IHwgICAgIDE2IEJQQyAgICAgfCAgNiBCUEMgIHwgICAgIFllcyAgICAgfA0KPiA+ ID4gfC0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18DQo+ID4gPiB8ICAg ICAxNiBCUEMgICAgIHwgIDggQlBDICB8ICAgICBZZXMgICAgIHwNCj4gPiA+IHwtLS0tLS0tLS0t LS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfA0KPiA+ID4gfCAgICAgMTYgQlBDICAgICB8 IDEwIEJQQyAgfCAgICAgWWVzICAgICB8DQo+ID4gPiB8LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0t LS18LS0tLS0tLS0tLS0tLXwNCj4gPiA+DQo+ID4gPiBDYzogU3dhdGkgU2hhcm1hIDxzd2F0aTIu c2hhcm1hQGludGVsLmNvbT4NCj4gPiA+IENjOiBLYXJ0aGlrIEIgUyA8a2FydGhpay5iLnNAaW50 ZWwuY29tPg0KPiA+ID4gQ2M6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+DQo+ ID4gPiBDYzogTmlzY2hhbCBWYXJpZGUgPG5pc2NoYWwudmFyaWRlQGludGVsLmNvbT4NCj4gPiA+ IENjOiBQZXRyaSBMYXR2YWxhIDxwZXRyaS5sYXR2YWxhQGludGVsLmNvbT4NCj4gPiA+IFNpZ25l ZC1vZmYtYnk6IEJoYW51cHJha2FzaCBNb2RlbSA8YmhhbnVwcmFrYXNoLm1vZGVtQGludGVsLmNv bT4NCj4gPiA+IC0tLQ0KPiA+ID4gIHRlc3RzL2ttc19kaXRoZXIuYyB8IDI1MCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICB0ZXN0cy9tZXNvbi5i dWlsZCAgfCAgIDEgKw0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjUxIGluc2VydGlvbnMoKykN Cj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMva21zX2RpdGhlci5jDQo+ID4gPg0KPiA+ ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19kaXRoZXIuYyBiL3Rlc3RzL2ttc19kaXRoZXIuYyBu ZXcgZmlsZSBtb2RlDQo+ID4gPiAxMDA2NDQNCj4gPiBpbmRleA0KPiA+ID4gMDAwMDAwMDAwMC4u YzI1ZDYyM2Y4MQ0KPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gKysrIGIvdGVzdHMva21zX2Rp dGhlci5jDQo+ID4gPiBAQCAtMCwwICsxLDI1MCBAQA0KPiA+ID4gKy8qDQo+ID4gPiArICogQ29w eXJpZ2h0IMKpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24NCj4gPiA+ICsgKg0KPiA+ID4gKyAqIFBl cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u DQo+ID4gPiArb2J0YWluaW5nIGENCj4gPiA+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlDQo+ID4gPiArIlNvZnR3YXJlIiks DQo+ID4gPiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQNCj4gPiA+ICtsaW1pdGF0aW9uDQo+ID4gPiArICogdGhlIHJpZ2h0 cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsDQo+ID4g PiArc3VibGljZW5zZSwNCj4gPiA+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3 YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8NCj4gPiA+ICt3aG9tIHRoZQ0KPiA+ID4gKyAq IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnM6DQo+ID4gPiArICoNCj4gPiA+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nDQo+ID4gPiArdGhlIG5l eHQNCj4gPiA+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwNCj4gPiA+ICtwb3J0aW9ucyBvZiB0aGUNCj4gPiA+ICsgKiBTb2Z0d2Fy ZS4NCj4gPiA+ICsgKg0KPiA+ID4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELA0KPiA+ID4gK0VYUFJFU1MgT1INCj4gPiA+ ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GDQo+ID4gPiArTUVSQ0hBTlRBQklMSVRZLA0KPiA+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTw0KPiA+ID4gK0VWRU5U IFNIQUxMDQo+ID4gPiArICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLA0KPiA+ID4gK0RBTUFHRVMgT1INCj4gPiA+ICsgKiBPVEhF UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SDQo+ ID4gPiArT1RIRVJXSVNFLA0KPiA+ID4gKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFDQo+ID4gPiArVVNFIE9SDQo+ID4gPiAr ICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLg0KPiA+ID4gKyAqDQo+ID4gPiArICog QXV0aG9yczoNCj4gPiA+ICsgKiAgICAgQmhhbnVwcmFrYXNoIE1vZGVtIDxiaGFudXByYWthc2gu bW9kZW1AaW50ZWwuY29tPg0KPiA+ID4gKyAqDQo+ID4gPiArICovDQo+ID4gPiArDQo+ID4gPiAr I2luY2x1ZGUgImlndC5oIg0KPiA+ID4gKyNpbmNsdWRlIDxmY250bC5oPg0KPiA+ID4gKyNpbmNs dWRlIDx0ZXJtaW9zLmg+DQo+ID4gPiArI2luY2x1ZGUgPHVuaXN0ZC5oPg0KPiA+ID4gKw0KPiA+ ID4gK0lHVF9URVNUX0RFU0NSSVBUSU9OKCJUZXN0IERpdGhlcmluZyBibG9jayBzdGF0dXMiKTsN Cj4gPiA+ICsNCj4gPiA+ICsvKiBDb25uZWN0b3IgQlBDICovDQo+ID4gPiArI2RlZmluZSBJR1Rf Q09OTkVDVE9SX0JQQ182Ng0KPiA+ID4gKyNkZWZpbmUgSUdUX0NPTk5FQ1RPUl9CUENfODgNCj4g PiA+ICsjZGVmaW5lIElHVF9DT05ORUNUT1JfQlBDXzEwMTANCj4gPiA+ICsjZGVmaW5lIElHVF9D T05ORUNUT1JfQlBDXzEyMTINCj4gPiA+ICsNCj4gPiA+ICsvKiBGcmFtZWJ1ZmZlciBCUEMgKi8N Cj4gPiA+ICsjZGVmaW5lIElHVF9GUkFNRV9CVUZGRVJfQlBDXzg4DQo+ID4gPiArI2RlZmluZSBJ R1RfRlJBTUVfQlVGRkVSX0JQQ18xMDEwDQo+ID4gPiArI2RlZmluZSBJR1RfRlJBTUVfQlVGRkVS X0JQQ18xNjE2DQo+ID4gPiArDQo+ID4gPiArLyogQ29tbW9uIHRlc3QgZGF0YS4gKi8NCj4gPiA+ ICt0eXBlZGVmIHN0cnVjdCBkYXRhIHsNCj4gPiA+ICtpZ3RfZGlzcGxheV90IGRpc3BsYXk7DQo+ ID4gPiAraWd0X3BsYW5lX3QgKnByaW1hcnk7DQo+ID4gPiAraWd0X291dHB1dF90ICpvdXRwdXQ7 DQo+ID4gPiAraWd0X3BpcGVfdCAqcGlwZTsNCj4gPiA+ICtkcm1Nb2RlTW9kZUluZm8gKm1vZGU7 DQo+ID4gPiArZW51bSBwaXBlIHBpcGVfaWQ7DQo+ID4gPiAraW50IGRybV9mZDsNCj4gPiA+ICtp Z3RfZmJfdCBmYjsNCj4gPiA+ICt9IGRhdGFfdDsNCj4gPiA+ICsNCj4gPiA+ICt0eXBlZGVmIHN0 cnVjdCB7DQo+ID4gPiArdW5zaWduZWQgaW50IGJwYzsNCj4gPiA+ICt1bnNpZ25lZCBpbnQgZGl0 aGVyOw0KPiA+ID4gK30gZGl0aGVyX3N0YXR1c190Ow0KPiA+ID4gKw0KPiA+ID4gKy8qIFByZXBh cmUgdGVzdCBkYXRhLiAqLw0KPiA+ID4gK3N0YXRpYyB2b2lkIHByZXBhcmVfdGVzdChkYXRhX3Qg KmRhdGEsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtDQo+ID4gPiArcGlwZQ0KPiA+ID4gK3Bp cGUpIHsNCj4gPiA+ICtpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7DQo+ ID4gPiArDQo+ID4gPiArZGF0YS0+cGlwZV9pZCA9IHBpcGU7DQo+ID4gPiArZGF0YS0+cGlwZSA9 ICZkYXRhLT5kaXNwbGF5LnBpcGVzW2RhdGEtPnBpcGVfaWRdOw0KPiA+ID4gK2lndF9hc3NlcnQo ZGF0YS0+cGlwZSk7DQo+ID4gPiArDQo+ID4gPiAraWd0X2Rpc3BsYXlfcmVzZXQoZGlzcGxheSk7 DQo+ID4gPiArDQo+ID4gPiArZGF0YS0+b3V0cHV0ID0gb3V0cHV0Ow0KPiA+ID4gK2lndF9hc3Nl cnQoZGF0YS0+b3V0cHV0KTsNCj4gPiA+ICsNCj4gPiA+ICtkYXRhLT5tb2RlID0gaWd0X291dHB1 dF9nZXRfbW9kZShkYXRhLT5vdXRwdXQpOw0KPiA+ID4gK2lndF9hc3NlcnQoZGF0YS0+bW9kZSk7 DQo+ID4gPiArDQo+ID4gPiArZGF0YS0+cHJpbWFyeSA9DQo+ID4gPiAraWd0X3BpcGVfZ2V0X3Bs YW5lX3R5cGUoZGF0YS0+cGlwZSwNCj4gPiA+IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOw0KPiA+ ID4gKw0KPiA+ID4gK2lndF9vdXRwdXRfc2V0X3BpcGUoZGF0YS0+b3V0cHV0LCBkYXRhLT5waXBl X2lkKTsgfQ0KPiA+ID4gKw0KPiA+ID4gKy8qIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2Yg ZGl0aGVyaW5nIGZyb20gdGhlIGNydGMgZGVidWdmcy4gKi8NCj4gPiA+ICtzdGF0aWMgZGl0aGVy X3N0YXR1c190IGdldF9kaXRoZXJfc3RhdGUoZGF0YV90ICpkYXRhKSB7IGNoYXINCj4gPiA+ICti dWZbMjU2XTsgY2hhciBjcnRjX25hbWVbN107IGNoYXIgKnN0YXJ0X2xvYzsgaW50IGZkLCByZXM7 DQo+ID4gPiArZGl0aGVyX3N0YXR1c190IHN0YXR1czsNCj4gPiA+ICsNCj4gPiA+ICtzbnByaW50 ZihjcnRjX25hbWUsIDcsICJjcnRjLSVkIiwgZGF0YS0+cGlwZV9pZCk7IGZkID0NCj4gPiA+ICtp Z3RfZGVidWdmc19vcGVuKGRhdGEtPmRybV9mZCwgY3J0Y19uYW1lLCBPX1JET05MWSk7IGlndF9h c3NlcnQoZmQNCj4gPiA+ICs+PSAwKTsNCj4gPiA+ICsNCj4gPiA+ICtyZXMgPSBpZ3RfZGVidWdm c19zaW1wbGVfcmVhZChmZCwgImRpdGhlciIsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOw0KPiA+ID4gK2ln dF9yZXF1aXJlKHJlcyA+IDApOyBjbG9zZShmZCk7DQo+ID4gPiArDQo+ID4gPiAraWd0X2Fzc2Vy dChzdGFydF9sb2MgPSBzdHJzdHIoYnVmLCAiYnBjOiAiKSk7DQo+ID4gPiAraWd0X2Fzc2VydF9l cShzc2NhbmYoc3RhcnRfbG9jLCAiYnBjOiAldSIsICZzdGF0dXMuYnBjKSwgMSk7DQo+ID4gPiAr DQo+ID4gPiAraWd0X2Fzc2VydChzdGFydF9sb2MgPSBzdHJzdHIoYnVmLCAiRGl0aGVyOiAiKSk7 DQo+ID4gPiAraWd0X2Fzc2VydF9lcShzc2NhbmYoc3RhcnRfbG9jLCAiRGl0aGVyOiAldSIsICZz dGF0dXMuZGl0aGVyKSwgMSk7DQo+ID4gPiArDQo+ID4gPiArcmV0dXJuIHN0YXR1czsNCj4gPiA+ ICt9DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIHZvaWQgdGVzdF9kaXRoZXJpbmcoZGF0YV90ICpk YXRhLCBlbnVtIHBpcGUgcGlwZSwNCj4gPiA+ICsgICBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwNCj4g PiA+ICsgICBpbnQgZmJfYnBjLCBpbnQgZmJfZm9ybWF0LA0KPiA+ID4gKyAgIGludCBvdXRwdXRf YnBjKQ0KPiA+ID4gK3sNCj4gPiA+ICtpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEtPmRp c3BsYXk7IGRpdGhlcl9zdGF0dXNfdCBzdGF0dXM7DQo+ID4gPiAraW50IGJwYzsNCj4gPiA+ICsN Cj4gPiA+ICtpZ3RfaW5mbygiRGl0aGVyaW5nIHRlc3QgZXhlY3V0aW9uIG9uICVzIFBJUEVfJXNc biIsDQo+ID4gPiArb3V0cHV0LT5uYW1lLCBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlKSk7DQo+ID4g PiArcHJlcGFyZV90ZXN0KGRhdGEsIG91dHB1dCwgcGlwZSk7DQo+ID4gPiArDQo+ID4gPiAraWd0 X2Fzc2VydChpZ3RfY3JlYXRlX2ZiKGRhdGEtPmRybV9mZCwgZGF0YS0+bW9kZS0+aGRpc3BsYXks DQo+ID4gPiArIGRhdGEtPm1vZGUtPnZkaXNwbGF5LCBmYl9mb3JtYXQsDQo+ID4gPiArIExPQ0FM X0RSTV9GT1JNQVRfTU9EX05PTkUsICZkYXRhLT5mYikpOw0KPiA+ID4gK2lndF9wbGFuZV9zZXRf ZmIoZGF0YS0+cHJpbWFyeSwgJmRhdGEtPmZiKTsNCj4gPiA+ICtpZ3RfcGxhbmVfc2V0X3NpemUo ZGF0YS0+cHJpbWFyeSwgZGF0YS0+bW9kZS0+aGRpc3BsYXksDQo+ID4gPiArZGF0YS0+bW9kZS0+ dmRpc3BsYXkpOw0KPiA+ID4gKw0KPiA+ID4gK2JwYyA9IGlndF9vdXRwdXRfZ2V0X3Byb3Aob3V0 cHV0LCBJR1RfQ09OTkVDVE9SX01BWF9CUEMpOw0KPiA+ID4gK2lndF9vdXRwdXRfc2V0X3Byb3Bf dmFsdWUoZGF0YS0+b3V0cHV0LCBJR1RfQ09OTkVDVE9SX01BWF9CUEMsDQo+ID4gPiBvdXRwdXRf YnBjKTsNCj4gPiA+ICtpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIGRpc3BsYXktPmlzX2F0 b21pYyA/IENPTU1JVF9BVE9NSUMgOg0KPiA+ID4gK0NPTU1JVF9MRUdBQ1kpOw0KPiA+ID4gKw0K PiA+ID4gKy8qDQo+ID4gPiArICogQ2hlY2sgdGhlIHN0YXR1cyBvZiBEaXRoZXJpbmcgYmxvY2s6 DQo+ID4gPiArICoNCj4gPiA+ICsgKiBQcmVzZXJ2ZSB0aGUgcmVzdWx0ICYgY29tcHV0ZSBsYXRl ciAoYWZ0ZXIgY2xlYW4tdXApLg0KPiA+ID4gKyAqIElmIGZiX2JwYyBpcyBncmVhdGVyIHRoYW4g b3V0cHV0X2JwYywgRGl0aGVyaW5nIHNob3VsZCBiZQ0KPiA+ID4gK2VuYWJsZWQNCj4gPiA+ICsg KiBFbHNlIGRpc2FibGVkDQo+ID4gPiArICovDQo+ID4gPiArc3RhdHVzID0gZ2V0X2RpdGhlcl9z dGF0ZShkYXRhKTsNCj4gPiA+ICsNCj4gPiA+ICtpZ3RfZGVidWcoIkZCIEJQQzolZCwgUGFuZWwg QlBDOiVkLCBQaXBlIEJQQzolZCwgRXhwZWN0ZWQNCj4gPiA+ICtEaXRoZXI6JXMsDQo+ID4gPiBB Y3R1YWwgcmVzdWx0OiVzXG4iLA0KPiA+ID4gKyAgZmJfYnBjLCBvdXRwdXRfYnBjLCBzdGF0dXMu YnBjLA0KPiA+ID4gKyAgKGZiX2JwYyA+IG91dHB1dF9icGMpID8gIkVuYWJsZSI6ICJEaXNhYmxl IiwgIHN0YXR1cy5kaXRoZXIgPw0KPiA+ID4gKyAiRW5hYmxlIjogIkRpc2FibGUiKTsNCj4gPiA+ ICsNCj4gPiA+ICsgICAgICAgLyoNCj4gPiA+ICsqIFdlIG11c3QgdXBkYXRlIHRoZSBDb25uZWN0 b3IgbWF4X2JwYyBwcm9wZXJ0eSBiYWNrDQo+ID4gPiArKiBPdGhlcndpc2UsIHByZXZpb3VzbHkg dXBkYXRlZCB2YWx1ZSB3aWxsIHN0YXkgZm9yZXZlciBhbmQNCj4gPiA+ICsqIG1heSBjYXVzZSB0 aGUgZmFpbHVyZXMgZm9yIG5leHQvb3RoZXIgc3VidGVzdHMuDQo+ID4gPiArKi8NCj4gPiA+ICtp Z3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKGRhdGEtPm91dHB1dCwgSUdUX0NPTk5FQ1RPUl9NQVhf QlBDLA0KPiA+ID4gYnBjKTsNCj4gPiA+ICtpZ3RfcGxhbmVfc2V0X2ZiKGRhdGEtPnByaW1hcnks IE5VTEwpOyBpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwNCj4gPiA+ICtQSVBFX05PTkUpOyBp Z3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIGRpc3BsYXktPmlzX2F0b21pYyA/DQo+ID4gPiAr Q09NTUlUX0FUT01JQyA6DQo+ID4gPiBDT01NSVRfTEVHQUNZKTsNCj4gPiA+ICtpZ3RfcmVtb3Zl X2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiKTsNCj4gPiA+ICsNCj4gPiA+ICsvKiBDaGVjayBp ZiBjcnRjIGJwYyBpcyB1cGRhdGVkIHdpdGggcmVxdWVzdGVkIG9uZS4gKi8NCj4gPiA+ICtpZ3Rf cmVxdWlyZV9mKChzdGF0dXMuYnBjID09IG91dHB1dF9icGMpLCAiJXMgY2FuIHN1cHBvcnQgbWF4 DQo+ID4gPiArJXUtYnBjLCBidXQgcmVxdWVzdGVkICVkLWJwY1xuIiwNCj4gPiA+ICtvdXRwdXQt Pm5hbWUsIHN0YXR1cy5icGMsIG91dHB1dF9icGMpOw0KPiA+ID4gKw0KPiA+ID4gKy8qIENvbXB1 dGUgdGhlIHJlc3VsdC4gKi8NCj4gPiA+ICtpZiAoZmJfYnBjID4gb3V0cHV0X2JwYykNCj4gPiA+ ICtpZ3RfYXNzZXJ0X2Yoc3RhdHVzLmRpdGhlciwgIihmYl8lZGJwYyA+IG91dHB1dF8lZGJwYyk6 IERpdGhlcg0KPiA+ID4gc2hvdWxkIGJlIGVuYWJsZWRcbiIsDQo+ID4gPiArZmJfYnBjLCBvdXRw dXRfYnBjKTsNCj4gPiA+ICtlbHNlDQo+ID4gPiAraWd0X2Fzc2VydF9mKCFzdGF0dXMuZGl0aGVy LCAiKGZiXyVkYnBjIDw9IG91dHB1dF8lZGJwYyk6IERpdGhlcg0KPiA+ID4gc2hvdWxkIGJlIGRp c2FibGVkXG4iLA0KPiA+ID4gK2ZiX2JwYywgb3V0cHV0X2JwYyk7DQo+ID4gPiArDQo+ID4gPiAr cmV0dXJuOw0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICsvKiBSZXR1cm5zIHRydWUgaWYgYW4g b3V0cHV0IHN1cHBvcnRzIG1heCBicGMgcHJvcGVydHkgJiBtYXhfYnBjID49DQo+ID4gPiArcmVx dWVzdGVkLiAqLyBzdGF0aWMgYm9vbCBpc19zdXBwb3J0ZWQoaWd0X291dHB1dF90ICpvdXRwdXQs IGludCBicGMpIHsNCj4gPiA+ICsgICAgICAgIHJldHVybiBpZ3Rfb3V0cHV0X2hhc19wcm9wKG91 dHB1dCwgSUdUX0NPTk5FQ1RPUl9NQVhfQlBDKQ0KPiA+ID4gKyYmIChpZ3Rfb3V0cHV0X2dldF9w cm9wKG91dHB1dCwgSUdUX0NPTk5FQ1RPUl9NQVhfQlBDKSA+PSBicGMpOw0KPiA+ID4gfQ0KPiA+ ID4gKw0KPiA+ID4gK3N0YXRpYyB2b2lkDQo+ID4gPiArcnVuX2RpdGhlcl90ZXN0KGRhdGFfdCAq ZGF0YSwgaW50IGZiX2JwYywgaW50IGZiX2Zvcm1hdCwgaW50DQo+ID4gPiArb3V0cHV0X2JwYykg ew0KPiA+ID4gK2lndF9vdXRwdXRfdCAqb3V0cHV0Ow0KPiA+ID4gK2lndF9kaXNwbGF5X3QgKmRp c3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsNCj4gPiA+ICsNCj4gPiA+ICtmb3JfZWFjaF9jb25uZWN0 ZWRfb3V0cHV0KGRpc3BsYXksIG91dHB1dCkgeyBlbnVtIHBpcGUgcGlwZTsNCj4gPiA+ICsNCj4g PiA+ICtpZiAoIWlzX3N1cHBvcnRlZChvdXRwdXQsIG91dHB1dF9icGMpKSBjb250aW51ZTsNCj4g PiA+ICsNCj4gPiA+ICtpZiAoKHN0cnN0cihvdXRwdXQtPm5hbWUsICJIRE1JIikgIT0gTlVMTCkg JiYNCj4gPiA+ICsgICAgKG91dHB1dF9icGMgPT0gSUdUX0NPTk5FQ1RPUl9CUENfNikpIGNvbnRp bnVlOw0KPiA+ID4gKw0KPiA+ID4gK2Zvcl9lYWNoX3BpcGUoZGlzcGxheSwgcGlwZSkgew0KPiA+ ID4gK2lmIChpZ3RfcGlwZV9jb25uZWN0b3JfdmFsaWQocGlwZSwgb3V0cHV0KSkgew0KPiA+ID4g K2lndF9keW5hbWljX2YoIiVzLXBpcGUtJXMiLCBvdXRwdXQtPm5hbWUsDQo+ID4gPiBrbXN0ZXN0 X3BpcGVfbmFtZShwaXBlKSkNCj4gPiA+ICt0ZXN0X2RpdGhlcmluZyhkYXRhLCBwaXBlLCBvdXRw dXQsIGZiX2JwYywgZmJfZm9ybWF0LCBvdXRwdXRfYnBjKTsNCj4gPiA+ICsNCj4gPiA+ICsvKiBP bmUgcGlwZSBpcyBlbm91Z2ggKi8NCj4gPiA+ICticmVhazsNCj4gPiA+ICt9DQo+ID4gPiArfQ0K PiA+ID4gK30NCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiAraWd0X21haW4NCj4gPiA+ICt7DQo+ ID4gPiArc3RydWN0IHsNCj4gPiA+ICtpbnQgZmJfYnBjOw0KPiA+ID4gK2ludCBmb3JtYXQ7DQo+ ID4gPiAraW50IG91dHB1dF9icGM7DQo+ID4gPiArfSB0ZXN0c1tdID0gew0KPiA+ID4gK3sgSUdU X0ZSQU1FX0JVRkZFUl9CUENfOCwgRFJNX0ZPUk1BVF9YUkdCODg4OCwNCj4gPiA+IElHVF9DT05O RUNUT1JfQlBDXzYgfSwNCj4gPiA+ICt7IElHVF9GUkFNRV9CVUZGRVJfQlBDXzgsIERSTV9GT1JN QVRfWFJHQjg4ODgsDQo+ID4gPiBJR1RfQ09OTkVDVE9SX0JQQ184IH0sDQo+ID4gPiArfTsNCj4g PiA+ICtpbnQgaTsNCj4gPiA+ICtkYXRhX3QgZGF0YSA9IHsgMCB9Ow0KPiA+ID4gKw0KPiA+ID4g K2lndF9maXh0dXJlIHsNCj4gPiA+ICtkYXRhLmRybV9mZCA9IGRybV9vcGVuX2RyaXZlcl9tYXN0 ZXIoRFJJVkVSX0lOVEVMKTsNCj4gPiA+ICtrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7 DQo+ID4gPiArDQo+ID4gPiAraWd0X2Rpc3BsYXlfcmVxdWlyZSgmZGF0YS5kaXNwbGF5LCBkYXRh LmRybV9mZCk7DQo+ID4gPiAraWd0X2Rpc3BsYXlfcmVxdWlyZV9vdXRwdXQoJmRhdGEuZGlzcGxh eSk7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gK2ZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpF KHRlc3RzKTsgaSsrKSB7DQo+ID4gPiAraWd0X2Rlc2NyaWJlX2YoIkZyYW1lYnVmZmVyIEJQQzol ZCwgUGFuZWwgQlBDOiVkLCBFeHBlY3RlZA0KPiA+ID4gRGl0aGVyOiVzXG4iLA0KPiA+ID4gKyAg ICAgICB0ZXN0c1tpXS5mYl9icGMsIHRlc3RzW2ldLm91dHB1dF9icGMsDQo+ID4gPiArICAgICAg ICh0ZXN0c1tpXS5mYl9icGMgPiB0ZXN0c1tpXS5vdXRwdXRfYnBjKSA/DQo+ID4gPiArIkVuYWJs ZSI6ICJEaXNhYmxlIik7DQo+ID4gPiArDQo+ID4gPiAraWd0X3N1YnRlc3Rfd2l0aF9keW5hbWlj X2YoIkZCLSVkQlBDLVZzLVBhbmVsLSVkQlBDIiwNCj4gPiA+ICt0ZXN0c1tpXS5mYl9icGMsIHRl c3RzW2ldLm91dHB1dF9icGMpIHJ1bl9kaXRoZXJfdGVzdCgmZGF0YSwNCj4gPiA+ICt0ZXN0c1tp XS5mYl9icGMsIHRlc3RzW2ldLmZvcm1hdCwgdGVzdHNbaV0ub3V0cHV0X2JwYyk7IH0NCj4gPiA+ ICsNCj4gPiA+ICtpZ3RfZml4dHVyZSB7DQo+ID4gPiAraWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5k aXNwbGF5KTsNCj4gPiA+ICt9DQo+ID4gPiArfQ0KPiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL21l c29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQgaW5kZXgNCj4gPiAyMzUxYjNkM2ZhLi5lNTk1 NGUyODMyDQo+ID4gPiAxMDA2NDQNCj4gPiA+IC0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkDQo+ID4g PiArKysgYi90ZXN0cy9tZXNvbi5idWlsZA0KPiA+ID4gQEAgLTI4LDYgKzI4LDcgQEAgdGVzdF9w cm9ncyA9IFsNCj4gPiA+ICAna21zX2N1cnNvcl9jcmMnLA0KPiA+ID4gICdrbXNfY3Vyc29yX2Vk Z2Vfd2FsaycsDQo+ID4gPiAgJ2ttc19jdXJzb3JfbGVnYWN5JywNCj4gPiA+ICsna21zX2RpdGhl cicsDQo+ID4gPiAgJ2ttc19kcF9hdXhfZGV2JywNCj4gPiA+ICAna21zX2RwX2RzYycsDQo+ID4g PiAgJ2ttc19kcF90aWxlZF9kaXNwbGF5JywNCj4gPiA+IC0tDQo+ID4gPiAyLjI1LjENCj4gPg0K PiANCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0 LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==