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.3235.1617252120182979745 for ; Wed, 31 Mar 2021 21:42:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=xBE8uw8k; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: zhiguang.liu@intel.com) IronPort-SDR: aL3P/EXUvk5JY90fsoaFiSXG/AYyW4l7O3tBWzrtvEjLAjSZ+gnm1GT8STg15KkTj+A+y9E1Nj xYIv3QSRsSAg== X-IronPort-AV: E=McAfee;i="6000,8403,9940"; a="277337358" X-IronPort-AV: E=Sophos;i="5.81,295,1610438400"; d="scan'208";a="277337358" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2021 21:41:59 -0700 IronPort-SDR: wda4Nrj+3WCuqyfnrWhEwciCgFZ0PnRQB0uh9zuL5P0wQqTLdko7MeWzVt2bRnvcGP5QRIgAXF xxWlPakkbjYw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,295,1610438400"; d="scan'208";a="446056083" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga002.fm.intel.com with ESMTP; 31 Mar 2021 21:41:59 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 31 Mar 2021 21:41:58 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 31 Mar 2021 21:41:58 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 31 Mar 2021 21:41:58 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 31 Mar 2021 21:41:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XHx7Epw+G+8NgybNG2H3rauOlCWiNLVwsqDk9NxF/YYEOCTwWFHK+uH+AAO2CLt9WTTPgEeNcQIBs04wSYlCWBLjm7p1LaltRrz/gWnWPcaRklSN7Ws/zJdtYrdv4HwYP9lnTpRVv3SeHMV4RjEetjaeTv2YeJ61uM/gGcfbn+9h+GVBGSCTEWvar9Ni4RVHsJaQzSjOo1lUJ8Z7aDBukJC/uYtT2oJIVRipUZEzObAiP6rw8I/lje5rMmfeGaHeifcDoX6yLq2Uk8UfkPEnrHJlXXI6NMfhDw7vfY/GKIFb5MryRMfLr3Gt8o2RhC5lukn0d3YGkOkynRGIZBEXNQ== 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-SenderADCheck; bh=LOA5ux4JxrntkFjd3Aso17TDZ2R0CBjP+APjqP+o+O0=; b=OXE360wY9EnPoaQ8QzJxamccrraFBLp35w0vKiGyymHZVXyzQxSOAjFakV7j95duUMlhjTI9Xh96a3xlzs+9sP7Qg9nS9e6bYteTBlY6+NVuqmd632kWodIpbaNCDmq+a/WmKf9chPSl3Vm3Nlo9EN0GGKuY60IU/ZIiJcs+/TbEFm47HxT1fucJpiWCZebEskTyKC12WtnwQkEwrGxFngW843m3qoXpOm3zT47qkN8UIVtzmm/2WMR6P38huKPx23hmNmi2ieGgW2bguzzJJKFqDW3m/STfvE8owYlb0TLvFldUrR5tcsRvOZ+FD8KvauA4pY+LsXEMRb7Rzj5OHg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LOA5ux4JxrntkFjd3Aso17TDZ2R0CBjP+APjqP+o+O0=; b=xBE8uw8kA6qJ+In3nlLDkG06hK4nUbBMOq4/cCzvm5ggN7dk6mogsGBVvwgwvrj80++SYPhUkbI77aFp7Fxe9E2PmV+yNADBEzd+qRjpEfnHUCZacDkAAF/UFHKyGroOMEyRIh61dEJQLc0qcqzuVzNolZlOqwRkPuT9K/kS7j4= Received: from PH0PR11MB5048.namprd11.prod.outlook.com (2603:10b6:510:3d::14) by PH0PR11MB4872.namprd11.prod.outlook.com (2603:10b6:510:32::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.24; Thu, 1 Apr 2021 04:41:57 +0000 Received: from PH0PR11MB5048.namprd11.prod.outlook.com ([fe80::f490:d71f:fbbe:3b7f]) by PH0PR11MB5048.namprd11.prod.outlook.com ([fe80::f490:d71f:fbbe:3b7f%5]) with mapi id 15.20.3999.028; Thu, 1 Apr 2021 04:41:57 +0000 From: "Zhiguang Liu" To: "devel@edk2.groups.io" , "Ni, Ray" , Patrick Rudolph CC: "Chaganty, Rangasai V" , "Bi, Dandan" , "Zeng, Star" , "Gao, Zhichao" , "You, Benjamin" , "philipp.deppenwiese@9elements.com" , "Ma, Maurice" , "Dong, Guo" Subject: Re: [edk2-devel] [PATCH - resend] MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables Thread-Topic: [edk2-devel] [PATCH - resend] MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables Thread-Index: AQHXDqe7kjouJYkK8U+i07+rfggUYKpx7NuAgAAG3YCAAApoAIAtRa9Q Date: Thu, 1 Apr 2021 04:41:57 +0000 Message-ID: References: <20210301143221.2775162-1-patrick.rudolph@9elements.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.55] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d5171fcc-140c-4293-fc71-08d8f4c87b81 x-ms-traffictypediagnostic: PH0PR11MB4872: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4125; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lOwK4quZ+ybmh0cd2NKnQoj3jdwG0D+caqTLlpt5erUJA/CJOevN7wJYdoUkLIbsEw7KM47/tdMAmJxGkOhRtGe5it3i73A/bjpcu3wHNSRbhaJhSsjLE5qrNKP8xsCSJykE5wJQSX6AxcshF15scde0nLNHNSSzzrdmc+TpJ04tbmxM94tUpQZz8Y70wxv1qaNv5oEpY4o+xmYuwoeG++0QDhzPVp/tWGWGIA8v4diHXSHRTRSWD0sJWBmaXIbw7Y/Z9rfkdk9tWVH1Tl9OGXGffWpGppy8Meo2fe6Lw1MaN/tne9a8haQ4kwYovLAJtMaQswEv2t9jCWEfw+aleiQ8FQ+/BDFSwEf/PHTfFu0C5BH8Ff04FDv3dVnHYC6gESPQHh/bxihVZLs1JxCpwgySFU5R03Z8qPiFrFaaWiOQtBOW5YRBejus1j0mEOLEeoBqANjrdEpjiPH4aawKA7IXRyLEfoSfcqeeHJ5bltfneE0PMWh8FfqEO5J7/WK5pU1lIFk2d1dhPVCM4JWz2zHitegQV9RAveuq7BFJNyMyS2JWw2vfWsRCtAC28UOX023fXc2B/a/qGGbCjIFLFZtWCFEPLqrZYkpzxG0ss5Xbpdzbd1nJtgptBk24+2vv9FqCpidM0AEJEXwJlzuTL/9rwxI/y3cCwEeE+VZ21Iz4LteSu2CsGexnypWbkLdFFhAmreqzbY9x2kISwdxh/DoK/CbgHD5C3gFfNRi66wajz8VhJSlxZsmHsutZr68f 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:(396003)(376002)(39860400002)(346002)(136003)(366004)(86362001)(76116006)(8676002)(107886003)(316002)(966005)(38100700001)(110136005)(66556008)(53546011)(66946007)(83380400001)(52536014)(9686003)(54906003)(6506007)(8936002)(71200400001)(55016002)(64756008)(4326008)(33656002)(7696005)(186003)(26005)(66476007)(478600001)(5660300002)(66446008)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?TkwvV1lsMGRicWU2bjBPTVN4V2hoNDl3NEVROVhyK0d6cHZkemF3TVhZUnZL?= =?utf-8?B?ZGtFTTd6WUFaQWNtNzRyZ1NhV1VmNkVnWFBCelNROGE0VUpieGlKdjFTOWJ0?= =?utf-8?B?cUdBa0U4QkVtellrSmxHRzQzS0V4b1pKY2hicFFYRW1OTjZjcFJTaGpackJx?= =?utf-8?B?ZnJEZ3Vpek1WQ3R5c1VYSU9RVVZnMFJseUZjcWpidlp4UlBlaGt2QXAzNHRN?= =?utf-8?B?cDM5eFhQMHZXZjhScXEvUWZ2RUVvb3JrL1ZCZ3JCUkxRb2V1YitSYmRpcXc0?= =?utf-8?B?ZmtXTlN6VVFBMXp6dXQ5M1ArM2tISDlxRUt1QlRRZlhENGVzeWRIUUd4MTkx?= =?utf-8?B?K3J0aG42K3hPRHRoSkQ3blBpblltUXZqUXBzY0k1WDQzS2QzaXRkK1FNc0Iw?= =?utf-8?B?SzlaVHU1d3h4NTRXS1BrWjdmVytKK09UTWh2VEpDREw3NFlxYy9qOWFkOHk0?= =?utf-8?B?dUZ0blQ0QkUwUmtqaklPdWJxMGhKRUQzUkJ0bmxMUlpKeTFvTmhyalVmbFU3?= =?utf-8?B?RFlGcVFYczNja2VnT3plQ04yenFydTRHLzJYbGk5N3M1SFhLQmc5KzEzemV3?= =?utf-8?B?SElxRDRJM3p6ajhwSlo0U2RoN1BqUlV1K1dwckptTEF1b3RTOGtpK1FsVXNP?= =?utf-8?B?eEVRa2RyK2lvdzB1OU05bUpyUkZXLzJsQUhzeEE2TnVnbVBEOE9vRGYxS3R2?= =?utf-8?B?V2VScTNPak5yZ2kyV2VLQ1ovRE9FVVJiSGxvUG1PZCsyK0JsaEVuVUlqaUpa?= =?utf-8?B?bFVGaGluQnhNelM5TEVxby8vVEpwdk5MbzBiOStEL1FTQ09rTDdCR1dob0tr?= =?utf-8?B?L21CN3FvTmlZaFRObk85STdIaVJSUW5NU2FQbkl1MzljK2ZTTXlCMEh2K01S?= =?utf-8?B?Qmp5MnJFWWh5VkRNYmxIdTEwSmxyaVhKOUhmZkYyQ1pyMC9qZ2VtRlYvT2Vm?= =?utf-8?B?UENjdEwrM3FBQmI4bm5hNFJUdlU2eERSOFdoQkZld2U1d1d1aCtaZlVEc1Bq?= =?utf-8?B?ZldTWVlPY0ZWSVB1dWh0OHpoamlEUVpSZVYzYWxHWkdyZUpjTUxDVjBkWCtP?= =?utf-8?B?d2JPQlkvN3ZIci9KY1NTR0NuUXE3RW5hTjh0aWI4SXk3SldMakU2UUZJaTZn?= =?utf-8?B?RnY1T2xSR00vSzJyNFBBeTJqbzAwVW02OVJybUVwTUg5eWk5M2dPV2M3UGZU?= =?utf-8?B?UW9IN0k0VVVoOHRGeVU5YkxYbE9yUFBrc2tobUpRVDg2a013eDAxenkrUVpG?= =?utf-8?B?ZUlRdkRFSFdsRVdhTzJZbDdXMHNhNjFNMUp1QVBINTBIeVhtQitQQ0tnY01W?= =?utf-8?B?WEJHTjRMMkJYOWhvbldCeHVxSzE2Mll6NGhQRVIvU0grM2N1UXRMTjZibWFL?= =?utf-8?B?WjJ0a2JFYUpaTmF4bkJFVlVMNkNiZlFSZzRNYWxtZGM1SkpVMUlvOU1vWFph?= =?utf-8?B?bDdlME9zN1laUkh5cndWdUthZ1ZaUGpnZkU2bTVvY3RQSE9TMXRheFI2dU9y?= =?utf-8?B?NjU5Vkd5M0FWNXQ5ZWN6aXpPRG1vMVJ4aXpTRE5XbmJRQUdMQWhodWgreXV0?= =?utf-8?B?MHIwQWdTclBOcHM3bGFEV0NFUVJRNHVTTnNXdHBhK3pxVkJkczdiL3JKNFcz?= =?utf-8?B?dURKL0w2UXdsMnFxUzVQK2owZE5OUUhaTFZDWmFxa0FIYUZTc3QreVR4ZlI3?= =?utf-8?B?NmcyT2lUSm1uZ004OFR6NTd5T0cweUowTzFlbkJYYnMxYXFWUXBnbHV5TDhB?= =?utf-8?Q?f0yvdHptTUTpmd8aml5KqT+oCe3RLlyhglc0eIN?= 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: d5171fcc-140c-4293-fc71-08d8f4c87b81 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Apr 2021 04:41:57.4443 (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: PdNhUbCNOtiGAfA2JTgcUhWuddS+MWtHF3XLk3Wbd3+wzFVDlr9eBb+Qn/f3xtDRFlh3h/DwKDUJmHKrGve9ig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4872 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 SGkgUGF0cmljayBSdWRvbHBoLA0KDQpJIGFsc28gd2FudCB0aGlzIGZlYXR1cmUgdGhhdCBlbmFi bGVzIFNtYmlvcyBkcml2ZXIgdG8gcGFyc2UgYW5kIGluc3RhbGwgZXhpc3RpbmcgU01CSU9TIHRh YmxlLg0KSSBub3RpY2UgdGhlcmUgYXJlIHNvbWUgY29tbWVudHMgYWJvdXQgeW91ciBwYXRjaC4g SWYgeW91IGRvbid0IGhhdmUgdGltZSB0byByZWZpbmUgaXQsIEkgY2FuIGtlZXAgeW91ciBzaWdu ZWQtb2ZmLWJ5LCBhbmQgY29udGludWUgeW91ciB3b3JrIGJhc2VkIG9uIFJheSBhbmQgR3VvJ3Mg Y29tbWVudHMuDQoNClRoYW5rcw0KWmhpZ3VhbmcNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IE9uIEJlaGFsZiBPZiBOaSwgUmF5DQo+IFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMywgMjAyMSA1 OjE1IFBNDQo+IFRvOiBQYXRyaWNrIFJ1ZG9scGggPHBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMu Y29tPg0KPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+ IDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT47IEJpLCBEYW5kYW4gPGRhbmRhbi5iaUBp bnRlbC5jb20+OyBaZW5nLA0KPiBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPjsgR2FvLCBaaGlj aGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+OyBZb3UsDQo+IEJlbmphbWluIDxiZW5qYW1pbi55 b3VAaW50ZWwuY29tPjsNCj4gcGhpbGlwcC5kZXBwZW53aWVzZUA5ZWxlbWVudHMuY29tOyBNYSwg TWF1cmljZQ0KPiA8bWF1cmljZS5tYUBpbnRlbC5jb20+OyBEb25nLCBHdW8gPGd1by5kb25nQGlu dGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggLSByZXNlbmRdDQo+ IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU21iaW9zRHhlOiBTY2FuIGZvciBleGlzdGluZyB0YWJs ZXMNCj4gDQo+IEkgaGF2ZSA1IG1vcmUgY29tbWVudHMgZW1iZWRkZWQsIGNhbiB5b3UgcmVhZCBh bmQgcmVwbHk/DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog UGF0cmljayBSdWRvbHBoIDxwYXRyaWNrLnJ1ZG9scGhAOWVsZW1lbnRzLmNvbT4NCj4gPiBTZW50 OiBXZWRuZXNkYXksIE1hcmNoIDMsIDIwMjEgNDozOCBQTQ0KPiA+IFRvOiBOaSwgUmF5IDxyYXku bmlAaW50ZWwuY29tPg0KPiA+IENjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQ2hhZ2FudHksIFJh bmdhc2FpIFYNCj4gPiA8cmFuZ2FzYWkudi5jaGFnYW50eUBpbnRlbC5jb20+OyBCaSwgRGFuZGFu IDxkYW5kYW4uYmlAaW50ZWwuY29tPjsNCj4gWmVuZywNCj4gPiBTdGFyIDxzdGFyLnplbmdAaW50 ZWwuY29tPjsgR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+OyBZb3UsDQo+ID4g QmVuamFtaW4gPGJlbmphbWluLnlvdUBpbnRlbC5jb20+Ow0KPiA+IHBoaWxpcHAuZGVwcGVud2ll c2VAOWVsZW1lbnRzLmNvbTsgTWEsIE1hdXJpY2UNCj4gPiA8bWF1cmljZS5tYUBpbnRlbC5jb20+ OyBEb25nLCBHdW8gPGd1by5kb25nQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW2VkazIt ZGV2ZWxdIFtQQVRDSCAtIHJlc2VuZF0NCj4gPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NtYmlv c0R4ZTogU2NhbiBmb3IgZXhpc3RpbmcgdGFibGVzDQo+ID4NCj4gPiBIaSBSYXksDQo+ID4gdGhh bmtzIGZvciB5b3VyIGZlZWRiYWNrLg0KPiA+DQo+ID4gQ3VycmVudGx5IGEgc2luZ2xlIEhPQiBj b250YWluaW5nIGFsbCB0aGUgU01CSU9TIHRhYmxlIGlzIGV4cG9ydGVkIGJ5DQo+ID4gY29yZWJv b3QuDQo+ID4gQXMgY29yZWJvb3QgZG9lc24ndCBzdXBwb3J0IG11bHRpcGxlIEhPQnMgd2l0aCB0 aGUgc2FtZSBJRCwgIzIgaXNuJ3QgYQ0KPiA+IHNvbHV0aW9uLg0KPiA+DQo+ID4gSSdsbCBsb29r IGludG8gcGFzc2luZyBhIEhPQiBpbnN0ZWFkIG9mIHVzaW5nDQo+ID4gRWZpR2V0U3lzdGVtQ29u ZmlndXJhdGlvblRhYmxlIGFuZCBzZWUgaWYgSSBjYW4gZ2V0IHJpZCBvZiB0aGUgdGFibGUNCj4g PiBzaGFkb3cgY29weS4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gUGF0cmljayBSdWRvbHBoDQo+ ID4NCj4gPiBPbiBXZWQsIE1hciAzLCAyMDIxIGF0IDk6MTMgQU0gTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT4gd3JvdGU6DQo+ID4gPg0KPiA+ID4gSW4gZ2VuZXJhbCwgSSBhZ3JlZSB0aGlzIHNv bHV0aW9uIHRoYXQgbGV0cyBTTUJJT1MgZHJpdmVyIGRpcmVjdGx5IGFic29yYnMNCj4gdGhlDQo+ ID4gU01CSU9TIHRhYmxlIGZyb20gUEVJLg0KPiA+ID4gVGhpcyBjYW4gZWxpbWluYXRlIHRoZSBu ZWVkcyBvZiBhIHNlcGFyYXRlIGRyaXZlciB0aGF0IGNvbnN1bWVzIHRoZSBIT0INCj4gPiBhbmQg Y2FsbHMgU01CSU9TIHByb3RvY29sIHRvIGFkZCB0aGUgU01CSU9TIHN0cnVjdHVyZXMuDQo+ID4g Pg0KPiA+ID4gVGhlcmUgYXJlIHR3byBvcHRpb25zIGZvciB0aGUgSE9CIGRlc2lnbjoNCj4gPiA+ IDEuIEEgc2luZ2xlIEhPQiB0aGF0IHBvaW50cyB0byB0aGUgU01CSU9TIHRhYmxlLg0KPiA+ID4g Mi4gTXVsdGlwbGUgSE9CcyB0aGF0IGVhY2ggcG9pbnRzIHRvIGEgU01CSU9TIHN0cnVjdHVyZS4N Cj4gPiA+DQo+ID4gPiBJbiBteSBvcGluaW9uLCBvcHRpb24gIzIgaXMgbW9yZSBmbGV4aWJsZSBi ZWNhdXNlIGl0IGRvZXNuJ3QgcmVxdWlyZSB0aGUNCj4gPiBib290bG9hZGVyIHRvIGNvbnNvbGlk YXRlIGFsbCB0aGUgU01CSU9TIHN0cnVjdHVyZXMgdG9nZXRoZXIuDQo+ID4gPiBUaGUgQ1BVIG1v ZHVsZSBpbiB0aGUgYm9vdGxvYWRlciBjYW4gcHJvZHVjZSB0aGUgdHlwZSA0IGFuZCA3DQo+IHN0 cnVjdHVyZXMuDQo+ID4gPiBUaGUgUENJIG1vZHVsZSBpbiB0aGUgYm9vdGxvYWRlciBjYW4gcHJv ZHVjZSB0aGUgdHlwZSA5IHN0cnVjdHVyZXMuDQo+ID4gPg0KPiA+ID4gQnV0LCBJIGFtIG5vdCBz dXJlIGlmIG9wdGlvbiAjMiBpcyBjb25mbGljdCB3aXRoIHdoYXQgY29yZWJvb3QgZG9lcy4gRG9l cw0KPiA+IGNvcmVib290IHByb2R1Y2UgdGhlIHdob2xlIFNNQklPUyB0YWJsZSBpbiBhIHNpbmds ZSBidWZmZXI/DQo+ID4gPiBPcHRpb24gIzIgYWxzbyBkb2Vzbid0IGNhcmUgd2hldGhlciBpdCdz IGEgU01CSU9TIDMuMCB0YWJsZSBvciAyLnggdGFibGUuDQo+ID4gPg0KPiA+ID4gPisgIFN0YXR1 cyA9IEVmaUdldFN5c3RlbUNvbmZpZ3VyYXRpb25UYWJsZSAoDQo+ID4gPg0KPiA+ID4gMS4gV2h5 IGRvbid0IHlvdSBkaXJlY3RseSBnZXQgdGhlIGRhdGEgZnJvbSBIT0IgbGlzdD8gVGhpcyBjYW4g ZWxpbWluYXRlDQo+IHRoZQ0KPiA+IGNvZGUgaW4gQmxTdXBwb3J0RHhlIHRoYXQgZ2V0cyBkYXRh IGluIEhPQiBhbmQgcHVibGlzaGVzIHRvDQo+ID4gPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiA+ ID4NCj4gPiA+ID4gK1ZhbGlkYXRlU21iaW9zMjBUYWJsZSgNCj4gPiA+ID4gK1ZhbGlkYXRlU21i aW9zMzBUYWJsZSgNCj4gPiA+DQo+ID4gPiAyLiBJIHdpbGwgZGVmZXIgdG8gZXhwZXJ0cyAoRGFu ZGFuLCBTdGFyIGFuZCBaaGljaGFvKSB0byByZXZpZXcgd2hldGhlcg0KPiB0aGUNCj4gPiBhYm92 ZSB0d28gZnVuY3Rpb25zIGFyZSBpbXBsZW1lbnRlZCBwcm9wZXJseS4NCj4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+ICtQYXJzZUFuZEFkZEV4aXN0aW5nU21iaW9zVGFibGUoDQo+ID4gPiA+ICsgIElO IEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIEltYWdlSGFuZGxlLA0KPiA+ID4gPiArICBJ TiBTTUJJT1NfU1RSVUNUVVJFX1BPSU5URVIgICAgICBTbWJpb3MsDQo+ID4gPiA+ICsgIElOIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aA0KPiA+ID4gPiArKSB7DQo+ID4gPiA+ ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiA+ID4gKyAgQ0hB UjggICAgICAgICAgICAgICAgICAgICAgICAgKlN0cmluZzsNCj4gPiA+ID4gKyAgRUZJX1NNQklP U19IQU5ETEUgICAgICAgICAgICAgU21iaW9zSGFuZGxlOw0KPiA+ID4gPiArICBTTUJJT1NfU1RS VUNUVVJFX1BPSU5URVIgICAgICBTbWJpb3NFbmQ7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgU21i aW9zRW5kLlJhdyA9IFNtYmlvcy5SYXcgKyBMZW5ndGg7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAg ZG8gew0KPiA+ID4gPiArICAgIC8vIENoZWNrIGZvciBlbmQgbWFya2VyDQo+ID4gPiA+ICsgICAg aWYgKFNtYmlvcy5IZHItPlR5cGUgPT0gMTI3KSB7DQo+ID4gPg0KPiA+ID4gMy4gUGxlYXNlIHVz ZSBTTUJJT1NfVFlQRV9FTkRfT0ZfVEFCTEUgaW5zdGVhZCBvZiBoYXJkY29kZSAxMjcuDQo+ID4g Pg0KPiA+ID4gPg0KPiA+ID4gPiArICAgIENvcHlNZW0gKFNtYmlvcy5SYXcsIChWT0lEICopU21i aW9zMzBUYWJsZSwgU21iaW9zMzBUYWJsZS0NCj4gPiA+ID4gPlRhYmxlTWF4aW11bVNpemUpOw0K PiA+ID4NCj4gPiA+IDQuIFNob3VsZCB3ZSBjb3B5IGZyb20gU21iaW9zMzBUYWJsZS0+VGFibGVB ZGRyZXNzIGluc3RlYWQgb2YNCj4gPiBTbWJpb3MzMFRhYmxlPw0KPiA+ID4NCj4gPiA+ID4NCj4g PiA+ID4gKyAgICBTdGF0dXMgPSBQYXJzZUFuZEFkZEV4aXN0aW5nU21iaW9zVGFibGUoSW1hZ2VI YW5kbGUsIFNtYmlvcywNCj4gPiA+ID4gU21iaW9zMzBUYWJsZS0+VGFibGVNYXhpbXVtU2l6ZSk7 DQo+ID4gPg0KPiA+ID4gNS4gQ2FuIHlvdSBleHBsYWluIGluIHNwZWNpZmljIHdoeSBTTUJJT1Mg dGFibGUgc2hvdWxkIGJlIGR1cGxpY2F0ZWQNCj4gPiBiZWZvcmUgcGFyc2luZz8NCj4gPiA+DQo+ ID4gPg0KPiANCj4gDQo+IA0KPiANCg0K