From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 308417803E9 for ; Fri, 3 Nov 2023 18:01:45 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=XC0I6UPV2ofDFZXDZM5NPBhfrLkZ9/bmSjR5+9otOtw=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1699034503; v=1; b=GH7t/S1k9zsgmm5qkQq05poQTdAX2tFsTDUuGucC4u/MPy3MZUSj+X61bK7DVSfbv3GWQaEa lnuiNHLI0sV2MdWjh2G3io4Lnyh+r/JBdi6Xg4kIeg3TuOAIgDZ8AdtP8fHcXjlPUHd1VEqUzl/ VrGSoxOSXqS7SGGsq2ozGWNk= X-Received: by 127.0.0.2 with SMTP id LD1kYY7687511xq0267wXmsN; Fri, 03 Nov 2023 11:01:43 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.84]) by mx.groups.io with SMTP id smtpd.web10.61005.1699034501055085216 for ; Fri, 03 Nov 2023 11:01:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SddJEgrg0+7dCL6LSRobLkBufUcbZOUhSL9FROJCrTmPbcKfN9kVaDiMAy26pRzn1JyEs5CKW6q7lBEBVBBomQM7kewbm/UCH3oJYQoIuUAH9/u28gND6WZzHQb4s0YugK+3T12vnrKx8AxwRMVP3CS+mbaLnpdyg64EkUCKd5Lou0lY0MSnrNpxXufgFxwfYAqMaXgEhY/DARXCYl8F7a3ydjsqoBZVoMLk5qohwuOFtVCyxIBPcN3f48tSoVrgXPHFrQwRKDdVSIQpojqXqa8dfNDQvtB4WDUAof1HePqGwCrY1CiPNJsu2OrbaHTtnvMgcr8FHr3MHs5XoTzs7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PQJps6I8KT3CZesJUJIjz9sWasMRhJbA30XMlhK2Z5Y=; b=FU7iZrgI2jTjTzCn7PhEXgCUiW53ppClsTQxPK8oPC3222mFk4YMQMgGsUSUFTXodNnUC5uf26mNI2T4C12O09978et2Sa1hqj/nSemWCCGtAK05aZ9jIc6PyFoqlm6S7+7qXYmKAuDsCXKkFbfOtFc6h9WAUQV3YUiZNuXUJZQFdu+pbzzzuvWTCH55GotuYcgMuTVGHz39QOy5Vtu/3rpXZ++Y6E7wzAQly5KMxikqkrCXNFJxaP0iaGA90+9haEof3mrRwuTHBOdJ4aQA3O4sFXdKnAO4Fme9aH6nDTdXjlrr8jqR9IAqUOKlhu0THj48JdktuRstBXT2YDHqmA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none X-Received: from BLAPR10MB5185.namprd10.prod.outlook.com (2603:10b6:208:328::16) by MW6PR10MB7657.namprd10.prod.outlook.com (2603:10b6:303:247::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Fri, 3 Nov 2023 18:01:36 +0000 X-Received: from BLAPR10MB5185.namprd10.prod.outlook.com ([fe80::4996:8531:b16e:22d1]) by BLAPR10MB5185.namprd10.prod.outlook.com ([fe80::4996:8531:b16e:22d1%4]) with mapi id 15.20.6954.024; Fri, 3 Nov 2023 18:01:36 +0000 From: "Igor Kulchytskyy via groups.io" To: Mike Maslenkin CC: "devel@edk2.groups.io" , Abner Chang , Nickle Wang Subject: Re: [edk2-devel] [PATCH v2] RedfishPkg: RedfishDiscoverDxe: Fix issue if IPv4 installed after RestEx Thread-Topic: [EXTERNAL] Re: [PATCH v2] RedfishPkg: RedfishDiscoverDxe: Fix issue if IPv4 installed after RestEx Thread-Index: AQHaDQB3wfq9MU8sPUiRl4StxWQjabBowfYAgAAjObA= Date: Fri, 3 Nov 2023 18:01:36 +0000 Message-ID: References: <20231101201704.1504-1-igork@ami.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BLAPR10MB5185:EE_|MW6PR10MB7657:EE_ x-ms-office365-filtering-correlation-id: 6e194515-a48d-4229-3340-08dbdc96ebea x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: BG/94tyeu1+NnJnwgSZgC22A3a44WWmspVfJYHWo7R+0UCNSMXJEBX/zpm44/jE08Faw3y5VoAIYZ0TGN8XWvWRajaiSZ2TEO1P+3ZzPr/Gvq5kIWcW8gwiqTOxZPQvFwSdotrcSeRfBQ1dkFAv+B3Yho/W5tLUjfNwbESUcsH8GYCc5M3A5acIFsbA+H8IJxnfwM4OJp3xaHE1q85Ztt/0MuAZR8x87M+hK/5KCwJRolTD2N4ZFLkdJtV7K5nJcyLdo8mM7AGwahrhoKNd5av+OiqSNtEAqSGtF9eEIvLhMMKeBkg5Vi28Enptp24k0Nw7618jjAdYYOQM6gIsH21IXzN61OPKdsIgAV/81frgHj30vSXXblftsNv60JyZp90/yAjOW3O3nXrxKz/XZ9K2GAzvGwVPrWI1e4SQMIysYgCOinF8wvnfRCrH+KzioZG9RLg4wxxlMobJ/9e4yfi6Zz9pQZokI/h0+itfbhFSeZfi0CfWECNqf2E751MzCrLPHxnJG9N31fwcztzfRMgw+CaEee8m2/bznCqRsJ/UXj88fqhAB475ohP05SFJolsAdHA+1ooP7lwZ8zhSSBflOzQFxYYbJKGQl9RnoWVZ0NegDtHmRolEJRstjISrVTJ7W2nWxZf309svkUp9JhXByCgq4kpmLhswoaelRDsk= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WFFKK1BxQU1KVCs0UUs3VWg0WFM1NDRrWFBBNWlsWlh1UkZvV1BVQzFaOWk2?= =?utf-8?B?RVo3Ykp1VHhBL1IxSTZ2dVVwNU84TENjWDdBNkk3Yk5xa3RBZFR0Nm8zREVu?= =?utf-8?B?SytZN3lKWWhOcGhvbzhGZEVUVVd5cGhFTVV1aWhrbkRPR1Z4UDM0a1I3U2dm?= =?utf-8?B?N3dncXdQT0ZyRlpBakVmMDV0WmNQdVZWS0VTZ1haMVZSL1lPbEcwbG9JWG9S?= =?utf-8?B?TzFobHpqSG00NmRlV3loR1pDRDlTWHVxVm04Y3VyVUxpWkpDZXpmWFY5M3Ft?= =?utf-8?B?b2ZnbTNtV1Fybi8xOFB3c0hsWGdzakg2Z2Z1SmZ2N3pRY2k1YnFHb0RBanI0?= =?utf-8?B?dVpUbkRlcGcxR3BTNWMxQ04zMUJrbUVMM0ZDL0ViUkI0L2o3dTM2Mk9TYUVv?= =?utf-8?B?RWFtVWNwUmlrNDc5c2xwUDlHVmxmNmkzU1RDR0ZWRDVyRXd2TFk1eVV3eGJR?= =?utf-8?B?elcxRGpSMVZkNEFVOE5vWXpoaUdyY2E3R3BtTkdOeUlmVzV1Nm8yUGRodEZv?= =?utf-8?B?S3MxalNDNnA3Q1RRNklPMnllUlZGOGxOWkVBcmZBeFJiVFZ5SE5RdHVoRmIy?= =?utf-8?B?NDFhUEp2Qkt1TVM2OEh4NHBXejNoVHQwSGFoVjNpQTRWaEkxTUlZU0xLQnVT?= =?utf-8?B?akwzNnkrenNPMDlGeVl6SGw2UEhWSm5XMVRpUE15c05vWVI5YXVwbkg5MnZX?= =?utf-8?B?TVN3NHZGZkcxSG5kVkVkdGg2NUFsUzVicWM2SUFnaDBXRUhnbFRFZ0hKUXQ4?= =?utf-8?B?ay9ZZ0tnTXEreUU3TmpIeWhSazdYWXJFeUZ1UVN5U3FEY0FQeUg2Mk0zYWFk?= =?utf-8?B?MWZJK2FMdERxdERUN1RZdk9zS3A3MkJmMVZXTEJXeVZpL3EyNXJYMnJvdVh6?= =?utf-8?B?M1AwVmRKTm1WRmdzSWdHYldlaEpkeGJCYk9ONWtJaWhtQmdsRzRDOWtBL3Z2?= =?utf-8?B?RzNuSmtYQkMxdG00WXdqNk40MFNJZkNKY2dpWUR1RStjTTkrOWZnUEdBeGht?= =?utf-8?B?eGs0WDhJekdUV1JONGxRcEk3UW50Um9YVWZXS3h3anJOcDgxRldJUjNWMWtz?= =?utf-8?B?dGN4cDNyancvaGdqaUg0SG9RSCtSUEh3MlpNaDFnOTFDT2VmTmVUeWFlQWlt?= =?utf-8?B?Skk4WHkvdC9FOWxHbW9PdmRIaTdheGlRblpEM0U0bktwSDlyZjZvMjR1bTFL?= =?utf-8?B?eWV6QzFUOXhtWjJJdndXcnZSaWp3UEdpUHJlRS9SY2VOUEtNdmFXUlZrSGEw?= =?utf-8?B?dVlZK2Z1UzBVYld4ZDYvajZ6TmxuU3kySUlQOGhLZGpKNTB4d0VobWwydkR4?= =?utf-8?B?VzBOb0oyVHgzeWg4TndSZzlGMWwvS2hZd1JNTWtyUEFvd1o3Qm1pcE9MK1R5?= =?utf-8?B?TFVZOXlrT1BDY0UyWjI0ZEl1WWNra1AyekV2Y014bGR3a0h6MDZweERwbkhu?= =?utf-8?B?UFAzM0hMRlpnTFRvVE9DUWExRmZjOTU1UjdFZ1BJV3V3YXAzK1NUTUZxblFu?= =?utf-8?B?N0FBazczZk1Ya3ViaEVxQjNQRk1MWnI4M3huWVRHaE5GV0pFWlNtYjByVEty?= =?utf-8?B?RHg1MWtsMVpaUXk0QlZteWszdks5Z1pwK2llN2F4ZzJWMlNmOTIrODhlcHhn?= =?utf-8?B?eElBcjAzdjhRU2F5SnYyNFNCaC9CdjBoMHo5SUV5VzBTRXdTVGkxZ3I5ZXFP?= =?utf-8?B?YXZUbWpnN0k2b1NRYnlIb21iUEJCRW1NL1pySWJwZU8yZmZEUVVsODEwRnZZ?= =?utf-8?B?clZMcEFWbG9oaWM2dEpMQzFJV0dJaVNZdzlzd0toYkRyOWFkN1d4NnNqeURE?= =?utf-8?B?VnhpTTgzVDh1UUVDTklqK29MMmx5ZmZHaFBFWjRFdU9YWUtDWHVrSFBOQkJ2?= =?utf-8?B?RnhPNjd6MUYwRmlNSTA4R1g0eUNma0dsbUdsd1pvL3Q0NCthdlE3MDZrckQ2?= =?utf-8?B?a2o3UmJwWUdjV0ZiQnBjc2Vwc1lPRHljQlNnTHVSWk1oTmFpaHMrOVdPYlZ2?= =?utf-8?B?MFc2bitCMEZBVlVaTXAyelBFT3l5OWNiK1l5dDEycGJKdHlacllzWlhuRm53?= =?utf-8?B?U3N0cys3eGZDeHJuMFFLd3dCS2ZHK0t6bkdPSkFnNC9uRUt4Z0hHMGxLd2t2?= =?utf-8?Q?8uGg=3D?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5185.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e194515-a48d-4229-3340-08dbdc96ebea X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2023 18:01:36.4232 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jhVEZgW44AeM1ddae2r2txjhkkWyjZ+UqMQ/G1hWJ14FxdL8qyEQg3WNi5qBmJP5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR10MB7657 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,igork@ami.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: LGYSTQjACr2KcR9zTJYd64Ohx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="GH7t/S1k"; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io SGkgTWlrZSwNCllvdSBhcmUgYWJzb2x1dGVseSByaWdodC4NCkkgbW92ZWQgdGhhdCBOZXR3b3Jr SW50ZXJmYWNlR2V0U3VibmV0SW5mbyBmdW5jdGlvbiB1cCwgbm90IGNvcGllZCBpdC4gQnV0IHNv bWVob3cgaXQgd2FzIGNvcGllZC4NCk15IG1pc3Rha2UuDQpJIHdpbGwgZml4IGl0IGFuZCByZXN1 Ym1pdC4NClRoYW5rIHlvdSwNCklnb3INCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+DQpTZW50OiBGcmlk YXksIE5vdmVtYmVyIDMsIDIwMjMgMTE6NTQgQU0NClRvOiBJZ29yIEt1bGNoeXRza3l5IDxpZ29y a0BhbWkuY29tPg0KQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBBYm5lciBDaGFuZyA8YWJuZXIu Y2hhbmdAYW1kLmNvbT47IE5pY2tsZSBXYW5nIDxuaWNrbGV3QG52aWRpYS5jb20+DQpTdWJqZWN0 OiBbRVhURVJOQUxdIFJlOiBbUEFUQ0ggdjJdIFJlZGZpc2hQa2c6IFJlZGZpc2hEaXNjb3ZlckR4 ZTogRml4IGlzc3VlIGlmIElQdjQgaW5zdGFsbGVkIGFmdGVyIFJlc3RFeA0KDQoNCioqQ0FVVElP TjogVGhlIGUtbWFpbCBiZWxvdyBpcyBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZS4gUGxlYXNlIGV4 ZXJjaXNlIGNhdXRpb24gYmVmb3JlIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtz LCBvciBmb2xsb3dpbmcgZ3VpZGFuY2UuKioNCg0KT24gV2VkLCBOb3YgMSwgMjAyMyBhdCAxMTox N+KAr1BNIElnb3IgS3VsY2h5dHNreXkgPGlnb3JrQGFtaS5jb20+IHdyb3RlOg0KPg0KPiBTdXBw b3J0ZWQgZnVuY3Rpb24gb2YgdGhlIGRyaXZlciBjaGFuZ2VkIHRvIHdhaXQgZm9yIGFsbCBuZXd0 d29yaw0KPiBpbnRlcmZhY2UgdG8gYmUgaW5zdGFsbGVkLg0KPiBGaWxlciBvdXQgdGhlIG5ldHdv cmsgaW50ZXJmYWNlcyB3aGljaCBhcmUgbm90IHN1cHBvcnRlZCBieQ0KPiBSZWRmaXNoIEhvc3Qg SW50ZXJmYWNlLg0KPg0KPiBDYzogQWJuZXIgQ2hhbmcgPGFibmVyLmNoYW5nQGFtZC5jb20+DQo+ IENjOiBOaWNrbGUgV2FuZyA8bmlja2xld0BudmlkaWEuY29tPg0KPiBDYzogTWlrZSBNYXNsZW5r aW4gPG1pa2UubWFzbGVua2luQGdtYWlsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogSWdvciBLdWxj aHl0c2t5eSA8aWdvcmtAYW1pLmNvbT4NCj4gLS0tDQo+ICBSZWRmaXNoUGtnL1JlZGZpc2hEaXNj b3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJEeGUuYyB8IDEzMSArKysrKysrKysrKysrKy0tLS0tLQ0K PiAgMSBmaWxlIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQ0KPg0K PiBkaWZmIC0tZ2l0IGEvUmVkZmlzaFBrZy9SZWRmaXNoRGlzY292ZXJEeGUvUmVkZmlzaERpc2Nv dmVyRHhlLmMgYi9SZWRmaXNoUGtnL1JlZGZpc2hEaXNjb3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJE eGUuYw0KPiBpbmRleCAyM2RhM2I5NjhmLi5jNjdiOGFjZjEyIDEwMDY0NA0KPiAtLS0gYS9SZWRm aXNoUGtnL1JlZGZpc2hEaXNjb3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJEeGUuYw0KPiArKysgYi9S ZWRmaXNoUGtnL1JlZGZpc2hEaXNjb3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJEeGUuYw0KPiBAQCAt MzIyLDkgKzMyMiwxNSBAQCBHZXRUYXJnZXROZXR3b3JrSW50ZXJmYWNlSW50ZXJuYWwgKA0KPiAg ew0KPiAgICBFRklfUkVERklTSF9ESVNDT1ZFUl9ORVRXT1JLX0lOVEVSRkFDRV9JTlRFUk5BTCAg KlRoaXNOZXR3b3JrSW50ZXJmYWNlOw0KPg0KPiArICBpZiAoSXNMaXN0RW1wdHkgKCZtRWZpUmVk ZmlzaERpc2NvdmVyTmV0d29ya0ludGVyZmFjZSkpIHsNCj4gKyAgICByZXR1cm4gTlVMTDsNCj4g KyAgfQ0KPiArDQo+ICAgIFRoaXNOZXR3b3JrSW50ZXJmYWNlID0gKEVGSV9SRURGSVNIX0RJU0NP VkVSX05FVFdPUktfSU5URVJGQUNFX0lOVEVSTkFMICopR2V0Rmlyc3ROb2RlICgmbUVmaVJlZGZp c2hEaXNjb3Zlck5ldHdvcmtJbnRlcmZhY2UpOw0KPiAgICB3aGlsZSAoVFJVRSkgew0KPiAtICAg IGlmIChDb21wYXJlTWVtICgoVk9JRCAqKSZUaGlzTmV0d29ya0ludGVyZmFjZS0+TWFjQWRkcmVz cywgJlRhcmdldE5ldHdvcmtJbnRlcmZhY2UtPk1hY0FkZHJlc3MsIFRoaXNOZXR3b3JrSW50ZXJm YWNlLT5Id0FkZHJlc3NTaXplKSA9PSAwKSB7DQo+ICsgICAgaWYgKENvbXBhcmVNZW0gKChWT0lE ICopJlRoaXNOZXR3b3JrSW50ZXJmYWNlLT5NYWNBZGRyZXNzLCAmVGFyZ2V0TmV0d29ya0ludGVy ZmFjZS0+TWFjQWRkcmVzcywgVGhpc05ldHdvcmtJbnRlcmZhY2UtPkh3QWRkcmVzc1NpemUpID09 IDAgJiYNCj4gKyAgICAgICAgKChUYXJnZXROZXR3b3JrSW50ZXJmYWNlLT5Jc0lwdjYgJiYgVGhp c05ldHdvcmtJbnRlcmZhY2UtPk5ldHdvcmtQcm90b2NvbFR5cGUgPT0gUHJvdG9jb2xUeXBlVGNw NikgfHwNCj4gKyAgICAgICAgICAgICghVGFyZ2V0TmV0d29ya0ludGVyZmFjZS0+SXNJcHY2ICYm IFRoaXNOZXR3b3JrSW50ZXJmYWNlLT5OZXR3b3JrUHJvdG9jb2xUeXBlID09IFByb3RvY29sVHlw ZVRjcDQpKSkgew0KPiAgICAgICAgcmV0dXJuIFRoaXNOZXR3b3JrSW50ZXJmYWNlOw0KPiAgICAg IH0NCj4NCj4gQEAgLTM1NCw2ICszNjAsMTAgQEAgR2V0VGFyZ2V0TmV0d29ya0ludGVyZmFjZUlu dGVybmFsQnlDb250cm9sbGVyICgNCj4gIHsNCj4gICAgRUZJX1JFREZJU0hfRElTQ09WRVJfTkVU V09SS19JTlRFUkZBQ0VfSU5URVJOQUwgICpUaGlzTmV0d29ya0ludGVyZmFjZTsNCj4NCj4gKyAg aWYgKElzTGlzdEVtcHR5ICgmbUVmaVJlZGZpc2hEaXNjb3Zlck5ldHdvcmtJbnRlcmZhY2UpKSB7 DQo+ICsgICAgcmV0dXJuIE5VTEw7DQo+ICsgIH0NCj4gKw0KPiAgICBUaGlzTmV0d29ya0ludGVy ZmFjZSA9IChFRklfUkVERklTSF9ESVNDT1ZFUl9ORVRXT1JLX0lOVEVSRkFDRV9JTlRFUk5BTCAq KUdldEZpcnN0Tm9kZSAoJm1FZmlSZWRmaXNoRGlzY292ZXJOZXR3b3JrSW50ZXJmYWNlKTsNCj4g ICAgd2hpbGUgKFRSVUUpIHsNCj4gICAgICBpZiAoVGhpc05ldHdvcmtJbnRlcmZhY2UtPk9wZW5E cml2ZXJDb250cm9sbGVySGFuZGxlID09IENvbnRyb2xsZXJIYW5kbGUpIHsNCj4gQEAgLTQ3Niw2 ICs0ODYsMzkgQEAgQ2hlY2tJc0lwVmVyc2lvbjYgKA0KPiAgICByZXR1cm4gRkFMU0U7DQo+ICB9 DQo+DQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSAgSVAgdHlwZSBzdXBw b3J0ZWQgYnkgdGhlIEhvc3QgSW50ZXJmYWNlDQo+ICsNCj4gKyAgQHJldHZhbCBJUCBUeXBlDQo+ ICsgIC8vICBVbmtub3duPTAwaCwNCj4gKyAgLy8gIElwdjQ9MDFoLA0KPiArICAvLyAgSXB2Nj0w MmgsDQo+ICsNCj4gKyoqLw0KPiArU1RBVElDDQo+ICtVSU5UOA0KPiArR2V0SGlJcFByb3RvY29s VHlwZSgpDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7 DQo+ICsgIFJFREZJU0hfT1ZFUl9JUF9QUk9UT0NPTF9EQVRBICAqRGF0YTsNCj4gKyAgUkVERklT SF9JTlRFUkZBQ0VfREFUQSAgICAgICAgICpEZXZpY2VEZXNjcmlwdG9yOw0KPiArDQo+ICsgIERh dGEgICAgICAgICAgICAgPSBOVUxMOw0KPiArICBEZXZpY2VEZXNjcmlwdG9yID0gTlVMTDsNCj4g KyAgaWYgKG1TbWJpb3MgPT0gTlVMTCkgew0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJv dG9jb2wgKCZnRWZpU21iaW9zUHJvdG9jb2xHdWlkLCBOVUxMLCAoVk9JRCAqKikmbVNtYmlvcyk7 DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgcmV0dXJuIFJFREZJ U0hfSE9TVF9JTlRFUkZBQ0VfSE9TVF9JUF9BRERSRVNTX0ZPUk1BVF9VTktOT1dOOw0KPiArICAg IH0NCj4gKyAgfQ0KPiArICBTdGF0dXMgPSBSZWRmaXNoR2V0SG9zdEludGVyZmFjZVByb3RvY29s RGF0YSAobVNtYmlvcywgJkRldmljZURlc2NyaXB0b3IsICZEYXRhKTsgLy8gU2VhcmNoIGZvciBT TUJJT1MgdHlwZSA0MmgNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykgJiYgKERhdGEgIT0g TlVMTCkgJiYNCj4gKyAgICAgIChEYXRhLT5Ib3N0SXBBc3NpZ25tZW50VHlwZSA9PSBSZWRmaXNo SG9zdElwQXNzaWdubWVudFN0YXRpYykpIHsNCj4gKyAgICAgIHJldHVybiBEYXRhLT5Ib3N0SXBB ZGRyZXNzRm9ybWF0Ow0KPiArICB9DQo+ICsgIHJldHVybiBSRURGSVNIX0hPU1RfSU5URVJGQUNF X0hPU1RfSVBfQUREUkVTU19GT1JNQVRfVU5LTk9XTjsNCj4gK30NCj4gKw0KPiAgLyoqDQo+ICAg IFRoaXMgZnVuY3Rpb24gZGlzY292ZXIgUmVkZmlzaCBzZXJ2aWNlIHRocm91Z2ggU01CSU9TIGhv c3QgaW50ZXJmYWNlLg0KPg0KPiBAQCAtNTEyLDYgKzU1NSwxNSBAQCBEaXNjb3ZlclJlZGZpc2hI b3N0SW50ZXJmYWNlICgNCj4NCj4gICAgU3RhdHVzID0gUmVkZmlzaEdldEhvc3RJbnRlcmZhY2VQ cm90b2NvbERhdGEgKG1TbWJpb3MsICZEZXZpY2VEZXNjcmlwdG9yLCAmRGF0YSk7IC8vIFNlYXJj aCBmb3IgU01CSU9TIHR5cGUgNDJoDQo+ICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpICYmIChE YXRhICE9IE5VTEwpICYmIChEZXZpY2VEZXNjcmlwdG9yICE9IE5VTEwpKSB7DQo+ICsNCj4gKyAg ICBpZiAoSW5zdGFuY2UtPk5ldHdvcmtJbnRlcmZhY2UtPk5ldHdvcmtQcm90b2NvbFR5cGUgPT0g UHJvdG9jb2xUeXBlVGNwNCAmJiBEYXRhLT5Ib3N0SXBBZGRyZXNzRm9ybWF0ICE9IFJFREZJU0hf SE9TVF9JTlRFUkZBQ0VfSE9TVF9JUF9BRERSRVNTX0ZPUk1BVF9JUDQpIHsgLy8gSVB2NCBjYXNl DQo+ICsgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IE5ldHdvcmsgSW50ZXJmYWNlIGlz IElQdjQsIGJ1dCBIb3N0IEludGVyZmFjZSByZXF1aXJlcyBJcHY2XG4iLCBfX2Z1bmNfXykpOw0K PiArICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICsgICAgZWxzZSBp ZiAoSW5zdGFuY2UtPk5ldHdvcmtJbnRlcmZhY2UtPk5ldHdvcmtQcm90b2NvbFR5cGUgPT0gUHJv dG9jb2xUeXBlVGNwNiAmJiBEYXRhLT5Ib3N0SXBBZGRyZXNzRm9ybWF0ICE9IFJFREZJU0hfSE9T VF9JTlRFUkZBQ0VfSE9TVF9JUF9BRERSRVNTX0ZPUk1BVF9JUDYpIHsgLy8gSVB2NiBjYXNlDQo+ ICsgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IE5ldHdvcmsgSW50ZXJmYWNlIGlzIElQ djYsIGJ1dCBIb3N0IEludGVyZmFjZSByZXF1aXJlcyBJUHY0XG4iLCBfX2Z1bmNfXykpOw0KPiAr ICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICAgICAgLy8NCj4gICAg ICAvLyBDaGVjayBpZiB3ZSBjYW4gcmVhY2ggb3V0IFJlZGZpc2ggc2VydmljZSB1c2luZyB0aGlz IG5ldHdvcmsgaW50ZXJmYWNlLg0KPiAgICAgIC8vIENoZWNrIHdpdGggTUFDIGFkZHJlc3MgdXNp bmcgRGV2aWNlIERlc2NyaXB0b3IgRGF0YSBEZXZpY2UgVHlwZSAwNCBhbmQgVHlwZSAwNS4NCj4g QEAgLTExMDIsNiArMTE1NCw3IEBAIFJlZGZpc2hTZXJ2aWNlR2V0TmV0d29ya0ludGVyZmFjZSAo DQo+ICAgIE9VVCBFRklfUkVERklTSF9ESVNDT1ZFUl9ORVRXT1JLX0lOVEVSRkFDRSAgKipOZXR3 b3JrSW50Zkluc3RhbmNlcw0KPiAgICApDQo+ICB7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICAgIEVGSV9SRURGSVNIX0RJ U0NPVkVSX05FVFdPUktfSU5URVJGQUNFX0lOVEVSTkFMICAqVGhpc05ldHdvcmtJbnRlcmZhY2VJ bnRuOw0KPiAgICBFRklfUkVERklTSF9ESVNDT1ZFUl9ORVRXT1JLX0lOVEVSRkFDRSAgICAgICAg ICAgKlRoaXNOZXR3b3JrSW50ZXJmYWNlOw0KPiAgICBFRklfUkVERklTSF9ESVNDT1ZFUl9SRVNU X0VYX0lOU1RBTkNFX0lOVEVSTkFMICAgKlJlc3RFeEluc3RhbmNlOw0KPiBAQCAtMTE0MSw2ICsx MTk0LDE2IEBAIFJlZGZpc2hTZXJ2aWNlR2V0TmV0d29ya0ludGVyZmFjZSAoDQo+DQo+ICAgIFRo aXNOZXR3b3JrSW50ZXJmYWNlSW50biA9IChFRklfUkVERklTSF9ESVNDT1ZFUl9ORVRXT1JLX0lO VEVSRkFDRV9JTlRFUk5BTCAqKUdldEZpcnN0Tm9kZSAoJm1FZmlSZWRmaXNoRGlzY292ZXJOZXR3 b3JrSW50ZXJmYWNlKTsNCj4gICAgd2hpbGUgKFRSVUUpIHsNCj4gKyAgICAvLyBJZiBHZXQgU3Vi bmV0IEluZm8gZmFpbGVkIHRoZW4gc2tpcCB0aGlzIGludGVyZmFjZQ0KPiArICAgIFN0YXR1cyA9 IE5ldHdvcmtJbnRlcmZhY2VHZXRTdWJuZXRJbmZvIChUaGlzTmV0d29ya0ludGVyZmFjZUludG4s IEltYWdlSGFuZGxlKTsgLy8gR2V0IHN1Ym5ldCBpbmZvDQo+ICsgICAgaWYgKEVGSV9FUlJPUihT dGF0dXMpKSB7DQo+ICsgICAgICBpZiAoSXNOb2RlQXRFbmQgKCZtRWZpUmVkZmlzaERpc2NvdmVy TmV0d29ya0ludGVyZmFjZSwgJlRoaXNOZXR3b3JrSW50ZXJmYWNlSW50bi0+RW50cnkpKSB7DQo+ ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgICAgVGhpc05ldHdvcmtJbnRlcmZh Y2VJbnRuID0gKEVGSV9SRURGSVNIX0RJU0NPVkVSX05FVFdPUktfSU5URVJGQUNFX0lOVEVSTkFM ICopR2V0TmV4dE5vZGUgKCZtRWZpUmVkZmlzaERpc2NvdmVyTmV0d29ya0ludGVyZmFjZSwgJlRo aXNOZXR3b3JrSW50ZXJmYWNlSW50bi0+RW50cnkpOw0KPiArICAgICAgY29udGludWU7DQo+ICsg ICAgfQ0KPiArDQo+ICAgICAgVGhpc05ldHdvcmtJbnRlcmZhY2UtPklzSXB2NiA9IEZBTFNFOw0K PiAgICAgIGlmIChDaGVja0lzSXBWZXJzaW9uNiAoVGhpc05ldHdvcmtJbnRlcmZhY2VJbnRuKSkg ew0KPiAgICAgICAgVGhpc05ldHdvcmtJbnRlcmZhY2UtPklzSXB2NiA9IFRSVUU7DQoNCk5vdyB0 aGlzIGxvb3AgbG9va3MgbGlrZToNCg0Kd2hpbGUgKFRSVUUpIHsNCiAgICBTdGF0dXMgPSBOZXR3 b3JrSW50ZXJmYWNlR2V0U3VibmV0SW5mbyAoVGhpc05ldHdvcmtJbnRlcmZhY2VJbnRuLA0KSW1h Z2VIYW5kbGUpOyAvLyBHZXQgc3VibmV0IGluZm8NCiAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQogICAgICBpZiAoQ29uZCkgew0KICAgICAgICBicmVhazsNCiAgICAgIH0NCiAgICAgIGNv bnRpbnVlOw0KICAgIH0NCg0KICAgIFRoaXNOZXR3b3JrSW50ZXJmYWNlLT5Jc0lwdjYgPSBGQUxT RTsNCiAgICBpZiAoQ2hlY2tJc0lwVmVyc2lvbjYgKFRoaXNOZXR3b3JrSW50ZXJmYWNlSW50bikp IHsNCiAgICAgIFRoaXNOZXR3b3JrSW50ZXJmYWNlLT5Jc0lwdjYgPSBUUlVFOw0KICAgIH0NCiAg ICBDb3B5TWVtICgoVk9JRCAqKSZUaGlzTmV0d29ya0ludGVyZmFjZS0+TWFjQWRkcmVzcywNCiZU aGlzTmV0d29ya0ludGVyZmFjZUludG4tPk1hY0FkZHJlc3MsDQpUaGlzTmV0d29ya0ludGVyZmFj ZUludG4tPkh3QWRkcmVzc1NpemUpOw0KICAgIE5ldHdvcmtJbnRlcmZhY2VHZXRTdWJuZXRJbmZv IChUaGlzTmV0d29ya0ludGVyZmFjZUludG4sDQpJbWFnZUhhbmRsZSk7IC8vIEdldCBzdWJuZXQg aW5mby4NCi4uLi4NCg0KSXQgc2VlbXMgdGhlIHNlY29uZCBjYWxsIE5ldHdvcmtJbnRlcmZhY2VH ZXRTdWJuZXRJbmZvKCkgIGlzIG5vdCByZXF1aXJlZC4NCg0KDQpSZWdhcmRzLA0KTWlrZS4NCi1U aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgbWVzc2FnZSBtYXkgYmUgY29uZmlkZW50 aWFsIGFuZCBwcm9wcmlldGFyeSB0byBBbWVyaWNhbiBNZWdhdHJlbmRzIChBTUkpLiBUaGlzIGNv bW11bmljYXRpb24gaXMgaW50ZW5kZWQgdG8gYmUgcmVhZCBvbmx5IGJ5IHRoZSBpbmRpdmlkdWFs IG9yIGVudGl0eSB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZCBvciBieSB0aGVpciBkZXNpZ25lZS4g SWYgdGhlIHJlYWRlciBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGll bnQsIHlvdSBhcmUgb24gbm90aWNlIHRoYXQgYW55IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIG1lc3Nh Z2UsIGluIGFueSBmb3JtLCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBQbGVhc2UgcHJvbXB0bHkg bm90aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSBhdCA3NzAt MjQ2LTg2MDAsIGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMgb2YgdGhlIHRy YW5zbWlzc2lvbi4NCg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBMaW5rczog WW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9SZXBseSBP bmxpbmUgKCMxMTA2NjMpOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8x MTA2NjMKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDIzMjgzMjIvNzY4 NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJzY3JpYmU6 IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVuZncuaW9d Ci09LT0tPS09LT0tPS09LT0tPS09LT0tCgoNCg==