Re: [PATCH 2/4] test: Don't skip tests if nfit modules are missing

Santosh Sivaraj <[email protected]> Thu, 13 May 2021 10:10:33 +0530
Newsgroups org.01.lists.linux-nvdimm
Message-ID <[email protected]>
IlZlcm1hLCBWaXNoYWwgTCIgPHZpc2hhbC5sLnZlcm1hQGludGVsLmNvbT4gd3JpdGVzOg0KDQpI
aSBWaXNoYWwsDQoNCj4gT24gU2F0LCAyMDIxLTA1LTAxIGF0IDExOjU3ICswNTMwLCBTYW50b3No
IFNpdmFyYWogd3JvdGU6DQo+PiAiVmVybWEsIFZpc2hhbCBMIiA8dmlzaGFsLmwudmVybWFAaW50
ZWwuY29tPiB3cml0ZXM6DQo+PiANCj4+IEhpIFZpc2hhbCwNCj4+IA0KPj4gPiBPbiBTdW4sIDIw
MjEtMDMtMjggYXQgMDc6MzkgKzA1MzAsIFNhbnRvc2ggU2l2YXJhaiB3cm90ZToNCj4+ID4gPiBG
b3IgTkZJVCB0byBiZSBhdmFpbGFibGUgQUNQSSBpcyBhIG11c3QsIHNvIGRvbid0IGZhaWwgd2hl
biBuZml0IG1vZHVsZXMNCj4+ID4gPiBhcmUgbWlzc2luZyBvbiBhIHBsYXRmb3JtIHRoYXQgZG9l
c24ndCBzdXBwb3J0IEFDUEkuDQo+PiA+ID4gDQo+PiA+ID4gU2lnbmVkLW9mZi1ieTogU2FudG9z
aCBTaXZhcmFqIDxzYW50b3NoQGZvc3NpeC5vcmc+DQo+PiA+ID4gLS0tDQo+PiA+ID4gwqB0ZXN0
LmggICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+PiA+ID4gwqB0ZXN0L2Fjay1zaHV0
ZG93bi1jb3VudC1zZXQuYyB8ICAyICstDQo+PiA+ID4gwqB0ZXN0L2Jsa19uYW1lc3BhY2VzLmMg
ICAgICAgICB8ICAyICstDQo+PiA+ID4gwqB0ZXN0L2NvcmUuYyAgICAgICAgICAgICAgICAgICB8
IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KPj4gPiA+IMKgdGVzdC9kcGEtYWxs
b2MuYyAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gPiA+IMKgdGVzdC9kc20tZmFpbC5jICAgICAg
ICAgICAgICAgfCAgMiArLQ0KPj4gPiA+IMKgdGVzdC9saWJuZGN0bC5jICAgICAgICAgICAgICAg
fCAgMiArLQ0KPj4gPiA+IMKgdGVzdC9tdWx0aS1wbWVtLmMgICAgICAgICAgICAgfCAgMiArLQ0K
Pj4gPiA+IMKgdGVzdC9wYXJlbnQtdXVpZC5jICAgICAgICAgICAgfCAgMiArLQ0KPj4gPiA+IMKg
dGVzdC9wbWVtX25hbWVzcGFjZXMuYyAgICAgICAgfCAgMiArLQ0KPj4gPiA+IMKgMTAgZmlsZXMg
Y2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+PiA+ID4gDQo+PiA+
IA0KPj4gPiBJIGhhdmVuJ3QgbG9va2VkIGRlZXBlciwgYnV0IHRoaXMgc2VlbXMgdG8gZmFpbCB0
aGUgYmxrLW5zIHRlc3Qgd2l0aDoNCj4+ID4gDQo+PiA+ICAgQUNQSS5ORklUIHVuYXZhaWxhYmxl
IGZhbGxpbmcgYmFjayB0byBuZml0X3Rlc3QNCj4+ID4gICB0ZXN0L2luaXQ6IG5kY3RsX3Rlc3Rf
aW5pdDogQ2Fubm90IGRldGVybWluZSBOVkRJTU0gZmFtaWx5DQo+PiA+ICAgX19uZGN0bF90ZXN0
X3NraXA6IGV4cGxpY2l0IHNraXAgdGVzdF9ibGtfbmFtZXNwYWNlczoyMzUNCj4+ID4gICBuZml0
X3Rlc3QgdW5hdmFpbGFibGUgc2tpcHBpbmcgdGVzdHMNCj4+IA0KPj4gVGhlIGZpcnN0IG1lc3Nh
Z2Ugd2lsbCBiZSBlbWl0dGVkIGV2ZW4gd2l0aG91dCB0aGUgY2hhbmdlcyBpZiB0aGUgYnVzIGlz
IG5vdA0KPj4gZm91bmQuIFRoZSBzZWNvbmQgZXJyb3Igd2lsbCBiZSBlbWl0dGVkIHdoZW4gY2hl
Y2sgIi9zeXMvYnVzL2FjcGkiIGlzIG5vdA0KPj4gZm91bmQuIFdlIGZhaWwgZm9yIGFsbCBvdGhl
ciBidXNlcyBieSBkZWZhdWx0IGV4Y2VwdCBmb3IgTkZJVCBhcyBiZWZvcmUgYW5kIFBBUFINCj4+
IHRlc3RzIGFyZSBlbmFibGVkIG9ubHkgd2hlbiBOVkRJTU1fVEVTVF9GQU1JTFkgaXMgc2V0IHRv
ICJQQVBSIi4NCj4NCj4gU2VlIGJlbG93IG9uIHRoaXMuDQo+DQo+PiANCj4+IEFsbCB0ZXN0cyBw
YXNzIGluIG15IHNldHVwICh4ODZfNjQgcWVtdSBndWVzdCkgd2l0aCB0aGUgcmVjZW50IHVwc3Ry
ZWFtIGtlcm5lbCwNCj4+IGV4Y2VwdCBmb3IgdGhlIHRoZSBiZWxvdyB3YXJuaW5nIGZyb20gZHJp
dmVycy9hY3BpL25maXQvY29yZS5jOg0KPg0KPiBIbSBJJ3ZlIG5vdCBzZWVuIHRoaXMgd2l0aCA1
LjExIG9yIDUuMTIuIFdoYXQncyB0aGUgcWVtdSBjb21tYW5kIGxpbmUNCj4gYW5kIGlzIGl0IGp1
c3QgdHJpZ2dlcmVkIGZyb20gYSB1bml0IHRlc3QgdHVuPw0KDQpUaGlzIHdhcyBvbiBhIDUuMTIg
a2VybmVsLCB3aGljaCBJIGhhdmUgbWVudGlvbmVkIGVhcmxpZXIsIGJ1dCBJIGFtIG5vdCBhYmxl
IHRvDQpyZXByb2R1Y2Ugbm93LCBJIGhhZCByZWJhc2VkIHRoZSBrZXJuZWwgbm93LiBCdXQgYW55
d2F5IGl0IGRvZXNuJ3Qgc2VlbSB0byBiZQ0KcmVwcm9kdWNpYmxlIG5vdy4gV2lsbCBjb21lIGJh
Y2sgaWYgSSBzZWUgc29tZXRoaW5nIGFnYWluLg0KDQo+DQo+PiANCj4+IFsgMjQyNi43Mjc1ODRd
IC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KPj4gWyAyNDI2LjcyODQwNV0g
V0FSTklORzogQ1BVOiAyIFBJRDogNDc1MDQgYXQgdG9vbHMvdGVzdGluZy9udmRpbW0vLi4vLi4v
Li4vZHJpdmVycy9hY3BpL25maXQvY29yZS5jOjM4NzkgbmZpdF9leGl0KzB4XQ0KPj4gWyAyNDI2
LjczMDI2NF0gTW9kdWxlcyBsaW5rZWQgaW46IGRheF9wbWVtKE8pIG5kX3BtZW0oTykgbmZpdChP
LSkga21lbSBkYXhfcG1lbV9jb21wYXQoTykgbmRfYmxrKE8pIGRheF9wbWVtX2NvcmUoTykgXQ0K
Pj4gWyAyNDI2LjczMzIwOV0gQ1BVOiAyIFBJRDogNDc1MDQgQ29tbTogbW9kcHJvYmUgVGFpbnRl
ZDogRyAgICAgICAgVyAgTyAgICAgIDUuMTIuMCsgIzMNCj4+IFsgMjQyNi43MzQ0NzJdIEhhcmR3
YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIHJl
bC0xLjEzLjAtMC1nZjIxYjVhNGFlYjAyLXByZWJ1aWx0LnFlbXUubzQNCj4+IFsgMjQyNi43MzYz
MDVdIFJJUDogMDAxMDpuZml0X2V4aXQrMHgyYy8weDcwMyBbbmZpdF0NCj4+IFsgMjQyNi43Mzcw
OTldIENvZGU6IGZkIGZmIGZmIDQ4IGM3IGM3IDAwIGYwIDM5IGMwIGU4IDUyIGExIDM4IGRhIDQ4
IDhiIDNkIDZiIDQ2IDAwIDAwIGU4IGU2IDg4IGVlIGQ5IDQ4IDhiIDA1IDVmIDNjIDANCj4+IFsg
MjQyNi43NDAwNDZdIFJTUDogMDAxODpmZmZmYThlODAwYjc3ZWQ4IEVGTEFHUzogMDAwMTAyODcN
Cj4+IFsgMjQyNi43NDA5OTBdIFJBWDogZmZmZjk1YjdlNTE5MzViMCBSQlg6IDAwMDAwMDAwMDAw
MDA4MDAgUkNYOiBmZmZmZmZmZjliNGEzNmE4DQo+PiBbIDI0MjYuNzQyMjM2XSBSRFg6IDAwMDAw
MDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDgzIFJESTogZmZmZjk1YjdjMDNlMTU1NA0K
Pj4gWyAyNDI2Ljc0MzQwNF0gUkJQOiBmZmZmZmZmZmMwMzlmNzQwIFIwODogMDAwMDAwMDAwMDAw
MDQwMCBSMDk6IGZmZmY5NWI3YzAzZTBlNTANCj4+IFsgMjQyNi43NDQ2MTddIFIxMDogZmZmZjk1
YjdmYmQyOTZmMCBSMTE6IDAwMDAwMDAwMDA4OTU0NDAgUjEyOiBmZmZmYThlODAwYjc3ZjU4DQo+
PiBbIDI0MjYuNzQ1NzkyXSBSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiAwMDAwMDAwMDAwMDAw
MDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMA0KPj4gWyAyNDI2Ljc0Njk0Nl0gRlM6ICAwMDAwN2Y0
ODI5N2UzNzQwKDAwMDApIEdTOmZmZmY5NWI3ZmJkMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAw
MDAwMDAwMA0KPj4gWyAyNDI2Ljc0ODI1MF0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENS
MDogMDAwMDAwMDA4MDA1MDAzMw0KPj4gWyAyNDI2Ljc0OTE5OF0gQ1IyOiAwMDAwNTYwNzJhYWRj
OWY4IENSMzogMDAwMDAwMDExOGIwODAwMCBDUjQ6IDAwMDAwMDAwMDAwMDA2ZTANCj4+IFsgMjQy
Ni43NTAzNDldIENhbGwgVHJhY2U6DQo+PiBbIDI0MjYuNzUwNzU0XSAgX19kb19zeXNfZGVsZXRl
X21vZHVsZSsweDE5ZC8weDI0MA0KPj4gWyAyNDI2Ljc1MTQ3Ml0gID8gdGFza193b3JrX3J1bisw
eDVjLzB4OTANCj4+IFsgMjQyNi43NTE5NjRdICA/IGV4aXRfdG9fdXNlcl9tb2RlX3ByZXBhcmUr
MHgyYS8weDEzMA0KPj4gWyAyNDI2Ljc1MjYzN10gIGRvX3N5c2NhbGxfNjQrMHg0MC8weDgwDQo+
PiBbIDI0MjYuNzUzMTIxXSAgZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhh
ZQ0KPj4gWyAyNDI2Ljc1MzgxMF0gUklQOiAwMDMzOjB4N2Y0ODI5OTEzNjFiDQo+PiBbIDI0MjYu
NzU0Mjc0XSBDb2RlOiA3MyAwMSBjMyA0OCA4YiAwZCA1ZCAxOCAwYyAwMCBmNyBkOCA2NCA4OSAw
MSA0OCA4MyBjOCBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA5MCBmMyA4DQo+
PiBbIDI0MjYuNzU2NjY4XSBSU1A6IDAwMmI6MDAwMDdmZmQ0NmM4OWI5OCBFRkxBR1M6IDAwMDAw
MjA2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMGIwDQo+PiBbIDI0MjYuNzU3Njc2XSBSQVg6IGZm
ZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwNTYwNzJhYWQ4ZjkwIFJDWDogMDAwMDdmNDgyOTkxMzYx
Yg0KPj4gWyAyNDI2Ljc1ODYxOF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAw
MDAwMDgwMCBSREk6IDAwMDA1NjA3MmFhZDhmZjgNCj4+IFsgMjQyNi43NTk1NjNdIFJCUDogMDAw
MDU2MDcyYWFkOGY5MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAw
DQo+PiBbIDI0MjYuNzYwNTEzXSBSMTA6IDAwMDA3ZjQ4Mjk5ODdhYzAgUjExOiAwMDAwMDAwMDAw
MDAwMjA2IFIxMjogMDAwMDU2MDcyYWFkOGZmOA0KPj4gWyAyNDI2Ljc2MTQ2M10gUjEzOiAwMDAw
MDAwMDAwMDAwMDAwIFIxNDogMDAwMDU2MDcyYWFkYjRlOCBSMTU6IDAwMDA3ZmZkNDZjODlkMTgN
Cj4+IFsgMjQyNi43NjI0MDVdIC0tLVsgZW5kIHRyYWNlIDE0YTg3NDhjZGE4YjQ3NzcgXS0tLQ0K
Pj4gDQo+PiBUaGlzIHdhcyBub3Qgc2VlbiB3aXRoIHRoZSA1LjExIGtlcm5lbC4NCj4+IA0KPj4g
VGhhbmtzLA0KPj4gU2FudG9zaA0KPj4gPiANCj4+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdC5oIGIv
dGVzdC5oDQo+PiA+ID4gaW5kZXggY2JhOGQ0MS4uN2RlMTNmZSAxMDA2NDQNCj4+ID4gPiAtLS0g
YS90ZXN0LmgNCj4+ID4gPiArKysgYi90ZXN0LmgNCj4+ID4gPiBAQCAtMjAsNyArMjAsNyBAQCB2
b2lkIGJ1aWx0aW5feGFjdGlvbl9uYW1lc3BhY2VfcmVzZXQodm9pZCk7DQo+PiA+ID4gwqANCj4+
ID4gPiANCj4+ID4gPiDCoHN0cnVjdCBrbW9kX2N0eDsNCj4+ID4gPiDCoHN0cnVjdCBrbW9kX21v
ZHVsZTsNCj4+ID4gPiAtaW50IG5maXRfdGVzdF9pbml0KHN0cnVjdCBrbW9kX2N0eCAqKmN0eCwg
c3RydWN0IGttb2RfbW9kdWxlICoqbW9kLA0KPj4gPiA+ICtpbnQgbmRjdGxfdGVzdF9pbml0KHN0
cnVjdCBrbW9kX2N0eCAqKmN0eCwgc3RydWN0IGttb2RfbW9kdWxlICoqbW9kLA0KPj4gPiA+IMKg
CQlzdHJ1Y3QgbmRjdGxfY3R4ICpuZF9jdHgsIGludCBsb2dfbGV2ZWwsDQo+PiA+ID4gwqAJCXN0
cnVjdCBuZGN0bF90ZXN0ICp0ZXN0KTsNCj4+ID4gPiDCoA0KPj4gPiA+IA0KPj4gPiA+IGRpZmYg
LS1naXQgYS90ZXN0L2Fjay1zaHV0ZG93bi1jb3VudC1zZXQuYyBiL3Rlc3QvYWNrLXNodXRkb3du
LWNvdW50LXNldC5jDQo+PiA+ID4gaW5kZXggZmIxZDgyYi4uYzU2MWZmMyAxMDA2NDQNCj4+ID4g
PiAtLS0gYS90ZXN0L2Fjay1zaHV0ZG93bi1jb3VudC1zZXQuYw0KPj4gPiA+ICsrKyBiL3Rlc3Qv
YWNrLXNodXRkb3duLWNvdW50LXNldC5jDQo+PiA+ID4gQEAgLTk5LDcgKzk5LDcgQEAgc3RhdGlj
IGludCB0ZXN0X2Fja19zaHV0ZG93bl9jb3VudF9zZXQoaW50IGxvZ2xldmVsLCBzdHJ1Y3QgbmRj
dGxfdGVzdCAqdGVzdCwNCj4+ID4gPiDCoAlpbnQgcmVzdWx0ID0gRVhJVF9GQUlMVVJFLCBlcnI7
DQo+PiA+ID4gwqANCj4+ID4gPiANCj4+ID4gPiDCoAluZGN0bF9zZXRfbG9nX3ByaW9yaXR5KGN0
eCwgbG9nbGV2ZWwpOw0KPj4gPiA+IC0JZXJyID0gbmZpdF90ZXN0X2luaXQoJmttb2RfY3R4LCAm
bW9kLCBOVUxMLCBsb2dsZXZlbCwgdGVzdCk7DQo+PiA+ID4gKwllcnIgPSBuZGN0bF90ZXN0X2lu
aXQoJmttb2RfY3R4LCAmbW9kLCBOVUxMLCBsb2dsZXZlbCwgdGVzdCk7DQo+PiA+ID4gwqAJaWYg
KGVyciA8IDApIHsNCj4+ID4gPiDCoAkJcmVzdWx0ID0gNzc7DQo+PiA+ID4gwqAJCW5kY3RsX3Rl
c3Rfc2tpcCh0ZXN0KTsNCj4+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdC9ibGtfbmFtZXNwYWNlcy5j
IGIvdGVzdC9ibGtfbmFtZXNwYWNlcy5jDQo+PiA+ID4gaW5kZXggZDdmMDBjYi4uZjA3NmU4NSAx
MDA2NDQNCj4+ID4gPiAtLS0gYS90ZXN0L2Jsa19uYW1lc3BhY2VzLmMNCj4+ID4gPiArKysgYi90
ZXN0L2Jsa19uYW1lc3BhY2VzLmMNCj4+ID4gPiBAQCAtMjI4LDcgKzIyOCw3IEBAIGludCB0ZXN0
X2Jsa19uYW1lc3BhY2VzKGludCBsb2dfbGV2ZWwsIHN0cnVjdCBuZGN0bF90ZXN0ICp0ZXN0LA0K
Pj4gPiA+IMKgDQo+PiA+ID4gDQo+PiA+ID4gwqAJaWYgKCFidXMpIHsNCj4+ID4gPiDCoAkJZnBy
aW50ZihzdGRlcnIsICJBQ1BJLk5GSVQgdW5hdmFpbGFibGUgZmFsbGluZyBiYWNrIHRvIG5maXRf
dGVzdFxuIik7DQo+PiA+ID4gLQkJcmMgPSBuZml0X3Rlc3RfaW5pdCgma21vZF9jdHgsICZtb2Qs
IE5VTEwsIGxvZ19sZXZlbCwgdGVzdCk7DQo+PiA+ID4gKwkJcmMgPSBuZGN0bF90ZXN0X2luaXQo
Jmttb2RfY3R4LCAmbW9kLCBOVUxMLCBsb2dfbGV2ZWwsIHRlc3QpOw0KPj4gPiA+IMKgCQluZGN0
bF9pbnZhbGlkYXRlKGN0eCk7DQo+PiA+ID4gwqAJCWJ1cyA9IG5kY3RsX2J1c19nZXRfYnlfcHJv
dmlkZXIoY3R4LCAibmZpdF90ZXN0LjAiKTsNCj4+ID4gPiDCoAkJaWYgKHJjIDwgMCB8fCAhYnVz
KSB7DQo+PiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3QvY29yZS5jIGIvdGVzdC9jb3JlLmMNCj4+ID4g
PiBpbmRleCBjYzdkOGQ5Li40NGNiMjc3IDEwMDY0NA0KPj4gPiA+IC0tLSBhL3Rlc3QvY29yZS5j
DQo+PiA+ID4gKysrIGIvdGVzdC9jb3JlLmMNCj4+ID4gPiBAQCAtMTEsNiArMTEsNyBAQA0KPj4g
PiA+IMKgI2luY2x1ZGUgPHV0aWwvbG9nLmg+DQo+PiA+ID4gwqAjaW5jbHVkZSA8dXRpbC9zeXNm
cy5oPg0KPj4gPiA+IMKgI2luY2x1ZGUgPG5kY3RsL2xpYm5kY3RsLmg+DQo+PiA+ID4gKyNpbmNs
dWRlIDxuZGN0bC9uZGN0bC5oPg0KPj4gPiA+IMKgI2luY2x1ZGUgPGNjYW4vYXJyYXlfc2l6ZS9h
cnJheV9zaXplLmg+DQo+PiA+ID4gwqANCj4+ID4gPiANCj4+ID4gPiDCoCNkZWZpbmUgS1ZFUl9T
VFJMRU4gMjANCj4+ID4gPiBAQCAtMTA2LDExICsxMDcsMTEgQEAgaW50IG5kY3RsX3Rlc3RfZ2V0
X3NraXBwZWQoc3RydWN0IG5kY3RsX3Rlc3QgKnRlc3QpDQo+PiA+ID4gwqAJcmV0dXJuIHRlc3Qt
PnNraXA7DQo+PiA+ID4gwqB9DQo+PiA+ID4gwqANCj4+ID4gPiANCj4+ID4gPiAtaW50IG5maXRf
dGVzdF9pbml0KHN0cnVjdCBrbW9kX2N0eCAqKmN0eCwgc3RydWN0IGttb2RfbW9kdWxlICoqbW9k
LA0KPj4gPiA+ICtpbnQgbmRjdGxfdGVzdF9pbml0KHN0cnVjdCBrbW9kX2N0eCAqKmN0eCwgc3Ry
dWN0IGttb2RfbW9kdWxlICoqbW9kLA0KPj4gPiA+IMKgCQlzdHJ1Y3QgbmRjdGxfY3R4ICpuZF9j
dHgsIGludCBsb2dfbGV2ZWwsDQo+PiA+ID4gwqAJCXN0cnVjdCBuZGN0bF90ZXN0ICp0ZXN0KQ0K
Pj4gPiA+IMKgew0KPj4gPiA+IC0JaW50IHJjOw0KPj4gPiA+ICsJaW50IHJjLCBmYW1pbHkgPSAt
MTsNCj4+ID4gPiDCoAl1bnNpZ25lZCBpbnQgaTsNCj4+ID4gPiDCoAljb25zdCBjaGFyICpuYW1l
Ow0KPj4gPiA+IMKgCXN0cnVjdCBuZGN0bF9idXMgKmJ1czsNCj4+ID4gPiBAQCAtMTI3LDEwICsx
MjgsMzAgQEAgaW50IG5maXRfdGVzdF9pbml0KHN0cnVjdCBrbW9kX2N0eCAqKmN0eCwgc3RydWN0
IGttb2RfbW9kdWxlICoqbW9kLA0KPj4gPiA+IMKgCQkibmRfZTgyMCIsDQo+PiA+ID4gwqAJCSJu
ZF9wbWVtIiwNCj4+ID4gPiDCoAl9Ow0KPj4gPiA+ICsJY2hhciAqdGVzdF9lbnY7DQo+PiA+ID4g
wqANCj4+ID4gPiANCj4+ID4gPiDCoAlsb2dfaW5pdCgmbG9nX2N0eCwgInRlc3QvaW5pdCIsICJO
RENUTF9URVNUIik7DQo+PiA+ID4gwqAJbG9nX2N0eC5sb2dfcHJpb3JpdHkgPSBsb2dfbGV2ZWw7
DQo+PiA+ID4gwqANCj4+ID4gPiANCj4+ID4gPiArCS8qDQo+PiA+ID4gKwkgKiBUaGUgZm9sbG93
aW5nIHR3byBjaGVja3MgZGV0ZXJtaW5lIHRoZSBwbGF0Zm9ybSBmYW1pbHkuIEZvcg0KPj4gPiA+
ICsJICogSW50ZWwvcGxhdGZvcm1zIHdoaWNoIHN1cHBvcnQgQUNQSSwgY2hlY2sgc3lzZnM7IGZv
ciBvdGhlciBwbGF0Zm9ybXMNCj4+ID4gPiArCSAqIGRldGVybWluZSBmcm9tIHRoZSBlbnZpcm9u
bWVudCB2YXJpYWJsZSBOVkRJTU1fVEVTVF9GQU1JTFkNCj4+ID4gPiArCSAqLw0KPj4gPiA+ICsJ
aWYgKGFjY2VzcygiL3N5cy9idXMvYWNwaSIsIEZfT0spID09IDApIHsNCj4+ID4gPiArCQlpZiAo
ZXJybm8gPT0gRU5PRU5UKQ0KPj4gPiA+ICsJCQlmYW1pbHkgPSBOVkRJTU1fRkFNSUxZX0lOVEVM
Ow0KPj4gPiA+ICsJfQ0KPg0KPiBEaWQgeW91IG1lYW4gZm9yIHRoZSBlcnJubyBjaGVjayB0byBi
ZSBpZiAoZXJybm8gIT0gRU5PRU5UKSA/DQo+IFRoaXMgaXMgd2hhdCB3YXMgY2F1c2luZyB0aGUg
dW5pdCB0ZXN0IGZhaWx1cmUgZm9yIG1lLiBUaGlzIHBhdGNoIG9uDQo+IHRvcCBmaXhlcyBpdCBm
b3IgbWU6DQo+DQo+IGRpZmYgLS1naXQgYS90ZXN0L2NvcmUuYyBiL3Rlc3QvY29yZS5jDQo+IGlu
ZGV4IDQ0Y2IyNzcuLjY5OGJiNjYgMTAwNjQ0DQo+IC0tLSBhL3Rlc3QvY29yZS5jDQo+ICsrKyBi
L3Rlc3QvY29yZS5jDQo+IEBAIC0xMzksNyArMTM5LDcgQEAgaW50IG5kY3RsX3Rlc3RfaW5pdChz
dHJ1Y3Qga21vZF9jdHggKipjdHgsIHN0cnVjdA0KPiBrbW9kX21vZHVsZSAqKm1vZCwNCj4gICAg
ICAgICAgKiBkZXRlcm1pbmUgZnJvbSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTlZESU1NX1RF
U1RfRkFNSUxZDQo+ICAgICAgICAgICovDQo+ICAgICAgICAgaWYgKGFjY2VzcygiL3N5cy9idXMv
YWNwaSIsIEZfT0spID09IDApIHsNCj4gLSAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9F
TlQpDQo+ICsgICAgICAgICAgICAgICBpZiAoZXJybm8gIT0gRU5PRU5UKQ0KPiAgICAgICAgICAg
ICAgICAgICAgICAgICBmYW1pbHkgPSBOVkRJTU1fRkFNSUxZX0lOVEVMOw0KPiAgICAgICAgIH0N
Cj4gIA0KPiBJZiB0aGlzIGxvb2tzIG9rYXkgZG8geW91IHdhbnQgdG8gc2VuZCBvdXQgYSByZXNw
aW4gd2l0aCB0aGlzIGFuZCBJJ2xsDQo+IHBpY2sgaXQgdXAuDQoNClRoYXQncyB0aGlzIGxvb2tz
IG9rYXkuIEkgd2lsbCBzZW5kIG91dCBhbiB1cGRhdGVkIHZlcnNpb24gdG9kYXkuDQoNClRoYW5r
cywNClNhbnRvc2gNCj4NCj4gVGhhbmtzLA0KPiAtVmlzaGFsDQo+PiA+IApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1udmRpbW0gbWFpbGluZyBs
aXN0IC0tIGxpbnV4LW52ZGltbUBsaXN0cy4wMS5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBl
bWFpbCB0byBsaW51eC1udmRpbW0tbGVhdmVAbGlzdHMuMDEub3JnCg==