From mboxrd@z Thu Jan 1 00:00:00 1970 From: Swati Sharma Subject: [PATCH 3/4] [v5] drm/i915/color: Extract icl_read_luts() Date: Fri, 4 Oct 2019 13:56:09 +0530 Message-ID: <20191004082610.24664-4-swati2.sharma@intel.com> References: <20191004082610.24664-1-swati2.sharma@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 3083A6EAFB for ; Fri, 4 Oct 2019 08:35:31 +0000 (UTC) In-Reply-To: <20191004082610.24664-1-swati2.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com, ankit.k.nautiyal@intel.com List-Id: intel-gfx@lists.freedesktop.org Rm9yIGljbCssIGhhdmUgaHcgcmVhZCBvdXQgdG8gY3JlYXRlIGh3IGJsb2Igb2YgZ2FtbWEKbHV0 IHZhbHVlcy4gaWNsKyBwbGF0Zm9ybXMgc3VwcG9ydHMgbXVsdGkgc2VnbWVudGVkIGdhbW1hCm1v ZGUgYnkgZGVmYXVsdCwgYWRkIGh3IGx1dCBjcmVhdGlvbiBmb3IgdGhpcyBtb2RlLgoKVGhpcyB3 aWxsIGJlIHVzZWQgdG8gdmFsaWRhdGUgZ2FtbWEgcHJvZ3JhbW1pbmcgdXNpbmcgZHNiCihkaXNw bGF5IHN0YXRlIGJ1ZmZlcikgd2hpY2ggaXMgYSB0Z2wgc3BlY2lmaWMgZmVhdHVyZS4KCk1ham9y IGNoYW5nZSBkb25lLXJlbW92YWwgb2YgcmVhZG91dHMgb2YgY29hcnNlIGFuZCBmaW5lIHNlZ21l bnRzCmJlY2F1c2UgUEFMX1BSRUNfREFUQSByZWdpc3RlciBpc24ndCBnaXZpbmcgcHJvcG9lciB2 YWx1ZXMuClN0YXRlIGNoZWNrZXIgbGltaXRlZCBvbmx5IHRvICJmaW5lIHNlZ21lbnQiCgp2Mjog LXJlYWRvdXQgY29kZSBmb3IgbXVsdGlzZWdtZW50ZWQgZ2FtbWEgaGFzIHRvIGNvbWUKICAgICB1 cCB3aXRoIHNvbWUgaW50ZXJtZWRpYXRlIGVudHJpZXMgdGhhdCBhcmVuJ3QgcHJlc2VydmVkCiAg ICAgaW4gaGFyZHdhcmUgKEphbmkgTikKICAgIC1saW5lYXIgaW50ZXJwb2xhdGlvbiAoVmlsbGUp CiAgICAtbW92ZWQgY29tbW9uIGNvZGUgdG8gY2hlY2sgZ2FtbWFfZW5hYmxlIHRvIHNwZWNpZmlj IGZ1bmNzLAogICAgIHNpbmNlIGljbCBkb2Vzbid0IHN1cHBvcnQgdGhhdAp2MzogLXVzZSB1MTYg aW5zdGVhZCBvZiBfX3UxNiBbSmFuaSBOXQogICAgLXVzZWQgc2luZ2xlIGx1dCBbSmFuaSBOXQog ICAgLWltcHJvdmVkIGFuZCBtb3JlIHJlYWRhYmxlIGZvciBsb29wcyBbSmFuaSBOXQogICAgLXJl YWQgdmFsdWVzIGRpcmVjdGx5IHRvIGFjdHVhbCBsb2NhdGlvbnMgYW5kIHRoZW4gZmlsbCBnYXBz IFtKYW5pIE5dCiAgICAtbW92ZWQgY2xlYW5pbmcgdG8gcGF0Y2ggMSBbSmFuaSBOXQogICAgLXJl bmFtZWQgaWNsX3JlYWRfbHV0X211bHRpX3NlZygpIHRvIGljbF9yZWFkX2x1dF9tdWx0aV9zZWdt ZW50IHRvCiAgICAgbWFrZSBpdCBzaW1pbGFyIHRvIGljbF9sb2FkX2x1dHMoKQogICAgLXJlbmFt ZWQgaWNsX2NvbXB1dGVfaW50ZXJwb2xhdGVkX2dhbW1hX2Jsb2IoKSB0bwogICAgIGljbF9jb21w dXRlX2ludGVycG9sYXRlZF9nYW1tYV9sdXRfdmFsdWVzKCkgbW9yZSBzZW5zaWJsZSwgSSBndWVz cwp2NDogLXJlbW92ZWQgaW50ZXJwb2xhdGVkIGZ1bmMgZm9yIGNyZWF0aW5nIGdhbW1hIGx1dCB2 YWx1ZXMKICAgIC1yZW1vdmVkIHJlYWRvdXRzIG9mIGZpbmUgYW5kIGNvYXJzZSBzZWdtZW50cywg ZmFpbHVyZSB0byByZWFkIFBBTF9QUkVDX0RBVEEKICAgICBjb3JyZWN0bHkKdjU6IC1hZGRlZCBn YW1tYV9lbmFibGUgY2hlY2sgaW5zaWRlIHJlYWRfbHV0cygpCgpTaWduZWQtb2ZmLWJ5OiBTd2F0 aSBTaGFybWEgPHN3YXRpMi5zaGFybWFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYyB8IDExNCArKysrKysrKysrKysrKysrKystLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgICB8ICAgNiArKwogMiBmaWxl cyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCmluZGV4IDQ0Y2U3NWYwNTFhZC4uMTY4 ZTlkYWFlM2RlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2NvbG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5j CkBAIC0xNDg0LDYgKzE0ODQsMjUgQEAgc3RhdGljIGludCBnbGtfZ2FtbWFfcHJlY2lzaW9uKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCX0KIH0KIAorc3RhdGlj IGludCBpY2xfZ2FtbWFfcHJlY2lzaW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQoreworCWlmICgoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSAmIFBPU1RfQ1NDX0dB TU1BX0VOQUJMRSkgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKGNydGNfc3RhdGUtPmdh bW1hX21vZGUgJiBHQU1NQV9NT0RFX01PREVfTUFTSykgeworCWNhc2UgR0FNTUFfTU9ERV9NT0RF XzhCSVQ6CisJCXJldHVybiA4OworCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEwQklUOgorCQlyZXR1 cm4gMTA7CisJY2FzZSBHQU1NQV9NT0RFX01PREVfMTJCSVRfTVVMVElfU0VHTUVOVEVEOgorCQly ZXR1cm4gMTY7CisJZGVmYXVsdDoKKwkJTUlTU0lOR19DQVNFKGNydGNfc3RhdGUtPmdhbW1hX21v ZGUpOworCQlyZXR1cm4gMDsKKwl9CisKK30KKwogaW50IGludGVsX2NvbG9yX2dldF9nYW1tYV9i aXRfcHJlY2lzaW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQog ewogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOwpAQCAtMTQ5NSw3ICsxNTE0LDkgQEAgaW50IGludGVsX2NvbG9yX2dldF9nYW1t YV9iaXRfcHJlY2lzaW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXQK IAkJZWxzZQogCQkJcmV0dXJuIGk5eHhfZ2FtbWFfcHJlY2lzaW9uKGNydGNfc3RhdGUpOwogCX0g ZWxzZSB7Ci0JCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fCBJU19HRU1JTklMQUtFKGRl dl9wcml2KSkKKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCisJCQlyZXR1cm4gaWNs X2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKKwkJZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShk ZXZfcHJpdikgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCiAJCQlyZXR1cm4gZ2xrX2dhbW1h X3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKIAkJZWxzZSBpZiAoSVNfSVJPTkxBS0UoZGV2X3ByaXYp KQogCQkJcmV0dXJuIGlsa19nYW1tYV9wcmVjaXNpb24oY3J0Y19zdGF0ZSk7CkBAIC0xNTI2LDYg KzE1NDcsMjAgQEAgc3RhdGljIGJvb2wgaW50ZWxfY29sb3JfbHV0X2VudHJ5X2VxdWFsKHN0cnVj dCBkcm1fY29sb3JfbHV0ICpsdXQxLAogCXJldHVybiB0cnVlOwogfQogCitzdGF0aWMgYm9vbCBp bnRlbF9jb2xvcl9sdXRfZW50cnlfbXVsdGlfZXF1YWwoc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1 dDEsCisJCQkJCSAgICAgIHN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQyLAorCQkJCQkgICAgICBp bnQgbHV0X3NpemUsIHUzMiBlcnIpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgOTsg aSsrKSB7CisJCWlmICghZXJyX2NoZWNrKCZsdXQxW2ldLCAmbHV0MltpXSwgZXJyKSkKKwkJCXJl dHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBpbnRlbF9jb2xvcl9s dXRfZXF1YWwoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iMSwKIAkJCSAgIHN0cnVjdCBk cm1fcHJvcGVydHlfYmxvYiAqYmxvYjIsCiAJCQkgICB1MzIgZ2FtbWFfbW9kZSwgdTMyIGJpdF9w cmVjaXNpb24pCkBAIC0xNTQ0LDE2ICsxNTc5LDggQEAgYm9vbCBpbnRlbF9jb2xvcl9sdXRfZXF1 YWwoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iMSwKIAlsdXRfc2l6ZTIgPSBkcm1fY29s b3JfbHV0X3NpemUoYmxvYjIpOwogCiAJLyogY2hlY2sgc3cgYW5kIGh3IGx1dCBzaXplICovCi0J c3dpdGNoIChnYW1tYV9tb2RlKSB7Ci0JY2FzZSBHQU1NQV9NT0RFX01PREVfOEJJVDoKLQljYXNl IEdBTU1BX01PREVfTU9ERV8xMEJJVDoKLQkJaWYgKGx1dF9zaXplMSAhPSBsdXRfc2l6ZTIpCi0J CQlyZXR1cm4gZmFsc2U7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShnYW1t YV9tb2RlKTsKLQkJCXJldHVybiBmYWxzZTsKLQl9CisJaWYgKGx1dF9zaXplMSAhPSBsdXRfc2l6 ZTIpCisJCXJldHVybiBmYWxzZTsKIAogCWx1dDEgPSBibG9iMS0+ZGF0YTsKIAlsdXQyID0gYmxv YjItPmRhdGE7CkBAIC0xNTYxLDEzICsxNTg4LDE4IEBAIGJvb2wgaW50ZWxfY29sb3JfbHV0X2Vx dWFsKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYjEsCiAJZXJyID0gMHhmZmZmID4+IGJp dF9wcmVjaXNpb247CiAKIAkvKiBjaGVjayBzdyBhbmQgaHcgbHV0IGVudHJ5IHRvIGJlIGVxdWFs ICovCi0Jc3dpdGNoIChnYW1tYV9tb2RlKSB7CisJc3dpdGNoIChnYW1tYV9tb2RlICYgR0FNTUFf TU9ERV9NT0RFX01BU0spIHsKIAljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOgogCWNhc2UgR0FN TUFfTU9ERV9NT0RFXzEwQklUOgogCQlpZiAoIWludGVsX2NvbG9yX2x1dF9lbnRyeV9lcXVhbChs dXQxLCBsdXQyLAogCQkJCQkJIGx1dF9zaXplMiwgZXJyKSkKIAkJCXJldHVybiBmYWxzZTsKIAkJ YnJlYWs7CisJY2FzZSBHQU1NQV9NT0RFX01PREVfMTJCSVRfTVVMVElfU0VHTUVOVEVEOgorCQlp ZiAoIWludGVsX2NvbG9yX2x1dF9lbnRyeV9tdWx0aV9lcXVhbChsdXQxLCBsdXQyLAorCQkJCQkJ ICAgICAgIGx1dF9zaXplMiwgZXJyKSkKKwkJCXJldHVybiBmYWxzZTsKKwkJYnJlYWs7CiAJZGVm YXVsdDoKIAkJTUlTU0lOR19DQVNFKGdhbW1hX21vZGUpOwogCQkJcmV0dXJuIGZhbHNlOwpAQCAt MTgyOCw2ICsxODYwLDYzIEBAIHN0YXRpYyB2b2lkIGdsa19yZWFkX2x1dHMoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJCWNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0ID0g Z2xrX3JlYWRfbHV0XzEwKGNydGNfc3RhdGUsIFBBTF9QUkVDX0lOREVYX1ZBTFVFKDApKTsKIH0K IAorc3RhdGljIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqCitpY2xfcmVhZF9sdXRfbXVsdGlf c2VnbWVudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMt PmJhc2UuZGV2KTsKKwlpbnQgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3Iu Z2FtbWFfbHV0X3NpemU7CisJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOworCXN0cnVjdCBk cm1fcHJvcGVydHlfYmxvYiAqYmxvYjsKKwlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqYmxvYl9kYXRh OworCXUzMiBpLCB2YWwxLCB2YWwyOworCisJYmxvYiA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxv YigmZGV2X3ByaXYtPmRybSwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIGx1 dF9zaXplLAorCQkJCQlOVUxMKTsKKwlpZiAoSVNfRVJSKGJsb2IpKQorCQlyZXR1cm4gTlVMTDsK KworCWJsb2JfZGF0YSA9IGJsb2ItPmRhdGE7CisKKwlJOTE1X1dSSVRFKFBSRUNfUEFMX01VTFRJ X1NFR19JTkRFWChwaXBlKSwgUEFMX1BSRUNfQVVUT19JTkNSRU1FTlQpOworCisJZm9yIChpID0g MDsgaSA8IDk7IGkrKykgeworCQl2YWwxID0gSTkxNV9SRUFEKFBSRUNfUEFMX01VTFRJX1NFR19E QVRBKHBpcGUpKTsKKwkJdmFsMiA9IEk5MTVfUkVBRChQUkVDX1BBTF9NVUxUSV9TRUdfREFUQShw aXBlKSk7CisKKwkJYmxvYl9kYXRhW2ldLnJlZCA9IFJFR19GSUVMRF9HRVQoUEFMX1BSRUNfTVVM VElfU0VHX1JFRF9VRFdfTUFTSywgdmFsMikgPDwgNiB8CisJCQkJICAgUkVHX0ZJRUxEX0dFVChQ QUxfUFJFQ19NVUxUSV9TRUdfUkVEX0xEV19NQVNLLCB2YWwxKTsKKwkJYmxvYl9kYXRhW2ldLmdy ZWVuID0gUkVHX0ZJRUxEX0dFVChQQUxfUFJFQ19NVUxUSV9TRUdfR1JFRU5fVURXX01BU0ssIHZh bDIpIDw8IDYgfAorCQkJCSAgICAgUkVHX0ZJRUxEX0dFVChQQUxfUFJFQ19NVUxUSV9TRUdfR1JF RU5fTERXX01BU0ssIHZhbDEpOworCQlibG9iX2RhdGFbaV0uYmx1ZSA9IFJFR19GSUVMRF9HRVQo UEFMX1BSRUNfTVVMVElfU0VHX0JMVUVfVURXX01BU0ssIHZhbDIpIDw8IDYgfAorCQkJCSAgICBS RUdfRklFTERfR0VUKFBBTF9QUkVDX01VTFRJX1NFR19CTFVFX0xEV19NQVNLLCB2YWwxKTsKKwl9 CisKKwkvKgorCSAqIEZJWE1FIHJlYWRvdXRzIGZyb20gUEFMX1BSRUNfREFUQSByZWdpc3RlciBh cmVuJ3QgZ2l2aW5nIGNvcnJlY3QgdmFsdWVzCisJICogaW4gdGhlIGNhc2Ugb2YgZmluZSBhbmQg Y29hcnNlIHNlZ21lbnRzLiBSZXN0cmljdGluZyByZWFkb3V0cyBvbmx5IGZvcgorCSAqIHN1cGVy IGZpbmUgc2VnbWVudCBhcyBvZiBub3cuCisJICovCisKKwlyZXR1cm4gYmxvYjsKK30KKworc3Rh dGljIHZvaWQgaWNsX3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKK3sKKwlpZiAoKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgJiBQT1NUX0NTQ19HQU1NQV9FTkFC TEUpID09IDApCisJCXJldHVybjsKKworCWlmICgoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSAmIEdB TU1BX01PREVfTU9ERV9NQVNLKSA9PQorCSAgICBHQU1NQV9NT0RFX01PREVfOEJJVCkKKwkJY3J0 Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQgPSBpOXh4X3JlYWRfbHV0XzgoY3J0Y19zdGF0ZSk7CisJ ZWxzZSBpZiAoKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgJiBHQU1NQV9NT0RFX01PREVfTUFTSykg PT0KKwkJIEdBTU1BX01PREVfTU9ERV8xMkJJVF9NVUxUSV9TRUdNRU5URUQpCisJCWNydGNfc3Rh dGUtPmJhc2UuZ2FtbWFfbHV0ID0gaWNsX3JlYWRfbHV0X211bHRpX3NlZ21lbnQoY3J0Y19zdGF0 ZSk7CisJZWxzZQorCQljcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1dCA9IGdsa19yZWFkX2x1dF8x MChjcnRjX3N0YXRlLCBQQUxfUFJFQ19JTkRFWF9WQUxVRSgwKSk7Cit9CisKIHZvaWQgaW50ZWxf Y29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKQEAgLTE4NzEsNiAr MTk2MCw3IEBAIHZvaWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK IAogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewogCQkJZGV2X3ByaXYtPmRpc3Bs YXkubG9hZF9sdXRzID0gaWNsX2xvYWRfbHV0czsKKwkJCWRldl9wcml2LT5kaXNwbGF5LnJlYWRf bHV0cyA9IGljbF9yZWFkX2x1dHM7CiAJCX0gZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJp dikgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKIAkJCWRldl9wcml2LT5kaXNwbGF5Lmxv YWRfbHV0cyA9IGdsa19sb2FkX2x1dHM7CiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5yZWFkX2x1dHMg PSBnbGtfcmVhZF9sdXRzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggMDU4YWE1Y2E4Yjcz Li43ODc2NmIzNzhjMGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtMTA1NzEsNiArMTA1 NzEsMTIgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7CiAKICNkZWZpbmUgX1BBTF9QUkVDX01VTFRJ X1NFR19EQVRBX0EJMHg0QTQwQwogI2RlZmluZSBfUEFMX1BSRUNfTVVMVElfU0VHX0RBVEFfQgkw eDRBQzBDCisjZGVmaW5lICBQQUxfUFJFQ19NVUxUSV9TRUdfUkVEX0xEV19NQVNLICAgUkVHX0dF Tk1BU0soMjksIDI0KQorI2RlZmluZSAgUEFMX1BSRUNfTVVMVElfU0VHX1JFRF9VRFdfTUFTSyAg IFJFR19HRU5NQVNLKDI5LCAyMCkKKyNkZWZpbmUgIFBBTF9QUkVDX01VTFRJX1NFR19HUkVFTl9M RFdfTUFTSyBSRUdfR0VOTUFTSygxOSwgMTQpCisjZGVmaW5lICBQQUxfUFJFQ19NVUxUSV9TRUdf R1JFRU5fVURXX01BU0sgUkVHX0dFTk1BU0soMTksIDEwKQorI2RlZmluZSAgUEFMX1BSRUNfTVVM VElfU0VHX0JMVUVfTERXX01BU0sgIFJFR19HRU5NQVNLKDksIDQpCisjZGVmaW5lICBQQUxfUFJF Q19NVUxUSV9TRUdfQkxVRV9VRFdfTUFTSyAgUkVHX0dFTk1BU0soOSwgMCkKIAogI2RlZmluZSBQ UkVDX1BBTF9NVUxUSV9TRUdfSU5ERVgocGlwZSkJX01NSU9fUElQRShwaXBlLCBcCiAJCQkJCV9Q QUxfUFJFQ19NVUxUSV9TRUdfSU5ERVhfQSwgXAotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=