cGFja2FnZSBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC5jb3JlLmludGVybmFsOwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDMgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIKAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwogKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDb21tb24gUHVibGljIExpY2Vuc2UgdjEuMAogKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAogKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2NwbC12MTAuaHRtbAqgKgogKiBDb250cmlidXRvcnM6CiAqICAgIElCTSAtIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KaW1wb3J0IG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUuSU1pbWVNYXBwaW5nOwovKioKICogQSBtaW1lIG1hcHBpbmcuCiAqLwpwdWJsaWMgY2xhc3MgTWltZU1hcHBpbmcgaW1wbGVtZW50cyBJTWltZU1hcHBpbmcgewoJcHJpdmF0ZSBTdHJpbmcgZXh0ZW5zaW9uOwoJcHJpdmF0ZSBTdHJpbmcgbWltZVR5cGU7CgoJLyoqCgkgKiBNaW1lTWFwcGluZyBjb25zdHJ1Y3RvciBjb21tZW50LgoJICovCglwdWJsaWMgTWltZU1hcHBpbmcoU3RyaW5nIGV4dGVuc2lvbiwgU3RyaW5nIG1pbWVUeXBlKSB7CgkJc3VwZXIoKTsKCQl0aGlzLmV4dGVuc2lvbiA9IGV4dGVuc2lvbjsKCQl0aGlzLm1pbWVUeXBlID0gbWltZVR5cGU7Cgl9CgoJLyoqCgkgKiBSZXR1cm5zIHRoZSBleHRlbnNpb24uCgkgKiBAcmV0dXJuIGphdmEubGFuZy5TdHJpbmcKCSAqLwoJcHVibGljIFN0cmluZyBnZXRFeHRlbnNpb24oKSB7CgkJcmV0dXJuIGV4dGVuc2lvbjsKCX0KCgkvKioKCSAqIFJldHVybnMgdGhlIG1pbWUgdHlwZS4KCSAqIEByZXR1cm4gamF2YS5sYW5nLlN0cmluZwoJICovCglwdWJsaWMgU3RyaW5nIGdldE1pbWVUeXBlKCkgewoJCXJldHVybiBtaW1lVHlwZTsKCX0KfQ==