From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Deucher, Alexander" Subject: RE: [PATCH 000/100] Add Vega10 Support Date: Tue, 21 Mar 2017 15:14:59 +0000 Message-ID: References: <608e9c51-6610-bf11-a22a-a1f07e5cf4a9@amd.com> <37027c02-1f10-858e-ca22-a6fc7cad330a@folklore1984.net> <94df79ba-c393-71a8-a825-7ab14f39a967@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <94df79ba-c393-71a8-a825-7ab14f39a967-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Koenig, Christian" , Edward O'Callaghan , "StDenis, Tom" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBhbWQtZ2Z4IFttYWlsdG86YW1k LWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24gQmVoYWxmDQo+IE9mIENocmlz dGlhbiBLw7ZuaWcNCj4gU2VudDogVHVlc2RheSwgTWFyY2ggMjEsIDIwMTcgNTowMSBBTQ0KPiBU bzogRWR3YXJkIE8nQ2FsbGFnaGFuOyBTdERlbmlzLCBUb207IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMDAwLzEwMF0gQWRkIFZlZ2ExMCBTdXBw b3J0DQo+IA0KPiBBbSAyMS4wMy4yMDE3IHVtIDA5OjQ1IHNjaHJpZWIgRWR3YXJkIE8nQ2FsbGFn aGFuOg0KPiA+DQo+ID4gT24gMDMvMjEvMjAxNyAwNTozNiBQTSwgQ2hyaXN0aWFuIEvDtm5pZyB3 cm90ZToNCj4gPj4gQW0gMjEuMDMuMjAxNyB1bSAwMDozOCBzY2hyaWViIFRvbSBTdCBEZW5pczoN Cj4gPj4+IE9uIDAzLzIwLzIwMTcgMDY6MzQgUE0sIEphbiBaaWFrIHdyb3RlOg0KPiA+Pj4+IE9u IE1vbiwgTWFyIDIwLCAyMDE3IGF0IDEwOjQxIFBNLCBBbGV4IERldWNoZXINCj4gPGFsZXhkZXVj aGVyQGdtYWlsLmNvbQ0KPiA+Pj4+IDxtYWlsdG86YWxleGRldWNoZXJAZ21haWwuY29tPj4gd3Jv dGU6DQo+ID4+Pj4NCj4gPj4+PiAgICAgIE9uIE1vbiwgTWFyIDIwLCAyMDE3IGF0IDU6MzYgUE0s IEphbiBaaWFrDQo+IDwweGUyLjB4OWEuMHg5YkBnbWFpbC5jb20NCj4gPj4+PiAgICAgIDxtYWls dG86MHhlMi4weDlhLjB4OWJAZ21haWwuY29tPj4gd3JvdGU6DQo+ID4+Pj4gICAgICA+IEhpDQo+ ID4+Pj4gICAgICA+DQo+ID4+Pj4gICAgICA+DQo+ID4+Pj4NCj4gaHR0cHM6Ly9jZ2l0LmZyZWVk ZXNrdG9wLm9yZy9+YWdkNWYvbGludXgvcGxhaW4vZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdQ0K PiBkZS9hc2ljX3JlZy92ZWdhMTAvTkJJTy9uYmlvXzZfMV9zaF9tYXNrLmg/aD1hbWQtc3RhZ2lu Zy0NCj4gNC45JmlkPTk1NTVlZjBiYTkyNmRmMjVkOWE2MzdkMGVhMjFiYzBkMjMxYzIxZDINCj4g Pj4+Pg0KPiA+Pj4+DQo+IDxodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL35hZ2Q1Zi9saW51 eC9wbGFpbi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2wNCj4gdWRlL2FzaWNfcmVnL3ZlZ2ExMC9O QklPL25iaW9fNl8xX3NoX21hc2suaD9oPWFtZC1zdGFnaW5nLQ0KPiA0LjkmaWQ9OTU1NWVmMGJh OTI2ZGYyNWQ5YTYzN2QwZWEyMWJjMGQyMzFjMjFkMj4NCj4gPj4+Pg0KPiA+Pj4+ICAgICAgPg0K PiA+Pj4+ICAgICAgPiBUaGUgZmlsZSBuYmlvXzZfMV9zaF9tYXNrLmggaXMgdW5jb21wcmVzc2Vk LiBJdCBjb25zaXN0cyBmcm9tDQo+ID4+Pj4gMTMzODg0IGxpbmVzLg0KPiA+Pj4+ICAgICAgPiBP bmx5IGdlbmVyYXRlZCBDL0MrKyBjb2RlIHdpbGwgYmUgYWJsZSB0byB1dGlsaXplIHRoZSBjb250 ZW50DQo+ID4+Pj4gb2Ygc3VjaCBhIGZpbGUNCj4gPj4+PiAgICAgID4gZWZmaWNpZW50bHkuIEFs bCBoYW5kLXdyaXR0ZW4gY29kZXMgY29tYmluZWQgd2lsbCBiZSBhYmxlIHRvDQo+ID4+Pj4gdXRp bGl6ZSBhYm91dA0KPiA+Pj4+ICAgICAgPiAxJSBvZiB0aGUgZmlsZS4NCj4gPj4+PiAgICAgID4N Cj4gPj4+PiAgICAgID4gSXMgdGhlcmUgYSByZWFzb24gd2h5IG5iaW9fNl8xX3NoX21hc2suaCBp cyBodWdlPw0KPiA+Pj4+DQo+ID4+Pj4gICAgICBUaGF0IElQIGJsb2NrIGNvbnRhaW5zIGEgbG90 IG9mIHJlZ2lzdGVycy4gIFRoZSBpZGVhIGlzIHRvIG9wZW4NCj4gPj4+PiBzb3VyY2UNCj4gPj4+ PiAgICAgIGFzIG11Y2ggSVAgYXMgcG9zc2libGUgdG8gZmFjaWxpdGF0ZSBkZWJ1Z2dpbmcsIG5l dyBmZWF0dXJlcywgZXRjLg0KPiA+Pj4+DQo+ID4+Pj4gICAgICBBbGV4DQo+ID4+Pj4NCj4gPj4+ Pg0KPiA+Pj4+IFtUaGlzIGVtYWlsIGNvbnRhaW5zIGxvbmcvd2lkZSBsaW5lcyBhbmQgc2hvdWxk IGJlIHZpZXdlZCBvbiBhDQo+ID4+Pj4gc3VmZmljaWVudGx5IHdpZGUgc2NyZWVuXQ0KPiA+Pj4+ DQo+ID4+Pj4gRm9yIGV4YW1wbGUgaWYgSSBvcGVuIHRoZSBmaWxlIGluIHZpbSBhbmQgZ28gdG8g bGluZSA2Njk1MjoNCj4gPj4+Pg0KPiA+Pj4+ICNkZWZpbmUNCj4gPj4+Pg0KPiBEV0NfRTEyTVBf UEhZX1g0X05TX1g0XzFfTEFORTFfRElHX1JYX1ZDT0NBTF9SWF9WQ09fQ0FMX0MNCj4gVFJMXzFf X0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4NCj4gPj4+PiAweDkNCj4gPj4+Pg0KPiA+Pj4+IFRoZW4g YWJzdHJhY3RpbmcgYXdheSBzb21lIG9mIHRoZSBkaWdpdHMgdXNlZCBpbiB0aGUgZGVmaW5lZCBp ZGVudGlmaWVyDQo+ID4+Pj4gYW5kIHVzaW5nIGVncmVwOg0KPiA+Pj4+DQo+ID4+Pj4gJCBlZ3Jl cA0KPiA+Pj4+DQo+ICJcPERXQ19FMTJNUF9QSFlfWC5fTlNfWC5fLl9MQU5FLl9ESUdfUlhfVkNP Q0FMX1JYX1ZDT19DQUxfDQo+IENUUkxfLl9fRFRCX1NFTF9fU0hJRlRcPiINCj4gPj4+Pg0KPiA+ Pj4+IG5iaW9fNl8xX3NoX21hc2suaA0KPiA+Pj4+ICNkZWZpbmUNCj4gPj4+Pg0KPiBEV0NfRTEy TVBfUEhZX1g0X05TX1g0XzBfTEFORTBfRElHX1JYX1ZDT0NBTF9SWF9WQ09fQ0FMX0MNCj4gVFJM XzFfX0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4NCj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAg ICAweDkNCj4gPj4+PiAjZGVmaW5lDQo+ID4+Pj4NCj4gRFdDX0UxMk1QX1BIWV9YNF9OU19YNF8w X0xBTkUxX0RJR19SWF9WQ09DQUxfUlhfVkNPX0NBTF9DDQo+IFRSTF8xX19EVEJfU0VMX19TSElG VA0KPiA+Pj4+DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgMHg5DQo+ID4+Pj4gI2Rl ZmluZQ0KPiA+Pj4+DQo+IERXQ19FMTJNUF9QSFlfWDRfTlNfWDRfMF9MQU5FMl9ESUdfUlhfVkNP Q0FMX1JYX1ZDT19DQUxfQw0KPiBUUkxfMV9fRFRCX1NFTF9fU0hJRlQNCj4gPj4+Pg0KPiA+Pj4+ ICAgICAgICAgICAgICAgICAgICAgICAgIDB4OQ0KPiA+Pj4+ICNkZWZpbmUNCj4gPj4+Pg0KPiBE V0NfRTEyTVBfUEhZX1g0X05TX1g0XzBfTEFORTNfRElHX1JYX1ZDT0NBTF9SWF9WQ09fQ0FMX0MN Cj4gVFJMXzFfX0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4NCj4gPj4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAweDkNCj4gPj4+PiAjZGVmaW5lDQo+ID4+Pj4NCj4gRFdDX0UxMk1QX1BIWV9YNF9O U19YNF8wX0xBTkVYX0RJR19SWF9WQ09DQUxfUlhfVkNPX0NBTF9DDQo+IFRSTF8xX19EVEJfU0VM X19TSElGVA0KPiA+Pj4+DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgMHg5DQo+ID4+ Pj4gI2RlZmluZQ0KPiA+Pj4+DQo+IERXQ19FMTJNUF9QSFlfWDRfTlNfWDRfMV9MQU5FMF9ESUdf UlhfVkNPQ0FMX1JYX1ZDT19DQUxfQw0KPiBUUkxfMV9fRFRCX1NFTF9fU0hJRlQNCj4gPj4+Pg0K PiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgIDB4OQ0KPiA+Pj4+ICNkZWZpbmUNCj4gPj4+ Pg0KPiBEV0NfRTEyTVBfUEhZX1g0X05TX1g0XzFfTEFORTFfRElHX1JYX1ZDT0NBTF9SWF9WQ09f Q0FMX0MNCj4gVFJMXzFfX0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4NCj4gPj4+PiAgICAgICAgICAg ICAgICAgICAgICAgICAweDkNCj4gPj4+PiAjZGVmaW5lDQo+ID4+Pj4NCj4gRFdDX0UxMk1QX1BI WV9YNF9OU19YNF8xX0xBTkUyX0RJR19SWF9WQ09DQUxfUlhfVkNPX0NBTF9DDQo+IFRSTF8xX19E VEJfU0VMX19TSElGVA0KPiA+Pj4+DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgMHg5 DQo+ID4+Pj4gI2RlZmluZQ0KPiA+Pj4+DQo+IERXQ19FMTJNUF9QSFlfWDRfTlNfWDRfMV9MQU5F M19ESUdfUlhfVkNPQ0FMX1JYX1ZDT19DQUxfQw0KPiBUUkxfMV9fRFRCX1NFTF9fU0hJRlQNCj4g Pj4+Pg0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgIDB4OQ0KPiA+Pj4+ICNkZWZpbmUN Cj4gPj4+Pg0KPiBEV0NfRTEyTVBfUEhZX1g0X05TX1g0XzFfTEFORVhfRElHX1JYX1ZDT0NBTF9S WF9WQ09fQ0FMX0MNCj4gVFJMXzFfX0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4NCj4gPj4+PiAgICAg ICAgICAgICAgICAgICAgICAgICAweDkNCj4gPj4+PiAjZGVmaW5lDQo+ID4+Pj4NCj4gRFdDX0Ux Mk1QX1BIWV9YNF9OU19YNF8yX0xBTkUwX0RJR19SWF9WQ09DQUxfUlhfVkNPX0NBTF9DDQo+IFRS TF8xX19EVEJfU0VMX19TSElGVA0KPiA+Pj4+DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAg ICAgMHg5DQo+ID4+Pj4gI2RlZmluZQ0KPiA+Pj4+DQo+IERXQ19FMTJNUF9QSFlfWDRfTlNfWDRf Ml9MQU5FMV9ESUdfUlhfVkNPQ0FMX1JYX1ZDT19DQUxfQw0KPiBUUkxfMV9fRFRCX1NFTF9fU0hJ RlQNCj4gPj4+Pg0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgIDB4OQ0KPiA+Pj4+ICNk ZWZpbmUNCj4gPj4+Pg0KPiBEV0NfRTEyTVBfUEhZX1g0X05TX1g0XzJfTEFORTJfRElHX1JYX1ZD T0NBTF9SWF9WQ09fQ0FMX0MNCj4gVFJMXzFfX0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4NCj4gPj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAweDkNCj4gPj4+PiAjZGVmaW5lDQo+ID4+Pj4NCj4g RFdDX0UxMk1QX1BIWV9YNF9OU19YNF8yX0xBTkUzX0RJR19SWF9WQ09DQUxfUlhfVkNPX0NBTF9D DQo+IFRSTF8xX19EVEJfU0VMX19TSElGVA0KPiA+Pj4+DQo+ID4+Pj4gICAgICAgICAgICAgICAg ICAgICAgICAgMHg5DQo+ID4+Pj4gI2RlZmluZQ0KPiA+Pj4+DQo+IERXQ19FMTJNUF9QSFlfWDRf TlNfWDRfMl9MQU5FWF9ESUdfUlhfVkNPQ0FMX1JYX1ZDT19DQUxfQw0KPiBUUkxfMV9fRFRCX1NF TF9fU0hJRlQNCj4gPj4+Pg0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgIDB4OQ0KPiA+ Pj4+ICNkZWZpbmUNCj4gPj4+Pg0KPiBEV0NfRTEyTVBfUEhZX1g0X05TX1g0XzNfTEFORTBfRElH X1JYX1ZDT0NBTF9SWF9WQ09fQ0FMX0MNCj4gVFJMXzFfX0RUQl9TRUxfX1NISUZUDQo+ID4+Pj4N Cj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAweDkNCj4gPj4+PiAjZGVmaW5lDQo+ID4+ Pj4NCj4gRFdDX0UxMk1QX1BIWV9YNF9OU19YNF8zX0xBTkUxX0RJR19SWF9WQ09DQUxfUlhfVkNP X0NBTF9DDQo+IFRSTF8xX19EVEJfU0VMX19TSElGVA0KPiA+Pj4+DQo+ID4+Pj4gICAgICAgICAg ICAgICAgICAgICAgICAgMHg5DQo+ID4+Pj4gI2RlZmluZQ0KPiA+Pj4+DQo+IERXQ19FMTJNUF9Q SFlfWDRfTlNfWDRfM19MQU5FMl9ESUdfUlhfVkNPQ0FMX1JYX1ZDT19DQUxfQw0KPiBUUkxfMV9f RFRCX1NFTF9fU0hJRlQNCj4gPj4+Pg0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgIDB4 OQ0KPiA+Pj4+ICNkZWZpbmUNCj4gPj4+Pg0KPiBEV0NfRTEyTVBfUEhZX1g0X05TX1g0XzNfTEFO RTNfRElHX1JYX1ZDT0NBTF9SWF9WQ09fQ0FMX0MNCj4gVFJMXzFfX0RUQl9TRUxfX1NISUZUDQo+ ID4+Pj4NCj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAweDkNCj4gPj4+PiAjZGVmaW5l DQo+ID4+Pj4NCj4gRFdDX0UxMk1QX1BIWV9YNF9OU19YNF8zX0xBTkVYX0RJR19SWF9WQ09DQUxf UlhfVkNPX0NBTF9DDQo+IFRSTF8xX19EVEJfU0VMX19TSElGVA0KPiA+Pj4+DQo+ID4+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgMHg5DQo+ID4+Pj4NCj4gPj4+PiBUaGUgZWdyZXAgY29tbWFu ZCBwcm9kdWNlZCAyMCBsaW5lcy4NCj4gPj4+Pg0KPiA+Pj4+IEluc3RlYWQgb2YgdGhlIG1hbnkg I2RlZmluZSBkaXJlY3RpdmVzLCBpdCBpcyBhIHBvc3NpYmlsaXR5IHRvIGRlZmluZQ0KPiA+Pj4+ IGZ1bmN0aW9ucyBzdWNoIGFzOg0KPiA+Pj4+DQo+ID4+Pj4gaW50DQo+ID4+Pj4NCj4gRFdDX0Ux Mk1QX1BIWV9YYV9OU19YYl9jX0xBTkVkX0RJR19SWF9WQ09DQUxfUlhfVkNPX0NBTF9DDQo+IFRS TF9lX19EVEJfU0VMX19TSElGVChpbnQNCj4gPj4+Pg0KPiA+Pj4+IGEsIGludCBiLCBpbnQgYywg aW50IGQsIGludCBlKSBfX2F0dHJpYnV0ZV9fKChwdXJlKSk7DQo+ID4+Pj4NCj4gPj4+PiBJIHN1 cHBvc2UgdGhlIGZpbGUgbmJpb182XzFfc2hfbWFzay5oIGlzIHRoZSBvdXRwdXQgb2YgYSB0b29s IChpdCBpcyBhDQo+ID4+Pj4gZ2VuZXJhdGVkIGZpbGUpLiBJdCBpcyBhbiBvcHRpb24gdG8gbW9k aWZ5IHRoZSB0b29sIHRvIG91dHB1dCBDDQo+ID4+Pj4gZnVuY3Rpb25zIHdpdGggcHJvcGVyIGlu cHV0IGd1YXJkcyBpbnN0ZWFkIG9mICNkZWZpbmUgZGlyZWN0aXZlcy4NCj4gPj4+IFRoZSByZWdp c3RlcnMgYXJlIGdlbmVyYXRlZCBieSB0aGUgSFcgdGVhbSBhbmQgdGhlbiBmaWx0ZXJlZCBkb3du IHRvDQo+ID4+PiBiZWNvbWUgd2hhdCB3ZSByZWxlYXNlIHB1YmxpY2x5LiAgSXQgaXMgbWFjaGlu ZSBnZW5lcmF0ZWQgdmVyeSBsaWtlbHkNCj4gPj4+IGZyb20gdGhlIFJUTCB0aGF0IHNwZWNpZmll cyB0aGUgaGFyZHdhcmUgaXRzZWxmLg0KPiA+PiBZZXMsIGV4YWN0bHkgdGhhdC4gQW5kIGl0IHdh cyBhY3R1YWxseSBxdWl0ZSBzb21lIHdvcmsgdG8gZ2V0IHRvIHRoaXMNCj4gPj4gcG9pbnQuDQo+ ID4+DQo+ID4+PiBHZW5lcmFsbHkgc3BlYWtpbmcgaWYgYSBjbGFzcyBvZiByZWdpc3RlcnMgc2hh cmUgbWFza3Mvb2Zmc2V0cyB0aGUNCj4gPj4+IGxvd2VzdCAoemVybyd0aCkgaXMgdXNlZCBpbiBw cm9ncmFtbWluZyBhbmQgb2Zmc2V0cyBhcmUgdXNlZCB3aGVuDQo+ID4+PiBzZWxlY3RpbmcgdGhl IGNvcnJlY3QgTU1JTyBhZGRyZXNzIHRvIHVzZSBzcGVjaWZpYyBpbnN0YW5jZXMuDQo+ID4+IFRo ZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGZpbGVzIHdlIGdldCBmcm9tIHRoZSBIVyB0ZWFtIGRlc2Ny aWJlIHRoZQ0KPiA+PiByZWdpc3RlciBibG9jayBhbHJlYWR5IGJyb2tlbiBkb3duIHRvIHRoZSBt ZW1vcnkgbWFwcGluZ3MuIEUuZy4gd2hlbg0KPiBhbg0KPiA+PiBSVEwgYmxvY2sgaXMgaW5zdGFu dGlhdGVkIE4gdGltZXMgeW91IGdldCBOIHRpbWVzIHRoZSBzYW1lIGRlZmluaXRpb24uDQo+ID4+ DQo+ID4+PiBIYXZpbmcgdGhlc2UgZW51bWVyYXRlZCB0aG91Z2ggaXMgaGFuZHkgZm9yIHRvb2xz IGxpa2UgVU1SIHdoaWNoDQo+IHdvdWxkDQo+ID4+PiBkZWNvZGUgdG8gdGhlIGNvcnJlY3QgaW5z dGFuY2Ugb2YgdGhlIHJlZ2lzdGVyICh5b3UgY291bGQgZXZlbiBzZWUNCj4gPj4+IHRoYXQgYnkg d2F0Y2hpbmcgdGhlIGxvZ3NjYW4gdmlhIHVtcikuICBTbyB3ZSBtYWtlIHVzZSBvZiB0aGVtIGZh aXJseQ0KPiA+Pj4gZWZmaWNpZW50bHkuICBVTVIgcmVhZHMgdGhlIGhlYWRlcnMgdG8gY3JlYXRl IHRoZSBhcnJheXMgb2YNCj4gPj4+IHJlZ2lzdGVycy9iaXRmaWVsZHMgd2hpY2ggaWYgdGhleSB3 ZXJlIGNvbXB1dGVkIGF0IHJ1bnRpbWUgKHZpYSBoZWxwZXINCj4gPj4+IGZ1bmN0aW9ucykgd291 bGQgYmUgaGFyZGVyIHRvIHBhcnNlIChhbmQgY291bGQgYW1vdW50IHRvIHRoZSBoYWx0aW5nDQo+ ID4+PiBwcm9ibGVtLi4uKS4NCj4gPj4+DQo+ID4+PiBXaGF0IGlzIGluIHRoZSBOQklPIGhlYWRl ciB0b2RheSBpcyB3aGF0IHdhcyBJUCBjbGVhcmVkIGJ1dCBpbiB0aGVvcnkNCj4gPj4+IGl0IGNv dWxkIGJlIGZpbHRlcmVkIGRvd24gbW9yZSBzaW1wbHkgdG8gcmVkdWNlIHRoZSB1bnVzZWQgTE9D cyBpbg0KPiA+Pj4gZnV0dXJlIGtlcm5lbHMuDQo+ID4+Pg0KPiA+Pj4gVGhleSBkb24ndCBtYWtl IGZvciBnb29kIGJlZHRpbWUgcmVhZGluZyBidXQgaW1obyB5b3UnZCByYXRoZXIgaGF2ZQ0KPiA+ Pj4gbW9yZSBoZWFkZXJzIG5vdCBsZXNzIDotKQ0KPiA+PiBNYW51YWxseSBtZXJnaW5nIHRoYXQg YmFjayBpbnRvIHNpbmdsZSBkZWZpbml0aW9ucyBpcyBub3QgcmVhbGx5IGFuDQo+ID4+IG9wdGlv biwgYnV0IHdoYXQgd2UgY291bGQgZG8gaXMgcmVsZWFzaW5nIHRoZSBmdWxsIGJsb3duIGhlYWRl cnMNCj4gPj4gc29tZXdoZXJlIGFuZCBvbmx5IGxpbWl0IHdoYXQgd2UgcHVzaCBpbnRvIHRoZSBs aW51eCBrZXJuZWwgdG8gYWN0dWFsbHkNCj4gPj4gdXNlZCBvbmVzLg0KPiA+IEhpIENocmlzdGlh biwNCj4gPg0KPiA+IEkgaGF2ZSB0byBzYXkgSSBwcmVmZXIgeW91ciBpZGVhIGhlcmUgYW5kIHBl cmhhcHMgdGhleSBjb3VsZCBldmVuIGJlY29tZQ0KPiA+IHBhcnQgb2YgdGhlIFVNUiByZXBvLCBu b3Qgc3VyZT8gTWF5IEkgc3VnZ2VzdCB0aGUgcmVkdWN0aW9uIHRvIHNvbWUgbGlrZQ0KPiA+IGEg YGtlcm5lbC1uYXRpdmUtZGlhbGVjdGAgY291bGQgYmUgYXV0b21hdGVkIHdpdGggYSBjbGFuZyBw bHVnaW4uIEl0DQo+ID4gc2VlbXMgbGlrZSBoZWFwcyBvZiB3b3JrIGhvd2V2ZXIgbWF5YmUgbm90 IHJlYWxseSwgY2xhbmcgcHJvdmlkZXMgYSBBUEkNCj4gPiB0byBncmFtbWF0aWNhbGx5IGRvIHNv bWUgQVNUIHRyYW5zZm9ybWVycyBhbmQgYXV0by1yZXdyaXRlIGxhcmdlIGNodW5rcw0KPiA+IG9m IGNvZGUgZ2l2ZW4gc29tZSBydWxlcy4NCj4gDQo+IFVzaW5nIGNsYW5nIHNvdW5kcyBsaWtlIG92 ZXJraWxsIHRvIG1lLCBidXQgd2UgY291bGQgd3JpdGUgYW4NCj4gYXdrL3NlZC9wZXJsIHNjcmlw dCB0byBkbyB0aGUgam9iLg0KPiANCj4gQW5vdGhlciBwcm9ibGVtIGlzIHRoYXQgd2UgaW50ZXJu YWxseSBkb2Vzbid0IG5lY2Vzc2FyeSB3YW50IHRoaXMgZHVyaW5nDQo+IGJyaW5ndXAsIHNvIHRo ZSBxdWVzdGlvbiBpcyB3aGVuIHRvIGFwcGx5IGl0Lg0KPiANCj4gPiBJIGFsc28gYWdyZWUgd2l0 aCBUb20sIGl0cyBjZXJ0YWlubHkgbmljZSB0byBoYXZlIHRoZW0gcmVnYXJkbGVzcywganVzdA0K PiA+IHBlcmhhcHMgdGhlIGtlcm5lbCBtYWlubGluZSByZXBvIGlzIHRoZSB3cm9uZyBwbGFjZSBm b3IgdGhlIGtpdGNoZW4gc2luay4NCj4gDQo+IEl0J3Mgbm90IG9ubHkgbmljZSB0byBoYXZlLCBi dXQgYSBtdXN0IGhhdmUgdG8gcHVibGlzaCB0aGUgaGVhZGVycy4NCj4gDQo+IFdlIGhhdmUgcHV0 IGEgbG90IG9mIHdvcmsgaW50byBjaGFuZ2luZyB0aGUgd29ya2Zsb3cgYXQgQU1EIGZyb20NCj4g InJlbGVhc2luZyBvbmx5IHdoYXQgd2UgaGF2ZSB0byIgdG93YXJkICJyZWxlYXNpbmcgZXZlcnl0 aGluZyB3ZSBjYW4iLg0KPiANCj4gTG9vc2luZyB0aGF0IGlzIE5PVCBhbiBvcHRpb24sIGJ1dCBJ IGNsZWFybHkgYWdyZWUgdGhhdCB0aGUga2VybmVsDQo+IG1haW5saW5lIHJlcG8gaXMgbm90IG5l Y2Vzc2FyeSB0aGUgYmVzdCBwbGFjZSBmb3IgaXQuDQoNCk9uZSBhZHZhbnRhZ2UgdG8gaGF2aW5n IGl0IGluIHRoZSBrZXJuZWwsIGlzIHRoYXQgZm9yIGRlYnVnZ2luZyB5b3UgZG9u4oCZdCBoYXZl IHRvIHdvcnJ5IGFib3V0IGFkZGluZyBhIGJ1bmNoIG9mIHJlZ2lzdGVyIGRlZmluZXMgaWYgeW91 IG5lZWQgdG8gcHJpbnQgc29tZSByZWdpc3RlcnMgb3IgaGFjayBpbiBhIHF1aWNrIHRlc3QuICBB bm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHdoZW4gaXQgY29tZXMgdG8gbmV3IGRldmVsb3BlcnMg d29ya2luZyBvbiB0aGUgY29kZSwgaWYgYSByZWdpc3RlciBkZWZpbmUgaXMgbm90IHRoZXJlLCB0 aGF0IGlzIGEgZ29vZCBzaWduYWwgdGhhdCB0aGUgcmVnaXN0ZXIgaXMgcmVzdHJpY3RlZCBmb3Ig c29tZSByZWFzb24gYW5kIHRoZSBwYXRjaCBuZWVkcyBmdXJ0aGVyIGludGVybmFsIHJldmlldyBh bmQgYXBwcm92YWwgYmVmb3JlIHJlbGVhc2UgYmVjYXVzZSBpdCBleHBvc2VzIG5ldyBJUC4gIElm IHRoZSBoZWFkZXJzIGFyZSB0aGVyZSwgaWYgdGhlIGNvZGUgY29tcGlsZXMsIGl0J3Mgc2FmZSBm cm9tIGFuIElQIHBlcnNwZWN0aXZlLiAgSXQncyBhbHNvIG5pY2UgdG8gaGF2ZSBhIHVuaWZpZWQg c291cmNlIGZvciB0aGUgaGFyZHdhcmUgYW5kIGhvdyB0byBwcm9ncmFtIGl0Lg0KDQpBbGV4DQoN Cg0KPiANCj4gVXNpbmcgVU1SIGZvciB0aGlzIGlzIGFjdHVhbGx5IGEgcXVpdGUgbmlmdHkgaWRl YSBpZiB5b3UgYXNrIG1lLg0KPiANCj4gUmVnYXJkcywNCj4gQ2hyaXN0aWFuLg0KPiANCj4gPiBK dXN0IG15IHRob3VnaHRzLA0KPiA+IEtpbmQgUmVnYXJkcywNCj4gPiBFZHdhcmQuDQo+ID4NCj4g Pj4gQ2hyaXN0aWFuLg0KPiA+Pg0KPiA+Pg0KPiA+Pj4gVG9tDQo+ID4+PiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+Pj4gYW1kLWdmeCBtYWlsaW5n IGxpc3QNCj4gPj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4+PiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCj4gPj4NCj4g Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPj4g YW1kLWdmeCBtYWlsaW5nIGxpc3QNCj4gPj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcN Cj4gPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4DQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QNCj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcNCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwph bWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK