LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDE2IEZ1bmRhY2nzbiBUZWNuYWxpYSBSZXNlYXJjaCAmIElubm92YXRpb24uCiAqCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqCiAqIENvbnRyaWJ1dG9yczoKICogICBIdWFzY2FyIEVzcGlub3phIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqICAgQWxlamFuZHJhIFJ17XogLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICogICBJZG95YSBEZWwgUu1vIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqICAgTWFyaSBDYXJtZW4gUGFsYWNpb3MgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICogICBBbmdlbCBM83BleiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyoKICogCiAqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLm9wZW5jZXJ0LmFwbS5iYXNlbGluZS5iYXNlbGluZS5kaWFncmFtLnByb3ZpZGVyczsKCmltcG9ydCBvcmcuZWNsaXBzZS5nbWYudG9vbGluZy5ydW50aW1lLnByb3ZpZGVycy5EZWZhdWx0RWRpdFBhcnRQcm92aWRlcjsKaW1wb3J0IG9yZy5lY2xpcHNlLm9wZW5jZXJ0LmFwbS5iYXNlbGluZS5iYXNlbGluZS5kaWFncmFtLmVkaXQucGFydHMuQmFzZUZyYW1ld29ya0VkaXRQYXJ0OwppbXBvcnQgb3JnLmVjbGlwc2Uub3BlbmNlcnQuYXBtLmJhc2VsaW5lLmJhc2VsaW5lLmRpYWdyYW0uZWRpdC5wYXJ0cy5CYXNlbGluZUVkaXRQYXJ0RmFjdG9yeTsKaW1wb3J0IG9yZy5lY2xpcHNlLm9wZW5jZXJ0LmFwbS5iYXNlbGluZS5iYXNlbGluZS5kaWFncmFtLnBhcnQuQmFzZWxpbmVWaXN1YWxJRFJlZ2lzdHJ5OwoKLyoqCiAqIEBnZW5lcmF0ZWQKICovCnB1YmxpYyBjbGFzcyBCYXNlbGluZUVkaXRQYXJ0UHJvdmlkZXIgZXh0ZW5kcyBEZWZhdWx0RWRpdFBhcnRQcm92aWRlciB7CgoJLyoqCgkgKiBAZ2VuZXJhdGVkCgkgKi8KCXB1YmxpYyBCYXNlbGluZUVkaXRQYXJ0UHJvdmlkZXIoKSB7CgkJc3VwZXIobmV3IEJhc2VsaW5lRWRpdFBhcnRGYWN0b3J5KCksCgkJCQlCYXNlbGluZVZpc3VhbElEUmVnaXN0cnkuVFlQRURfSU5TVEFOQ0UsCgkJCQlCYXNlRnJhbWV3b3JrRWRpdFBhcnQuTU9ERUxfSUQpOwoJfQoKfQo=