From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] [RFC i-g-t] Test Design to verify mipi enable/disable sequence. Date: Mon, 09 Jan 2017 11:00:02 +0200 Message-ID: <87o9zgfw19.fsf@intel.com> References: <1483812449-14533-1-git-send-email-jyoti.r.yadav@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 131FD6E197 for ; Mon, 9 Jan 2017 09:00:06 +0000 (UTC) In-Reply-To: <1483812449-14533-1-git-send-email-jyoti.r.yadav@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Yadav Jyoti , intel-gfx@lists.freedesktop.org Cc: ville.syrjala@intel.com, Jenkins Val List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCAwNyBKYW4gMjAxNywgWWFkYXYgSnlvdGkgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29t PiB3cm90ZToKPiBGcm9tOiBKZW5raW5zIFZhbCA8amVua2luc0BpbnRlbC5jb20+Cj4KClRoaXMg cGxhY2UgaGVyZSBpcyBmb3IgdGhlIGNvbW1pdCBtZXNzYWdlLCB3aGVyZSB5b3Ugc2hvdWxkIGV4 cGxhaW4KKndoeSogd2UgbmVlZCB0aGlzIGNoYW5nZS4KCldoZXJlIGRvIHlvdSBnZXQgdGhlIFhN TCBmaWxlPyBEbyB5b3Ugd3JpdGUgaXQgbWFudWFsbHk/IEhvdyBkbyB5b3UKbWFuYWdlIHRoZW0/ IFRoZSBrZXJuZWwgd2lsbCBleGVjdXRlIHRoZSBzZXF1ZW5jZXMgZnJvbSB0aGUgVkJULCBub3QK ZnJvbSB5b3VyIFhNTCBmaWxlLCBzbyB5b3UnbGwgaGF2ZSBhIHByb2JsZW0gb2YgbWFpbnRhaW5p bmcgWE1MIGZpbGVzCmZvciBlYWNoIG1hY2hpbmUgeW91IGV2ZXIgcnVuIHRoaXMgdGVzdCBvbi4K CkknbSBhbHNvIG5vdCB0aHJpbGxlZCBhYm91dCBhZGRpbmcgc3BlY2lhbCBkZWJ1ZyBtZXNzYWdl cyB0aGF0IHRoZSB0ZXN0CmRlcGVuZHMgb24gZmluZGluZyBpbiBkbWVzZy4gVGhlIHRlc3QgYWxz byBkb2Vzbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nCnRvIGNhdXNlIHRoZSBzZXF1ZW5jZXMgdG8g YmUgcnVuLCBzbyB5b3UgZXhwZWN0IHNvbWUgb3RoZXIsIHVuZGVmaW5lZAp0ZXN0cyB0byBoYXZl IGJlZW4gcnVuLCB0aGUgZG1lc2cgZnJvbSB0aGF0IHJ1biBjYXB0dXJlZCwgYW5kIHNhdmVkIHRv IGEKZmlsZSB0aGF0IHlvdSBmZWVkIHRvIHRoaXMgdGVzdC4KCkkgdGhpbmsgdGhlIGRlc2lnbiBp cyByYXRoZXIgZnJhZ2lsZS4KCkJSLApKYW5pLgoKCj4gU2lnbmVkLW9mZi1ieTogSnlvdGkgWWFk YXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgo+IC0tLQo+ICB0ZXN0cy9NYWtlZmlsZS5hbSAg ICAgICAgICAgICAgICAgIHwgICAzICstCj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgICAgICAg ICAgICAgfCAgIDEgKwo+ICB0ZXN0cy9taXBpX3NlcXVlbmNlX3ZlcmlmaWNhdGlvbi5jIHwgMjAx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2Vk LCAyMDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg dGVzdHMvbWlwaV9zZXF1ZW5jZV92ZXJpZmljYXRpb24uYwo+Cj4gZGlmZiAtLWdpdCBhL3Rlc3Rz L01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KPiBpbmRleCBhNDA4MTI2Li41YjkzOGEy IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCj4gKysrIGIvdGVzdHMvTWFrZWZpbGUu YW0KPiBAQCAtNjEsNiArNjEsNyBAQCBBTV9DRkxBR1MgPSAkKERSTV9DRkxBR1MpICQoQ1dBUk5G TEFHUykgLVduby11bnVzZWQtcmVzdWx0ICQoREVCVUdfQ0ZMQUdTKVwKPiAgCS1ESUdUX1NSQ0RJ Uj1cIiIkKGFic19zcmNkaXIpIlwiIFwKPiAgCS1ESUdUX0RBVEFESVI9XCIiJChwa2dkYXRhZGly KSJcIiBcCj4gIAkkKExJQlVOV0lORF9DRkxBR1MpICQoV0VSUk9SX0NGTEFHUykgXAo+ICsJLUkv dXNyL2luY2x1ZGUvbGlieG1sMiBcCj4gIAkkKE5VTEwpCj4gIAo+ICBMREFERCA9IC4uL2xpYi9s aWJpbnRlbF90b29scy5sYSAkKEdMSUJfTElCUykKPiBAQCAtMTA0LDcgKzEwNSw3IEBAIGdlbV91 c2VycHRyX2JsaXRzX0xEQUREID0gJChMREFERCkgLWxwdGhyZWFkCj4gIGdlbV93YWl0X0xEQURE ID0gJChMREFERCkgLWxydAo+ICBrbXNfZmxpcF9MREFERCA9ICQoTERBREQpIC1scnQgLWxwdGhy ZWFkCj4gIHBtX3JjNl9yZXNpZGVuY3lfTERBREQgPSAkKExEQUREKSAtbHJ0Cj4gLQo+ICttaXBp X3NlcXVlbmNlX3ZlcmlmaWNhdGlvbi5jID0gJChMREFERCkgLWx4bWwyCj4gIHByaW1lX252X3Rl c3RfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoRFJNX05PVVZFQVVfQ0ZMQUdTKQo+ICBwcmltZV9u dl90ZXN0X0xEQUREID0gJChMREFERCkgJChEUk1fTk9VVkVBVV9MSUJTKQo+ICBwcmltZV9udl9h cGlfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoRFJNX05PVVZFQVVfQ0ZMQUdTKQo+IGRpZmYgLS1n aXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+IGlu ZGV4IDU5OGVjNmYuLjhkOTY5NmQgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNl cwo+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiBAQCAtMjExLDYgKzIxMSw3IEBAIFRF U1RTX3Byb2dzID0gXAo+ICAJa21zX3B3cml0ZV9jcmMgXAo+ICAJa21zX3NpbmtfY3JjX2Jhc2lj IFwKPiAgCXByaW1lX3VkbCBcCj4gKwltaXBpX3NlcXVlbmNlX3ZlcmlmaWNhdGlvbiBcCj4gIAkk KE5VTEwpCj4gIAo+ICAjIElNUE9SVEFOVDogVGhlIFpaXyB0ZXN0cyBuZWVkIHRvIGJlIHJ1biBs YXN0IQo+IGRpZmYgLS1naXQgYS90ZXN0cy9taXBpX3NlcXVlbmNlX3ZlcmlmaWNhdGlvbi5jIGIv dGVzdHMvbWlwaV9zZXF1ZW5jZV92ZXJpZmljYXRpb24uYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gaW5kZXggMDAwMDAwMC4uMzc4Y2NkMgo+IC0tLSAvZGV2L251bGwKPiArKysgYi90ZXN0cy9t aXBpX3NlcXVlbmNlX3ZlcmlmaWNhdGlvbi5jCj4gQEAgLTAsMCArMSwyMDEgQEAKPiArLyoKPiAr ICogIk1JUEkgZW5hYmxlL2Rpc2FibGUgc2VxdWVuY2UgdmVyaWZpY2F0aW9uIiBUZXN0IERlc2ln bjoKPiArICogVGhpcyBwYXRjaCBpcyBhbGwgYWJvdXQgdGVzdCBkZXNpZ24gdG8gdmVyaWZ5IG1p cGkgZW5hYmxlL2Rpc2FibGUgc2VxdWVuY2UKPiArICAgbWVudGlvbmVkIGluIEJTcGVjLgo+ICsg Kgo+ICsgKiBUYXJnZXRlZCBQbGF0Zm9ybTogQlhUKGluY2x1ZGluZykgb253YXJkcy4KPiArICog VGVzdCBJbnB1dDoKPiArCQlhKS4gWE1MIGZpbGUgd2hpY2ggZGV0YWlscyBhYm91dCBtaXBpIGVu YWJsZS9kaXNhYmxlIHNlcXVlbmNlCj4gKwkJICAgIG1lbnRpb25lZCBpbiBCU3BlYy4KPiArCQkg ICAgVGhpcyBmaWxlIGNvbnRhaW4gZGF0YSBhYm91dCBlYWNoIHJlZ3NpdGVycyB3aGljaCBuZWVk IHRvCj4gKwkJICAgIGJlIHByb2dyYW1tZWQuCj4gKwkJICAgIEZvbGxvd2luZyB0YWdzIGFyZSB1 c2VkIGluIFhNTCBmaWxlLgo+ICsJCSAgICAxLiA8U2VxdWVuY2U+IHRhZyBkZXNjcmliZXMgd2hp Y2ggc2VxdWVuY2UgaXQgaXMgLS0+IGVuYWJsZQo+ICsJCQlzZXF1ZW5jZSBvciBkaXNhYmxlIHNl cXVlbmNlLgo+ICsJCSAgICAyLiA8U3RlcD4gdGFnIGRlc2NyaWJlcyBhYm91dCBzdWJ0YXNrcyB3 aGljaCBuZWVkIHRvIGJlCj4gKwkJCWNvbXBsZXRlZCBpbiBhbiBvcmRlciBmb3IgdGhlIGVuYWJs ZS9kaXNhYmxlIHNlcXVlbmNlCj4gKwkJCXRvIGJlIGNvbXBsZXRlZC4KPiArCQkgICAgMy4gPC9S ZWdpc3Rlcj4gdGFnIGRlc2NpYmVzIGFib3V0IHBhcnRpY3VsYXIgcmVnaXN0ZXIncyBuYW1lCj4g KwkJCSxvZmZzZXQgYW5kIHRpbWUgd2hlbiBpdCB3YXMgcHJvZ3JhbW1lZC4KPiArCQkJQSA8U3Rl cD4gdGFnIG1lbnRpb25zIGFib3V0IGxpc3Qgb2YgcmVnaXN0ZXJzIHdoaWNoIG5lZWQKPiArCQkJ dG8gYmUgcHJvZ3JhbW1lZCBhcyBwYXJ0IG9mIHRoYXQgc3VidGFzay4KPiArCQkgICAgNC4gPC9G YWN0b3I+IHRhZyBkZXNjcmliZXMgYWJvdXQgcGFydGljdWxhciBiaXQgd2hpY2ggbmVlZAo+ICsJ CQl0byBiZSBwcm9ncmFtbWVkIGluIGEgcmVnaXN0ZXIuIEhlcmUgd2UgbWFpbnRhaW4gbWFzawo+ ICsJCQlhbmQgdmFsdWUgZmllbGQuCj4gKwo+ICsgIEJlbG93IHNuaXBwZXQgaXMgYWJvdXQgWE1M IGZpbGUuCj4gKyAgVHdvIHN1YnRhc2tzIGZvciBtaXBpIGVuYWJsZSBzZXF1ZW5jZSBhcmUgcHJl c2VudGVkIGluIFhNTCBmb3JtLgo+ICsKPiArICA8U2VxdWVuY2UgbmFtZT0ibWlwaV9lbmFibGVf c2VxdWVuY2UiPgo+ICsKPiArICAgIDxTdGVwIG5hbWU9IkVuYWJsZV9wb3dlcl93ZWxsXzIiPgo+ ICsJPFJlZ2lzdGVyIG5hbWU9IlBXUl9XRUxMX0NUTDIiIG9mZnNldD0iNDU0MDQiIHRpbWUgPSIw Ij4KPiArCSAgICAgPEZhY3RvciBuYW1lPSJQV1JfV0VMTF8yX0VOQUJMRSIgbWFzaz0iODAwMDAw MDAiIHZhbHVlPSI4MDAwMDAwMCI+Cj4gKwkgICAgIDwvRmFjdG9yPgo+ICsJPC9SZWdpc3Rlcj4K PiArICAgIDwvU3RlcD4KPiArCj4gKyAgICA8U3RlcCBuYW1lPSJDb25maWd1cmVfYW5kX2VuYWJs ZV9NSVBJX2Nsb2NrcyI+Cj4gKwk8UmVnaXN0ZXIgbmFtZT0iRFNJX1BMTF9DVEwiIG9mZnNldD0i MTYxMDAwIiB0aW1lPSIwIj4KPiArCTwvUmVnaXN0ZXI+Cj4gKwk8UmVnaXN0ZXIgbmFtZT0iTUlQ SV9DTE9DS19DVEwiIG9mZnNldD0iNDYwOTAiIHRpbWU9IjAiPgo+ICsJPC9SZWdpc3Rlcj4KPiAr CTxSZWdpc3RlciBuYW1lPSJEU0lfUExMX0VOQUJMRSIgb2Zmc2V0PSI0NjA4MCIgdGltZT0iMCI+ Cj4gKwkJPEZhY3RvciBuYW1lPSJQTExfRU5BQkxFIiBtYXNrPSI4MDAwMDAwMCIgdmFsdWU9Ijgw MDAwMDAwIj4KPiArCQk8L0ZhY3Rvcj4KPiArCTwvUmVnaXN0ZXI+Cj4gKyAgICA8L1N0ZXA+Cj4g Kwo+ICsgICA8L1NlcXVlbmNlPgo+ICsKPiArCSAgICAgIGIpIEFub3RoZXIgaW5wdXQgdG8gdGhl IHRlc3QgaXMgRG1lc2cgTG9nIGZpbGUuIFRoaXMgbG9nIGZpbGUKPiArCQlpbmNsdWRlcyBvdXIg Y3VzdG9taXplZCBsb2dzIGFwYXJ0IGZyb20gb3RoZXIgZG1lc2cgbG9ncy4KPiArCQlDdXN0b21p emVkIGxvZ3MgYXJlIGVuYWJsZWQgd2l0aCBvbmUgcGF0Y2gsIHdoaWNoIGluc2VydHMgc29tZQo+ ICsJCXByaW50ayBtZXNzYWdlLCB3aGVuIG1pcGkgcmVsYXRlZCByZWdpc3RlcnMgYXJlIHdyaXR0 ZW4uCj4gKwkJT3VyIGN1c3RvbWl6ZWQgbG9ncyBhcmUgZm9yIHRob3NlIHJlZ2lzdGVycyB3aGlj aCBhcmUgcmVsYXRlZCB0bwo+ICsJCW1pcGkgZW5hYmxlL2Rpc2FibGUgc2VxdWVuY2UuCj4gKwkJ VGhpcyBpcyBob3cgY3VzdG9taXplZCBsb2dzIGxvb2tzIGxpa2UuCj4gKwo+ICsJCVsgICAgMS43 NTQxMjddCWRiZ19nZW45X3dyaXRlMzIgOgkweDQ1NDA0CTB4NzAwMDAwMDAKPiArCQlbICAgIDEu NzU0MTczXQlkYmdfZ2VuOV93cml0ZTMyIDoJMHgxMzgwOTAJMHgzCj4gKwo+ICsJCTEgbG9nIGxp bmUgY29udGFpbnMgInRpbWUiIHZhbHVlLCAiZGJnX2dlbjlfd3JpdGUzMiIsc3RyaW5nIHRvCj4g KwkJZGlzdGluZ3Vpc2ggb3VyIGN1c3RvbWl6ZWQgbWVzc2FnZSwgInJlZ2lzdGVyX29mZnNldCIg YW5kCj4gKwkJInJlZ2lzdGVyX3ZhbHVlIi4KPiArCj4gK0hvdyB0ZXN0IHdvcmtzOgo+ICsKPiAr CTEuIEZvciBwYXJ0aWN1bGFyIHNlcXVlbmNlLCB0ZXN0IHdpbGwgcGljayBvbmUgYnkgb25lIHJl Z2lzdGVycyBmcm9tCj4gKwkgICBzdGVwcyBvZiB0aGUgc2VxdWVuY2UsIGFuZCB3aWxsIHRyeSB0 byBmaW5kIHRoaXMgcmVnaXN0ZXIgb2Zmc2V0IGluCj4gKwkgICB0aGUgbG9nIGZpbGUsIGlmIHJl Z2lzdGVyIG9mZnNldCBhbmQgdmFsdWUgbWF0Y2hlcywgdGhlbiB3ZQo+ICsJICAgc3RvcmUgdGlt ZSBvZiB0aGUgcmVnaXN0ZXIsIGluIHRoZSAidGltZSIgYXR0cmlidXRlIG9mIDxSZWdpc3Rlcj4g dGFnCj4gKwkgICBpbiBYTUwgZmlsZS4KPiArCj4gKwkyLiBPbmNlIHdlIHN0b3JlIHRpbWUgb2Yg ZWFjaCByZWdpc3RlcihtZW50aW9uZWQgaW4gWE1MIGZpbGUpLCBmcm9tIHRoZQo+ICsJICAgZG1l c2cgbG9nIGZpbGUsIHRoZW4gd2UgY2hlY2sgb3JkZXIgYmV0d2VlbiBlYWNoIDxTdGVwPiBpcyBt YWludGFpbmVkCj4gKwkgICBvciBub3QuCj4gKwkgICAidGltZSIgdmFsdWVzIGZvciBhbGwgdGhl IHJlZ2lzdGVycyBpbiBTdGVwIDEgc2hvdWxkIGJlIGxlc3MgdGhhbiB0aGUKPiArCSAgICJ0aW1l IiB2YWx1ZXMgZm9yIGFsbCB0aGUgcmVnaXN0ZXJzIGluIFN0ZXAgMi4KPiArCj4gKwkzLiBJZiB0 aGlzIG9yZGVyIGlzIG1haW50YWluZWQgYmV0d2VlbiBhbGwgdGhlIFN0ZXBzIGluIHRoZSBTZXF1 ZW5jZSwKPiArCSAgIHRoZW4gdGVzdCBpcyBQYXNzZWQsIG90aGVyd2lzZSBub3QuCj4gKwo+ICtM aWJyYXJ5IHVzZWQ6IGxpYnhtbCBsaWJyYXJ5IGlzIHVzZWQgdG8gcGFyc2UgWE1MIGZpbGUuCj4g KyovCj4gK2NvZGUgc25pcHBldDoKPiArLyogY29tbWFuZCBsaW5lIHBhcmFtZXRlcnMuKi8KPiAr c3RydWN0IGNtZF9wYXJhbSB7Cj4gKwljaGFyICp4bWxfZmlsZW5hbWU7Cj4gKwljaGFyICpkbWVz Z19sb2dfZmlsZW5hbWU7Cj4gK307Cj4gK3N0YXRpYyBzdHJ1Y3QgY21kX3BhcmFtIG9wdCA9IHsK PiArICAgICAgCS54bWxfZmlsZW5hbWUgPSAiLi90ZXN0cy9taXBpX3NlcXVlbmNlLnhtbCI7Cj4g KwkuZG1lc2dfbG9nX2ZpbGVuYW1lID0gIi4vdGVzdC9ieHRfZG1lc2cubG9nIgo+ICt9Owo+ICsK PiArc3RhdGljIGludCBvcHRfaGFuZGxlcihpbnQgb3B0aW9uLCBpbnQgb3B0aW9uX2luZGV4LCB2 b2lkICppbnB1dCkKPiArewo+ICsJc3dpdGNoIChvcHRpb24pIHsKPiArCWNhc2UgJ3gnOgo+ICsJ CW9wdC54bWxfZmlsZW5hbWUgPSBvcHRhcmc7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlICdkJzoKPiAr CQlvcHQuZG1lc2dfbG9nX2ZpbGVuYW1lID0gb3B0YXJnOwo+ICsJCWJyZWFrOwo+ICsJZGVmYXVs dDoKPiArCQlpZ3RfYXNzZXJ0KGZhbHNlKTsKPiArCX0KPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiAraW50Cj4gK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+ICt7Cj4gKwlpbnQgZmQ7 Cj4gKwlpbnQgZ2VuOwo+ICsJeG1sRG9jICpkb2N1bWVudDsKPiArCXhtbE5vZGUgKnJvb3QsICpm aXJzdF9jaGlsZCwgKm5vZGU7Cj4gKwlGSUxFICpmcDsKPiArCWZkID0gZHJtX29wZW5fZHJpdmVy X21hc3RlcihEUklWRVJfQU5ZKTsKPiArCWlmICghaXNfaTkxNV9kZXZpY2UoZmQpKQo+ICsJCXJl dHVybiAwOwo+ICsJZ2VuID0gaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoZmQpKTsKPiAr CWlndF9za2lwX29uKGdlbiA8IDkpOwo+ICsJY29uc3QgY2hhciAqaGVscF9zdHIgPQo+ICsJICAg ICAgICIgIC0teG1sXHRcdFhtbCBmaWxlIGNvbnRhaW5zIG1pcGkgZW5hYmxlL2Rpc2FibGUgc2Vx dWVuY2UgbWVudGlvbmVkIGluIEJTcGVjLlxuIFwKPiArCSAgICAgICAgICAtLWRtZXNnX2xvZ19m aWxlXHRcdCBEbWVzZyBsb2dzIGNvbGxlY3RlZCBhZnRlciBhcHBseWluZyBwYXRjaCB3aGljaCBl bmFibGVkIGN1c3RvbSBsb2dzIjsKPiArCXN0cnVjdCBvcHRpb24gbG9uZ19vcHRzW10gPSB7Cj4g KwkJCQkJeyJ4bWwiLCByZXF1aXJlZF9hcmd1ZW1lbnQsIDAsICd4J30sCj4gKwkJCQkJeyJkbWVz Z19sb2dfZmlsZSIsIHJlcXVpcmVkX2FyZ3VlbWVudCwgJ2QnfSwKPiArCQkJCQl7ImhlbHAiLCAw LCAwLCAnaCd9LAo+ICsJCQkJCXswLCAwLCAwLCAwfQo+ICsJCQkJfTsKPiArCWlndF9zdWJ0ZXN0 X2luaXRfcGFyc2Vfb3B0cygmYXJnYywgYXJndiwgIiIsIGxvbmdfb3B0cywKPiArCQkJCSAgICBo ZWxwX3N0ciwgb3B0X2hhbmRsZXIsIE5VTEwpOwo+ICsJaWd0X3NraXBfb25fc2ltdWxhdGlvbigp Owo+ICsJZnAgPSBmb3BlbihvcHQuZG1lc2dfbG9nX2ZpbGVuYW1lLCAiciIpOwo+ICsJaWd0X2Fz c2VydChmcCk7Cj4gKwkvKiBleHRyYWN0X2N1c3RvbV9sb2dzKCkgZnVuY3Rpb24gd2lsbCBleHRy YWN0IGN1c3RvbWl6ZWQgbG9ncyBmcm9tCj4gKwkgKiBkbWVzZyBsb2cgZmlsZSBhbmQgd2lsbCBy ZXR1cm4gYW4gYXJyYXkgb2YgY3VzdG9tIGxvZyBsaW5lcwo+ICsJICogd2hpY2ggYXJlIHRva2Vu aXplZC4gVG9rZW5zIHdpbGwgYmUgInRpbWUiLCAib2Zmc2V0IiBhbmQgInZhbHVlIi4KPiArCSAq Lwo+ICsJaW50IHNpemUxLCBzaXplMiA9IDA7Cj4gKwljaGFyICoqKmVuYWJsZV9zZXFfbG9ncyA9 IGV4dHJhY3RfY3VzdG9tX2xvZ3MoZnAsICJNSVBJX0VOQUJMRV9TRVEiLAo+ICsJCQkJCQkgICAg ICAmc2l6ZTEpOwo+ICsJY2hhciAqKipkaXNhYmxlX3NlcV9sb2dzID0gZXh0cmFjdF9jdXN0b21p emVkX2xvZ3MoZnAsCj4gKwkJCQkJCQkgICAiTUlQSV9ESVNBQkxFX1NFUSIsCj4gKwkJCQkJCQkg ICAmc2l6ZTIpOwo+ICsJZG9jdW1lbnQgPSB4bWxSZWFkRmlsZShvcHQueG1sX2ZpbGVuYW1lLCBO VUxMLCAwKTsKPiArCXJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2N1bWVudCk7Cj4gKwkv KiBmaXJzdF9jaGlsZCB3aWxsIGJlIDxTZXF1ZW5jZT4gbm9kZS4qLwo+ICsJZmlyc3RfY2hpbGQg PSByb290LT5jaGlsZHJlbjsKPiArCWZvciAobm9kZSA9IGZpcnN0X2NoaWxkOyBub2RlOyBub2Rl ID0gbm9kZS0+bmV4dCkgewo+ICsJCWlmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUp IHsKPiArCQkJLyogPFN0ZXA+IG5vZGVzIHdpbGwgYmUgY2hpbGRyZW4gb2YKPiArCQkJICogPFNl cXVlbmNlPiBub2RlLgo+ICsJCQkqLwo+ICsJCQl4bWxOb2RlICpzdGVwX3Jvb3QgPSBub2RlLT5j aGlsZHJlbjsKPiArCQkJeG1sTm9kZSAqc3RlcF90ZW1wX25vZGUgPSBzdGVwX3Jvb3Q7Cj4gKwkJ CWZvciAoc3RlcF90ZW1wX25vZGUgPSBzdGVwX3Jvb3Q7IHN0ZXBfdGVtcF9ub2RlOwo+ICsJCQkg ICAgIHN0ZXBfdGVtcF9ub2RlID0gc3RlcF90ZW1wX25vZGUtPm5leHQpIHsKPiArCQkJCWlmIChz dGVwX3RlbXBfbm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7Cj4gKwkJCQkJLyogPFJl Z2lzdGVyPiBub2RlIHdpbGwgYmUgY2hpbGRyZW4gb2YKPiArCQkJCQkgKiA8U3RlcD4gbm9kZS4K PiArCQkJCQkgKi8KPiArCQkJCQl4bWxOb2RlICpyZWdfcm9vdCA9Cj4gKwkJCQkJc3RlcF90ZW1w X25vZGUtPmNoaWxkcmVuOwo+ICsJCQkJCXhtbE5vZGUgKnJlZ190ZW1wX25vZGUgPSByZWdfcm9v dDsKPiArCQkJCQlmb3IgKHJlZ190ZW1wX25vZGUgPSByZWdfcm9vdDsKPiArCQkJCQkgICAgIHRl bXBfbm9kZTsKPiArCQkJCQkgICAgIHRlbXBfbm9kZSA9IHRlbXBfbm9kZS0+bmV4dCkgewo+ICsJ CQkJCQlpZiAodGVtcF9ub2RlLT50eXBlID09Cj4gKwkJCQkJCSAgICBYTUxfRUxFTUVOVF9OT0RF KSB7Cj4gKwkJCQkJCQlpbnQgaXQgPSAwOwo+ICsJCQkJCQkJLyogZm91bmQgZmxhZyB0byBjaGVj awo+ICsJCQkJCQkJICogdGhhdCByZWdpc3RlciBpcwo+ICsJCQkJCQkJICogZm91bmQgaW4gdGhl IGxvZ3MuCj4gKwkJCQkJCQkgKi8KPiArCQkJCQkJCWludCBmb3VuZCA9IDA7Cj4gKwkJCQkJCQkv KiBjaGVjayByZWdpc3RlciBpbiBsb2cKPiArCQkJCQkJCSAqIGFycmF5Lgo+ICsJCQkJCQkJICov Cj4gKwkJCQkJCQlmb3VuZCA9IGNoZWNrX3JlZygKPiArCQkJCQkJCQl0ZW1wX25vZGUsCj4gKwkJ CQkJCQkJZW5hYmxlX3NlcV9sb2dzLAo+ICsJCQkJCQkJCXNpemUxKQo+ICsJCQkJCQkJCTsKPiAr CQkJCQkJfQo+ICsJCQkJCX0KPiArCQkJCX0KPiArCQkJfQo+ICsJCX0KPiArCQkvKiBUT0RPOiB3 aGVuIHdlIGFycml2ZSBoZXJlLCB3ZSBoYXZlIHN0b3JlZCB0aW1lIG9mIGVhY2gKPiArCQkgKiBy ZWdpc3RlciBpbiB0aGUgWE1MIGZpbGUsIGZyb20gdGhlIGRtZXNnIGxvZ3Mgd2hlbiBpdCBpcwo+ ICsJCSAqIHByb2dyYW1tZWQuCj4gKwkJICogTm93IHdlIGhhdmUgdG8gc2VlIHRoYXQgcmVnaXN0 ZXJzIGFyZSBwcm9ncmFtbWVkIGluIHRoZSBvcmRlcgo+ICsJCSAqIHdoaWNoIGlzIG1lbnRpb25l ZCBpbiBCc3BlYywgYmFzZWQgb24gdGltaW5nIGluZm9ybWF0aW9uLgo+ICsJCSAqLwo+ICsJfQo+ ICsJaWd0X2V4aXQoKTsKPiArfQoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBU ZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK