From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B31BB6E49D for ; Fri, 12 Oct 2018 13:53:53 +0000 (UTC) References: <1539267515-3768-1-git-send-email-ramalingam.c@intel.com> From: "C, Ramalingam" Message-ID: <5919b72e-3d50-1764-cf99-d2749941329d@intel.com> Date: Fri, 12 Oct 2018 19:23:50 +0530 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t] kms_content_protection: Add Content Protection test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Daniel Vetter Cc: IGT development List-ID: Ck9uIDEwLzExLzIwMTggODozMyBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUaHUsIE9j dCAxMSwgMjAxOCBhdCA0OjIwIFBNIFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNv bT4gd3JvdGU6Cj4+IFByZXR0eSBzaW1wbGUgdGVzdDoKPj4gLSBwaWNrcyB0aGUgaGRjcCBjYXBh YmxlIG91dHB1dAo+PiAtIGNob29zZXMgdGhlIFBJUEUgYW5kIGFwcGx5IG1vZGVzZXQKPj4gLSBh cHBseSBhIEZCIGFuZCB3YWl0IGZvciB0aGUgZmxpcCBjb21wbGV0aW9uLgo+PiAtIGNsZWFycyB0 aGUgY29udGVudCBwcm90ZWN0aW9uIHByb3BlcnR5Cj4+IC0gdmVyaWZpZXMgdGhhdCBpdCBjbGVh cnMKPj4gLSBzZXRzIHRoZSBjb250ZW50IHByb3RlY3Rpb24gcHJvcGVydHkgdG8gZGVzaXJlZAo+ PiAtIHZlcmlmaWVzIHRoYXQgaXQgdHJhbnNpdGlvbnMgdG8gZW5hYmxlZAo+PiAtIGluY2FzZSBv ZiB0aW1lb3V0IHRocmVlIHJlYXR0ZW1wdHMgYXJlIGltcGxlbWVudGVkCj4+IC0gY2xlYXIgdGhl IGNvbnRlbnQgcHJvdGVjdGlvbiBwcm9wZXJ0eSBhbmQgbW9kZXNldCBvbiB0aGUgY3J0Ywo+Pgo+ PiBEb2VzIHRoaXMgaW4gc2VwYXJhdGUgc3ViLXRlc3QgZm9yIGJvdGggbGVnYWN5IGFuZCBhdG9t aWMgZm9yCj4+IGVhY2ggY29ubmVjdG9yIHdpdGggdmFsaWQgcGlwZS4KPj4KPj4gU2lnbmVkLW9m Zi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4+IFNpZ25lZC1vZmYtYnk6 IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KPiBTb21lIGhpZ2gtbGV2ZWwg Y29tbWVudHM6Cj4KPiAtIENvZGUgb3V0c2lkZSBvZiBpZ3RfZml4dHVyZS9zdWJ0ZXN0IGNhbid0 IGRlcGVuZCB1cG9uIGh3IHN0YXRlLiBUaGlzCj4gc2hvdWxkIGJlIGNhdWdodCB3aGVuIHlvdSBy dW4gbWFrZSBjaGVjay4KPiAtIHN1YnRlc3QgbmFtZXMgbXVzdCBiZSBzdGF0aWMgYW5kIG5vdCBk ZXBlbmQgdXBvbiB0aGUgbWFjaGluZSBjb25maWcuCj4gU28gbm8gb3V0cHV0IG5hbWVzIGluIHRo ZXJlLiBBbHNvLCBwZXJoYXBzIGRyb3AgdGhlIHBpcGUgc2luY2UgeW91Cj4gc2VlbSB0byBiYWls IG91dCBhcyBzb29uIGFzIHlvdSd2ZSBmb3VuZCBhIHBpcGUgZm9yIHlvdXIgY29ubmVjdG9yLgpT dXJlLiBhZG9wdGluZyB0aGVzZSBwb2ludHMgaW4gdGhlIHYyLgo+IC0gVGhlIGV2ZW50IG9ubHkg Y29tcGxpY2F0ZXMgeW91ciB0ZXN0IGxvZ2ljLiBBIGJsb2NraW5nIGF0b21pYyBjb21taXQKPiBz aG91bGQgYmUgbXVjaCBlYXNpZXIuClRoYXQgd2lsbCBoZWxwIHRpbGwgdGhlIGZsaXAgcmVxdWVz dCBzdWJtaXNzaW9uIHJpZ2h0PyBOZWVkIHRoZSBmbGlwIApjb21wbGV0aW9uIGluZGljYXRpb24u IHNvIGluIHYyIHN0aWxsIHJldGFpbmluZyB0aGUgZXZlbnRzLgo+IC0gQXMgZGlzY3Vzc2VkIG9u IGlyYywgd2UgbmVlZCBzb21lIGlndF9yZXF1aXJlL3NraXAgaGVyZSB0byBub3QgcnVuCj4gd2hl biB0aGUgc2luayBkb2Vzbid0IGRvIGhkY3AuCgpBcyB3ZSBkaXNjdXNzZWQgd2UgbmVlZCB0aGUg YXV4L2kyYyB0cmFuc2ZlciBmb3IgdGhpcyBwdXJwb3NlLiBLZWVwaW5nIAppdCBmb3IgdjMuIGZv Y3VzaW5nIHRoZSBzdWJ0ZXN0IHJlb3JnYW5pemluZyBpbiB2Mi4KCi1SYW0KCj4KPiBJIHRoaW5r IHRoZXJlJ3Mgc29tZSBtb3JlIGRldGFpbCBwb2xpc2hpbmcgaGVyZSwgYnV0IHNob3VsZCBiZSBn b29kIGF0Cj4gbGVhc3QgdG8gZ2V0IGdvaW5nLgo+IC1EYW5pZWwKPgo+PiAtLS0KPj4gICBsaWIv aWd0X2ttcy5jICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+PiAgIGxpYi9pZ3Rfa21zLmggICAg ICAgICAgICAgICAgICB8ICAgMSArCj4+ICAgdGVzdHMvTWFrZWZpbGUuc291cmNlcyAgICAgICAg IHwgICAxICsKPj4gICB0ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMgfCAyNjkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gICB0ZXN0cy9tZXNvbi5idWls ZCAgICAgICAgICAgICAgfCAgIDEgKwo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgMjczIGluc2VydGlv bnMoKykKPj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlv bi5jCj4+Cj4+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwo+PiBp bmRleCA2MmQ4NDY4NDE1YzYuLjQyMzE5OTZjNjVjYSAxMDA2NDQKPj4gLS0tIGEvbGliL2lndF9r bXMuYwo+PiArKysgYi9saWIvaWd0X2ttcy5jCj4+IEBAIC0xOTQsNiArMTk0LDcgQEAgY29uc3Qg Y2hhciAqIGNvbnN0IGlndF9jb25uZWN0b3JfcHJvcF9uYW1lc1tJR1RfTlVNX0NPTk5FQ1RPUl9Q Uk9QU10gPSB7Cj4+ICAgICAgICAgIFtJR1RfQ09OTkVDVE9SX0NSVENfSURdID0gIkNSVENfSUQi LAo+PiAgICAgICAgICBbSUdUX0NPTk5FQ1RPUl9EUE1TXSA9ICJEUE1TIiwKPj4gICAgICAgICAg W0lHVF9DT05ORUNUT1JfQlJPQURDQVNUX1JHQl0gPSAiQnJvYWRjYXN0IFJHQiIsCj4+ICsgICAg ICAgW0lHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OXSA9ICJDb250ZW50IFByb3RlY3Rp b24iLAo+PiAgIH07Cj4+Cj4+ICAgLyoKPj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmggYi9s aWIvaWd0X2ttcy5oCj4+IGluZGV4IDNhMTJmMjc4MmVlZC4uYWEwNjhlNThlNjA3IDEwMDY0NAo+ PiAtLS0gYS9saWIvaWd0X2ttcy5oCj4+ICsrKyBiL2xpYi9pZ3Rfa21zLmgKPj4gQEAgLTEyMCw2 ICsxMjAsNyBAQCBlbnVtIGlndF9hdG9taWNfY29ubmVjdG9yX3Byb3BlcnRpZXMgewo+PiAgICAg ICAgICBJR1RfQ09OTkVDVE9SX0NSVENfSUQsCj4+ICAgICAgICAgIElHVF9DT05ORUNUT1JfRFBN UywKPj4gICAgICAgICAgSUdUX0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdCLAo+PiArICAgICAgIElH VF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OLAo+PiAgICAgICAgICBJR1RfTlVNX0NPTk5F Q1RPUl9QUk9QUwo+PiAgIH07Cj4+Cj4+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3Vy Y2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+PiBpbmRleCBjODQ5MzNmMWQ5NzEuLjVhZjY4 YTYxZGY1MSAxMDA2NDQKPj4gLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+PiArKysgYi90 ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4+IEBAIC0xNzQsNiArMTc0LDcgQEAgVEVTVFNfcHJvZ3Mg PSBcCj4+ICAgICAgICAgIGttc19jaHZfY3Vyc29yX2ZhaWwgXAo+PiAgICAgICAgICBrbXNfY29s b3IgXAo+PiAgICAgICAgICBrbXNfY29uY3VycmVudCBcCj4+ICsgICAgICAga21zX2NvbnRlbnRf cHJvdGVjdGlvblwKPj4gICAgICAgICAga21zX2NydGNfYmFja2dyb3VuZF9jb2xvciBcCj4+ICAg ICAgICAgIGttc19jdXJzb3JfY3JjIFwKPj4gICAgICAgICAga21zX2N1cnNvcl9sZWdhY3kgXAo+ PiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIGIvdGVzdHMva21z X2NvbnRlbnRfcHJvdGVjdGlvbi5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAw MDAwMDAwMDAwMC4uZmNjMjJkMGIzYjQyCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvdGVzdHMv a21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCj4+IEBAIC0wLDAgKzEsMjY5IEBACj4+ICsvKgo+PiAr ICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24KPj4gKyAqCj4+ICsgKiBQZXJt aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv YnRhaW5pbmcgYQo+PiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRv Y3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPj4gKyAqIHRvIGRlYWwgaW4gdGhl IFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRp b24KPj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+PiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRo ZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4+ICsgKiBTb2Z0 d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25k aXRpb25zOgo+PiArICoKPj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz IHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPj4gKyAqIHBhcmFncmFwaCkg c2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUKPj4gKyAqIFNvZnR3YXJlLgo+PiArICoKPj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4+ ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSwKPj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+PiArICogVEhFIEFV VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFH RVMgT1IgT1RIRVIKPj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4+ICsgKiBGUk9NLCBPVVQgT0YgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ TkdTCj4+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4+ICsgKgo+PiArICovCj4+ICsKPj4gKyNpbmNs dWRlIDxwb2xsLmg+Cj4+ICsjaW5jbHVkZSAiaWd0LmgiCj4+ICsKPj4gK0lHVF9URVNUX0RFU0NS SVBUSU9OKCJUZXN0IGNvbnRlbnQgcHJvdGVjdGlvbiAoSERDUCkiKTsKPj4gKwo+PiArdHlwZWRl ZiBzdHJ1Y3Qgewo+PiArICAgICAgIGludCBkcm1fZmQ7Cj4+ICsgICAgICAgaWd0X2Rpc3BsYXlf dCBkaXNwbGF5Owo+PiArfSBkYXRhX3Q7Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGZsaXBfaGFuZGxl cihpbnQgZmQsIHVuc2lnbmVkIGludCBzZXF1ZW5jZSwgdW5zaWduZWQgaW50IHR2X3NlYywKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB0dl91c2VjLCB2b2lkICpkYXRh KQo+PiArewo+PiArICAgICAgIGlndF9kZWJ1ZygiRmxpcCBldmVudCByZWNlaXZlZC5cbiIpOwo+ PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IHdhaXRfZmxpcF9ldmVudChkYXRhX3QgKmRhdGEpCj4+ ICt7Cj4+ICsgICAgICAgaW50IHJjOwo+PiArICAgICAgIGRybUV2ZW50Q29udGV4dCBldmN0eDsK Pj4gKyAgICAgICBzdHJ1Y3QgcG9sbGZkIHBmZDsKPj4gKwo+PiArICAgICAgIGV2Y3R4LnZlcnNp b24gPSAyOwo+PiArICAgICAgIGV2Y3R4LnZibGFua19oYW5kbGVyID0gTlVMTDsKPj4gKyAgICAg ICBldmN0eC5wYWdlX2ZsaXBfaGFuZGxlciA9IGZsaXBfaGFuZGxlcjsKPj4gKwo+PiArICAgICAg IHBmZC5mZCA9IGRhdGEtPmRybV9mZDsKPj4gKyAgICAgICBwZmQuZXZlbnRzID0gUE9MTElOOwo+ PiArICAgICAgIHBmZC5yZXZlbnRzID0gMDsKPj4gKwo+PiArICAgICAgIHJjID0gcG9sbCgmcGZk LCAxLCAxMDAwKTsKPj4gKyAgICAgICBzd2l0Y2ggKHJjKSB7Cj4+ICsgICAgICAgY2FzZSAwOgo+ PiArICAgICAgICAgICAgICAgaWd0X2luZm8oIlBvbGwgdGltZW91dC4gMVNlYy5cbiIpOwo+PiAr ICAgICAgICAgICAgICAgcmMgPSAtRVRJTUVET1VUOwo+PiArICAgICAgICAgICAgICAgYnJlYWs7 Cj4+ICsgICAgICAgY2FzZSAxOgo+PiArICAgICAgICAgICAgICAgcmMgPSBkcm1IYW5kbGVFdmVu dChkYXRhLT5kcm1fZmQsICZldmN0eCk7Cj4+ICsgICAgICAgICAgICAgICBpZ3RfYXNzZXJ0X2Vx KHJjLCAwKTsKPj4gKyAgICAgICAgICAgICAgIHJjID0gMDsKPj4gKyAgICAgICAgICAgICAgIGJy ZWFrOwo+PiArICAgICAgIGRlZmF1bHQ6Cj4+ICsgICAgICAgICAgICAgICBpZ3RfaW5mbygiVW5l eHBlY3RlZCBwb2xsIHJjICVkXG4iLCByYyk7Cj4+ICsgICAgICAgICAgICAgICByYyA9IC0xOwo+ PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICsgICAgICAgfQo+PiArCj4+ICsgICAgICAgcmV0 dXJuIHJjOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgYm9vbAo+PiArd2FpdF9mb3JfcHJvcF92YWx1 ZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgdWludDY0X3QgZXhwZWN0ZWQsCj4+ICsgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgdGltZW91dF9tU2VjKQo+PiArewo+PiArICAgICAgIHVpbnQ2NF90 IHZhbDsKPj4gKyAgICAgICBpbnQgaTsKPj4gKwo+PiArICAgICAgIGZvciAoaSA9IDA7IGkgPCB0 aW1lb3V0X21TZWM7IGkrKykgewo+PiArICAgICAgICAgICAgICAgdmFsID0gaWd0X291dHB1dF9n ZXRfcHJvcChvdXRwdXQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OKTsKPj4gKyAgICAgICAgICAgICAg IGlmICh2YWwgPT0gZXhwZWN0ZWQpCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0 cnVlOwo+PiArICAgICAgICAgICAgICAgdXNsZWVwKDEwMDApOwo+PiArICAgICAgIH0KPj4gKyAg ICAgICBpZ3RfaW5mbygicHJvcF92YWx1ZSBtaXNtYXRjaCAlbGQgIT0gJWxkXG4iLCB2YWwsIGV4 cGVjdGVkKTsKPj4gKwo+PiArICAgICAgIHJldHVybiBmYWxzZTsKPj4gK30KPj4gKwo+PiArc3Rh dGljIHZvaWQKPj4gK2NvbW1pdF9kaXNwbGF5X2FuZF93YWl0X2Zvcl9mbGlwKGRhdGFfdCAqZGF0 YSwgaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMpCj4+ICt7Cj4+ICsgICAgICAgaW50IHJldDsK Pj4gKyAgICAgICB1aW50MzJfdCBmbGFnOwo+PiArCj4+ICsgICAgICAgaWYgKHMgPT0gQ09NTUlU X0FUT01JQykgewo+PiArICAgICAgICAgICAgICAgZmxhZyA9IERSTV9NT0RFX1BBR0VfRkxJUF9F VkVOVCB8IERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VUOwo+PiArICAgICAgICAgICAgICAg aWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYyhkaXNwbGF5LCBmbGFnLCBOVUxMKTsKPj4gKwo+PiAr ICAgICAgICAgICAgICAgcmV0ID0gd2FpdF9mbGlwX2V2ZW50KGRhdGEpOwo+PiArICAgICAgICAg ICAgICAgaWd0X2Fzc2VydF9mKCFyZXQsICJ3YWl0X2ZsaXBfZXZlbnQgZmFpbGVkLiAlZFxuIiwg cmV0KTsKPj4gKyAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgaWd0X2Rpc3BsYXlf Y29tbWl0MihkaXNwbGF5LCBzKTsKPj4gKwo+PiArICAgICAgICAgICAgICAgLyogV2FpdCBmb3Ig NTBtU2VjICovCj4+ICsgICAgICAgICAgICAgICB1c2xlZXAoNTAgKiAxMDAwKTsKPj4gKyAgICAg ICB9Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkCj4+ICt0ZXN0X3BpcGVfb3V0cHV0KGRhdGFf dCAqZGF0YSwgY29uc3QgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0LAo+PiAr ICAgICAgICAgICAgICAgIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQo+PiArewo+PiArICAgICAg IGlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsKPj4gKyAgICAgICBkcm1N b2RlTW9kZUluZm8gbW9kZTsKPj4gKyAgICAgICBpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKPj4gKyAg ICAgICBzdHJ1Y3QgaWd0X2ZiIHJlZCwgZ3JlZW47Cj4+ICsgICAgICAgYm9vbCByZXQ7Cj4+ICsg ICAgICAgaW50IHJldHJ5ID0gMzsKPj4gKwo+PiArICAgICAgIGlndF9hc3NlcnQoa21zdGVzdF9n ZXRfY29ubmVjdG9yX2RlZmF1bHRfbW9kZSgKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgZGlz cGxheS0+ZHJtX2ZkLCBvdXRwdXQtPmNvbmZpZy5jb25uZWN0b3IsICZtb2RlKSk7Cj4+ICsKPj4g KyAgICAgICBpZ3Rfb3V0cHV0X292ZXJyaWRlX21vZGUob3V0cHV0LCAmbW9kZSk7Cj4+ICsgICAg ICAgaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQsIHBpcGUpOwo+PiArCj4+ICsgICAgICAgaWd0 X2NyZWF0ZV9jb2xvcl9mYihkaXNwbGF5LT5kcm1fZmQsIG1vZGUuaGRpc3BsYXksIG1vZGUudmRp c3BsYXksCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4 LCBMT0NBTF9EUk1fRk9STUFUX01PRF9OT05FLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgMS5mLCAwLmYsIDAuZiwgJnJlZCk7Cj4+ICsgICAgICAgaWd0X2NyZWF0ZV9jb2xvcl9mYihk aXNwbGF5LT5kcm1fZmQsIG1vZGUuaGRpc3BsYXksIG1vZGUudmRpc3BsYXksCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LCBMT0NBTF9EUk1fRk9STUFU X01PRF9OT05FLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgMC5mLCAxLmYsIDAuZiwg JmdyZWVuKTsKPj4gKwo+PiArICAgICAgIHByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90 eXBlKG91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4+ICsgICAgICAgaWd0X2Rpc3Bs YXlfY29tbWl0MihkaXNwbGF5LCBzKTsKPj4gKwo+PiArICAgICAgIGlndF9wbGFuZV9zZXRfZmIo cHJpbWFyeSwgJnJlZCk7Cj4+ICsKPj4gKyAgICAgICAvKiBXYWl0IGZvciBGbGlwIGNvbXBsZXRp b24gYmVmb3JlIHN0YXJ0aW5nIHRoZSBIRENQIGF1dGhlbnRpY2F0aW9uICovCj4+ICsgICAgICAg Y29tbWl0X2Rpc3BsYXlfYW5kX3dhaXRfZm9yX2ZsaXAoZGF0YSwgZGlzcGxheSwgcyk7Cj4+ICsK Pj4gKyAgICAgICBkbyB7Cj4+ICsgICAgICAgICAgICAgICBpZ3Rfb3V0cHV0X3NldF9wcm9wX3Zh bHVlKG91dHB1dCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04sIDApOwo+PiArICAgICAgICAgICAgICAg aWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBzKTsKPj4gKwo+PiArICAgICAgICAgICAgICAg LyogV2FpdCBmb3IgSERDUCB0byBiZSBkaXNhYmxlZCBmb3IgZnJlc2ggc3RhcnQuICovCj4+ICsg ICAgICAgICAgICAgICByZXQgPSB3YWl0X2Zvcl9wcm9wX3ZhbHVlKG91dHB1dCwgMCwgMTAwMCk7 Cj4+ICsgICAgICAgICAgICAgICBpZ3RfYXNzZXJ0X2YocmV0LCAiQ29udGVudCBQcm90ZWN0aW9u IG5vdCBjbGVhcmVkXG4iKTsKPj4gKwo+PiArICAgICAgICAgICAgICAgaWd0X291dHB1dF9zZXRf cHJvcF92YWx1ZShvdXRwdXQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OLCAxKTsKPj4gKyAgICAgICAg ICAgICAgIGlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgcyk7Cj4+ICsKPj4gKyAgICAgICAg ICAgICAgIC8qIFdhaXQgZm9yIDE4MDAwbVNlYyAoMyBhdXRoZW50aWNhdGlvbiAqIDZTZWMpICov Cj4+ICsgICAgICAgICAgICAgICByZXQgPSB3YWl0X2Zvcl9wcm9wX3ZhbHVlKG91dHB1dCwgMiwg MTgwMDApOwo+PiArICAgICAgICAgICAgICAgaWYgKHJldCkgewo+PiArICAgICAgICAgICAgICAg ICAgICAgICBpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZncmVlbik7Cj4+ICsgICAgICAgICAg ICAgICAgICAgICAgIGlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgcyk7Cj4+ICsgICAgICAg ICAgICAgICB9Cj4+ICsKPj4gKyAgICAgICAgICAgICAgIGlmICghcmV0ICYmIC0tcmV0cnkpCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIGlndF9kZWJ1ZygiUmV0cnkgKCVkLzIpIC4uLlxuIiwg MyAtIHJldHJ5KTsKPj4gKyAgICAgICB9IHdoaWxlIChyZXRyeSAmJiAhcmV0KTsKPj4gKwo+PiAr ICAgICAgIGlndF9hc3NlcnRfZihyZXQsICJDb250ZW50IFByb3RlY3Rpb24gbm90IGVuYWJsZWRc biIpOwo+PiArCj4+ICsgICAgICAgaWd0X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsIElH VF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OLCAwKTsKPj4gKyAgICAgICBpZ3RfcGxhbmVf c2V0X2ZiKHByaW1hcnksICZyZWQpOwo+PiArICAgICAgIGlndF9kaXNwbGF5X2NvbW1pdDIoZGlz cGxheSwgcyk7Cj4+ICsKPj4gKyAgICAgICAvKiBXYWl0IGZvciBIRENQIHRvIGJlIGRpc2FibGVk LCBiZWZvcmUgY3J0YyBvZmYgKi8KPj4gKyAgICAgICB3YWl0X2Zvcl9wcm9wX3ZhbHVlKG91dHB1 dCwgMCwgMTAwMCk7Cj4+ICsKPj4gKyAgICAgICBpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5V TEwpOwo+PiArICAgICAgIGlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOwo+ PiArfQo+PiArCj4+ICtzdGF0aWMgYm9vbCBpZ3RfcGlwZV9pc19mcmVlKGlndF9kaXNwbGF5X3Qg KmRpc3BsYXksIGVudW0gcGlwZSBwaXBlKQo+PiArewo+PiArICAgICAgIGludCBpOwo+PiArCj4+ ICsgICAgICAgZm9yIChpID0gMDsgaSA8IGRpc3BsYXktPm5fb3V0cHV0czsgaSsrKQo+PiArICAg ICAgICAgICAgICAgaWYgKGRpc3BsYXktPm91dHB1dHNbaV0ucGVuZGluZ19waXBlID09IHBpcGUp Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPj4gKwo+PiArICAgICAg IHJldHVybiB0cnVlOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZAo+PiArdGVzdF9jb250ZW50 X3Byb3RlY3Rpb25fb25fb3V0cHV0KGRhdGFfdCAqZGF0YSwgaWd0X291dHB1dF90ICpvdXRwdXQp Cj4+ICt7Cj4+ICsgICAgICAgaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLT5kaXNwbGF5 Owo+PiArICAgICAgIGVudW0gcGlwZSBwaXBlOwo+PiArICAgICAgIGNoYXIgdGVzdF9uYW1lWzUw XTsKPj4gKwo+PiArICAgICAgIGZvcl9lYWNoX3BpcGVfc3RhdGljKHBpcGUpIHsKPj4gKyAgICAg ICAgICAgICAgIGlmICghaWd0X3BpcGVfY29ubmVjdG9yX3ZhbGlkKHBpcGUsIG91dHB1dCkpCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+PiArCj4+ICsgICAgICAgICAgICAg ICAvKgo+PiArICAgICAgICAgICAgICAgICogSWYgcHJldmlvdXMgc3VidGVzdCBvZiBjb25uZWN0 b3IgZmFpbGVkLCBwaXBlCj4+ICsgICAgICAgICAgICAgICAgKiBhdHRhY2hlZCB0byB0aGF0IGNv bm5lY3RvciBpcyBub3QgcmVsZWFzZWQuCj4+ICsgICAgICAgICAgICAgICAgKiBCZWNhdXNlIG9m IHRoYXQgd2UgaGF2ZSB0byBjaG9vc2UgdGhlIG5vbgo+PiArICAgICAgICAgICAgICAgICogYXR0 YWNoZWQgcGlwZSBmb3IgdGhpcyBzdWJ0ZXN0Lgo+PiArICAgICAgICAgICAgICAgICovCj4+ICsg ICAgICAgICAgICAgICBpZiAoIWlndF9waXBlX2lzX2ZyZWUoZGlzcGxheSwgcGlwZSkpCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+PiArCj4+ICsgICAgICAgICAgICAgICBz cHJpbnRmKHRlc3RfbmFtZSwgIkhEQ1BfJXNfUElQRS0lc19sZWdhY3kiLAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LT5uYW1lLAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga21zdGVzdF9waXBlX25hbWUocGlwZSkpOwo+ PiArICAgICAgICAgICAgICAgaWd0X3N1YnRlc3QodGVzdF9uYW1lKQo+PiArICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0X3BpcGVfb3V0cHV0KGRhdGEsIHBpcGUsIG91dHB1dCwgQ09NTUlUX0xF R0FDWSk7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgIGlmICghZGlzcGxheS0+aXNfYXRvbWljKQo+ PiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPj4gKwo+PiArICAgICAgICAgICAgICAg c3ByaW50Zih0ZXN0X25hbWUsICJIRENQXyVzX1BJUEUtJXNfYXRvbWljIiwKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dC0+bmFtZSwKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKTsK Pj4gKyAgICAgICAgICAgICAgIGlndF9zdWJ0ZXN0KHRlc3RfbmFtZSkKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgdGVzdF9waXBlX291dHB1dChkYXRhLCBwaXBlLCBvdXRwdXQsIENPTU1JVF9B VE9NSUMpOwo+PiArCj4+ICsgICAgICAgICAgICAgICAvKgo+PiArICAgICAgICAgICAgICAgICog VGVzdGluZyBhIG91dHB1dCB3aXRoIGEgcGlwZSBpcyBlbm91Z2ggZm9yIEhEQ1AKPj4gKyAgICAg ICAgICAgICAgICAqIHRlc3RpbmcuIE5vIFJPSSBpbiB0ZXN0aW5nIHRoZSBjb25uZWN0b3Igd2l0 aCBvdGhlcgo+PiArICAgICAgICAgICAgICAgICogcGlwZXMuIFNvIEJyZWFrIHRoZSBsb29wIG9u IHBpcGUuCj4+ICsgICAgICAgICAgICAgICAgKi8KPj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ PiArICAgICAgIH0KPj4gK30KPj4gKwo+PiAraWd0X21haW4KPj4gK3sKPj4gKyAgICAgICBkYXRh X3QgZGF0YSA9IHt9Owo+PiArICAgICAgIGlndF9vdXRwdXRfdCAqb3V0cHV0Owo+PiArICAgICAg IGludCB2YWxpZF90ZXN0cyA9IDAsIGk7Cj4+ICsKPj4gKyAgICAgICBpZ3RfZml4dHVyZSB7Cj4+ ICsgICAgICAgICAgICAgICBpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7Cj4+ICsKPj4gKyAgICAg ICAgICAgICAgIGRhdGEuZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9BTlkpOwo+PiAr Cj4+ICsgICAgICAgICAgICAgICBpZ3RfZGlzcGxheV9pbml0KCZkYXRhLmRpc3BsYXksIGRhdGEu ZHJtX2ZkKTsKPj4gKyAgICAgICB9Cj4+ICsKPj4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgZGF0 YS5kaXNwbGF5Lm5fb3V0cHV0czsgaSsrKQo+PiArICAgICAgICAgICAgICAgZm9yX2VhY2hfaWYo KG91dHB1dCA9ICYoZGF0YS5kaXNwbGF5Lm91dHB1dHNbaV0pLAo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgaWd0X291dHB1dF9pc19jb25uZWN0ZWQob3V0cHV0KSkpIHsKPj4gKwo+PiAr ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW91dHB1dC0+cHJvcHNbSUdUX0NPTk5FQ1RPUl9D T05URU5UX1BST1RFQ1RJT05dKQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRpbnVlOwo+PiArCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfY29udGVudF9wcm90 ZWN0aW9uX29uX291dHB1dCgmZGF0YSwgb3V0cHV0KTsKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgdmFsaWRfdGVzdHMrKzsKPj4gKyAgICAgICAgICAgICAgIH0KPj4gKwo+PiArICAgICAgIGlm ICghdmFsaWRfdGVzdHMpCj4+ICsgICAgICAgICAgICAgICBpZ3RfaW5mbygiTm8gQ29ubmVjdG9y IHN1cHBvcnRzIGNvbnRlbnQgcHJvdGVjaXRvblxuIik7Cj4+ICsKPj4gKyAgICAgICBpZ3RfZml4 dHVyZQo+PiArICAgICAgICAgICAgICAgaWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5kaXNwbGF5KTsK Pj4gK30KPj4gZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVp bGQKPj4gaW5kZXggMTdkZWI5NDVlYzk1Li5hNzRkZTRmZjBlY2UgMTAwNjQ0Cj4+IC0tLSBhL3Rl c3RzL21lc29uLmJ1aWxkCj4+ICsrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCj4+IEBAIC0xNDksNiAr MTQ5LDcgQEAgdGVzdF9wcm9ncyA9IFsKPj4gICAgICAgICAgJ2ttc19jaHZfY3Vyc29yX2ZhaWwn LAo+PiAgICAgICAgICAna21zX2NvbG9yJywKPj4gICAgICAgICAgJ2ttc19jb25jdXJyZW50JywK Pj4gKyAgICAgICAna21zX2NvbnRlbnRfcHJvdGVjdGlvbicsCj4+ICAgICAgICAgICdrbXNfY3J0 Y19iYWNrZ3JvdW5kX2NvbG9yJywKPj4gICAgICAgICAgJ2ttc19jdXJzb3JfY3JjJywKPj4gICAg ICAgICAgJ2ttc19jdXJzb3JfbGVnYWN5JywKPj4gLS0KPj4gMi43LjQKPj4KPgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlz dAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK