VGhlIGluc3RhbGxlciBtYWRlIGJ5IEdvcmRvbiBNY01pbGxhbiwgSSd2ZSBub3QgdXNlZCBpdCwg c28gSSBtaWdodCBiZSBkb2luZyB0aGUgd3JvbmcgdGhpbmcgYnkgYWR2ZXJ0aXNpbmcgaXQuLi5i dXQgb2ggd2VsbCwgSXQncyB3b3J0aCBhIHRyeS4NCg0KV2l0aGluIHRoZSBwYWNrYWdlIGlzIGZy ZWV6ZSwgb3IgeW91IGNhbiB1c2UgdGhlIG90aGVyIHNjcmlwdHMgdG8gY3JlYXRlIGV4ZWN1dGFi bGVzLiBIb3BlIGl0IGhlbHBzDQoNCkFuZHJldyBXaWxraW5zDQp0b29kbGVzQGRhdGFibG9ja3Mu bmV0