PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiINCiAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4NCjx0aXRsZT5BYm91dCBFY2xpcHNlTGluayAxLjE8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiPg0KPGgxPkVjbGlwc2VMaW5rIDEuMTwvaDE+DQo8cD4NCjwhLS0gI0JlZ2luRGF0ZSBmb3JtYXQ6QW0xIC0tPkphbiAzMHRoLCAyMDA5PCEtLSAjRW5kRGF0ZSAtLT4NCjwvcD4NCjxoMj5BYm91dDwvaDI+DQo8cD5UaGUgRWNsaXBzZSBQZXJzaXN0ZW5jZSBTZXJ2aWNlcyBQcm9qZWN0ICggRWNsaXBzZUxpbmspIHByb2plY3QncyBnb2FsIGlzIHRvIHByb3ZpZGUgYSBjb21wbGV0ZSBwZXJzaXN0ZW5jZSBmcmFtZXdvcmsgdGhhdCBpcyBib3RoIGNvbXByZWhlbnNpdmUgYW5kIHVuaXZlcnNhbC4gSXQgd2lsbCBydW4gaW4gYW55IEphdmEgZW52aXJvbm1lbnQgYW5kIHJlYWQgYW5kIHdyaXRlIG9iamVjdHMgdG8gdmlydHVhbGx5IGFueSB0eXBlIG9mIGRhdGEgc291cmNlLCBpbmNsdWRpbmcgcmVsYXRpb25hbCBkYXRhYmFzZXMsIGFuZCBYTUwuIEVjbGlwc2VMaW5rIHdpbGwgZm9jdXMgb24gcHJvdmlkaW5nIGxlYWRpbmcgZWRnZSBzdXBwb3J0LCBpbmNsdWRpbmcgYWR2YW5jZWQgZmVhdHVyZSBleHRlbnNpb25zLCBmb3IgdGhlIGRvbWluYW50IHBlcnNpc3RlbmNlIHN0YW5kYXJkcyBmb3IgZWFjaCB0YXJnZXQgZGF0YSBzb3VyY2U7IEphdmEgUGVyc2lzdGVuY2UgQVBJIChKUEEpIGZvciByZWxhdGlvbmFsIGRhdGFiYXNlcywgSmF2YSBBUEkgZm9yIFhNTCBCaW5kaW5nIChKQVhCKSBmb3IgWE1MLCBKYXZhIENvbm5lY3RvciBBcmNoaXRlY3R1cmUgKEpDQSkgZm9yIEVJUyBhbmQgb3RoZXIgdHlwZXMgb2YgbGVnYWN5IHN5c3RlbXMsIGFuZCBTZXJ2aWNlIERhdGEgT2JqZWN0cyAoU0RPKS4gPC9wPg0KDQo8cD5Gb3IgdGlwcyBvbiBnZXR0aW5nIHN0YXJ0ZWQgd2l0aCBFY2xpcHNlTGluaywgcGxlYXNlIHNlZSB0aGUgZm9sbG93aW5nIHJlc291cmNlczogPC9wPg0KPHA+PHVsPg0KPGxpPiA8YSBocmVmPSJodHRwOi8vd2lraS5lY2xpcHNlLm9yZy9FY2xpcHNlTGluay9Vc2VyTWFudWFsIj5Eb2N1bWVudGF0aW9uPC9hPjwvbGk+DQo8bGk+IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmVjbGlwc2Uub3JnL0VjbGlwc2VMaW5rL0V4YW1wbGVzIj5FeGFtcGxlcyBhbmQgSG93IFRvPC9hPjwvbGk+DQo8L3VsPg0KPC9wPg0KPGgyPkxpY2Vuc2UgPC9oMj4NCjxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIGFsbCBjb250ZW50IGluIHRoaXMgcGx1Zy1pbiAoJnF1b3Q7Q29udGVudCZxdW90OykuIA0KICAgIFVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkIGJlbG93LCB0aGUgQ29udGVudCBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIA0KCWFuZCBjb25kaXRpb25zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgmcXVvdDtFUEwmcXVvdDspIGFuZCANCglFY2xpcHNlIERpc3RyaWJ1dGlvbiBMaWNlbnNlIFZlcnNpb24gMS4wICiTRURMlCkuIEEgY29weSBvZiB0aGUgRVBMIGlzIGF2YWlsYWJsZSBhdCANCgk8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+IGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPiANCglhbmQgYSBjb3B5IG9mIHRoZSBFREwgaXMgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL2RvY3VtZW50cy9lZGwtdjEwLnBocCI+IA0KCWh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL2RvY3VtZW50cy9lZGwtdjEwLnBocDwvYT4uICBGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgIlByb2dyYW0iIA0KCXdpbGwgbWVhbiB0aGUgQ29udGVudC48L3A+DQo8cD5JZiB5b3UgZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSANCiAgQ29udGVudCBpcyBiZWluZyByZWRpc3RyaWJ1dGVkIGJ5IGFub3RoZXIgcGFydHkgKCZxdW90O1JlZGlzdHJpYnV0b3ImcXVvdDspIA0KICBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heSBhcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUgDQogIGluIHRoZSBDb250ZW50LiBDaGVjayB0aGUgUmVkaXN0cmlidXRvciYjODIxNztzIGxpY2Vuc2UgdGhhdCB3YXMgcHJvdmlkZWQgd2l0aCANCiAgdGhlIENvbnRlbnQuIElmIG5vIHN1Y2ggbGljZW5zZSBleGlzdHMsIGNvbnRhY3QgdGhlIFJlZGlzdHJpYnV0b3IuIFVubGVzcyBvdGhlcndpc2UgDQogIGluZGljYXRlZCBiZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgYW5kIEVETCBzdGlsbCBhcHBseSB0byBhbnkgc291cmNlIA0KICBjb2RlIGluIHRoZSBDb250ZW50IGFuZCBzdWNoIHNvdXJjZSBjb2RlIG1heSBiZSBvYnRhaW5lZCBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnPC9hPi48L3A+DQo8aDI+VGhpcmQgUGFydHkgQ29udGVudDwvaDI+DQo8cD5UaGUgQ29udGVudCBpbmNsdWRlcyBpdGVtcyB0aGF0IGhhdmUgYmVlbiBzb3VyY2VkIGZyb20gdGhpcmQgcGFydGllcyBhcyBzZXQgDQogIG91dCBiZWxvdy4gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCANCiAgdGhlIGZvbGxvd2luZyBpcyBwcm92aWRlZCBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5LCBhbmQgeW91IHNob3VsZCBsb29rIA0KICB0byB0aGUgUmVkaXN0cmlidXRvciYjODIxNztzIGxpY2Vuc2UgZm9yIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZS48L3A+DQo8dWw+DQogIDxsaT48YSBocmVmPSIjQVNNIj5BU008L2E+PC9saT4NCiAgPGxpPjxhIGhyZWY9IiNBTlRMUiI+QU5UTFI8L2E+PC9saT4NCiAgPGxpPjxhIGhyZWY9IiNKQVhCIj5KYXZhIEFyY2hpdGVjdHVyZSBmb3IgWE1MIEJpbmRpbmcgKEpBWEIpPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjTUFJTCI+SmF2YSBNYWlsPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjQUNUSVZBVElPTiI+SmF2YSBBY3RpdmF0aW9uIEZyYW1ld29yazwvYT48L2xpPg0KICA8bGk+PGEgaHJlZj0iI1N0QVgiPlN0cmVhbWluZyBBUEkgZm9yIFhNTCAoU3RBWCk8L2E+PC9saT4NCiAgPGxpPjxhIGhyZWY9IiNTRE8iPlNlcnZpY2UgRGF0YSBPYmplY3RzIChTRE8pPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjSlBBMSI+SmF2YSBQZXJzaXN0ZW5jZSBBUEkgKEpQQSkgMS4wIC0gRUpCIDMuMDwvYT48L2xpPg0KICA8bGk+PGEgaHJlZj0iI0pUQSI+SmF2YXggVHJhbnNhY3Rpb25zPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjSk1TIj5KTVM8L2E+PC9saT4NCiAgPGxpPjxhIGhyZWY9IiNKQ0EiPkphdmEgQ29ubmVjdG9yPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjQU5UMTciPkFOVDwvYT48L2xpPg0KICA8bGk+PGEgaHJlZj0iI1hFUkNFUyI+WGVyY2VzPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjSkFYIj5KYXggUlBDPC9hPjwvbGk+DQogIDxsaT48YSBocmVmPSIjV1NETDRKIj5XU0RMNEogMS42LjIgPC9hPjwvbGk+DQoNCjwvdWw+DQo8aDM+PGEgbmFtZT0iQVNNIiBpZD0iQVNNIj48L2E+QVNNIHYxLjUuMyA8L2gzPg0KPGJsb2NrcXVvdGU+IA0KICA8cD5UaGUgRWNsaXBzZSBQZXJzaXN0ZW5jZSBTZXJ2aWNlcyBQcm9qZWN0IGluY2x1ZGVzIEFTTSBmb3IgdGhlIHB1cnBvc2Ugb2YgDQogICAgYnl0ZSBjb2RlIHdlYXZpbmcuIFRoZSBBTVMgbGlicmFyeSBpcyByZS1wYWNrYWdlZCB3aXRoaW4gdGhlIHNvdXJjZSBvZiB0aGUgDQogICAgcHJvamVjdCAob3JnLnBlcnNpc3RlbmNlLmVjbGlwc2UuaW50ZXJuYWwubGlicmFyaWVzLmFzbS4qKSB0byBhdm9pZCB2ZXJzaW9uIA0KICAgIGNvbGxpc2lvbnMgd2l0aCBvdGhlciB1c2FnZSBvZiBBU00uIEEgY3VzdG9tIHBhdGNoIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBBU00gDQogICAgMS41LjMgc291cmNlIHRvIGhhbmRsZSBhbiBpc3N1ZSB3aXRoIHRoZSBPcmFjbGUgSmF2YSBDb21waWxlci4gVGhpcyBmaXggaGFzIA0KICAgIGFsc28gYmVlbiBjb250cmlidXRlZCBiYWNrIHRvIHRoZSBBU00gcHJvamVjdCBmb3IgaW5jbHVzaW9uIGluIGxhdGVyIHByb2plY3RzLiANCiAgPC9wPg0KICA8cD5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIHdpdGhpbiB0aGUgcHJvamVjdCdzIHN1YnZlcnNpb24gcmVwb3NpdG9yeS48L3A+DQogIDxwPiA8YSBocmVmPSJodHRwOi8vYXNtLm9iamVjdHdlYi5vcmcvbGljZW5zZS5odG1sIj5odHRwOi8vYXNtLm9iamVjdHdlYi5vcmcvbGljZW5zZS5odG1sPC9hPjwvcD4NCiAgPHA+Q29weXJpZ2h0IChjKSAyMDAwLTIwMDUgSU5SSUEsIEZyYW5jZSBUZWxlY29tLCBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4NCiAgPHA+UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgDQogICAgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OjwvcD4NCiAgPG9sPg0KICAgIDxsaT4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCANCiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuPC9saT4NCiAgICA8bGk+IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgDQogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIA0KICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uPC9saT4NCiAgICA8bGk+IE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXJzIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyANCiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IA0KICAgICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLjwvbGk+DQogIDwvb2w+DQogIDxwPlRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgJnF1b3Q7QVMgDQogICAgSVMmcXVvdDtBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCANCiAgICBUTywgVEhFSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIA0KICAgIFBVUlBPU0VBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgDQogICAgQkVMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SQ09OU0VRVUVOVElBTCANCiAgICBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0ZTVUJTVElUVVRFIEdPT0RTIE9SIA0KICAgIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIA0KICAgIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU5DT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgDQogICAgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSANCiAgICBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0ZUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9IkFOVExSIiBpZD0iQU5UTFIiPjwvYT5BTlRMUiB2My4wPC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5UaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hbnRsci5vcmcvIj5BTlRMUiBsaWJyYXJ5PC9hPiAoPGEgaHJlZj0iaHR0cDovL3d3dy5hbnRsci5vcmcvbGljZW5zZS5odG1sIj5saWNlbnNlPC9hPikgDQogICAgaXMgaW5jbHVkZWQgd2l0aCB0aGUgRWNsaXBzZSBQZXJzaXN0ZW5jZSBTZXJ2aWNlcyBQcm9qZWN0IHRvIGVuYWJsZSBwYXJzaW5nIA0KICAgIG9mIHRoZSBKYXZhIFBlcnNpc3RlbmNlIFF1ZXJ5IGxhbmd1YWdlIChKUCBRTCkuIFRoZSBBTlRMUiBsaWJyYXJ5IGlzIHJlLXBhY2thZ2VkIA0KICAgIHdpdGhpbiB0aGUgcHJvamVjdCBpbiB0aGUgb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuaW50ZXJuYWwubGlicmFyaWVzLmFudGxyLiogDQogICAgcGFja2FnZXMuIDwvcD4NCiAgPHA+VGhlIHNvdXJjZSBpcyBhdmFpbGFibGUgd2l0aCB0aGUgcHJvamVjdCdzIHN1YnZlcnNpb24gcmVwb3NpdG9yeS48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDM+PGEgbmFtZT0iSkFYQiIgaWQ9IkpBWEIiPjwvYT5KYXZhIEFyY2hpdGVjdHVyZSBmb3IgWE1MIEJpbmRpbmcgKEpBWEIpIHYyLjAuNTwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIDxhIGhyZWY9Imh0dHBzOi8vamF4Yi5kZXYuamF2YS5uZXQvMi4wLjUvIj5KQVhCIGxpYnJhcmllczwvYT4gZGlzdHJpYnV0ZWQgDQogICAgdW5kZXIgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj5DRERMIHYxLjA8L2E+IA0KICAgIGFyZSBpbmNsdWRlZCB3aXRoaW4gdGhlIEVjbGlwc2UgUGVyc2lzdGVuY2UgU2VydmljZXMgUHJvamVjdCB0byBlbmFibGUgdGhlIA0KICAgIE1PWFkgY29tcG9uZW50J3MgaW1wbGVtZW50YXRpb24gb2YgSkFYQi48L3A+DQogIDxoND5KQVhCIExpYnJhcmllczo8L2g0Pg0KICA8dWw+DQogICAgPGxpPmpheGItYXBpLmphciA8L2xpPg0KICAgIDxsaT5qYXhiLWltcGwuamFyIDwvbGk+DQogICAgPGxpPmpheGIueGpjLmphciA8L2xpPg0KICA8L3VsPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9Ik1BSUwiIGlkPSJNQUlMIj48L2E+SmF2YSBNYWlsIHYxLjQ8L2gzPg0KPGJsb2NrcXVvdGU+DQogIDxwPlRoZSBKYXZhIE1haWwgbGlicmFyeSAobWFpbC5qYXIpIGlzIGRpc3RyaWJ1dGVkIHdpdGggdGhlIDxhIGhyZWY9Imh0dHBzOi8vamF4Yi5kZXYuamF2YS5uZXQvMi4wLjUvIj5KQVhCIA0KICAgIHYyLjAuNTwvYT4gdW5kZXIgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj5DRERMIA0KICAgIHYxLjA8L2E+IGFuZCBpcyBpbmNsdWRlZCB3aXRoaW4gdGhlIEVjbGlwc2UgUGVyc2lzdGVuY2UgU2VydmljZXMgUHJvamVjdCBkaXN0cmlidXRpb24gDQogICAgdG8gc3VwcG9ydCBXZWIgU2VydmljZXMgYXR0YWNobWVudCBoYW5kbGluZyBpbiB0aGUgTU9YeSBjb21wb25lbnQuIEl0IGlzIG9ubHkgDQogICAgcmVxdWlyZWQgd2hlbiB1c2luZyBKYXZhIFNFIDUgKEphdmEgTWFpbCBpcyBpbmNsdWRlZCBpbiBKYXZhIFNFIDYpLjwvcD4NCjwvYmxvY2txdW90ZT4NCjxoMz48YSBuYW1lPSJBQ1RJVkFUSU9OIiBpZD0iQUNUSVZBVElPTiI+PC9hPkphdmEgQWN0aXZhdGlvbiBGcmFtZXdvcmsgdjEuMTwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIEphdmEgQWN0aXZhdGlvbiBGcmFtZXdvcmsgKGFjdGl2YXRpb24uamFyKSBpcyBkaXN0cmlidXRlZCB3aXRoIHRoZSA8YSBocmVmPSJodHRwczovL2pheGIuZGV2LmphdmEubmV0LzIuMC41LyI+SkFYQiANCiAgICB2Mi4wLjU8L2E+IHVuZGVyIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+Q0RETCANCiAgICB2MS4wPC9hPiBhbmQgaXMgaW5jbHVkZWQgd2l0aGluIHRoZSBFY2xpcHNlIFBlcnNpc3RlbmNlIFNlcnZpY2VzIFByb2plY3QgZGlzdHJpYnV0aW9uIA0KICAgIHRvIHN1cHBvcnQgV2ViIFNlcnZpY2VzIGF0dGFjaG1lbnQgaGFuZGxpbmcgaW4gdGhlIE1PWHkgY29tcG9uZW50LiBJdCBpcyBvbmx5IA0KICAgIHJlcXVpcmVkIHdoZW4gdXNpbmcgSmF2YSBTRSA1IChUaGUgSmF2YSBBY3RpdmF0aW9uIEZyYW1ld29yayBpcyBpbmNsdWRlZCBpbiANCiAgICBKYXZhIFNFIDYpLjwvcD4NCjwvYmxvY2txdW90ZT4NCjxoMz48YSBuYW1lPSJTdEFYIiBpZD0iU3RBWCI+PC9hPlN0cmVhbWluZyBBUEkgZm9yIFhNTCAoU3RBWCkgdjEuMDwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIFN0cmVhbWluZyBBUEkgZm9yIFhNTCAoU3RBWCkgbGlicmFyeSAoanNyMTczXzEuMF9hcGkuamFyKSBpcyBkaXN0cmlidXRlZCANCiAgICB3aXRoIHRoZSA8YSBocmVmPSJodHRwczovL2pheGIuZGV2LmphdmEubmV0LzIuMC41LyI+SkFYQiB2Mi4wLjU8L2E+IHVuZGVyIA0KICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+Q0RETCB2MS4wPC9hPiANCiAgICBhbmQgaXMgaW5jbHVkZWQgd2l0aGluIHRoZSBFY2xpcHNlIFBlcnNpc3RlbmNlIFNlcnZpY2VzIFByb2plY3QgZGlzdHJpYnV0aW9uIA0KICAgIGFzIGFuIG9wdGlvbmFsIFhNTCBwcm9jZXNzaW5nIGFwcHJvYWNoIGluIHRoZSBNT1h5IGNvbXBvbmVudC4gPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9IlNETyIgaWQ9IlNETyI+PC9hPlNlcnZpY2UgRGF0YSBPYmplY3RzIChTRE8pIHYyLjEuMTwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly9qY3Aub3JnL2Fib3V0SmF2YS9jb21tdW5pdHlwcm9jZXNzL3ByL2pzcjIzNS9pbmRleC5odG1sIj5TZXJ2aWNlIA0KICAgIERhdGEgT2JqZWN0cyAoU0RPKSBBUEk8L2E+IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj4gQ0RETHYxLjAgPC9hPiBhbmQgIDxhIGhyZWY9Imh0dHA6Ly9qY3Aub3JnL2Fib3V0SmF2YS9jb21tdW5pdHlwcm9jZXNzL3ByL2pzcjIzNS9pbmRleC5odG1sIj5jdXN0b20gDQogICAgbGljZW5zZTwvYT4uIEl0IHByb3ZpZGVzIHRoZSBzdGFuZGFyZCBBUEkgaW1wbGVtZW50ZWQgYnkgdGhlIEVjbGlwc2UgUGVyc2lzdGVuY2UgDQogICAgU2VydmljZXMgUHJvamVjdCdzIFNETyBjb21wb25lbnQuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPHA+PC9wPg0KPGgzPjxhIG5hbWU9IkpQQTEiIGlkPSJKUEExIj48L2E+SmF2YSBQZXJzaXN0ZW5jZSBBUEkgKEpQQSkgMS4wIC0gRUpCIDMuMDwvaDM+DQo8YmxvY2txdW90ZT4NCjxwPlRoZSBKYXZhIFBlcnNpc3RlbmNlIEFQSSwgaW5jbHVkZWQgd2l0aCBFSkIgMy4wLCBpcyBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGZyb20gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9zb3VyY2UvYnJvd3NlL2dsYXNzZmlzaC9lamItYXBpIj5lamItYXBpIGRpcmVjdG9yeTwvYT4gaW4gdGhlIGdsYXNzZmlzaCBDVlMgcmVwb3NpdG9yeS5JdCBpcyBkaXN0cmlidXRlZCB1bmRlciA8YSBocmVmPSJodHRwczovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwiPiBDRERMdjEuMCA8L2E+LiAgVGhlIGphciBpcyBiZWluZyBzaGlwcGVkIGFzIGFuIE9TR2kgYnVuZGxlIGFuZCBpcyByZXF1aXJlZCBmb3IgY29tcGlsYXRpb24gb2Ygc29tZSBjb250YWluZXIgYmFzZWQgZnVjdGlvbmFsaXR5LjwvcD4NCjwvYmxvY2txdW90ZT4NCjxwPjwvcD4NCjxoMz48YSBuYW1lPSJKVEEiIGlkPSJKVEEiPjwvYT5KYXZheCBUcmFuc2FjdGlvbnMgdjEuMTwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIEpUQSAxLjEgQVBJIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3NvdXJjZS9icm93c2UvZ2xhc3NmaXNoL3RyYW5zYWN0aW9uLWFwaSI+dHJhbnNhY3Rpb24tYXBpIGRpcmVjdG9yeTwvYT4gaW4gdGhlIGdsYXNzZmlzaCBDVlMgcmVwb3NpdG9yeS4gSXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj4gQ0RETHYxLjAgPC9hPi4gIFRoZSBqYXIgaXMgYmVpbmcgc2hpcHBlZCBhcyBhbiBPU0dpIGJ1bmRsZSBhbmQgaXMgcmVxdWlyZWQgZm9yIGNvbXBpbGF0aW9uIG9mIHRoZSBKVEEgaW50ZWdyYXRpb24uPC9wPg0KPC9ibG9ja3F1b3RlPg0KPHA+PC9wPg0KPGgzPjxhIG5hbWU9IkpNUyIgaWQ9IkpNUyI+PC9hPkpNUyB2MS4xPC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5UaGUgSk1TIDEuMSBBUEkgaXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZCBmcm9tIHRoZSA8YSBocmVmPSJodHRwczovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvc291cmNlL2Jyb3dzZS9nbGFzc2Zpc2gvam1zLWFwaSI+am1zLWFwaSBkaXJlY3Rvcnk8L2E+IGluIHRoZSBnbGFzc2Zpc2ggQ1ZTIHJlcG9zaXRvcnkuIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+IENEREx2MS4wIDwvYT4uICBUaGUgamFyIGlzIGJlaW5nIHNoaXBwZWQgYXMgYW4gT1NHaSBidW5kbGUgYW5kIGlzIHJlcXVpcmVkIGZvciBjb21waWxhdGlvbiBvZiB0aGUgSk1TIGludGVncmF0aW9uLjwvcD4NCjwvYmxvY2txdW90ZT4NCjxwPjwvcD4NCjxoMz48YSBuYW1lPSJKQ0EiIGlkPSJKQ0EiPjwvYT5KYXZhIENvbm5lY3RvciB2MS41PC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5UaGUgSkNBIDEuNSBBUEkgaXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZCBmcm9tIHRoZSA8YSBocmVmPSJodHRwczovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvc291cmNlL2Jyb3dzZS9nbGFzc2Zpc2gvY29ubmVjdG9yLWFwaSI+Y29ubmVjdG9yLWFwaSBkaXJlY3Rvcnk8L2E+IGluIHRoZSBnbGFzc2Zpc2ggQ1ZTIHJlcG9zaXRvcnkuIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+IENEREx2MS4wIDwvYT4uICBUaGUgamFyIGlzIGJlaW5nIHNoaXBwZWQgYW5kIHJlcXVpcmVkIGJ5IHRoZSB3b3JrYmVuY2gsIGFuZCB0aGUgcnVudGltZSB3aGVuIGludGVncmF0aW5nIHdpdGggSkNBLiA8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8cD48L3A+DQo8aDM+PGEgbmFtZT0iQU5UMTciIGlkPSJBTlQxNyI+PC9hPkFudCB2MS43PC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5BbnQgMS43IGlzIGF2YWlsYWJsZSBmcm9tIHRoZSA8YSBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIj4gQW50IGhvbWUgcGFnZTwvYT4gYW5kIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIDxhIGhyZWY9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy9saWNlbnNlLmh0bWwiPiBBcGFjaGUgMi4wPC9hPi4gIFRoZSBqYXIgaXMgYmVpbmcgc2hpcHBlZCBhcyBhIE9TR2kgYnVuZGxlIGFuZCBpcyByZXF1aXJlZCBmb3IgY29tcGlsYXRpb24gdGhlIHN0YXRpYyB3ZWF2aW5nIHRvb2wuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPHA+PC9wPg0KPGgzPjxhIG5hbWU9IlhFUkNFUyIgaWQ9IlhFUkNFUyI+PC9hPlhlcmNlcyB2Mi45LjA8L2gzPg0KPGJsb2NrcXVvdGU+DQogIDxwPlhlcmNlcyAyLjkuMCBpcyBhdmFpbGFibGUgZnJvbSA8YSBocmVmPSJodHRwOi8veGVyY2VzLmFwYWNoZS5vcmcveGVyY2VzLWovIj4gdGhlIFhlcmNlcyBob21lIHBhZ2U8L2E+LiAgSXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnL2xpY2Vuc2UuaHRtbCI+IEFwYWNoZSAyLjA8L2E+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPHA+PC9wPg0KPGgzPjxhIG5hbWU9IkpBWCIgaWQ9IkpBWCI+PC9hPkpBWCBSUEMgdjEuMS4wPC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5KQVggUlBDIDEuMS4wIEFQSSBpcyBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGZyb20gdGhlIDxhIGhyZWY9Imh0dHBzOi8vamF4LXJwYy5kZXYuamF2YS5uZXQvc291cmNlL2Jyb3dzZS9qYXgtcnBjLyI+amF4LXJwYyA8L2E+IENWUyByZXBvc2l0b3J5LiAgSXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj4gQ0RETHYxLjAgPC9hPi4gIFRoaXMgYXBpIGlzIGRlcGVuZGVkIHVwb24gYnkgRUpCIDMuMDwvcD4NCjwvYmxvY2txdW90ZT4NCjxwPjwvcD4NCjxoMz48YSBuYW1lPSJXU0RMNEoiIGlkPSJXU0RMNEoiPjwvYT5XU0Q0aiB2MS42LjI8L2gzPg0KPGJsb2NrcXVvdGU+DQogIDxwPldTRDRKIDEuNi4yIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy93c2RsNGoiPndzZGw0aiBwcm9qZWN0PC9hPi4gSXQgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cDovL3N2bi5hcGFjaGUub3JnL3JlcG9zL2FzZi93ZWJzZXJ2aWNlcy93c3M0ai90cnVuay9sZWdhbC9MSUNFTlNFLndzZGw0aiI+IENQTHYxLjAgPC9hPi4gIFRoaXMgamFyIGlzIGJlaW5nIHNoaXBwZWQgYXMgYSBPU0dpIGJ1bmRsZSBhbmQgaXMgcmVxdWlyZWQgZm9yIHRoZSBEQldTIGZlYXR1cmUgYXQgcnV0aW1lLjwvcD4NCjwvYmxvY2txdW90ZT4NCjxwPjwvcD4NCjwvYm9keT4NCjwvaHRtbD4NCg==