From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 618D36EE27 for ; Fri, 1 Feb 2019 11:15:56 +0000 (UTC) From: Maarten Lankhorst Date: Fri, 1 Feb 2019 12:15:43 +0100 Message-Id: <20190201111544.7920-3-maarten.lankhorst@linux.intel.com> In-Reply-To: <20190201111544.7920-1-maarten.lankhorst@linux.intel.com> References: <20190201111544.7920-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 3/4] lib/igt_fb: Add support for Y21x formats as well. 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: VGhvc2UgZm9ybWF0cyBhcmUgcGFja2VkIGxpa2UgWVVZViwgYnV0IG9ubHkgMTYgYml0cyBwZXIg Y29tcG9uZW50LgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBpbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2Mu aCB8ICAgNiArLQogbGliL2lndF9jb2xvcl9lbmNvZGluZy5jICAgICAgfCAgIDMgKwogbGliL2ln dF9mYi5jICAgICAgICAgICAgICAgICAgfCAxNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9k cm0tdWFwaS9kcm1fZm91cmNjLmgKaW5kZXggYzlhNWU1Nzg3MDMxLi44ZjFiNWY4MzJhMDkgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCisrKyBiL2luY2x1ZGUvZHJt LXVhcGkvZHJtX2ZvdXJjYy5oCkBAIC0xNDksMTAgKzE0OSwxNCBAQCBleHRlcm4gIkMiIHsKICNk ZWZpbmUgRFJNX0ZPUk1BVF9ZVllVCQlmb3VyY2NfY29kZSgnWScsICdWJywgJ1knLCAnVScpIC8q IFszMTowXSBDYjA6WTE6Q3IwOlkwIDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLwogI2RlZmluZSBE Uk1fRk9STUFUX1VZVlkJCWZvdXJjY19jb2RlKCdVJywgJ1knLCAnVicsICdZJykgLyogWzMxOjBd IFkxOkNyMDpZMDpDYjAgODo4Ojg6OCBsaXR0bGUgZW5kaWFuICovCiAjZGVmaW5lIERSTV9GT1JN QVRfVllVWQkJZm91cmNjX2NvZGUoJ1YnLCAnWScsICdVJywgJ1knKSAvKiBbMzE6MF0gWTE6Q2Iw OlkwOkNyMCA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KLQogI2RlZmluZSBEUk1fRk9STUFUX0FZ VVYJCWZvdXJjY19jb2RlKCdBJywgJ1knLCAnVScsICdWJykgLyogWzMxOjBdIEE6WTpDYjpDciA4 Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KICNkZWZpbmUgRFJNX0ZPUk1BVF9YWVVWODg4OAlmb3Vy Y2NfY29kZSgnWCcsICdZJywgJ1UnLCAnVicpIC8qIFszMTowXSBYOlk6Q2I6Q3IgODo4Ojg6OCBs aXR0bGUgZW5kaWFuICovCiAKKy8qIExpa2UgWVVZViwgYnV0IDE2IGJwYywgbG93ZXN0IGJpdHMg dW51c2VkIGxpa2UgaW4gRFJNX0ZPUk1BVF9QMDFYICovCisjZGVmaW5lIERSTV9GT1JNQVRfWTIx MAkJZm91cmNjX2NvZGUoJ1knLCAnMicsICcxJywgJzAnKQorI2RlZmluZSBEUk1fRk9STUFUX1ky MTIJCWZvdXJjY19jb2RlKCdZJywgJzInLCAnMScsICcyJykKKyNkZWZpbmUgRFJNX0ZPUk1BVF9Z MjE2CQlmb3VyY2NfY29kZSgnWScsICcyJywgJzEnLCAnNicpCisKIC8qCiAgKiBwYWNrZWQgWUNi Q3I0MjAgMngyIHRpbGVkIGZvcm1hdHMKICAqIGZpcnN0IDY0IGJpdHMgd2lsbCBjb250YWluIFks Q2IsQ3IgY29tcG9uZW50cyBmb3IgYSAyeDIgdGlsZQpkaWZmIC0tZ2l0IGEvbGliL2lndF9jb2xv cl9lbmNvZGluZy5jIGIvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCmluZGV4IGI3YTEyYTFlMDdm Ny4uNmY4MmZjZWM2MmU0IDEwMDY0NAotLS0gYS9saWIvaWd0X2NvbG9yX2VuY29kaW5nLmMKKysr IGIvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCkBAIC0xNDQsNiArMTQ0LDkgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBjb2xvcl9lbmNvZGluZ19mb3JtYXQgewogCXsgRFJNX0ZPUk1BVF9QMDEwLCA2 NTQ3Mi5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAogCXsg RFJNX0ZPUk1BVF9QMDEyLCA2NTUyMC5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3Njgu ZiwgNjE0NDAuZiB9LAogCXsgRFJNX0ZPUk1BVF9QMDE2LCA2NTUzNS5mLCA0MDk2LmYsIDYwMTYw LmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAorCXsgRFJNX0ZPUk1BVF9ZMjEwLCA2NTQ3 Mi5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAorCXsgRFJN X0ZPUk1BVF9ZMjEyLCA2NTUyMC5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwg NjE0NDAuZiB9LAorCXsgRFJNX0ZPUk1BVF9ZMjE2LCA2NTUzNS5mLCA0MDk2LmYsIDYwMTYwLmYs IDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBj b2xvcl9lbmNvZGluZ19mb3JtYXQgKmxvb2t1cF9mb3VyY2ModWludDMyX3QgZm91cmNjKQpkaWZm IC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCmluZGV4IDhiZDA0MjBmYzJlNC4u YzE0Y2MxMGQxYjczIDEwMDY0NAotLS0gYS9saWIvaWd0X2ZiLmMKKysrIGIvbGliL2lndF9mYi5j CkBAIC0xNTEsNiArMTUxLDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZm9ybWF0X2Rlc2Nfc3Ry dWN0IHsKIAkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0IyNCwKIAkgIC5udW1fcGxhbmVz ID0gMSwgLnBsYW5lX2JwcCA9IHsgMTYsIH0sCiAJfSwKKwl7IC5uYW1lID0gIlkyMTAiLCAuZGVw dGggPSAtMSwgLmRybV9pZCA9IERSTV9GT1JNQVRfWTIxMCwKKwkgIC5jYWlyb19pZCA9IENBSVJP X0ZPUk1BVF9SR0I5NkYsCisJICAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDMyLCB9 LAorCX0sCisJeyAubmFtZSA9ICJZMjEyIiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9S TUFUX1kyMTIsCisJICAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdCOTZGLAorCSAgLm51bV9w bGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyAzMiwgfSwKKwl9LAorCXsgLm5hbWUgPSAiWTIxNiIs IC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1BVF9ZMjE2LAorCSAgLmNhaXJvX2lkID0g Q0FJUk9fRk9STUFUX1JHQjk2RiwKKwkgIC5udW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsg MzIsIH0sCisJfSwKIAl7IC5uYW1lID0gIlAwMTAiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERS TV9GT1JNQVRfUDAxMCwKIAkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0I5NkYsCiAJICAu bnVtX3BsYW5lcyA9IDIsIC5wbGFuZV9icHAgPSB7IDE2LCAzMiB9LApAQCAtNTUzLDYgKzU2NSwx MyBAQCBzdGF0aWMgaW50IGNyZWF0ZV9ib19mb3JfZmIoc3RydWN0IGlndF9mYiAqZmIpCiAJCQkJ CWZiLT5vZmZzZXRzWzFdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKIAkJCQl3bWVtc2V0KHB0ciArIGZi LT5vZmZzZXRzWzFdLCAweDgwMDA4MDAwLAogCQkJCQlESVZfUk9VTkRfVVAoZmItPmhlaWdodCwy KSAqIGZiLT5zdHJpZGVzWzFdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKKwkJCWNhc2UgRFJNX0ZPUk1B VF9ZMjEwOgorCQkJY2FzZSBEUk1fRk9STUFUX1kyMTI6CisJCQljYXNlIERSTV9GT1JNQVRfWTIx NjoKKwkJCQl3bWVtc2V0KHB0ciArIGZiLT5vZmZzZXRzWzBdLAorCQkJCQlmdWxsX3JhbmdlID8g MHg4MDAwMDAwMCA6IDB4ODAwMDEwMDAsCisJCQkJCWZiLT5zdHJpZGVzWzBdICogZmItPnBsYW5l X2hlaWdodFswXSAvIHNpemVvZih3Y2hhcl90KSk7CisJCQkJYnJlYWs7CiAJCQl9CiAJCQlnZW1f bXVubWFwKHB0ciwgZmItPnNpemUpOwogCkBAIC0yMTM5LDYgKzIxNTgsMTIwIEBAIHN0YXRpYyB2 b2lkIGNvbnZlcnRfZmxvYXRfdG9fcDAxWChzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQogCX0KIH0K IAorCitzdGF0aWMgdm9pZCBjb252ZXJ0X1kyMVhfdG9fZmxvYXQoc3RydWN0IGZiX2NvbnZlcnQg KmN2dCkKK3sKKwlpbnQgaSwgajsKKwljb25zdCB1aW50MTZfdCAqeXV5djsKKwl1aW50MTZfdCAq YnVmOworCWZsb2F0ICpwdHIgPSBjdnQtPmRzdC5wdHI7CisJdW5zaWduZWQgaW50IGZsb2F0X3N0 cmlkZSA9IGN2dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCpwdHIpOworCXVuc2lnbmVk IGludCB5dXl2X3N0cmlkZSA9IGN2dC0+c3JjLmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCp5dXl2 KTsKKwlzdHJ1Y3QgaWd0X21hdDQgbSA9IGlndF95Y2Jjcl90b19yZ2JfbWF0cml4KGN2dC0+c3Jj LmZiLT5kcm1fZm9ybWF0LAorCQkJCQkJICAgIGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0LAorCQkJ CQkJICAgIGN2dC0+c3JjLmZiLT5jb2xvcl9lbmNvZGluZywKKwkJCQkJCSAgICBjdnQtPnNyYy5m Yi0+Y29sb3JfcmFuZ2UpOworCisJaWd0X2Fzc2VydCgoY3Z0LT5zcmMuZmItPmRybV9mb3JtYXQg PT0gRFJNX0ZPUk1BVF9ZMjEwIHx8CisJCSAgICBjdnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCA9PSBE Uk1fRk9STUFUX1kyMTIgfHwKKwkJICAgIGN2dC0+c3JjLmZiLT5kcm1fZm9ybWF0ID09IERSTV9G T1JNQVRfWTIxNikgJiYKKwkJICAgY3Z0LT5kc3QuZmItPmRybV9mb3JtYXQgPT0gSUdUX0ZPUk1B VF9GTE9BVCk7CisKKwl5dXl2ID0gYnVmID0gY29udmVydF9zcmNfZ2V0KGN2dCk7CisKKwlmb3Ig KGkgPSAwOyBpIDwgY3Z0LT5kc3QuZmItPmhlaWdodDsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGog PCBjdnQtPmRzdC5mYi0+d2lkdGggLyAyOyBqKyspIHsKKwkJCS8qIENvbnZlcnQgMngxIHBpeGVs IGJsb2NrcyAqLworCQkJc3RydWN0IGlndF92ZWM0IHl1dlsyXTsKKwkJCXN0cnVjdCBpZ3RfdmVj NCByZ2JbMl07CisKKwkJCXl1dlswXS5kWzBdID0geXV5dltqICogNCArIDBdOworCQkJeXV2WzFd LmRbMF0gPSB5dXl2W2ogKiA0ICsgMl07CisJCQl5dXZbMF0uZFsxXSA9IHl1dlsxXS5kWzFdID0g eXV5dltqICogNCArIDFdOworCQkJeXV2WzBdLmRbMl0gPSB5dXZbMV0uZFsyXSA9IHl1eXZbaiAq IDQgKyAzXTsKKwkJCXl1dlswXS5kWzNdID0geXV2WzFdLmRbM10gPSAxLjBmOworCisJCQlyZ2Jb MF0gPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwgJnl1dlswXSk7CisJCQlyZ2JbMV0gPSBpZ3Rf bWF0cml4X3RyYW5zZm9ybSgmbSwgJnl1dlsxXSk7CisKKwkJCXdyaXRlX3JnYmYoJnB0cltqICog NiArIDBdLCAmcmdiWzBdKTsKKwkJCXdyaXRlX3JnYmYoJnB0cltqICogNiArIDNdLCAmcmdiWzFd KTsKKwkJfQorCisJCWlmIChjdnQtPmRzdC5mYi0+d2lkdGggJiAxKSB7CisJCQlzdHJ1Y3QgaWd0 X3ZlYzQgeXV2OworCQkJc3RydWN0IGlndF92ZWM0IHJnYjsKKworCQkJeXV2LmRbMF0gPSB5dXl2 W2ogKiA0ICsgMF07CisJCQl5dXYuZFsxXSA9IHl1eXZbaiAqIDQgKyAxXTsKKwkJCXl1di5kWzJd ID0geXV5dltqICogNCArIDNdOworCQkJeXV2LmRbM10gPSAxLjBmOworCisJCQlyZ2IgPSBpZ3Rf bWF0cml4X3RyYW5zZm9ybSgmbSwgJnl1dik7CisKKwkJCXdyaXRlX3JnYmYoJnB0cltqICogNiAr IDBdLCAmcmdiKTsKKwkJfQorCisJCXB0ciArPSBmbG9hdF9zdHJpZGU7CisJCXl1eXYgKz0geXV5 dl9zdHJpZGU7CisJfQorCisJY29udmVydF9zcmNfcHV0KGN2dCwgYnVmKTsKK30KKworc3RhdGlj IHZvaWQgY29udmVydF9mbG9hdF90b19ZMjFYKHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCit7CisJ aW50IGksIGo7CisJdWludDE2X3QgKnl1eXYgPSBjdnQtPmRzdC5wdHI7CisJY29uc3QgZmxvYXQg KnB0ciA9IGN2dC0+c3JjLnB0cjsKKwl1bnNpZ25lZCBmbG9hdF9zdHJpZGUgPSBjdnQtPnNyYy5m Yi0+c3RyaWRlc1swXSAvIHNpemVvZigqcHRyKTsKKwl1bnNpZ25lZCB5dXl2X3N0cmlkZSA9IGN2 dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCp5dXl2KTsKKwlzdHJ1Y3QgaWd0X21hdDQg bSA9IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4KGN2dC0+c3JjLmZiLT5kcm1fZm9ybWF0LAorCQkJ CQkJICAgIGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0LAorCQkJCQkJICAgIGN2dC0+ZHN0LmZiLT5j b2xvcl9lbmNvZGluZywKKwkJCQkJCSAgICBjdnQtPmRzdC5mYi0+Y29sb3JfcmFuZ2UpOworCisJ aWd0X2Fzc2VydChjdnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCA9PSBJR1RfRk9STUFUX0ZMT0FUICYm CisJCSAgIChjdnQtPmRzdC5mYi0+ZHJtX2Zvcm1hdCA9PSBEUk1fRk9STUFUX1kyMTAgfHwKKwkJ ICAgIGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0ID09IERSTV9GT1JNQVRfWTIxMiB8fAorCQkgICAg Y3Z0LT5kc3QuZmItPmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9ZMjE2KSk7CisKKwlmb3IgKGkg PSAwOyBpIDwgY3Z0LT5kc3QuZmItPmhlaWdodDsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGogPCBj dnQtPmRzdC5mYi0+d2lkdGggLyAyOyBqKyspIHsKKwkJCS8qIENvbnZlcnQgMngxIHBpeGVsIGJs b2NrcyAqLworCQkJc3RydWN0IGlndF92ZWM0IHJnYlsyXTsKKwkJCXN0cnVjdCBpZ3RfdmVjNCB5 dXZbMl07CisKKwkJCXJlYWRfcmdiZigmcmdiWzBdLCAmcHRyW2ogKiA2ICsgMF0pOworCQkJcmVh ZF9yZ2JmKCZyZ2JbMV0sICZwdHJbaiAqIDYgKyAzXSk7CisKKwkJCXl1dlswXSA9IGlndF9tYXRy aXhfdHJhbnNmb3JtKCZtLCAmcmdiWzBdKTsKKwkJCXl1dlsxXSA9IGlndF9tYXRyaXhfdHJhbnNm b3JtKCZtLCAmcmdiWzFdKTsKKworCQkJeXV5dltqICogNCArIDBdID0geXV2WzBdLmRbMF07CisJ CQl5dXl2W2ogKiA0ICsgMl0gPSB5dXZbMV0uZFswXTsKKwkJCXl1eXZbaiAqIDQgKyAxXSA9ICh5 dXZbMF0uZFsxXSArIHl1dlsxXS5kWzFdKSAvIDIuMGY7CisJCQl5dXl2W2ogKiA0ICsgM10gPSAo eXV2WzBdLmRbMl0gKyB5dXZbMV0uZFsyXSkgLyAyLjBmOworCQl9CisKKwkJaWYgKGN2dC0+ZHN0 LmZiLT53aWR0aCAmIDEpIHsKKwkJCXN0cnVjdCBpZ3RfdmVjNCByZ2I7CisJCQlzdHJ1Y3QgaWd0 X3ZlYzQgeXV2OworCisJCQlyZWFkX3JnYmYoJnJnYiwgJnB0cltqICogNiArIDBdKTsKKworCQkJ eXV2ID0gaWd0X21hdHJpeF90cmFuc2Zvcm0oJm0sICZyZ2IpOworCisJCQl5dXl2W2ogKiA0ICsg MF0gPSB5dXYuZFswXTsKKwkJCXl1eXZbaiAqIDQgKyAxXSA9IHl1di5kWzFdOworCQkJeXV5dltq ICogNCArIDNdID0geXV2LmRbMl07CisJCX0KKworCQlwdHIgKz0gZmxvYXRfc3RyaWRlOworCQl5 dXl2ICs9IHl1eXZfc3RyaWRlOworCX0KK30KKwogc3RhdGljIHZvaWQgY29udmVydF9waXhtYW4o c3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIHsKIAlwaXhtYW5fZm9ybWF0X2NvZGVfdCBzcmNfcGl4 bWFuID0gZHJtX2Zvcm1hdF90b19waXhtYW4oY3Z0LT5zcmMuZmItPmRybV9mb3JtYXQpOwpAQCAt MjIyMSw2ICsyMzU0LDExIEBAIHN0YXRpYyB2b2lkIGZiX2NvbnZlcnQoc3RydWN0IGZiX2NvbnZl cnQgKmN2dCkKIAkJY2FzZSBEUk1fRk9STUFUX1AwMTY6CiAJCQljb252ZXJ0X3AwMVhfdG9fZmxv YXQoY3Z0KTsKIAkJCXJldHVybjsKKwkJY2FzZSBEUk1fRk9STUFUX1kyMTA6CisJCWNhc2UgRFJN X0ZPUk1BVF9ZMjEyOgorCQljYXNlIERSTV9GT1JNQVRfWTIxNjoKKwkJCWNvbnZlcnRfWTIxWF90 b19mbG9hdChjdnQpOworCQkJcmV0dXJuOwogCQl9CiAJfSBlbHNlIGlmIChjdnQtPnNyYy5mYi0+ ZHJtX2Zvcm1hdCA9PSBJR1RfRk9STUFUX0ZMT0FUKSB7CiAJCXN3aXRjaCAoY3Z0LT5kc3QuZmIt PmRybV9mb3JtYXQpIHsKQEAgLTIyMjksNiArMjM2NywxMSBAQCBzdGF0aWMgdm9pZCBmYl9jb252 ZXJ0KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiAJCWNhc2UgRFJNX0ZPUk1BVF9QMDE2OgogCQkJ Y29udmVydF9mbG9hdF90b19wMDFYKGN2dCk7CiAJCQlyZXR1cm47CisJCWNhc2UgRFJNX0ZPUk1B VF9ZMjEwOgorCQljYXNlIERSTV9GT1JNQVRfWTIxMjoKKwkJY2FzZSBEUk1fRk9STUFUX1kyMTY6 CisJCQljb252ZXJ0X2Zsb2F0X3RvX1kyMVgoY3Z0KTsKKwkJCXJldHVybjsKIAkJfQogCX0KIApA QCAtMjU4Myw2ICsyNzI2LDkgQEAgYm9vbCBpZ3RfZm9ybWF0X2lzX3l1dih1aW50MzJfdCBkcm1f Zm9ybWF0KQogCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgogCWNhc2UgRFJNX0ZPUk1BVF9QMDEyOgog CWNhc2UgRFJNX0ZPUk1BVF9QMDE2OgorCWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgorCWNhc2UgRFJN X0ZPUk1BVF9ZMjEyOgorCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgogCWNhc2UgRFJNX0ZPUk1BVF9Z VVlWOgogCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOgogCWNhc2UgRFJNX0ZPUk1BVF9VWVZZOgotLSAK Mi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK