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 E1BFACA0FED for ; Tue, 9 Sep 2025 11:49:28 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uvwqV-0000Wy-Gc; Tue, 09 Sep 2025 07:49:11 -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 1uvwpU-0007WX-BC for grub-devel@gnu.org; Tue, 09 Sep 2025 07:48:11 -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 1uvwpI-0000tr-KP for grub-devel@gnu.org; Tue, 09 Sep 2025 07:48:07 -0400 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5897tfBw009812; Tue, 9 Sep 2025 11:47:50 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=C6xzNRGi/VJCY/i0S 1ikqYAKsAxKY9olI4Q5QJAnJSY=; b=UtCP7mTANFgDvXC5hPTfFvFS9xtZmDlm/ A5ZaFVaIz9mwl+oN+lazswXFaFQ4lAlSiOeRLSwp21Ao60lYKGRSYit15SmSS91g C0YqIxXKQ15TDU9Z41jx+k96TneZbz9g79GtVUkEV5KTxqc2zcQBiKjMPRqdqCud HesquD4t+hJd4N7ukhFIHhlvIexwMO9Bs9d0EcSgsdEZ0wu2KJC4FXUB8j+r9wcL SyJvkOUq77ZMwM4orlkMi7sXzRNfn5N4R10Ib9EokY2xj3jdPMENE0t/xY2jvLrY BlzSYGCHuaEdWqvK0h3RhupMGjB/jQm/erp4Ofrk/jeUwtd7SXrvw== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 490ukecmn2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 09 Sep 2025 11:47:50 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5899fbtt007950; Tue, 9 Sep 2025 11:47:49 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 49109pjx9m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 09 Sep 2025 11:47:49 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 589BljdP15008140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 9 Sep 2025 11:47:45 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 84E4F20043; Tue, 9 Sep 2025 11:47:45 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3FDE320040; Tue, 9 Sep 2025 11:47:40 +0000 (GMT) Received: from localhost.localdomain (unknown [9.39.16.56]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 9 Sep 2025 11:47:39 +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 v10 14/22] appended signatures: Using db and dbx lists for signature verification Date: Tue, 9 Sep 2025 17:15:22 +0530 Message-Id: <20250909114530.36863-15-sudhakar@linux.ibm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250909114530.36863-1-sudhakar@linux.ibm.com> References: <20250909114530.36863-1-sudhakar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDE5NSBTYWx0ZWRfX1B917OKuctn+ V/SxDphn43tLYCC3OzbohxgF1ny1O0/WNchOK4tM77G3h0Q5IC4DQYMfwO5BPCezFYNbQa9hlfB qyFF7AjRs1ZEUFuvMrz28ZHT1m1pquASUdr4IuD6t7bltq6Kbq0/5Fylt5erZcxivFQ0utpDxWJ QjPEdhoorqPMG2X7cxATYqhd7rRkzN8g9t/j8bZ0wbSrwSGyLNcYg19MxwUH4Npv+q5VNAZrK7z 9X8QQsbCuw2r6h28GPhkWM+JULZElDLbEBOpGVHJG5aZSetZBlbdKPyz/Ws3N/LypM6QR3XdEv+ ZExGIAMBF+SF3XLSm3OvJFsl3pF1QGLIaGP/+da/wmdU4Xn8TCKCu/zsi/ThyxFL5rmsu8BGX2V r4f/4Eko X-Proofpoint-ORIG-GUID: 4jCx8rcvXzJgVwGNm4f9zjgnTX9waPfh X-Proofpoint-GUID: 4jCx8rcvXzJgVwGNm4f9zjgnTX9waPfh X-Authority-Analysis: v=2.4 cv=StCQ6OO0 c=1 sm=1 tr=0 ts=68c013e6 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=yJojWOMRYYMA:10 a=VnNF1IyMAAAA:8 a=yPCof4ZbAAAA:8 a=BlRlUMKLR4rfvJ7WqM8A:9 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-09_01,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 bulkscore=0 clxscore=1015 adultscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060195 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_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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 U2lnbmF0dXJlIHZlcmlmaWNhdGlvbjogdmVyaWZ5IHRoZSBrZXJuZWwgYWdhaW5zdCBsaXN0cyBv ZiBoYXNoZXMKdGhhdCBhcmUgZWl0aGVyIGluIGRieCBvciBkYiBsaXN0LiBJZiBpdCBpcyBub3Qg aW4gdGhlIGRieCBsaXN0CnRoZW4gdGhlIHRydXN0ZWQga2V5cyBmcm9tIHRoZSBkYiBsaXN0IGFy ZSB1c2VkIHRvIHZlcmlmeSB0aGUgc2lnbmF0dXJlLgoKU2lnbmVkLW9mZi1ieTogU3VkaGFrYXIg S3VwcHVzYW15IDxzdWRoYWthckBsaW51eC5pYm0uY29tPgpSZXZpZXdlZC1ieTogU3RlZmFuIEJl cmdlciA8c3RlZmFuYkBsaW51eC5pYm0uY29tPgpSZXZpZXdlZC1ieTogQXZuaXNoIENob3VoYW4g PGF2bmlzaEBsaW51eC5pYm0uY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIEtpcGVyIDxkYW5pZWwu a2lwZXJAb3JhY2xlLmNvbT4KLS0tCiBncnViLWNvcmUvY29tbWFuZHMvYXBwZW5kZWRzaWcvYXBw ZW5kZWRzaWcuYyB8IDk0ICsrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgOTMg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9jb21t YW5kcy9hcHBlbmRlZHNpZy9hcHBlbmRlZHNpZy5jIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL2FwcGVu ZGVkc2lnL2FwcGVuZGVkc2lnLmMKaW5kZXggYWQ2YzU4YTc3Li4yNjhlODA3NjMgMTAwNjQ0Ci0t LSBhL2dydWItY29yZS9jb21tYW5kcy9hcHBlbmRlZHNpZy9hcHBlbmRlZHNpZy5jCisrKyBiL2dy dWItY29yZS9jb21tYW5kcy9hcHBlbmRlZHNpZy9hcHBlbmRlZHNpZy5jCkBAIC01MjIsNiArNTIy LDgzIEBAIGV4dHJhY3RfYXBwZW5kZWRfc2lnbmF0dXJlIChjb25zdCBncnViX3VpbnQ4X3QgKmJ1 ZiwgZ3J1Yl9zaXplX3QgYnVmc2l6ZSwKICAgcmV0dXJuIGdydWJfcGtjczdfZGF0YV9wYXJzZSAo c2lnbmVkX2RhdGEsIGFwcGVuZGVkc2lnX3BrY3M3X3NpemUsICZzaWctPnBrY3M3KTsKIH0KIAor c3RhdGljIGdydWJfZXJyX3QKK2dldF9iaW5hcnlfaGFzaCAoY29uc3QgZ3J1Yl9zaXplX3QgYmlu YXJ5X2hhc2hfc2l6ZSwgY29uc3QgZ3J1Yl91aW50OF90ICpkYXRhLAorICAgICAgICAgICAgICAg ICBjb25zdCBncnViX3NpemVfdCBkYXRhX3NpemUsIGdydWJfdWludDhfdCAqaGFzaCwgZ3J1Yl9z aXplX3QgKmhhc2hfc2l6ZSkKK3sKKyAgZ3J1Yl9wYWNrZWRfZ3VpZF90IGd1aWQgPSB7IDAgfTsK KworICAvKiBzdXBwb3J0IFNIQTI1NiwgU0hBMzg0IGFuZCBTSEE1MTIgZm9yIGJpbmFyeSBoYXNo ICovCisgIGlmIChiaW5hcnlfaGFzaF9zaXplID09IFNIQTI1Nl9IQVNIX0xFTikKKyAgICBncnVi X21lbWNweSAoJmd1aWQsICZHUlVCX1BLU19DRVJUX1NIQTI1Nl9HVUlELCBHUlVCX1BBQ0tFRF9H VUlEX1NJWkUpOworICBlbHNlIGlmIChiaW5hcnlfaGFzaF9zaXplID09IFNIQTM4NF9IQVNIX0xF TikKKyAgICBncnViX21lbWNweSAoJmd1aWQsICZHUlVCX1BLU19DRVJUX1NIQTM4NF9HVUlELCBH UlVCX1BBQ0tFRF9HVUlEX1NJWkUpOworICBlbHNlIGlmIChiaW5hcnlfaGFzaF9zaXplID09IFNI QTUxMl9IQVNIX0xFTikKKyAgICBncnViX21lbWNweSAoJmd1aWQsICZHUlVCX1BLU19DRVJUX1NI QTUxMl9HVUlELCBHUlVCX1BBQ0tFRF9HVUlEX1NJWkUpOworICBlbHNlCisgICAgeworICAgICAg Z3J1Yl9kcHJpbnRmICgiYXBwZW5kZWRzaWciLCAidW5zdXBwb3J0ZWQgaGFzaCB0eXBlICglIiBQ Ukl1R1JVQl9TSVpFICIpIGFuZCAiCisgICAgICAgICAgICAgICAgICAgICJza2lwcGVkXG4iLCBi aW5hcnlfaGFzaF9zaXplKTsKKyAgICAgIHJldHVybiBHUlVCX0VSUl9VTktOT1dOX0NPTU1BTkQ7 CisgICAgfQorCisgIHJldHVybiBnZXRfaGFzaCAoJmd1aWQsIGRhdGEsIGRhdGFfc2l6ZSwgaGFz aCwgaGFzaF9zaXplKTsKK30KKworLyoKKyAqIFZlcmlmeSBiaW5hcnkgaGFzaCBhZ2FpbnN0IHRo ZSBkYiBhbmQgZGJ4IGxpc3QuCisgKiBUaGUgZm9sbG93aW5nIGVycm9ycyBjYW4gb2NjdXI6Cisg KiAgLSBHUlVCX0VSUl9CQURfU0lHTkFUVVJFOiBpbmRpY2F0ZXMgdGhhdCB0aGUgaGFzaCBpcyBp biBkYnggbGlzdC4KKyAqICAtIEdSVUJfRVJSX0VPRjogdGhlIGhhc2ggY291bGQgbm90IGJlIGZv dW5kIGluIHRoZSBkYiBhbmQgZGJ4IGxpc3QuCisgKiAgLSBHUlVCX0VSUl9OT05FOiB0aGUgaGFz aCBpcyBmb3VuZCBpbiBkYiBsaXN0LgorICovCitzdGF0aWMgZ3J1Yl9lcnJfdAordmVyaWZ5X2Jp bmFyeV9oYXNoIChjb25zdCBncnViX3VpbnQ4X3QgKmRhdGEsIGNvbnN0IGdydWJfc2l6ZV90IGRh dGFfc2l6ZSkKK3sKKyAgZ3J1Yl9lcnJfdCByYyA9IEdSVUJfRVJSX05PTkU7CisgIGdydWJfdWlu dDMyX3QgaTsKKyAgZ3J1Yl9zaXplX3QgaGFzaF9zaXplID0gMDsKKyAgZ3J1Yl91aW50OF90IGhh c2hbR1JVQl9NQVhfSEFTSF9MRU5dID0geyAwIH07CisKKyAgZm9yIChpID0gMDsgaSA8IGRieC5o YXNoX2VudHJpZXM7IGkrKykKKyAgICB7CisgICAgICBpZiAoZGJ4Lmhhc2hlc1tpXSA9PSBOVUxM KQorICAgICAgICBjb250aW51ZTsKKworICAgICAgcmMgPSBnZXRfYmluYXJ5X2hhc2ggKGRieC5o YXNoX3NpemVzW2ldLCBkYXRhLCBkYXRhX3NpemUsIGhhc2gsICZoYXNoX3NpemUpOworICAgICAg aWYgKHJjICE9IEdSVUJfRVJSX05PTkUpCisgICAgICAgIGNvbnRpbnVlOworCisgICAgICBpZiAo aGFzaF9zaXplID09IGRieC5oYXNoX3NpemVzW2ldICYmCisgICAgICAgICAgZ3J1Yl9tZW1jbXAg KGRieC5oYXNoZXNbaV0sIGhhc2gsIGhhc2hfc2l6ZSkgPT0gMCkKKyAgICAgICAgeworICAgICAg ICAgIGdydWJfZHByaW50ZiAoImFwcGVuZGVkc2lnIiwgInRoZSBoYXNoICglMDJ4JTAyeCUwMngl MDJ4KSBpcyBwcmVzZW50IGluIHRoZSBkYnggbGlzdFxuIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgIGhhc2hbMF0sIGhhc2hbMV0sIGhhc2hbMl0sIGhhc2hbM10pOworICAgICAgICAgIHJldHVy biBHUlVCX0VSUl9CQURfU0lHTkFUVVJFOworICAgICAgICB9CisgICAgfQorCisgIGZvciAoaSA9 IDA7IGkgPCBkYi5oYXNoX2VudHJpZXM7IGkrKykKKyAgICB7CisgICAgICBpZiAoZGIuaGFzaGVz W2ldID09IE5VTEwpCisgICAgICAgIGNvbnRpbnVlOworCisgICAgICByYyA9IGdldF9iaW5hcnlf aGFzaCAoZGIuaGFzaF9zaXplc1tpXSwgZGF0YSwgZGF0YV9zaXplLCBoYXNoLCAmaGFzaF9zaXpl KTsKKyAgICAgIGlmIChyYyAhPSBHUlVCX0VSUl9OT05FKQorICAgICAgICBjb250aW51ZTsKKwor ICAgICAgaWYgKGhhc2hfc2l6ZSA9PSBkYi5oYXNoX3NpemVzW2ldICYmCisgICAgICAgICAgZ3J1 Yl9tZW1jbXAgKGRiLmhhc2hlc1tpXSwgaGFzaCwgaGFzaF9zaXplKSA9PSAwKQorICAgICAgICB7 CisgICAgICAgICAgZ3J1Yl9kcHJpbnRmICgiYXBwZW5kZWRzaWciLCAidmVyaWZpZWQgd2l0aCBh IHRydXN0ZWQgaGFzaCAoJTAyeCUwMnglMDJ4JTAyeClcbiIsCisgICAgICAgICAgICAgICAgICAg ICAgICBoYXNoWzBdLCBoYXNoWzFdLCBoYXNoWzJdLCBoYXNoWzNdKTsKKyAgICAgICAgICByZXR1 cm4gR1JVQl9FUlJfTk9ORTsKKyAgICAgICAgfQorICAgIH0KKworICByZXR1cm4gR1JVQl9FUlJf RU9GOworfQorCiAvKgogICogR2l2ZW4gYSBoYXNoIHZhbHVlICdodmFsJywgb2YgaGFzaCBzcGVj aWZpY2F0aW9uICdoYXNoJywgcHJlcGFyZQogICogdGhlIFMtZXhwcmVzc2lvbnMgKHNleHApIGFu ZCBwZXJmb3JtIHRoZSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uLgpAQCAtNTY2LDcgKzY0Myw3IEBA IGdydWJfdmVyaWZ5X2FwcGVuZGVkX3NpZ25hdHVyZSAoY29uc3QgZ3J1Yl91aW50OF90ICpidWYs IGdydWJfc2l6ZV90IGJ1ZnNpemUpCiAgIGdydWJfcGtjczdfc2lnbmVyX3QgKnNpOwogICBncnVi X3VpbnQzMl90IGk7CiAKLSAgaWYgKCFkYi5jZXJ0X2VudHJpZXMpCisgIGlmICghZGIuY2VydF9l bnRyaWVzICYmICFkYi5oYXNoX2VudHJpZXMpCiAgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJf RVJSX0JBRF9TSUdOQVRVUkUsICJubyB0cnVzdGVkIGtleXMgdG8gdmVyaWZ5IGFnYWluc3QiKTsK IAogICBlcnIgPSBleHRyYWN0X2FwcGVuZGVkX3NpZ25hdHVyZSAoYnVmLCBidWZzaXplLCAmc2ln KTsKQEAgLTU3NSw2ICs2NTIsMjEgQEAgZ3J1Yl92ZXJpZnlfYXBwZW5kZWRfc2lnbmF0dXJlIChj b25zdCBncnViX3VpbnQ4X3QgKmJ1ZiwgZ3J1Yl9zaXplX3QgYnVmc2l6ZSkKIAogICBkYXRhc2l6 ZSA9IGJ1ZnNpemUgLSBzaWcuc2lnbmF0dXJlX2xlbjsKIAorICAvKgorICAgKiBJZiBzaWduYXR1 cmUgdmVyaWZpY2F0aW9uIGlzIGVuYWJsZWQgd2l0aCBkeW5hbWljIGtleSBtYW5hZ2VtZW50IG1v ZGUsCisgICAqIFZlcmlmeSBiaW5hcnkgaGFzaCBhZ2FpbnN0IHRoZSBkYiBhbmQgZGJ4IGxpc3Qu CisgICAqLworICBpZiAoYXBwZW5kX2tleV9tZ210ID09IHRydWUpCisgICAgeworICAgICAgZXJy ID0gdmVyaWZ5X2JpbmFyeV9oYXNoIChidWYsIGRhdGFzaXplKTsKKyAgICAgIGlmIChlcnIgPT0g R1JVQl9FUlJfQkFEX1NJR05BVFVSRSkKKyAgICAgICAgeworICAgICAgICAgIGdydWJfcGtjczdf ZGF0YV9yZWxlYXNlICgmc2lnLnBrY3M3KTsKKyAgICAgICAgICByZXR1cm4gZ3J1Yl9lcnJvciAo ZXJyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIHZlcmlmeSB0aGUg YmluYXJ5IGhhc2ggYWdhaW5zdCBhIHRydXN0ZWQgYmluYXJ5IGhhc2giKTsKKyAgICAgICAgfQor ICAgIH0KKwogICAvKiBWZXJpZnkgc2lnbmF0dXJlIHVzaW5nIHRydXN0ZWQga2V5cyBmcm9tIGRi IGxpc3QuICovCiAgIGZvciAoaSA9IDA7IGkgPCBzaWcucGtjczcuc2lnbmVyX2NvdW50OyBpKysp CiAgICAgewotLSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWIt ZGV2ZWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnVi LWRldmVsCg==