From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shreyansh Jain Subject: Re: [PATCH v2 00/41] Memory Hotplug for DPDK Date: Thu, 22 Mar 2018 05:09:51 +0000 Message-ID: References: <20180308101805.GA9526@ltp-pvn> <20180308111337.GA11638@ltp-pvn> <20180308133612.GA16647@ltp-pvn> <57c18da9-7377-3c0b-4aa2-9b97ef206f4f@intel.com> <55a2a182-27d5-b59a-0993-5b988f041e98@intel.com> <20180309091513.GA5781@ltp-pvn> <02f5b614-a65d-2512-0e57-999defdb4201@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "dev@dpdk.org" , Hemant Agrawal To: "Burakov, Anatoly" Return-path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0044.outbound.protection.outlook.com [104.47.0.44]) by dpdk.org (Postfix) with ESMTP id 58B097CBA for ; Thu, 22 Mar 2018 06:10:20 +0100 (CET) In-Reply-To: <02f5b614-a65d-2512-0e57-999defdb4201@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGVsbG8gQW5hdG9seSwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBC dXJha292LCBBbmF0b2x5IFttYWlsdG86YW5hdG9seS5idXJha292QGludGVsLmNvbV0NCj4gU2Vu dDogV2VkbmVzZGF5LCBNYXJjaCAyMSwgMjAxOCA4OjE4IFBNDQo+IFRvOiBTaHJleWFuc2ggSmFp biA8c2hyZXlhbnNoLmphaW5AbnhwLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgSGVtYW50IEFn cmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZd IFtQQVRDSCB2MiAwMC80MV0gTWVtb3J5IEhvdHBsdWcgZm9yIERQREsNCj4gDQoNClsuLi5dDQoN Cj4gPj4NCj4gPg0KPiA+IFdoaWxlIHdvcmtpbmcgb24gaXNzdWUgcmVwb3J0ZWQgaW4gWzFdLCBJ IGhhdmUgZm91bmQgYW5vdGhlciBpc3N1ZQ0KPiA+IHdoaWNoIEkgbWlnaHQgbmVlZCB5b3UgaGVs cC4NCj4gPg0KPiA+IFsxXQ0KPiBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5v dXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZkcGRrLm8NCj4gcmclMkZtbCUyRmFyY2hpdmVz JTJGZGV2JTJGMjAxOC0NCj4gTWFyY2glMkYwOTMyMDIuaHRtbCZkYXRhPTAyJTdDMDElN0NzaHJl eWFuc2guamFpbiU0MG54cC5jb20lN0M1ZmFlZTcxNmU2DQo+IGZjNDkwOGJkYjYwOGQ1OGYzYWQx ZTUlN0M2ODZlYTFkM2JjMmI0YzZmYTkyY2Q5OWM1YzMwMTYzNSU3QzAlN0MwJTdDNjM2NQ0KPiA3 MjQwNTE4Mjg2ODM3NiZzZGF0YT1Xb2hEZGt0SEhBdU5EbnNzMWF0dWl4U2ElMkZxQzdIUk1TRFZD dEZDOVZudG8lM0QmcmUNCj4gc2VydmVkPTANCj4gPg0KPiA+IEZvciBbMV0sIEkgYnlwYXNzZWQg YnkgY2hhbmdpbmcgdGhlIG1lbXBvb2xfYWRkX2VsZW0gY29kZSBmb3IgdGltZQ0KPiA+IGJlaW5n IC0gaXQgbm93IGFsbG93cyBub24tY29udGlndW91cyAobm90IGV4cGxpY2l0bHkgZGVtYW5kZWQN Cj4gPiBjb250aWd1b3VzKSBhbGxvY2F0aW9ucyB0byBnbyB0aHJvdWdoIHJ0ZV9tZW1wb29sX3Bv cHVsYXRlX2lvdmEuIFdpdGgNCj4gPiB0aGF0LCBJIHdhcyBhYmxlIHRvIGdldCBEUEFBMiB3b3Jr aW5nLg0KPiA+DQo+ID4gUHJvYmxlbSBpczoNCj4gPiAxLiBXaGVuIEkgYW0gd29ya2luZyB3aXRo IDFHQiBwYWdlcywgSS9PIGlzIHdvcmtpbmcgZmluZS4NCj4gPiAyLiBXaGVuIHVzaW5nIDJNQiBw YWdlcyAoMTAyNCBudW0pLCB0aGUgaW5pdGlhbGl6YXRpb24gc29tZXdoZXJlIGFmdGVyDQo+ID4g VkZJTyBsYXllciBmYWlscy4NCj4gPg0KPiA+IEFsbCB3aXRoIElPVkE9VkEgbW9kZS4NCj4gPg0K PiA+IFNvbWUgbG9nczoNCj4gPg0KPiA+IFRoaXMgaXMgdGhlIG91dHB1dCBvZiB0aGUgdmlydHVh bCBtZW1vcnkgbGF5b3V0IGRlbWFuZGVkIGJ5IERQREs6DQo+ID4NCj4gPiAtLS0+OC0tLQ0KPiA+ IEVBTDogQXNrIGEgdmlydHVhbCBhcmVhIG9mIDB4MmUwMDAgYnl0ZXMNCj4gPiBFQUw6IFZpcnR1 YWwgYXJlYSBmb3VuZCBhdCAweGZmZmZiNjU2MTAwMCAoc2l6ZSA9IDB4MmUwMDApDQo+ID4gRUFM OiBTZXR0aW5nIHVwIHBoeXNpY2FsbHkgY29udGlndW91cyBtZW1vcnkuLi4NCj4gPiBFQUw6IEFz ayBhIHZpcnR1YWwgYXJlYSBvZiAweDU5MDAwIGJ5dGVzDQo+ID4gRUFMOiBWaXJ0dWFsIGFyZWEg Zm91bmQgYXQgMHhmZmZmYjY1MDgwMDAgKHNpemUgPSAweDU5MDAwKQ0KPiA+IEVBTDogTWVtc2Vn IGxpc3QgYWxsb2NhdGVkOiAweDgwMGtCIGF0IHNvY2tldCAwDQo+ID4gRUFMOiBBc2sgYSB2aXJ0 dWFsIGFyZWEgb2YgMHg0MDAwMDAwMDAgYnl0ZXMNCj4gPiBFQUw6IFZpcnR1YWwgYXJlYSBmb3Vu ZCBhdCAweGZmZmJiNjQwMDAwMCAoc2l6ZSA9IDB4NDAwMDAwMDAwKQ0KPiA+IEVBTDogQXNrIGEg dmlydHVhbCBhcmVhIG9mIDB4NTkwMDAgYnl0ZXMNCj4gPiBFQUw6IFZpcnR1YWwgYXJlYSBmb3Vu ZCBhdCAweGZmZmJiNjJhZjAwMCAoc2l6ZSA9IDB4NTkwMDApDQo+ID4gRUFMOiBNZW1zZWcgbGlz dCBhbGxvY2F0ZWQ6IDB4ODAwa0IgYXQgc29ja2V0IDANCj4gPiBFQUw6IEFzayBhIHZpcnR1YWwg YXJlYSBvZiAweDQwMDAwMDAwMCBieXRlcw0KPiA+IEVBTDogVmlydHVhbCBhcmVhIGZvdW5kIGF0 IDB4ZmZmN2I2MjAwMDAwIChzaXplID0gMHg0MDAwMDAwMDApDQo+ID4gRUFMOiBBc2sgYSB2aXJ0 dWFsIGFyZWEgb2YgMHg1OTAwMCBieXRlcw0KPiA+IEVBTDogVmlydHVhbCBhcmVhIGZvdW5kIGF0 IDB4ZmZmN2I2MDU2MDAwIChzaXplID0gMHg1OTAwMCkNCj4gPiBFQUw6IE1lbXNlZyBsaXN0IGFs bG9jYXRlZDogMHg4MDBrQiBhdCBzb2NrZXQgMA0KPiA+IEVBTDogQXNrIGEgdmlydHVhbCBhcmVh IG9mIDB4NDAwMDAwMDAwIGJ5dGVzDQo+ID4gRUFMOiBWaXJ0dWFsIGFyZWEgZm91bmQgYXQgMHhm ZmYzYjYwMDAwMDAgKHNpemUgPSAweDQwMDAwMDAwMCkNCj4gPiBFQUw6IEFzayBhIHZpcnR1YWwg YXJlYSBvZiAweDU5MDAwIGJ5dGVzDQo+ID4gRUFMOiBWaXJ0dWFsIGFyZWEgZm91bmQgYXQgMHhm ZmYzYjVkZmQwMDAgKHNpemUgPSAweDU5MDAwKQ0KPiA+IEVBTDogTWVtc2VnIGxpc3QgYWxsb2Nh dGVkOiAweDgwMGtCIGF0IHNvY2tldCAwDQo+ID4gRUFMOiBBc2sgYSB2aXJ0dWFsIGFyZWEgb2Yg MHg0MDAwMDAwMDAgYnl0ZXMNCj4gPiBFQUw6IFZpcnR1YWwgYXJlYSBmb3VuZCBhdCAweGZmZWZi NWMwMDAwMCAoc2l6ZSA9IDB4NDAwMDAwMDAwKQ0KPiA+IC0tLT44LS0tDQo+ID4NCj4gPiBUaGVu LCBzb21laG93IFZGSU8gbWFwcGluZyBpcyBhYmxlIHRvIGZpbmQgb25seSBhIHNpbmdsZSBwYWdl IHRvIG1hcA0KPiA+DQo+ID4gLS0tPjgtLS0NCj4gPiBFQUw6IERldmljZSAoZHBjaS4xKSBhYnN0 cmFjdGVkIGZyb20gVkZJTw0KPiA+IEVBTDogLS0+SW5pdGlhbCBTSE0gVmlydHVhbCBBRERSIEZG RkJCNjQwMDAwMA0KPiA+IEVBTDogLS0tLS0+IERNQSBzaXplIDB4MjAwMDAwDQo+ID4gRUFMOiBU b3RhbCAxIHNlZ21lbnRzIGZvdW5kLg0KPiA+IC0tLT44LS0tDQo+ID4NCj4gPiBUaGVuLCB0aGVz ZSBsb2dzIGFwcGVhciBwcm9iYWJseSB3aGVuIERQQUEyIGNvZGUgcmVxdWVzdHMgZm9yIG1lbW9y eS4NCj4gPiBJIGFtIG5vdCBzdXJlIHdoeSBpdCByZXBlYXRzIHRoZSBzYW1lICcuLi5leHBhbmRl ZCBieSAxME1CJy4NCj4gPg0KPiA+IC0tLT44LS0tDQo+ID4gRUFMOiBDYWxsaW5nIG1lbSBldmVu dCBjYWxsYmFjayB2ZmlvX21lbV9ldmVudF9jbGJFQUw6IHJlcXVlc3Q6DQo+IG1wX21hbGxvY19z eW5jDQo+ID4gRUFMOiBIZWFwIG9uIHNvY2tldCAwIHdhcyBleHBhbmRlZCBieSAxME1CDQo+ID4g RUFMOiBDYWxsaW5nIG1lbSBldmVudCBjYWxsYmFjayB2ZmlvX21lbV9ldmVudF9jbGJFQUw6IHJl cXVlc3Q6DQo+IG1wX21hbGxvY19zeW5jDQo+ID4gRUFMOiBIZWFwIG9uIHNvY2tldCAwIHdhcyBl eHBhbmRlZCBieSAxME1CDQo+ID4gRUFMOiBDYWxsaW5nIG1lbSBldmVudCBjYWxsYmFjayB2Zmlv X21lbV9ldmVudF9jbGJFQUw6IHJlcXVlc3Q6DQo+IG1wX21hbGxvY19zeW5jDQo+ID4gRUFMOiBI ZWFwIG9uIHNvY2tldCAwIHdhcyBleHBhbmRlZCBieSAxME1CDQo+ID4gRUFMOiBDYWxsaW5nIG1l bSBldmVudCBjYWxsYmFjayB2ZmlvX21lbV9ldmVudF9jbGJFQUw6IHJlcXVlc3Q6DQo+IG1wX21h bGxvY19zeW5jDQo+ID4gRUFMOiBIZWFwIG9uIHNvY2tldCAwIHdhcyBleHBhbmRlZCBieSAxME1C DQo+ID4gRUFMOiBDYWxsaW5nIG1lbSBldmVudCBjYWxsYmFjayB2ZmlvX21lbV9ldmVudF9jbGJF QUw6IHJlcXVlc3Q6DQo+IG1wX21hbGxvY19zeW5jDQo+ID4gRUFMOiBIZWFwIG9uIHNvY2tldCAw IHdhcyBleHBhbmRlZCBieSAxME1CDQo+ID4gRUFMOiBDYWxsaW5nIG1lbSBldmVudCBjYWxsYmFj ayB2ZmlvX21lbV9ldmVudF9jbGJFQUw6IHJlcXVlc3Q6DQo+IG1wX21hbGxvY19zeW5jDQo+ID4g RUFMOiBIZWFwIG9uIHNvY2tldCAwIHdhcyBleHBhbmRlZCBieSAxME1CDQo+ID4gRUFMOiBDYWxs aW5nIG1lbSBldmVudCBjYWxsYmFjayB2ZmlvX21lbV9ldmVudF9jbGJFQUw6IHJlcXVlc3Q6DQo+ IG1wX21hbGxvY19zeW5jDQo+ID4gRUFMOiBIZWFwIG9uIHNvY2tldCAwIHdhcyBleHBhbmRlZCBi eSAyTUINCj4gPiBFQUw6IENhbGxpbmcgbWVtIGV2ZW50IGNhbGxiYWNrIHZmaW9fbWVtX2V2ZW50 X2NsYkVBTDogcmVxdWVzdDoNCj4gbXBfbWFsbG9jX3N5bmMNCj4gPiBFQUw6IEhlYXAgb24gc29j a2V0IDAgd2FzIGV4cGFuZGVkIGJ5IDEwTUINCj4gPiBFQUw6IENhbGxpbmcgbWVtIGV2ZW50IGNh bGxiYWNrIHZmaW9fbWVtX2V2ZW50X2NsYkVBTDogcmVxdWVzdDoNCj4gbXBfbWFsbG9jX3N5bmMN Cj4gPiBFQUw6IEhlYXAgb24gc29ja2V0IDAgd2FzIGV4cGFuZGVkIGJ5IDEwTUINCj4gPiBMUE0g b3IgRU0gbm9uZSBzZWxlY3RlZCwgZGVmYXVsdCBMUE0gb24NCj4gPiBJbml0aWFsaXppbmcgcG9y dCAwIC4uLg0KPiA+IC0tLT44LS0tDQo+ID4NCj4gPiBsM2Z3ZCBpcyBzdHVjayBhdCB0aGlzIHBv aW50LiBXaGF0IEkgb2JzZXJ2ZSBpcyB0aGF0IERQQUEyIGRyaXZlciBoYXMNCj4gPiBnb25lIGFo ZWFkIHRvIHJlZ2lzdGVyIHRoZSBxdWV1ZXMgKHF1ZXVlX3NldHVwKSB3aXRoIGhhcmR3YXJlIGFu ZCB0aGUNCj4gPiBtZW1vcnkgaGFzIGVpdGhlciBvdmVycnVuIChzbWFsbGVyIHRoYW4gcmVxdWVz dGVkIHNpemUgbWFwcGVkKSBvciB0aGUNCj4gPiBhZGRyZXNzZXMgYXJlIGNvcnJ1cHQgKHRoYXQg aXMsIG5vdCBkbWEtYWJsZSkuIChJIGdldCBTTU1VIGZhdWx0cywNCj4gPiBpbmRpY2F0aW5nIG9u ZSBvZiB0aGVzZSBjYXNlcykNCj4gPg0KPiA+IFRoZXJlIGlzIHNvbWUgY2hhbmdlIGZyb20geW91 IGluIHRoZSBmc2xtYy9mc2xtY192ZmlvLmMgZmlsZQ0KPiA+IChydGVfZnNsbWNfdmZpb19kbWFt YXAoKSkuIElkZWFsbHksIHRoYXQgY29kZSBzaG91bGQgaGF2ZSB3YWxrZWQgb3Zlcg0KPiA+IGFs bCB0aGUgYXZhaWxhYmxlIHBhZ2VzIGZvciBtYXBwaW5nIGJ1dCB0aGF0IGRpZG4ndCBoYXBwZW4g YW5kIG9ubHkgYQ0KPiA+IHNpbmdsZSB2aXJ0dWFsIGFyZWEgZ290IGRtYS1tYXBwZWQuDQo+ID4N Cj4gPiAtLS0+OC0tLQ0KPiA+IEVBTDogRGV2aWNlIChkcGNpLjEpIGFic3RyYWN0ZWQgZnJvbSBW RklPDQo+ID4gRUFMOiAtLT5Jbml0aWFsIFNITSBWaXJ0dWFsIEFERFIgRkZGQkI2NDAwMDAwDQo+ ID4gRUFMOiAtLS0tLT4gRE1BIHNpemUgMHgyMDAwMDANCj4gPiBFQUw6IFRvdGFsIDEgc2VnbWVu dHMgZm91bmQuDQo+ID4gLS0tPjgtLS0NCj4gPg0KPiA+IEkgYW0gbG9va2luZyBpbnRvIHRoaXMg YnV0IGlmIHRoZXJlIGlzIHNvbWUgaGludCB3aGljaCBjb21lIHRvIHlvdXINCj4gPiBtaW5kLCBp dCBtaWdodCBoZWxwLg0KPiA+DQo+ID4gUmVnYXJkcywNCj4gPiBTaHJleWFuc2gNCj4gPg0KPiAN Cj4gSGkgU2hyZXlhbnNoLA0KPiANCj4gVGhhbmtzIGZvciB0aGUgZmVlZGJhY2suDQo+IA0KPiBU aGUgImhlYXAgb24gc29ja2V0IDAgd2FzIGV4cGFuZGVkIGJ5IDEwTUIiIGhhcyB0byBkbyB3aXRo DQo+IHN5bmNocm9uaXphdGlvbiByZXF1ZXN0cyBpbiBwcmltYXJ5L3NlY29uZGFyeSBwcm9jZXNz ZXMuIEkgY2FuIHNlZQ0KPiB5b3UncmUgYWxsb2NhdGluZyBMUE0gdGFibGVzIC0gdGhhdCdzIG1v c3QgbGlrZWx5IHdoYXQgdGhlc2UgYWxsb2NhdGlvbnMNCj4gYXJlIGFib3V0IChpdCdzIGhvdHBs dWdnaW5nIG1lbW9yeSkuDQoNCkkgZ2V0IHRoYXQgYnV0IHdoeSBzYW1lIG1lc3NhZ2UgbXVsdGlw bGUgdGltZXMgd2l0aG91dCBhbnkgY2hhbmdlIGluIHRoZSBleHBhbnNpb24uIEZ1cnRoZXIsIEkg ZG9uJ3QgaGF2ZSBtdWx0aXBsZSBwcm9jZXNzIC0gaW4gZmFjdCwgSSdtIHdvcmtpbmcgd2l0aCBh IHNpbmdsZSBkYXRhcGF0aCB0aHJlYWQuDQpBbnl3YXlzLCBJIHdpbGwgbG9vayB0aHJvdWdoIHRo ZSBjb2RlIGZvciB0aGlzLg0KDQo+IA0KPiBJIHRoaW5rIGkgbWlnaHQgaGF2ZSBhbiBpZGVhIHdo YXQgaXMgZ29pbmcgb24uIEkgYW0gYXNzdW1pbmcgdGhhdCB5b3UNCj4gYXJlIHN0YXJ0aW5nIHVw IHlvdXIgRFBESyBhcHBsaWNhdGlvbiB3aXRob3V0IGFueSAtbSBvciAtLXNvY2tldC1tZW0NCj4g ZmxhZ3MsIHdoaWNoIG1lYW5zIHlvdSBhcmUgc3RhcnRpbmcgd2l0aCBlbXB0eSBoZWFwLg0KDQpZ ZXMsIG5vIHNwZWNpZmljIC0tc29ja2V0LW1lbSBwYXNzZWQgYXMgYXJndW1lbnQuDQoNCj4gDQo+ IER1cmluZyBpbml0aWFsaXphdGlvbiwgY2VydGFpbiBEUERLIGZlYXR1cmVzIChzdWNoIGFzIHNl cnZpY2UgY29yZXMsDQo+IFBNRCdzKSBhbGxvY2F0ZSBtZW1vcnkuIE1vc3QgbGlrZWx5IHlvdSBo YXZlIGVzc2VudGlhbGx5IHN0YXJ0ZWQgdXAgd2l0aA0KPiAxIDJNIHBhZ2UsIHdoaWNoIGlzIHdo YXQgeW91IHNlZSBpbiBmc2xtYyBsb2dzOiB0aGlzIHBhZ2UgZ2V0cyBtYXBwZWQNCj4gZm9yIFZG SU8uDQoNCkFncmVlLg0KDQo+IA0KPiBUaGVuLCB5b3UgYWxsb2NhdGUgYSBidW5jaCBvZiBMUE0g dGFibGVzLCB3aGljaCB0cmlnZ2VyIG1vcmUgbWVtb3J5DQo+IGFsbG9jYXRpb24sIGFuZCB0cmln Z2VyIG1lbW9yeSBhbGxvY2F0aW9uIGNhbGxiYWNrcyByZWdpc3RlcmVkIHRocm91Z2gNCj4gcnRl X21lbV9ldmVudF9yZWdpc3Rlcl9jYWxsYmFjaygpLiBPbmUgb2YgdGhlc2UgY2FsbGJhY2tzIGlz IGEgVkZJTw0KPiBjYWxsYmFjaywgd2hpY2ggaXMgcmVnaXN0ZXJlZCBpbiBlYWxfdmZpby5jOnJ0 ZV92ZmlvX2VuYWJsZSgpLiBIb3dldmVyLA0KPiBzaW5jZSBmc2xtYyBidXMgaGFzIGl0cyBvd24g VkZJTyBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIGluZGVwZW5kZW50IG9mDQo+IHdoYXQgaGFwcGVu cyBpbiBFQUwgVkZJTyBjb2RlLCB3aGF0IHByb2JhYmx5IGhhcHBlbnMgaXMgdGhhdCB0aGUgZnNs bWMNCj4gYnVzIG1pc3NlcyB0aGUgbmVjZXNzYXJ5IG1lc3NhZ2VzIGZyb20gdGhlIG1lbW9yeSBo b3RwbHVnIHRvIG1hcA0KPiBhZGRpdGlvbmFsIHJlc291cmNlcyBmb3IgRE1BLg0KDQpNYWtlcyBz ZW5zZQ0KDQo+IA0KPiBUcnkgYWRkaW5nIGEgcnRlX21lbV9ldmVudF9yZWdpc3Rlcl9jYWxsYmFj aygpIHNvbWV3aGVyZSBpbiBmc2xtYyBpbml0DQo+IHNvIHRoYXQgaXQgY2FsbHMgbmVjZXNzYXJ5 IG1hcCBmdW5jdGlvbi4NCj4gZWFsX3ZmaW8uYzp2ZmlvX21lbV9ldmVudF9jYWxsYmFjaygpIHNo b3VsZCBwcm92aWRlIGEgZ29vZCB0ZW1wbGF0ZSBvbg0KPiBob3cgdG8gYXBwcm9hY2ggY3JlYXRp bmcgc3VjaCBhIGNhbGxiYWNrLiBMZXQgbWUga25vdyBpZiB0aGlzIHdvcmtzIQ0KDQpPSy4gSSB3 aWxsIGdpdmUgdGhpcyBhIHRyeSBhbmQgdXBkYXRlIHlvdS4NCg0KPiANCj4gKGFzIGEgc2lkZSBu b3RlLCBob3cgY2FuIHdlIGV4dGVuZCBWRklPIHRvIG1vdmUgdGhpcyBzdHVmZiBiYWNrIGludG8g RUFMDQo+IGFuZCBleHBvc2UgaXQgYXMgYW4gQVBJPykNCg0KVGhlIHByb2JsZW0gaXMgdGhhdCBG U0xNQyBWRklPIGRyaXZlciBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBnZW5lcmljIFZGSU8g bGF5ZXIgaW4gdGhlIHNlbnNlIHRoYXQgZGV2aWNlIGluIGEgVkZJTyBjb250YWluZXIgaXMgYWN0 dWFsbHkgYW5vdGhlciBsZXZlbCBvZiBjb250YWluZXIuIEFueXdheXMsIEkgd2lsbCBoYXZlIGEg bG9vayBob3cgbXVjaCBnZW5lcmFsaXphdGlvbiBpcyBwb3NzaWJsZS4gT3IgZWxzZSwgSSB3aWxs IHdvcmsgd2l0aCB0aGUgdmZpb19tZW1fZXZlbnRfY2FsbGJhY2soKSBhcyBzdWdnZXN0ZWQgYWJv dmUuDQoNClRoYW5rcyBmb3Igc3VnZ2VzdGlvbnMuDQoNCj4gDQo+IC0tDQo+IFRoYW5rcywNCj4g QW5hdG9seQ0K