From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id B47BC89C68 for ; Fri, 6 Sep 2019 14:44:38 +0000 (UTC) Date: Fri, 6 Sep 2019 17:44:34 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20190906144434.GT7482@intel.com> References: <20190905143530.27806-1-simon.ser@intel.com> <20190905145145.GL7482@intel.com> <199e5d39145823e9e8a0ca493792fdd15bfd7eca.camel@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <199e5d39145823e9e8a0ca493792fdd15bfd7eca.camel@intel.com> Subject: Re: [igt-dev] [PATCH RFC i-g-t] tests/kms_atomic_multi: new test 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: "Ser, Simon" Cc: "igt-dev@lists.freedesktop.org" List-ID: T24gRnJpLCBTZXAgMDYsIDIwMTkgYXQgMDI6MTU6MTBQTSArMDAwMCwgU2VyLCBTaW1vbiB3cm90 ZToKPiBUaGFua3MgZm9yIHRoZSByZXZpZXchCj4gCj4gT24gVGh1LCAyMDE5LTA5LTA1IGF0IDE3 OjUxICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBUaHUsIFNlcCAwNSwgMjAx OSBhdCAwNTozNTozMFBNICswMzAwLCBTaW1vbiBTZXIgd3JvdGU6Cj4gPiA+IFRoaXMgdGVzdCBw ZXJmb3JtcyBhIHNpbmdsZSBhdG9taWMgY29tbWl0IG9uIG11bHRpcGxlIENSVENzIGF0IG9uY2Uu IFRoZSBnb2FsCj4gPiA+IGlzIHRvIGNoZWNrIHRoYXQgYSBwYWdlLWZsaXAgZXZlbnQgZm9yIGVh Y2ggQ1JUQyBpcyByZWNlaXZlZC4KPiA+ID4gCj4gPiA+IEkgY2hvc2Ugbm90IHRvIGludGVncmF0 ZSB0aGlzIHRvIGFuIGV4aXN0aW5nIHRlc3QsIGJlY2F1c2Uga21zX2F0b21pYyBpcwo+ID4gPiBi YXNpY2FsbHkgYSBzaW5nbGUgZnVuY3Rpb24gd2l0aCBsb3RzIG9mIG9wdGlvbnMuIEludGVncmF0 aW5nIHRoaXMgdGVzdCB0bwo+ID4gPiBrbXNfYXRvbWljIHdvdWxkIG1peCB1cCB0aGVzZSB0d28g YW5kIG1ha2UgaXQgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgdGhlIHRlc3QuCj4gPiA+IAo+ID4g PiBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBTZXIgPHNpbW9uLnNlckBpbnRlbC5jb20+Cj4gPiA+IC0t LQo+ID4gPiAKPiA+ID4gVGhpcyBpcyBiYXNpY2FsbHkgdGhlIHRlc3QgSSB3cm90ZSB3aGlsZSBy ZXZpZXdpbmcgdGhlIGttc19kcF90aWxlZF9kaXNwbGF5Cj4gPiA+IHNlcmllcyBbMV0uIEknbSBz ZW5kaW5nIGl0IGFzIGFuIFJGQyB0byBrbm93IGlmIHRoZXJlJ3MgYW55IGludGVyZXN0IGluIGhh dmluZwo+ID4gPiBpdCBtZXJnZWQuCj4gPiA+IAo+ID4gPiBbMV06IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1BdWd1c3QvMDE1NzI0Lmh0bWwKPiA+ ID4gCj4gPiA+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICAgfCAgIDEgKwo+ID4gPiAgdGVzdHMv a21zX2F0b21pY19tdWx0aS5jIHwgMTQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ID4gPiAgdGVzdHMvbWVzb24uYnVpbGQgICAgICAgIHwgICAxICsKPiA+ID4gIDMg ZmlsZXMgY2hhbmdlZCwgMTUxIGluc2VydGlvbnMoKykKPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0ZXN0cy9rbXNfYXRvbWljX211bHRpLmMKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS90ZXN0 cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+ID4gPiBpbmRleCBj MDJlNGQ5NDg5ZjIuLmUwODk2OGQyYjBmYyAxMDA2NDQKPiA+ID4gLS0tIGEvdGVzdHMvTWFrZWZp bGUuc291cmNlcwo+ID4gPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gPiA+IEBAIC0y OSw2ICsyOSw3IEBAIFRFU1RTX3Byb2dzID0gXAo+ID4gPiAgCWttc19hdG9taWMgXAo+ID4gPiAg CWttc19hdG9taWNfaW50ZXJydXB0aWJsZSBcCj4gPiA+ICAJa21zX2F0b21pY190cmFuc2l0aW9u IFwKPiA+ID4gKwlrbXNfYXRvbWljX211bHRpIFwKPiA+ID4gIAlrbXNfYXZhaWxhYmxlX21vZGVz X2NyYyBcCj4gPiA+ICAJa21zX2JpZ19mYiBcCj4gPiA+ICAJa21zX2J1c3kgXAo+ID4gPiBkaWZm IC0tZ2l0IGEvdGVzdHMva21zX2F0b21pY19tdWx0aS5jIGIvdGVzdHMva21zX2F0b21pY19tdWx0 aS5jCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4u OTYyMTJhYjlhMWU2Cj4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gKysrIGIvdGVzdHMva21zX2F0 b21pY19tdWx0aS5jCj4gPiA+IEBAIC0wLDAgKzEsMTQ5IEBACj4gPiA+ICsvKgo+ID4gPiArICog Q29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24KPiA+ID4gKyAqCj4gPiA+ICsgKiBQ ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv biBvYnRhaW5pbmcgYQo+ID4gPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lh dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiA+ID4gKyAqIHRvIGRl YWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0 IGxpbWl0YXRpb24KPiA+ID4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ID4gPiArICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlCj4gPiA+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8g dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ID4gPiArICoKPiA+ID4gKyAqIFRoZSBhYm92ZSBj b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhl IG5leHQKPiA+ID4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGll cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiA+ID4gKyAqIFNvZnR3YXJlLgo+ID4g PiArICoKPiA+ID4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU IFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gPiA+ICsgKiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSwKPiA+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS SU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ID4gPiArICogVEhFIEFVVEhPUlMgT1IgQ09Q WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIK PiA+ID4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gPiA+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O TkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4g PiA+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gPiA+ICsgKi8KPiA+ID4gKwo+ID4gPiArI2luY2x1 ZGUgPHBvbGwuaD4KPiA+ID4gKyNpbmNsdWRlIDxkcm1fbW9kZS5oPgo+ID4gPiArI2luY2x1ZGUg PGRybV9mb3VyY2MuaD4KPiA+ID4gKyNpbmNsdWRlICJpZ3QuaCIKPiA+ID4gKwo+ID4gPiArc3Ry dWN0IHRlc3RfY29ubmVjdG9yIHsKPiA+ID4gKwlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPiA+ID4g KwlzdHJ1Y3QgaWd0X2ZiIGZiOwo+ID4gPiArCWRybU1vZGVDb25uZWN0b3JQdHIgY29ubmVjdG9y Owo+ID4gPiArCWVudW0gcGlwZSBwaXBlOwo+ID4gPiArCWJvb2wgcGFnZV9mbGlwOwo+ID4gPiAr fTsKPiA+ID4gKwo+ID4gPiArc3RydWN0IHRlc3RfZGF0YSB7Cj4gPiA+ICsJaW50IGRybV9mZDsK PiA+ID4gKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5Owo+ID4gPiArCXN0cnVjdCB0ZXN0X2Nvbm5l Y3RvciBjb25uc1syXTsKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyB2b2lkIGNyZWF0 ZV9mYihzdHJ1Y3QgdGVzdF9kYXRhICpkYXRhLCBzdHJ1Y3QgdGVzdF9jb25uZWN0b3IgKmNvbm4p Cj4gPiA+ICt7Cj4gPiA+ICsJaWd0X3BsYW5lX3QgKnByaW1hcnk7Cj4gPiA+ICsJZHJtTW9kZU1v ZGVJbmZvICptb2RlOwo+ID4gPiArCj4gPiA+ICsJbW9kZSA9IGlndF9vdXRwdXRfZ2V0X21vZGUo Y29ubi0+b3V0cHV0KTsKPiA+ID4gKwlpZ3RfY3JlYXRlX3BhdHRlcm5fZmIoZGF0YS0+ZHJtX2Zk LCBtb2RlLT5oZGlzcGxheSwgbW9kZS0+dmRpc3BsYXksCj4gPiA+ICsJCQkgICAgICBEUk1fRk9S TUFUX1hCR1I4ODg4LCBMT0NBTF9EUk1fRk9STUFUX01PRF9OT05FLAo+ID4gPiArCQkJICAgICAg JmNvbm4tPmZiKTsKPiA+ID4gKwo+ID4gPiArCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFu ZV90eXBlKGNvbm4tPm91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4gPiA+ICsJaWd0 X2Fzc2VydChwcmltYXJ5KTsKPiA+ID4gKwo+ID4gPiArCWlndF9wbGFuZV9zZXRfZmIocHJpbWFy eSwgJmNvbm4tPmZiKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgcGlja18y X291dHB1dHMoc3RydWN0IHRlc3RfZGF0YSAqZGF0YSkKPiA+ID4gK3sKPiA+ID4gKwlpZ3Rfb3V0 cHV0X3QgKm91dHB1dDsKPiA+ID4gKwlzdHJ1Y3QgdGVzdF9jb25uZWN0b3IgKmNvbm47Cj4gPiA+ ICsJc2l6ZV90IGk7Cj4gPiA+ICsKPiA+ID4gKwlpID0gMDsKPiA+ID4gKwlmb3JfZWFjaF9jb25u ZWN0ZWRfb3V0cHV0KGRhdGEtPmRpc3BsYXksIG91dHB1dCkgewo+ID4gPiArCQlpZiAoaSA+PSAy KQo+ID4gPiArCQkJYnJlYWs7Cj4gPiA+ICsKPiA+ID4gKwkJY29ubiA9ICZkYXRhLT5jb25uc1tp XTsKPiA+ID4gKwkJY29ubi0+b3V0cHV0ID0gb3V0cHV0Owo+ID4gPiArCQljb25uLT5waXBlID0g aTsKPiA+IAo+ID4gVGhhdCBhc3N1bWVzIGV2ZXJ5IG91dHB1dCBjYW4gYmUgZHJpdmVuIGJ5IGFu eSBwaXBlLgo+ID4gVXNpbmcgZm9yX2VhY2hfdmFsaWRfb3V0cHV0X29uX3BpcGUoKSBzaG91bGQg YXZvaWQgdGhhdAo+ID4gYXNzdW1wdGlvbi4KPiA+IAo+ID4gPiArCQlpZ3Rfb3V0cHV0X3NldF9w aXBlKG91dHB1dCwgY29ubi0+cGlwZSk7Cj4gPiA+ICsJCWkrKzsKPiA+ID4gKwl9Cj4gPiA+ICsK PiA+ID4gKwlpZ3Rfc2tpcF9vbihpIDwgMik7Cj4gPiA+ICsJLyogVE9ETzogdGVzdF9vbmx5IGNv bW1pdCwgc2tpcCBvbiBmYWlsdXJlICovCj4gPiA+ICsJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21p YyhkYXRhLT5kaXNwbGF5LCBEUk1fTU9ERV9BVE9NSUNfQUxMT1dfTU9ERVNFVCwgTlVMTCk7Cj4g PiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyB2b2lkIHBhZ2VfZmxpcF9oYW5kbGVyKGludCBm ZCwgdW5zaWduZWQgc2VxLCB1bnNpZ25lZCB0dl9zZWMsCj4gPiA+ICsJCQkgICAgICB1bnNpZ25l ZCB0dl91c2VjLCB1bnNpZ25lZCBjcnRjX2lkLCB2b2lkICpfZGF0YSkKPiA+ID4gK3sKPiA+ID4g KwlzdHJ1Y3QgdGVzdF9kYXRhICpkYXRhID0gX2RhdGE7Cj4gPiA+ICsJc3RydWN0IHRlc3RfY29u bmVjdG9yICpjb25uOwo+ID4gPiArCXNpemVfdCBpOwo+ID4gPiArCj4gPiA+ICsJZm9yIChpID0g MDsgaSA8IHNpemVvZihkYXRhLT5jb25ucykgLyBzaXplb2YoZGF0YS0+Y29ubnNbMF0pOyBpKysp IHsKPiA+IAo+ID4gQVJSQVlfU0laRSgpCj4gPiAKPiA+ID4gKwkJY29ubiA9ICZkYXRhLT5jb25u c1tpXTsKPiA+ID4gKwkJaWYgKGRhdGEtPmRpc3BsYXktPnBpcGVzW2Nvbm4tPnBpcGVdLmNydGNf aWQgPT0gY3J0Y19pZCkgewo+ID4gPiArCQkJaWd0X2Fzc2VydF9mKCFjb25uLT5wYWdlX2ZsaXAs Cj4gPiA+ICsJCQkJICAgICAiR290IHR3byBwYWdlLWZsaXBzIGZvciBDUlRDICV1XG4iLAo+ID4g PiArCQkJCSAgICAgY3J0Y19pZCk7Cj4gPiA+ICsJCQljb25uLT5wYWdlX2ZsaXAgPSB0cnVlOwo+ ID4gPiArCQkJcmV0dXJuOwo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJaWd0 X2Fzc2VydF9mKDAsICJHb3QgcGFnZS1mbGlwIGV2ZW50IGZvciB1bmV4cGVjdGVkIENSVEMgJXVc biIsIGNydGNfaWQpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtpZ3RfbWFpbgo+ID4gPiArewo+ ID4gPiArCWludCByZXQ7Cj4gPiA+ICsJc3RydWN0IHRlc3RfZGF0YSBkYXRhID0gezB9Owo+ID4g PiArCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKPiA+ID4gKwlzdHJ1Y3QgcG9sbGZkIHBmZCA9IHsw fTsKPiA+ID4gKwlkcm1FdmVudENvbnRleHQgZHJtX2V2ZW50ID0gezB9Owo+ID4gPiArCWludCBp Owo+ID4gPiArCj4gPiA+ICsJaWd0X2ZpeHR1cmUgewo+ID4gPiArCQlkYXRhLmRybV9mZCA9IGRy bV9vcGVuX2RyaXZlcl9tYXN0ZXIoRFJJVkVSX0FOWSk7Cj4gPiA+ICsJCWttc3Rlc3Rfc2V0X3Z0 X2dyYXBoaWNzX21vZGUoKTsKPiA+ID4gKwkJaWd0X2Rpc3BsYXlfcmVxdWlyZSgmZGlzcGxheSwg ZGF0YS5kcm1fZmQpOwo+ID4gPiArCQlpZ3RfZGlzcGxheV9yZXNldCgmZGlzcGxheSk7Cj4gPiA+ ICsJCWlndF9yZXF1aXJlKGRpc3BsYXkuaXNfYXRvbWljKTsKPiA+ID4gKwkJZGF0YS5kaXNwbGF5 ID0gJmRpc3BsYXk7Cj4gPiA+ICsKPiA+ID4gKwkJcGZkLmZkID0gZGF0YS5kcm1fZmQ7Cj4gPiA+ ICsJCXBmZC5ldmVudHMgPSBQT0xMSU47Cj4gPiA+ICsKPiA+ID4gKwkJZHJtX2V2ZW50LnZlcnNp b24gPSAzOwo+ID4gPiArCQlkcm1fZXZlbnQucGFnZV9mbGlwX2hhbmRsZXIyID0gcGFnZV9mbGlw X2hhbmRsZXI7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJaWd0X3N1YnRlc3QoIjJ4LWZsaXAi KSB7Cj4gPiAKPiA+IEFyZSB3ZSBwbGFubmluZyBtb3JlIHN1YnRlc3RzPyBJIGd1ZXNzIDF4LDJ4 LDN4LC4uLiBtaWdodCBiZSBuaWNlPwo+IAo+IEluZGVlZAo+IAo+ID4gPiArCQlwaWNrXzJfb3V0 cHV0cygmZGF0YSk7Cj4gPiA+ICsKPiA+ID4gKwkJY3JlYXRlX2ZiKCZkYXRhLCAmZGF0YS5jb25u c1swXSk7Cj4gPiA+ICsJCWNyZWF0ZV9mYigmZGF0YSwgJmRhdGEuY29ubnNbMV0pOwo+ID4gPiAr Cj4gPiA+ICsJCWlndF9kaXNwbGF5X2NvbW1pdF9hdG9taWMoZGF0YS5kaXNwbGF5LCBEUk1fTU9E RV9BVE9NSUNfTk9OQkxPQ0sgfAo+ID4gPiArCQkJCQkgIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVO VCwgJmRhdGEpOwo+ID4gPiArCj4gPiA+ICsJCS8qIFRPRE86IGhhbmRsZSB0d28gZXZlbnRzIHNl bnQgYXQgb25jZSAqLwo+ID4gPiArCQlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7Cj4gPiA+ICsJ CQlyZXQgPSBwb2xsKCZwZmQsIDEsIDEwMDApOwo+ID4gPiArCQkJaWd0X2Fzc2VydChyZXQgPT0g MSk7Cj4gPiA+ICsJCQlkcm1IYW5kbGVFdmVudChkYXRhLmRybV9mZCwgJmRybV9ldmVudCk7Cj4g PiAKPiA+IE5vdCB2ZXJpZnlpbmcgdGhhdCB3ZSBkaWRuJ3QgZ2V0IHRvbyBtYW55IGV2ZW50cz8K PiAKPiBUaGlzIGlzIGRvbmUgaW4gcGFnZV9mbGlwX2hhbmRsZXIKPiAKPiA+IEkgZ3Vlc3MgaXQg bWlnaHQgYWxzbyBiZSBuaWNlIHRvIGhhdmUgZGlmZmVyZW50IHN1YnRlc3RzCj4gPiBmb3IgcGFn ZSBmbGlwcyBhbmQgZnVsbCBtb2Rlc2V0cy4KPiAKPiBZZWFoLCBJIHBsYW4gb24gZXhwYW5kaW5n IHRoaXMgdGVzdCB3aXRoIG1vcmUgc3VidGVzdHMKPiAKPiA+IEkgZ3Vlc3MgdGhlcmUgaXMgbm8g Z2VuZXJpYyB3YXkgdG8gZm9yY2UgdGhlIGtlcm5lbCB0byBtb2Rlc2V0Cj4gPiBhIGNydGMgd2Ug ZGlkbid0IGV4cGxpY2l0bHkgaW5jbHVkZSBpbiB0aGUgcmVxdWVzdCwgc28gY2FuJ3QKPiA+IHJl YWxseSB0ZXN0IHRoYXQgc2NlbmFyaW8gOigKPiAKPiBIbW0sIG5vdCBzdXJlIEkgZ2V0IHRoaXMg c2NlbmFyaW8uIEhvdyBjb3VsZCB3ZSBtb2Rlc2V0IGEgQ1JUQyBub3QKPiBpbmNsdWRlZCBpbiB0 aGUgYXRvbWljIHJlcXVlc3Q/IENhbiB5b3UgZWxhYm9yYXRlPwoKQ3VycmVudCBzY2VuYXJpb3Mg YXJlOgotIGNkY2xrIGZyZXF1ZW5jeSBuZWVkcyB0byBiZSBjaGFuZ2VkCi0gcmFuIG91dCBvZiBG REkgYmFuZHdpZHRoIG9uIElWQiBhbmQgbmVlZCB0byByZWR1Y2UgdGhlCiAgb3RoZXIgcGlwZSdz IGNvbnRyaWJ1dGlvbgoKRnV0dXJlIHNjZW5hcmlvcyBJIHdhbnQgdG8gZ2V0IGZpeGVkOgotIHJh biBvdXQgb2YgTVNUIGxpbmsgYmFuZHdpZHRoIGFuZCBuZWVkIHRvIHJlZHVjZSBvdGhlciBwaXBl cycKICBjb250cmlidXRpb25zCgo+IAo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ ICsJaWd0X2ZpeHR1cmUgewo+ID4gPiArCQljbG9zZShkYXRhLmRybV9mZCk7Cj4gPiA+ICsJCWtt c3Rlc3RfcmVzdG9yZV92dF9tb2RlKCk7Cj4gPiA+ICsJCWlndF9kaXNwbGF5X2ZpbmkoZGF0YS5k aXNwbGF5KTsKPiA+ID4gKwl9Cj4gPiA+ICt9Cj4gPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNv bi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gPiA+IGluZGV4IGE3YjJiMzIyMTMwNC4uZGYw MGFiNGEyZjgxIDEwMDY0NAo+ID4gPiAtLS0gYS90ZXN0cy9tZXNvbi5idWlsZAo+ID4gPiArKysg Yi90ZXN0cy9tZXNvbi5idWlsZAo+ID4gPiBAQCAtMTQsNiArMTQsNyBAQCB0ZXN0X3Byb2dzID0g Wwo+ID4gPiAgCSdrbXNfYXRvbWljJywKPiA+ID4gIAkna21zX2F0b21pY19pbnRlcnJ1cHRpYmxl JywKPiA+ID4gIAkna21zX2F0b21pY190cmFuc2l0aW9uJywKPiA+ID4gKwkna21zX2F0b21pY19t dWx0aScsCj4gPiA+ICAJJ2ttc19hdmFpbGFibGVfbW9kZXNfY3JjJywKPiA+ID4gIAkna21zX2Jp Z19mYicsCj4gPiA+ICAJJ2ttc19idXN5JywKPiA+ID4gLS0KPiA+ID4gMi4yMy4wCj4gPiA+IAo+ ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g PiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+ID4gPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXYKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pZ3QtZGV2