PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KPGh0bWw+Cgk8aGVhZD4KCQk8dGl0bGU+Qm9vc3Q6IGN1cnJlbnRfZnVuY3Rpb24uaHBwIGRvY3VtZW50YXRpb248L3RpdGxlPgoJCTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgoJPC9oZWFkPgoJPGJvZHkgYmdjb2xvcj0id2hpdGUiIHN0eWxlPSJNQVJHSU4tTEVGVDogNSU7IE1BUkdJTi1SSUdIVDogNSUiPgoJCTx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIj4KCQkJPHRyPgoJCQkJPHRkIHdpZHRoPSIyNzciPjxBIGhyZWY9Ii4uLy4uL2luZGV4Lmh0bSI+IDxpbWcgc3JjPSIuLi8uLi9ib29zdC5wbmciIGFsdD0iYm9vc3QucG5nICg2ODk3IGJ5dGVzKSIgd2lkdGg9IjI3NyIgaGVpZ2h0PSI4NiIgYm9yZGVyPSIwIj48L0E+CgkJCQk8L3RkPgoJCQkJPHRkIGFsaWduPSJjZW50ZXIiPgoJCQkJCTxoMT5jdXJyZW50X2Z1bmN0aW9uLmhwcDwvaDE+CgkJCQk8L3RkPgoJCQk8L3RyPgoJCQk8dHI+CgkJCQk8dGQgY29sc3Bhbj0iMiIgaGVpZ2h0PSI2NCI+Jm5ic3A7PC90ZD4KCQkJPC90cj4KCQk8L3RhYmxlPgoJCTxwPgoJCQlUaGUgaGVhZGVyIDxTVFJPTkc+Jmx0O2Jvb3N0L2N1cnJlbnRfZnVuY3Rpb24uaHBwJmd0OzwvU1RST05HPiBkZWZpbmVzIGEgc2luZ2xlIAoJCQltYWNybywgPFNUUk9ORz5CT09TVF9DVVJSRU5UX0ZVTkNUSU9OPC9TVFJPTkc+LDxTVFJPTkc+IDwvU1RST05HPnNpbWlsYXIgdG8gdGhlIAoJCQlDOTkgcHJlZGVmaW5lZCBpZGVudGlmaWVyIDxTVFJPTkc+X19mdW5jX188L1NUUk9ORz4uCgkJPC9wPgoJCTxQPjxTVFJPTkc+Qk9PU1RfQ1VSUkVOVF9GVU5DVElPTjwvU1RST05HPiBleHBhbmRzIHRvIGEgc3RyaW5nIGxpdGVyYWwgY29udGFpbmluZyAKCQkJdGhlIChmdWxseSBxdWFsaWZpZWQsIGlmIHBvc3NpYmxlKSBuYW1lIG9mIHRoZSBlbmNsb3NpbmcgZnVuY3Rpb24uIElmIHRoZXJlIGlzIAoJCQlubyBlbmNsb3NpbmcgZnVuY3Rpb24sIHRoZSBiZWhhdmlvciBpcyB1bmRlZmluZWQuPC9QPgoJCTxwPlNvbWUgY29tcGlsZXJzIGRvIG5vdCBwcm92aWRlIGEgd2F5IHRvIG9idGFpbiB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBlbmNsb3NpbmcgCgkJCWZ1bmN0aW9uLiBPbiBzdWNoIGNvbXBpbGVycywgdGhlIHN0cmluZyBsaXRlcmFsIGhhcyBhbiB1bnNwZWNpZmllZCB2YWx1ZS48L3A+CgkJPHA+CgkJCTxicj4KCQkJPHNtYWxsPkNvcHlyaWdodCCpIDIwMDIgYnkgUGV0ZXIgRGltb3YuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIAoJCQkJMS4wLiBTZWUgYWNjb21wYW55aW5nIGZpbGUgPEEgaHJlZj0iLi4vLi4vTElDRU5TRV8xXzAudHh0Ij5MSUNFTlNFXzFfMC50eHQ8L0E+IG9yIAoJCQkJY29weSBhdCA8QSBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiPmh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvQT4uPC9zbWFsbD48L3A+Cgk8L2JvZHk+CjwvaHRtbD4K