From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.4362.1610518017522686066 for ; Tue, 12 Jan 2021 22:06:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=sTnoNUy3; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: ray.ni@intel.com) IronPort-SDR: M9vWYMvGizMyEyr2sR64/MXKRFwuVAIApoSbSgZ89c6w0FFMMQOSC7t8Rp1opW8JzLPjYrcVuJ GhlgCQvTJI1A== X-IronPort-AV: E=McAfee;i="6000,8403,9862"; a="178303905" X-IronPort-AV: E=Sophos;i="5.79,343,1602572400"; d="scan'208";a="178303905" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2021 22:06:56 -0800 IronPort-SDR: YLMQBrT11KtU69rOEyjg0tW6+aCp+hjb2daAOGl0r/j6k/2NsTD0MyiQfa3dGSEjMtTPt6ZbN+ 5L9D3oNLHj4A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,343,1602572400"; d="scan'208";a="499163718" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2021 22:06:56 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 Jan 2021 22:06:55 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 Jan 2021 22:06:55 -0800 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.1713.5 via Frontend Transport; Tue, 12 Jan 2021 22:06:55 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) 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.1713.5; Tue, 12 Jan 2021 22:06:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NxxMYYM1/RVWmeDUDdEOvsB8YZ6MkycI4g+uu25RcU37n9r6lyNVPJyUxAYSSyesZxZAC96hcFCPtB2/tEC/gFNTPHUw+YLb11O0f8BQGB8dbJru0rhucp65+6a8JLBvFLyW9fcw0HgN/2Mwrd3F5zfC8JZ5zv1+MnHOOMJJLw4xTsGe8TMLf0hcoQVPUG1EdzPUc8/gIOPU6IgJUJfw7UOsgXN3EoiIWGDe6QMVcGrtuIc1Q5Ob35ksXZVglosmAKxoeL1RUeIylWWHXS/VN72vq41V/9fdFztGVePOZCbVhHHnfhwU+jAce7UactmeG2TO2tXy6OUETPBmVXfjWw== 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=GujfHik02xHsJr3WBq1BaQJOX4sYw8yCaosQ6nzEJug=; b=QIKi4tpnxnWS/XgVH8yW+V4WsOOHHjTQSQIT895P3i2Ov7shmrkYGkb0p7LMNqmLI74BP+MQ0fiONlTE/E72Urikfjz+GHnWcBq1EbWTnsrzyxa4GPSVHS1GcZN8jIHv36SZe6+rgTHZFnwP1rO2+x52HfXfZacSr2KJxmdxABvVW0mEG22qEneXtz+Xb2St3M6S9YhQmyRdjZivcUN0beL05szrfG6lPYul3d362Bx/RhtYYd6uSresuJD79ZeMlZbi8x1q40lrDaLtKT1vvxtRVHnBSUhYO5eWS/G8taaMKvOFP101VQLuaO2sXbJwcSeXHUgG8d9tT4A9egFtgg== 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=GujfHik02xHsJr3WBq1BaQJOX4sYw8yCaosQ6nzEJug=; b=sTnoNUy3MnZzr7K+rG7GfluZpFbIQE49dEv40qBOP63AMydKSieGzk0nqHbjtGDxH514IKFgrOqRjWGThW2w4+EEhidh3dKtVKM1jjZ5SViIctlEvhrnl/fruWgHdWHmZXYz4feZFzBquiSnBMAB73LGL4bKTn5qRT5RbnL2/fc= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MW3PR11MB4570.namprd11.prod.outlook.com (2603:10b6:303:5f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 13 Jan 2021 06:06:54 +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.3763.010; Wed, 13 Jan 2021 06:06:54 +0000 From: "Ni, Ray" To: "Wu, Hao A" , Laszlo Ersek , "devel@edk2.groups.io" , "Luo, Heng" CC: "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/SbQmbKZ3m0GK2tEKId44GKoi3byAgABwJcCAAc/vgIAAAWtA Date: Wed, 13 Jan 2021 06:06:54 +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: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.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: 4e33c25b-9bb1-41a3-675f-08d8b7896d63 x-ms-traffictypediagnostic: MW3PR11MB4570: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oqwhIR004YsK2zsOBudNU6nydMj9Vxo3CzwfYxXZjuz49KHeU7jEyjvUBfa09EkE7p7QoaFLJtggN6QAVaNfdAFC4cdHbrfSyhtBA933P/w8uszyo9NMOSiH7qF7ngvUvTU77uqCX0ZCStVDCRbh0tKEs6O22TcRsleVhxPDZ/V/VmfLxgYPK6/h8rnSxGTAJ0ah0PGsl33Zye5VHUblB3f7WVRqAvdMpmQQZY8VwkgyRzd6z1g1HwFpZIQgKBJJYoB4HCLrc7tFA7Y5hYwAdPARS9eGJvEVl9P+ZGcEO4atMm1wz/P9M/IQQXtaZTyMRRUvUI/jWl4iv57JPpF2o860B2EHp+q2T2TGSf7PRRTw7EBrF9J2gKYqpqaCmOVsxsDdiear46P6TBZOff37okSt6WhVNZqSmDlVKGsUSBDLTP4FmBx16hJ9JwZtzPULdEwLI4HutsD27FrFUwVlKg== 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)(396003)(136003)(346002)(39860400002)(376002)(366004)(110136005)(64756008)(5660300002)(76116006)(66946007)(26005)(478600001)(71200400001)(2906002)(66446008)(53546011)(66556008)(66476007)(6506007)(316002)(107886003)(83380400001)(86362001)(186003)(7696005)(8676002)(52536014)(55016002)(6636002)(33656002)(9686003)(966005)(8936002)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?RzFlTnBIdmI2OGFhMXJKTkpycUZzdUF2MXludUlKSG5jdkE0M0x0TStvS2xQ?= =?utf-8?B?a3VybTJKZ3p1OHFIS2d4WHpNMlc4eFl3RUVQSmlpNlJpOU0zSjBSbTd6MXpr?= =?utf-8?B?cUVHcFBiYUtuSUdUWGZtTmlyVjFzQ3h3US9GZCszMlBjcUd5Y3Y1M3c2UW5I?= =?utf-8?B?bE5ORFFhcU1jOVB2L2FjdFVwQktVR2lyUURvbDNOOE8wUVRNRWlDQVRBTlBu?= =?utf-8?B?S2srTGZkVEZVY2FmRzRQYkNMQ0tvRWo4S25YLzJXdDNqWDB3OExNQ3RnSEVT?= =?utf-8?B?TzlUTUR1aFMxZ1pSVDZnTGlHV2d3dFliS2ZaUjd2WmF6RmxXQ1dNR054a3oz?= =?utf-8?B?Zzh0MW92aExLZ0FxdFc4eU45ek5JTEVib0hCRHZFQWloQXFjMGhSY1oyd2Iw?= =?utf-8?B?a3ptSmhQZTh5QXVKVWVjbFM5dmFDWWFIcjFQVkt0bUhzK1U0eEFwd1dBVkpi?= =?utf-8?B?Wm5DTGt5WlBxU1hBRFkzcUlVczJwSjJnNnZnWjZIa1N0WFNqa2tYSDQreVg0?= =?utf-8?B?bENtOVhYMWVnOExVS3pXeXN5N0wwQXlFcnk5UzFxbERRRkI1NzVXZHVFMWJF?= =?utf-8?B?K2V6T053OUJIN2VzY3M0SFhTZmtkUUZULzZtNmZTdFFJeThsWFN2NTdYdVVN?= =?utf-8?B?RHpVWjJNQ3g1eDF5M1pzVHg2OHhocnBZc0hZa3A1aEtzY2NDSG9yS0ZjckYy?= =?utf-8?B?TWZXTzlycGZYd2lLMmphRVAxYWMvejJlSEd3WEpXNVU4anE5bEh2d0U5ZjhZ?= =?utf-8?B?eGVYV29uYnlkdG43dlFocHkyOEFYSktDa3VVVEhDZGd3UFJLTmdLQSs3UC9B?= =?utf-8?B?OWZzWm9mcCtqVnI2aFE5ZFM0YUVucW4xK3FIcER4NXJpVE1Fd0VzMTFWYjAr?= =?utf-8?B?UnNKamtKK2o5am9zL2l4MUt4WDd0RGt1eXpUQ1VLU1VFWk5TamZuZU9UT0VD?= =?utf-8?B?R1ZRWFk2NG5tNXdxc0I1S3EzQ2FXWHpqU3FTc2JXRTB6ZS8zNkh6Umkvek1T?= =?utf-8?B?TXJCdmdFQk1PQTRDVU1hRFNBOHNiRlhqSTlVczlFTENIYWlXWS80WEJYSUxF?= =?utf-8?B?T2RaS3NKVjVtREJJdnpsOWlCN2oyK1FNYno3RHZpMU5XeThRbzFwWHkxM25a?= =?utf-8?B?MVhtZWFNOFdWZ1NTY1pMTHBNbjZEcHM0aEdxNlo0RUV1eXcrSjBZaDNLYVlr?= =?utf-8?B?QUt6b0UxaUFFY3dGZmRYK1JIaWRFRk5rUVhObDZXSXIyKzh5MzUrTHVpZEFO?= =?utf-8?B?UlE1Y1dVUzhxaituZ3dCSU9SWmpOV082c3Mvcm1XYXVMR0xMMDJTU2lUTHFw?= =?utf-8?Q?mqg8XI9IDDSM9+uQAqwASrN5dMqvCIkkIM?= 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: 4e33c25b-9bb1-41a3-675f-08d8b7896d63 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2021 06:06:54.5224 (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: QMOCbhPGFeoFdAHtxiCqdmxHZwX4Dma2RHcxSt1ET6SEaVf3DWm6FZc5TG/mW90u8zjxXc0KYr4Wda6lwjiyBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4570 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 SSd2ZSBnaXZlbiBSLWIgdG8gdGhlIHR3byBwYXRjaGVzLiBObyBjb21tZW50cyBmcm9tIG15IHNp ZGUuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV3UsIEhhbyBBIDxo YW8uYS53dUBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAxMywgMjAyMSAy OjAwIFBNDQo+IFRvOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT47DQo+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMdW8sIEhlbmcgPGhl bmcubHVvQGludGVsLmNvbT4NCj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjMgMi8y XSBNZGVNb2R1bGVQa2cvQnVzL1BjaS9QY2lCdXNEeGU6DQo+IFN1cHBvcnQgUENJZSBSZXNpemFi bGUgQkFSIENhcGFiaWxpdHkNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiBGcm9tOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFR1ZXNkYXksIEph bnVhcnkgMTIsIDIwMjEgMTA6MjggQU0NCj4gPiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVk aGF0LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMdW8sIEhlbmcNCj4gPiA8aGVuZy5sdW9A aW50ZWwuY29tPg0KPiA+IENjOiBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IEtpbm5l eSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IFN1Ympl Y3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYzIDIvMl0gTWRlTW9kdWxlUGtnL0J1cy9QY2kv UGNpQnVzRHhlOg0KPiA+IFN1cHBvcnQgUENJZSBSZXNpemFibGUgQkFSIENhcGFiaWxpdHkNCj4g Pg0KPiA+ID4gPiBJdCBzZWVtcyBsaWtlIHRoZSBtYXggQkFSIHNpemUgaXMgc2VsZWN0ZWQgZmly c3QsIGJ1dCBpZiB0aGVyZSdzIGENCj4gPiA+ID4gInJlc291cmNlIGNvbmZsaWN0IiAocnVubmlu ZyBvdXQgb2YgYSBwYXJ0aWN1bGFyIHJlc291cmNlIHR5cGUNCj4gPiA+ID4gYXBlcnR1cmUpLCB0 aGVuIHRoZSBtaW5pbXVtIEJBUiBzaXplIGlzIHNlbGVjdGVkLiBJIGRvbid0IGtub3cgd2hhdA0K PiA+ID4gPiBzZXQgb2YgZGV2aWNlcyBhbmQvb3IgcmVzaXphYmxlIEJBUnMgdGhpcyBsb2dpYyBh cHBsaWVzIHRvLCBpZiB0aGVyZQ0KPiA+ID4gPiBhcmUgbXVsdGlwbGUgb2YgdGhlbS4NCj4gPg0K PiA+ID4gPiBQZXIgdGhlIFBDSWUgc3BlY2lmaWNhdGlvbiAocmV2aXNpb24gNS4wLCB2ZXJzaW9u IDAuOSkgNy44LjY6DQo+ID4gPiA+DQo+ID4gPiA+ICAgU29mdHdhcmUgZGV0ZXJtaW5lcywgdGhy b3VnaCBhIHByb3ByaWV0YXJ5IG1lY2hhbmlzbSwgd2hhdCB0aGUNCj4gPiA+ID4gICBvcHRpbWFs IHNpemUgaXMgZm9yIHRoZSByZXNvdXJjZSwgYW5kIHByb2dyYW1zIHRoYXQgc2l6ZSB2aWEgdGhl IEJBUg0KPiA+ID4gPiAgIFNpemUgZmllbGQgb2YgdGhlIFJlc2l6YWJsZSBCQVIgQ29udHJvbCBy ZWdpc3Rlci4NCj4gPiA+ID4NCj4gPiA+ID4gRnVydGhlcm1vcmUsIFRhYmxlIDctMTE0IGRlZmlu ZXMgdGhlIEJhciBTaXplIGZpZWxkIG9mIHRoZSBjb250cm9sDQo+ID4gPiA+IHJlZ2lzdGVyIHN0 YXRpbmc6DQo+ID4gPiA+DQo+ID4gPiA+ICAgVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhpcyBmaWVs ZCBpcyBlcXVhbCB0byB0aGUgZGVmYXVsdCBzaXplIG9mIHRoZQ0KPiA+ID4gPiAgIGFkZHJlc3Mg c3BhY2UgdGhhdCB0aGUgQkFSIHJlc291cmNlIGlzIHJlcXVlc3RpbmcgdmlhIHRoZSBCQVIncw0K PiA+ID4gPiAgIHJlYWQtb25seSBiaXRzLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGVyZWZvcmUgdGhl IG1heGltdW0gc2l6ZSBpcyBub3QgbmVjZXNzYXJpbHkgb3B0aW1hbCwgbm9yIHNob3VsZA0KPiA+ ID4gPiB0aGUgbWluaW11bSBzaXplIGJlIGNvbnNpZGVyZWQgdGhlIGRlZmF1bHQuICBJbiBmYWN0 LCBbd2VdIHRlc3RlZA0KPiA+ID4gPiB2YXJpb3VzIGhhbmRvZmYgQkFSIHNpemVzIGZvciBbYSBw YXJ0aWN1bGFyXSBHUFUgYW5kIGZvdW5kIHRoYXQNCj4gPiA+ID4gV2luZG93cyBkaWRuJ3QgbGlr ZSB0aGUgbWF4aW11bSBCQVIgc2l6ZS4NCj4gPiA+ID4NCj4gPiA+ID4gRWxzZXdoZXJlIGluIHRo ZSBkaXNjdXNzaW9uIFsxXSB0aGUgQU1EIGF1dGhvciBvZiB0aGUga2VybmVsIHN1cHBvcnQNCj4g PiA+ID4gZm9yIHJlc2l6ZWFibGUgQkFScyBpbmRpY2F0ZXMgdGhhdCBGUEdBIGRldmljZXMgbWln aHQgaW1wbGVtZW50IHRoZQ0KPiA+ID4gPiBSRUJBUiBjYXBhYmlsaXR5IGFzIHBhcnQgb2YgdGhl aXIgc3RhbmRhcmQgUENJIHdyYXBwZXIgKFtvdXJdDQo+ID4gPiA+IGludGVycHJldGF0aW9uKSwg YnV0IHRoZSBCQVIgdXNhZ2Ugd291bGQgYmUgZGV0ZXJtaW5lZCBieSB0aGUgYWN0dWFsDQo+ID4g PiA+IGJpdHN0cmVhbSB3cml0dGVuIHRvIHRoZSBkZXZpY2UsIHRoZXJlZm9yZSB0aGVyZSBtaWdo dCBiZSBhIGZ1bGwNCj4gPiA+ID4gYml0bWFzayBmb3IgdGhlIEJBUiBzaXplcyBzdXBwb3J0ZWQg YnkgdGhlIGRldmljZS4NCj4gPiA+ID4NCj4gPiA+ID4gWzFdDQo+ID4gPiA+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDIxLUphbnVhcnkvdGhyZWFk DQo+ID4gPiA+IC5odG1sDQo+ID4gPiA+DQo+ID4gPiA+IEl0IHdvdWxkIGNlcnRhaW5seSBtYWtl IHNlbnNlIGZvciB0aGUgZmlybXdhcmUgdG8gdGFrZSBSRUJBUg0KPiA+ID4gPiBjYXBhYmlsaXRp ZXMgaW50byBhY2NvdW50IHdoZW4gc2l6aW5nIGJyaWRnZSBhcGVydHVyZXMsIGJ1dCB0bw0KPiA+ ID4gPiBnZW5lcmljYWxseSBlbmFibGUgZXh0ZW5kZWQgQkFSIHNpemVzIHdvdWxkIG1ha2UgbG90 cyBvZiBhc3N1bXB0aW9ucw0KPiA+ID4gPiBhYm91dCB0aGUgZGV2aWNlIHVzYWdlIGFuZCBjb21w YXRpYmlsaXR5Lg0KPiA+ID4gPg0KPiA+ID4gPiBbLi4uXSBBdCBsZWFzdCBmb3IgR1BVcyB0aGUg ZXhwZWN0YXRpb24gd291bGQgYmUgYSBkZWZhdWx0LCBzbWFsbGVyDQo+ID4gPiA+IGNvbXBhdGli aWxpdHkgc2l6ZSBleHBhbmRpbmcgdG8gc29tZSByZXByZXNlbnRhdGlvbiB0aGF0IGFsbG93cw0K PiA+ID4gPiBkaXJlY3QgRE1BIHRvIHRoZSBlbnRpcmUgbWVtb3J5IG9mIHRoZSBjYXJkLg0KPiA+ ID4NCj4gPiA+IFNvIHRoaXMgcGF0Y2ggc2hvdWxkIGVpdGhlciBiZSByZXZlcnRlZDsgb3IgbWlu aW1hbGx5LCB0aGUgZGVmYXVsdA0KPiA+ID4gdmFsdWUgb2YgIlBjZFBjaWVSZXNpemFibGVCYXJT dXBwb3J0IiBzaG91bGQgYmUgc2V0IHRvIEZBTFNFLCBhcyB0aGUNCj4gPiA+IHBvbGljeSBmb3Ig QkFSIHNpemluZyBkb2Vzbid0IGxvb2sgcm9idXN0IG9yIHBvcnRhYmxlLg0KPiA+ID4NCj4gPiA+ DQo+ID4gPiBHZW5lcmFsIHJlcXVlc3QgZm9yIHRoZSBmdXR1cmU6IGlmIHlvdSBpbXBsZW1lbnQg c29tZSBraW5kIG9mIHBvbGljeQ0KPiA+ID4gaW4gY29yZSBlZGsyLCBwbGVhc2UgYXQgbGVhc3Qg KmRvY3VtZW50KiB0aGUgcG9saWN5IHNvbWV3aGVyZS4gSXQncw0KPiA+ID4gdW5hY2NlcHRhYmxl IHRvIGhhdmUgdG8gZGVjaXBoZXIgdGhlIHNvdXJjZSBjb2RlIGZvciBzdWNoIGEgcG9zc2libHkN Cj4gPiA+IGltcGFjdGZ1bCBjaGFuZ2UgaW4gdGhlIGNvcmUuIFRoZXJlIGlzIG5vIG5lZWQgZm9y IGEgd2lraSBwYWdlIG9yIGFuDQo+ID4gPiBSRkMsIGJ1dCBhIHNhbmUgYnVnemlsbGEgdGlja2V0 IGFuZCBhIHNhbmUgY29tbWl0IG1lc3NhZ2UgYXJlIHJlcXVpcmVkLg0KPiA+ID4NCj4gPiA+IChU aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgUENEIGluIHRoZSAiTWRlTW9kdWxlUGtnLmRlYyIgZmls ZSBpcw0KPiA+ID4gdW5zYXRpc2ZhY3RvcnkgdG9vLCBhbmQgdGhlIFVOSSBmaWxlIGhhcyBub3Qg YmVlbiB1cGRhdGVkIGF0IGFsbC4pDQo+ID4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+IFlvdXIgdW5k ZXJzdGFuZGluZyBpcyBjb3JyZWN0LiBPcmlnaW5hbCBpZGVhIGlzIHRvIGxldCBwbGF0Zm9ybSBz dXBwbHkgdGhlDQo+IHBvbGljeQ0KPiA+IGFib3V0IHdoYXQgdGhlIG9wdGltYWwgQkFSIHNpemUg aXMgZm9yIGVhY2ggcmVzaXphYmxlIEJBUi4NCj4gPiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlv biBpcyBhIHRyeSB0byBhdm9pZCBhc2tpbmcgcGxhdGZvcm0gY29kZSBmb3Igc3VjaA0KPiA+IHBv bGljeSBiZWNhdXNlIHdlIHRob3VnaHQgaXQncyBhIGJ1cmRlbiBmb3IgcGxhdGZvcm0gdG8gc3Vw cGx5IHRoZSBwb2xpY3kgZGF0YS4NCj4gPg0KPiA+IEkgYWdyZWUgdGhhdCB3ZSBzZXQgdGhlIFBD RCBkZWZhdWx0IHZhbHVlIGFzIGRpc2FibGVkIGFuZCBhZnRlciBhIHBlcmlvZCBvZg0KPiA+IHN0 dWR5LCB3ZSB3aWxsIHVuZGVyc3RhbmQgd2hldGhlciBhIHBsYXRmb3JtIHBvbGljeSBpcyByZWFs bHkgbmVlZGVkLg0KPiANCj4gDQo+IEhlbGxvIExhc3psbyBhbmQgUmF5LA0KPiANCj4gSSBzYXcg SGVuZydzIHBhdGNoIHNlcmllcyB0bw0KPiAgIDEpIFNldCB0aGUgUENEIGRlZmF1bHQgdmFsdWUg dG8gRkFMU0U6DQo+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzcwMTM5 DQo+ICAgMikgVXBkYXRlIHRoZSBVTkkgZmlsZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvNzAxNDANCj4gaGFzIGdvdCBSZXZpZXdlZC1ieS9BY2tlZC1ieSB0YWdzIGZy b20gcmV2aWV3ZXJzLg0KPiANCj4gRG8geW91IGhhdmUgZnVydGhlciBjb21tZW50cyBmb3IgdGhl IHNlcmllcz8NCj4gSWYgbm90LCBJIHdpbGwgbWVyZ2UgdGhpcyBjaGFuZ2UgaW4gdGhlIG5leHQg MjQgaG91cnMuDQo+IA0KPiBUaGFua3MgaW4gYWR2YW5jZS4NCj4gDQo+IEJlc3QgUmVnYXJkcywN Cj4gSGFvIFd1DQo+IA0KPiANCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBSYXkNCg==