From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 077D96EC38 for ; Thu, 7 Feb 2019 09:21:39 +0000 (UTC) From: Maarten Lankhorst Date: Thu, 7 Feb 2019 10:21:33 +0100 Message-Id: <20190207092136.10659-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v2 1/4] lib/color_encoding: Prepare support for HDR modes. 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: U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2NvbG9yX2VuY29kaW5nLmMgfCA4MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBsaWIvaWd0X2NvbG9yX2VuY29kaW5nLmgg fCAgOSArKysrLQogbGliL2lndF9mYi5jICAgICAgICAgICAgIHwgMTAgKysrLS0KIDMgZmlsZXMg Y2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bGliL2lndF9jb2xvcl9lbmNvZGluZy5jIGIvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCmluZGV4 IDAzZTE2ZTBjOTY1OC4uNGNiZTE4ZTIxN2UzIDEwMDY0NAotLS0gYS9saWIvaWd0X2NvbG9yX2Vu Y29kaW5nLmMKKysrIGIvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCkBAIC0yNCw2ICsyNCw4IEBA CiAjaW5jbHVkZSAiaWd0X2NvbG9yX2VuY29kaW5nLmgiCiAjaW5jbHVkZSAiaWd0X21hdHJpeC5o IgogI2luY2x1ZGUgImlndF9jb3JlLmgiCisjaW5jbHVkZSAiaWd0X2ZiLmgiCisjaW5jbHVkZSAi ZHJtdGVzdC5oIgogCiBzdHJ1Y3QgY29sb3JfZW5jb2RpbmcgewogCWZsb2F0IGtyLCBrYjsKQEAg LTg1LDYwICs4NywxMDUgQEAgc3RhdGljIHN0cnVjdCBpZ3RfbWF0NCB5Y2Jjcl90b19yZ2JfbWF0 cml4KGNvbnN0IHN0cnVjdCBjb2xvcl9lbmNvZGluZyAqZSkKIAlyZXR1cm4gcmV0OwogfQogCi1z dGF0aWMgc3RydWN0IGlndF9tYXQ0IHljYmNyX2lucHV0X2NvbnZlcnRfbWF0cml4KGVudW0gaWd0 X2NvbG9yX3JhbmdlIGNvbG9yX3JhbmdlKQorc3RhdGljIHN0cnVjdCBpZ3RfbWF0NCB5Y2Jjcl9p bnB1dF9jb252ZXJ0X21hdHJpeChlbnVtIGlndF9jb2xvcl9yYW5nZSBjb2xvcl9yYW5nZSwgZmxv YXQgc2NhbGUsCisJCQkJCQkgIGZsb2F0IG9mc195LCBmbG9hdCBtYXhfeSwKKwkJCQkJCSAgZmxv YXQgb2ZzX2NiY3IsIGZsb2F0IG1pZF9jYmNyLCBmbG9hdCBtYXhfY2JjciwKKwkJCQkJCSAgZmxv YXQgbWF4X3ZhbCkKIHsKIAlzdHJ1Y3QgaWd0X21hdDQgdCwgczsKIAogCWlmIChjb2xvcl9yYW5n ZSA9PSBJR1RfQ09MT1JfWUNCQ1JfRlVMTF9SQU5HRSkgewotCQl0ID0gaWd0X21hdHJpeF90cmFu c2xhdGUoMC4wZiwgLTEyOC4wZiwgLTEyOC4wZik7Ci0JCXMgPSBpZ3RfbWF0cml4X3NjYWxlKDEu MGYsIDIuMGYsIDIuMGYpOworCQl0ID0gaWd0X21hdHJpeF90cmFuc2xhdGUoMC5mLCAtbWlkX2Ni Y3IsIC1taWRfY2Jjcik7CisJCXMgPSBpZ3RfbWF0cml4X3NjYWxlKHNjYWxlLCAyLjBmICogc2Nh bGUsIDIuMGYgKiBzY2FsZSk7CiAJfSBlbHNlIHsKLQkJdCA9IGlndF9tYXRyaXhfdHJhbnNsYXRl KC0xNi4wZiwgLTEyOC4wZiwgLTEyOC4wZik7Ci0JCXMgPSBpZ3RfbWF0cml4X3NjYWxlKDI1NS4w ZiAvICgyMzUuMGYgLSAxNi4wZiksCi0JCQkJICAgICAyNTUuMGYgLyAoMjQwLjBmIC0gMTI4LjBm KSwKLQkJCQkgICAgIDI1NS4wZiAvICgyNDAuMGYgLSAxMjguMGYpKTsKKwkJdCA9IGlndF9tYXRy aXhfdHJhbnNsYXRlKC1vZnNfeSwgLW1pZF9jYmNyLCAtbWlkX2NiY3IpOworCQlzID0gaWd0X21h dHJpeF9zY2FsZShzY2FsZSAqIG1heF92YWwgLyAobWF4X3kgLSBvZnNfeSksCisJCQkJICAgICBz Y2FsZSAqIG1heF92YWwgLyAobWF4X2NiY3IgLSBtaWRfY2JjciksCisJCQkJICAgICBzY2FsZSAq IG1heF92YWwgLyAobWF4X2NiY3IgLSBtaWRfY2JjcikpOwogCX0KIAogCXJldHVybiBpZ3RfbWF0 cml4X211bHRpcGx5KCZzLCAmdCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaWd0X21hdDQgeWNiY3Jf b3V0cHV0X2NvbnZlcnRfbWF0cml4KGVudW0gaWd0X2NvbG9yX3JhbmdlIGNvbG9yX3JhbmdlKQor c3RhdGljIHN0cnVjdCBpZ3RfbWF0NCB5Y2Jjcl9vdXRwdXRfY29udmVydF9tYXRyaXgoZW51bSBp Z3RfY29sb3JfcmFuZ2UgY29sb3JfcmFuZ2UsIGZsb2F0IHNjYWxlLAorCQkJCQkJICAgZmxvYXQg b2ZzX3ksIGZsb2F0IG1heF95LAorCQkJCQkJICAgZmxvYXQgb2ZzX2NiY3IsIGZsb2F0IG1pZF9j YmNyLCBmbG9hdCBtYXhfY2JjciwKKwkJCQkJCSAgIGZsb2F0IG1heF92YWwpCiB7CiAJc3RydWN0 IGlndF9tYXQ0IHMsIHQ7CiAKIAlpZiAoY29sb3JfcmFuZ2UgPT0gSUdUX0NPTE9SX1lDQkNSX0ZV TExfUkFOR0UpIHsKLQkJcyA9IGlndF9tYXRyaXhfc2NhbGUoMS4wZiwgMC41ZiwgMC41Zik7Ci0J CXQgPSBpZ3RfbWF0cml4X3RyYW5zbGF0ZSgwLjBmLCAxMjguMGYsIDEyOC4wZik7CisJCXMgPSBp Z3RfbWF0cml4X3NjYWxlKHNjYWxlLCAwLjVmICogc2NhbGUsIDAuNWYgKiBzY2FsZSk7CisJCXQg PSBpZ3RfbWF0cml4X3RyYW5zbGF0ZSgwLmYsIG1pZF9jYmNyLCBtaWRfY2Jjcik7CiAJfSBlbHNl IHsKLQkJcyA9IGlndF9tYXRyaXhfc2NhbGUoKDIzNS4wZiAtIDE2LjBmKSAvIDI1NS4wZiwKLQkJ CQkgICAgICgyNDAuMGYgLSAxMjguMGYpIC8gMjU1LjBmLAotCQkJCSAgICAgKDI0MC4wZiAtIDEy OC4wZikgLyAyNTUuMGYpOwotCQl0ID0gaWd0X21hdHJpeF90cmFuc2xhdGUoMTYuMGYsIDEyOC4w ZiwgMTI4LjBmKTsKKwkJcyA9IGlndF9tYXRyaXhfc2NhbGUoc2NhbGUgKiAobWF4X3kgLSBvZnNf eSkgLyBtYXhfdmFsLAorCQkJCSAgICAgc2NhbGUgKiAobWF4X2NiY3IgLSBtaWRfY2JjcikgLyBt YXhfdmFsLAorCQkJCSAgICAgc2NhbGUgKiAobWF4X2NiY3IgLSBtaWRfY2JjcikgLyBtYXhfdmFs KTsKKwkJdCA9IGlndF9tYXRyaXhfdHJhbnNsYXRlKG9mc195LCBtaWRfY2JjciwgbWlkX2NiY3Ip OwogCX0KIAogCXJldHVybiBpZ3RfbWF0cml4X211bHRpcGx5KCZ0LCAmcyk7CiB9CiAKLXN0cnVj dCBpZ3RfbWF0NCBpZ3RfeWNiY3JfdG9fcmdiX21hdHJpeChlbnVtIGlndF9jb2xvcl9lbmNvZGlu ZyBjb2xvcl9lbmNvZGluZywKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmdfZm9y bWF0IHsKKwl1aW50MzJfdCBmb3VyY2M7CisKKwlmbG9hdCBtYXhfdmFsOworCisJZmxvYXQgb2Zz X3ksIG1heF95LCBvZnNfY2JjciwgbWlkX2NiY3IsIG1heF9jYmNyOworfSBmb3JtYXRzW10gPSB7 CisJeyBEUk1fRk9STUFUX1hSR0I4ODg4LCAyNTUuZiwgfSwKKwl7IERSTV9GT1JNQVRfTlYxMiwg MjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKKwl7IERSTV9GT1JNQVRf WVVZViwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKKwl7IERSTV9G T1JNQVRfWVZZVSwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKKwl7 IERSTV9GT1JNQVRfVVlWWSwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYg fSwKKwl7IERSTV9GT1JNQVRfVllVWSwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwg MjQwLmYgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmdfZm9ybWF0 ICpsb29rdXBfZm91cmNjKHVpbnQzMl90IGZvdXJjYykKK3sKKwlpbnQgaTsKKwlmb3IgKGkgPSAw OyBpIDwgQVJSQVlfU0laRShmb3JtYXRzKTsgaSsrKQorCQlpZiAoZm91cmNjID09IGZvcm1hdHNb aV0uZm91cmNjKQorCQkJcmV0dXJuICZmb3JtYXRzW2ldOworCisJaWd0X2Fzc2VydF9mKDAsICJD b3VsZCBub3QgbG9vayB1cCBmb3VyY2MgJS40c1xuIiwgKGNoYXIgKikmZm91cmNjKTsKK30KKwor c3RydWN0IGlndF9tYXQ0IGlndF95Y2Jjcl90b19yZ2JfbWF0cml4KHVpbnQzMl90IGZyb21fZm91 cmNjLAorCQkJCQl1aW50MzJfdCB0b19mb3VyY2MsCisJCQkJCWVudW0gaWd0X2NvbG9yX2VuY29k aW5nIGNvbG9yX2VuY29kaW5nLAogCQkJCQllbnVtIGlndF9jb2xvcl9yYW5nZSBjb2xvcl9yYW5n ZSkKIHsKIAljb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmcgKmUgPSAmY29sb3JfZW5jb2Rpbmdz W2NvbG9yX2VuY29kaW5nXTsKIAlzdHJ1Y3QgaWd0X21hdDQgciwgYzsKKwljb25zdCBzdHJ1Y3Qg Y29sb3JfZW5jb2RpbmdfZm9ybWF0ICpmeWNiY3IgPSBsb29rdXBfZm91cmNjKGZyb21fZm91cmNj KTsKKwljb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmdfZm9ybWF0ICpmcmdiID0gbG9va3VwX2Zv dXJjYyh0b19mb3VyY2MpOworCWZsb2F0IHNjYWxlID0gZnJnYi0+bWF4X3ZhbCAvIGZ5Y2Jjci0+ bWF4X3ZhbDsKIAotCXIgPSB5Y2Jjcl9pbnB1dF9jb252ZXJ0X21hdHJpeChjb2xvcl9yYW5nZSk7 CisJaWd0X2Fzc2VydChmeWNiY3ItPm9mc195ICYmICFmcmdiLT5vZnNfeSk7CisKKwlyID0geWNi Y3JfaW5wdXRfY29udmVydF9tYXRyaXgoY29sb3JfcmFuZ2UsIHNjYWxlLCBmeWNiY3ItPm9mc195 LCBmeWNiY3ItPm1heF95LCBmeWNiY3ItPm9mc19jYmNyLCBmeWNiY3ItPm1pZF9jYmNyLCBmeWNi Y3ItPm1heF9jYmNyLCBmeWNiY3ItPm1heF92YWwpOwogCWMgPSB5Y2Jjcl90b19yZ2JfbWF0cml4 KGUpOwogCiAJcmV0dXJuIGlndF9tYXRyaXhfbXVsdGlwbHkoJmMsICZyKTsKIH0KIAotc3RydWN0 IGlndF9tYXQ0IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4KGVudW0gaWd0X2NvbG9yX2VuY29kaW5n IGNvbG9yX2VuY29kaW5nLAorc3RydWN0IGlndF9tYXQ0IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4 KHVpbnQzMl90IGZyb21fZm91cmNjLAorCQkJCQl1aW50MzJfdCB0b19mb3VyY2MsCisJCQkJCWVu dW0gaWd0X2NvbG9yX2VuY29kaW5nIGNvbG9yX2VuY29kaW5nLAogCQkJCQllbnVtIGlndF9jb2xv cl9yYW5nZSBjb2xvcl9yYW5nZSkKIHsKIAljb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmcgKmUg PSAmY29sb3JfZW5jb2RpbmdzW2NvbG9yX2VuY29kaW5nXTsKKwljb25zdCBzdHJ1Y3QgY29sb3Jf ZW5jb2RpbmdfZm9ybWF0ICpmcmdiID0gbG9va3VwX2ZvdXJjYyhmcm9tX2ZvdXJjYyk7CisJY29u c3Qgc3RydWN0IGNvbG9yX2VuY29kaW5nX2Zvcm1hdCAqZnljYmNyID0gbG9va3VwX2ZvdXJjYyh0 b19mb3VyY2MpOwogCXN0cnVjdCBpZ3RfbWF0NCBjLCByOworCWZsb2F0IHNjYWxlID0gZnljYmNy LT5tYXhfdmFsIC8gZnJnYi0+bWF4X3ZhbDsKKworCWlndF9hc3NlcnQoZnljYmNyLT5vZnNfeSAm JiAhZnJnYi0+b2ZzX3kpOwogCiAJYyA9IHJnYl90b195Y2Jjcl9tYXRyaXgoZSk7Ci0JciA9IHlj YmNyX291dHB1dF9jb252ZXJ0X21hdHJpeChjb2xvcl9yYW5nZSk7CisJciA9IHljYmNyX291dHB1 dF9jb252ZXJ0X21hdHJpeChjb2xvcl9yYW5nZSwgc2NhbGUsIGZ5Y2Jjci0+b2ZzX3ksIGZ5Y2Jj ci0+bWF4X3ksIGZ5Y2Jjci0+b2ZzX2NiY3IsIGZ5Y2Jjci0+bWlkX2NiY3IsIGZ5Y2Jjci0+bWF4 X2NiY3IsIGZ5Y2Jjci0+bWF4X3ZhbCk7CiAKIAlyZXR1cm4gaWd0X21hdHJpeF9tdWx0aXBseSgm ciwgJmMpOwogfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9jb2xvcl9lbmNvZGluZy5oIGIvbGliL2ln dF9jb2xvcl9lbmNvZGluZy5oCmluZGV4IDM4ODRlNDkzOWY0Yy4uZGI0NWIxNmQzNjg3IDEwMDY0 NAotLS0gYS9saWIvaWd0X2NvbG9yX2VuY29kaW5nLmgKKysrIGIvbGliL2lndF9jb2xvcl9lbmNv ZGluZy5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIF9fSUdUX0NPTE9SX0VOQ09ESU5HX0hf XwogCiAjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiAjaW5jbHVk ZSAiaWd0X21hdHJpeC5oIgogCkBAIC00NCw5ICs0NSwxMyBAQCBlbnVtIGlndF9jb2xvcl9yYW5n ZSB7CiBjb25zdCBjaGFyICppZ3RfY29sb3JfZW5jb2RpbmdfdG9fc3RyKGVudW0gaWd0X2NvbG9y X2VuY29kaW5nIGVuY29kaW5nKTsKIGNvbnN0IGNoYXIgKmlndF9jb2xvcl9yYW5nZV90b19zdHIo ZW51bSBpZ3RfY29sb3JfcmFuZ2UgcmFuZ2UpOwogCi1zdHJ1Y3QgaWd0X21hdDQgaWd0X3ljYmNy X3RvX3JnYl9tYXRyaXgoZW51bSBpZ3RfY29sb3JfZW5jb2RpbmcgY29sb3JfZW5jb2RpbmcsCitz dHJ1Y3QgaWd0X21hdDQgaWd0X3ljYmNyX3RvX3JnYl9tYXRyaXgodWludDMyX3QgeWNiY3JfZm91 cmNjLAorCQkJCQl1aW50MzJfdCByZ2JfZm91cmNjLAorCQkJCQllbnVtIGlndF9jb2xvcl9lbmNv ZGluZyBjb2xvcl9lbmNvZGluZywKIAkJCQkJZW51bSBpZ3RfY29sb3JfcmFuZ2UgY29sb3JfcmFu Z2UpOwotc3RydWN0IGlndF9tYXQ0IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4KGVudW0gaWd0X2Nv bG9yX2VuY29kaW5nIGNvbG9yX2VuY29kaW5nLAorc3RydWN0IGlndF9tYXQ0IGlndF9yZ2JfdG9f eWNiY3JfbWF0cml4KHVpbnQzMl90IHJnYl9mb3VyY2MsCisJCQkJCXVpbnQzMl90IHljYmNyX2Zv dXJjYywKKwkJCQkJZW51bSBpZ3RfY29sb3JfZW5jb2RpbmcgY29sb3JfZW5jb2RpbmcsCiAJCQkJ CWVudW0gaWd0X2NvbG9yX3JhbmdlIGNvbG9yX3JhbmdlKTsKIAogI2VuZGlmIC8qIF9fSUdUX0NP TE9SX0VOQ09ESU5HX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9m Yi5jCmluZGV4IDVkOGMxODdhOWFjOS4uZGIzYWUwNjc0OGQxIDEwMDY0NAotLS0gYS9saWIvaWd0 X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC0xNTA4LDcgKzE1MDgsNyBAQCBzdGF0aWMgdm9p ZCAqaWd0X2ZiX2NyZWF0ZV9jYWlyb19zaGFkb3dfYnVmZmVyKGludCBmZCwKIAkJRFJNX0ZPUk1B VF9YUkdCODg4OCwgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwKIAkJSUdUX0NPTE9SX1lDQkNS X0JUNzA5LCBJR1RfQ09MT1JfWUNCQ1JfTElNSVRFRF9SQU5HRSk7CiAKLQlzaGFkb3ctPnN0cmlk ZXNbMF0gPSBBTElHTih3aWR0aCAqIDQsIDE2KTsKKwlzaGFkb3ctPnN0cmlkZXNbMF0gPSBBTElH Tih3aWR0aCAqIHNoYWRvdy0+cGxhbmVfYnBwWzBdLCAxNik7CiAJc2hhZG93LT5zaXplID0gQUxJ R04oc2hhZG93LT5zdHJpZGVzWzBdICogaGVpZ2h0LAogCQkJICAgICBzeXNjb25mKF9TQ19QQUdF U0laRSkpOwogCXB0ciA9IG1tYXAoTlVMTCwgc2hhZG93LT5zaXplLCBQUk9UX1JFQUQgfCBQUk9U X1dSSVRFLApAQCAtMTY4MSw3ICsxNjgxLDkgQEAgc3RhdGljIHZvaWQgY29udmVydF95dXZfdG9f cmdiMjQoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIAl1aW50OF90ICp5LCAqdSwgKnY7CiAJdWlu dDhfdCAqcmdiMjQgPSBjdnQtPmRzdC5wdHI7CiAJdW5zaWduZWQgaW50IHJnYjI0X3N0cmlkZSA9 IGN2dC0+ZHN0LmZiLT5zdHJpZGVzWzBdOwotCXN0cnVjdCBpZ3RfbWF0NCBtID0gaWd0X3ljYmNy X3RvX3JnYl9tYXRyaXgoY3Z0LT5zcmMuZmItPmNvbG9yX2VuY29kaW5nLAorCXN0cnVjdCBpZ3Rf bWF0NCBtID0gaWd0X3ljYmNyX3RvX3JnYl9tYXRyaXgoY3Z0LT5zcmMuZmItPmRybV9mb3JtYXQs CisJCQkJCQkgICAgY3Z0LT5kc3QuZmItPmRybV9mb3JtYXQsCisJCQkJCQkgICAgY3Z0LT5zcmMu ZmItPmNvbG9yX2VuY29kaW5nLAogCQkJCQkJICAgIGN2dC0+c3JjLmZiLT5jb2xvcl9yYW5nZSk7 CiAJdWludDhfdCAqYnVmOwogCXN0cnVjdCB5dXZfcGFyYW1ldGVycyBwYXJhbXMgPSB7IH07CkBA IC0xNzQyLDcgKzE3NDQsOSBAQCBzdGF0aWMgdm9pZCBjb252ZXJ0X3JnYjI0X3RvX3l1dihzdHJ1 Y3QgZmJfY29udmVydCAqY3Z0KQogCWNvbnN0IHVpbnQ4X3QgKnJnYjI0ID0gY3Z0LT5zcmMucHRy OwogCXVpbnQ4X3QgYnBwID0gNDsKIAl1bnNpZ25lZCByZ2IyNF9zdHJpZGUgPSBjdnQtPnNyYy5m Yi0+c3RyaWRlc1swXTsKLQlzdHJ1Y3QgaWd0X21hdDQgbSA9IGlndF9yZ2JfdG9feWNiY3JfbWF0 cml4KGN2dC0+ZHN0LmZiLT5jb2xvcl9lbmNvZGluZywKKwlzdHJ1Y3QgaWd0X21hdDQgbSA9IGln dF9yZ2JfdG9feWNiY3JfbWF0cml4KGN2dC0+c3JjLmZiLT5kcm1fZm9ybWF0LAorCQkJCQkJICAg IGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0LAorCQkJCQkJICAgIGN2dC0+ZHN0LmZiLT5jb2xvcl9l bmNvZGluZywKIAkJCQkJCSAgICBjdnQtPmRzdC5mYi0+Y29sb3JfcmFuZ2UpOwogCXN0cnVjdCB5 dXZfcGFyYW1ldGVycyBwYXJhbXMgPSB7IH07CiAKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0 LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==