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.web08.3838.1610418500608313036 for ; Mon, 11 Jan 2021 18:28:21 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=vZY/xwrr; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) IronPort-SDR: QpTk89PtlT9PmcnPS5yfV9gareMBi+PbXwsYTe/M8jDtbN7meqVYgfMs2FDblxfQUowdtwkr87 Lt9SDzK0w6Hw== X-IronPort-AV: E=McAfee;i="6000,8403,9861"; a="262753073" X-IronPort-AV: E=Sophos;i="5.79,340,1602572400"; d="scan'208";a="262753073" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 18:28:19 -0800 IronPort-SDR: kyEnRlnWJ4DqAypZiIdZTQGGTybELUlvuemxYKljJh5Zlptl6a8GyWDQpVORPEFdTsrrMf6sOp Ndmof2JfLoIA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,340,1602572400"; d="scan'208";a="381241951" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga008.jf.intel.com with ESMTP; 11 Jan 2021 18:28:19 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 11 Jan 2021 18:28:18 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 11 Jan 2021 18:28:18 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 11 Jan 2021 18:28:18 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 11 Jan 2021 18:28:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MUnEwgMKazMd3mexeN/fLuW8dGqOBrgOtilHUIU7yZr3cvuPKq0EAfsnbKNc8JaHBEazgrPfXLMdiIAkNyLRHljEgCnoZVcjBgF1IZMWdrQleJiN+emodJYKxgkgMJsA1GTkgAEcqC0Qv0s5PbhJwPdWyfX/90ZIHv240+CYMnqkw8LZJVVa3xlqHICfZWAVdKTIUZb+FMfjhO5ZOOrKfH5bdaLN+x2g/E79GueW2lWz2t1qYLJzkfBSGh7w01GpmUsAA5GM0nYb1nLhCRqZT5TeVQ7Ob9MaDjE3Efwty8/kSSz/K8m55twWqO/TwiJt2PMGYJ6pTjqilALXIUWEaw== 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=7vTznHYr0uykRAJGTPUE+weji5XhoGQY8URdhXLU7rA=; b=QMSvMOV4AfsN1BCAEaipWqhU5qWz6qr1uMkS76wYW+hmQwFL3LK91Hr1yZyHlYAISTy2kGOJ/0Z7woUzeIKcbJ/16ymR6zltnxnWbcOYyLiOlNisjGu7bsyzr0q4D+AWzayeINf6MmEmQe4EMjziK1K47tx2YiTWcrNTkp5GuIUhu4N8UoT9Fx9IYJumB7UPS8RrZnvpxc/ZkuLg2pEBnJHxmmeKnk5D+mck7ppBZhpW2iaoo8/DNwh1e05m3HwargPXJIIIoMtsDq6cM2pb7z2gsOw3AIvqRxsHgiaTxhOFO3koWVK+k9Tt6c4laO3OieZjOONjBAwp6xVVXcIMMA== 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=7vTznHYr0uykRAJGTPUE+weji5XhoGQY8URdhXLU7rA=; b=vZY/xwrr3zgtqjvYcKrt421cG+0OLC+eGnXshEAZeAvoZ707M34CGX6VdhzMZTK9VW1qLvT5GSjhpuLTwI1IDv+yPOXqBxZPIQIIRrHYjLB3G2b534fqwC/3Z6MeqIZAqpZhqUOJUvvEBMOS2d0cHOXoB1py6IyK5vDGM5vzPZc= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by CO1PR11MB4932.namprd11.prod.outlook.com (2603:10b6:303:98::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Tue, 12 Jan 2021 02:28:12 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936%7]) with mapi id 15.20.3742.012; Tue, 12 Jan 2021 02:28:12 +0000 From: "Ni, Ray" To: Laszlo Ersek , "devel@edk2.groups.io" , "Luo, Heng" CC: "Wu, Hao A" , "Kinney, Michael D" Subject: Re: [edk2-devel] [Patch V3 2/2] MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable BAR Capability Thread-Topic: [edk2-devel] [Patch V3 2/2] MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable BAR Capability Thread-Index: AQHW4mc/SbQmbKZ3m0GK2tEKId44GKoi3byAgABwJcA= Date: Tue, 12 Jan 2021 02:28:12 +0000 Message-ID: References: <20210104065954.3901-1-heng.luo@intel.com> <20210104065954.3901-2-heng.luo@intel.com> <9a081622-94c8-d921-1631-b595f189c807@redhat.com> In-Reply-To: <9a081622-94c8-d921-1631-b595f189c807@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f5919507-54b8-46a2-0b63-08d8b6a1b5ca x-ms-traffictypediagnostic: CO1PR11MB4932: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DWnDpGclPKs6qR69NvAEWfIMM2jWBbedw6P1ZcQbvYrADqPuIyd+H3XAtyswjJFB+Ix+/7Fsa6qEXHZ8aYNQd7xmHtiBVPeslcpSCVW0F2VaCP1U9ISazpLu8zdE34eWcHdTKWeAOfssupYyd2HsUDUTRWQmYNRZPJY4OWQgegAsM8iRT9XxoPKgwF6fbBl2GZjnTuZex2jOPpSkCBOi/H2gCiQic69FngyT4iOne81P4i53w0E7mn4VboTITWvIMEva7XEEFduFQAw1nh7YDBdTggUHTrF3ex73R/OXU8JItuIrIboU3lZ8Sa4EGA7z0FrsxeUdBag4J3RA87hS9CspOP7orpXCJwDODF2OmJlXuAihErpP2ON5QEP3IgARE3AO8RBmvck45E63R9mlJeM/ULdc6i8sBrktI8KqieQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(396003)(346002)(136003)(376002)(366004)(55016002)(54906003)(5660300002)(9686003)(66556008)(33656002)(26005)(8676002)(52536014)(83380400001)(966005)(186003)(7696005)(478600001)(76116006)(110136005)(64756008)(66946007)(6506007)(71200400001)(66476007)(6636002)(316002)(4326008)(8936002)(107886003)(2906002)(86362001)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?cS9ycVBtMUxhVEtyeTZyWmw2ZTB0Z2dXUmpTdVFxUzl1U1FSQXJ6WEpjYzJH?= =?utf-8?B?YW9wUkorQ3BVTnVFQlhoSHUyNUNBR1J4K1FoRXI3YjBVY2VMOFBMWlpMcGxY?= =?utf-8?B?MUR3NHZIZXdoZTYwNVhSdGMyUFkxajZEK2U0NXVZbndjSmZwQXB6VURNWVVr?= =?utf-8?B?VjFOK0JzOFN5MXFlTXlFNnErL0lMbm1MQmg0dFlIK0tKNXlzZFU3Y21OU2Vz?= =?utf-8?B?cTZWOFNhU0xJbjdwdHlPVkJvVGNVODVPSnMzK2hNNS9aRE9jUXdTTm56WGdL?= =?utf-8?B?WUVzSnFZYzdEVElGTVBHU1ptVVFvTUowalptdFNLZVlZNm1QYTZ2WkZmSStQ?= =?utf-8?B?ekFuemtBUEtJYTBxZnpMaUhBMkJKK1ZvV1VCSEN1Tm02OVZtVVBpZkQ1Ylhm?= =?utf-8?B?ZC9sMUJHcDZYK3M2WVhmNnZRWTlXOUo3UzRobHlody9Yc3BVdzU3bktzdTg4?= =?utf-8?B?THhSMG03TDJ5TWNsSUtkb0V6TFNodGFHTDdoY1hsOFZEMGxqa0J3Z0h1N1VC?= =?utf-8?B?bE1BemFOeWtSc3lJUVFBMG5yMXVGNWVSYW1lMWd1cTBldlFYbUhSY2x5VWVs?= =?utf-8?B?YmhkcFVnVEc0SXpkWnJkMURDbFJNRWQ0cEVvdEdSSjhsT20zbXB2TlB6Zy9R?= =?utf-8?B?cnVxYmZ4Rm9hcldSWkJNVXM1OFZWQVZTbUlBNEpDaU43NHBtU0lHRHJ1NHJY?= =?utf-8?B?alJjNjlsVzJQRGNvL0FHelRxcCs1Q1ErcW1iUzlZeUlOZTR3L1dnTWl2NnNE?= =?utf-8?B?NzF4aXc3aUxDcG82MTJna2RVNFI3WjIvd1lmNGNGQVNSbzQrTWFrZjlhUllu?= =?utf-8?B?STgycHovZC9WZmJhQUhCazJvcHdPWm9Pa1dqOTNUOFV6elVVWks5UnoxMHVp?= =?utf-8?B?ek0xc3dMUkhjbEZFNzdxZGRhUHI0dkVVTWRVaStZNXVKQ05ROVY5ZzQyZ3l2?= =?utf-8?B?MmJRMlkxQ1MvVkdMUThHWU1FQXZuTlMvb2JpRG4ySE82YUV1UmhjVWJ0YVB5?= =?utf-8?B?ZFNGdm5ablBOUW1JVEgzNndLd280aFR6UUorQTk0ZUJudnNGVlllTW0vYzJY?= =?utf-8?B?U0JEcmdqOHZXRWVsWFhSNkJVWVdQWlNmMnlaSFlzNit6UUVZRlY5eEhzYTFs?= =?utf-8?B?cENvdnRLeDFVTTVLZ2tweG1JQkYrbG9teW5EZEVNcm5zdlpsdVl6ZGlYT1E1?= =?utf-8?B?bHNab3cybEcwUmVSVStiVlZuMkRjWkY1Tzd1RUVzMjhiQWpSWFl4b0FsZ0Jr?= =?utf-8?B?QkxuZEljZURyWXpLdzVBWm9XVFdPUm9Vdm5JU25TckZ0LzZWTjZhcmh5SGRU?= =?utf-8?Q?EN6rqiJcBqbeI=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5919507-54b8-46a2-0b63-08d8b6a1b5ca X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2021 02:28:12.8354 (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: yzxtVCits9PrCoodjlrURBo40xJN/RKmjxWl9zUeyutmHJJpg02WOKSKOX+lKPyzAA1sCo2PzRY54ji2/EE1yg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4932 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiA+IEl0IHNlZW1zIGxpa2UgdGhlIG1heCBCQVIgc2l6ZSBpcyBzZWxlY3RlZCBmaXJzdCwgYnV0 IGlmIHRoZXJlJ3MgYQ0KPiA+ICJyZXNvdXJjZSBjb25mbGljdCIgKHJ1bm5pbmcgb3V0IG9mIGEg cGFydGljdWxhciByZXNvdXJjZSB0eXBlDQo+ID4gYXBlcnR1cmUpLCB0aGVuIHRoZSBtaW5pbXVt IEJBUiBzaXplIGlzIHNlbGVjdGVkLiBJIGRvbid0IGtub3cgd2hhdA0KPiA+IHNldCBvZiBkZXZp Y2VzIGFuZC9vciByZXNpemFibGUgQkFScyB0aGlzIGxvZ2ljIGFwcGxpZXMgdG8sIGlmIHRoZXJl DQo+ID4gYXJlIG11bHRpcGxlIG9mIHRoZW0uIA0KDQo+ID4gUGVyIHRoZSBQQ0llIHNwZWNpZmlj YXRpb24gKHJldmlzaW9uIDUuMCwgdmVyc2lvbiAwLjkpIDcuOC42Og0KPiA+DQo+ID4gICBTb2Z0 d2FyZSBkZXRlcm1pbmVzLCB0aHJvdWdoIGEgcHJvcHJpZXRhcnkgbWVjaGFuaXNtLCB3aGF0IHRo ZQ0KPiA+ICAgb3B0aW1hbCBzaXplIGlzIGZvciB0aGUgcmVzb3VyY2UsIGFuZCBwcm9ncmFtcyB0 aGF0IHNpemUgdmlhIHRoZSBCQVINCj4gPiAgIFNpemUgZmllbGQgb2YgdGhlIFJlc2l6YWJsZSBC QVIgQ29udHJvbCByZWdpc3Rlci4NCj4gPg0KPiA+IEZ1cnRoZXJtb3JlLCBUYWJsZSA3LTExNCBk ZWZpbmVzIHRoZSBCYXIgU2l6ZSBmaWVsZCBvZiB0aGUgY29udHJvbA0KPiA+IHJlZ2lzdGVyIHN0 YXRpbmc6DQo+ID4NCj4gPiAgIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoaXMgZmllbGQgaXMgZXF1 YWwgdG8gdGhlIGRlZmF1bHQgc2l6ZSBvZiB0aGUNCj4gPiAgIGFkZHJlc3Mgc3BhY2UgdGhhdCB0 aGUgQkFSIHJlc291cmNlIGlzIHJlcXVlc3RpbmcgdmlhIHRoZSBCQVIncw0KPiA+ICAgcmVhZC1v bmx5IGJpdHMuDQo+ID4NCj4gPiBUaGVyZWZvcmUgdGhlIG1heGltdW0gc2l6ZSBpcyBub3QgbmVj ZXNzYXJpbHkgb3B0aW1hbCwgbm9yIHNob3VsZCB0aGUNCj4gPiBtaW5pbXVtIHNpemUgYmUgY29u c2lkZXJlZCB0aGUgZGVmYXVsdC4gIEluIGZhY3QsIFt3ZV0gdGVzdGVkIHZhcmlvdXMNCj4gPiBo YW5kb2ZmIEJBUiBzaXplcyBmb3IgW2EgcGFydGljdWxhcl0gR1BVIGFuZCBmb3VuZCB0aGF0IFdp bmRvd3MgZGlkbid0DQo+ID4gbGlrZSB0aGUgbWF4aW11bSBCQVIgc2l6ZS4NCj4gPg0KPiA+IEVs c2V3aGVyZSBpbiB0aGUgZGlzY3Vzc2lvbiBbMV0gdGhlIEFNRCBhdXRob3Igb2YgdGhlIGtlcm5l bCBzdXBwb3J0DQo+ID4gZm9yIHJlc2l6ZWFibGUgQkFScyBpbmRpY2F0ZXMgdGhhdCBGUEdBIGRl dmljZXMgbWlnaHQgaW1wbGVtZW50IHRoZQ0KPiA+IFJFQkFSIGNhcGFiaWxpdHkgYXMgcGFydCBv ZiB0aGVpciBzdGFuZGFyZCBQQ0kgd3JhcHBlciAoW291cl0NCj4gPiBpbnRlcnByZXRhdGlvbiks IGJ1dCB0aGUgQkFSIHVzYWdlIHdvdWxkIGJlIGRldGVybWluZWQgYnkgdGhlIGFjdHVhbA0KPiA+ IGJpdHN0cmVhbSB3cml0dGVuIHRvIHRoZSBkZXZpY2UsIHRoZXJlZm9yZSB0aGVyZSBtaWdodCBi ZSBhIGZ1bGwNCj4gPiBiaXRtYXNrIGZvciB0aGUgQkFSIHNpemVzIHN1cHBvcnRlZCBieSB0aGUg ZGV2aWNlLg0KPiA+DQo+ID4gWzFdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hp dmVzL2RyaS1kZXZlbC8yMDIxLUphbnVhcnkvdGhyZWFkLmh0bWwNCj4gPg0KPiA+IEl0IHdvdWxk IGNlcnRhaW5seSBtYWtlIHNlbnNlIGZvciB0aGUgZmlybXdhcmUgdG8gdGFrZSBSRUJBUg0KPiA+ IGNhcGFiaWxpdGllcyBpbnRvIGFjY291bnQgd2hlbiBzaXppbmcgYnJpZGdlIGFwZXJ0dXJlcywg YnV0IHRvDQo+ID4gZ2VuZXJpY2FsbHkgZW5hYmxlIGV4dGVuZGVkIEJBUiBzaXplcyB3b3VsZCBt YWtlIGxvdHMgb2YgYXNzdW1wdGlvbnMNCj4gPiBhYm91dCB0aGUgZGV2aWNlIHVzYWdlIGFuZCBj b21wYXRpYmlsaXR5Lg0KPiA+DQo+ID4gWy4uLl0gQXQgbGVhc3QgZm9yIEdQVXMgdGhlIGV4cGVj dGF0aW9uIHdvdWxkIGJlIGEgZGVmYXVsdCwgc21hbGxlcg0KPiA+IGNvbXBhdGliaWxpdHkgc2l6 ZSBleHBhbmRpbmcgdG8gc29tZSByZXByZXNlbnRhdGlvbiB0aGF0IGFsbG93cyBkaXJlY3QNCj4g PiBETUEgdG8gdGhlIGVudGlyZSBtZW1vcnkgb2YgdGhlIGNhcmQuDQo+IA0KPiBTbyB0aGlzIHBh dGNoIHNob3VsZCBlaXRoZXIgYmUgcmV2ZXJ0ZWQ7IG9yIG1pbmltYWxseSwgdGhlIGRlZmF1bHQg dmFsdWUNCj4gb2YgIlBjZFBjaWVSZXNpemFibGVCYXJTdXBwb3J0IiBzaG91bGQgYmUgc2V0IHRv IEZBTFNFLCBhcyB0aGUgcG9saWN5DQo+IGZvciBCQVIgc2l6aW5nIGRvZXNuJ3QgbG9vayByb2J1 c3Qgb3IgcG9ydGFibGUuDQo+IA0KPiANCj4gR2VuZXJhbCByZXF1ZXN0IGZvciB0aGUgZnV0dXJl OiBpZiB5b3UgaW1wbGVtZW50IHNvbWUga2luZCBvZiBwb2xpY3kgaW4NCj4gY29yZSBlZGsyLCBw bGVhc2UgYXQgbGVhc3QgKmRvY3VtZW50KiB0aGUgcG9saWN5IHNvbWV3aGVyZS4gSXQncw0KPiB1 bmFjY2VwdGFibGUgdG8gaGF2ZSB0byBkZWNpcGhlciB0aGUgc291cmNlIGNvZGUgZm9yIHN1Y2gg YSBwb3NzaWJseQ0KPiBpbXBhY3RmdWwgY2hhbmdlIGluIHRoZSBjb3JlLiBUaGVyZSBpcyBubyBu ZWVkIGZvciBhIHdpa2kgcGFnZSBvciBhbg0KPiBSRkMsIGJ1dCBhIHNhbmUgYnVnemlsbGEgdGlj a2V0IGFuZCBhIHNhbmUgY29tbWl0IG1lc3NhZ2UgYXJlIHJlcXVpcmVkLg0KPiANCj4gKFRoZSBk b2N1bWVudGF0aW9uIG9mIHRoZSBQQ0QgaW4gdGhlICJNZGVNb2R1bGVQa2cuZGVjIiBmaWxlIGlz DQo+IHVuc2F0aXNmYWN0b3J5IHRvbywgYW5kIHRoZSBVTkkgZmlsZSBoYXMgbm90IGJlZW4gdXBk YXRlZCBhdCBhbGwuKQ0KPiANCg0KDQoNCllvdXIgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0LiBP cmlnaW5hbCBpZGVhIGlzIHRvIGxldCBwbGF0Zm9ybSBzdXBwbHkgdGhlIHBvbGljeSBhYm91dA0K d2hhdCB0aGUgb3B0aW1hbCBCQVIgc2l6ZSBpcyBmb3IgZWFjaCByZXNpemFibGUgQkFSLg0KVGhl IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgYSB0cnkgdG8gYXZvaWQgYXNraW5nIHBsYXRmb3Jt IGNvZGUgZm9yIHN1Y2ggcG9saWN5IGJlY2F1c2UNCndlIHRob3VnaHQgaXQncyBhIGJ1cmRlbiBm b3IgcGxhdGZvcm0gdG8gc3VwcGx5IHRoZSBwb2xpY3kgZGF0YS4NCg0KSSBhZ3JlZSB0aGF0IHdl IHNldCB0aGUgUENEIGRlZmF1bHQgdmFsdWUgYXMgZGlzYWJsZWQgYW5kIGFmdGVyIGEgcGVyaW9k IG9mIHN0dWR5LCB3ZSB3aWxsDQp1bmRlcnN0YW5kIHdoZXRoZXIgYSBwbGF0Zm9ybSBwb2xpY3kg aXMgcmVhbGx5IG5lZWRlZC4NCg0KVGhhbmtzLA0KUmF5DQo=