DQpUcmFjZWFseXplciBUcmFjZSBSZWNvcmRlciBMaWJyYXJ5DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQZXJjZXBpbyBBQg0Kd3d3LnBlcmNlcGlvLmNvbQ0KDQpUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgYSBnZW5lcmljIHRyYWNlIHJlY29yZGVyIGxpYnJhcnkgZm9yIFRyYWNlYWx5emVyIHYyLjUuIA0KDQpGb3IgaW5mb3JtYXRpb24gb24gaG93IHRvIHVwbG9hZCB0aGUgdHJhY2UgZGF0YSBmcm9tIHlvdXIgdGFyZ2V0IHN5c3RlbSBSQU0gdG8gDQpUcmFjZWFseXplciwgc2VlICJkZWJ1Z2dlciB0cmFjZSB1cGxvYWQudHh0Ig0KDQpGaWxlcyBpbmNsdWRlZA0KLS0tLS0tLS0tLS0tLS0NCi0gdHJjQ29uZmlnLmggICAgICAgICAgICAgICAtIFRoZSByZWNvcmRlcidzIGNvbmZpZ3VyYXRpb24gZmlsZSwgY2hlY2sgdGhpcyENCi0gdHJjVXNlci5jIC8gdHJjVXNlci5oICAgICAtIFRoZSBtYWluIEFQSSB0b3dhcmRzIHRoZSBhcHBsaWNhdGlvbiAodHJjVXNlci5oIGluIHRoZSBvbmx5IGluY2x1ZGUgbmVjZXNzYXJ5KS4NCi0gdHJjS2VybmVsLmMgLyB0cmNLZXJuZWwuaCAtIEludGVybmFsIHJvdXRpbmVzIGZvciBzdG9yaW5nIGtlcm5lbCBldmVudHMuDQotIHRyY0Jhc2UuYyAvIHRyY0Jhc2UuaCAgICAgLSBJbnRlcm5hbCByb3V0aW5lcyBmb3IgbWFuaXB1bGF0aW5nIHRoZSBkYXRhIHN0cnVjdHVyZXMgYW5kIGNhbGN1bGF0aW5nIHRpbWVzdGFtcHMuDQotIHRyY0hhcmR3YXJlUG9ydC5jIC8gdHJjSGFyZHdhcmVQb3J0LmggICAgIC0gVGhlIHBvcnQgbGF5ZXIsIGFic3RyYWN0aW5nIHRoZSBoYXJkd2FyZSAobWFpbmx5IHRoZSB0aW1lciB1c2VkIGZvciB0aW1lc3RhbXBpbmcpLg0KLSB0cmNLZXJuZWxIb29rcy5oCQkJCS0gVGhlIGludGVyZmFjZSBiZXR3ZWVuIHRoZSBLZXJuZWwgYW5kIHRoZSByZWNvcmRlciwgY29udGFpbmluZyB0cmFjZSBtYWNybyBkZWZpbnRpb25zLg0KLSB0cmNLZXJuZWxQb3J0LmgJCQkJLSBLZXJuZWwgc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zIG9mIG1hY3JvcyBhbmQgZGF0YS4NCi0gdHJjVHlwZXMuaAkJCQktIFR5cGUgZGVmaW5pdGlvbnMgdXNlZC4NCg0KSGFyZHdhcmUgVGltZXIgUG9ydHMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUaGlzIHJlbGVhc2UgY29udGFpbnMgaGFyZHdhcmUgdGltZXIgcG9ydHMgZm9yIHRoZSBmb2xsb3dpbmcgaGFyZHdhcmUgYXJjaGl0ZWN0dXJlczoNCg0KLSBBUk0gQ29ydGV4IE0zL000IChhbGwgYnJhbmRzLCBzdWNoIGFzIEF0bWVsIFNBTTMvU0FNNCwgTlhQIDE3eHgsIDE4eHgsIDQzeHgsIFNUTTMyLCBGcmVlc2NhbGUgS2luZXRpcywgLi4uKQ0KLSBBdG1lbCBBVDkxU0FNN3gNCi0gQXRtZWwgQVQzMlVDMyAoQVZSMzIpDQotIFJlbmVzYXMgUlg2MDAgKGUuZy4sIFJYNjJOKQ0KLSBNaWNyb2NoaXAgZHNQSUMvUElDMjQNCg0KVGhlc2UgYXJlIGRlZmluZWQgaW4gdHJjUG9ydC5oLiBUaGlzIGFsc28gY29udGFpbnMgc2V2ZXJhbCAidW5vZmZpY2lhbCIgcG9ydHMsIHByb3ZpZGVkIGJ5IGV4dGVybmFsIGNvbnRyaWJ1dG9ycy4NCkJ5IHVub2ZmaWNpYWwsIGl0IG1lYW5zIHRoYXQgdGhleSBhcmUgbm90IHlldCB2ZXJpZmllZCBieSBQZXJjZXBpbyBBQi4gUGxlYXNlIHJlZmVyIHRvIHRyY1BvcnQuaCBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uIA0KSWYgeW91IHVzZSBhbiB1bm9mZmljaWFsIHBvcnQgYW5kIGJlbGVpdmUgaXQgaXMgaW5jb3JyZWN0LCBwbGVhc2UgbGV0IHVzIGtub3chDQoNCkluIGNhc2UgeW91ciBNQ1UgaXMgbm90IHlldCBzdXBwb3J0ZWQgZGlyZWN0bHksIGRldmVsb3BpbmcgYSBuZXcgcG9ydCBpcyBxdWl0ZSBlYXN5LCBqdXN0IGEgbWF0dGVyIG9mIGRlZmluaW5nIGEgZmV3IG1hY3Jvcw0KYWNjb3JkaW5nIHRvIHlvdXIgc3BlY2lmaWMgTUNVLiBTZWUgdHJjUG9ydC5oIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLg0KDQpJbiBjYXNlIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMsIGRvIG5vdCBoZXNpdGF0ZSB0byBjb250YWN0IHN1cHBvcnRAcGVyY2VwaW8uY29tDQoNClBlcmNlcGlvIEFCDQpL9nBtYW5nYXRhbiAxQQ0KNzIyMTUgVuRzdGVy5XMNClN3ZWRlbg0KDQp3d3cucGVyY2VwaW8uY29t