From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.5848.1678157081988793334 for ; Mon, 06 Mar 2023 18:44:42 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=E7A9HOJH; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: zhiguang.liu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678157081; x=1709693081; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=1Bv0hjuz2GFTPTJS1S4cws+l3B0Pn5AInxiHzomcGlg=; b=E7A9HOJHtjx+lXv3sr6p4UWtEPctMQdBITz8+i7Ozw7URfxyBWlG51Sx 7husvoGARXZl/1y+gG+hxHiJ2utRayRdg1hKxSWHKcazSPgPxNieIydLR VOKXRVDk4SdGqpkzx9AWzNv5GMH+ZZtyRenBCi7PDAS7igDVIw7AB0OQk t9ETlr6gW0qPz/zdVW+5Z4Oc6TEv/3fLVG7CEW9tOaOT5EIr+grJadjVD wQebhoUfOM2+dxfgZ6nEXtHwh/UDdzKqP0k5p/mue5sw1s1ng2d5hDQNr cjo9e2iBH6v22Qb6kn/Y9KBt7tXImDHclQkZGjfDXa5+LTrSKW8RopS64 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10641"; a="422020105" X-IronPort-AV: E=Sophos;i="5.98,238,1673942400"; d="scan'208";a="422020105" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Mar 2023 18:44:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10641"; a="740557983" X-IronPort-AV: E=Sophos;i="5.98,238,1673942400"; d="scan'208";a="740557983" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 06 Mar 2023 18:44:41 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Mon, 6 Mar 2023 18:44:41 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.21 via Frontend Transport; Mon, 6 Mar 2023 18:44:41 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Mon, 6 Mar 2023 18:44:40 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jENirIzP15usQF8Bmmyu9ssD3lR7YDMZbHq6viCcezl9AxADDosymmIifD7GJZIoBNrR8rx7y4NY14yYbHjDJEXKoy/ulpOghRYU7F2UQ1p9SuhaXE36aeki6KvaY7B4IYi5D2RN+LEjjqpojJqzAVpTmYudnNu22TR4XCkVNwwzIUbW6EOnV97DLhclRyoCHUg+ojCbaUJusKUzE7ScJUFAasEX8niKki46olZUGhwewsqWJWmeqs0s/vn0rubYv+NcuuX+38Ttshr4Ig+AwovjRcQo+961NPviP2J8pH8iV4GoUuYjm2cM+2WXSAUG1IwhDSFB/g846iCNHqIRdQ== 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=1Bv0hjuz2GFTPTJS1S4cws+l3B0Pn5AInxiHzomcGlg=; b=Cbp7BHziTg387u6GAps7yGv0ItqTdUNMD28E6ExisJ67FTy3rpO1fswTHLE/uZwIyX7B1kCEojhQY1S/XcAJ/Srk0dXLqRvDVK1mReC6VrxfRR5nrU+BiyLbttIICBVWMlIofBO7DO3oouLbASIJ7VdVT2OpJuepUyJV6LEqi798efh0dO5dSLgfEE4rmtJ2LOY6WUCHm8h/QaIoFyAXmf5kAfxuyRxGYRBh0o8vVJHmPozrBIl9ZcR95nm+L0AQjcZ1uXvLFs4zokyJe3vftwjb1NjsSbWTIVjyruIUe7hxv6HdsWUd6pBc90/dZK+UbYPc2oJxp5Xxp2HTNvcPBw== 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 Received: from PH0PR11MB5048.namprd11.prod.outlook.com (2603:10b6:510:3d::14) by SN7PR11MB6849.namprd11.prod.outlook.com (2603:10b6:806:2a1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 7 Mar 2023 02:44:38 +0000 Received: from PH0PR11MB5048.namprd11.prod.outlook.com ([fe80::a17b:667e:4d44:747d]) by PH0PR11MB5048.namprd11.prod.outlook.com ([fe80::a17b:667e:4d44:747d%3]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023 02:44:38 +0000 From: "Zhiguang Liu" To: "Ni, Ray" , Mike Maslenkin , "devel@edk2.groups.io" Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg: Calculate DisplayFamily correctly Thread-Topic: [edk2-devel] [PATCH] UefiCpuPkg: Calculate DisplayFamily correctly Thread-Index: AQHZTKYgIjctqse1M0WmHpUl734Iia7tlTJwgAAAchCAAApwgIAACr4AgAAdOQCAAM0nAIAAAN9w Date: Tue, 7 Mar 2023 02:44:38 +0000 Message-ID: References: <20230302012649.1512-1-zhiguang.liu@intel.com> <1749CE106AC7BFA5.3736@groups.io> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB5048:EE_|SN7PR11MB6849:EE_ x-ms-office365-filtering-correlation-id: cae014ec-3da5-4fc2-f564-08db1eb5e4e4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Tq1l4KKWowgIbQG8dI89w1mrw+C3NSoxohAN/+tyIeBBrKPpAwNLHNca3U4ujun4bckEcBaKHbTY94Mk+akjthWXPZ34kxNnO3rBDRCxKg/M9uX4815Vj3ghmCk1ZC7ki3ftS53MQulv3jk3kagqtzKpT9k+Qs0hnqQZJk+dCzU+r7Vqb4US623A361HHaGz0zBeYiRUEZVB5rqyU+g186V4M4R1Pwpsm6KkWtFaEL4UhCIvrbPT8utFfoYDlOrf7WiVe8X6tRyAAoT7+ZN447wGIU/l1HNIpUE3StxXS/5KWC6Ef5ZDhspV9AUFU8SF6qzqnRED40W8tyWSQAQBdBXUOM0Vu/UKKyhM5S4+wPi/pAdWsyzOGMl8KkdPFLj9s56Kk0fnbs1JKaBW0JhPZnoJE88zcc2s5VNsnfKe8bD/tWCokyBzlZHWCWXHGkkSIAhsIzvToNnA1SBpR+HUs346UbfM1RyrC7OMSsA718Qqdh7fyfUTB+pRuyZdbss26SosliJmNPjyOV7j1DGXp8yySg+JjgJTRKW0W+W+WpCrEksHOuG87vliNUOA0ZVGxLoLN3jVDTxLqEW87EWjewomP51wW1Eo4iVf+c0HJxLDKs2CzcE7lekQQJ5k8r3m7BrebCDgIYpZr6hFTNPpJn/lLfCdWI3I46tTcggLMmOgLozJlasNEIWFZrcFGLJwV/+Wabi8wZknpd2vhyOaJmYQdHgOgjusWfZdpje2bKc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5048.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(396003)(366004)(39860400002)(346002)(451199018)(66899018)(33656002)(76116006)(41300700001)(66556008)(8676002)(8936002)(66446008)(64756008)(2906002)(5660300002)(66946007)(122000001)(82960400001)(86362001)(38100700002)(66476007)(38070700005)(7696005)(71200400001)(966005)(55016003)(478600001)(316002)(110136005)(52536014)(83380400001)(6506007)(186003)(9686003)(26005)(53546011);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M0xVT2NZRDNRTEg5emdJTEs0WTVIRkJlc1F5R1cxWURxTHBtMzNMRm1CV1NY?= =?utf-8?B?ZVRuLzM1Zk4vK1d4WURXVHB3RmRaTzZGQWRwdVo2a0crWTVlQS9XQ1BmZVg4?= =?utf-8?B?d0hsTXBLNElNSGlIc1ppWE5sVTZXcVhuQ3VBb3I3MzFaNTNsNGM5UU1VeDdl?= =?utf-8?B?ZytNWkFxL0d4SEMrU09PQzFibkRRMGgxOUpobDBLdnF0cWVMQ2MzN0VpdGtq?= =?utf-8?B?d3BIRnZEUjV0SjZNQUl6YkpYdnlpc0xLMkxUR2NqSFE0alBsejBhbzZPNE9h?= =?utf-8?B?ckVaZ0pzK1lXd1lkQ014Y0UvNFp1b3V3dHJCT3pXbldzaU9hTC85OWV1OXZE?= =?utf-8?B?K2l5ZE1lT1R6UzJWVlRnMkM1Y0Ryb0lRRkw4Q3d5Y3F4K0N5a1dtdllIRzZu?= =?utf-8?B?aC9kREZlcFo3OEhuNC9xSmxCOFNkUU05OW1vRUVNVU5GSGJ0YUE5NTZsVEpG?= =?utf-8?B?MHoyZ3FOUUgxUFhweWFvdzlzQjNiM2J1VEN2RWF1N1FBUTV4MSs4TXhOQXBX?= =?utf-8?B?Y1RJSnVrdndwU3pMRW5Hekk4cnFmQSsvRnc3MDdYVmJCdHdIR2l1Sm54VGl5?= =?utf-8?B?SFphOHNOT0dvbW1MbEYxSWRuREVYajI3a1J2aHBOZ3lRa2dTdjVkYlVkZnZG?= =?utf-8?B?WHFqS3hiSFBjR3YrR3NMN0FZUW9LaUQ3Q1UwaVNtSEI1c21LcHpUZHowMVF6?= =?utf-8?B?TXVjcHY1a0NrYVc2bzg5UUM5eFJPbmFxL2QzWGxPU21hSGZqQ1JTckYyWWhk?= =?utf-8?B?d3VzWmgyVUtDcjZudCtxZjZjcnB0dnEyYTZDVUY0YmVoV1dwQTVVY0E5cmp4?= =?utf-8?B?WmJKTWJheFhPbUp6TWNabmtqK2NudkFPTFV6NG4rQ2l1QmN1TnRieWY3RjNv?= =?utf-8?B?TjJ6ZmpHVWFDdXRzcmIya0VqcmJRSmhjcmlGQTI1ODFNeE94a0NQc09EaW9w?= =?utf-8?B?OGs4TkVlUWVHSTdEa2NvM3dnZFhTYy9FVFA0cFZ1cGkwU1h5Vm9CNE1yeEVR?= =?utf-8?B?djBReFRuOHR3cXlyVElCazY0bkVkSDFXd2JvbGdNdVg4amlLdzY2YkdiYmNM?= =?utf-8?B?b0RVY3VpOGd4Z3R4bkQ2MjVUTENpa05MZlBYb3g3T0xwM0ZraUpFbXg0YU1t?= =?utf-8?B?anhSTVczS25ya2Y2UmllNm1NcTBrKzdqdldJSVRqZzFBYkJlYmphRXV1RGVv?= =?utf-8?B?YXp2a0paT3FGemJpRkYrdXphdWFwSTk3MFpQcHhuR3IvY3JiYm1wK0NNREN3?= =?utf-8?B?YXllNUxUeFl1VUhBVWJ0WDlXREl4M2Z5YXZuQSsvK21saFNwTjlmL3RJYXJv?= =?utf-8?B?RzZVNFZFVXlUWktHajM4YW8vZ3ArandSOE5QU0VTTlBZMW9La0xGNjl6RkdL?= =?utf-8?B?QmMxZTNkbGZ4NmZzQk9NV1QwVHpZeEltdWxMVXZ3azVZM1FUWVdINjBVNlhm?= =?utf-8?B?emQvOEE2cnNMbUJQS3lCeUVvbTBYL3lvYnJ2VTQ2aUl5MXlaejgzaitmRWQ0?= =?utf-8?B?dTdja2djTFdDeGYxL2NvK21zWDE1cXZ0blhMc1AwYmwrUzJ5NkNXVVN6dVBm?= =?utf-8?B?OGJobHNBQWdFL1VWNkdPOGFDcmJZMDJJeVQ5ZHdST2VvK04wY2IxRHVJU2Ft?= =?utf-8?B?RFk2SjV1dDFrZVNXT3AxWlBTdkgxVzZ2dE5pUkU4VU93ZFVLOEJtaDVDRFE3?= =?utf-8?B?OE1SN2Frd2ZGbTgvUnVraG82bjRtNFZPU1BhTWJRN3QvaWpsV3lYR0ZDak9Z?= =?utf-8?B?OEdnVjBYQ1BnWUx3NjBuQnBiSWlDbDJCZy9qTUZVZktEYWZSYlE5UFlKOXB4?= =?utf-8?B?RFdXbm1MYXdUUitkbmZCd3lIbFJDazJxQUQ0Z2k1dmRlaWZzWWZ4QlI3SVRr?= =?utf-8?B?Nit2SW50cmxUKy9ZR2dSNDRPb3poOGhYb1p2V0ppckZhN0VLVTVhQTVKRkVs?= =?utf-8?B?YTA2cUNGYUxSR21CVXU5amR2c0VnNTZ5K2RFRE5MOWFOdjdPb2ZnNHdoSElC?= =?utf-8?B?N3hjRU1EQXhIUzQzVXZBRzg3YXY1TE1uN2l6WExsYkxRQWI1bGpWUGZMaFZv?= =?utf-8?B?eFB1K1N1YjhSQll2bzVjK0NkUFJFU0RBOVQ0RGNzUFpMTWlNKzdWc0pnWlBs?= =?utf-8?Q?D3Hnuwnt5FPavrLAj768FqFHr?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5048.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cae014ec-3da5-4fc2-f564-08db1eb5e4e4 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2023 02:44:38.0712 (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: 5rhf5kqTZpJe/b8l3Z9PJgJP1RD8XXyc0FfrlswhR61Hpaeki+1TVxhEE9gGz5Za6a15x5CIVmrKX0lpFBVqZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6849 Return-Path: zhiguang.liu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 WWVzLCBJIHRoaW5rIE1pa2UncyBjb21tZW50IGlzIGdvb2QgYW5kIG1vcmUgYWxpZ24gd2l0aCBT RE0uIFdpbGwgc2VuZCBhbm90aGVyIHZlcnNpb24gb2YgcGF0Y2guDQoNClRoYW5rcw0KWmhpZ3Vh bmcNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOaSwgUmF5IDxyYXku bmlAaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCA3LCAyMDIzIDk6NTEgQU0NCj4g VG86IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsNCj4gTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4g U3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIFVlZmlDcHVQa2c6IENhbGN1bGF0ZSBE aXNwbGF5RmFtaWx5DQo+IGNvcnJlY3RseQ0KPiANCj4gQExpdSwgWmhpZ3VhbmcsIGNhbiB5b3Ug Y2hlY2sgaWYgTWlrZSdzIHN1Z2dlc3Rpb24gIisiIGluc3RlYWQgb2YgInwiIGlzIG1vcmUNCj4g bWF0Y2hpbmcgdG8gU0RNPw0KPiANCj4gSWYgeWVzLCB3ZSBjYW4gY3JlYXRlIGFub3RoZXIgY29k ZSBwYXRjaC4NCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBN aWtlIE1hc2xlbmtpbiA8bWlrZS5tYXNsZW5raW5AZ21haWwuY29tPg0KPiA+IFNlbnQ6IE1vbmRh eSwgTWFyY2ggNiwgMjAyMyA5OjM3IFBNDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBO aSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0g W1BBVENIXSBVZWZpQ3B1UGtnOiBDYWxjdWxhdGUgRGlzcGxheUZhbWlseQ0KPiA+IGNvcnJlY3Rs eQ0KPiA+DQo+ID4gVGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIGN1cnJlbnQgaW1wbGVtZW50YXRp b24uDQo+ID4gTXkgcHJvcG9zYWwgd2FzIHRvIHJlLXdyaXRlIGNvZGUgaW4gdGhpcyB3YXk6DQo+ ID4NCj4gPiAgIERpc3BsYXlNb2RlbCA9IEVheC5CaXRzLk1vZGVsOw0KPiA+ICAgaWYgKChFYXgu Qml0cy5GYW1pbHlJZCA9PSAweDA2KSB8fCAoRWF4LkJpdHMuRmFtaWx5SWQgPT0gMHgwZikpIHsN Cj4gPiAgICAgRGlzcGxheU1vZGVsICs9IChFYXguQml0cy5FeHRlbmRlZE1vZGVsSWQgPDwgNCk7 DQo+ID4gICB9DQo+ID4NCj4gPiBUaGlzIGlzIGV4YWN0bHkgbWF0Y2hlcyBzcGVjIHdpdGhvdXQg a25vd2xlZGdlIGFib3V0IE1vZGVsX0lEIHdpZHRoDQo+ID4gYW5kIG1ha2VzIGNvZGUgY29uc2lz dGVudC4NCj4gPg0KPiA+IFRoZXJlIGlzIG5vICdPUiIgb3BlcmF0aW9uIGluIHJ1bGVzIGRlZmlu ZWQgYnkgU0RNOg0KPiA+ICINCj4gPiBJRiAoRmFtaWx5X0lEID0gMDZIIG9yIEZhbWlseV9JRCA9 IDBGSCkNCj4gPiAgIFRIRU4gRGlzcGxheU1vZGVsID0gKEV4dGVuZGVkX01vZGVsX0lEIMKrIDQp ICsgTW9kZWxfSUQ7DQo+ID4gICAoKiBSaWdodCBqdXN0aWZ5IGFuZCB6ZXJvLWV4dGVuZCA0LWJp dCBmaWVsZDsgZGlzcGxheSBNb2RlbF9JRCBhcw0KPiA+IEhFWCBmaWVsZC4qKSBFTFNFIERpc3Bs YXlNb2RlbCA9IE1vZGVsX0lEOyBGSTsgIg0KPiA+DQo+ID4NCj4gPiAiDQo+ID4NCj4gPiBPbiBN b24sIE1hciA2LCAyMDIzIGF0IDI6NTLigK9QTSBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPiB3 cm90ZToNCj4gPiA+DQo+ID4gPiBFeHRlbmRlZE1vZGVsSWQgZmllbGQgc2hvdWxkIHVzZSBzaGlm dC4gU28gSSBiZWxpZXZlIG5vdGhpbmcgd3JvbmcgdGhlcmUuDQo+ID4gPg0KPiA+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBNaWtlIE1hc2xlbmtpbiA8bWlr ZS5tYXNsZW5raW5AZ21haWwuY29tPg0KPiA+ID4gPiBTZW50OiBNb25kYXksIE1hcmNoIDYsIDIw MjMgNzoxNCBQTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFplbmcsIFN0YXIg PHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBMaXUsIFpoaWd1YW5nIDx6aGlndWFu Zy5saXVAaW50ZWwuY29tPjsgRG9uZywgRXJpYw0KPiA+ID4gPiA8ZXJpYy5kb25nQGludGVsLmNv bT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBLdW1hciwgUmFodWwgUg0KPiA+ID4gPiA8 cmFodWwuci5rdW1hckBpbnRlbC5jb20+OyBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNv bT4NCj4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIFVlZmlDcHVQa2c6 IENhbGN1bGF0ZSBEaXNwbGF5RmFtaWx5DQo+ID4gPiA+IGNvcnJlY3RseQ0KPiA+ID4gPg0KPiA+ ID4gPiBIYW5kbGluZyBvZiBFeHRlbmRlZE1vZGVsSWQgZmllbGQgaGFzIHRoZSBzYW1lIHByb2Js ZW0uDQo+ID4gPiA+IFRoaXMgcGF0Y2ggY291bGQgYmUgaW1wcm92ZWQgdG8gZml4IHRoYXQgdG9v Lg0KPiA+ID4gPg0KPiA+ID4gPiBPbiBNb24sIE1hciA2LCAyMDIzIGF0IDE6MzfigK9QTSBaZW5n LCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IEJUVywgbG9vayBsaWtlIHdyb25nIEJ1Z3ppbGxhIElEIGlzIHVzZWQgaW4gY29tbWl0IG1l c3NhZ2UsIHBsZWFzZQ0KPiA+IGNvcnJlY3QNCj4gPiA+ID4gaXQgd2hlbiBtZXJnaW5nIHRoZSBw YXRjaC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YNCj4gPiBaZW5nLA0KPiA+ID4gPiBTdGFyDQo+ID4gPiA+ID4gU2VudDog TW9uZGF5LCBNYXJjaCA2LCAyMDIzIDY6MzUgUE0NCj4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW87IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+ID4gPiA+ ID4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlA aW50ZWwuY29tPjsNCj4gPiBLdW1hciwNCj4gPiA+ID4gUmFodWwgUiA8cmFodWwuci5rdW1hckBp bnRlbC5jb20+OyBHZXJkIEhvZmZtYW5uDQo+ID4gPGtyYXhlbEByZWRoYXQuY29tPjsNCj4gPiA+ ID4gWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBS ZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZzogQ2FsY3VsYXRlDQo+IERpc3BsYXlG YW1pbHkNCj4gPiA+ID4gY29ycmVjdGx5DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBSZXZpZXdlZC1i eTogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZg0KPiA+ID4gPiBaaGln dWFuZyBMaXUNCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgTWFyY2ggMiwgMjAyMyA5OjI3IEFN DQo+ID4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gQ2M6IExpdSwg WmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBEb25nLCBFcmljDQo+ID4gPiA+IDxl cmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEt1bWFyLCBS YWh1bCBSDQo+ID4gPiA+IDxyYWh1bC5yLmt1bWFyQGludGVsLmNvbT47IEdlcmQgSG9mZm1hbm4g PGtyYXhlbEByZWRoYXQuY29tPg0KPiA+ID4gPiA+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFU Q0hdIFVlZmlDcHVQa2c6IENhbGN1bGF0ZSBEaXNwbGF5RmFtaWx5DQo+ID4gPiA+IGNvcnJlY3Rs eQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5v cmcvc2hvd19idWcuY2dpP2lkPTQyMzgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFBlciBTRE0sIERp c3BsYXlGYW1pbHkgPSBFeHRlbmRlZF9GYW1pbHlfSUQgKyBGYW1pbHlfSUQuDQo+ID4gPiA+ID4g Q29ycmVjdCB0aGUgcmVsYXRlZCBjb2RlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQ2M6IEVyaWMg RG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogUmF5IE5pIDxyYXkubmlA aW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBSYWh1bCBLdW1hciA8cmFodWwxLmt1bWFyQGludGVs LmNvbT4NCj4gPiA+ID4gPiBDYzogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+DQo+ ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwu Y29tPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICBVZWZpQ3B1UGtnL0FwcGxpY2F0aW9uL0Nw dWlkL0NwdWlkLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tDQo+ID4gPiA+ID4g IC4uLi9MaWJyYXJ5L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvQ3B1RmVhdHVyZXNJbml0aWFsaXpl LmMgICAgfCA0ICsrLS0NCj4gPiA+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvVWVm aUNwdVBrZy9BcHBsaWNhdGlvbi9DcHVpZC9DcHVpZC5jDQo+ID4gPiA+IGIvVWVmaUNwdVBrZy9B cHBsaWNhdGlvbi9DcHVpZC9DcHVpZC5jDQo+ID4gPiA+ID4gaW5kZXggMzcyYzZlZjg3ZC4uNTFj NDYzZmIxMCAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9VZWZpQ3B1UGtnL0FwcGxpY2F0aW9uL0Nw dWlkL0NwdWlkLmMNCj4gPiA+ID4gPiArKysgYi9VZWZpQ3B1UGtnL0FwcGxpY2F0aW9uL0NwdWlk L0NwdWlkLmMNCj4gPiA+ID4gPiBAQCAtMSw3ICsxLDcgQEANCj4gPiA+ID4gPiAgLyoqIEBmaWxl DQo+ID4gPiA+ID4gICAgVUVGSSBBcHBsaWNhdGlvbiB0byBkaXNwbGF5IENQVUlEIGxlYWYgaW5m b3JtYXRpb24uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtICBDb3B5cmlnaHQgKGMpIDIwMTYgLSAy MDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ ID4gKyAgQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAyMywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ID4gPiA+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgKiovDQo+ID4gPiA+ ID4gQEAgLTIxNyw3ICsyMTcsNyBAQCBDcHVpZFZlcnNpb25JbmZvICgNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ICAgIERpc3BsYXlGYW1pbHkgPSBFYXguQml0cy5GYW1pbHlJZDsNCj4gPiA+ID4gPiAg ICBpZiAoRWF4LkJpdHMuRmFtaWx5SWQgPT0gMHgwRikgew0KPiA+ID4gPiA+IC0gICAgRGlzcGxh eUZhbWlseSB8PSAoRWF4LkJpdHMuRXh0ZW5kZWRGYW1pbHlJZCA8PCA0KTsNCj4gPiA+ID4gPiAr ICAgIERpc3BsYXlGYW1pbHkgKz0gRWF4LkJpdHMuRXh0ZW5kZWRGYW1pbHlJZDsNCj4gPiA+ID4g PiAgICB9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgICBEaXNwbGF5TW9kZWwgPSBFYXguQml0cy5N b2RlbDsNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5 L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvQ3B1RmVhdHVyZXNJbml0aWFsaXplLmMNCj4gPiA+ID4g Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9DcHVGZWF0dXJlc0lu aXRpYWxpemUuYw0KPiA+ID4gPiA+IGluZGV4IGE4ZTRmOTIwZmMuLjI1Yjg5NTgyNTIgMTAwNjQ0 DQo+ID4gPiA+ID4gLS0tDQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0 dXJlc0xpYi9DcHVGZWF0dXJlc0luaXRpYWxpemUuYw0KPiA+ID4gPiA+ICsrKw0KPiA+IGIvVWVm aUNwdVBrZy9MaWJyYXJ5L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvQ3B1RmVhdHVyZXNJbml0aWFs aXplLmMNCj4gPiA+ID4gPiBAQCAtMSw3ICsxLDcgQEANCj4gPiA+ID4gPiAgLyoqIEBmaWxlDQo+ ID4gPiA+ID4gICAgQ1BVIEZlYXR1cmVzIEluaXRpYWxpemUgZnVuY3Rpb25zLg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gLSAgQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ID4gPiA+ICsgIENvcHlyaWdodCAoYykg MjAxNyAtIDIwMjMsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gPiA+ID4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICoqLw0KPiA+ID4gPiA+IEBAIC02Nyw3ICs2Nyw3IEBA IEZpbGxQcm9jZXNzb3JJbmZvICgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgIERpc3BsYXllZEZh bWlseSA9IEVheC5CaXRzLkZhbWlseUlkOw0KPiA+ID4gPiA+ICAgIGlmIChFYXguQml0cy5GYW1p bHlJZCA9PSAweDBGKSB7DQo+ID4gPiA+ID4gLSAgICBEaXNwbGF5ZWRGYW1pbHkgfD0gKEVheC5C aXRzLkV4dGVuZGVkRmFtaWx5SWQgPDwgNCk7DQo+ID4gPiA+ID4gKyAgICBEaXNwbGF5ZWRGYW1p bHkgKz0gRWF4LkJpdHMuRXh0ZW5kZWRGYW1pbHlJZDsNCj4gPiA+ID4gPiAgICB9DQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiAgICBEaXNwbGF5ZWRNb2RlbCA9IEVheC5CaXRzLk1vZGVsOw0KPiA+ID4g PiA+IC0tDQo+ID4gPiA+ID4gMi4zMS4xLndpbmRvd3MuMQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+IA0KPiA+ID4NCj4gPiA+DQo=