From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 334EF6EE81 for ; Fri, 14 May 2021 13:27:02 +0000 (UTC) From: Ville Syrjala Date: Fri, 14 May 2021 16:26:43 +0300 Message-Id: <20210514132643.30709-5-ville.syrjala@linux.intel.com> In-Reply-To: <20210514132643.30709-1-ville.syrjala@linux.intel.com> References: <20210514132643.30709-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 4/4] tests/kms_color: Add GAMMA_LUT_3D tests 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: igt-dev@lists.freedesktop.org List-ID: RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBzb21lIGJhc2ljIHRlc3RzIGZvciAzRCBMVVRzLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiB0ZXN0cy9rbXNfY29s b3IuYyAgICAgICAgfCA5NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB0ZXN0cy9rbXNfY29sb3JfaGVscGVyLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKy0K IHRlc3RzL2ttc19jb2xvcl9oZWxwZXIuaCB8IDE4ICsrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDE3MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMva21z X2NvbG9yLmMgYi90ZXN0cy9rbXNfY29sb3IuYwppbmRleCAzYTQyNTMyYTVjMjcuLmUyM2U1ZjVm Y2MyNiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NvbG9yLmMKKysrIGIvdGVzdHMva21zX2NvbG9y LmMKQEAgLTE5OCw2ICsxOTgsODggQEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2dhbW1hKGRhdGFf dCAqZGF0YSwKIAlmcmVlX2x1dChnYW1tYV9mdWxsKTsKIH0KIAorc3RhdGljIHZvaWQgdGVzdF9w aXBlX2dhbW1hX2x1dF8zZChkYXRhX3QgKmRhdGEsCisJCQkJICAgaWd0X3BsYW5lX3QgKnByaW1h cnkpCit7CisJaWd0X291dHB1dF90ICpvdXRwdXQ7CisJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9 ICZkYXRhLT5kaXNwbGF5OworCWdhbW1hX2x1dF90ICpnYW1tYV9sdXRfM2RfbGluZWFyLCAqZ2Ft bWFfbHV0XzNkX2Z1bGw7CisJY29sb3JfdCByZWRfZ3JlZW5fYmx1ZVtdID0geworCQl7IDEuMCwg MC4wLCAwLjAgfSwKKwkJeyAwLjAsIDEuMCwgMC4wIH0sCisJCXsgMC4wLCAwLjAsIDEuMCB9CisJ fTsKKworCWlndF9yZXF1aXJlKGlndF9waXBlX29ial9oYXNfcHJvcChwcmltYXJ5LT5waXBlLCBJ R1RfQ1JUQ19HQU1NQV9MVVRfM0QpKTsKKworCWdhbW1hX2x1dF8zZF9saW5lYXIgPSBnZW5lcmF0 ZV9sdXRfM2QoZGF0YS0+Z2FtbWFfbHV0XzNkX3NpemUsIDEuMCk7CisJZ2FtbWFfbHV0XzNkX2Z1 bGwgPSBnZW5lcmF0ZV9sdXRfM2RfbWF4KGRhdGEtPmdhbW1hX2x1dF8zZF9zaXplKTsKKworCWZv cl9lYWNoX3ZhbGlkX291dHB1dF9vbl9waXBlKCZkYXRhLT5kaXNwbGF5LCBwcmltYXJ5LT5waXBl LT5waXBlLCBvdXRwdXQpIHsKKwkJZHJtTW9kZU1vZGVJbmZvICptb2RlOworCQlzdHJ1Y3QgaWd0 X2ZiIGZiX21vZGVzZXQsIGZiOworCQlpZ3RfY3JjX3QgY3JjX2Z1bGxsdXQzZCwgY3JjX2Z1bGxj b2xvcnM7CisJCWludCBmYl9pZCwgZmJfbW9kZXNldF9pZDsKKworCQlpZ3Rfb3V0cHV0X3NldF9w aXBlKG91dHB1dCwgcHJpbWFyeS0+cGlwZS0+cGlwZSk7CisJCW1vZGUgPSBpZ3Rfb3V0cHV0X2dl dF9tb2RlKG91dHB1dCk7CisKKwkJLyogQ3JlYXRlIGEgZnJhbWVidWZmZXIgYXQgdGhlIHNpemUg b2YgdGhlIG91dHB1dC4gKi8KKwkJZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiKGRhdGEtPmRybV9mZCwK KwkJCQkgICAgICBtb2RlLT5oZGlzcGxheSwKKwkJCQkgICAgICBtb2RlLT52ZGlzcGxheSwKKwkJ CQkgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAorCQkJCSAgICAgIExPQ0FMX0RSTV9GT1JNQVRf TU9EX05PTkUsCisJCQkJICAgICAgJmZiKTsKKwkJaWd0X2Fzc2VydChmYl9pZCk7CisKKwkJZmJf bW9kZXNldF9pZCA9IGlndF9jcmVhdGVfZmIoZGF0YS0+ZHJtX2ZkLAorCQkJCQkgICAgICBtb2Rl LT5oZGlzcGxheSwKKwkJCQkJICAgICAgbW9kZS0+dmRpc3BsYXksCisJCQkJCSAgICAgIERSTV9G T1JNQVRfWFJHQjg4ODgsCisJCQkJCSAgICAgIExPQ0FMX0RSTV9GT1JNQVRfTU9EX05PTkUsCisJ CQkJCSAgICAgICZmYl9tb2Rlc2V0KTsKKwkJaWd0X2Fzc2VydChmYl9tb2Rlc2V0X2lkKTsKKwor CQlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZmYl9tb2Rlc2V0KTsKKwkJZGlzYWJsZV9jdG0o cHJpbWFyeS0+cGlwZSk7CisJCWRpc2FibGVfZGVnYW1tYShwcmltYXJ5LT5waXBlKTsKKwkJZGlz YWJsZV9nYW1tYShwcmltYXJ5LT5waXBlKTsKKwkJc2V0X2dhbW1hX2x1dF8zZChkYXRhLCBwcmlt YXJ5LT5waXBlLCBnYW1tYV9sdXRfM2RfbGluZWFyKTsKKwkJaWd0X2Rpc3BsYXlfY29tbWl0KCZk YXRhLT5kaXNwbGF5KTsKKworCQkvKiBEcmF3IHNvbGlkIGNvbG9ycyB3aXRoIG5vIGRlZ2FtbWEg dHJhbnNmb3JtYXRpb24uICovCisJCXBhaW50X3JlY3RhbmdsZXMoZGF0YSwgbW9kZSwgcmVkX2dy ZWVuX2JsdWUsICZmYik7CisJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmZiKTsKKwkJaWd0 X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5kaXNwbGF5KTsKKwkJaWd0X3dhaXRfZm9yX3ZibGFuayhk YXRhLT5kcm1fZmQsCisJCQkJICAgIGRpc3BsYXktPnBpcGVzW3ByaW1hcnktPnBpcGUtPnBpcGVd LmNydGNfb2Zmc2V0KTsKKwkJaWd0X3BpcGVfY3JjX2NvbGxlY3RfY3JjKGRhdGEtPnBpcGVfY3Jj LCAmY3JjX2Z1bGxjb2xvcnMpOworCisJCS8qIERyYXcgYSBncmFkaWVudCB3aXRoIDNEIExVVCB0 byByZW1hcCBhbGwKKwkJICogdmFsdWVzIHRvIG1heCByZWQvZ3JlZW4vYmx1ZS4KKwkJICovCisJ CXBhaW50X2dyYWRpZW50X3JlY3RhbmdsZXMoZGF0YSwgbW9kZSwgcmVkX2dyZWVuX2JsdWUsICZm Yik7CisJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmZiKTsKKwkJc2V0X2dhbW1hX2x1dF8z ZChkYXRhLCBwcmltYXJ5LT5waXBlLCBnYW1tYV9sdXRfM2RfZnVsbCk7CisJCWlndF9kaXNwbGF5 X2NvbW1pdCgmZGF0YS0+ZGlzcGxheSk7CisJCWlndF93YWl0X2Zvcl92YmxhbmsoZGF0YS0+ZHJt X2ZkLAorCQkJCSAgICBkaXNwbGF5LT5waXBlc1twcmltYXJ5LT5waXBlLT5waXBlXS5jcnRjX29m ZnNldCk7CisJCWlndF9waXBlX2NyY19jb2xsZWN0X2NyYyhkYXRhLT5waXBlX2NyYywgJmNyY19m dWxsbHV0M2QpOworCisJCS8qIFZlcmlmeSB0aGF0IHRoZSBDUkMgb2YgdGhlIHNvZnR3YXJlIGNv bXB1dGVkIG91dHB1dCBpcworCQkgKiBlcXVhbCB0byB0aGUgQ1JDIG9mIHRoZSBkZWdhbW1hIExV VCB0cmFuc2Zvcm1hdGlvbiBvdXRwdXQuCisJCSAqLworCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbCgm Y3JjX2Z1bGxsdXQzZCwgJmNyY19mdWxsY29sb3JzKTsKKworCQlpZ3RfcGxhbmVfc2V0X2ZiKHBy aW1hcnksIE5VTEwpOworCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgUElQRV9OT05FKTsK Kwl9CisKKwlmcmVlX2x1dChnYW1tYV9sdXRfM2RfbGluZWFyKTsKKwlmcmVlX2x1dChnYW1tYV9s dXRfM2RfZnVsbCk7Cit9CisKIC8qCiAgKiBEcmF3IDMgZ3JhZGllbnQgcmVjdGFuZ2xlcyBpbiBy ZWQsIGdyZWVuIGFuZCBibHVlLCB3aXRoIGEgbWF4ZWQgb3V0IGxlZ2FjeQogICogZ2FtbWEgTFVU IGFuZCB2ZXJpZnkgd2UgaGF2ZSB0aGUgc2FtZSBDUkMgYXMgZHJhd2luZyBzb2xpZCBjb2xvciBy ZWN0YW5nbGVzCkBAIC02NzksNiArNzYxLDEzIEBAIHJ1bl90ZXN0c19mb3JfcGlwZShkYXRhX3Qg KmRhdGEsIGVudW0gcGlwZSBwKQogCQkJaWd0X2Fzc2VydF9sdCgwLCBkYXRhLT5nYW1tYV9sdXRf c2l6ZSk7CiAJCX0KIAorCQlpZiAoaWd0X3BpcGVfb2JqX2hhc19wcm9wKCZkYXRhLT5kaXNwbGF5 LnBpcGVzW3BdLCBJR1RfQ1JUQ19HQU1NQV9MVVRfM0RfU0laRSkpIHsKKwkJCWRhdGEtPmdhbW1h X2x1dF8zZF9zaXplID0KKwkJCQlpZ3RfcGlwZV9vYmpfZ2V0X3Byb3AoJmRhdGEtPmRpc3BsYXku cGlwZXNbcF0sCisJCQkJCQkgICAgICBJR1RfQ1JUQ19HQU1NQV9MVVRfM0RfU0laRSk7CisJCQlp Z3RfYXNzZXJ0X2x0KDAsIGRhdGEtPmdhbW1hX2x1dF8zZF9zaXplKTsKKwkJfQorCiAJCWlndF9k aXNwbGF5X3JlcXVpcmVfb3V0cHV0X29uX3BpcGUoJmRhdGEtPmRpc3BsYXksIHApOwogCX0KIApA QCAtODU0LDYgKzk0Myw5IEBAIHJ1bl90ZXN0c19mb3JfcGlwZShkYXRhX3QgKmRhdGEsIGVudW0g cGlwZSBwKQogCWlndF9zdWJ0ZXN0X2YoInBpcGUtJXMtbGVnYWN5LWdhbW1hLXJlc2V0Iiwga21z dGVzdF9waXBlX25hbWUocCkpCiAJCXRlc3RfcGlwZV9sZWdhY3lfZ2FtbWFfcmVzZXQoZGF0YSwg cHJpbWFyeSk7CiAKKwlpZ3Rfc3VidGVzdF9mKCJwaXBlLSVzLWdhbW1hLWx1dC0zZCIsIGttc3Rl c3RfcGlwZV9uYW1lKHApKQorCQl0ZXN0X3BpcGVfZ2FtbWFfbHV0XzNkKGRhdGEsIHByaW1hcnkp OworCiAJaWd0X2ZpeHR1cmUgewogCQlkaXNhYmxlX2RlZ2FtbWEocHJpbWFyeS0+cGlwZSk7CiAJ CWRpc2FibGVfZ2FtbWEocHJpbWFyeS0+cGlwZSk7CkBAIC04OTUsNiArOTg3LDkgQEAgaWd0X21h aW4KIAlpZ3Rfc3VidGVzdF9mKCJwaXBlLWludmFsaWQtY3RtLW1hdHJpeC1zaXplcyIpCiAJCWlu dmFsaWRfY3RtX21hdHJpeF9zaXplcygmZGF0YSk7CiAKKwlpZ3Rfc3VidGVzdF9mKCJwaXBlLWlu dmFsaWQtZ2FtbWEtbHV0LTNkLXNpemVzIikKKwkJaW52YWxpZF9nYW1tYV9sdXRfM2Rfc2l6ZXMo JmRhdGEpOworCiAJaWd0X2ZpeHR1cmUgewogCQlpZ3RfZGlzcGxheV9maW5pKCZkYXRhLmRpc3Bs YXkpOwogCX0KZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb2xvcl9oZWxwZXIuYyBiL3Rlc3RzL2tt c19jb2xvcl9oZWxwZXIuYwppbmRleCA3ZjlhMzBlNjI1YjYuLjI2MWVjNzgzNjY2ZCAxMDA2NDQK LS0tIGEvdGVzdHMva21zX2NvbG9yX2hlbHBlci5jCisrKyBiL3Rlc3RzL2ttc19jb2xvcl9oZWxw ZXIuYwpAQCAtMTQzLDYgKzE0Myw0NCBAQCBnYW1tYV9sdXRfdCAqZ2VuZXJhdGVfdGFibGVfemVy byhpbnQgbHV0X3NpemUpCiAJcmV0dXJuIGdhbW1hOwogfQogCitnYW1tYV9sdXRfdCAqZ2VuZXJh dGVfbHV0XzNkKGludCBsdXRfc2l6ZSwgZG91YmxlIGV4cCkKK3sKKwlnYW1tYV9sdXRfdCAqZ2Ft bWEgPSBhbGxvY19sdXQobHV0XzNkX3NpemUobHV0X3NpemUpKTsKKworCWZvciAoaW50IHIgPSAw OyByIDwgbHV0X3NpemU7IHIrKykgeworCQlmb3IgKGludCBnID0gMDsgZyA8IGx1dF9zaXplOyBn KyspIHsKKwkJCWZvciAoaW50IGIgPSAwOyBiIDwgbHV0X3NpemU7IGIrKykgeworCQkJCWludCBp ID0gbHV0XzNkX2luZGV4KHIsIGcsIGIsIGx1dF9zaXplKTsKKworCQkJCWdhbW1hLT5jb2VmZnNb aV0uciA9IHBvdyhyICogMS4wIC8gKGx1dF9zaXplIC0gMSksIGV4cCk7CisJCQkJZ2FtbWEtPmNv ZWZmc1tpXS5nID0gcG93KGcgKiAxLjAgLyAobHV0X3NpemUgLSAxKSwgZXhwKTsKKwkJCQlnYW1t YS0+Y29lZmZzW2ldLmIgPSBwb3coYiAqIDEuMCAvIChsdXRfc2l6ZSAtIDEpLCBleHApOworCQkJ fQorCQl9CisJfQorCisJcmV0dXJuIGdhbW1hOworfQorCitnYW1tYV9sdXRfdCAqZ2VuZXJhdGVf bHV0XzNkX21heChpbnQgbHV0X3NpemUpCit7CisJZ2FtbWFfbHV0X3QgKmdhbW1hID0gYWxsb2Nf bHV0KGx1dF8zZF9zaXplKGx1dF9zaXplKSk7CisKKwlmb3IgKGludCByID0gMDsgciA8IGx1dF9z aXplOyByKyspIHsKKwkJZm9yIChpbnQgZyA9IDA7IGcgPCBsdXRfc2l6ZTsgZysrKSB7CisJCQlm b3IgKGludCBiID0gMDsgYiA8IGx1dF9zaXplOyBiKyspIHsKKwkJCQlpbnQgaSA9IGx1dF8zZF9p bmRleChyLCBnLCBiLCBsdXRfc2l6ZSk7CisKKwkJCQlnYW1tYS0+Y29lZmZzW2ldLnIgPSByID09 IDAgPyAwLjAgOiAxLjA7CisJCQkJZ2FtbWEtPmNvZWZmc1tpXS5nID0gZyA9PSAwID8gMC4wIDog MS4wOworCQkJCWdhbW1hLT5jb2VmZnNbaV0uYiA9IGIgPT0gMCA/IDAuMCA6IDEuMDsKKwkJCX0K KwkJfQorCX0KKworCXJldHVybiBnYW1tYTsKK30KKwogc3RydWN0IGRybV9jb2xvcl9sdXQgKmNv ZWZmc190b19sdXQoZGF0YV90ICpkYXRhLAogCQkJCSAgICBjb25zdCBnYW1tYV9sdXRfdCAqZ2Ft bWEsCiAJCQkJICAgIHVpbnQzMl90IGNvbG9yX2RlcHRoLApAQCAtMjE1LDYgKzI1MywxOSBAQCB2 b2lkIHNldF9nYW1tYShkYXRhX3QgKmRhdGEsCiAJZnJlZShsdXQpOwogfQogCit2b2lkIHNldF9n YW1tYV9sdXRfM2QoZGF0YV90ICpkYXRhLAorCQkgICAgICBpZ3RfcGlwZV90ICpwaXBlLAorCQkg ICAgICBjb25zdCBnYW1tYV9sdXRfdCAqZ2FtbWFfbHV0XzNkKQoreworCXNpemVfdCBzaXplID0g c2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIGdhbW1hX2x1dF8zZC0+c2l6ZTsKKwlzdHJ1 Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gY29lZmZzX3RvX2x1dChkYXRhLCBnYW1tYV9sdXRfM2Qs CisJCQkJCQkgIGRhdGEtPmNvbG9yX2RlcHRoLCAwKTsKKworCWlndF9waXBlX29ial9yZXBsYWNl X3Byb3BfYmxvYihwaXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVRfM0QsIGx1dCwgc2l6ZSk7CisKKwlm cmVlKGx1dCk7Cit9CisKIHZvaWQgc2V0X2N0bShpZ3RfcGlwZV90ICpwaXBlLCBjb25zdCBkb3Vi bGUgKmNvZWZmaWNpZW50cykKIHsKIAlzdHJ1Y3QgZHJtX2NvbG9yX2N0bSBjdG07CkBAIC0zMzAs NiArMzgxLDEyIEBAIGludmFsaWRfZGVnYW1tYV9sdXRfc2l6ZXMoZGF0YV90ICpkYXRhKQogCXJl dHVybiBpbnZhbGlkX2x1dF9zaXplcyhkYXRhLCBJR1RfQ1JUQ19ERUdBTU1BX0xVVCwgZGF0YS0+ ZGVnYW1tYV9sdXRfc2l6ZSk7CiB9CiAKK3ZvaWQKK2ludmFsaWRfZ2FtbWFfbHV0XzNkX3NpemVz KGRhdGFfdCAqZGF0YSkKK3sKKwlpbnZhbGlkX2x1dF9zaXplcyhkYXRhLCBJR1RfQ1JUQ19HQU1N QV9MVVRfM0QsIGx1dF8zZF9zaXplKGRhdGEtPmdhbW1hX2x1dF8zZF9zaXplKSk7Cit9CisKIHZv aWQgaW52YWxpZF9jdG1fbWF0cml4X3NpemVzKGRhdGFfdCAqZGF0YSkKIHsKIAlpZ3RfZGlzcGxh eV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7CkBAIC0zNTgsNCArNDE1LDMgQEAgdm9pZCBp bnZhbGlkX2N0bV9tYXRyaXhfc2l6ZXMoZGF0YV90ICpkYXRhKQogCiAJZnJlZShwdHIpOwogfQot CmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29sb3JfaGVscGVyLmggYi90ZXN0cy9rbXNfY29sb3Jf aGVscGVyLmgKaW5kZXggM2Y0OWU3Y2FlNGMwLi5lMjFhZGFhMjI4ZmYgMTAwNjQ0Ci0tLSBhL3Rl c3RzL2ttc19jb2xvcl9oZWxwZXIuaAorKysgYi90ZXN0cy9rbXNfY29sb3JfaGVscGVyLmgKQEAg LTUyLDYgKzUyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgewogCXVpbnQzMl90IGNvbG9yX2RlcHRoOwog CXVpbnQ2NF90IGRlZ2FtbWFfbHV0X3NpemU7CiAJdWludDY0X3QgZ2FtbWFfbHV0X3NpemU7CisJ dWludDY0X3QgZ2FtbWFfbHV0XzNkX3NpemU7CiAJI2lmZGVmIEhBVkVfQ0hBTUVMSVVNCiAJc3Ry dWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtOwogCXN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqKnBvcnRz OwpAQCAtNzcsNiArNzgsOCBAQCB2b2lkIGZyZWVfbHV0KGdhbW1hX2x1dF90ICpnYW1tYSk7CiBn YW1tYV9sdXRfdCAqZ2VuZXJhdGVfdGFibGUoaW50IGx1dF9zaXplLCBkb3VibGUgZXhwKTsKIGdh bW1hX2x1dF90ICpnZW5lcmF0ZV90YWJsZV9tYXgoaW50IGx1dF9zaXplKTsKIGdhbW1hX2x1dF90 ICpnZW5lcmF0ZV90YWJsZV96ZXJvKGludCBsdXRfc2l6ZSk7CitnYW1tYV9sdXRfdCAqZ2VuZXJh dGVfbHV0XzNkKGludCBsdXRfc2l6ZSwgZG91YmxlIGV4cCk7CitnYW1tYV9sdXRfdCAqZ2VuZXJh dGVfbHV0XzNkX21heChpbnQgbHV0X3NpemUpOwogc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvZWZm c190b19sdXQoZGF0YV90ICpkYXRhLAogCQkJCSAgICBjb25zdCBnYW1tYV9sdXRfdCAqZ2FtbWEs CiAJCQkJICAgIHVpbnQzMl90IGNvbG9yX2RlcHRoLApAQCAtODcsMTMgKzkwLDI3IEBAIHZvaWQg c2V0X2RlZ2FtbWEoZGF0YV90ICpkYXRhLAogdm9pZCBzZXRfZ2FtbWEoZGF0YV90ICpkYXRhLAog CSAgICAgICBpZ3RfcGlwZV90ICpwaXBlLAogCSAgICAgICBjb25zdCBnYW1tYV9sdXRfdCAqZ2Ft bWEpOwordm9pZCBzZXRfZ2FtbWFfbHV0XzNkKGRhdGFfdCAqZGF0YSwKKwkJICAgICAgaWd0X3Bp cGVfdCAqcGlwZSwKKwkJICAgICAgY29uc3QgZ2FtbWFfbHV0X3QgKmdhbW1hKTsKIHZvaWQgc2V0 X2N0bShpZ3RfcGlwZV90ICpwaXBlLCBjb25zdCBkb3VibGUgKmNvZWZmaWNpZW50cyk7CiB2b2lk IGRpc2FibGVfcHJvcChpZ3RfcGlwZV90ICpwaXBlLCBlbnVtIGlndF9hdG9taWNfY3J0Y19wcm9w ZXJ0aWVzIHByb3ApOwogCiAjZGVmaW5lIGRpc2FibGVfZGVnYW1tYShwaXBlKSBkaXNhYmxlX3By b3AocGlwZSwgSUdUX0NSVENfREVHQU1NQV9MVVQpCiAjZGVmaW5lIGRpc2FibGVfZ2FtbWEocGlw ZSkgZGlzYWJsZV9wcm9wKHBpcGUsIElHVF9DUlRDX0dBTU1BX0xVVCkKKyNkZWZpbmUgZGlzYWJs ZV9sdXRfM2QocGlwZSkgZGlzYWJsZV9wcm9wKHBpcGUsIElHVF9DUlRDX0xVVF8zRCkKICNkZWZp bmUgZGlzYWJsZV9jdG0ocGlwZSkgZGlzYWJsZV9wcm9wKHBpcGUsIElHVF9DUlRDX0NUTSkKIAor c3RhdGljIGlubGluZSBpbnQgbHV0XzNkX3NpemUoaW50IGx1dF9zaXplKQoreworCXJldHVybiBs dXRfc2l6ZSAqIGx1dF9zaXplICogbHV0X3NpemU7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGx1 dF8zZF9pbmRleChpbnQgciwgaW50IGcsIGludCBiLCBpbnQgbHV0X3NpemUpCit7CisJcmV0dXJu IHIgKiBsdXRfc2l6ZSAqIGx1dF9zaXplICsgZyAqIGx1dF9zaXplICsgYjsKK30KKwogZHJtTW9k ZVByb3BlcnR5QmxvYlB0ciBnZXRfYmxvYihkYXRhX3QgKmRhdGEsIGlndF9waXBlX3QgKnBpcGUs CiAJCQkJZW51bSBpZ3RfYXRvbWljX2NydGNfcHJvcGVydGllcyBwcm9wKTsKIGJvb2wgY3JjX2Vx dWFsKGlndF9jcmNfdCAqYSwgaWd0X2NyY190ICpiKTsKQEAgLTEwNSw2ICsxMjIsNyBAQCBpbnQg cGlwZV9zZXRfcHJvcGVydHlfYmxvYihpZ3RfcGlwZV90ICpwaXBlLAogCQkJICAgdm9pZCAqcHRy LCBzaXplX3QgbGVuZ3RoKTsKIHZvaWQgaW52YWxpZF9nYW1tYV9sdXRfc2l6ZXMoZGF0YV90ICpk YXRhKTsKIHZvaWQgaW52YWxpZF9kZWdhbW1hX2x1dF9zaXplcyhkYXRhX3QgKmRhdGEpOwordm9p ZCBpbnZhbGlkX2dhbW1hX2x1dF8zZF9zaXplcyhkYXRhX3QgKmRhdGEpOwogdm9pZCBpbnZhbGlk X2N0bV9tYXRyaXhfc2l6ZXMoZGF0YV90ICpkYXRhKTsKICNlbmRpZgogCi0tIAoyLjI2LjMKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFp bGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=