LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAqICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAxOTkxIGJ5IFRSRyBFTEVDVFJPTklLICAgICAgICAgICAgICAgICAqDQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkZ2V0LlJDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCiAqIAkJICAgICAgICAgIHdpZGdldCBSRVNTT1VSQ0VTICAgICAgICAgICAgICAgCSAgICAgICoNCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KI2luY2x1ZGUgPFxCQ1xJTkNMVURFXFdJTkRPV1MuSD4NCiNpbmNsdWRlICJ3aWRnZXQuSCINCg0KI2RlZmluZSBUQUJHUlAgICAgICBXU19UQUJTVE9QIHwgV1NfR1JPVVANCiNkZWZpbmUgTEJTVFlMRVMgICAgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZJU0lCTEUgfCBMQlNfU09SVCB8IFRBQkdSUA0KI2RlZmluZSBIU0NST0xMICAgICBXU19WSVNJQkxFIHwgU0JTX0hPUlogfCBTQlNfVE9QQUxJR04gICAgfCBUQUJHUlANCiNkZWZpbmUgVlNDUk9MTCAgICAgV1NfVklTSUJMRSB8IFNCU19WRVJUIHwgU0JTX0xFRlRBTElHTiAgIHwgVEFCR1JQDQojZGVmaW5lIEJMQUNLUkVDVCAgIFNTX0JMQUNLUkVDVCAgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVANCiNkZWZpbmUgV0hJVEVGUkFNRSAgU1NfV0hJVEVGUkFNRSB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUA0KDQoNCklDT05fMSAgSUNPTiB3aWRnZXQuSUNPDQpJQ09OXzIgIElDT04gd2lkZ2V0LklDMg0KSUNPTl8zICBJQ09OIHdpZGdldC5JQzMNCg0KTUVOVV8xIE1FTlUNCkJFR0lODQogIFBPUFVQICImRmlsZSINCiAgQkVHSU4NCiAgICBNRU5VSVRFTSAiJk5ldyIsICAgICAgICAgICBNSURfTkVXDQogICAgTUVOVUlURU0gIiZPcGVuIiwgICAgICAgICAgTUlEX09QRU4NCiAgICBNRU5VSVRFTSAiJlNhdmUiLCAgICAgICAgICBNSURfU0FWRQ0KICAgIE1FTlVJVEVNICJTYXZlICZBcyIsICAgICAgIE1JRF9TQVZFQVMNCiAgICBNRU5VSVRFTSBTRVBBUkFUT1INCiAgICBNRU5VSVRFTSAiJlF1aXQhIiwgICAgICAgICBNSURfUVVJVA0KICBFTkQNCkVORA0KDQoNCg0KDQpBQk9VVF9EbGcgRElBTE9HIDEwMCwgMTAwLCAxNTQsICA3NQ0KU1RZTEUgV1NfUE9QVVAgfCBXU19ETEdGUkFNRQ0KQkVHSU4NCiAgSUNPTiAgIndpZGdldCIgICAgICAgICAgICAgICAgICAgIC0xLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5LCAgMjMsICAgMCwgICAwDQogIElDT04gICJES0lDT04yIiAgICAgICAgICAgICAgICAgICAgLTEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAsICAyMywgICAwLCAgIDANCiAgSUNPTiAgIkRLSUNPTjMiICAgICAgICAgICAgICAgICAgICAtMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCwgIDIzLCAgIDAsICAgMA0KICBDVEVYVCAiQWJvdXQgd2lkZ2V0IEludmVudG9yeSBDb250cm9sZXIiICAgICAtMSwgIDAsIDE0LDE1NCwgOA0KICBDVEVYVCAiVmVyc2lvbiAwLjUwIiAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAzMCwgMzQsIDk0LCA4DQogIENURVhUICJDb3B5cmlnaHQgqSAxOTkxLCBUUkcgRWxlY3Ryb25payIgIC0xLCAgMCwgNDcsMTU0LCA5DQogIERFRlBVU0hCVVRUT04gIk9rIiAgICAgICAgICAgICAgICAgICAgICAgIElET0ssIDYxLCA1OSwgMzIsIDE0LCBXU19HUk9VUA0KRU5EDQoNCg0KTFRFWFRPS19EbGcgRElBTE9HIDEwMCwgMTAwLCAzMDAsIDEyMA0KU1RZTEUgIFdTX1BPUFVQIHwgV1NfRExHRlJBTUUNCkJFR0lODQogIExURVhUICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRERUWFQxLCAgIDIwLCAxNSwxMTgsIDEyDQogIExURVhUICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRERUWFQyLCAgIDIwLCAzMCwxMTgsIDI1DQogIExURVhUICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRERUWFQzLCAgIDIwLCA0NSwxMTgsIDM1DQogIExURVhUICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRERUWFQzLCAgIDIwLCA2MCwxMTgsIDM1DQogIERFRlBVU0hCVVRUT04gIk9LIiwgICAgICAgICAgICAgICAgICBJRE9LLCAgICAgMTUwLCA4NSwgNDAsIDE0LCBUQUJHUlANCkVORA0KDQoNClNUUklOR1RBQkxFDQpCRUdJTg0KSUREU1RSMSwgICAgIldpbmUgVGVzdCBQcm9ncmFtIg0KSUREU1RSMiwgICAgIiINCklERFNUUjMsICAgICIiDQpJRERTVFI0LCAgICAiIg0KSUREU1RSNSwgICAgIiINCklERFNUUjYsICAgICIiDQpJRERTVFI3LCAgICAiIg0KSUREU1RSOCwgICAgIiINCklERFNUUjksICAgICIiDQpJRERTVFIxMCwgICAiIg0KRU5EDQoNCho=