From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2CC8DCAC5A7 for ; Mon, 22 Sep 2025 09:30:56 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0crc-0001L5-Dx; Mon, 22 Sep 2025 05:29:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0crZ-0001KL-Na for grub-devel@gnu.org; Mon, 22 Sep 2025 05:29:37 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0crK-0007Mg-Ab for grub-devel@gnu.org; Mon, 22 Sep 2025 05:29:36 -0400 Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58LN7EHA028147; Mon, 22 Sep 2025 09:29:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=AydqHJEJoFHt6krWZ MkvZLJy1Zj6AK6P4vJ+OExPgxI=; b=hfSTOkzDQOQo2aKu8XCEv7ubraQqRd40e QUQkQW7BML4B0F+wF/5Y2o8942WrANH00opxvyN+sTskWLD4F0OrRhNcCXbvL+YA TSzmLTff0dpGTHs88iwDhDmuWJUDXHPwBJrxkO+pZ2s8kHtehgZTk2dyBkazSTtE O2xG0uwXuuBcfV6VNFTgJSeJc8AGhsbdc9CuNI9kfDMcvY56CVorojTNyKX/7q/x +isRrXLrM145ZylBzn6Z1ZsT4kaNtbGsr4qhT8+Zt87FzqxRnxrJa4E9cm7IGSmg QuG++IdIrmLLYutgMGoH+G+xBr6Nm9lmMKzO6QkdMonlJPB7dc81g== Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 499jpk1keb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Sep 2025 09:29:16 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 58M90JIn019743; Mon, 22 Sep 2025 09:29:15 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 49a83jwavq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Sep 2025 09:29:15 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 58M9TBlS18088318 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 22 Sep 2025 09:29:11 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 55F9520043; Mon, 22 Sep 2025 09:29:11 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8618C2004B; Mon, 22 Sep 2025 09:29:08 +0000 (GMT) Received: from localhost.localdomain (unknown [9.124.218.27]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 22 Sep 2025 09:29:08 +0000 (GMT) From: Sudhakar Kuppusamy To: grub-devel@gnu.org Cc: dja@axtens.net, jan.setjeeilers@oracle.com, julian.klode@canonical.com, mate.kukri@canonical.com, pjones@redhat.com, msuchanek@suse.com, mlewando@redhat.com, stefanb@linux.ibm.com, avnish@linux.ibm.com, nayna@linux.ibm.com, ssrish@linux.ibm.com, Sudhakar Kuppusamy , sridharm@linux.ibm.com, Daniel Kiper Subject: [PATCH v12 09/22] powerpc_ieee1275: Enter lockdown based on /ibm, secure-boot Date: Mon, 22 Sep 2025 14:57:50 +0530 Message-ID: <20250922092814.39630-10-sudhakar@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250922092814.39630-1-sudhakar@linux.ibm.com> References: <20250922092814.39630-1-sudhakar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=L50dQ/T8 c=1 sm=1 tr=0 ts=68d116ec cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=yJojWOMRYYMA:10 a=JuTF4qcAAAAA:8 a=VnNF1IyMAAAA:8 a=yPCof4ZbAAAA:8 a=BlRlUMKLR4rfvJ7WqM8A:9 a=WlT8qwTXB_Kj6um4hl3b:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTIwMDAxMCBTYWx0ZWRfX4V4M7VWvtm0n xsu+ZaKGD/Bh2b1TF2TiF1CdRA4TGcpt16+9pUeqHtAWeLYsKb/quGfCMxDjqXzgcAWXIvFbw3o a0TjEclIxYXHrh5lRUH4Z+MGiEW9MTqUKBQ2h9+406xJy2yhoUMaKY4qIvf6BtERfqqM7hsZ7VE KoyoiTebKYaW7H8MgtmcHDpjROM7BEeVL/XHSo/gm4wwVge0LAaZS3mHi6FlOxhQDod+bLrzsFW QtWhPVK6EZSTXZH4obAX2lsX6yKsklV4X4mhoZlEW1qDpnX2ytKIBoM14p7xU2sPOMBWE+HlS8c JstsniqBK6MVCepGRbVlt88bYBSFcJGL3kGT9oPszf2Mbj//NPVE9i7ks9DVinuQIs53Xxtuts9 bMhJ4qk9 X-Proofpoint-ORIG-GUID: 2XqB6gXFdFh60kKYWn9R6NxfNGsWr9Pu X-Proofpoint-GUID: 2XqB6gXFdFh60kKYWn9R6NxfNGsWr9Pu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-22_01,2025-09-19_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509200010 Received-SPF: pass client-ip=148.163.158.5; envelope-from=sudhakar@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org UmVhZCBzZWN1cmUgYm9vdCBtb2RlIGZyb20gJ2libSxzZWN1cmUtYm9vdCcgcHJvcGVydHkgYW5k IGlmCnRoZSBzZWN1cmUgYm9vdCBtb2RlIGlzIHNldCB0byAyIChlbmZvcmNlKSwgZW50ZXIgbG9j a2Rvd24uIEVsc2UgaXQgaXMKY29uc2lkZXJlZCBhcyBkaXNhYmxlZC4gVGhlcmUgYXJlIHRocmVl IHNlY3VyZSBib290IG1vZGVzLgpUaGV5IGFyZQoKMCAtIGRpc2FibGVkCiAgICAgTm8gc2lnbmF0 dXJlIHZlcmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIGRlZmF1bHQuCjEgLSBh dWRpdAogICAgIFNpZ25hdHVyZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGFuZCBpZiBzaWdu YXR1cmUgdmVyaWZpY2F0aW9uCiAgICAgZmFpbHMsIHBvc3QgdGhlIGVycm9ycyBhbmQgYWxsb3cg dGhlIGJvb3QgdG8gY29udGludWUuCjIgLSBlbmZvcmNlCiAgICAgTG9ja2Rvd24gdGhlIEdSVUIu IFNpZ25hdHVyZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGFuZAogICAgIElmIHNpZ25hdHVy ZSB2ZXJpZmljYXRpb24gZmFpbHMsIHBvc3QgdGhlIGVycm9ycyBhbmQgc3RvcCB0aGUgYm9vdC4K Ck5vdywgb25seSBzdXBwb3J0IGRpc2FibGVkIGFuZCBlbmZvcmNlLgoKU2lnbmVkLW9mZi1ieTog RGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+ClNpZ25lZC1vZmYtYnk6IFN1ZGhha2FyIEt1 cHB1c2FteSA8c3VkaGFrYXJAbGludXguaWJtLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbiBCZXJn ZXIgPHN0ZWZhbmJAbGludXguaWJtLmNvbT4KUmV2aWV3ZWQtYnk6IEF2bmlzaCBDaG91aGFuIDxh dm5pc2hAbGludXguaWJtLmNvbT4KUmV2aWV3ZWQtYnk6IERhbmllbCBLaXBlciA8ZGFuaWVsLmtp cGVyQG9yYWNsZS5jb20+Ci0tLQogZG9jcy9ncnViLnRleGkgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGdydWItY29yZS9NYWtlZmlsZS5jb3JlLmRlZiAgICB8ICAxICsKIGdydWItY29yZS9rZXJu L2llZWUxMjc1L2luaXQuYyB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGluY2x1ZGUvZ3J1Yi9sb2NrZG93bi5oICAgICAgICB8ICAzICstCiA0IGZpbGVzIGNoYW5nZWQs IDU4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9ncnVi LnRleGkgYi9kb2NzL2dydWIudGV4aQppbmRleCAzNzI5N2ZjMmMuLjhhMjNjMjlhMyAxMDA2NDQK LS0tIGEvZG9jcy9ncnViLnRleGkKKysrIGIvZG9jcy9ncnViLnRleGkKQEAgLTkxNDQsNyArOTE0 NCw3IEBAIHBsYXRmb3Jtcy4KIEBzZWN0aW9uIExvY2tkb3duIHdoZW4gYm9vdGluZyBvbiBhIHNl Y3VyZSBzZXR1cAogCiBUaGUgR1JVQiBjYW4gYmUgbG9ja2VkIGRvd24gd2hlbiBib290ZWQgb24g YSBzZWN1cmUgYm9vdCBlbnZpcm9ubWVudCwgZm9yIGV4YW1wbGUKLWlmIHRoZSBVRUZJIHNlY3Vy ZSBib290IGlzIGVuYWJsZWQuIE9uIGEgbG9ja2VkIGRvd24gY29uZmlndXJhdGlvbiwgdGhlIEdS VUIgd2lsbAoraWYgdGhlIFVFRkkgb3IgUG93ZXIgc2VjdXJlIGJvb3QgaXMgZW5hYmxlZC4gT24g YSBsb2NrZWQgZG93biBjb25maWd1cmF0aW9uLCB0aGUgR1JVQiB3aWxsCiBiZSByZXN0cmljdGVk IGFuZCBzb21lIG9wZXJhdGlvbnMvY29tbWFuZHMgY2Fubm90IGJlIGV4ZWN1dGVkLiBUaGlzIGFs c28gaW5jbHVkZXMKIGxpbWl0aW5nIHdoaWNoIGZpbGVzeXN0ZW1zIGFyZSBzdXBwb3J0ZWQgdG8g dGhvc2UgdGhvdWdodCB0byBiZSBtb3JlIHJvYnVzdCBhbmQKIHdpZGVseSB1c2VkIHdpdGhpbiBH UlVCLgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL01ha2VmaWxlLmNvcmUuZGVmIGIvZ3J1Yi1jb3Jl L01ha2VmaWxlLmNvcmUuZGVmCmluZGV4IDBmY2Y2N2Y5ZC4uOGUzOTI5NzEwIDEwMDY0NAotLS0g YS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYKKysrIGIvZ3J1Yi1jb3JlL01ha2VmaWxlLmNv cmUuZGVmCkBAIC0zMzMsNiArMzMzLDcgQEAga2VybmVsID0gewogICBwb3dlcnBjX2llZWUxMjc1 ID0ga2Vybi9wb3dlcnBjL2NhY2hlLlM7CiAgIHBvd2VycGNfaWVlZTEyNzUgPSBrZXJuL3Bvd2Vy cGMvZGwuYzsKICAgcG93ZXJwY19pZWVlMTI3NSA9IGtlcm4vcG93ZXJwYy9jb21waWxlci1ydC5T OworICBwb3dlcnBjX2llZWUxMjc1ID0ga2Vybi9sb2NrZG93bi5jOwogCiAgIHNwYXJjNjRfaWVl ZTEyNzUgPSBrZXJuL3NwYXJjNjQvY2FjaGUuUzsKICAgc3BhcmM2NF9pZWVlMTI3NSA9IGtlcm4v c3BhcmM2NC9kbC5jOwpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2tlcm4vaWVlZTEyNzUvaW5pdC5j IGIvZ3J1Yi1jb3JlL2tlcm4vaWVlZTEyNzUvaW5pdC5jCmluZGV4IGE1NTg2Zjg1Yi4uOGY1MzZk OWI1IDEwMDY0NAotLS0gYS9ncnViLWNvcmUva2Vybi9pZWVlMTI3NS9pbml0LmMKKysrIGIvZ3J1 Yi1jb3JlL2tlcm4vaWVlZTEyNzUvaW5pdC5jCkBAIC00OSw2ICs0OSwxNCBAQAogI2lmIGRlZmlu ZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19pMzg2X18pCiAjaW5jbHVkZSA8Z3J1Yi9pZWVl MTI3NS9hbGxvYy5oPgogI2VuZGlmCisjaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKyNpbmNsdWRl IDxncnViL2xvY2tkb3duLmg+CisjZW5kaWYKKworI2lmZGVmIF9fcG93ZXJwY19fCisjZGVmaW5l IEdSVUJfU0JfRElTQUJMRUQgICAgICAgICgoZ3J1Yl91aW50MzJfdCkgMCkKKyNkZWZpbmUgR1JV Ql9TQl9FTkZPUkNFICAgICAgICAgKChncnViX3VpbnQzMl90KSAyKQorI2VuZGlmCiAKIC8qIFRo ZSBtYXhpbXVtIGhlYXAgc2l6ZSB3ZSdyZSBnb2luZyB0byBjbGFpbSBhdCBib290LiBOb3QgdXNl ZCBieSBzcGFyYy4gKi8KICNpZmRlZiBfX2kzODZfXwpAQCAtOTk0LDcgKzEwMDIsNDkgQEAgZ3J1 Yl9wYXJzZV9jbWRsaW5lICh2b2lkKQogCX0KICAgICB9CiB9CisjaWZkZWYgX19wb3dlcnBjX18K K3N0YXRpYyB2b2lkCitncnViX2llZWUxMjc1X2dldF9zZWN1cmVfYm9vdCAodm9pZCkKK3sKKyAg Z3J1Yl9pZWVlMTI3NV9waGFuZGxlX3Qgcm9vdDsKKyAgZ3J1Yl91aW50MzJfdCBzYl9tb2RlID0g R1JVQl9TQl9ESVNBQkxFRDsKKyAgZ3J1Yl9pbnQzMl90IHJjOworCisgIHJjID0gZ3J1Yl9pZWVl MTI3NV9maW5kZGV2aWNlICgiLyIsICZyb290KTsKKyAgaWYgKHJjICE9IDApCisgICAgeworICAg ICAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfVU5LTk9XTl9ERVZJQ0UsICJjb3VsZG4ndCBmaW5kIC8g bm9kZSIpOworICAgICAgcmV0dXJuOworICAgIH0KIAorICByYyA9IGdydWJfaWVlZTEyNzVfZ2V0 X2ludGVnZXJfcHJvcGVydHkgKHJvb3QsICJpYm0sc2VjdXJlLWJvb3QiLCAmc2JfbW9kZSwgc2l6 ZW9mIChzYl9tb2RlKSwgMCk7CisgIGlmIChyYyAhPSAwKQorICAgIHsKKyAgICAgIGdydWJfZXJy b3IgKEdSVUJfRVJSX1VOS05PV05fREVWSUNFLCAiY291bGRuJ3QgZXhhbWluZSAvaWJtLHNlY3Vy ZS1ib290IHByb3BlcnR5Iik7CisgICAgICByZXR1cm47CisgICAgfQorICAvKgorICAgKiBTZWN1 cmUgQm9vdCBNb2RlOgorICAgKiAwIC0gZGlzYWJsZWQKKyAgICogICAgICBObyBzaWduYXR1cmUg dmVyaWZpY2F0aW9uIGlzIHBlcmZvcm1lZC4gVGhpcyBpcyB0aGUgZGVmYXVsdC4KKyAgICogMSAt IGF1ZGl0CisgICAqICAgICAgU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQgYW5k IGlmIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gZmFpbHMsCisgICAqICAgICAgcG9zdCB0aGUgZXJy b3JzIGFuZCBhbGxvdyB0aGUgYm9vdCB0byBjb250aW51ZS4KKyAgICogMiAtIGVuZm9yY2UKKyAg ICogICAgICBMb2NrZG93biB0aGUgR1JVQi4gU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBpcyBwZXJm b3JtZWQgYW5kIElmIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gZmFpbHMsCisgICAqICAgICAgcG9z dCB0aGUgZXJyb3JzIGFuZCBzdG9wIHRoZSBib290LgorICAgKgorICAgKiBOb3csIG9ubHkgc3Vw cG9ydCBkaXNhYmxlZCBhbmQgZW5mb3JjZS4KKyAgICovCisgIGlmIChzYl9tb2RlID09IEdSVUJf U0JfRU5GT1JDRSkKKyAgICB7CisgICAgICBncnViX2RwcmludGYgKCJpZWVlMTI3NSIsICJTZWN1 cmUgQm9vdCBFbmFibGVkXG4iKTsKKyAgICAgIGdydWJfbG9ja2Rvd24gKCk7CisgICAgfQorICBl bHNlCisgICAgZ3J1Yl9kcHJpbnRmICgiaWVlZTEyNzUiLCAiU2VjdXJlIEJvb3QgRGlzYWJsZWRc biIpOworfQorI2VuZGlmIC8qIF9fcG93ZXJwY19fICovCiBncnViX2FkZHJfdCBncnViX21vZGJh c2U7CiAKIHZvaWQKQEAgLTEwMjAsNiArMTA3MCwxMCBAQCBncnViX21hY2hpbmVfaW5pdCAodm9p ZCkKICNlbHNlCiAgIGdydWJfaW5zdGFsbF9nZXRfdGltZV9tcyAoZ3J1Yl9ydGNfZ2V0X3RpbWVf bXMpOwogI2VuZGlmCisKKyNpZmRlZiBfX3Bvd2VycGNfXworICBncnViX2llZWUxMjc1X2dldF9z ZWN1cmVfYm9vdCAoKTsKKyNlbmRpZgogfQogCiB2b2lkCmRpZmYgLS1naXQgYS9pbmNsdWRlL2dy dWIvbG9ja2Rvd24uaCBiL2luY2x1ZGUvZ3J1Yi9sb2NrZG93bi5oCmluZGV4IDQwNTMxZmE4Mi4u ZWJmZWU0YmYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2dydWIvbG9ja2Rvd24uaAorKysgYi9pbmNs dWRlL2dydWIvbG9ja2Rvd24uaApAQCAtMjQsNyArMjQsOCBAQAogI2RlZmluZSBHUlVCX0xPQ0tE T1dOX0RJU0FCTEVEICAgICAgIDAKICNkZWZpbmUgR1JVQl9MT0NLRE9XTl9FTkFCTEVEICAgICAg ICAxCiAKLSNpZmRlZiBHUlVCX01BQ0hJTkVfRUZJCisjaWYgZGVmaW5lZChHUlVCX01BQ0hJTkVf RUZJKSB8fCBcCisgICAgKGRlZmluZWQoX19wb3dlcnBjX18pICYmIGRlZmluZWQoR1JVQl9NQUNI SU5FX0lFRUUxMjc1KSkKIGV4dGVybiB2b2lkCiBFWFBPUlRfRlVOQyAoZ3J1Yl9sb2NrZG93bikg KHZvaWQpOwogZXh0ZXJuIGludAotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1KQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGlu ZyBsaXN0CkdydWItZGV2ZWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9s aXN0aW5mby9ncnViLWRldmVsCg==