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 D87B9AC0E2E for ; Wed, 29 Nov 2023 08:25:50 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=Oc+X3h7qwKHhOlaXqnHFJPscZCcunCUKfqXvCqbXj8c=; 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=1701246349; v=1; b=DTTp6uLXr7Pd1oH0BT5mqXk+FxgzMi/SuChtkUiuLdg4j9hJ95AjMdEvg/Huemct+dPI+V9J 4HaD6kgvlEc1vRuQcWYs/4UTNda+rY992AFr6xBinQzJoHtlbyTwELdoGtyZVHr1eJKo/h0I/Ey /R1ZoHFCyJzr1Os7RUqQP73I= X-Received: by 127.0.0.2 with SMTP id raz7YY7687511xGkoeePNa5a; Wed, 29 Nov 2023 00:25:49 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.26890.1701246348370397424 for ; Wed, 29 Nov 2023 00:25:48 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10908"; a="479322386" X-IronPort-AV: E=Sophos;i="6.04,235,1695711600"; d="scan'208";a="479322386" X-Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Nov 2023 00:25:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,235,1695711600"; d="scan'208";a="10352089" X-Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Nov 2023 00:25:47 -0800 X-Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Wed, 29 Nov 2023 00:25:46 -0800 X-Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Wed, 29 Nov 2023 00:25:46 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Wed, 29 Nov 2023 00:25:45 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C6h1H0qBVeGJ4PKLnCdLggvPGHQdAZRbECWTeCoTFV6FpkJfkbf8msplNo8kmBf+aaAGhyMzzuM8XeDLM62/6A5aT8j/2ZrdDe7FXho6Z1XwWl0uNNYZBZIyVhFPaG5twa/XN4pfsablMiE4glAXUdBPw9Cw01KxPDBuFqX6a9VFD+GwdhHKxRQ85PvK2fUnUxc0KHnxCcHhFFW2ir4luD7VxCpkU8BPKmqsZ/kQl4EkEFJvxlWFBNPj0Xze65ZIfGkLeYWwhMG5q6CukgXQAFufFm9TS6VZ+FkUxfay3PoXu1bzOjG6FGvxF7S1TmcPbykkFzNVIhkMnYqEx9ozbQ== 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=2DO10ogfOFMPDatlUMibW6/zBPhaoOF4ctiuLasRxs0=; b=cu/IMdIklTPfJzcH7emRY28FWB9vKYnYTPsm1bDgg1jQBJDXTPnVGs6eyMYclAup+qN/poNnGgaEzQAyZyNU7i8OCLCYp/X8KCERPaNT4I3IqHAQMY8RA8eTpfgxOo4zZQMGAwSmqatHzst7D8mozftKwjCpGOST5q1O3vvBhaf7xUAqd6j0WeX64GlPd+yFB23FUQewyk0rDbluwMzqlJvl4QPqyNfgTyNuJJPDRsh7gIoORugqDoxQHcGrjKXxIAMo0K7H3opXD1UvVZAd8K4H0JTLe9KIwXZIzZYlFSnnL96oJV8InHdTuoJ3sRHsmpFvEvmJ/zNFqzv5FQZhGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from MW5PR11MB5906.namprd11.prod.outlook.com (2603:10b6:303:1a0::21) by SJ0PR11MB6768.namprd11.prod.outlook.com (2603:10b6:a03:47f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov 2023 08:25:43 +0000 X-Received: from MW5PR11MB5906.namprd11.prod.outlook.com ([fe80::5cfe:c156:aa65:75e]) by MW5PR11MB5906.namprd11.prod.outlook.com ([fe80::5cfe:c156:aa65:75e%3]) with mapi id 15.20.7025.022; Wed, 29 Nov 2023 08:25:43 +0000 From: "Yuwei Chen" To: "Gao, Liming" , "Feng, Bob C" CC: 'Rebecca Cran' , "devel@edk2.groups.io" , "Chen, Christine" , "Guo, Gua" Subject: Re: [edk2-devel] [Patch V2 1/4] BaseTools: fixing FMMT ShrinkFv issue Thread-Topic: [edk2-devel] [Patch V2 1/4] BaseTools: fixing FMMT ShrinkFv issue Thread-Index: AQHZqjqnOrgRz1+Kpk2l/i/F4mklM6+hWFbAgGGPLoCAEmDXMIB8nMJA Date: Wed, 29 Nov 2023 08:25:43 +0000 Message-ID: References: <20230629033420.872-1-yuwei.chen@intel.com> <046601d9db1d$fdb03b60$f910b220$@byosoft.com.cn> <1783B3A3A09571FB.23877@groups.io> In-Reply-To: <1783B3A3A09571FB.23877@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5906:EE_|SJ0PR11MB6768:EE_ x-ms-office365-filtering-correlation-id: 96fb89fd-ead1-401b-0543-08dbf0b4c74b x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: NPeJvDhW3CWY45Apcl7XrR+3Di8v7kQcYSLXaDyB1nr67U0Ef7X9u6tecaYFnzx1YVWyy8j4/WQ8xR7YLNsUOssMFvvONXueuoHA6qbr4LeKenZkVpQUJHW6kTJOmvjblVHEdmzCdse8YbvSmd/LorwZuu+APRyEVNLR6f9GHicj+mVU3cSE32tYeSKbD2+CZyoAwSAvdFCPehmqILc/49xbXNG2NOu5BBoNgIYfP+9m2sv3L22r5Lc3bUu0OhYZbEFIaVPTWKJPbfRyzATCZ/H3/0ELr/1wJiHxmp2aiEc5ARY3n1/y0lytk9cKOj3swJXhOBPNlvjOHw0ao1d/ObjdFVRUrTtvNZxgyETwpDme6HypgnYtH9CxCAMPIsIgq3oXEGv9CJ1KkDuGi/Z4XFWUkqAC0gtxmPhz1mzsmEmABxkb/k519TiGTc6Rfh5jAOGHqshqBJ5xm0Ocgu22q2kIK8JqJosiTQWx4FFQSweG0RKtpqhTqK7/sLTivWhXRnRYodBUXlC0K33TdmzTE5Fr8G4Gw5H5j4gNLt4rt1pinOSjMWwJQ7179ngVoPXWt26C3lEWPFSUArvTp2OBt3LW5MwvzGZTwWjLBJx9+g1bbsRZMaaPQCNV8lQy7GrPsqHixfGGpD+SH0ncS+pVzA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Sks5Q3ZHRW9jOUtlc3FEZ2N1WDhOV0FoVnBwV1BwaTVBZDlCTWFRSmhvLytR?= =?utf-8?B?Y25DcjVhUG14TVlVRFNFVW1uZ05KVFcxZEkyclFjVll1ZXp0clY5TmpPOGxO?= =?utf-8?B?QTBWd3laZWNaRkptdWZqWEwweWlBMnhCTENZNWphN2IySm5ld0NPQk9QWmcz?= =?utf-8?B?anhFMmRpRC8vRUovY0tyUEZrZWRKdmVxUDFYU2hRTzFtOVIzTC9KcjZTUnVS?= =?utf-8?B?QkNPeG1JNzFzRUI3cEk1QkJaTVF0aVI0eTMwazBFSVVuUUprUkJuQUFRWXRB?= =?utf-8?B?alNMZWVGcHNlQ0FFU1JmNU1RWlNuU1dZWUZYai9tNkxBY24xYkVlUktUL3Fy?= =?utf-8?B?TjkyQWgyb0tJTUNtZG1wbmxsQUFaNTl3Zi9haHpkT1o1N0FBYkQwVVJ3d3VX?= =?utf-8?B?eWJkVVZLMmcyVzlDVWw1bGQzTThydWpURjVrbXBvV0o0YU5oUUFZTTN1SVI4?= =?utf-8?B?Wk1oMWhGdHRybzR1aU0vZGtvRVkvU1cyRFcrbUw5QXBDOFBjSjh1enJyOGMz?= =?utf-8?B?dGV2VHYxMTZjclhNREpBTHhHWDNXa3IwbE9oN3VMdDlJUGhnVlB1T2t1UytR?= =?utf-8?B?S1JhQ2pYbEdJbnBTS2VGanBBWXhLemlXTWJ0SzBObUxKQWlKSDZZeVJ4cHhr?= =?utf-8?B?S2dEU1dLZEZaUDFkdXZKYmczZk9JbmdvbndQSGQyMkUycUl5Qkh4L2thVmxY?= =?utf-8?B?RU1OK1FGVFZWNUFvcHdZemF6NG1MVmo2UW01QkVYNDNSZjNxaE1JZm5naWgv?= =?utf-8?B?OWFPZ1VMVmVqY0kvcGtzWlV1MmVUNWpGN09aUFlJSlYwMytKMTc1SGxZOXUv?= =?utf-8?B?cEhKM0QzNUVjNmNzK1FpNERZQXVFMllQWHh4NTBNeTQyTEFHakVpTFpuWGx0?= =?utf-8?B?ZWdJZWZBc2NMZWs0MlFreGUrSDlyTkxLN2FtNmVPSFNHaUliRHFBUGJQVWFt?= =?utf-8?B?b3NXOHN4YVZjcEdIV1VpUUhjWTQ1cVU3eXJzOG5qZkpJSUp1c29UYXhVSHph?= =?utf-8?B?WFJHV3AreU9DNUJvQ2lRV3BlODF2ejZqbGkwUjNSZVh1MndWbTlqWXliNEJG?= =?utf-8?B?b1ZieUR5N2ZhaFFPbWpPeFY4Z1E2TjZvV01jSkw3c2JjczJCWE9BY0M0aTh5?= =?utf-8?B?WHR1YlBNZW9Ed0tVWjRLYjN6b2k1ZVRDWW9MS3BTUEQ4REhLME43MGxoUmMz?= =?utf-8?B?S2YydUFOeWFLR3pwVFV4YkhnU2pQZzU1TnBIZkpvU1lDT2YrK3hHQ2pnOW5z?= =?utf-8?B?WForNTEvcjB2Ym11ZmpvWmgrYTZkTmJuYy9zNDh0eHBrNVAwWkNJTjBGa0h3?= =?utf-8?B?UUExc1FNMXdLUDdCVElRN216K1dobWlwMmdDYzNxMlB5a20rcU1iTFJURFVP?= =?utf-8?B?NnZodE85UXZyNjJyV2tJM1BPZVlQa0tzS0Jwdk5hWEZoVXR3UWRQSTVDdzl6?= =?utf-8?B?VDVZV3ZwRVdTS0d3UjdLY2l3RG8rVnFEMmVpQTBONzdxSmQwQ1hTd1MxQ25q?= =?utf-8?B?cUZ6Y1FnamRGRXF2OEpCS1RuTE1paVNmVENPTmRSL2NUVnRUZm1MOSt3VW55?= =?utf-8?B?M1hKd3FNZDFXK2xFUVRhWXZObHJkekhxTVcvUHpodlhURVE1S01sWU1oVzVX?= =?utf-8?B?UWlmV2ZZNU9hR1pZRTV4M0FEUVY3aE5WWThDbFZnQkZmNThKT2s2dFd0cjlB?= =?utf-8?B?dUh1QS9mM1poQjZCVkEyaFdMU1VqRnQ1OG90QmRBaDVuQm5Pd1lFNnlqZnpn?= =?utf-8?B?NzZrWVJsVTREV1BJZzdWM1R2NkZSc1pGbTFlanZ5L0x6Q0xyc09JSzlMRnZz?= =?utf-8?B?bkFjYmZCZy9DWWdiekRwRXJTVnd6SjJZYXhxbUxJTmdXSjNPaytqbEVxaXds?= =?utf-8?B?YzhRaVNmRkJrK2JpQy9Ebk4wT2grekhhTEJoRWlXblhwOURGUHhCNlR2Y0I5?= =?utf-8?B?cFN1dURwL3YvaHNEZG9tV3gweUZHQTFrcnM5YzJXSjVwdm1XMVRsbDJVVFlP?= =?utf-8?B?dTMvMzc5ZDRnZlZoNS9yeE5uWkxaQmlzNFRKa0dOVHhoSkgyMTZFbDlmRnlx?= =?utf-8?B?RTI5L1JyUGxmQnNXTXVHNmVPUC8xaGQwWWhDMnkwVmFZdGVTNlZuTGdrQm0v?= =?utf-8?Q?Vuy5Vx3GVZDIHOHF+hSc5DkiP?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5906.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96fb89fd-ead1-401b-0543-08dbf0b4c74b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2023 08:25:43.1039 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: iK/nvFHqOYd4didPJxVvwrtaZDFRNwqthnIujEy7pJTFcn/L3ueXqQKl4MKbkCm4diXNpgKjiW+QWIXWPs5ppw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6768 X-OriginatorOrg: intel.com 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,yuwei.chen@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: kD6rzGu7opCrAp01jfY09HWnx7686176AA= 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=DTTp6uLX; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=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 SGkgTGltaW5nIGFuZCBDcmFuLA0KDQpJIGhhdmUgY3JlYXRlZCB0aGUgRWRrMiBQUiBmb3IgdGhp cyBvbmU6IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzUwMDkNCkFzIGl0 IGhhcyBiZWVuIHJldmlld2VkLCBwbGVhc2UgaGVscCBtZXJnZSB0aGF0LiBUaGFua3N+DQoNClRo YW5rcywNCll1d2VpIChDaHJpc3RpbmUpDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBC ZWhhbGYgT2YgWXV3ZWkNCj4gQ2hlbg0KPiBTZW50OiBNb25kYXksIFNlcHRlbWJlciAxMSwgMjAy MyA5OjIzIEFNDQo+IFRvOiBHYW8sIExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZlbmcsDQo+IEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNv bT4NCj4gQ2M6ICdSZWJlY2NhIENyYW4nIDxyZWJlY2NhQGJzZGlvLmNvbT4NCj4gU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjIgMS80XSBCYXNlVG9vbHM6IGZpeGluZyBGTU1UIFNo cmlua0Z2DQo+IGlzc3VlDQo+IA0KPiBUaGFua3MgbGltaW5nfiBIb3BlIGl0IHdpbGwgYmUgbWVy Z2VkIHNvb25+IPCfmIoNCj4gDQo+IE1hbnkgdGhhbmtzLA0KPiBDaHJpc3RpbmUNCj4gDQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWlu Z0BieW9zb2Z0LmNvbS5jbj4NCj4gPiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAzMCwgMjAyMyA0 OjQzIFBNDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBGZW5nLCBCb2IgQyA8Ym9iLmMu ZmVuZ0BpbnRlbC5jb20+OyBDaGVuLA0KPiA+IENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5j b20+DQo+ID4gQ2M6ICdSZWJlY2NhIENyYW4nIDxyZWJlY2NhQGJzZGlvLmNvbT4NCj4gPiBTdWJq ZWN0OiDlm57lpI06IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjIgMS80XSBCYXNlVG9vbHM6IGZpeGlu ZyBGTU1UDQo+ID4gU2hyaW5rRnYgaXNzdWUNCj4gPg0KPiA+IENocmlzdGluZToNCj4gPiAgIEkg aGF2ZSBubyBjb21tZW50cyBmb3IgdGhpcyBwYXRjaCBzZXQuIFJldmlld2VkLWJ5OiBMaW1pbmcg R2FvDQo+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+ IExpbWluZw0KPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4g5Y+R5Lu25Lq6OiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IOS7o+ihqCBCb2IgRmVu Zw0KPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIz5bm0NuaciDI55pelIDE0OjU0DQo+ID4gPiDmlLbk u7bkuro6IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiA+ID4g5oqE6YCBOiBSZWJlY2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29t PjsgR2FvLCBMaW1pbmcNCj4gPiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gPiDk uLvpopg6IFJlOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYyIDEvNF0gQmFzZVRvb2xzOiBmaXhpbmcg Rk1NVCBTaHJpbmtGdg0KPiA+IGlzc3VlDQo+ID4gPg0KPiA+ID4gUmV2aWV3ZWQtYnk6IEJvYiBG ZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogQ2hlbiwgQ2hyaXN0aW5lIDx5dXdlaS5jaGVuQGludGVs LmNvbT4NCj4gPiA+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDI5LCAyMDIzIDExOjM0IEFNDQo+ID4g PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+IENjOiBSZWJlY2NhIENyYW4gPHJlYmVj Y2FAYnNkaW8uY29tPjsgR2FvLCBMaW1pbmcNCj4gPiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+OyBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBb UGF0Y2ggVjIgMS80XSBCYXNlVG9vbHM6IGZpeGluZyBGTU1UIFNocmlua0Z2IGlzc3VlDQo+ID4g Pg0KPiA+ID4gMS4gRnZMZW5ndGggbm90IGNoYW5nZSBpc3N1ZTsNCj4gPiA+IDIuIEZpbGVTeXN0 ZW1HdWlkIGFsaWduIHdpdGggRmlsZSBTaXplOw0KPiA+ID4NCj4gPiA+IENjOiBSZWJlY2NhIENy YW4gPHJlYmVjY2FAYnNkaW8uY29tPg0KPiA+ID4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0Bi eW9zb2Z0LmNvbS5jbj4NCj4gPiA+IENjOiBCb2IgRmVuZyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+ DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBZdXdlaSBDaGVuIDx5dXdlaS5jaGVuQGludGVsLmNvbT4N Cj4gPiA+IC0tLQ0KPiA+ID4gIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1U T3BlcmF0aW9uLnB5IHwgIDIgKy0NCj4gPiA+ICBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1U L2NvcmUvRnZIYW5kbGVyLnB5ICAgICB8IDEwICsrKysrKystLS0NCj4gPiA+ICAyIGZpbGVzIGNo YW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZm IC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0ZNTVRPcGVyYXRpb24u cHkNCj4gPiA+IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0ZNTVRPcGVyYXRp b24ucHkNCj4gPiA+IGluZGV4IGE4NmY4ZGRhOWExYS4uZDRhYTMzOTcwMzZkIDEwMDY0NA0KPiA+ ID4gLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0ZNTVRPcGVyYXRpb24u cHkNCj4gPiA+ICsrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1UT3Bl cmF0aW9uLnB5DQo+ID4gPiBAQCAtMTg4LDcgKzE4OCw3IEBAIGRlZiBFeHRyYWN0RmZzKGlucHV0 ZmlsZTogc3RyLCBGZnNfbmFtZTogc3RyLA0KPiA+IG91dHB1dGZpbGU6DQo+ID4gPiBzdHIsIEZ2 X25hbWU6IHN0cj1Ob25lDQo+ID4gPg0KPiA+ID4gRm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5k bGlzdC5yZW1vdmUoRm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGkNCj4gPiA+IHN0DQo+ID4g PiBbaQ0KPiA+ID4gbmRleF0pDQo+ID4gPiAgICAgIGlmIEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUu RmluZGxpc3QgIT0gW106DQo+ID4gPiAgICAgICAgICBUYXJnZXROb2RlID0gRm1tdFBhcnNlci5X aG9sZUZ2VHJlZS5GaW5kbGlzdFswXQ0KPiA+ID4gLSAgICAgICAgaWYgVGFyZ2V0Tm9kZS50eXBl ID09IEZWX1RSRUUgb3IgU0VDX0ZWX1RSRUUgb3INCj4gPiA+IERBVEFfRlZfVFJFRToNCj4gPiA+ ICsgICAgICAgIGlmIFRhcmdldE5vZGUudHlwZSA9PSBGVl9UUkVFIG9yIFRhcmdldE5vZGUudHlw ZSA9PQ0KPiA+ID4gU0VDX0ZWX1RSRUUgb3IgVGFyZ2V0Tm9kZS50eXBlID09IERBVEFfRlZfVFJF RToNCj4gPiA+ICAgICAgICAgICAgICBGaW5hbERhdGEgPSBzdHJ1Y3Qyc3RyZWFtKFRhcmdldE5v ZGUuRGF0YS5IZWFkZXIpICsNCj4gPiA+IFRhcmdldE5vZGUuRGF0YS5EYXRhDQo+ID4gPiAgICAg ICAgICAgICAgd2l0aCBvcGVuKG91dHB1dGZpbGUsICJ3YiIpIGFzIGY6DQo+ID4gPiAgICAgICAg ICAgICAgICAgIGYud3JpdGUoRmluYWxEYXRhKQ0KPiA+ID4gZGlmZiAtLWdpdCBhL0Jhc2VUb29s cy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GdkhhbmRsZXIucHkNCj4gPiA+IGIvQmFzZVRvb2xz L1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Z2SGFuZGxlci5weQ0KPiA+ID4gaW5kZXggZmYzZDYz NzYyM2Y4Li5iMGNjMTk1MWExYzYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9CYXNlVG9vbHMvU291cmNl L1B5dGhvbi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5DQo+ID4gPiArKysgYi9CYXNlVG9vbHMvU291 cmNlL1B5dGhvbi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5DQo+ID4gPiBAQCAtMjc5LDcgKzI3OSw3 IEBAIGNsYXNzIEZ2SGFuZGxlcjoNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UGFyVHJlZS5DaGlsZC5yZW1vdmUoUGFyVHJlZS5DaGlsZFstMV0pDQo+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5GcmVlX1NwYWNlID0gMA0KPiA+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5TaXplICs9IE5lZWRlZF9TcGFjZQ0K PiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5IZWFkZXIuRnZsZW5n dGggPQ0KPiA+ID4gUGFyVHJlZS5EYXRhLlNpemUNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICBQYXJUcmVlLkRhdGEuSGVhZGVyLkZ2TGVuZ3RoID0NCj4gPiA+IFBhclRyZWUuRGF0YS5T aXplDQo+ID4gPiAgICAgICAgICAgICAgICAgIE1vZGlmeUZ2U3lzdGVtR3VpZChQYXJUcmVlKQ0K PiA+ID4gICAgICAgICAgICAgICAgICBmb3IgaXRlbSBpbiBQYXJUcmVlLkNoaWxkOg0KPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgaWYgaXRlbS50eXBlID09IEZGU19GUkVFX1NQQUNFOg0KPiA+ ID4gQEAgLTY1MCw4ICs2NTAsMTIgQEAgY2xhc3MgRnZIYW5kbGVyOg0KPiA+ID4gICAgICAgICAg ICAgIFJlbW92ZWRfU3BhY2UgPSBUYXJnZXRGdi5EYXRhLkZyZWVfU3BhY2UgLSBOZXdfRnJlZV9T cGFjZQ0KPiA+ID4gICAgICAgICAgICAgIFRhcmdldEZ2LkNoaWxkWy0xXS5EYXRhLkRhdGEgPSBi J1x4ZmYnICogTmV3X0ZyZWVfU3BhY2UNCj4gPiA+ICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRh LlNpemUgLT0gUmVtb3ZlZF9TcGFjZQ0KPiA+ID4gLSAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEu SGVhZGVyLkZ2bGVuZ3RoID0gVGFyZ2V0RnYuRGF0YS5TaXplDQo+ID4gPiAtICAgICAgICAgICAg TW9kaWZ5RnZTeXN0ZW1HdWlkKFRhcmdldEZ2KQ0KPiA+ID4gKyAgICAgICAgICAgIFRhcmdldEZ2 LkRhdGEuSGVhZGVyLkZ2TGVuZ3RoID0gVGFyZ2V0RnYuRGF0YS5TaXplDQo+ID4gPiArICAgICAg ICAgICAgaWYgc3RydWN0MnN0cmVhbShUYXJnZXRGdi5EYXRhLkhlYWRlci5GaWxlU3lzdGVtR3Vp ZCkNCj4gPiA+ICsgPT0NCj4gPiA+IEVGSV9GSVJNV0FSRV9GSUxFX1NZU1RFTTNfR1VJRF9CWVRF Og0KPiA+ID4gKyAgICAgICAgICAgICAgICBpZiBUYXJnZXRGdi5EYXRhLlNpemUgPD0gMHhGRkZG RkY6DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLkhlYWRlci5GaWxl U3lzdGVtR3VpZCA9DQo+ID4gPiBNb2RpZnlHdWlkRm9ybWF0KA0KPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICI4YzhjZTU3OC04YTNkLTRmMWMtOTkzNS04OTYxODVjMzJkZDMiKQ0KPiA+ ID4gKw0KPiA+ID4gICAgICAgICAgICAgIGZvciBpdGVtIGluIFRhcmdldEZ2LkNoaWxkOg0KPiA+ ID4gICAgICAgICAgICAgICAgICBpZiBpdGVtLnR5cGUgPT0gRkZTX0ZSRUVfU1BBQ0U6DQo+ID4g PiAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLkRhdGEgKz0gaXRlbS5EYXRhLkRh dGEgKw0KPiA+ID4gaXRlbS5EYXRhLlBhZERhdGENCj4gPiA+IC0tDQo+ID4gPiAyLjI3LjAud2lu ZG93cy4xDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiA+DQo+IA0K PiANCj4gDQo+IA0KPiANCg0KDQoKLT0tPS09LT0tPS09LT0tPS09LT0tPS0KR3JvdXBzLmlvIExp bmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpWaWV3L1Jl cGx5IE9ubGluZSAoIzExMTg0MSk6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNz YWdlLzExMTg0MQpNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEwMjg2ODI0 MS83Njg2MTc2Ckdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwpVbnN1YnNj cmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFtyZWJlY2NhQG9wZW5m dy5pb10KLT0tPS09LT0tPS09LT0tPS09LT0tPS0KCg0K