LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCiAqICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogKgogKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDA5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogKgogKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCiAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCiAqCiAqIFlvdSBtYXkgb3B0IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSBhbmQvb3Igc2VsbAogKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKICogZnVybmlzaGVkIHRvIGRvIHNvLCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENPUFlJTkcgZmlsZS4KICoKICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQogKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwojaW5jbHVkZSA8d2ludmVyLmg+CiNpbmNsdWRlICIuLi9pbmNsdWRlL2N1cmwvY3VybHZlci5oIgoKTEFOR1VBR0UgIDB4MDksMHgwMQoKI2RlZmluZSBSQ19WRVJTSU9OICBMSUJDVVJMX1ZFUlNJT05fTUFKT1IsIExJQkNVUkxfVkVSU0lPTl9NSU5PUiwgTElCQ1VSTF9WRVJTSU9OX1BBVENILCAwCgpWU19WRVJTSU9OX0lORk8gVkVSU0lPTklORk8KICBGSUxFVkVSU0lPTiAgICAgUkNfVkVSU0lPTgogIFBST0RVQ1RWRVJTSU9OICBSQ19WRVJTSU9OCiAgRklMRUZMQUdTTUFTSyAgIDB4M2ZMCiNpZiBkZWZpbmVkKERFQlVHQlVJTEQpIHx8IGRlZmluZWQoX0RFQlVHKQogIEZJTEVGTEFHUyAxCiNlbHNlCiAgRklMRUZMQUdTIDAKI2VuZGlmCiAgRklMRU9TICAgICAgVk9TX19XSU5ET1dTMzIKICBGSUxFVFlQRSAgICBWRlRfRExMCiAgRklMRVNVQlRZUEUgMHgwTAoKQkVHSU4KICBCTE9DSyAiU3RyaW5nRmlsZUluZm8iCiAgQkVHSU4KICAgIEJMT0NLICIwNDA5MDRiMCIKICAgIEJFR0lOCiAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsICAgICAgIlRoZSBjVVJMIGxpYnJhcnksIGh0dHA6Ly9jdXJsLmhheHguc2UvXDAiCiAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAgImxpYmN1cmwgU2hhcmVkIExpYnJhcnlcMCIKICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgICAgICBMSUJDVVJMX1ZFUlNJT04gIlwwIgogICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgICAgICJsaWJjdXJsXDAiCiAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgImxpYmN1cmwuZGxsXDAiCiAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICAgICAgIlRoZSBjVVJMIGxpYnJhcnlcMCIKICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgICBMSUJDVVJMX1ZFUlNJT04gIlwwIgogICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAgICKpICIgTElCQ1VSTF9DT1BZUklHSFQgIlwwIgogICAgICBWQUxVRSAiTGljZW5zZSIsICAgICAgICAgICJodHRwOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWxcMCIKICAgIEVORAogIEVORAoKICBCTE9DSyAiVmFyRmlsZUluZm8iCiAgQkVHSU4KICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCiAgRU5ECkVORAo=