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 D43C6CA0EE6 for ; Tue, 19 Aug 2025 13:14:06 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uoM9r-0005EQ-Vu; Tue, 19 Aug 2025 09:13:48 -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 1uoM9m-0005E8-Nb for grub-devel@gnu.org; Tue, 19 Aug 2025 09:13:42 -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 1uoM9i-0007TD-TP for grub-devel@gnu.org; Tue, 19 Aug 2025 09:13:42 -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 57JACNK1007701; Tue, 19 Aug 2025 13:13:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=pp1; bh=XmqaoYrSjoUdM3sahcxiu9fvISol2O2JOsjzlqxU8 J8=; b=Tb+c+CKZPDJnUotBMtZTVEHGv6I0lozQXkCCdsDhKw9iOp6H5Crx2C4be 4qsXk+j1B8fTgzm3RkX18k437zG2K5fcmxQL1he8LAQPhXNDbl1GX295OBlfUalj eSGmK4huy2qws8LoJW6WlwqYUPo/0SfCYXhOQYdx07d8vGsrlaGWneMRZykR7SI9 WiCEhrhA9u6aNQw9T7XT6QO7+iJK1Ou7PNdJ0POG/MA9mfp3/kM+8NCU3RtoFBGB KA7eZo1UZWW4xgxO/VhUDPlWo8MKHEp0S0f/owAnwAFN2McdUfHrs166JkLweWDA bZr58jm27e5gxcJGEGZd65M72h/HQ== Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhn3xj5s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Aug 2025 13:13:33 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57JBRlDm002336; Tue, 19 Aug 2025 13:13:32 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 48k71322gq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Aug 2025 13:13:32 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57JDDSE149349104 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Aug 2025 13:13:28 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 794D820040; Tue, 19 Aug 2025 13:13:28 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1409620043; Tue, 19 Aug 2025 13:13:26 +0000 (GMT) Received: from localhost.localdomain (unknown [9.124.211.37]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 19 Aug 2025 13:13:25 +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 Subject: [PATCH v7 00/20] Appended Signature Secure Boot Support for PowerPC Date: Tue, 19 Aug 2025 18:43:03 +0530 Message-Id: <20250819131323.57631-1-sudhakar@linux.ibm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: JFpRV8th-0VCGj29SuNAx7EYxg3AKIFP X-Authority-Analysis: v=2.4 cv=L6wdQ/T8 c=1 sm=1 tr=0 ts=68a4787d cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=2OwXVqhp2XgA:10 a=mDV3o1hIAAAA:8 a=NEAV23lmAAAA:8 a=VnNF1IyMAAAA:8 a=gf6lEq4l1kiup9Wr3TMA:9 a=dRFLaKhgpS8A:10 X-Proofpoint-GUID: JFpRV8th-0VCGj29SuNAx7EYxg3AKIFP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyNyBTYWx0ZWRfXwVJfXu0rGGDy iGNVoZAvc1lERjHclyfIW0GltSWecHfHduf/qbS3+FH6hwkbAA/TpesjmlsTsCUIVBbciVAg6uQ 3iCD5w6cXcBk9VdnXkTSTPvDGOyifu1WLY9a6TBPSyRuu1H/COYYuxSDVAVaUqkGHzQrgtWaqzn 9vQgVuQnVjLaHIjZg7RkVZw1TsbXEn7v2QMRe2djN2hMWVhz5EFL6lorv/nyWfGh30tELgIlTbO HwKfTtiXy1rjCzsCYS27bVixdhcYfQzV3dqYef0ZZbkf2shCLZkP3SC27XOVnpq+BxLMZa8DNLV LFdysCdZkHZXl1S2vA1Hkd+Cc2oDYqZ2QhgJW6FNokucRT0h6Z8OP9WO8Fp8ESXbni6rw0Aicyc 7mhyXRKq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-19_02,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160027 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 VGhpcyBwYXRjaCBzZXQgY29udGFpbnMgdjcgdGhlIGNvbnNvbGlkYXRlZCB2ZXJzaW9uIG9mIHRo ZSBwYXRjaApzZXRzIGZvciBzZWN1cmUgYm9vdCB1c2luZyBhcHBlbmRlZCBzaWduYXR1cmVzIG9u IHBvd2VycGMsCnJlYmFzZWQgb24gdG9wIG9mIGdpdCBIRUFELgoKVGhlIHY2IHNlcmllcyBpcyBh dApodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2dydWItZGV2ZWwvMjAyNS0wNy9t c2cwMDI1NS5odG1sCgpDaGFuZ2VzIHNpbmNlIHY2OgotIERhbmllbCBLaXBlciByZXZpZXcgY29t bWVudHMgYWRkcmVzc2VkOgogLSB2NyBwYXRjaCAxMDogY2hhbmdlZCB0aGUgZnVuY3Rpb24gbmFt ZSBpc19jZXJ0X3JlbW92ZWRfZnJvbV9kYiB0byByZW1vdmVfY2VydF9mcm9tX2RiCiAgICAgICAg ICAgICAgICBhbmQgaXRzIHJldHVybiB0eXBlIHRvIHZvaWQuIAogLSB2NyBwYXRjaCAxMTogdXNl ZCAiZ3J1Yl8iIHByZWZpeGVkIHR5cGUgZm9yIHJldHVybiB0eXBlCiAtIHY2IHBhdGNoIDEyOiBw b3B1bGF0ZWQgdGhlIHBhcnRpYWwgZGIgYW5kIGRieCBsaXN0LgogLSB2NiBwYXRjaCAxNTogY29y cmVjdGVkIGNvbW1pdCBtZXNzYWdlLiAKIC0gdjYgcGF0Y2ggMTY6IEdSVUJfRVJSX0VYSVNUUyBh bmQgR1JVQl9FUlJfQUNDRVNTX0RFTklFRCBlbnVtLgogICAgICAgICAgICAgICAgY29ycmVjdGVk IHRoZSBpbmRlbnRpb24gaXNzdWUuIGRyb3BlZCBjdXJseSBicmFjZXMgaW4gZm9yIGxvb3AuCiAt IHY2IHBhdGNoIDE5OiB1cGRhdGVkIHRoZSBleGFtcGxlIHNlbnRlbmNlIHdpdGggeW91cnMuCiAt IHY2IHBhdGNoIDIwOiBhZGRlZCBtb3JlIGRldGFpbGVkIGluZm8gb2YgYXBwZW5kZWQgc2lnbmF0 dXJlIGFuZCBHUlVCIGNvbW1hbmRzLgoKTGludXggb24gUG93ZXIgTFBBUiBzZWN1cmUgYm9vdCBl bnN1cmVzIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIExpbnV4IGJvb3QKc3RhY2suIFRoZSBoeXBlcnZp c29yIGFuZCBwYXJ0aXRpb24gZmlybXdhcmUgYXJlIHBhcnQgb2YgdGhlIGNvcmUgcm9vdCBvZgp0 cnVzdC4gVGhlIHBhcnRpdGlvbiBmaXJtd2FyZSB2ZXJpZmllcyB0aGUgc2lnbmF0dXJlIG9uIHRo ZSBHUlVCIGltYWdlCmJlZm9yZSBoYW5kaW5nIGNvbnRyb2wgdG8gR1JVQi4gU2ltaWxhcmx5LCBH UlVCIHZlcmlmaWVzIHRoZSBzaWduYXR1cmUgb24KdGhlIGtlcm5lbCBpbWFnZSBiZWZvcmUgYm9v dGluZyB0aGUgT1MuIFRoaXMgZW5zdXJlcyB0aGF0IGV2ZXJ5IGltYWdlCnJ1bm5pbmcgYXQgdGhl IGJvb3QgdGltZSBpcyB2ZXJpZmllZCBhbmQgdHJ1c3RlZC4gVUVGSSBwbGF0Zm9ybXMgcmVsaWVz Cm9uIFBFQ09GRiBiYXNlZCBzaWduYXR1cmUgc2NoZW1lLiBTaW5jZSBQb3dlciBpcyBub3QgYSBV RUZJIHBsYXRmb3JtLCBhbgphbHRlcm5hdGl2ZSBtZWNoYW5pc20gaXMgbmVlZGVkLiBQb3dlciBh bHJlYWR5IHVzZXMgYXBwZW5kZWQgc2lnbmF0dXJlcwpvbiB0aGUgTGludXggS2VybmVsLCBhbmQg aXMgbm93IGV4dGVuZGVkIHRvIHNpZ24gdGhlIGdydWIgYXMgd2VsbC4KCkxpbnV4IG9uIFBvd2Vy IGFsc28gYWxsb3dzIG11bHRpcGxlIHNpZ25lcnMsIGFuZCBpZiBhbnkgb25lIG9mIHRoZQpzaWdu YXR1cmUgcGFzc2VzLCB0aGVuIHRoZSBpbWFnZSBwYXNzZXMgdGhlIHZhbGlkYXRpb24uIEFwcGVu ZGVkIHNpZ25hdHVyZQpzY2hlbWUgdXNlcyBDTVMgc3RydWN0dXJlIHRvIGNvbnRhaW4gc2lnbmF0 dXJlcy4gT24gUG93ZXIsIHRoZSBtdWx0aXBsZQpzaWduYXR1cmUgc3VwcG9ydCByZWxpZXMgb24g dGhlIG11bHRpcGxlIHNpZ25lcnMgZmVhdHVyZXMgYWxyZWFkeSBzdXBwb3J0ZWQKYnkgQ01TIHN0 YW5kYXJkcy4gSXQgZG9lcyByZXF1aXJlIHRoYXQgYWxsIHRoZSBzaWduZXJzIHNob3VsZCBzaWdu IGF0IHRoZQpzYW1lIHRpbWUgYW5kIGFyZSBub3QgYWxsb3dlZCB0byBhZGQgb3IgcmVtb3ZlIHRo ZSBzaWduYXR1cmVzIHJhbmRvbWx5LgoKQnkgZGVmYXVsdCwgTGludXggTFBBUiBzZWN1cmUgYm9v dCB1c2VzIHN0YXRpYyBrZXkgbWFuYWdlbWVudFsxXS4gVGhpcyBtZWFucwp0aGF0IGVhY2ggaW1h Z2UgZW1iZWRzIHRoZSBrZXlzIGl0IG5lZWRzIHRvIHZlcmlmeSB0aGUgaW1hZ2UgaXQgbG9hZHMu CkZvciBleGFtcGxlLCB0aGUga2V5cyB1c2VkIHRvIHZlcmlmeSB0aGUgR1JVQiBpbWFnZSBhcmUg YnVpbHQgaW50byB0aGUKZmlybXdhcmUgaW1hZ2UuIFNpbWlsYXJseSwgdGhlIGtleXMgdXNlZCBm b3IgdmVyaWZ5aW5nIHRoZSBrZXJuZWwgaW1hZ2UKYXJlIGJ1aWx0IGludG8gdGhlIEdSVUIgaW1h Z2UuIFRoZXNlIGFyZSBwcmUtZGVmaW5lZCBrZXlzIGFuZCB0aGV5IGNhbm5vdApiZSBtb2RpZmll ZCBhdCBydW50aW1lLiBUaGUgZHJhd2JhY2sgb2YgdGhpcyBhcHByb2FjaCBpcyB0aGF0IGtleSBy b3RhdGlvbnMKcmVzdWx0cyBpbiBib3RoIGZpcm13YXJlIGFuZCBPUyB1cGRhdGVzLiBUaGlzIGlz IHdoZXJlIGR5bmFtaWMga2V5Cm1hbmFnZW1lbnQgaXMgdXNlZnVsLgoKQW4gYWRtaW4gY2FuIHN3 aXRjaCBmcm9tIHN0YXRpYyBrZXlzIHRvIGR5bmFtaWMga2V5cyBieSBjb29yZGluYXRpbmcgd2l0 aApIYXJkd2FyZSBNYW5hZ2VtZW50IENvbnNvbGUoSE1DKSBhZG1pbiBhbmQgZW5hYmxpbmcgdGhl IHJlcXVpcmVkIGZsYWdzCmZvciB0aGUgZ2l2ZW4gTFBBUi4KClRoZSBkeW5hbWljIGtleSBtYW5h Z2VtZW50IHJlbGllcyBvbiB0aGUgUGxhdGZvcm0gS2V5U3RvcmUoUEtTKVsyXSBzdG9yYWdlCmFs bG9jYXRpb24gZm9yIGVhY2ggTFBBUiB3aXRoIGluZGl2aWR1YWxseSBtYW5hZ2VkIGFjY2VzcyBj b250cm9scyB0bwpzdG9yZSBzZW5zaXRpdmUgaW5mb3JtYXRpb24gc2VjdXJlbHkuIE9uY2Ugc3dp dGNoZWQgdG8gZHluYW1pYyBrZXlzLCBITUMKYWR2ZXJ0aXNlcyB0aGlzIGZsYWcgdG8gdGhlIFBv d2VyVk0sIHdoaWNoIHRoZW4gaW5pdGlhbGl6ZXMgdGhlIFBLUwp3aXRoIHRoZSBkZWZhdWx0IHNl Y3ZhcnMuIEl0IGFsc28gY3JlYXRlcyBhIHZhcmlhYmxlIFNCX1ZFUlNJT04gdGhhdApyZXByZXNl bnRzIHRoZSBzZWN1cmUgYm9vdCBrZXkgbWFuYWdlbWVudCBtb2RlLiBUaGUgZGVmYXVsdCBzZWN2 YXJzIGFyZQp1c2VkIGJ5IFBhcnRpdGlvbiBmaXJtd2FyZSwgZ3J1YiBhbmQgdGhlIGxpbnV4IGtl cm5lbCB0byByZWFkcyBrZXlzIGZvcgp2ZXJpZmljYXRpb24uIFRoZXNlIHNlY3ZhcnMgY2FuIGJl IG1hbmFnZWQgYnkgdXNlciBpbnRlcmZhY2UgZXhwb3NlZCB2aWEKbGludXgga2VybmVsLiBUaGUg bGludXgga2VybmVsIGFscmVhZHkgc3VwcG9ydHMgdGhpcyBpbnRlcmZhY2UgYW5kCml0IGlzIGF2 YWlsYWJsZSBpbiB0aGUgdXBzdHJlYW0ga2VybmVsLgoKVGhpcyBwYXRjaHNldCBhZGRzIHRoZSBh cHBlbmRlZCBzaWduYXR1cmUgc3VwcG9ydCBib3RoIGZvciBzaWduaW5nIGFuZAp2ZXJpZmljYXRp b24gYW5kIHRoZSBrZXkgbWFuYWdlbWVudCB0byB0aGUgZ3J1YiBjb21wb25lbnQuIFRoZSB3aG9s ZQpwYXRjaHNldCBjYW4gYmUgc3BsaXQgaW50byBmb2xsb3dpbmcgZm91ciBtYWluIHBhcnRzOgoK VGhlIHNlcmllcyBoYXMgZm9sbG93aW5nIGZvdXIgbWFpbiBwYXJ0czoKCjEuKSBTaWduIGdydWIu ZWxmIHdpdGggYW4gYXBwZW5kZWQgc2lnbmF0dXJlLiAoUGF0Y2hlcyAxLCAxOCwgMTkpCgpUaGVz ZSBwYXRjaGVzIHByb3ZpZGUgc29tZSBpbmZyYXN0cnVjdHVyZSBhbmQgZG9jdW1lbnRhdGlvbiBm b3IKc2lnbmluZyBncnViJ3MgY29yZS5lbGYgd2l0aCBhIExpbnV4LWtlcm5lbC1tb2R1bGUgc3R5 bGUgYXBwZW5kZWQKc2lnbmF0dXJlLgoKQW4gYXBwZW5kZWQgc2lnbmF0dXJlIGlzIGEgJ2R1bWIn IHNpZ25hdHVyZSBvdmVyIHRoZSBjb250ZW50cyBvZiBhCmZpbGUuIChJdCBpcyBkaXN0aW5jdCBm cm9tIHNjaGVtZXMgbGlrZSBBdXRoZW50aWNvZGUgdGhhdCBhcmUgYXdhcmUgb2YKdGhlIHN0cnVj dHVyZSBvZiB0aGUgZmlsZSBhbmQgb25seSBzaWduIGNlcnRhaW4gcGFydHMuKSBUaGUgc2lnbmF0 dXJlCmlzIHdyYXBwZWQgaW4gYSBQS0NTIzcgbWVzc2FnZSwgYW5kIGlzIGFwcGVuZGVkIHRvIHRo ZSBzaWduZWQgZmlsZQphbG9uZyB3aXRoIHNvbWUgbWV0YWRhdGEgYW5kIGEgbWFnaWMgc3RyaW5n LiBUaGUgc2lnbmF0dXJlcyBhcmUKdmFsaWRhdGVkIGFnYWluc3QgYSBwdWJsaWMga2V5IHdoaWNo IGlzIHVzdWFsbHkgcHJvdmlkZWQgYXMgYW4geDUwOQpjZXJ0aWZpY2F0ZS4KCkJlY2F1c2Ugc29t ZSBwbGF0Zm9ybXMsIHN1Y2ggYXMgcG93ZXJwYy1pZWVlMTI3NSwgbWF5IGxvYWQgZ3J1YiBmcm9t IGEKcmF3IGRpc2sgcGFydGl0aW9uIHJhdGhlciB0aGFuIGEgZmlsZXN5c3RlbSwgd2UgZXh0ZW5k IGdydWItaW5zdGFsbCB0bwphZGQgYW4gRUxGIG5vdGUgdGhhdCBhbGxvd3MgdXMgdG8gc3BlY2lm eSB0aGUgc2l6ZSBhbmQgbG9jYXRpb24gb2YgdGhlCnNpZ25hdHVyZS4KCjIuKSBFbmFibGUgbG9j a2Rvd24gaWYgc2VjdXJlIGJvb3QgaXMgZW5hYmxlZCAoUGF0Y2ggOSkKUmVhZCBzZWN1cmUgYm9v dCBtb2RlIGZyb20gJ2libSxzZWN1cmUtYm9vdCcgcHJvcGVydHkgYW5kCklmIHRoZSAnaWJtLHNl Y3VyZS1ib290JyBwcm9wZXJ0eSBvZiB0aGUgcm9vdCBub2RlIGlzIDIsCmVudGVyIGxvY2tkb3du LiBFbHNlIGl0IGlzIGNvbnNpZGVyZWQgYXMgZGlzYWJsZWQuClRoZXJlIGFyZSB0aHJlZSBzZWN1 cmUgYm9vdCBtb2Rlcy4gVGhleSBhcmUKMCAtIGRpc2FibGVkCiAgICAgTm8gc2lnbmF0dXJlIHZl cmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIGRlZmF1bHQuCjEgLSBhdWRpdAog ICAgIFNpZ25hdHVyZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGFuZCBpZiBzaWduYXR1cmUg dmVyaWZpY2F0aW9uCiAgICAgZmFpbHMsIHBvc3QgdGhlIGVycm9ycyBhbmQgYWxsb3cgdGhlIGJv b3QgdG8gY29udGludWUuCjIgLSBlbmZvcmNlZAogICAgIExvY2tkb3duIHRoZSBHUlVCLiBTaWdu YXR1cmUgdmVyaWZpY2F0aW9uIGlzIHBlcmZvcm1lZCBhbmQKICAgICBJZiBzaWduYXR1cmUgdmVy aWZpY2F0aW9uIGZhaWxzLCBwb3N0IHRoZSBlcnJvcnMgYW5kIHN0b3AgdGhlIGJvb3QuCgpOb3cs IG9ubHkgc3VwcG9ydCBkaXNhYmxlZCBhbmQgZW5mb3JjZWQuCgozLikgRW5hYmxlIGFwcGVuZGVk IHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gdXNpbmcgYnVpbHRpbiBrZXlzIChQYXRjaGVzIDIgLSA4 IAphbmQgMTApLgoKUGFydCBvZiBhIHNlY3VyZSBib290IGNoYWluIGlzIGFsbG93aW5nIGdydWIg dG8gdmVyaWZ5IHRoZSBib290Cmtlcm5lbC4gRm9yIFVFRkkgcGxhdGZvcm1zLCB0aGlzIGlzIHVz dWFsbHkgZGVsZWdhdGVkIHRvIHRoZQpzaGltLiBIb3dldmVyLCBmb3IgcGxhdGZvcm1zIHRoYXQg ZG8gbm90IGltcGxlbWVudCBVRUZJLCBhbgphbHRlcm5hdGl2ZSBzY2hlbWUgaXMgcmVxdWlyZWQu CgpUaGlzIHBhcnQgdGVhY2hlcyBncnViIGhvdyB0byB2ZXJpZnkgTGludXgga2VybmVsLXN0eWxl IGFwcGVuZGVkCnNpZ25hdHVyZXMuIEtlcm5lbHMgb24gcG93ZXJwYyBhcmUgYWxyZWFkeSBzaWdu ZWQgd2l0aCB0aGlzIHNjaGVtZSBhbmQKY2FuIGJlIHZlcmlmaWVkIGJ5IElNQSBmb3Iga2V4ZWMu CgpBcyBQS0NTIzcgbWVzc2FnZXMgYW5kIHg1MDkgY2VydGlmaWNhdGVzIGFyZSBib3RoIGJhc2Vk IG9uIEFTTi4xLCB3ZQppbXBvcnQgbGlidGFzbjEgdG8gcGFyc2UgdGhlbS4gQmVjYXVzZSBBU04u MSBpc24ndCBzZWxmLWRvY3VtZW50aW5nLAp3ZSBpbXBvcnQgZnJvbSBHTlVUTFMgdGhlIGluZm9y bWF0aW9uIHdlIG5lZWQgdG8gbmF2aWdhdGUgdGhlaXIKc3RydWN0dXJlLgoKVGhpcyBzZWN0aW9u IGlzIGNvbXBvc2VkIG9mIHRoZSBmb2xsb3dpbmcgcGF0Y2hlczoKCi0gcGF0Y2hlcyAyIGFuZCAz IGFyZSBzbWFsbCByZWZhY3RvcmluZ3MuCgotIHBhdGNoIDQgYWxsb3dzIHg1MDkgY2VydGlmaWNh dGVzIHRvIGJlIGJ1aWx0IGluIHRvIHRoZSBncnViIGNvcmUKICBpbiBtdWNoIHRoZSBzYW1lIHdh eSBhcyBQR1Aga2V5cy4KCi0gcGF0Y2ggNSBicmluZ3MgaW4gdGhlIGNvZGUgZnJvbSBHTlVUTFMg dGhhdCBhbGxvd3MgdXMgdG8gcGFyc2UKICBQS0NTIzcgYW5kIHg1MDkgd2l0aCBsaWJ0YXNuMS4K Ci0gcGF0Y2ggNiwgNyBhbmQgOCAgaXMgb3VyIEFTTjEgbm9kZSwgUEtDUyM3IGFuZCB4NTA5IHBh cnNlci4gVGhleSdyZSBtaW5pbWFsCiAgYW5kIGZhaXJseSBzdHJpY3QgcGFyc2VycyB0aGF0IGV4 dHJhY3Qgb25seSB0aGUgYml0cyB3ZSBuZWVkIHRvIHZlcmlmeSB0aGUKICBzaWduYXR1cmVzLgoK LSBwYXRjaCAxMCBpcyB0aGUgZ3V0cyBvZiB0aGUgYXBwZW5kZWQgc2lnbmF0dXJlIHZlcmlmaWVy LiBJdCB1c2VzCiAgdGhlIHZlcmlmaWVyIGluZnJhc3RydWN0dXJlIGxpa2UgcGdwLCBhbmQgYWRk cyBhIG51bWJlciBvZgogIHVzZXItZnJpZW5kbHkgY29tbWFuZHMgdGhhdCBtaXJyb3IgdGhlIHBn cCBtb2R1bGUuCgo0LikgRW5hYmxlIGFjY2Vzc2luZyBrZXlzIGR5bmFtaWNhbGx5IGZyb20gUGxh dGZvcm0gS2V5U3RvcmUgKFBhdGNoIDExIC0gMTYpCgpUaGlzIHBhcnQgdGVhY2hlcyBncnViIGhv dyB0byByZWFkIGRiIGFuZCBkYnggdmFyaWFibGVzIGZyb20gcGxhdGZvcm0ga2V5c3RvcmUKdXNp bmcgY2xpZW50IGludGVyZmFjZSBjYWxsIHRoZW4gbG9hZCBrZXlzIGZyb20gdGhvc2UgdHdvIHZh cmlhYmxlLCBhbmQgdXNlIGl0CnRvIHZlcmlmeSBMaW51eCBrZXJuZWwuCgpUaGlzIHNlY3Rpb24g aXMgY29tcG9zZWQgb2YgdGhlIGZvbGxvd2luZyBwYXRjaGVzOgoKLSBwYXRjaCAxMSBpcyBhbiBl eHBvc2VzIGFuIGludGVyZmFjZSBpbiBpZWVlMTI3NSBmb3IgcmVhZGluZyBzZWN1cmUgYm9vdAog IHZhcmlhYmxlIGRiIGFuZCBkYnggZnJvbSBQbGF0Zm9ybSBLZXlzdG9yZS4gUmVhZCBzZWN1cmUg Ym9vdCB2YXJpYWJsZXMKICBzdWNoIGFzIGRiIGFuZCBkYnggZnJvbSBQS1MgYW5kIGV4dHJhY3Qg Y2VydGlmaWNhdGVzIGZyb20gRVNMLgoKLSBwYXRjaCAxMiBpcyBjcmVhdGUgdGhlIGRiIGFuZCBk YnggbGlzdHMgZnJvbSBQS1MuCgotIHBhdGNoIDEzIGlzIHZlcmlmeSB0aGUga2VybmVsIHVzaW5n IGRiIGFuZCBkYnggbGlzdHMKCi0gcGF0Y2ggMTQgc2V0cyB0aGUgdXNlX3N0YXRpY19rZXlzIGZs YWcgaWYgREIgbm90IGF2YWlsYWJsZSBpbiBQS1MsCiAgYW5kIHBhdGNoIDE1ICBpcyByZWFkcyB0 aGUgREIgZGVmYXVsdCBrZXlzIGZyb20gRUxGIE5vdGUgYW5kCiAgc3RvcmUgaXQgaW4gdHJ1c3Rl ZCBsaXN0cyBpZiB1c2Vfc3RhdGljX2tleXMgZmxhZyBpcyBzZXQuCgotIHBhdGNoIDE2IGFkZHMg R1JVQiBjb21tYW5kcyB0byBhY2Nlc3MgZGIgYW5kIGRieC4KCjUuKSBwYXRjaCAxNyBhZGRzIHVu aXQgdGVzdCBhbmQgMjAgYWRkcyBHUlVCIGNvbW1hbmRzIGFuZCBhbiBhcHBlbmRlZCBzaWduYXR1 cmVzCiAgICBkb2N1bWVudGF0aW9uLgoKVGhhbmtzIHRvIERhbmllbCBLaXBlciBmb3IgcHJvdmlk aW5nIHJldmlldyBjb21tZW50cyBvbiB2NS4KCkkndmUgcHVzaGVkIHRoaXMgYWxsIHRvCmh0dHBz Oi8vZ2l0aHViLmNvbS9TdWRoYWthckt1cHB1c2FteTEvZ3J1Yi90cmVlL2FwcGVuZGVkc2lnLTIu MTMKClsxXWh0dHBzOi8vd3d3LmlibS5jb20vZG9jcy9lbi9saW51eC1vbi1zeXN0ZW1zP3RvcGlj PXNlcnZlcnMtZ3Vlc3Qtc2VjdXJlLWJvb3Qtc3RhdGljLWtleXMKWzJdaHR0cHM6Ly9jb21tdW5p dHkuaWJtLmNvbS9jb21tdW5pdHkvdXNlci9wb3dlci9ibG9ncy9jaHJpcy1lbmdlbDEvMjAyMC8x MS8yMC9wb3dlcnZtLWludHJvZHVjZXMtdGhlLXBsYXRmb3JtLWtleXN0b3JlCgpEYW5pZWwgQXh0 ZW5zICgyKToKICBjcnlwdG86IE1vdmUgc3RvcmFnZSBmb3IgZ3J1Yl9jcnlwdG9fcGtfKiB0byBj cnlwdG8uYwogIGRvY3MvZ3J1YjogRG9jdW1lbnQgc2lnbmluZyBHUlVCIHVuZGVyIFVFRkkKClN1 ZGhha2FyIEt1cHB1c2FteSAoMTYpOgogIHBvd2VycGMtaWVlZTEyNzU6IEFkZCBzdXBwb3J0IGZv ciBzaWduaW5nIEdSVUIgd2l0aCBhbiBhcHBlbmRlZAogICAgc2lnbmF0dXJlCiAgcGdwOiBSZW5h bWUgT0JKX1RZUEVfUFVCS0VZIHRvIE9CSl9UWVBFX0dQR19QVUJLRVkKICBncnViLWluc3RhbGw6 IFN1cHBvcnQgZW1iZWRkaW5nIHg1MDkgY2VydGlmaWNhdGVzCiAgYXBwZW5kZWQgc2lnbmF0dXJl czogSW1wb3J0IEdOVVRMUydzIEFTTi4xIGRlc2NyaXB0aW9uIGZpbGVzCiAgYXBwZW5kZWQgc2ln bmF0dXJlczogUGFyc2UgQVNOMSBub2RlCiAgYXBwZW5kZWQgc2lnbmF0dXJlczogUGFyc2UgUEtD UyM3IHNpZ25lZERhdGEKICBhcHBlbmRlZCBzaWduYXR1cmVzOiBQYXJzZSBYLjUwOSBjZXJ0aWZp Y2F0ZXMKICBwb3dlcnBjX2llZWUxMjc1OiBFbnRlciBsb2NrZG93biBiYXNlZCBvbiAvaWJtLHNl Y3VyZS1ib290CiAgYXBwZW5kZWQgc2lnbmF0dXJlczogU3VwcG9ydCB2ZXJpZnlpbmcgYXBwZW5k ZWQgc2lnbmF0dXJlcwogIHBvd2VycGNfaWVlZTEyNzU6IFJlYWQgdGhlIGRiIGFuZCBkYnggc2Vj dXJlIGJvb3QgdmFyaWFibGVzCiAgYXBwZW5kZWQgc2lnbmF0dXJlczogQ3JlYXRlIGRiIGFuZCBk YnggbGlzdHMKICBhcHBlbmRlZCBzaWduYXR1cmVzOiBVc2luZyBkYiBhbmQgZGJ4IGxpc3RzIGZv ciBzaWduYXR1cmUgdmVyaWZpY2F0aW9uCiAgYXBwZW5kZWQgc2lnbmF0dXJlczogUmVhZCBkZWZh dWx0IGRiIGtleXMgZnJvbSB0aGUgRUxGIE5vdGUKICBhcHBlbmRlZCBzaWduYXR1cmVzOiBWZXJp ZmljYXRpb24gdGVzdHMKICBkb2NzL2dydWI6IERvY3VtZW50IHNpZ25pbmcgR1JVQiB3aXRoIGFu IGFwcGVuZGVkIHNpZ25hdHVyZQogIGRvY3MvZ3J1YjogRG9jdW1lbnQgYXBwZW5kZWQgc2lnbmF0 dXJlCgpWbGFkaW1pciBTZXJiaW5lbmtvICgyKToKICBsaWJnY3J5cHQ6IEZpeCBhIG1lbW9yeSBs ZWFrCiAgZG9jczogV3JpdGUgaG93IHRvIGltcG9ydCBuZXcgbGliZ2NyeXB0CgogZG9jcy9ncnVi LWRldi50ZXhpICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzOCArCiBkb2NzL2dydWIu dGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTU2ICsrKysrKy0KIGdydWIt Y29yZS9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogZ3J1Yi1j b3JlL01ha2VmaWxlLmNvcmUuZGVmICAgICAgICAgICAgICAgICAgIHwgICAyNiArCiBncnViLWNv cmUvY29tbWFuZHMvYXBwZW5kZWRzaWcvYXBwZW5kZWRzaWcuYyAgfCAxMzI4ICsrKysrKysrKysr KysrKysrCiBncnViLWNvcmUvY29tbWFuZHMvYXBwZW5kZWRzaWcvYXBwZW5kZWRzaWcuaCAgfCAg MTExICsrCiBncnViLWNvcmUvY29tbWFuZHMvYXBwZW5kZWRzaWcvYXNuMXV0aWwuYyAgICAgfCAg IDk2ICsrCiAuLi4vY29tbWFuZHMvYXBwZW5kZWRzaWcvZ251dGxzX2FzbjFfdGFiLmMgICAgfCAg MTQ4ICsrCiBncnViLWNvcmUvY29tbWFuZHMvYXBwZW5kZWRzaWcvcGtjczcuYyAgICAgICAgfCAg NDU0ICsrKysrKwogLi4uL2NvbW1hbmRzL2FwcGVuZGVkc2lnL3BraXhfYXNuMV90YWIuYyAgICAg IHwgIDQ4NSArKysrKysKIGdydWItY29yZS9jb21tYW5kcy9hcHBlbmRlZHNpZy94NTA5LmMgICAg ICAgICB8ICA5NTcgKysrKysrKysrKysrCiBncnViLWNvcmUvY29tbWFuZHMvcGdwLmMgICAgICAg ICAgICAgICAgICAgICAgfCAgICA2ICstCiBncnViLWNvcmUva2Vybi9pZWVlMTI3NS9pZWVlMTI3 NS5jICAgICAgICAgICAgfCAgICAxIC0KIGdydWItY29yZS9rZXJuL2llZWUxMjc1L2luaXQuYyAg ICAgICAgICAgICAgICB8ICAgNjMgKwogZ3J1Yi1jb3JlL2tlcm4vcG93ZXJwYy9pZWVlMTI3NS9p ZWVlMTI3NS5jICAgIHwgIDEzOSArKwogLi4uL2tlcm4vcG93ZXJwYy9pZWVlMTI3NS9wbGF0Zm9y bV9rZXlzdG9yZS5jIHwgIDMzNiArKysrKwogZ3J1Yi1jb3JlL2xpYi9jcnlwdG8uYyAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgNCArCiAuLi4vbGliL2xpYmdjcnlwdC1wYXRjaGVzLzA4X3Nl eHBfbGVhay5wYXRjaCAgfCAgIDIxICsKIGdydWItY29yZS90ZXN0cy9hcHBlbmRlZF9zaWduYXR1 cmVfdGVzdC5jICAgICB8ICAyNDkgKysrKwogZ3J1Yi1jb3JlL3Rlc3RzL2FwcGVuZGVkX3NpZ25h dHVyZXMuaCAgICAgICAgIHwgIDk3NSArKysrKysrKysrKysKIGdydWItY29yZS90ZXN0cy9saWIv ZnVuY3Rpb25hbF90ZXN0LmMgICAgICAgICB8ICAgIDEgKwogaW5jbHVkZS9ncnViL2NyeXB0by5o ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL2dydWIvZWZpL3Brcy5o ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEyICsrCiBpbmNsdWRlL2dydWIvZXJyLmggICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICstCiBpbmNsdWRlL2dydWIvZmlsZS5oICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIGluY2x1ZGUvZ3J1Yi9pZWVlMTI3NS9p ZWVlMTI3NS5oICAgICAgICAgICAgICB8ICAgIDMgKwogaW5jbHVkZS9ncnViL2tlcm5lbC5oICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArLQogaW5jbHVkZS9ncnViL2xvY2tkb3duLmgg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArLQogaW5jbHVkZS9ncnViL3Bvd2VycGMvaWVl ZTEyNzUvaWVlZTEyNzUuaCAgICAgIHwgICAyMCArCiAuLi4vZ3J1Yi9wb3dlcnBjL2llZWUxMjc1 L3BsYXRmb3JtX2tleXN0b3JlLmggfCAgMTI5ICsrCiBpbmNsdWRlL2dydWIvdHlwZXMuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIGluY2x1ZGUvZ3J1Yi91dGlsL2luc3RhbGwu aCAgICAgICAgICAgICAgICAgICB8ICAgMTAgKy0KIGluY2x1ZGUvZ3J1Yi91dGlsL21raW1hZ2Uu aCAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIHV0aWwvZ3J1Yi1pbnN0YWxsLWNvbW1vbi5j ICAgICAgICAgICAgICAgICAgICB8ICAgNDIgKy0KIHV0aWwvZ3J1Yi1ta2ltYWdlLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMzIgKy0KIHV0aWwvZ3J1Yi1ta2ltYWdleHguYyAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNDAgKy0KIHV0aWwvbWtpbWFnZS5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNTAgKy0KIDM3IGZpbGVzIGNoYW5nZWQsIDY0MTAgaW5z ZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3Jl L2NvbW1hbmRzL2FwcGVuZGVkc2lnL2FwcGVuZGVkc2lnLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn cnViLWNvcmUvY29tbWFuZHMvYXBwZW5kZWRzaWcvYXBwZW5kZWRzaWcuaAogY3JlYXRlIG1vZGUg MTAwNjQ0IGdydWItY29yZS9jb21tYW5kcy9hcHBlbmRlZHNpZy9hc24xdXRpbC5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2NvbW1hbmRzL2FwcGVuZGVkc2lnL2dudXRsc19hc24xX3Rh Yi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2NvbW1hbmRzL2FwcGVuZGVkc2lnL3Br Y3M3LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBncnViLWNvcmUvY29tbWFuZHMvYXBwZW5kZWRzaWcv cGtpeF9hc24xX3RhYi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2NvbW1hbmRzL2Fw cGVuZGVkc2lnL3g1MDkuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS9rZXJuL3Bvd2Vy cGMvaWVlZTEyNzUvaWVlZTEyNzUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS9rZXJu L3Bvd2VycGMvaWVlZTEyNzUvcGxhdGZvcm1fa2V5c3RvcmUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdydWItY29yZS9saWIvbGliZ2NyeXB0LXBhdGNoZXMvMDhfc2V4cF9sZWFrLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL3Rlc3RzL2FwcGVuZGVkX3NpZ25hdHVyZV90ZXN0LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBncnViLWNvcmUvdGVzdHMvYXBwZW5kZWRfc2lnbmF0dXJlcy5o CiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ncnViL2VmaS9wa3MuaAogY3JlYXRlIG1vZGUg MTAwNjQ0IGluY2x1ZGUvZ3J1Yi9wb3dlcnBjL2llZWUxMjc1L3BsYXRmb3JtX2tleXN0b3JlLmgK Ci0tIAoyLjM5LjUgKEFwcGxlIEdpdC0xNTQpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBn bnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK