From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.84]) by mx.groups.io with SMTP id smtpd.web11.36555.1678116510143141218 for ; Mon, 06 Mar 2023 07:28:30 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=zTtwz6uA; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.237.84, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aYfRVIh00YXLCTT3kxWPtsFwpf4E1jyTq1ZwEIJAizybgL8LSqZloWn32s49f92XS7DTYP8BDH7VbiY8OKpUJeC2zc8O6wf6x2c6B5ZybLVALbU5rIEWBZCPtNXprfI8Y2Q0vZHp0WS/5sUm9pj+tOEfb6zkTqoUSqSyeKa/ve528VuAvYUlRr64Fz8XY22n2SxwCEjyH8CWsy8tRJL9e6J3TN6BOVbYptes4eBrq3eSFRdquvB1l5Isn1tLrnCOxsKyGoVw76FI8Hx252A8JPNA9UuiLI1DhOgkYQWrkpeGlprU7SEG1Cq62JmLTcKkW/P8dkafI6igrAWHRzu/gQ== 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=J5PtQ4JQgxGzTKe/3E8H5ZQCpHXfyACOPQaL7eG0XWw=; b=Us4TPsKrpASSsWg7J/pH3x6hgyBPzTGDODIEJwWd29nsUMQbHNVxbG0wmr5ykL15Jgxzk4T0GhbEtlzR6xcrcSHUZiGHmXne73i3CcXpHPxYn5wzGdnY+Ebn+VbowOYa8VaQ3Hs7t932pRhSMaXbhqIJd91eKfkkT95FnAy/IbIKrIIvtDanbxnXz5UloYLhtZtK2xw65SqjEmqo11EnlVDkZtnecGBWZZKX6tyJK4Td3/YcT/MT2XZGIjoRlFGg3Z7oYuF680QqwJ8ekyqfgdAoNZaBvOo46K086Sb21CpCH3o6TNtbqugmjWVhgFGSoxq3D6h9xtWAwdGfXoRN+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J5PtQ4JQgxGzTKe/3E8H5ZQCpHXfyACOPQaL7eG0XWw=; b=zTtwz6uAeUg/nUf5uAPPQuXn8jtHgg1fBZhyVgz6ovTv/yF7s17VkCvmSuXNRLLC2L2k/6qoBzmr59ZwUYVDxjb+e6KNb+TXkJjSAiO8Xtfmj8lP85OizfbbclE0GOEm8esbacXbYdzwi3lQTx3VFhdbzY89qgfT6Es+PvVAlF4= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by PH7PR12MB7356.namprd12.prod.outlook.com (2603:10b6:510:20f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar 2023 15:28:27 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::8136:1f56:53e5:6fe]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::8136:1f56:53e5:6fe%3]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023 15:28:27 +0000 From: "Chang, Abner" To: "devel@edk2.groups.io" , "mike.maslenkin@gmail.com" , "ray.ni@intel.com" Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg: Calculate DisplayFamily correctly Thread-Topic: [edk2-devel] [PATCH] UefiCpuPkg: Calculate DisplayFamily correctly Thread-Index: AQHZTKYfrmkD3Fh4Ck+pINWQL8/a+K7tlTJwgAAAchCAAApwgIAACr4AgAAdOQCAAB4fMA== Date: Mon, 6 Mar 2023 15:28:27 +0000 Message-ID: References: <20230302012649.1512-1-zhiguang.liu@intel.com> <1749CE106AC7BFA5.3736@groups.io> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-03-06T15:28:24Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=138e32cd-d3f5-4a4b-8584-bd2c01b079a7; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|PH7PR12MB7356:EE_ x-ms-office365-filtering-correlation-id: cf8576b2-e2d5-458c-f710-08db1e576eca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZKhIKyLMq1772ZMiUksFzyn+updBvE/CY/L8cXqMo7+FdnzwFq/75ChG2VTNL0iWF+ZaySyGdLTQHy78D4aoLSeuUlLdweNqL0s3a5t3QTQKkkfTFA3c31PnqCdevGCH60ZG5DZJdIFw8JZglPDg0UERPlKJtacI6f/0oihFc7EgqAaq+lKNhLZoGM/daRt9xN3oAgwvz9AkfpUFQvy0Ax1j4TLmeDXKu1R8D0J5eWFrkj00IRcDr4qywUO48BJI7ss5JHU1NCpeLOoDmyoQVIQ5lpcTpp7npIGz/yLiiNWfrvlLoKeMoJ0q5BzC7nLW/PUzvWagh4WprKU98hN/35E8hFiJklBbV7c774y5TcWIl5wsxloboR9n1fwXpv8NhkOS9p8BGuDljysCSmDQYnSWYhOe6DXplRlIW8AnDsRZxWlhWv8me5f3wIwUijrPkArwhsU6u9jMbmeDYKqyGzQ1vPlNyaC6FGccKnpyItHOhwstsg9IUoCznKwDT5laGtDCOqbWmkJOd8b+R5A9LueLeRny8Uoj3M8D4j8al4AAniZhuTWXE2wGxPpaHvoFvZFcsE46NjUH1xCdBIZrKGr0u7atTD5A1q+0RanqF+q2AcAA5lKq0tiHzTETYVDGr9iCFAYL3W2WYwwJGwC0fEOk+j6vAA54Qyy/0PsUwxTAcUXCh0yDXkzqOVKmBdPOCvTeLv7MCELUjz3g9MF4b6g4ByVFz6ZvXMjr5hJFpyiRq9bszohNWGKcTR6kRi5+JVrpiMjWzJhPevmWCCxyaw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(346002)(136003)(376002)(396003)(451199018)(110136005)(966005)(316002)(83380400001)(55016003)(33656002)(86362001)(66899018)(9686003)(186003)(2906002)(5660300002)(66476007)(76116006)(66446008)(66556008)(8936002)(66946007)(41300700001)(8676002)(478600001)(53546011)(6506007)(26005)(64756008)(71200400001)(7696005)(122000001)(52536014)(38100700002)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bUh5UmxqaEtoSnExeVd1MVFMOHk0ekNOSHc5Q21LL2wyOUUwbE1LWXJIR3A5?= =?utf-8?B?c0ZIMStuQ0tZODlENGxSVXErdUR5VTBwUmEyNHlyVkVoQ1RUMGFWNkZsdkFR?= =?utf-8?B?K1p2MkZya2Q4MGNGZkZaVGNVOFBXQ2NvMDFCUUtIK3o0Y1ZZNTZnK2tMUExK?= =?utf-8?B?cjNpWkY5YlI0VE94eUNVYWVycy96R25kV1p3VUluQ3V6cTNDcHpOUDdjaWg5?= =?utf-8?B?OGVVcFZsS1pFT0Voak1EUzFMbjdjMzZHaEwwYjhqOXNlUFVzWjZDek1tcjlv?= =?utf-8?B?eTFUc2M4TzJJdkxsV1dzTzQ1ZFpyRjQ2STVzOFFPaCtsd1c0L2YzTUp2Tk9H?= =?utf-8?B?ZVhDNy9sM3BWN25OQzgvTUJ3UGIybWZLcldhU1ZIVDZXK2o2bnFrUmFRWWRn?= =?utf-8?B?Yk5ZOUtkcDFzRU9wYWF5ZDR0M0xZOFRoWkFOUG5NVklrVmU2MVk3N2RBdkVD?= =?utf-8?B?Ly9QUDlEbkVhNzVDMStsOTFMSVUyUHlWZmYvaEtnVmRLY2wyb3hmSkMwbysr?= =?utf-8?B?MHBwblNJc0ROYXdLNTc0ZFBLTWVjSytIRmZGUzBkMExTUHZPUzh6aVpPY3Jk?= =?utf-8?B?Yi81WHlkckxOVEdsbjJkelA1cjNlWCtLamxQdFJ2eURVNjVrQnpLVTRENmNt?= =?utf-8?B?MDdZMFQ1ZjdlUnRUY0xHZy80S0grVlhNWlJNK09XS3o0OXRrOWh4OWN5Z3NP?= =?utf-8?B?Y3BZV2VxdVVXdmRLbG5oaWx0K1pMcWQxemtIR2F4T0FuQm13MmNIVVFuUmJ0?= =?utf-8?B?RW4zMk9XSHBYSGswb3dXUUV1QTBuMWo4aHNKemR1Sy9TbUpjZURGSUFqUnYy?= =?utf-8?B?Z3VINlRWN1F6YTJTVElrb2M1U2xNU0FNU2tYYWZ6Z3JiZnIvY3JrdGU2MitS?= =?utf-8?B?NTVzcjZEVC9UZ25IWDMrK2RQK2NMRnQ3T0FwRlNQOGVsVE8xd2ZaekQza0xk?= =?utf-8?B?c3gwUnVJM0xWaStTVlcwOVRsLzQ1azN4TkZUVGowUklyZFdQdXFhZGUwb2hG?= =?utf-8?B?ZmlmcnhSUTBZWDgvcVFiblBrYXJ4UmtYK1ZqYW84bkNsRnBnei9sTm9Ba05k?= =?utf-8?B?aVBqSlNWcEU5MWk4QkY2U20wZ3B0QytyN1N3RGpFU2YxODJjVENwblhqZGQ1?= =?utf-8?B?b1p2VDAvcnVEQ2tpOTVmWnQ1ek9Uc0lMUkFSM0lZWkRXTmlqRW9rd21ucDRx?= =?utf-8?B?REkrRjAwL0xaQ3dhWnRyRWlPWFB2VDB0ZC9jRUxhQVE5YVV4QnZ2VEt6aDJP?= =?utf-8?B?eEpmb1VWWjJIS25MS0FCYmVHc090UjFtTDg4eUVkdFphUGRBTUVUbmxDSlBB?= =?utf-8?B?T3ZBN3pSTWE4ekxCZ0dNSGFuMDhsU0xHMHJGS29haXpXMWFnQWdsS1kvbnhy?= =?utf-8?B?TlNYSk1pTnh3UC90aVdBTnplTXpLcHEvRHQ5bE54NDVGOElJRlJRblNBSG1I?= =?utf-8?B?VFZreCsvQ3pLb1ZHUjMwV2VUeTBLYVZRM1QzQ1RGSXNESzVGSTlpKytGZjQz?= =?utf-8?B?VXZTTHYwdTJwWkR5YUFUNTVOSFMzLzAyK3ExQ1JKVHF6R0JIcUdsaWVrNEhH?= =?utf-8?B?WDY4anBHbW4ra29KbDJqa0Y0VDVSWDFZdWFDaWxheEFUME9FSHQwWE42Qkpw?= =?utf-8?B?M0NKSHRCNlZyRlhmV0tlR01XUWxlanNmVEdueFQzN3kwVFVoQWh3aFFuVmpL?= =?utf-8?B?ejRVNGJPRVAwQlVUcCtsQXhwaW5IZjczNENVRmVaZWZDY2ROU1VJTFNFYk5L?= =?utf-8?B?bGxUd3U3WU5TU0o0SzVRVDJzUkYycktKdU1qdGYrMVZCenVRTUF0K0hGWTdH?= =?utf-8?B?Ujg5dlg5c0lnb05JSmRQZFg2MmI4MlpGaUFWR3lncnBnWUIvaXByd0pzWW5n?= =?utf-8?B?RDBkazRsU21ra2ZoQlp6eiswZWxBQS9vd2RkMGdvaXVLRGhHOVRXL0JRVjV4?= =?utf-8?B?ai8xcGRzZUdxM0dTcEN6ZisxM01wdVNzVUR3T3FFUHdHcXRodFhHZ3pHS1Jm?= =?utf-8?B?Yk44RENsTXExQzBiUGZuVXdkN3pTTi9OV2JFVG5oYjAxajZyaVNsNDlxV2dV?= =?utf-8?B?NkpnTFBBb0t4UDlPZmUxMnd2d0svUGR1eS9EWEd2cUdUZURQK3l2N3UrSUZ3?= =?utf-8?Q?+nGE=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf8576b2-e2d5-458c-f710-08db1e576eca X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Mar 2023 15:28:27.2215 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MvU8gPXBHirCILQcJBEhFxco642TLUKUQsGY136HTSjdsbJPhiWHDyMtl5/3nU/6N2IqJrDmKD0Y2LTquvqBcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7356 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCldlIGRvbuKAmXQgaGF2ZSB0aGF0 IHBzZXVkbyBjb2RlIGluIEFNRCBBUE0sIHNvIGVpdGhlciB3YXkgaXMgb2suDQoNCkFja2VkLWJ5 OiBBYm5lciBDaGFuZyA8YWJuZXIuY2hhbmdAYW1kLmNvbT4NCg0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91 cHMuaW8+IE9uIEJlaGFsZiBPZiBNaWtlDQo+IE1hc2xlbmtpbiB2aWEgZ3JvdXBzLmlvDQo+IFNl bnQ6IE1vbmRheSwgTWFyY2ggNiwgMjAyMyA5OjM3IFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbzsgcmF5Lm5pQGludGVsLmNvbQ0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRD SF0gVWVmaUNwdVBrZzogQ2FsY3VsYXRlIERpc3BsYXlGYW1pbHkNCj4gY29ycmVjdGx5DQo+IA0K PiBDYXV0aW9uOiBUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRlZCBmcm9tIGFuIEV4dGVybmFsIFNvdXJj ZS4gVXNlIHByb3Blcg0KPiBjYXV0aW9uIHdoZW4gb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tp bmcgbGlua3MsIG9yIHJlc3BvbmRpbmcuDQo+IA0KPiANCj4gVGhlcmUgaXMgbm8gcHJvYmxlbSB3 aXRoIGN1cnJlbnQgaW1wbGVtZW50YXRpb24uDQo+IE15IHByb3Bvc2FsIHdhcyB0byByZS13cml0 ZSBjb2RlIGluIHRoaXMgd2F5Og0KPiANCj4gICBEaXNwbGF5TW9kZWwgPSBFYXguQml0cy5Nb2Rl bDsNCj4gICBpZiAoKEVheC5CaXRzLkZhbWlseUlkID09IDB4MDYpIHx8IChFYXguQml0cy5GYW1p bHlJZCA9PSAweDBmKSkgew0KPiAgICAgRGlzcGxheU1vZGVsICs9IChFYXguQml0cy5FeHRlbmRl ZE1vZGVsSWQgPDwgNCk7DQo+ICAgfQ0KPiANCj4gVGhpcyBpcyBleGFjdGx5IG1hdGNoZXMgc3Bl YyB3aXRob3V0IGtub3dsZWRnZSBhYm91dCBNb2RlbF9JRCB3aWR0aCBhbmQNCj4gbWFrZXMgY29k ZSBjb25zaXN0ZW50Lg0KPiANCj4gVGhlcmUgaXMgbm8gJ09SIiBvcGVyYXRpb24gaW4gcnVsZXMg ZGVmaW5lZCBieSBTRE06DQo+ICINCj4gSUYgKEZhbWlseV9JRCA9IDA2SCBvciBGYW1pbHlfSUQg PSAwRkgpDQo+ICAgVEhFTiBEaXNwbGF5TW9kZWwgPSAoRXh0ZW5kZWRfTW9kZWxfSUQgwqsgNCkg KyBNb2RlbF9JRDsNCj4gICAoKiBSaWdodCBqdXN0aWZ5IGFuZCB6ZXJvLWV4dGVuZCA0LWJpdCBm aWVsZDsgZGlzcGxheSBNb2RlbF9JRCBhcyBIRVggZmllbGQuKikNCj4gRUxTRSBEaXNwbGF5TW9k ZWwgPSBNb2RlbF9JRDsgRkk7ICINCj4gDQo+IA0KPiAiDQo+IA0KPiBPbiBNb24sIE1hciA2LCAy MDIzIGF0IDI6NTLigK9QTSBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPiB3cm90ZToNCj4gPg0K PiA+IEV4dGVuZGVkTW9kZWxJZCBmaWVsZCBzaG91bGQgdXNlIHNoaWZ0LiBTbyBJIGJlbGlldmUg bm90aGluZyB3cm9uZyB0aGVyZS4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+IEZyb206IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+ DQo+ID4gPiBTZW50OiBNb25kYXksIE1hcmNoIDYsIDIwMjMgNzoxNCBQTQ0KPiA+ID4gVG86IGRl dmVsQGVkazIuZ3JvdXBzLmlvOyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+ ID4gQ2M6IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBEb25nLCBFcmlj DQo+ID4gPiA8ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+ OyBLdW1hciwgUmFodWwgUg0KPiA+ID4gPHJhaHVsLnIua3VtYXJAaW50ZWwuY29tPjsgR2VyZCBI b2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZzogQ2FsY3VsYXRlDQo+ID4gPiBEaXNwbGF5RmFtaWx5IGNv cnJlY3RseQ0KPiA+ID4NCj4gPiA+IEhhbmRsaW5nIG9mIEV4dGVuZGVkTW9kZWxJZCBmaWVsZCBo YXMgdGhlIHNhbWUgcHJvYmxlbS4NCj4gPiA+IFRoaXMgcGF0Y2ggY291bGQgYmUgaW1wcm92ZWQg dG8gZml4IHRoYXQgdG9vLg0KPiA+ID4NCj4gPiA+IE9uIE1vbiwgTWFyIDYsIDIwMjMgYXQgMToz N+KAr1BNIFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4gPg0K PiA+ID4gPiBCVFcsIGxvb2sgbGlrZSB3cm9uZyBCdWd6aWxsYSBJRCBpcyB1c2VkIGluIGNvbW1p dCBtZXNzYWdlLCBwbGVhc2UNCj4gPiA+ID4gY29ycmVjdA0KPiA+ID4gaXQgd2hlbiBtZXJnaW5n IHRoZSBwYXRjaC4NCj4gPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YNCj4gPiA+ID4gWmVuZywNCj4gPiA+IFN0YXINCj4gPiA+ID4gU2VudDog TW9uZGF5LCBNYXJjaCA2LCAyMDIzIDY6MzUgUE0NCj4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiA+ID4gPiBD YzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRl bC5jb20+Ow0KPiA+ID4gPiBLdW1hciwNCj4gPiA+IFJhaHVsIFIgPHJhaHVsLnIua3VtYXJAaW50 ZWwuY29tPjsgR2VyZCBIb2ZmbWFubg0KPiA+ID4gPGtyYXhlbEByZWRoYXQuY29tPjsgWmVuZywg U3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRl dmVsXSBbUEFUQ0hdIFVlZmlDcHVQa2c6IENhbGN1bGF0ZQ0KPiA+ID4gPiBEaXNwbGF5RmFtaWx5 DQo+ID4gPiBjb3JyZWN0bHkNCj4gPiA+ID4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IFN0YXIgWmVu ZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVk azIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gPiA+IFpoaWd1YW5nIExpdQ0KPiA+ID4gPiBT ZW50OiBUaHVyc2RheSwgTWFyY2ggMiwgMjAyMyA5OjI3IEFNDQo+ID4gPiA+IFRvOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiBDYzogTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGlu dGVsLmNvbT47IERvbmcsIEVyaWMNCj4gPiA+IDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJh eSA8cmF5Lm5pQGludGVsLmNvbT47IEt1bWFyLCBSYWh1bCBSDQo+ID4gPiA8cmFodWwuci5rdW1h ckBpbnRlbC5jb20+OyBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4gPiA+ID4g U3ViamVjdDogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZzogQ2FsY3VsYXRlIERpc3Bs YXlGYW1pbHkNCj4gPiA+IGNvcnJlY3RseQ0KPiA+ID4gPg0KPiA+ID4gPiBSRUY6IGh0dHBzOi8v YnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIzOA0KPiA+ID4gPg0KPiA+ ID4gPiBQZXIgU0RNLCBEaXNwbGF5RmFtaWx5ID0gRXh0ZW5kZWRfRmFtaWx5X0lEICsgRmFtaWx5 X0lELg0KPiA+ID4gPiBDb3JyZWN0IHRoZSByZWxhdGVkIGNvZGUuDQo+ID4gPiA+DQo+ID4gPiA+ IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBSYXkgTmkg PHJheS5uaUBpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBSYWh1bCBLdW1hciA8cmFodWwxLmt1bWFy QGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29t Pg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBaaGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRl bC5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgVWVmaUNwdVBrZy9BcHBsaWNhdGlvbi9DcHVp ZC9DcHVpZC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQgKystLQ0KPiA+ID4gPiAgLi4u L0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9DcHVGZWF0dXJlc0luaXRpYWxpemUuYyAg ICB8IDQgKystLQ0KPiA+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pDQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0Fw cGxpY2F0aW9uL0NwdWlkL0NwdWlkLmMNCj4gPiA+IGIvVWVmaUNwdVBrZy9BcHBsaWNhdGlvbi9D cHVpZC9DcHVpZC5jDQo+ID4gPiA+IGluZGV4IDM3MmM2ZWY4N2QuLjUxYzQ2M2ZiMTAgMTAwNjQ0 DQo+ID4gPiA+IC0tLSBhL1VlZmlDcHVQa2cvQXBwbGljYXRpb24vQ3B1aWQvQ3B1aWQuYw0KPiA+ ID4gPiArKysgYi9VZWZpQ3B1UGtnL0FwcGxpY2F0aW9uL0NwdWlkL0NwdWlkLmMNCj4gPiA+ID4g QEAgLTEsNyArMSw3IEBADQo+ID4gPiA+ICAvKiogQGZpbGUNCj4gPiA+ID4gICAgVUVGSSBBcHBs aWNhdGlvbiB0byBkaXNwbGF5IENQVUlEIGxlYWYgaW5mb3JtYXRpb24uDQo+ID4gPiA+DQo+ID4g PiA+IC0gIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzDQo+ID4gPiA+IHJlc2VydmVkLjxCUj4NCj4gPiA+ID4gKyAgQ29weXJpZ2h0IChjKSAy MDE2IC0gMjAyMywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ID4gKyByZXNl cnZlZC48QlI+DQo+ID4gPiA+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ID4gPiA+DQo+ID4gPiA+ICAqKi8NCj4gPiA+ID4gQEAgLTIxNyw3ICsyMTcs NyBAQCBDcHVpZFZlcnNpb25JbmZvICgNCj4gPiA+ID4NCj4gPiA+ID4gICAgRGlzcGxheUZhbWls eSA9IEVheC5CaXRzLkZhbWlseUlkOw0KPiA+ID4gPiAgICBpZiAoRWF4LkJpdHMuRmFtaWx5SWQg PT0gMHgwRikgew0KPiA+ID4gPiAtICAgIERpc3BsYXlGYW1pbHkgfD0gKEVheC5CaXRzLkV4dGVu ZGVkRmFtaWx5SWQgPDwgNCk7DQo+ID4gPiA+ICsgICAgRGlzcGxheUZhbWlseSArPSBFYXguQml0 cy5FeHRlbmRlZEZhbWlseUlkOw0KPiA+ID4gPiAgICB9DQo+ID4gPiA+DQo+ID4gPiA+ICAgIERp c3BsYXlNb2RlbCA9IEVheC5CaXRzLk1vZGVsOw0KPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiBh L1VlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3RlckNwdUZlYXR1cmVzTGliL0NwdUZlYXR1cmVzSW5p dGlhbGl6ZS5jDQo+ID4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3RlckNwdUZlYXR1cmVz TGliL0NwdUZlYXR1cmVzSW5pdGlhbGl6ZS5jDQo+ID4gPiA+IGluZGV4IGE4ZTRmOTIwZmMuLjI1 Yjg5NTgyNTIgMTAwNjQ0DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiBhL1VlZmlDcHVQa2cvTGlicmFy eS9SZWdpc3RlckNwdUZlYXR1cmVzTGliL0NwdUZlYXR1cmVzSW5pdGlhbGl6ZS4NCj4gPiA+ID4g Yw0KPiA+ID4gPiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xp Yi9DcHVGZWF0dXJlc0luaXRpYWwNCj4gPiA+ID4gKysrIGl6ZS5jDQo+ID4gPiA+IEBAIC0xLDcg KzEsNyBAQA0KPiA+ID4gPiAgLyoqIEBmaWxlDQo+ID4gPiA+ICAgIENQVSBGZWF0dXJlcyBJbml0 aWFsaXplIGZ1bmN0aW9ucy4NCj4gPiA+ID4NCj4gPiA+ID4gLSAgQ29weXJpZ2h0IChjKSAyMDE3 IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ID4gcmVzZXJ2ZWQu PEJSPg0KPiA+ID4gPiArICBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDIzLCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gPiArIHJlc2VydmVkLjxCUj4NCj4gPiA+ID4gICAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4NCj4gPiA+ ID4gICoqLw0KPiA+ID4gPiBAQCAtNjcsNyArNjcsNyBAQCBGaWxsUHJvY2Vzc29ySW5mbyAoDQo+ ID4gPiA+DQo+ID4gPiA+ICAgIERpc3BsYXllZEZhbWlseSA9IEVheC5CaXRzLkZhbWlseUlkOw0K PiA+ID4gPiAgICBpZiAoRWF4LkJpdHMuRmFtaWx5SWQgPT0gMHgwRikgew0KPiA+ID4gPiAtICAg IERpc3BsYXllZEZhbWlseSB8PSAoRWF4LkJpdHMuRXh0ZW5kZWRGYW1pbHlJZCA8PCA0KTsNCj4g PiA+ID4gKyAgICBEaXNwbGF5ZWRGYW1pbHkgKz0gRWF4LkJpdHMuRXh0ZW5kZWRGYW1pbHlJZDsN Cj4gPiA+ID4gICAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAgICBEaXNwbGF5ZWRNb2RlbCA9IEVheC5C aXRzLk1vZGVsOw0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjMxLjEud2luZG93cy4xDQo+ID4gPiA+ DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4g PiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiANCj4gDQo+ IA0KPiANCg==