From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1F1CE81ECD for ; Sat, 21 Jan 2017 20:49:26 -0800 (PST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP; 21 Jan 2017 20:49:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,267,1477983600"; d="scan'208";a="56107495" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga005.fm.intel.com with ESMTP; 21 Jan 2017 20:49:25 -0800 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.248.2; Sat, 21 Jan 2017 20:49:25 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.248.2; Sat, 21 Jan 2017 20:49:24 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0248.002; Sun, 22 Jan 2017 12:49:23 +0800 From: "Fu, Siyuan" To: "Zhang, Lubo" , "edk2-devel@lists.01.org" CC: Sriram Subramanian , "Ye, Ting" , "Wu, Jiaxin" Thread-Topic: [patch] NetworkPkg: Fix protocol handler service in HttpDxe. Thread-Index: AQHSdFCVu1P/6agotkuaGYnRYtsEpaFD7Rxg Date: Sun, 22 Jan 2017 04:49:22 +0000 Message-ID: References: <1485049230-21348-1-git-send-email-lubo.zhang@intel.com> In-Reply-To: <1485049230-21348-1-git-send-email-lubo.zhang@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMzIwOTZhZmItZGU4Ni00NjFmLWE5ZjctNzM4NDY0MWZiMTU3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IjBmN2kwT0dpU3NHdU52K3RURmpnR2VBZXpcLzNkNlgwQ3c3UFk5aERvMGNnPSJ9 x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [patch] NetworkPkg: Fix protocol handler service in HttpDxe. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 04:49:26 -0000 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCg0KDQotLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogWmhhbmcsIEx1Ym8gDQpTZW50OiAyMDE3xOox1MIy MsjVIDk6NDENClRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KQ2M6IFNyaXJhbSBTdWJyYW1h bmlhbiA8c3JpcmFtLXNAaHBlLmNvbT47IFllLCBUaW5nIDx0aW5nLnllQGludGVsLmNvbT47IEZ1 LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50 ZWwuY29tPg0KU3ViamVjdDogW3BhdGNoXSBOZXR3b3JrUGtnOiBGaXggcHJvdG9jb2wgaGFuZGxl ciBzZXJ2aWNlIGluIEh0dHBEeGUuDQoNCldoZW4gd2UgY3JlYXRlIGEgSFRUUCBkcml2ZXIgc2Vy dmljZSBiaW5kaW5nIHByaXZhdGUgaW5zdGFuY2UsIHRoZXJlIG1heSBiZSBkaWZmZXJlbnQgRHJp dmVyQmluZGluZ0hhbmRsZSBmb3IgSXB2NCBvciBJcHY2LCBzbyBpdCBpcyBlc3NlbnRpYWwgdG8g ZGlzdGluZ3Vpc2ggdGhlIEh0dHBTZXJ2aWNlIGltYWdlIHdoaWNoIHdpbGwgYmUgdXNlZCBpbiBv cGVuIHByb3RvY29sIG9yIGNsb3NlIHByb3RvY29sLg0KDQpDb250cmlidXRlZC11bmRlcjogVGlh bm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4wDQpTaWduZWQtb2ZmLWJ5OiBaaGFuZyBM dWJvIDxsdWJvLnpoYW5nQGludGVsLmNvbT4NCkNjOiBTcmlyYW0gU3VicmFtYW5pYW4gPHNyaXJh bS1zQGhwZS5jb20+DQpDYzogWWUgVGluZyA8dGluZy55ZUBpbnRlbC5jb20+DQpDYzogRnUgU2l5 dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPg0KQ2M6IFd1IEppYXhpbiA8amlheGluLnd1QGludGVs LmNvbT4NCi0tLQ0KIE5ldHdvcmtQa2cvSHR0cER4ZS9IdHRwRG5zLmMgICAgfCAxOCArKysrKysr Ky0tLS0tLS0tDQogTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBEcml2ZXIuYyB8IDIxICsrKysrKysr Ky0tLS0tLS0tLQ0KIE5ldHdvcmtQa2cvSHR0cER4ZS9IdHRwSW1wbC5jICAgfCAxMSArKysrKysr Ky0tDQogTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBQcm90by5jICB8IDQ4ICsrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBQcm90 by5oICB8ICA1ICsrKy0tDQogNSBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA0OCBk ZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvSHR0cER4ZS9IdHRwRG5zLmMg Yi9OZXR3b3JrUGtnL0h0dHBEeGUvSHR0cERucy5jIGluZGV4IDBmNWZlMTguLjU5Y2Q3YjMgMTAw NjQ0DQotLS0gYS9OZXR3b3JrUGtnL0h0dHBEeGUvSHR0cERucy5jDQorKysgYi9OZXR3b3JrUGtn L0h0dHBEeGUvSHR0cERucy5jDQpAQCAtMSw5ICsxLDkgQEANCiAvKiogQGZpbGUNCiAgIFJvdXRp bmVzIGZvciBIdHRwRHhlIGRyaXZlciB0byBwZXJmb3JtIEROUyByZXNvbHV0aW9uIGJhc2VkIG9u IFVFRkkgRE5TIHByb3RvY29scy4NCiANCi1Db3B5cmlnaHQgKGMpIDIwMTUsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCitDb3B5cmlnaHQgKGMpIDIwMTcsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCiBUaGlzIHByb2dyYW0g YW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZh aWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2Ug IHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0 aGUgbGljZW5zZSBtYXkgYmUgZm91bmQgYXQgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNl cy9ic2QtbGljZW5zZS5waHANCiANCkBAIC04NiwxMSArODYsMTEgQEAgSHR0cERuczQgKA0KICAg Ly8NCiAgIC8vIENyZWF0ZSBhIEROUyBjaGlsZCBpbnN0YW5jZSBhbmQgZ2V0IHRoZSBwcm90b2Nv bC4NCiAgIC8vDQogICBTdGF0dXMgPSBOZXRMaWJDcmVhdGVTZXJ2aWNlQ2hpbGQgKA0KICAgICAg ICAgICAgICBTZXJ2aWNlLT5Db250cm9sbGVySGFuZGxlLA0KLSAgICAgICAgICAgICBTZXJ2aWNl LT5JbWFnZUhhbmRsZSwNCisgICAgICAgICAgICAgU2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hh bmRsZSwNCiAgICAgICAgICAgICAgJmdFZmlEbnM0U2VydmljZUJpbmRpbmdQcm90b2NvbEd1aWQs DQogICAgICAgICAgICAgICZEbnM0SGFuZGxlDQogICAgICAgICAgICAgICk7DQogICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQogICAgIGdvdG8gRXhpdDsNCkBAIC05OCwxMSArOTgsMTEgQEAg SHR0cERuczQgKA0KIA0KICAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2wgKA0KICAgICAgICAg ICAgICAgICAgIERuczRIYW5kbGUsDQogICAgICAgICAgICAgICAgICAgJmdFZmlEbnM0UHJvdG9j b2xHdWlkLA0KICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmRG5zNCwNCi0gICAgICAgICAg ICAgICAgICBTZXJ2aWNlLT5JbWFnZUhhbmRsZSwNCisgICAgICAgICAgICAgICAgICBTZXJ2aWNl LT5JcDREcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAgICAgICAgICAgIFNlcnZpY2UtPkNv bnRyb2xsZXJIYW5kbGUsDQogICAgICAgICAgICAgICAgICAgRUZJX09QRU5fUFJPVE9DT0xfQllf RFJJVkVSDQogICAgICAgICAgICAgICAgICAgKTsNCiAgIGlmIChFRklfRVJST1IgKFN0YXR1cykp IHsNCiAgICAgZ290byBFeGl0Ow0KQEAgLTE5NCwxOSArMTk0LDE5IEBAIEV4aXQ6DQogICAgIERu czQtPkNvbmZpZ3VyZSAoRG5zNCwgTlVMTCk7DQogICAgIA0KICAgICBnQlMtPkNsb3NlUHJvdG9j b2wgKA0KICAgICAgICAgICAgRG5zNEhhbmRsZSwNCiAgICAgICAgICAgICZnRWZpRG5zNFByb3Rv Y29sR3VpZCwNCi0gICAgICAgICAgIFNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAg U2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRsZSwNCiAgICAgICAgICAgIFNlcnZpY2UtPkNv bnRyb2xsZXJIYW5kbGUNCiAgICAgICAgICAgICk7DQogICB9DQogDQogICBpZiAoRG5zNEhhbmRs ZSAhPSBOVUxMKSB7DQogICAgIE5ldExpYkRlc3Ryb3lTZXJ2aWNlQ2hpbGQgKA0KICAgICAgIFNl cnZpY2UtPkNvbnRyb2xsZXJIYW5kbGUsDQotICAgICAgU2VydmljZS0+SW1hZ2VIYW5kbGUsDQor ICAgICAgU2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRsZSwNCiAgICAgICAmZ0VmaURuczRT ZXJ2aWNlQmluZGluZ1Byb3RvY29sR3VpZCwNCiAgICAgICBEbnM0SGFuZGxlDQogICAgICAgKTsN CiAgIH0NCiANCkBAIC0yODgsMTEgKzI4OCwxMSBAQCBIdHRwRG5zNiAoDQogICAvLw0KICAgLy8g Q3JlYXRlIGEgRE5TdjYgY2hpbGQgaW5zdGFuY2UgYW5kIGdldCB0aGUgcHJvdG9jb2wuDQogICAv Lw0KICAgU3RhdHVzID0gTmV0TGliQ3JlYXRlU2VydmljZUNoaWxkICgNCiAgICAgICAgICAgICAg U2VydmljZS0+Q29udHJvbGxlckhhbmRsZSwNCi0gICAgICAgICAgICAgU2VydmljZS0+SW1hZ2VI YW5kbGUsDQorICAgICAgICAgICAgIFNlcnZpY2UtPklwNkRyaXZlckJpbmRpbmdIYW5kbGUsDQog ICAgICAgICAgICAgICZnRWZpRG5zNlNlcnZpY2VCaW5kaW5nUHJvdG9jb2xHdWlkLA0KICAgICAg ICAgICAgICAmRG5zNkhhbmRsZQ0KICAgICAgICAgICAgICApOw0KICAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KICAgICBnb3RvIEV4aXQ7DQpAQCAtMzAwLDExICszMDAsMTEgQEAgSHR0cERu czYgKA0KICAgDQogICBTdGF0dXMgPSBnQlMtPk9wZW5Qcm90b2NvbCAoDQogICAgICAgICAgICAg ICAgICAgRG5zNkhhbmRsZSwNCiAgICAgICAgICAgICAgICAgICAmZ0VmaURuczZQcm90b2NvbEd1 aWQsDQogICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZEbnM2LA0KLSAgICAgICAgICAgICAg ICAgIFNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAgICAgICAgIFNlcnZpY2UtPklw NkRyaXZlckJpbmRpbmdIYW5kbGUsDQogICAgICAgICAgICAgICAgICAgU2VydmljZS0+Q29udHJv bGxlckhhbmRsZSwNCiAgICAgICAgICAgICAgICAgICBFRklfT1BFTl9QUk9UT0NPTF9CWV9EUklW RVINCiAgICAgICAgICAgICAgICAgICApOw0KICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K ICAgICBnb3RvIEV4aXQ7DQpAQCAtMzkxLDE5ICszOTEsMTkgQEAgRXhpdDoNCiAgICAgRG5zNi0+ Q29uZmlndXJlIChEbnM2LCBOVUxMKTsNCiAgICAgDQogICAgIGdCUy0+Q2xvc2VQcm90b2NvbCAo DQogICAgICAgICAgICBEbnM2SGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlEbnM2UHJvdG9jb2xH dWlkLA0KLSAgICAgICAgICAgU2VydmljZS0+SW1hZ2VIYW5kbGUsDQorICAgICAgICAgICBTZXJ2 aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAgICAgU2VydmljZS0+Q29udHJv bGxlckhhbmRsZQ0KICAgICAgICAgICAgKTsNCiAgIH0NCiANCiAgIGlmIChEbnM2SGFuZGxlICE9 IE5VTEwpIHsNCiAgICAgTmV0TGliRGVzdHJveVNlcnZpY2VDaGlsZCAoDQogICAgICAgU2Vydmlj ZS0+Q29udHJvbGxlckhhbmRsZSwNCi0gICAgICBTZXJ2aWNlLT5JbWFnZUhhbmRsZSwNCisgICAg ICBTZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICZnRWZpRG5zNlNlcnZp Y2VCaW5kaW5nUHJvdG9jb2xHdWlkLA0KICAgICAgIERuczZIYW5kbGUNCiAgICAgICApOw0KICAg fQ0KIA0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvSHR0cER4ZS9IdHRwRHJpdmVyLmMgYi9OZXR3 b3JrUGtnL0h0dHBEeGUvSHR0cERyaXZlci5jIGluZGV4IGRlMjc2MzUuLjU3Mjc1MjYgMTAwNjQ0 DQotLS0gYS9OZXR3b3JrUGtnL0h0dHBEeGUvSHR0cERyaXZlci5jDQorKysgYi9OZXR3b3JrUGtn L0h0dHBEeGUvSHR0cERyaXZlci5jDQpAQCAtMSw5ICsxLDkgQEANCiAvKiogQGZpbGUNCiAgIFRo ZSBkcml2ZXIgYmluZGluZyBhbmQgc2VydmljZSBiaW5kaW5nIHByb3RvY29sIGZvciBIdHRwRHhl IGRyaXZlci4NCiANCi0gIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTYsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisgIENvcHlyaWdodCAoYykgMjAxNSAtIDIw MTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KKyByZXNlcnZlZC48QlI+DQogICAo QykgQ29weXJpZ2h0IDIwMTYgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxvcG1lbnQg TFA8QlI+DQogDQogICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxz DQogICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQg Y29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2UNCiAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMg ZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkgYmUgZm91bmQg YXQgQEAgLTQzLDIxICs0MywxOSBAQCBFRklfRFJJVkVSX0JJTkRJTkdfUFJPVE9DT0wgZ0h0dHBE eGVJcDZEcml2ZXJCaW5kaW5nID0gew0KIC8qKg0KICAgQ3JlYXRlIGEgSFRUUCBkcml2ZXIgc2Vy dmljZSBiaW5kaW5nIHByaXZhdGUgaW5zdGFuY2UuDQogDQogICBAcGFyYW1baW5dICBDb250cm9s bGVyICAgICAgICAgVGhlIGNvbnRyb2xsZXIgdGhhdCBoYXMgVENQNCBzZXJ2aWNlIGJpbmRpbmcN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWQuDQotICBAcGFyYW1b aW5dICBJbWFnZUhhbmRsZSAgICAgICAgVGhlIEhUVFAgZHJpdmVyJ3MgaW1hZ2UgaGFuZGxlLg0K ICAgQHBhcmFtW291dF0gU2VydmljZURhdGEgICAgICAgIFBvaW50IHRvIEhUVFAgZHJpdmVyIHBy aXZhdGUgaW5zdGFuY2UuDQogDQogICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgRmFp bGVkIHRvIGFsbG9jYXRlIHNvbWUgcmVzb3VyY2VzLg0KICAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgIEEgbmV3IEhUVFAgZHJpdmVyIHByaXZhdGUgaW5zdGFuY2UgaXMgY3JlYXRlZC4N CiANCiAqKi8NCiBFRklfU1RBVFVTDQogSHR0cENyZWF0ZVNlcnZpY2UgKA0KICAgSU4gIEVGSV9I QU5ETEUgICAgICAgICAgICBDb250cm9sbGVyLA0KLSAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAg ICBJbWFnZUhhbmRsZSwNCiAgIE9VVCBIVFRQX1NFUlZJQ0UgICAgICAgICAgKipTZXJ2aWNlRGF0 YQ0KICAgKQ0KIHsNCiAgIEhUVFBfU0VSVklDRSAgICAgKkh0dHBTZXJ2aWNlOw0KIA0KQEAgLTcw LDExICs2OCwxMCBAQCBIdHRwQ3JlYXRlU2VydmljZSAoDQogICB9DQogDQogICBIdHRwU2Vydmlj ZS0+U2lnbmF0dXJlID0gSFRUUF9TRVJWSUNFX1NJR05BVFVSRTsNCiAgIEh0dHBTZXJ2aWNlLT5T ZXJ2aWNlQmluZGluZy5DcmVhdGVDaGlsZCA9IEh0dHBTZXJ2aWNlQmluZGluZ0NyZWF0ZUNoaWxk Ow0KICAgSHR0cFNlcnZpY2UtPlNlcnZpY2VCaW5kaW5nLkRlc3Ryb3lDaGlsZCA9IEh0dHBTZXJ2 aWNlQmluZGluZ0Rlc3Ryb3lDaGlsZDsNCi0gIEh0dHBTZXJ2aWNlLT5JbWFnZUhhbmRsZSA9IElt YWdlSGFuZGxlOw0KICAgSHR0cFNlcnZpY2UtPkNvbnRyb2xsZXJIYW5kbGUgPSBDb250cm9sbGVy Ow0KICAgSHR0cFNlcnZpY2UtPkNoaWxkcmVuTnVtYmVyID0gMDsNCiAgIEluaXRpYWxpemVMaXN0 SGVhZCAoJkh0dHBTZXJ2aWNlLT5DaGlsZHJlbkxpc3QpOw0KICAgDQogICAqU2VydmljZURhdGEg PSBIdHRwU2VydmljZTsNCkBAIC0xMDIsMTcgKzk5LDE3IEBAIEh0dHBDbGVhblNlcnZpY2UgKA0K ICAgaWYgKCFVc2luZ0lwdjYpIHsNCiAgICAgaWYgKEh0dHBTZXJ2aWNlLT5UY3A0Q2hpbGRIYW5k bGUgIT0gTlVMTCkgew0KICAgICAgIGdCUy0+Q2xvc2VQcm90b2NvbCAoDQogICAgICAgICAgICAg IEh0dHBTZXJ2aWNlLT5UY3A0Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAgICZnRWZpVGNwNFBy b3RvY29sR3VpZCwNCi0gICAgICAgICAgICAgSHR0cFNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAg ICAgICAgICAgICBIdHRwU2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRsZSwNCiAgICAgICAg ICAgICAgSHR0cFNlcnZpY2UtPkNvbnRyb2xsZXJIYW5kbGUNCiAgICAgICAgICAgICAgKTsNCiAg ICAgDQogICAgICAgTmV0TGliRGVzdHJveVNlcnZpY2VDaGlsZCAoDQogICAgICAgICBIdHRwU2Vy dmljZS0+Q29udHJvbGxlckhhbmRsZSwNCi0gICAgICAgIEh0dHBTZXJ2aWNlLT5JbWFnZUhhbmRs ZSwNCisgICAgICAgIEh0dHBTZXJ2aWNlLT5JcDREcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAg ICAgJmdFZmlUY3A0U2VydmljZUJpbmRpbmdQcm90b2NvbEd1aWQsDQogICAgICAgICBIdHRwU2Vy dmljZS0+VGNwNENoaWxkSGFuZGxlDQogICAgICAgICApOw0KICAgICAgIA0KICAgICAgIEh0dHBT ZXJ2aWNlLT5UY3A0Q2hpbGRIYW5kbGUgPSBOVUxMOyBAQCAtMTIwLDE3ICsxMTcsMTcgQEAgSHR0 cENsZWFuU2VydmljZSAoDQogICB9IGVsc2Ugew0KICAgICBpZiAoSHR0cFNlcnZpY2UtPlRjcDZD aGlsZEhhbmRsZSAhPSBOVUxMKSB7DQogICAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAg ICAgICAgICAgSHR0cFNlcnZpY2UtPlRjcDZDaGlsZEhhbmRsZSwNCiAgICAgICAgICAgICAgJmdF ZmlUY3A2UHJvdG9jb2xHdWlkLA0KLSAgICAgICAgICAgICBIdHRwU2VydmljZS0+SW1hZ2VIYW5k bGUsDQorICAgICAgICAgICAgIEh0dHBTZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0K ICAgICAgICAgICAgICBIdHRwU2VydmljZS0+Q29udHJvbGxlckhhbmRsZQ0KICAgICAgICAgICAg ICApOw0KICAgICANCiAgICAgICBOZXRMaWJEZXN0cm95U2VydmljZUNoaWxkICgNCiAgICAgICAg IEh0dHBTZXJ2aWNlLT5Db250cm9sbGVySGFuZGxlLA0KLSAgICAgICAgSHR0cFNlcnZpY2UtPklt YWdlSGFuZGxlLA0KKyAgICAgICAgSHR0cFNlcnZpY2UtPklwNkRyaXZlckJpbmRpbmdIYW5kbGUs DQogICAgICAgICAmZ0VmaVRjcDZTZXJ2aWNlQmluZGluZ1Byb3RvY29sR3VpZCwNCiAgICAgICAg IEh0dHBTZXJ2aWNlLT5UY3A2Q2hpbGRIYW5kbGUNCiAgICAgICAgICk7DQogICAgICAgDQogICAg ICAgSHR0cFNlcnZpY2UtPlRjcDZDaGlsZEhhbmRsZSA9IE5VTEw7IEBAIC0zODAsMTEgKzM3Nywx MSBAQCBIdHRwRHhlU3RhcnQgKA0KICAgICAgICAgICAgICAgICAgICk7DQogDQogICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgew0KICAgICBIdHRwU2VydmljZSA9IEhUVFBfU0VSVklDRV9GUk9N X1BST1RPQ09MIChTZXJ2aWNlQmluZGluZyk7DQogICB9IGVsc2Ugew0KLSAgICBTdGF0dXMgPSBI dHRwQ3JlYXRlU2VydmljZSAoQ29udHJvbGxlckhhbmRsZSwgVGhpcy0+RHJpdmVyQmluZGluZ0hh bmRsZSwgJkh0dHBTZXJ2aWNlKTsNCisgICAgU3RhdHVzID0gSHR0cENyZWF0ZVNlcnZpY2UgKENv bnRyb2xsZXJIYW5kbGUsICZIdHRwU2VydmljZSk7DQogICAgIGlmIChFRklfRVJST1IgKFN0YXR1 cykpIHsNCiAgICAgICByZXR1cm4gU3RhdHVzOw0KICAgICB9DQogICAgIA0KICAgICBBU1NFUlQg KEh0dHBTZXJ2aWNlICE9IE5VTEwpOw0KQEAgLTQwMywxMSArNDAwLDEyIEBAIEh0dHBEeGVTdGFy dCAoDQogICAgICAgZ290byBPTl9FUlJPUjsNCiAgICAgfQ0KICAgfQ0KIA0KICAgaWYgKElwVmVy c2lvbiA9PSBJUF9WRVJTSU9OXzQpIHsNCi0gICAgDQorICAgIEh0dHBTZXJ2aWNlLT5JcDREcml2 ZXJCaW5kaW5nSGFuZGxlID0gVGhpcy0+RHJpdmVyQmluZGluZ0hhbmRsZTsNCisNCiAgICAgaWYg KEh0dHBTZXJ2aWNlLT5UY3A0Q2hpbGRIYW5kbGUgPT0gTlVMTCkgew0KICAgICAgIC8vDQogICAg ICAgLy8gQ3JlYXRlIGEgVENQNCBjaGlsZCBpbnN0YW5jZSwgYnV0IGRvIG5vdCBjb25maWd1cmUg aXQuIFRoaXMgd2lsbCBlc3RhYmxpc2ggdGhlIHBhcmVudC1jaGlsZCByZWxhdGlvbnNoaXAuDQog ICAgICAgLy8NCiAgICAgICBTdGF0dXMgPSBOZXRMaWJDcmVhdGVTZXJ2aWNlQ2hpbGQgKCBAQCAt NDM4LDExICs0MzYsMTIgQEAgSHR0cER4ZVN0YXJ0ICgNCiAgICAgICByZXR1cm4gRUZJX0FMUkVB RFlfU1RBUlRFRDsNCiAgICAgfQ0KIA0KICAgfSBlbHNlIHsNCiAgICAgVXNpbmdJcHY2ID0gVFJV RTsNCi0gICAgDQorICAgIEh0dHBTZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlID0gVGhp cy0+RHJpdmVyQmluZGluZ0hhbmRsZTsNCisNCiAgICAgaWYgKEh0dHBTZXJ2aWNlLT5UY3A2Q2hp bGRIYW5kbGUgPT0gTlVMTCkgew0KICAgICAgIC8vDQogICAgICAgLy8gQ3JlYXRlIGEgVENQNiBj aGlsZCBpbnN0YW5jZSwgYnV0IGRvIG5vdCBjb25maWd1cmUgaXQuIFRoaXMgd2lsbCBlc3RhYmxp c2ggdGhlIHBhcmVudC1jaGlsZCByZWxhdGlvbnNoaXAuDQogICAgICAgLy8NCiAgICAgICBTdGF0 dXMgPSBOZXRMaWJDcmVhdGVTZXJ2aWNlQ2hpbGQgKCBkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9I dHRwRHhlL0h0dHBJbXBsLmMgYi9OZXR3b3JrUGtnL0h0dHBEeGUvSHR0cEltcGwuYyBpbmRleCBk MTlmNzMzLi5iZDhlMGMwIDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBJbXBs LmMNCisrKyBiL05ldHdvcmtQa2cvSHR0cER4ZS9IdHRwSW1wbC5jDQpAQCAtMSw5ICsxLDkgQEAN CiAvKiogQGZpbGUNCiAgIEltcGxlbWVudGF0aW9uIG9mIEVGSV9IVFRQX1BST1RPQ09MIHByb3Rv Y29sIGludGVyZmFjZXMuDQogDQotICBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE2LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorICBDb3B5cmlnaHQgKGMpIDIw MTUgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCisgcmVzZXJ2ZWQuPEJS Pg0KICAgKEMpIENvcHlyaWdodCAyMDE1LTIwMTYgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2Ug RGV2ZWxvcG1lbnQgTFA8QlI+DQogDQogICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlp bmcgbWF0ZXJpYWxzDQogICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRo ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2UNCiAgIHdoaWNoIGFjY29t cGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBt YXkgYmUgZm91bmQgYXQgQEAgLTI0NywxMCArMjQ3LDExIEBAIEVmaUh0dHBSZXF1ZXN0ICgNCiAg IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIFVybExlbjsNCiAgIENIQVIxNiAgICAgICAg ICAgICAgICAgICAgICAgICpIb3N0TmFtZVN0cjsNCiAgIEhUVFBfVE9LRU5fV1JBUCAgICAgICAg ICAgICAgICpXcmFwOw0KICAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgKkZpbGVVcmw7 DQogICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0TXNnU2l6ZTsNCisgIEVG SV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIEltYWdlSGFuZGxlOw0KIA0KICAgLy8NCiAgIC8v IEluaXRpYWxpemF0aW9ucw0KICAgLy8NCiAgIFVybCA9IE5VTEw7DQpAQCAtMzU5LDEyICszNjAs MTggQEAgRWZpSHR0cFJlcXVlc3QgKA0KICAgICAvLw0KICAgICBpZiAoSHR0cEluc3RhbmNlLT5V c2VIdHRwcyAmJiBIdHRwSW5zdGFuY2UtPlRsc0NoaWxkSGFuZGxlID09IE5VTEwpIHsNCiAgICAg ICAvLw0KICAgICAgIC8vIFVzZSBUbHNTYiB0byBjcmVhdGUgVGxzIGNoaWxkIGFuZCBvcGVuIHRo ZSBUTFMgcHJvdG9jb2wuDQogICAgICAgLy8NCisgICAgICBpZiAoSHR0cEluc3RhbmNlLT5Mb2Nh bEFkZHJlc3NJc0lQdjYpIHsNCisgICAgICAgIEltYWdlSGFuZGxlID0gSHR0cEluc3RhbmNlLT5T ZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlOw0KKyAgICAgIH0gZWxzZSB7DQorICAgICAg ICBJbWFnZUhhbmRsZSA9IEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hh bmRsZTsNCisgICAgICB9DQorDQogICAgICAgSHR0cEluc3RhbmNlLT5UbHNDaGlsZEhhbmRsZSA9 IFRsc0NyZWF0ZUNoaWxkICgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEltYWdlSGFuZGxlLA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICYoSHR0cEluc3RhbmNlLT5UbHMpLA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICYoSHR0cEluc3RhbmNlLT5UbHNDb25maWd1cmF0aW9u KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgaWYg KEh0dHBJbnN0YW5jZS0+VGxzQ2hpbGRIYW5kbGUgPT0gTlVMTCkgew0KICAgICAgICAgcmV0dXJu IEVGSV9ERVZJQ0VfRVJST1I7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBQ cm90by5jIGIvTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBQcm90by5jIGluZGV4IDJlOGM0MmUuLjNk NjFiYTIgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL0h0dHBEeGUvSHR0cFByb3RvLmMNCisrKyBi L05ldHdvcmtQa2cvSHR0cER4ZS9IdHRwUHJvdG8uYw0KQEAgLTY0MCwxMSArNjQwLDExIEBAIEh0 dHBJbml0UHJvdG9jb2wgKA0KICAgICAvLw0KICAgICAvLyBDcmVhdGUgVENQNCBjaGlsZC4NCiAg ICAgLy8NCiAgICAgU3RhdHVzID0gTmV0TGliQ3JlYXRlU2VydmljZUNoaWxkICgNCiAgICAgICAg ICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkNvbnRyb2xsZXJIYW5kbGUsDQotICAgICAg ICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwNCisgICAgICAgICAg ICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPklwNERyaXZlckJpbmRpbmdIYW5kbGUsDQogICAg ICAgICAgICAgICAgJmdFZmlUY3A0U2VydmljZUJpbmRpbmdQcm90b2NvbEd1aWQsDQogICAgICAg ICAgICAgICAgJkh0dHBJbnN0YW5jZS0+VGNwNENoaWxkSGFuZGxlDQogICAgICAgICAgICAgICAg KTsNCiANCiAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KQEAgLTY1MywxMSArNjUzLDEx IEBAIEh0dHBJbml0UHJvdG9jb2wgKA0KIA0KICAgICBTdGF0dXMgPSBnQlMtPk9wZW5Qcm90b2Nv bCAoDQogICAgICAgICAgICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlRjcDRDaGlsZEhhbmRsZSwN CiAgICAgICAgICAgICAgICAgICAgICZnRWZpVGNwNFByb3RvY29sR3VpZCwNCiAgICAgICAgICAg ICAgICAgICAgIChWT0lEICoqKSAmSW50ZXJmYWNlLA0KLSAgICAgICAgICAgICAgICAgICAgSHR0 cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwNCisgICAgICAgICAgICAgICAgICAgIEh0 dHBJbnN0YW5jZS0+U2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRsZSwNCiAgICAgICAgICAg ICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+Q29udHJvbGxlckhhbmRsZSwNCiAgICAg ICAgICAgICAgICAgICAgIEVGSV9PUEVOX1BST1RPQ09MX0JZX0RSSVZFUg0KICAgICAgICAgICAg ICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgIA0KICAgICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQpAQCAtNjY2LDExICs2NjYsMTEgQEAgSHR0cEluaXRQcm90b2NvbCAoDQogDQog ICAgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sICgNCiAgICAgICAgICAgICAgICAgICAgIEh0 dHBJbnN0YW5jZS0+VGNwNENoaWxkSGFuZGxlLA0KICAgICAgICAgICAgICAgICAgICAgJmdFZmlU Y3A0UHJvdG9jb2xHdWlkLA0KICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZIdHRwSW5z dGFuY2UtPlRjcDQsDQotICAgICAgICAgICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2Ut PkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNl LT5JcDREcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAgICAgICAgICAgICAgSHR0cEluc3Rh bmNlLT5IYW5kbGUsDQogICAgICAgICAgICAgICAgICAgICBFRklfT1BFTl9QUk9UT0NPTF9CWV9D SElMRF9DT05UUk9MTEVSDQogICAgICAgICAgICAgICAgICAgICApOw0KICAgICBpZiAoRUZJX0VS Uk9SKFN0YXR1cykpIHsNCiAgICAgICBnb3RvIE9OX0VSUk9SOw0KQEAgLTY3OCwxMSArNjc4LDEx IEBAIEh0dHBJbml0UHJvdG9jb2wgKA0KIA0KICAgICBTdGF0dXMgPSBnQlMtPk9wZW5Qcm90b2Nv bCAoDQogICAgICAgICAgICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPlRjcDRDaGls ZEhhbmRsZSwNCiAgICAgICAgICAgICAgICAgICAgICZnRWZpVGNwNFByb3RvY29sR3VpZCwNCiAg ICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmSW50ZXJmYWNlLA0KLSAgICAgICAgICAgICAg ICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwNCisgICAgICAgICAgICAg ICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRsZSwNCiAg ICAgICAgICAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+SGFuZGxlLA0KICAgICAgICAgICAgICAg ICAgICAgRUZJX09QRU5fUFJPVE9DT0xfQllfQ0hJTERfQ09OVFJPTExFUg0KICAgICAgICAgICAg ICAgICAgICAgKTsNCiAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQogICAgICAgZ290byBP Tl9FUlJPUjsNCkBAIC02OTEsMTEgKzY5MSwxMSBAQCBIdHRwSW5pdFByb3RvY29sICgNCiAgICAg Ly8NCiAgICAgLy8gQ3JlYXRlIFRDUDYgQ2hpbGQuDQogICAgIC8vDQogICAgIFN0YXR1cyA9IE5l dExpYkNyZWF0ZVNlcnZpY2VDaGlsZCAoDQogICAgICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5T ZXJ2aWNlLT5Db250cm9sbGVySGFuZGxlLA0KLSAgICAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+ U2VydmljZS0+SW1hZ2VIYW5kbGUsDQorICAgICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2 aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAgICAgICAgICZnRWZpVGNwNlNl cnZpY2VCaW5kaW5nUHJvdG9jb2xHdWlkLA0KICAgICAgICAgICAgICAgICZIdHRwSW5zdGFuY2Ut PlRjcDZDaGlsZEhhbmRsZQ0KICAgICAgICAgICAgICAgICk7DQogDQogICAgIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCkBAIC03MDQsMTEgKzcwNCwxMSBAQCBIdHRwSW5pdFByb3RvY29sICgN CiANCiAgICAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2wgKA0KICAgICAgICAgICAgICAgICAg ICAgSHR0cEluc3RhbmNlLT5UY3A2Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAgICAgICAgICAm Z0VmaVRjcDZQcm90b2NvbEd1aWQsDQogICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJklu dGVyZmFjZSwNCi0gICAgICAgICAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SW1h Z2VIYW5kbGUsDQorICAgICAgICAgICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPklw NkRyaXZlckJpbmRpbmdIYW5kbGUsDQogICAgICAgICAgICAgICAgICAgICBIdHRwSW5zdGFuY2Ut PlNlcnZpY2UtPkNvbnRyb2xsZXJIYW5kbGUsDQogICAgICAgICAgICAgICAgICAgICBFRklfT1BF Tl9QUk9UT0NPTF9CWV9EUklWRVINCiAgICAgICAgICAgICAgICAgICAgICk7DQogICAgIA0KICAg ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQpAQCAtNzE3LDExICs3MTcsMTEgQEAgSHR0cElu aXRQcm90b2NvbCAoDQogDQogICAgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sICgNCiAgICAg ICAgICAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+VGNwNkNoaWxkSGFuZGxlLA0KICAgICAgICAg ICAgICAgICAgICAgJmdFZmlUY3A2UHJvdG9jb2xHdWlkLA0KICAgICAgICAgICAgICAgICAgICAg KFZPSUQgKiopICZIdHRwSW5zdGFuY2UtPlRjcDYsDQotICAgICAgICAgICAgICAgICAgICBIdHRw SW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAgICAgICAgICAgSHR0 cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAgICAg ICAgICAgICAgSHR0cEluc3RhbmNlLT5IYW5kbGUsDQogICAgICAgICAgICAgICAgICAgICBFRklf T1BFTl9QUk9UT0NPTF9CWV9DSElMRF9DT05UUk9MTEVSDQogICAgICAgICAgICAgICAgICAgICAp Ow0KICAgICANCiAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQpAQCAtNzMwLDExICs3MzAs MTEgQEAgSHR0cEluaXRQcm90b2NvbCAoDQogDQogICAgIFN0YXR1cyA9IGdCUy0+T3BlblByb3Rv Y29sICgNCiAgICAgICAgICAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+VGNwNkNo aWxkSGFuZGxlLA0KICAgICAgICAgICAgICAgICAgICAgJmdFZmlUY3A2UHJvdG9jb2xHdWlkLA0K ICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZJbnRlcmZhY2UsDQotICAgICAgICAgICAg ICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAg ICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0K ICAgICAgICAgICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5IYW5kbGUsDQogICAgICAgICAgICAg ICAgICAgICBFRklfT1BFTl9QUk9UT0NPTF9CWV9DSElMRF9DT05UUk9MTEVSDQogICAgICAgICAg ICAgICAgICAgICApOw0KIA0KICAgICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCkBAIC03NTQs NjYgKzc1NCw2NiBAQCBPTl9FUlJPUjoNCiAgIA0KICAgaWYgKEh0dHBJbnN0YW5jZS0+VGNwNENo aWxkSGFuZGxlICE9IE5VTEwpIHsNCiAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAgICAg ICAgIEh0dHBJbnN0YW5jZS0+VGNwNENoaWxkSGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlUY3A0 UHJvdG9jb2xHdWlkLA0KLSAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhh bmRsZSwNCisgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA0RHJpdmVyQmluZGlu Z0hhbmRsZSwNCiAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+Q29udHJvbGxlckhh bmRsZQ0KICAgICAgICAgICAgKTsNCiANCiAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAg ICAgICAgIEh0dHBJbnN0YW5jZS0+VGNwNENoaWxkSGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlU Y3A0UHJvdG9jb2xHdWlkLA0KLSAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFn ZUhhbmRsZSwNCisgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA0RHJpdmVyQmlu ZGluZ0hhbmRsZSwNCiAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+SGFuZGxlDQogICAgICAgICAg ICApOyAgICANCiAgICAgDQogICAgIE5ldExpYkRlc3Ryb3lTZXJ2aWNlQ2hpbGQgKA0KICAgICAg IEh0dHBJbnN0YW5jZS0+U2VydmljZS0+Q29udHJvbGxlckhhbmRsZSwNCi0gICAgICBIdHRwSW5z dGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgIEh0dHBJbnN0YW5jZS0+U2Vydmlj ZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRsZSwNCiAgICAgICAmZ0VmaVRjcDRTZXJ2aWNlQmluZGlu Z1Byb3RvY29sR3VpZCwNCiAgICAgICBIdHRwSW5zdGFuY2UtPlRjcDRDaGlsZEhhbmRsZQ0KICAg ICAgICk7DQogICB9DQogICANCiAgIGlmIChIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPlRjcDRDaGls ZEhhbmRsZSAhPSBOVUxMKSB7DQogICAgIGdCUy0+Q2xvc2VQcm90b2NvbCAoDQogICAgICAgICAg ICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPlRjcDRDaGlsZEhhbmRsZSwNCiAgICAgICAgICAgICZn RWZpVGNwNFByb3RvY29sR3VpZCwNCi0gICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+ SW1hZ2VIYW5kbGUsDQorICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPklwNERyaXZl ckJpbmRpbmdIYW5kbGUsDQogICAgICAgICAgICBIdHRwSW5zdGFuY2UtPkhhbmRsZQ0KICAgICAg ICAgICAgKTsNCiAgIH0NCiAgIA0KICAgaWYgKEh0dHBJbnN0YW5jZS0+VGNwNkNoaWxkSGFuZGxl ICE9IE5VTEwpIHsNCiAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAgICAgICAgIEh0dHBJ bnN0YW5jZS0+VGNwNkNoaWxkSGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlUY3A2UHJvdG9jb2xH dWlkLA0KLSAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwNCisg ICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA2RHJpdmVyQmluZGluZ0hhbmRsZSwN CiAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+Q29udHJvbGxlckhhbmRsZQ0KICAg ICAgICAgICAgKTsNCiANCiAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAgICAgICAgIEh0 dHBJbnN0YW5jZS0+VGNwNkNoaWxkSGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlUY3A2UHJvdG9j b2xHdWlkLA0KLSAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwN CisgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA2RHJpdmVyQmluZGluZ0hhbmRs ZSwNCiAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+SGFuZGxlDQogICAgICAgICAgICApOw0KICAg ICANCiAgICAgTmV0TGliRGVzdHJveVNlcnZpY2VDaGlsZCAoDQogICAgICAgSHR0cEluc3RhbmNl LT5TZXJ2aWNlLT5Db250cm9sbGVySGFuZGxlLA0KLSAgICAgIEh0dHBJbnN0YW5jZS0+U2Vydmlj ZS0+SW1hZ2VIYW5kbGUsDQorICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDZEcml2ZXJC aW5kaW5nSGFuZGxlLA0KICAgICAgICZnRWZpVGNwNlNlcnZpY2VCaW5kaW5nUHJvdG9jb2xHdWlk LA0KICAgICAgIEh0dHBJbnN0YW5jZS0+VGNwNkNoaWxkSGFuZGxlDQogICAgICAgKTsNCiAgIH0N CiAgIA0KICAgaWYgKEh0dHBJbnN0YW5jZS0+U2VydmljZS0+VGNwNkNoaWxkSGFuZGxlICE9IE5V TEwpIHsNCiAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAgICAgICAgIEh0dHBJbnN0YW5j ZS0+U2VydmljZS0+VGNwNkNoaWxkSGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlUY3A2UHJvdG9j b2xHdWlkLA0KLSAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwN CisgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA2RHJpdmVyQmluZGluZ0hhbmRs ZSwNCiAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+SGFuZGxlDQogICAgICAgICAgICApOw0KICAg fQ0KIA0KICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCkBAIC04NjYsNjYgKzg2Niw2NiBAQCBI dHRwQ2xlYW5Qcm90b2NvbCAoDQogDQogICBpZiAoSHR0cEluc3RhbmNlLT5UY3A0Q2hpbGRIYW5k bGUgIT0gTlVMTCkgew0KICAgICBnQlMtPkNsb3NlUHJvdG9jb2wgKA0KICAgICAgICAgICAgSHR0 cEluc3RhbmNlLT5UY3A0Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAmZ0VmaVRjcDRQcm90b2Nv bEd1aWQsDQotICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0K KyAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDREcml2ZXJCaW5kaW5nSGFuZGxl LA0KICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5Db250cm9sbGVySGFuZGxlDQog ICAgICAgICAgICApOw0KIA0KICAgICBnQlMtPkNsb3NlUHJvdG9jb2wgKA0KICAgICAgICAgICAg SHR0cEluc3RhbmNlLT5UY3A0Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAmZ0VmaVRjcDRQcm90 b2NvbEd1aWQsDQotICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxl LA0KKyAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDREcml2ZXJCaW5kaW5nSGFu ZGxlLA0KICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5IYW5kbGUNCiAgICAgICAgICAgICk7DQog ICAgIA0KICAgICBOZXRMaWJEZXN0cm95U2VydmljZUNoaWxkICgNCiAgICAgICBIdHRwSW5zdGFu Y2UtPlNlcnZpY2UtPkNvbnRyb2xsZXJIYW5kbGUsDQotICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2 aWNlLT5JbWFnZUhhbmRsZSwNCisgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPklwNERyaXZl ckJpbmRpbmdIYW5kbGUsDQogICAgICAgJmdFZmlUY3A0U2VydmljZUJpbmRpbmdQcm90b2NvbEd1 aWQsDQogICAgICAgSHR0cEluc3RhbmNlLT5UY3A0Q2hpbGRIYW5kbGUNCiAgICAgICApOw0KICAg fQ0KIA0KICAgaWYgKEh0dHBJbnN0YW5jZS0+U2VydmljZS0+VGNwNENoaWxkSGFuZGxlICE9IE5V TEwpIHsNCiAgICAgZ0JTLT5DbG9zZVByb3RvY29sICgNCiAgICAgICAgICAgIEh0dHBJbnN0YW5j ZS0+U2VydmljZS0+VGNwNENoaWxkSGFuZGxlLA0KICAgICAgICAgICAgJmdFZmlUY3A0UHJvdG9j b2xHdWlkLA0KLSAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRsZSwN CisgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+U2VydmljZS0+SXA0RHJpdmVyQmluZGluZ0hhbmRs ZSwNCiAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+SGFuZGxlDQogICAgICAgICAgICApOw0KICAg fSAgDQogDQogICBpZiAoSHR0cEluc3RhbmNlLT5UY3A2Q2hpbGRIYW5kbGUgIT0gTlVMTCkgew0K ICAgICBnQlMtPkNsb3NlUHJvdG9jb2wgKA0KICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5UY3A2 Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAmZ0VmaVRjcDZQcm90b2NvbEd1aWQsDQotICAgICAg ICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAgSHR0 cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAgICAg SHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5Db250cm9sbGVySGFuZGxlDQogICAgICAgICAgICApOw0K IA0KICAgICBnQlMtPkNsb3NlUHJvdG9jb2wgKA0KICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5U Y3A2Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAmZ0VmaVRjcDZQcm90b2NvbEd1aWQsDQotICAg ICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAg SHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAg ICAgSHR0cEluc3RhbmNlLT5IYW5kbGUNCiAgICAgICAgICAgICk7DQogICAgIA0KICAgICBOZXRM aWJEZXN0cm95U2VydmljZUNoaWxkICgNCiAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkNv bnRyb2xsZXJIYW5kbGUsDQotICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JbWFnZUhhbmRs ZSwNCisgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPklwNkRyaXZlckJpbmRpbmdIYW5kbGUs DQogICAgICAgJmdFZmlUY3A2U2VydmljZUJpbmRpbmdQcm90b2NvbEd1aWQsDQogICAgICAgSHR0 cEluc3RhbmNlLT5UY3A2Q2hpbGRIYW5kbGUNCiAgICAgICApOw0KICAgfQ0KICAgDQogICBpZiAo SHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5UY3A2Q2hpbGRIYW5kbGUgIT0gTlVMTCkgew0KICAgICBn QlMtPkNsb3NlUHJvdG9jb2wgKA0KICAgICAgICAgICAgSHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5U Y3A2Q2hpbGRIYW5kbGUsDQogICAgICAgICAgICAmZ0VmaVRjcDZQcm90b2NvbEd1aWQsDQotICAg ICAgICAgICBIdHRwSW5zdGFuY2UtPlNlcnZpY2UtPkltYWdlSGFuZGxlLA0KKyAgICAgICAgICAg SHR0cEluc3RhbmNlLT5TZXJ2aWNlLT5JcDZEcml2ZXJCaW5kaW5nSGFuZGxlLA0KICAgICAgICAg ICAgSHR0cEluc3RhbmNlLT5IYW5kbGUNCiAgICAgICAgICAgICk7DQogICB9DQogDQogICBUbHND bG9zZVR4UnhFdmVudCAoSHR0cEluc3RhbmNlKTsNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL0h0 dHBEeGUvSHR0cFByb3RvLmggYi9OZXR3b3JrUGtnL0h0dHBEeGUvSHR0cFByb3RvLmggaW5kZXgg Y2VkOGFjYS4uOTVmYjQ4NCAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvSHR0cER4ZS9IdHRwUHJv dG8uaA0KKysrIGIvTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBQcm90by5oDQpAQCAtMSw5ICsxLDkg QEANCiAvKiogQGZpbGUNCiAgIFRoZSBoZWFkZXIgZmlsZXMgb2YgbWlzY2VsbGFuZW91cyByb3V0 aW5lcyBmb3IgSHR0cER4ZSBkcml2ZXIuDQogDQotQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxNiwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KK0NvcHlyaWdodCAo YykgMjAxNSAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCiAoQykgQ29weXJpZ2h0IDIwMTYgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxv cG1lbnQgTFA8QlI+ICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxz ICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29u ZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2UgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJp YnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkgYmUgZm91bmQgYXQgIGh0 dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHANCkBAIC01NywxMSAr NTcsMTIgQEAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkgS0lO RCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRC4NCiAjZGVmaW5lIEhUVFBfVVJMX0JVRkZFUl9M RU4gICAgICAgICAgNDA5Ng0KIA0KIHR5cGVkZWYgc3RydWN0IF9IVFRQX1NFUlZJQ0Ugew0KICAg VUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgU2lnbmF0dXJlOw0KICAgRUZJX1NFUlZJQ0Vf QklORElOR19QUk9UT0NPTCAgU2VydmljZUJpbmRpbmc7DQotICBFRklfSEFORExFICAgICAgICAg ICAgICAgICAgICBJbWFnZUhhbmRsZTsNCisgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAg IElwNERyaXZlckJpbmRpbmdIYW5kbGU7DQorICBFRklfSEFORExFICAgICAgICAgICAgICAgICAg ICBJcDZEcml2ZXJCaW5kaW5nSGFuZGxlOw0KICAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAg ICAgQ29udHJvbGxlckhhbmRsZTsNCiAgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIFRj cDRDaGlsZEhhbmRsZTsNCiAgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIFRjcDZDaGls ZEhhbmRsZTsNCiAgIExJU1RfRU5UUlkgICAgICAgICAgICAgICAgICAgIENoaWxkcmVuTGlzdDsN CiAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIENoaWxkcmVuTnVtYmVyOw0KLS0NCjEu OS41Lm1zeXNnaXQuMQ0KDQo=