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 53407CCA468 for ; Tue, 30 Sep 2025 11:51:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v3Yof-0000vH-4q; Tue, 30 Sep 2025 07:46:45 -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 1v3YoI-0000oN-RF for grub-devel@gnu.org; Tue, 30 Sep 2025 07:46:22 -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 1v3YoC-00069T-5T for grub-devel@gnu.org; Tue, 30 Sep 2025 07:46:22 -0400 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58U4Q8FG030520; Tue, 30 Sep 2025 11:46:13 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=zSy+uV8m34htvJdLw uoT8sA2B/5uVu3K6Pl2zlJDO04=; b=JM1e6lAlQcHhlYAABg9idYaP6EMkIwljT yKkFoCxGPk9SFlP08cusWcuvVD5dFZl9Km3h7WSukEqLQHWBNiahi08om4GsxQag YMvJmgZYKTipgUk6nNInTttGg274vrxKngqLaq8QFaYa2ltdnoMPxukLWUdpsDSL Q4qpibGdjdPen4HrVsD4u965fXeLnY3O44m14izgXEzWIvtJp6a1MORmkqbtZ3Wv 2nGLcNo+JbWIpigWhud0EAzzyNo17s5x3LVmWvWlpwVuY6OreDFkpXxUAuHJq9Pr FGv6wWV68f3mviBzGONGT+RTEU9BAohXwklufB+QDxoo530YFYTWQ== Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 49e5bqrc2b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Sep 2025 11:46:12 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 58U8BRKo020095; Tue, 30 Sep 2025 11:46:12 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 49et8s3apx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Sep 2025 11:46:11 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 58UBk8Ji51773924 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Sep 2025 11:46:08 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 30A202004B; Tue, 30 Sep 2025 11:46:08 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7069A20043; Tue, 30 Sep 2025 11:46:05 +0000 (GMT) Received: from localhost.localdomain (unknown [9.39.16.143]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Sep 2025 11:46:05 +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 v13 09/20] powerpc_ieee1275: Enter lockdown based on /ibm, secure-boot Date: Tue, 30 Sep 2025 17:10:03 +0530 Message-ID: <20250930114018.78215-10-sudhakar@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250930114018.78215-1-sudhakar@linux.ibm.com> References: <20250930114018.78215-1-sudhakar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI2MDIxNCBTYWx0ZWRfX3VSnu6AuuemL v/mdFDbykLoDc/GMwN36WsWu6R7RpQ3shwRok5Y2qWIk3VWs0vYiJUWXDbZDDQSCxLjfEgNsy0m S+R/DjJbiPvMvus4fLm7riAFSylKkykPoGcENs3MRge+bYdrkkOtM2M2vbge/8JqiS4iRSgy23p sR23a7oJpd6zLdzpxEwoZcy0Yt6BnIamGE0p5n7W/kz+++UuC1jLRfhsBfthn7baRhD166tmeWw 4Mp5tXqE8w2D4+ZQpmz7sNNEkr1xqOPfEObcIXsCGyRHSdmcdrBXgbZ3eItYdj1Vt9oWI3SJ0cH YZj8+ngsctI3yeG6eDFbitVpOsLtLi8jA+4M6v8LlQvAaiZlxu+muuTctp0eEPrRwAytj1F8i3I xcsWrlEHBsfTuME/eGyFNWhNm1lA3Q== X-Proofpoint-GUID: Tn8TYxG8QEkjvqL4aH74JgPR68Oyu7Yq X-Authority-Analysis: v=2.4 cv=LLZrgZW9 c=1 sm=1 tr=0 ts=68dbc304 cx=c_pps a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17 a=yJojWOMRYYMA:10 a=JuTF4qcAAAAA:8 a=VnNF1IyMAAAA:8 a=yPCof4ZbAAAA:8 a=BlRlUMKLR4rfvJ7WqM8A:9 a=WlT8qwTXB_Kj6um4hl3b:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-ORIG-GUID: Tn8TYxG8QEkjvqL4aH74JgPR68Oyu7Yq 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-30_02,2025-09-29_04,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 bulkscore=0 malwarescore=0 suspectscore=0 clxscore=1015 priorityscore=1501 phishscore=0 lowpriorityscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509260214 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.001, RCVD_IN_MSPIKE_WL=0.001, 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 IGlmIHRoZSBzZWN1cmUgYm9vdAptb2RlIGlzIHNldCB0byAyIChlbmZvcmNlKSwgZW50ZXIgbG9j a2Rvd24uIEVsc2UgaXQgaXMgY29uc2lkZXJlZCBhcyBkaXNhYmxlZC4KVGhlcmUgYXJlIHRocmVl IHNlY3VyZSBib290IG1vZGVzLiBUaGV5IGFyZQoKMCAtIGRpc2FibGVkCiAgICAgTm8gc2lnbmF0 dXJlIHZlcmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIGRlZmF1bHQuCjEgLSBh dWRpdAogICAgIFNpZ25hdHVyZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGFuZCBpZiBzaWdu YXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxzLAogICAgIHBvc3QgdGhlIGVycm9ycyBhbmQgYWxsb3cg dGhlIGJvb3QgdG8gY29udGludWUuCjIgLSBlbmZvcmNlCiAgICAgTG9ja2Rvd24gdGhlIEdSVUIu IFNpZ25hdHVyZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGFuZCBJZiBzaWduYXR1cmUKICAg ICB2ZXJpZmljYXRpb24gZmFpbHMsIHBvc3QgdGhlIGVycm9ycyBhbmQgc3RvcCB0aGUgYm9vdC4K 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 IGIvZ3J1Yi1jb3JlL2tlcm4vaWVlZTEyNzUvaW5pdC5jCmluZGV4IGE1NTg2Zjg1Yi4uYTgxYTM2 ZjU3IDEwMDY0NAotLS0gYS9ncnViLWNvcmUva2Vybi9pZWVlMTI3NS9pbml0LmMKKysrIGIvZ3J1 Yi1jb3JlL2tlcm4vaWVlZTEyNzUvaW5pdC5jCkBAIC00OSw2ICs0OSwxNCBAQAogI2lmIGRlZmlu ZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19pMzg2X18pCiAjaW5jbHVkZSA8Z3J1Yi9pZWVl MTI3NS9hbGxvYy5oPgogI2VuZGlmCisjaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKyNpbmNsdWRl IDxncnViL2xvY2tkb3duLmg+CisjZW5kaWYKKworI2lmZGVmIF9fcG93ZXJwY19fCisjZGVmaW5l IEdSVUJfU0JfRElTQUJMRUQgICAgICAgICgoZ3J1Yl91aW50MzJfdCkgMCkKKyNkZWZpbmUgR1JV Ql9TQl9FTkZPUkNFICAgICAgICAgKChncnViX3VpbnQzMl90KSAyKQorI2VuZGlmCiAKIC8qIFRo ZSBtYXhpbXVtIGhlYXAgc2l6ZSB3ZSdyZSBnb2luZyB0byBjbGFpbSBhdCBib290LiBOb3QgdXNl ZCBieSBzcGFyYy4gKi8KICNpZmRlZiBfX2kzODZfXwpAQCAtOTk0LDcgKzEwMDIsNDkgQEAgZ3J1 Yl9wYXJzZV9jbWRsaW5lICh2b2lkKQogCX0KICAgICB9CiB9CisjaWZkZWYgX19wb3dlcnBjX18K K3N0YXRpYyB2b2lkCitncnViX2llZWUxMjc1X2dldF9zZWN1cmVfYm9vdCAodm9pZCkKK3sKKyAg Z3J1Yl9pZWVlMTI3NV9waGFuZGxlX3Qgcm9vdDsKKyAgZ3J1Yl91aW50MzJfdCBzYl9tb2RlID0g R1JVQl9TQl9ESVNBQkxFRDsKKyAgZ3J1Yl9pbnQzMl90IHJjOworCisgIHJjID0gZ3J1Yl9pZWVl MTI3NV9maW5kZGV2aWNlICgiLyIsICZyb290KTsKKyAgaWYgKHJjICE9IDApCisgICAgeworICAg ICAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfVU5LTk9XTl9ERVZJQ0UsICJjb3VsZG4ndCBmaW5kIC8g bm9kZSIpOworICAgICAgcmV0dXJuOworICAgIH0KIAorICByYyA9IGdydWJfaWVlZTEyNzVfZ2V0 X2ludGVnZXJfcHJvcGVydHkgKHJvb3QsICJpYm0sc2VjdXJlLWJvb3QiLCAmc2JfbW9kZSwgc2l6 ZW9mIChzYl9tb2RlKSwgMCk7CisgIGlmIChyYyAhPSAwKQorICAgIHsKKyAgICAgIGdydWJfZXJy b3IgKEdSVUJfRVJSX1VOS05PV05fREVWSUNFLCAiY291bGRuJ3QgZXhhbWluZSAvaWJtLHNlY3Vy ZS1ib290IHByb3BlcnR5Iik7CisgICAgICByZXR1cm47CisgICAgfQorICAvKgorICAgKiBTZWN1 cmUgQm9vdCBNb2RlOgorICAgKiAwIC0gZGlzYWJsZWQKKyAgICogICAgICBObyBzaWduYXR1cmUg dmVyaWZpY2F0aW9uIGlzIHBlcmZvcm1lZC4gVGhpcyBpcyB0aGUgZGVmYXVsdC4KKyAgICogMSAt IGF1ZGl0CisgICAqICAgICAgU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQgYW5k IGlmIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24KKyAgICogICAgICBmYWlscywgcG9zdCB0aGUgZXJy b3JzIGFuZCBhbGxvdyB0aGUgYm9vdCB0byBjb250aW51ZS4KKyAgICogMiAtIGVuZm9yY2UKKyAg ICogICAgICBMb2NrZG93biB0aGUgR1JVQi4gU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBpcyBwZXJm b3JtZWQgYW5kIElmCisgICAqICAgICAgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlscywgcG9z dCB0aGUgZXJyb3JzIGFuZCBzdG9wIHRoZSBib290LgorICAgKgorICAgKiBOb3csIG9ubHkgc3Vw cG9ydCBkaXNhYmxlZCBhbmQgZW5mb3JjZS4KKyAgICovCisgIGlmIChzYl9tb2RlID09IEdSVUJf U0JfRU5GT1JDRSkKKyAgICB7CisgICAgICBncnViX2RwcmludGYgKCJpZWVlMTI3NSIsICJTZWN1 cmUgQm9vdCBFbmFibGVkXG4iKTsKKyAgICAgIGdydWJfbG9ja2Rvd24gKCk7CisgICAgfQorICBl bHNlCisgICAgZ3J1Yl9kcHJpbnRmICgiaWVlZTEyNzUiLCAiU2VjdXJlIEJvb3QgRGlzYWJsZWRc biIpOworfQorI2VuZGlmIC8qIF9fcG93ZXJwY19fICovCiBncnViX2FkZHJfdCBncnViX21vZGJh c2U7CiAKIHZvaWQKQEAgLTEwMjAsNiArMTA3MCwxMCBAQCBncnViX21hY2hpbmVfaW5pdCAodm9p ZCkKICNlbHNlCiAgIGdydWJfaW5zdGFsbF9nZXRfdGltZV9tcyAoZ3J1Yl9ydGNfZ2V0X3RpbWVf bXMpOwogI2VuZGlmCisKKyNpZmRlZiBfX3Bvd2VycGNfXworICBncnViX2llZWUxMjc1X2dldF9z ZWN1cmVfYm9vdCAoKTsKKyNlbmRpZgogfQogCiB2b2lkCmRpZmYgLS1naXQgYS9pbmNsdWRlL2dy dWIvbG9ja2Rvd24uaCBiL2luY2x1ZGUvZ3J1Yi9sb2NrZG93bi5oCmluZGV4IDQwNTMxZmE4Mi4u ZWJmZWU0YmYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2dydWIvbG9ja2Rvd24uaAorKysgYi9pbmNs dWRlL2dydWIvbG9ja2Rvd24uaApAQCAtMjQsNyArMjQsOCBAQAogI2RlZmluZSBHUlVCX0xPQ0tE T1dOX0RJU0FCTEVEICAgICAgIDAKICNkZWZpbmUgR1JVQl9MT0NLRE9XTl9FTkFCTEVEICAgICAg ICAxCiAKLSNpZmRlZiBHUlVCX01BQ0hJTkVfRUZJCisjaWYgZGVmaW5lZChHUlVCX01BQ0hJTkVf RUZJKSB8fCBcCisgICAgKGRlZmluZWQoX19wb3dlcnBjX18pICYmIGRlZmluZWQoR1JVQl9NQUNI SU5FX0lFRUUxMjc1KSkKIGV4dGVybiB2b2lkCiBFWFBPUlRfRlVOQyAoZ3J1Yl9sb2NrZG93bikg KHZvaWQpOwogZXh0ZXJuIGludAotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1KQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGlu ZyBsaXN0CkdydWItZGV2ZWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9s aXN0aW5mby9ncnViLWRldmVsCg==