LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDA0IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCqAqCiAqIENvbnRyaWJ1dG9yczoKICogICAgIElCTSBDb3Jwb3JhdGlvbiAtIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KcGFja2FnZSBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmU7Ci8qKgogKiBBbiBvcHRpb25hbCB0YXNrLgogKi8KcHVibGljIGludGVyZmFjZSBJT3B0aW9uYWxUYXNrIGV4dGVuZHMgSVRhc2sgewoJcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVEFTS19VTk5FQ0VTU0FSWSA9IDA7CglwdWJsaWMgc3RhdGljIGZpbmFsIGludCBUQVNLX0NPTVBMRVRFRCA9IDE7CglwdWJsaWMgc3RhdGljIGZpbmFsIGludCBUQVNLX1JFQURZID0gMjsKCXB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFRBU0tfUFJFRkVSUkVEID0gMzsKCXB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFRBU0tfTUFOREFUT1JZID0gNDsKCgkvKioKCSAqIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGlzIHRhc2suCgkgKiAKCSAqIEByZXR1cm4gYnl0ZQoJICovCglwdWJsaWMgaW50IGdldFN0YXR1cygpOwoJCgkvKioKCSAqIFJldHVybnMgdGhlIG9yZGVyIChpbmRleC9wcmlvcml0eSkuCgkgKiAKCSAqIEByZXR1cm4gaW50CgkgKi8KCXB1YmxpYyBpbnQgZ2V0T3JkZXIoKTsKfQ==