From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH i-g-t 5/8] tools/intel_vbt_decode: unify child device printing across versions Date: Thu, 19 Oct 2017 20:24:10 +0300 Message-ID: <20171019172410.GZ10981@intel.com> References: <20171019152259.31615-1-jani.nikula@intel.com> <20171019152259.31615-6-jani.nikula@intel.com> 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 34E2F6EB09 for ; Thu, 19 Oct 2017 17:24:14 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171019152259.31615-6-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTksIDIwMTcgYXQgMDY6MjI6NTZQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gTWFrZSBpdCBlYXNpZXIgdG8gY29tcGFyZSBkdW1waW5nIGFnYWluc3QgdGhlIHN0cnVj dCBkZWZpbml0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3Vs YUBpbnRlbC5jb20+Cj4gLS0tCj4gIHRvb2xzL2ludGVsX3ZidF9kZWNvZGUuYyB8IDEyOCArKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hh bmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L3Rvb2xzL2ludGVsX3ZidF9kZWNvZGUuYyBiL3Rvb2xzL2ludGVsX3ZidF9kZWNvZGUuYwo+IGlu ZGV4IDY5Y2YxZTRjNmNjNi4uYmM1ZjM4MTEyNjE5IDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2ludGVs X3ZidF9kZWNvZGUuYwo+ICsrKyBiL3Rvb2xzL2ludGVsX3ZidF9kZWNvZGUuYwo+IEBAIC00MDEs NzQgKzQwMSw4OCBAQCBzdGF0aWMgY29uc3QgY2hhciAqbWlwaV9icmlkZ2VfdHlwZSh1aW50OF90 IHR5cGUpCj4gIHN0YXRpYyB2b2lkIGR1bXBfY2hpbGRfZGV2aWNlKHN0cnVjdCBjb250ZXh0ICpj b250ZXh0LAo+ICAJCQkgICAgICBjb25zdCBzdHJ1Y3QgY2hpbGRfZGV2aWNlX2NvbmZpZyAqY2hp bGQpCj4gIHsKPiAtCWNvbnN0IHN0cnVjdCBjaGlsZF9kZXZpY2VfY29uZmlnICplZnAgPSBjaGls ZDsKPiAtCj4gIAlpZiAoIWNoaWxkLT5kZXZpY2VfdHlwZSkKPiAgCQlyZXR1cm47Cj4gIAo+ICsJ cHJpbnRmKCJcdENoaWxkIGRldmljZSBpbmZvOlxuIik7Cj4gKwlwcmludGYoIlx0XHREZXZpY2Ug aGFuZGxlOiAweCUwNHggKCVzKVxuIiwgY2hpbGQtPmhhbmRsZSwKPiArCSAgICAgICBjaGlsZF9k ZXZpY2VfaGFuZGxlKGNoaWxkLT5oYW5kbGUpKTsKPiArCXByaW50ZigiXHRcdERldmljZSB0eXBl OiAweCUwNHggKCVzKVxuIiwgY2hpbGQtPmRldmljZV90eXBlLAo+ICsJICAgICAgIGNoaWxkX2Rl dmljZV90eXBlKGNoaWxkLT5kZXZpY2VfdHlwZSkpOwo+ICsJZHVtcF9jaGlsZF9kZXZpY2VfdHlw ZV9iaXRzKGNoaWxkLT5kZXZpY2VfdHlwZSk7Cj4gKwo+ICAJaWYgKGNvbnRleHQtPmJkYi0+dmVy c2lvbiA8IDE1Mikgewo+IC0JCXByaW50ZigiXHRDaGlsZCBkZXZpY2UgaW5mbzpcbiIpOwo+IC0J CXByaW50ZigiXHRcdERldmljZSB0eXBlOiAlMDR4ICglcylcbiIsIGNoaWxkLT5kZXZpY2VfdHlw ZSwKPiAtCQkgICAgICAgY2hpbGRfZGV2aWNlX3R5cGUoY2hpbGQtPmRldmljZV90eXBlKSk7Cj4g IAkJcHJpbnRmKCJcdFx0U2lnbmF0dXJlOiAlLipzXG4iLCAoaW50KXNpemVvZihjaGlsZC0+ZGV2 aWNlX2lkKSwgY2hpbGQtPmRldmljZV9pZCk7Cj4gLQkJcHJpbnRmKCJcdFx0QUlNIG9mZnNldDog JWRcbiIsIGNoaWxkLT5hZGRpbl9vZmZzZXQpOwo+IC0JCXByaW50ZigiXHRcdERWTyBwb3J0OiAw eCUwMnhcbiIsIGNoaWxkLT5kdm9fcG9ydCk7Cj4gLQl9IGVsc2UgeyAvKiAxNTIrIGhhdmUgRUZQ IGJsb2NrcyBoZXJlICovCj4gLQkJcHJpbnRmKCJcdEVGUCBkZXZpY2UgaW5mbzpcbiIpOwo+IC0J CXByaW50ZigiXHRcdERldmljZSBoYW5kbGU6IDB4JTA0eCAoJXMpXG4iLCBlZnAtPmhhbmRsZSwK PiAtCQkgICAgICAgY2hpbGRfZGV2aWNlX2hhbmRsZShlZnAtPmhhbmRsZSkpOwo+IC0JCXByaW50 ZigiXHRcdERldmljZSB0eXBlOiAweCUwNHggKCVzKVxuIiwgZWZwLT5kZXZpY2VfdHlwZSwKPiAt CQkgICAgICAgY2hpbGRfZGV2aWNlX3R5cGUoZWZwLT5kZXZpY2VfdHlwZSkpOwo+IC0JCWR1bXBf Y2hpbGRfZGV2aWNlX3R5cGVfYml0cyhlZnAtPmRldmljZV90eXBlKTsKPiAtCQlwcmludGYoIlx0 XHRJMkMgc3BlZWQ6IDB4JTAyeFxuIiwgZWZwLT5pMmNfc3BlZWQpOwo+IC0JCXByaW50ZigiXHRc dERQIG9uYm9hcmQgcmVkcml2ZXI6IDB4JTAyeFxuIiwgZWZwLT5kcF9vbmJvYXJkX3JlZHJpdmVy KTsKPiAtCQlwcmludGYoIlx0XHREUCBvbmRvY2sgcmVkcml2ZXI6IDB4JTAyeFxuIiwgZWZwLT5k cF9vbmRvY2tfcmVkcml2ZXIpOwo+IC0JCXByaW50ZigiXHRcdEhETUkgbWF4IGRhdGEgcmF0ZTog MHglMDJ4XG4iLCBlZnAtPmhkbWlfbWF4X2RhdGFfcmF0ZSk7Cj4gLQkJcHJpbnRmKCJcdFx0SERN SSBsZXZlbCBzaGlmdGVyIHZhbHVlOiAweCUwMnhcbiIsIGVmcC0+aGRtaV9sZXZlbF9zaGlmdGVy X3ZhbHVlKTsKPiAtCQlwcmludGYoIlx0XHRPZmZzZXQgdG8gRFREIGJ1ZmZlciBmb3IgZWRpZGxl c3MgRUZQOiAweCUwMnhcbiIsIGVmcC0+ZHRkX2J1Zl9wdHIpOwo+IC0JCXByaW50ZigiXHRcdER1 YWwgcGlwZSBnYW5nZWQgZURQOiAlc1xuIiwgWUVTTk8oZWZwLT5nYW5nZWRfZWRwKSk7Cj4gLQkJ cHJpbnRmKCJcdFx0Q29tcHJlc3Npb24gbWV0aG9kIENQUzogJXNcbiIsIFlFU05PKGVmcC0+Y29t cHJlc3Npb25fbWV0aG9kKSk7Cj4gLQkJcHJpbnRmKCJcdFx0Q29tcHJlc3Npb24gZW5hYmxlOiAl c1xuIiwgWUVTTk8oZWZwLT5jb21wcmVzc2lvbl9lbmFibGUpKTsKPiAtCQlwcmludGYoIlx0XHRF ZGlkbGVzcyBFRlA6ICVzXG4iLCBZRVNOTyhlZnAtPmVkaWRsZXNzX2VmcCkpOwo+IC0JCXByaW50 ZigiXHRcdENvbXByZXNzaW9uIHN0cnVjdHVyZSBpbmRleDogMHglMDJ4KVxuIiwgZWZwLT5jb21w cmVzc2lvbl9zdHJ1Y3R1cmVfaW5kZXgpOwo+IC0JCXByaW50ZigiXHRcdFNsYXZlIERESSBwb3J0 OiAweCUwMnggKCVzKVxuIiwgZWZwLT5zbGF2ZV9wb3J0LCBkdm9fcG9ydChlZnAtPnNsYXZlX3Bv cnQpKTsKPiAtCQlwcmludGYoIlx0XHRBSU0gb2Zmc2V0OiAlZFxuIiwgY2hpbGQtPmFkZGluX29m ZnNldCk7Cj4gLQkJcHJpbnRmKCJcdFx0UG9ydDogMHglMDJ4ICglcylcbiIsIGVmcC0+ZHZvX3Bv cnQsIGR2b19wb3J0KGVmcC0+ZHZvX3BvcnQpKTsKPiAtCQlwcmludGYoIlx0XHRBSU0gSTJDIHBp bjogMHglMDJ4XG4iLCBlZnAtPmkyY19waW4pOwo+IC0JCXByaW50ZigiXHRcdEFJTSBTbGF2ZSBh ZGRyZXNzOiAweCUwMnhcbiIsIGVmcC0+c2xhdmVfYWRkcik7Cj4gLQkJcHJpbnRmKCJcdFx0RERD IHBpbjogMHglMDJ4XG4iLCBlZnAtPmRkY19waW4pOwo+IC0JCXByaW50ZigiXHRcdEVESUQgYnVm ZmVyIHB0cjogMHglMDJ4XG4iLCBlZnAtPmVkaWRfcHRyKTsKPiAtCQlwcmludGYoIlx0XHREVk8g Y29uZmlnOiAweCUwMnhcbiIsIGVmcC0+ZHZvX2NmZyk7Cj4gLQkJcHJpbnRmKCJcdFx0SFBEIHNl bnNlIGludmVydDogJXNcbiIsIFlFU05PKGVmcC0+aHBkX2ludmVydCkpOwo+IC0JCXByaW50Zigi XHRcdElib29zdCBlbmFibGU6ICVzXG4iLCBZRVNOTyhlZnAtPmlib29zdCkpOwo+IC0JCXByaW50 ZigiXHRcdE9uYm9hcmQgTFNQQ09OOiAlc1xuIiwgWUVTTk8oZWZwLT5sc3Bjb24pKTsKPiAtCQlw cmludGYoIlx0XHRMYW5lIHJldmVyc2FsOiAlc1xuIiwgWUVTTk8oZWZwLT5sYW5lX3JldmVyc2Fs KSk7Cj4gLQkJcHJpbnRmKCJcdFx0RUZQIHJvdXRlZCB0aHJvdWdoIGRvY2s6ICVzXG4iLCBZRVNO TyhlZnAtPmVmcF9yb3V0ZWQpKTsKPiAtCQlwcmludGYoIlx0XHRIRE1JIGNvbXBhdGlibGU/ICVz XG4iLCBZRVNOTyhlZnAtPmhkbWlfc3VwcG9ydCkpOwo+IC0JCXByaW50ZigiXHRcdERQIGNvbXBh dGlibGU/ICVzXG4iLCBZRVNOTyhlZnAtPmRwX3N1cHBvcnQpKTsKPiAtCQlwcmludGYoIlx0XHRU TURTIGNvbXBhdGlibGU/ICVzXG4iLCBZRVNOTyhlZnAtPnRtZHNfc3VwcG9ydCkpOwo+IC0JCXBy aW50ZigiXHRcdEF1eCBjaGFubmVsOiAweCUwMnhcbiIsIGVmcC0+YXV4X2NoYW5uZWwpOwo+IC0J CXByaW50ZigiXHRcdERvbmdsZSBkZXRlY3Q6IDB4JTAyeFxuIiwgZWZwLT5kb25nbGVfZGV0ZWN0 KTsKPiAtCQlwcmludGYoIlx0XHRJbnRlZ3JhdGVkIGVuY29kZXIgaW5zdGVhZCBvZiBTRFZPOiAl c1xuIiwgWUVTTk8oZWZwLT5pbnRlZ3JhdGVkX2VuY29kZXIpKTsKPiAtCQlwcmludGYoIlx0XHRI b3RwbHUgY29ubmVjdCBzdGF0dXM6IDB4JTAyeFxuIiwgZWZwLT5ocGRfc3RhdHVzKTsKPiAtCQlw cmludGYoIlx0XHRTRFZPIHN0YWxsIHNpZ25hbCBhdmFpbGFibGU6ICVzXG4iLCBZRVNOTyhlZnAt PnNkdm9fc3RhbGwpKTsKPiAtCQlwcmludGYoIlx0XHRQaXBlIGNhcGFiaWxpdGllczogMHglMDJ4 XG4iLCBlZnAtPnBpcGVfY2FwKTsKPiAtCQlwcmludGYoIlx0XHREVk8gd2lyaW5nOiAweCUwMnhc biIsIGVmcC0+ZHZvX3dpcmluZyk7Cj4gLQkJcHJpbnRmKCJcdFx0TUlQSSBicmlkZ2UgdHlwZTog JTAyeCAoJXMpXG4iLCBlZnAtPm1pcGlfYnJpZGdlX3R5cGUsCj4gLQkJICAgICAgIG1pcGlfYnJp ZGdlX3R5cGUoZWZwLT5taXBpX2JyaWRnZV90eXBlKSk7Cj4gLQkJcHJpbnRmKCJcdFx0RGV2aWNl IGNsYXNzIGV4dGVuZHNpb246IDB4JTAyeFxuIiwgZWZwLT5leHRlbmRlZF90eXBlKTsKPiAtCQlw cmludGYoIlx0XHREVk8gZnVuY3Rpb246IDB4JTAyeFxuIiwgZWZwLT5kdm9fZnVuY3Rpb24pOwo+ ICsJfSBlbHNlIHsKPiArCQlwcmludGYoIlx0XHRJMkMgc3BlZWQ6IDB4JTAyeFxuIiwgY2hpbGQt PmkyY19zcGVlZCk7Cj4gKwkJcHJpbnRmKCJcdFx0RFAgb25ib2FyZCByZWRyaXZlcjogMHglMDJ4 XG4iLCBjaGlsZC0+ZHBfb25ib2FyZF9yZWRyaXZlcik7Cj4gKwkJcHJpbnRmKCJcdFx0RFAgb25k b2NrIHJlZHJpdmVyOiAweCUwMnhcbiIsIGNoaWxkLT5kcF9vbmRvY2tfcmVkcml2ZXIpOwo+ICsJ CXByaW50ZigiXHRcdEhETUkgbGV2ZWwgc2hpZnRlciB2YWx1ZTogMHglMDJ4XG4iLCBjaGlsZC0+ aGRtaV9sZXZlbF9zaGlmdGVyX3ZhbHVlKTsKPiArCQlwcmludGYoIlx0XHRIRE1JIG1heCBkYXRh IHJhdGU6IDB4JTAyeFxuIiwgY2hpbGQtPmhkbWlfbWF4X2RhdGFfcmF0ZSk7Cj4gKwkJcHJpbnRm KCJcdFx0T2Zmc2V0IHRvIERURCBidWZmZXIgZm9yIGVkaWRsZXNzIENISUxEOiAweCUwMnhcbiIs IGNoaWxkLT5kdGRfYnVmX3B0cik7Cj4gKwkJcHJpbnRmKCJcdFx0RWRpZGxlc3MgRUZQOiAlc1xu IiwgWUVTTk8oY2hpbGQtPmVkaWRsZXNzX2VmcCkpOwo+ICsJCXByaW50ZigiXHRcdENvbXByZXNz aW9uIGVuYWJsZTogJXNcbiIsIFlFU05PKGNoaWxkLT5jb21wcmVzc2lvbl9lbmFibGUpKTsKPiAr CQlwcmludGYoIlx0XHRDb21wcmVzc2lvbiBtZXRob2QgQ1BTOiAlc1xuIiwgWUVTTk8oY2hpbGQt PmNvbXByZXNzaW9uX21ldGhvZCkpOwo+ICsJCXByaW50ZigiXHRcdER1YWwgcGlwZSBnYW5nZWQg ZURQOiAlc1xuIiwgWUVTTk8oY2hpbGQtPmdhbmdlZF9lZHApKTsKPiArCQlwcmludGYoIlx0XHRD b21wcmVzc2lvbiBzdHJ1Y3R1cmUgaW5kZXg6IDB4JTAyeClcbiIsIGNoaWxkLT5jb21wcmVzc2lv bl9zdHJ1Y3R1cmVfaW5kZXgpOwo+ICsJCXByaW50ZigiXHRcdFNsYXZlIERESSBwb3J0OiAweCUw MnggKCVzKVxuIiwgY2hpbGQtPnNsYXZlX3BvcnQsIGR2b19wb3J0KGNoaWxkLT5zbGF2ZV9wb3J0 KSk7Cj4gKwl9Cj4gKwo+ICsJcHJpbnRmKCJcdFx0QUlNIG9mZnNldDogJWRcbiIsIGNoaWxkLT5h ZGRpbl9vZmZzZXQpOwo+ICsJcHJpbnRmKCJcdFx0RFZPIFBvcnQ6IDB4JTAyeCAoJXMpXG4iLCBj aGlsZC0+ZHZvX3BvcnQsIGR2b19wb3J0KGNoaWxkLT5kdm9fcG9ydCkpOwo+ICsKPiArCWlmIChj b250ZXh0LT5iZGItPnZlcnNpb24gPCAxNTIpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXByaW50Zigi XHRcdEFJTSBJMkMgcGluOiAweCUwMnhcbiIsIGNoaWxkLT5pMmNfcGluKTsKPiArCXByaW50Zigi XHRcdEFJTSBTbGF2ZSBhZGRyZXNzOiAweCUwMnhcbiIsIGNoaWxkLT5zbGF2ZV9hZGRyKTsKPiAr CXByaW50ZigiXHRcdEREQyBwaW46IDB4JTAyeFxuIiwgY2hpbGQtPmRkY19waW4pOwo+ICsJcHJp bnRmKCJcdFx0RURJRCBidWZmZXIgcHRyOiAweCUwMnhcbiIsIGNoaWxkLT5lZGlkX3B0cik7Cj4g KwlwcmludGYoIlx0XHREVk8gY29uZmlnOiAweCUwMnhcbiIsIGNoaWxkLT5kdm9fY2ZnKTsKPiAr Cj4gKwlpZiAoY29udGV4dC0+YmRiLT52ZXJzaW9uIDwgMTU4KSB7Cj4gKwkJcHJpbnRmKCJcdFx0 RFZPMiBQb3J0OiAweCUwMnggKCVzKVxuIiwgY2hpbGQtPmR2bzJfcG9ydCwgZHZvX3BvcnQoY2hp bGQtPmR2bzJfcG9ydCkpOwo+ICsJCXByaW50ZigiXHRcdEkyQzIgcGluOiAweCUwMnhcbiIsIGNo aWxkLT5pMmMyX3Bpbik7Cj4gKwkJcHJpbnRmKCJcdFx0U2xhdmUyIGFkZHJlc3M6IDB4JTAyeFxu IiwgY2hpbGQtPnNsYXZlMl9hZGRyKTsKPiArCQlwcmludGYoIlx0XHREREMyIHBpbjogMHglMDJ4 XG4iLCBjaGlsZC0+ZGRjMl9waW4pOwo+ICsJfSBlbHNlIHsKPiArCQlwcmludGYoIlx0XHRFRlAg cm91dGVkIHRocm91Z2ggZG9jazogJXNcbiIsIFlFU05PKGNoaWxkLT5lZnBfcm91dGVkKSk7Cj4g KwkJcHJpbnRmKCJcdFx0TGFuZSByZXZlcnNhbDogJXNcbiIsIFlFU05PKGNoaWxkLT5sYW5lX3Jl dmVyc2FsKSk7Cj4gKwkJcHJpbnRmKCJcdFx0T25ib2FyZCBMU1BDT046ICVzXG4iLCBZRVNOTyhj aGlsZC0+bHNwY29uKSk7Cj4gKwkJcHJpbnRmKCJcdFx0SWJvb3N0IGVuYWJsZTogJXNcbiIsIFlF U05PKGNoaWxkLT5pYm9vc3QpKTsKPiArCQlwcmludGYoIlx0XHRIUEQgc2Vuc2UgaW52ZXJ0OiAl c1xuIiwgWUVTTk8oY2hpbGQtPmhwZF9pbnZlcnQpKTsKPiArCQlwcmludGYoIlx0XHRIRE1JIGNv bXBhdGlibGU/ICVzXG4iLCBZRVNOTyhjaGlsZC0+aGRtaV9zdXBwb3J0KSk7Cj4gKwkJcHJpbnRm KCJcdFx0RFAgY29tcGF0aWJsZT8gJXNcbiIsIFlFU05PKGNoaWxkLT5kcF9zdXBwb3J0KSk7Cj4g KwkJcHJpbnRmKCJcdFx0VE1EUyBjb21wYXRpYmxlPyAlc1xuIiwgWUVTTk8oY2hpbGQtPnRtZHNf c3VwcG9ydCkpOwo+ICsJCXByaW50ZigiXHRcdEF1eCBjaGFubmVsOiAweCUwMnhcbiIsIGNoaWxk LT5hdXhfY2hhbm5lbCk7Cj4gKwkJcHJpbnRmKCJcdFx0RG9uZ2xlIGRldGVjdDogMHglMDJ4XG4i LCBjaGlsZC0+ZG9uZ2xlX2RldGVjdCk7CgpUaGUgdmVyc2lvbiBvZiB0aGUgc3BlYyBJIGhhdmUg YXQgaGFuZCBzYXlzIGF1eCBhbmQgZG9uZ2xlIGFyZQphbHJlYWR5IHBhcnQgb2YgdmVyc2lvbiAx NTUuCgo+ICsJfQo+ICsKPiArCXByaW50ZigiXHRcdFBpcGUgY2FwYWJpbGl0aWVzOiAweCUwMnhc biIsIGNoaWxkLT5waXBlX2NhcCk7Cj4gKwlwcmludGYoIlx0XHRTRFZPIHN0YWxsIHNpZ25hbCBh dmFpbGFibGU6ICVzXG4iLCBZRVNOTyhjaGlsZC0+c2R2b19zdGFsbCkpOwo+ICsJcHJpbnRmKCJc dFx0SG90cGx1IGNvbm5lY3Qgc3RhdHVzOiAweCUwMnhcbiIsIGNoaWxkLT5ocGRfc3RhdHVzKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICBeClByZS1leGlzdGluZyB0eXBvCgo+ICsJcHJpbnRm KCJcdFx0SW50ZWdyYXRlZCBlbmNvZGVyIGluc3RlYWQgb2YgU0RWTzogJXNcbiIsIFlFU05PKGNo aWxkLT5pbnRlZ3JhdGVkX2VuY29kZXIpKTsKPiArCXByaW50ZigiXHRcdERWTyB3aXJpbmc6IDB4 JTAyeFxuIiwgY2hpbGQtPmR2b193aXJpbmcpOwo+ICsKPiArCWlmIChjb250ZXh0LT5iZGItPnZl cnNpb24gPCAxNzEpIHsKPiArCQlwcmludGYoIlx0XHREVk8yIHdpcmluZzogMHglMDJ4XG4iLCBj aGlsZC0+ZHZvMl93aXJpbmcpOwo+ICsJfSBlbHNlIHsKPiArCQlwcmludGYoIlx0XHRNSVBJIGJy aWRnZSB0eXBlOiAlMDJ4ICglcylcbiIsIGNoaWxkLT5taXBpX2JyaWRnZV90eXBlLAo+ICsJCSAg ICAgICBtaXBpX2JyaWRnZV90eXBlKGNoaWxkLT5taXBpX2JyaWRnZV90eXBlKSk7Cj4gIAl9Cj4g IAo+ICsJcHJpbnRmKCJcdFx0RGV2aWNlIGNsYXNzIGV4dGVuZHNpb246IDB4JTAyeFxuIiwgY2hp bGQtPmV4dGVuZGVkX3R5cGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KZGl0dG8KCj4gKwlwcmludGYoIlx0XHREVk8gZnVuY3Rpb246IDB4JTAyeFxuIiwgY2hpbGQt PmR2b19mdW5jdGlvbik7Cj4gKwo+ICAJaWYgKGNvbnRleHQtPmJkYi0+dmVyc2lvbiA+PSAxOTUp IHsKPiAtCQlwcmludGYoIlx0XHREUCBVU0IgdHlwZSBDIHN1cHBvcnQ6ICVzXG4iLCBZRVNOTyhl ZnAtPmRwX3VzYl90eXBlX2MpKTsKPiAtCQlwcmludGYoIlx0XHQyWCBEUCBHUElPIGluZGV4OiAw eCUwMnhcbiIsIGVmcC0+ZHBfZ3Bpb19pbmRleCk7Cj4gLQkJcHJpbnRmKCJcdFx0MlggRFAgR1BJ TyBwaW4gbnVtYmVyOiAweCUwMnhcbiIsIGVmcC0+ZHBfZ3Bpb19waW5fbnVtKTsKPiArCQlwcmlu dGYoIlx0XHREUCBVU0IgdHlwZSBDIHN1cHBvcnQ6ICVzXG4iLCBZRVNOTyhjaGlsZC0+ZHBfdXNi X3R5cGVfYykpOwo+ICsJCXByaW50ZigiXHRcdDJYIERQIEdQSU8gaW5kZXg6IDB4JTAyeFxuIiwg Y2hpbGQtPmRwX2dwaW9faW5kZXgpOwo+ICsJCXByaW50ZigiXHRcdDJYIERQIEdQSU8gcGluIG51 bWJlcjogMHglMDJ4XG4iLCBjaGlsZC0+ZHBfZ3Bpb19waW5fbnVtKTsKPiAgCX0KPiAgCj4gIAlp ZiAoY29udGV4dC0+YmRiLT52ZXJzaW9uID49IDE5Nikgewo+IC0JCXByaW50ZigiXHRcdElCb29z dCBsZXZlbCBmb3IgSERNSTogMHglMDJ4XG4iLCBlZnAtPmhkbWlfaWJvb3N0X2xldmVsKTsKPiAt CQlwcmludGYoIlx0XHRJQm9vc3QgbGV2ZWwgZm9yIERQL2VEUDogMHglMDJ4XG4iLCBlZnAtPmRw X2lib29zdF9sZXZlbCk7Cj4gKwkJcHJpbnRmKCJcdFx0SUJvb3N0IGxldmVsIGZvciBIRE1JOiAw eCUwMnhcbiIsIGNoaWxkLT5oZG1pX2lib29zdF9sZXZlbCk7Cj4gKwkJcHJpbnRmKCJcdFx0SUJv b3N0IGxldmVsIGZvciBEUC9lRFA6IDB4JTAyeFxuIiwgY2hpbGQtPmRwX2lib29zdF9sZXZlbCk7 Cj4gIAl9Cj4gIH0KPiAgCj4gLS0gCj4gMi4xMS4wCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVs IE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK