PD9waHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKcmVxdWlyZV9vbmNlICgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddLiIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9hcHAuY2xhc3MucGhwIik7IApyZXF1aXJlX29uY2UgKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10uIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL25hdi5jbGFzcy5waHAiKTsgCnJlcXVpcmVfb25jZSAoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXS4iL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbWVudS5jbGFzcy5waHAiKTsgCnJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9wcm9qZWN0cy9jb21tb24vcHJvamVjdC1pbmZvLmNsYXNzLnBocCIpOwokQXBwID0gbmV3IEFwcCgpOyAkTmF2ID0gbmV3IE5hdigpOyAkTWVudSA9IG5ldyBNZW51KCk7IAokcHJvamVjdEluZm8gPSBuZXcgUHJvamVjdEluZm8oIm1vZGVsaW5nLmdtZiIpOwokcHJvamVjdEluZm8tPmdlbmVyYXRlX2NvbW1vbl9uYXYoICROYXYgKTsKaW5jbHVkZSAoJEFwcC0+Z2V0UHJvamVjdENvbW1vbigpKTsgCgkjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCSMKCSMgY29udHJpYnV0aW9ucy5waHAKCSMKCSMgQXV0aG9yOiAJCVJpY2hhcmQgQy4gR3JvbmJhY2sKCSMgRGF0ZToJCQkyMDA1LTEyLTAxCgkjCgkjIERlc2NyaXB0aW9uOiAKCSMKCSMKCSMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkKCSMKCSMgQmVnaW46IHBhZ2Utc3BlY2lmaWMgc2V0dGluZ3MuICBDaGFuZ2UgdGhlc2UuIAoJJHBhZ2VUaXRsZSAJCT0gIkdNRiBDb250cmlidXRpb24gUmV2aWV3cyI7CgkkcGFnZUtleXdvcmRzCT0gImVjbGlwc2UscHJvamVjdCxncmFwaGljYWwsbW9kZWxpbmcsbW9kZWwtZHJpdmVuIjsKCSRwYWdlQXV0aG9yCQk9ICJSaWNoYXJkIEMuIEdyb25iYWNrIjsKCQoJIyBBZGQgcGFnZS1zcGVjaWZpYyBOYXYgYmFycyBoZXJlCgkjIEZvcm1hdCBpcyBMaW5rIHRleHQsIGxpbmsgVVJMIChjYW4gYmUgaHR0cDovL3d3dy5zb21lb3RoZXJzaXRlLmNvbS8pLCB0YXJnZXQgKF9zZWxmLCBfYmxhbmspLCBsZXZlbCAoMSwgMiBvciAzKQoJIyAkTmF2LT5hZGROYXZTZXBhcmF0b3IoIk15IFBhZ2UgTGlua3MiLCAJImRvd25sb2Fkcy5waHAiKTsKCSMgJE5hdi0+YWRkQ3VzdG9tTmF2KCJNeSBMaW5rIiwgIm15cGFnZS5waHAiLCAiX3NlbGYiLCAzKTsKCSMgJE5hdi0+YWRkQ3VzdG9tTmF2KCJHb29nbGUiLCAiaHR0cDovL3d3dy5nb29nbGUuY29tLyIsICJfYmxhbmsiLCAzKTsKCgkjIEVuZDogcGFnZS1zcGVjaWZpYyBzZXR0aW5ncwoJIwoJCQoJIyBQYXN0ZSB5b3VyIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBFT0hUTUwgbWFya2VycyEJCgkkaHRtbCA9IDw8PEVPSFRNTAoKPGRpdiBpZD0ibWFpbmNvbnRlbnQiPgoJPGRpdiBpZD0ibWlkY29sdW1uIj48YnIvPgoJCTx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgoJCQk8dGJvZHk+CgkJCQk8dHI+CgkJCQkJPHRkIGFsaWduPSJsZWZ0Ij48aDE+JHBhZ2VUaXRsZTwvaDE+PC90ZD4KCQkJCQk8dGQgYWxpZ249InJpZ2h0Ij48aW1nIGFsaWduPSJyaWdodCIgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2dtZi9pbWFnZXMvbG9nb19iYW5uZXIucG5nIiAvPjwvdGQ+CgkJCQk8L3RyPgoJCQk8L3Rib2R5PgoJCTwvdGFibGU+CgkJPGhyLz4KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjUiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+Cgk8dHI+CgkJPHRkPjxoMj5JbnRyb2R1Y3Rpb248L2gyPjwvdGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIiBjb2xzcGFuPSIyIj5UaGUgR3JhcGhpY2FsIE1vZGVsaW5nCgkJRnJhbWV3b3JrIChHTUYpIHByb2plY3QgaXMgcGVyaGFwcyB1bmlxdWUgaW4gdGhhdCBpdCBjb21lcyB3aXRoIGEgbG90CgkJb2YgaW50ZXJlc3QgZnJvbSBwYXJ0aWVzIHdpdGggc2ltaWxhciBmdW5jdGlvbmFsaXR5IGFscmVhZHkKCQlpbXBsZW1lbnRlZC4gVGhlcmVmb3JlLCBpbiBvcmRlciB0byBnZXQgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUKCQlhcHByb2FjaGVzIHRoYXQgaGF2ZSBiZWVuIHRha2VuLCBhbmQgdG8gcmV2aWV3IGVhY2ggcG90ZW50aWFsCgkJY29udHJpYnV0aW9uIGluIGEgcHVibGljIGZvcnVtLCB0aGUgZm9sbG93aW5nIGxpc3QgYW5kIHNjaGVkdWxlIGlzCgkJcHJlc2VudGVkLjxiciAvPgoJCTxiciAvPgoJCVRoZSBnb2FsIG9mIGVhY2ggcHJlc2VudGF0aW9uIGlzIHRvIHByb3ZpZGUgYW4gb3ZlcnZpZXcgb2YgZXhwZXJpZW5jZXMKCQl0byBkYXRlIHVzaW5nIEVNRi9HRUYsIGFuIGFyY2hpdGVjdHVyYWwgb3ZlcnZpZXcgb2YgcG90ZW50aWFsIGNvZGUKCQljb250cmlidXRpb25zLCBhbmQgZGlzY3VzcyB0aGUgYW50aWNpcGF0ZWQgcHJvcy9jb25zIGFuZCBleHBlY3RlZAoJCWxldmVsIG9mIGVmZm9ydCB0byByZWZhY3RvciBmb3IgR01GLiBUaGUgcHJlc2VudGF0aW9ucyBkbyBub3QgaGF2ZSB0bwoJCWJlIGNvbXByZWhlbnNpdmUsIGFzIGEgZGVtb25zdHJhdGlvbiwgY29kZSByZXZpZXcsIGFuZCBvcGVuIGRpc2N1c3Npb24KCQlzaG91bGQgc2VydmUgdG8gZnVsZmlsbCB0aGUgZ29hbHMgb2YgdGhlIHJldmlldy48YnIgLz4KCQk8YnIgLz4KCQlGb2xsb3dpbmcgdGhlIHJldmlldyBwcmVzZW50YXRpb24sIGZlZWRiYWNrIHdpbGwgYmUgc29saWNpdGVkIG9uIHRoZQoJCWRldmVsb3BlciBtYWlsaW5nIGxpc3QgYW5kIHN1bW1hcml6ZWQgb24gdGhpcyBwYWdlLiBXaGVuIHRoZSByZXZpZXdzCgkJYXJlIGNvbXBsZXRlLCBhbmQgdGhlIHBvdGVudGlhbCBjb250cmlidXRpb25zIGFyZSByZWNvbmNpbGVkIHdpdGggdGhlCgkJR01GIFJlcXVpcmVtZW50cyBwb3N0ZWQgPGEgaHJlZj0icmVxdWlyZW1lbnRzLnBocCI+aGVyZTwvYT4sIHRob3NlCgkJY29udHJpYnV0aW9ucyB3aGljaCBiZXN0IGZpdCBwcm9qZWN0IGdvYWxzIHdpbGwgYmUgZGV0ZXJtaW5lZC48YnIgLz4KCQk8L3RkPgoJPC90cj4KPC90YWJsZT4KCjxkaXYgY2xhc3M9InNlY3Rpb24iPjxoci8+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSI1IiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgoJPHRyPgoJCTx0ZD48aDI+UG90ZW50aWFsIENvbnRyaWJ1dGlvbnM8L2gyPjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZD4KCQk8cCBkaXI9Imx0ciI+QmVsb3cgYXJlIGEgbGlzdCBvZiBvcmdhbml6YXRpb25zIHdobyBoYXZlIGV4cHJlc3NlZCBhbgoJCWludGVyZXN0IGluIGNvbnRyaWJ1dGluZyB0byBHTUYuIElmIHlvdSB3b3VsZCBsaWtlIHRvIGJlIGFkZGVkIHRvIHRoZQoJCWxpc3QsIG9yIGlmIHdlIGhhdmUgaW5hZHZlcnRlbnRseSBsZWZ0IHlvdSBvZmYsIHBsZWFzZSBwb3N0IHRvIHRoZSA8YQoJCQlocmVmPSJuZXdzOi8vbmV3cy5lY2xpcHNlLm9yZy9lY2xpcHNlLm1vZGVsaW5nLmdtZiI+bmV3c2dyb3VwPC9hPgoJCW9yIDxhIGhyZWY9Im1haWx0bzpyaWNoYXJkLmdyb25iYWNrQGJvcmxhbmQuY29tIj5lbWFpbDwvYT4uPGJyIC8+CgkJPGJyIC8+CgkJUGxlYXNlIGNvb3JkaW5hdGUgd2l0aCB0aGUgPGEKCQkJaHJlZj0ibWFpbHRvOnJpY2hhcmQuZ3JvbmJhY2tAYm9ybGFuZC5jb20iPlByb2plY3QgTGVhZDwvYT4gdG8KCQllc3RhYmxpc2ggdGhlIGJlc3QgdGltZSBmb3IgeW91ciBwcmVzZW50YXRpb24uIFRlbGVjb25mZXJlbmNlIGFuZAoJCUxpdmVNZWV0aW5nIGluZm9ybWF0aW9uIHdpbGwgYmUgc2VudCBvdXQgZm9yIGVhY2ggb24gdGhlIGRldmVsb3BlcgoJCW1haWxpbmcgPGEgaHJlZj0ibWFpbHRvOmRldi1nbWZAZWNsaXBzZS5vcmciPmxpc3Q8L2E+LiBBcyB3ZSBhcmUKCQlkZXBlbmRlbnQgdXBvbiB0aGUgY29tcGxldGlvbiBvZiB0aGlzIGFjdGl2aXR5IGJlZm9yZSBtb3ZpbmcgaW50byB0aGUKCQlJbXBsZW1lbnRhdGlvbiBQaGFzZSBvZiB0aGUgcHJvamVjdCwgd2Ugd291bGQgbGlrZSB0byBnZXQgdGhlc2UgZG9uZQoJCWluIGFzIHRpbWVseSBhIG1hbm5lciBhcyBwb3NzaWJsZS4gQXMgYSByZW1pbmRlciwgZWFjaCBzaWduaWZpY2FudAoJCWNvbnRyaWJ1dGlvbiB3aWxsIHJlcXVpcmUgdGhlIGNvbXBsZXRpb24gb2YgYSA8YQoJCQlocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL0NvbnRyaWJ1dGlvblF1ZXN0aW9ubmFpcmVQYXJ0MS12MS4wLmh0bSI+Q29udHJpYnV0aW9uCgkJUXVlc3Rpb25uYWlyZTwvYT4uIFRoYW5rIHlvdSBmb3IgeW91ciBwYXJ0aWNpcGF0aW9uIGFuZCBpbnRlcmVzdCBpbgoJCUdNRiE8L3A+CgkJPC90ZD4KCTwvdHI+CjwvdGFibGU+CjwvZGl2PgoKPHRhYmxlPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPkJvcmxhbmQ8L2I+PC9mb250PjwvcD4KCQk8cD5Cb3JsYW5kIGhhcyBleHBlcmllbmNlIHVzaW5nIEVNRi9HRUYgaW4gaXRzIFRvZ2V0aGVyIG1vZGVsaW5nIHRvb2xzCgkJb24gRWNsaXBzZS4gQWRkaXRpb25hbGx5LCBwcm90b3R5cGVzIGZvciBtZXRhbW9kZWxpbmcgYW5kIGZlYXR1cmVzIGZvcgoJCSJGcmVlIEZvcm0gRGlhZ3JhbW1pbmciIGhhdmUgYmVlbiBpbXBsZW1lbnRlZC48L3A+CgkJPHVsPgoJCQk8bGk+UHJlc2VudGF0aW9uIERhdGUvVGltZTogRnJpZGF5LCBNYXkgMjd0aCBAIDExOjAwIGFtIEVEVDwvbGk+CgkJCTxsaT5EaWFsLWluOiAxICg2MzApIDgyNy02NjQxIG9yIDEgKDg4OCkgNjkwLTM4MTAgUElOOiA5OTQzOTM4PC9saT4KCQkJPGxpPjxhIHRhcmdldD0iX2JsYW5rIgoJCQkJaHJlZj0iaHR0cDovL3d3dy5wbGFjZXdhcmUuY29tL2NjL2JvcmxhbmQvam9pbj9pZD1XNEtKTkgmYW1wO3JvbGU9YXR0ZW5kJmFtcDtwdz02TUZLOUIiPmh0dHA6Ly93d3cucGxhY2V3YXJlLmNvbS9jYy9ib3JsYW5kL2pvaW4/aWQ9VzRLSk5IJmFtcDtyb2xlPWF0dGVuZCZhbXA7cHc9Nk1GSzlCPC9hPgoJCQk8bGk+UmVzcG9uc2libGUgSW5kaXZpZHVhbChzKTogPGEKCQkJCWhyZWY9Im1haWx0bzphcnRlbS50aWtob21pcm92QGJvcmxhbmQuY29tIj5BcnRlbSBUaWtob21pcm92PC9hPiwgPGEKCQkJCWhyZWY9Im1haWx0bzptYXguZmVsZG1hbkBib3JsYW5kLmNvbSI+TWF4IEZlbGRtYW48L2E+PC9saT4KCQkJPGxpPlNsaWRlczogPGEgaHJlZj0iLi9jb250cmlidXRpb25zL2JvcmxhbmQtZ21mLnppcCI+Ym9ybGFuZC1nbWYuemlwPC9hPjwvbGk+CgkJPC91bD4KCQk8cD48L3A+CgkJPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNiI+CgkJPHAgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIKCQkJYm9yZGVyPSIwIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iIj48L3A+CgkJPC90ZD4KCgkJPHRkIHdpZHRoPSIxMDAlIj4KCQk8cD48Zm9udCBmYWNlPSJhcmlhbCxoZWx2ZXRpY2EsZ2VuZXZhIiBzaXplPSItMSI+PGI+ZGlhbW9kbDwvYj48L2ZvbnQ+PC9wPgoJCTxwPldvcmsgb24gYSBkaWFsb2cgbW9kZWxpbmcgZWRpdG9yIHVzaW5nIEVNRiBhbmQgR0VGIGlzIHVuZGVyd2F5IGF0CgkJdGhlIE5vcndlZ2lhbiBVbml2ZXJzaXR5IG9mIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3kgYW5kIGluY2x1ZGVzIGEKCQlzaW1wbGlmaWVkIERpYWdyYW0gSW50ZXJjaGFuZ2UgU3BlY2lmaWNhdGlvbiBkaWFncmFtIG1vZGVsLCBhbW9uZwoJCW90aGVyIGNvbXBvbmVudHMgc2ltaWxhciB0byB0aGUgZ29hbHMgb2YgR01GLjwvcD4KCQk8dWw+CgkJCTxsaT5QcmVzZW50YXRpb24gRGF0ZS9UaW1lOiBDYW5jZWxsZWQ8L2xpPgoJCQk8bGk+UmVzcG9uc2libGUgSW5kaXZpZHVhbChzKTogPGEgaHJlZj0ibWFpbHRvOmhhbEBpZGkubnRudS5ubyI+SGFsbHZhcmQKCQkJVHLmdHRlYmVyZzwvYT48L2xpPgoJCTwvdWw+CgkJPHA+PC9wPgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPklCTSBSYXRpb25hbDwvYj48L2ZvbnQ+PC9wPgoJCTxwPlRoZSBJQk0gUmF0aW9uYWwgbW9kZWxpbmcgdGVhbSBoYXMgZXhwcmVzc2VkIGFuIGludGVyZXN0IGluCgkJY29udHJpYnV0aW5nIHRvIEdNRiwgcGFydGljdWxhcmx5IGluIHRoZSBhcmVhIG9mIHRoZSBkaWFncmFtCgkJbWV0YW1vZGVsLCBydW50aW1lIGZyYW1ld29yaywgT0NMLCBhbmQgR0VGIGV4dGVuc2lvbnMuPC9wPgoJCTx1bD4KCQkJPGxpPlByZXNlbnRhdGlvbiBEYXRlL1RpbWU6IFR1ZXNkYXksIE1heSAzMXN0IEAgMjowMCBwbSBFRFQ8L2xpPgoJCQk8bGk+RGlhbC1pbjogMSAoNjMwKSA4MjctNjY0MSBvciAxICg4ODgpIDY5MC0zODEwIFBJTjogOTk0MzkzODwvbGk+CgkJCTxsaT48YSB0YXJnZXQ9Il9ibGFuayIKCQkJCWhyZWY9Imh0dHA6Ly93d3cucGxhY2V3YXJlLmNvbS9jYy9ib3JsYW5kL2pvaW4/aWQ9V1IzSlFKJmFtcDtyb2xlPWF0dGVuZCZhbXA7cHc9OTZOMkNYIj5odHRwOi8vd3d3LnBsYWNld2FyZS5jb20vY2MvYm9ybGFuZC9qb2luP2lkPVdSM0pRSiZhbXA7cm9sZT1hdHRlbmQmYW1wO3B3PTk2TjJDWDwvYT4KCQkJPGxpPlJlc3BvbnNpYmxlIEluZGl2aWR1YWwocyk6IDxhIGhyZWY9Im1haWx0bzpkbGVyb3V4QGNhLmlibS5jb20iPkRhbmllbAoJCQlMZXJvdXg8L2E+PC9saT4KCQkJPGxpPlNsaWRlczogPGEgaHJlZj0iLi9jb250cmlidXRpb25zL2libS1nbWYuemlwIj5pYm0tZ21mLnppcDwvYT48L2xpPgoJCTwvdWw+CgkJPHA+PC9wPgoJCTxwPlRoZSBJQk0gUmF0aW9uYWwgdGVhbSBoYWQgYSBncm91cCBvZiBzdHVkZW50cyBkZXZlbG9wIGEgRFNNIFRvb2xraXQKCQlhcyBwYXJ0IG9mIGEgc3BlY2lhbCBhZHZhbmNlZCBjb29wIHByb2dyYW0gY2FsbGVkIEV4dHJlbWUgQmx1ZS4gVGhlCgkJcmVzdWx0IG9mIHRoaXMgcHJvamVjdCwgY2FsbGVkICJyZWFsbSwiIHdhcyBwcmVzZW50ZWQgdG8gdGhlIEdNRgoJCWNvbW11bml0eSBvbiBBdWd1c3QgMjJuZCBhcyBhbm90aGVyIGdlbmVyb3VzIGNvbnRyaWJ1dGlvbiB0byB0aGUgR01GCgkJcHJvamVjdC4gQSBkZW1vIGNyZWF0ZWQgYnkgdGhlIHN0dWRlbnRzIGlzIGF2YWlsYWJsZSBiZWxvdy4gTm90ZSB0aGF0CgkJdGhlIHByb3BlciBjb2RlYyBmb3Igdmlld2luZyB0aGUgQVZJIGZpbGUgY2FuIGJlIGZvdW5kIDxhCgkJCWhyZWY9Imh0dHA6Ly9kb3dubG9hZC50ZWNoc21pdGguY29tL3RzY2MvVFNDQy5leGUiPmhlcmU8L2E+LjwvcD4KCQk8dWw+CgkJCTxsaT5QcmVzZW50YXRpb24gRGF0ZS9UaW1lOiBNb25kYXksIEF1Z3VzdCAyMm5kIEAgOTozMCBhbSBFRFQ8L2xpPgoJCQk8bGk+UmVzcG9uc2libGUgSW5kaXZpZHVhbChzKTogPGEgaHJlZj0ibWFpbHRvOmZwbGFudGVAY2EuaWJtLmNvbSI+RnJlZAoJCQlQbGFudGU8L2E+PC9saT4KCQkJPGxpPlZpZGVvIFJlY29yZGluZzogPGEgaHJlZj0iLi9jb250cmlidXRpb25zL2RzbXRfZGVtby56aXAiPmRzbXRfZGVtby56aXA8L2E+PC9saT4KCQk8L3VsPgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPk0xIEdsb2JhbDwvYj48L2ZvbnQ+PC9wPgoJCTxwPk0xIEdsb2JhbCBoYXMgZGV2ZWxvcGVkIGEgY2FwYWJpbGl0eSB0byB0cmFuc2Zvcm0gVU1MIG1vZGVscyBpbnRvCgkJR0VGLWJhc2VkIHBsdWctaW5zLjwvcD4KCQk8dWw+CgkJCTxsaT5QcmVzZW50YXRpb24gRGF0ZS9UaW1lOiBXZWRuZXNkYXksIE1heSAyNXRoIEAgMTE6MDAgYW0gRURUPC9saT4KCQkJPGxpPkRpYWwtaW46IDEgKDYzMCkgODI3LTY2NDEgb3IgMSAoODg4KSA2OTAtMzgxMCBQSU46IDk5NDM5Mzg8L2xpPgoJCQk8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiCgkJCQlocmVmPSJodHRwOi8vd3d3LnBsYWNld2FyZS5jb20vY2MvYm9ybGFuZC9qb2luP2lkPTNaNjRORyZhbXA7cm9sZT1hdHRlbmQmYW1wO3B3PTY2VDlENCI+aHR0cDovL3d3dy5wbGFjZXdhcmUuY29tL2NjL2JvcmxhbmQvam9pbj9pZD0zWjY0TkcmYW1wO3JvbGU9YXR0ZW5kJmFtcDtwdz02NlQ5RDQ8L2E+CgkJCTxsaT5SZXNwb25zaWJsZSBJbmRpdmlkdWFsKHMpOiA8YSBocmVmPSJtYWlsdG86ZHp5Z21vbnRAbTFnbG9iYWwuY29tIj5EYXZpZAoJCQlaeWdtb250PC9hPjwvbGk+CgkJCTxsaT5TbGlkZXM6IDxhIGhyZWY9Ii4vY29udHJpYnV0aW9ucy9tMS1nbWYucHB0Ij5tMS1nbWYucHB0PC9hPjwvbGk+CgkJPC91bD4KCQk8cD48L3A+CgkJPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNiI+CgkJPHAgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIKCQkJYm9yZGVyPSIwIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iIj48L3A+CgkJPC90ZD4KCgkJPHRkIHdpZHRoPSIxMDAlIj4KCQk8cD48Zm9udCBmYWNlPSJhcmlhbCxoZWx2ZXRpY2EsZ2VuZXZhIiBzaXplPSItMSI+PGI+TWVybGluPC9iPjwvZm9udD48L3A+CgkJPHA+SW5mb3JtYXRpb24gb24gTWVybGluIGFuZCBpdHMgY2FwYWJpbGl0aWVzIHRvIGdlbmVyYXRlIEdFRiBlZGl0b3IKCQlwbHVnLWlucyBmb3IgRU1GIG1vZGVscyBjYW4gYmUgZm91bmQgPGEKCQkJaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tZXJsaW5nZW5lcmF0b3IvIgoJCQl0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPgoJCTx1bD4KCQkJPGxpPlByZXNlbnRhdGlvbiBEYXRlL1RpbWU6IEZyaWRheSwgTWF5IDI3dGggQCAzOjAwIHBtIEVEVDwvbGk+CgkJCTxsaT5EaWFsLWluOiAxICg2MzApIDgyNy02NjQxIG9yIDEgKDg4OCkgNjkwLTM4MTAgUElOOiA5OTQzOTM4PC9saT4KCQkJPGxpPjxhIHRhcmdldD0iX2JsYW5rIgoJCQkJaHJlZj0iaHR0cDovL3d3dy5wbGFjZXdhcmUuY29tL2NjL2JvcmxhbmQvam9pbj9pZD04SFhXNTQmYW1wO3JvbGU9YXR0ZW5kJmFtcDtwdz1QUEI3OVoiPmh0dHA6Ly93d3cucGxhY2V3YXJlLmNvbS9jYy9ib3JsYW5kL2pvaW4/aWQ9OEhYVzU0JmFtcDtyb2xlPWF0dGVuZCZhbXA7cHc9UFBCNzlaPC9hPgoJCQk8bGk+UmVzcG9uc2libGUgSW5kaXZpZHVhbChzKTogPGEgaHJlZj0ibWFpbHRvOmpjaGV1b3VhQHdhbmFkb28uZnIiPiJKb+tsIgoJCQlDaGV1b3VhPC9hPjwvbGk+CgkJCTxsaT5TbGlkZXM6IDxhIGhyZWY9Ii4vY29udHJpYnV0aW9ucy9tZXJsaW4tZ21mLnppcCI+bWVybGluLWdtZi56aXA8L2E+PC9saT4KCQk8L3VsPgoJCTxwPjwvcD4KCQk8L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCIgd2lkdGg9IjE2Ij4KCQk8cCBhbGlnbj0ibGVmdCI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvaW1hZ2VzL0FkYXJyb3cuZ2lmIgoJCQlib3JkZXI9IjAiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSIiPjwvcD4KCQk8L3RkPgoKCQk8dGQgd2lkdGg9IjEwMCUiPgoJCTxwPjxmb250IGZhY2U9ImFyaWFsLGhlbHZldGljYSxnZW5ldmEiIHNpemU9Ii0xIj48Yj5vcGVuQXJjaGl0ZWN0dXJlV2FyZTwvYj48L2ZvbnQ+PC9wPgoJCTxwPm9BVyBjdXJyZW50bHkgZ2VuZXJhdGVzIEdFRiBlZGl0b3JzIGZvciBhIGdpdmVuIGRvbWFpbiBtb2RlbCBhbmQKCQloYXMgYW4gRU1GIGludGVncmF0aW9uIGluIHByb2dyZXNzLiBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCA8YQoJCQlocmVmPSJodHRwOi8vd3d3Lm9wZW5hcmNoaXRlY3R1cmV3YXJlLm9yZy9jb21wL2dlZi5odG1sIgoJCQl0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPgoJCTx1bD4KCQkJPGxpPlByZXNlbnRhdGlvbiBEYXRlL1RpbWU6IE4vQTwvbGk+CgkJCTxsaT5SZXNwb25zaWJsZSBJbmRpdmlkdWFsKHMpOiA8YSBocmVmPSJtYWlsdG86dm9lbHRlckBhY20ub3JnIj5NYXJrdXMKCQkJVm9lbHRlcjwvYT48L2xpPgoJCQk8bGk+U2xpZGVzOiA8YSBocmVmPSIuL2NvbnRyaWJ1dGlvbnMvb0FXLWdtZi5wcHQiPm9BVy1nbWYucHB0PC9hPjwvbGk+CgkJPC91bD4KCQk8cD48L3A+CgkJPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNiI+CgkJPHAgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIKCQkJYm9yZGVyPSIwIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iIj48L3A+CgkJPC90ZD4KCgkJPHRkIHdpZHRoPSIxMDAlIj4KCQk8cD48Zm9udCBmYWNlPSJhcmlhbCxoZWx2ZXRpY2EsZ2VuZXZhIiBzaXplPSItMSI+PGI+UGF0dGVybnNldAoJCVNvZnR3YXJlPC9iPjwvZm9udD48L3A+CgkJPHA+PGEgaHJlZj0iaHR0cDovL3d3dy5wYXR0ZXJuc2V0LmNvbS8iIHRhcmdldD0iX2JsYW5rIj5QYXR0ZXJuc2V0PC9hPgoJCWhhcyBpbXBsZW1lbnRlZCBHTUYtbGlrZSBjYXBhYmlsaXRpZXMgaW4gaXRzIHByb2R1Y3QgYW5kIGhhcyBhCgkJTWV0YWRhdGEgVHJhbnNmb3JtZXIvR2VuZXJhdG9yIChNVEcpIHByb2R1Y3Qgd2hpY2ggaXMgdXNlZCBpbiBsaWV1IG9mCgkJSkVULjwvcD4KCQk8dWw+CgkJCTxsaT5QcmVzZW50YXRpb24gRGF0ZS9UaW1lOiBNb25kYXksIEp1bmUgMjB0aCBAIDExOjAwIGFtIEVEVDwvbGk+CgkJCTxsaT5EaWFsLWluOiAxICg2MzApIDgyNy02NjQxIG9yIDEgKDg4OCkgNjkwLTM4MTAgUElOOiA5OTQzOTM4PC9saT4KCQkJPGxpPjxhIHRhcmdldD0iX2JsYW5rIgoJCQkJaHJlZj0iaHR0cDovL3d3dy5wbGFjZXdhcmUuY29tL2NjL2JvcmxhbmQvam9pbj9pZD1aS0haN0Mmcm9sZT1hdHRlbmQmcHc9TThLWjlYIj5odHRwOi8vd3d3LnBsYWNld2FyZS5jb20vY2MvYm9ybGFuZC9qb2luP2lkPVpLSFo3QyZhbXA7cm9sZT1hdHRlbmQmYW1wO3B3PU04S1o5WDwvYT4KCQkJPGxpPlJlc3BvbnNpYmxlIEluZGl2aWR1YWwocyk6IDxhIGhyZWY9Im1haWx0bzpqb3NlQHBhdHRlcm5zZXQuY29tIj5Kb3NlCgkJCWRlIEZyZWl0YXM8L2E+PC9saT4KCQkJPGxpPlNsaWRlczogPGEgaHJlZj0iLi9jb250cmlidXRpb25zL3BhdHRlcm5zZXQtZ21mLnBwdCI+cGF0dGVybnNldC1nbWYucHB0PC9hPjwvbGk+CgkJPC91bD4KCQk8cD48L3A+CgkJPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNiI+CgkJPHAgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIKCQkJYm9yZGVyPSIwIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iIj48L3A+CgkJPC90ZD4KCgkJPHRkIHdpZHRoPSIxMDAlIj4KCQk8cD48Zm9udCBmYWNlPSJhcmlhbCxoZWx2ZXRpY2EsZ2VuZXZhIiBzaXplPSItMSI+PGI+U3liYXNlPC9iPjwvZm9udD48L3A+CgkJPHA+PGEgaHJlZj0iaHR0cDovL3d3dy5zeWJhc2UuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlN5YmFzZTwvYT4gaGF2ZQoJCWRldmVsb3BlZCBhIEdFRi9FTUYgcHJvY2Vzcy1mbG93IGVkaXRvciB0aGF0IHVzZXMgYW4gRU1GIG1vZGVsIHRvIG1hcAoJCXRoZSBkb21haW4gbW9kZWwgb250byBhIGRpYWdyYW0gbW9kZWwuIFRoaXMgbWFwIGlzIGxvYWRlZCBieSB0aGUKCQllZGl0b3IgYXQgcnVudGltZS4gQW4gZWRpdG9yIHBsdWdpbiBpcyBhbHNvIHByb3ZpZGVkIGZvciBlZGl0aW5nIHRoZQoJCW1vZGVsIG1hcC48L3A+CgkJPHVsPgoJCQk8bGk+UHJlc2VudGF0aW9uIERhdGUvVGltZTogTW9uZGF5LCBKdW5lIDI3dGggQCAxMTowMCBhbSBFRFQ8L2xpPgoJCQk8bGk+RGlhbC1pbjogMSAoNjMwKSA4MjctNjY0MSBvciAxICg4ODgpIDY5MC0zODEwIFBJTjogOTk0MzkzODwvbGk+CgkJCTxsaT48YSB0YXJnZXQ9Il9ibGFuayIKCQkJCWhyZWY9Imh0dHA6Ly93d3cucGxhY2V3YXJlLmNvbS9jYy9ib3JsYW5kL2pvaW4/aWQ9WjI2MjdEJmFtcDtyb2xlPWF0dGVuZCZhbXA7cHc9VFFRM05GIj5odHRwOi8vd3d3LnBsYWNld2FyZS5jb20vY2MvYm9ybGFuZC9qb2luP2lkPVoyNjI3RCZhbXA7cm9sZT1hdHRlbmQmYW1wO3B3PVRRUTNORjwvYT4KCQkJPGxpPlJlc3BvbnNpYmxlIEluZGl2aWR1YWwocyk6IDxhIGhyZWY9Im1haWx0bzpib2IuYnJvZHRAc3liYXNlLmNvbSI+Qm9iCgkJCUJyb2R0PC9hPjwvbGk+CgkJPC91bD4KCQk8cD48L3A+CgkJPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNiI+CgkJPHAgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIKCQkJYm9yZGVyPSIwIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iIj48L3A+CgkJPC90ZD4KCgkJPHRkIHdpZHRoPSIxMDAlIj4KCQk8cD48Zm9udCBmYWNlPSJhcmlhbCxoZWx2ZXRpY2EsZ2VuZXZhIiBzaXplPSItMSI+PGI+VGVjaG5pY2FsCgkJVW5pdmVyc2l0eSBvZiBCZXJsaW48L2I+PC9mb250PjwvcD4KCQk8cD5UaGUgPGEgaHJlZj0iaHR0cDovL3Rmcy5jcy50dS1iZXJsaW4uZGUvfnRpZ2VycHJqIiB0YXJnZXQ9Il9ibGFuayI+VGlnZXIKCQlQcm9qZWN0PC9hPiAoVHJhbnNmb3JtYXRpb24tYmFzZWQgZ2VuZXJhdGlvbiBvZiBtb2RlbGluZyBlbnZpcm9ubWVudHMpCgkJaXMgYSB0b29sIGVudmlyb25tZW50IHRoYXQgYWxsb3dzIHRvIGdlbmVyYXRlIGFuIEVjbGlwc2UgZWRpdG9yIHBsdWdpbgoJCWJhc2VkIG9uIHRoZSBHcmFwaGljYWwgRWRpdGluZyBGcmFtZXdvcmsgKEdFRikgZnJvbSBhIGZvcm1hbCwKCQlncmFwaC10cmFuc2Zvcm1hdGlvbiBiYXNlZCB2aXN1YWwgbGFuZ3VhZ2Ugc3BlY2lmaWNhdGlvbi4gTW9yZW92ZXIgdGhlCgkJRWNsaXBzZSBKRVQgZW5naW5lIGlzIHVzZWQgZm9yIGdlbmVyYXRpb24uPC9wPgoJCTx1bD4KCQkJPGxpPlByZXNlbnRhdGlvbiBEYXRlL1RpbWU6IFRodXJzZGF5LCBNYXkgMjZ0aCBAIDEyOjAwIEVEVDwvbGk+CgkJCTxsaT5EaWFsLWluOiAxICg2MzApIDgyNy02NjQxIG9yIDEgKDg4OCkgNjkwLTM4MTAgUElOOiA5OTQzOTM4PC9saT4KCQkJPGxpPjxhIHRhcmdldD0iX2JsYW5rIgoJCQkJaHJlZj0iaHR0cDovL3d3dy5wbGFjZXdhcmUuY29tL2NjL2JvcmxhbmQvam9pbj9pZD02SEdSM0YmYW1wO3JvbGU9YXR0ZW5kJmFtcDtwdz05NktEOUIiPmh0dHA6Ly93d3cucGxhY2V3YXJlLmNvbS9jYy9ib3JsYW5kL2pvaW4/aWQ9NkhHUjNGJmFtcDtyb2xlPWF0dGVuZCZhbXA7cHc9OTZLRDlCPC9hPgoJCQk8bGk+UmVzcG9uc2libGUgSW5kaXZpZHVhbChzKTogPGEKCQkJCWhyZWY9Im1haWx0bzprYXJzdGVuZUBjcy50dS1iZXJsaW4uZGUiPkthcnN0ZW4gRWhyaWc8L2E+LCA8YQoJCQkJaHJlZj0ibWFpbHRvOmdhYmlAY3MudHUtYmVybGluLmRlIj5HYWJyaWVsZSBUYWVudHplcjwvYT48L2xpPgoJCQk8bGk+U2xpZGVzOiA8YSBocmVmPSIuL2NvbnRyaWJ1dGlvbnMvdGlnZXItZ21mLnBwdCI+dGlnZXItZ21mLnBwdDwvYT48L2xpPgoJCTwvdWw+CgkJPHA+PC9wPgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPlZhbmRlcmJpbHQKCQlVbml2ZXJzaXR5PC9iPjwvZm9udD48L3A+CgkJPHA+VmFuZGVyYmlsdCBoYXMgZGV2ZWxvcGVkIGEgR2VuZXJpYyBNb2RlbGluZyBFbnZpcm9ubWVudCAoR01FKSBhbmQKCQlpcyBjdXJyZW50bHkgd29ya2luZyBvbiBhIEdlbmVyaWMgRWNsaXBzZSBNb2RlbGluZyBTeXN0ZW0gKDxhCgkJCWhyZWY9Imh0dHA6Ly93d3cuZHJlLnZhbmRlcmJpbHQuZWR1L35qdWxlcy9nZW1zLmh0bSIgdGFyZ2V0PSJfYmxhbmsiPkdFTVM8L2E+KS48L3A+CgkJPHVsPgoJCQk8bGk+UHJlc2VudGF0aW9uIERhdGUvVGltZTogTW9uZGF5LCBKdW5lIDIwdGggQCAyOjAwIHBtIEVEVDwvbGk+CgkJCTxsaT5EaWFsLWluOiAxICg2MzApIDgyNy02NjQxIG9yIDEgKDg4OCkgNjkwLTM4MTAgUElOOiA5OTQzOTM4PC9saT4KCQkJPGxpPjxhIHRhcmdldD0iX2JsYW5rIgoJCQkJaHJlZj0iaHR0cDovL3d3dy5wbGFjZXdhcmUuY29tL2NjL2JvcmxhbmQvam9pbj9pZD1IQldSODImcm9sZT1hdHRlbmQmcHc9U1JROTZCIj5odHRwOi8vd3d3LnBsYWNld2FyZS5jb20vY2MvYm9ybGFuZC9qb2luP2lkPUhCV1I4MiZhbXA7cm9sZT1hdHRlbmQmYW1wO3B3PVNSUTk2QjwvYT4KCQkJPGxpPlJlc3BvbnNpYmxlIEluZGl2aWR1YWwocyk6IDxhIGhyZWY9Im1haWx0bzpqdWxlcy53aGl0ZUBnbWFpbC5jb20iPkp1bGVzCgkJCVdoaXRlPC9hPjwvbGk+CgkJCTxsaT5TbGlkZXM6IDxhIGhyZWY9Ii4vY29udHJpYnV0aW9ucy9nZW1zLWdtZi56aXAiPmdlbXMtZ21mLnppcDwvYT48L2xpPgoJCTwvdWw+CgkJPHA+PC9wPgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPlZpc3VhbCBFZGl0b3IKCQlQcm9qZWN0PC9iPjwvZm9udD48L3A+CgkJPHA+VGhlIFZpc3VhbCBFZGl0b3IgKFZFKSBwcm9qZWN0IGhhcyBkZXZlbG9wZWQgY29tcG9uZW50cyB0aGF0IGhhdmUgYQoJCWxvdCBvZiBjb21tb24gd2l0aCB0aGUgZ29hbHMgb2YgR01GLCBpbmNsdWRpbmc6IGFuIEVNRiBtb2RlbCBmb3IgdGhlCgkJR0VGIHBhbGV0dGUsIGEgZnJhbWV3b3JrIGZvciBhbGxvd2luZyBFZGl0UG9saWNpZXMgd29yayB3aXRoIEVNRiwgYQoJCXByb3BlcnR5IHNoZWV0IHRoYXQgd29ya3Mgd2l0aCBhbiBFTUYgbW9kZWwsIGFuZCBhIGNvbW1vbiBkaWFncmFtCgkJbW9kZWwuPC9wPgoJCTx1bD4KCQkJPGxpPlByZXNlbnRhdGlvbiBEYXRlL1RpbWU6IFRCRDwvbGk+CgkJCTxsaT5SZXNwb25zaWJsZSBJbmRpdmlkdWFsKHMpOiA8YSBocmVmPSJtYWlsdG86d2luY2hlc3RAdWsuaWJtLmNvbSI+Sm9lCgkJCVdpbmNoZXN0ZXI8L2E+PC9saT4KCQk8L3VsPgoJCTxwPjwvcD4KCQk8L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCIgd2lkdGg9IjE2Ij4KCQk8cCBhbGlnbj0ibGVmdCI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvaW1hZ2VzL0FkYXJyb3cuZ2lmIgoJCQlib3JkZXI9IjAiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSIiPjwvcD4KCQk8L3RkPgoKCQk8dGQgd2lkdGg9IjEwMCUiPgoJCTxwPjxmb250IGZhY2U9ImFyaWFsLGhlbHZldGljYSxnZW5ldmEiIHNpemU9Ii0xIj48Yj5YYWN0aXVtPC9iPjwvZm9udD48L3A+CgkJPHA+WGFjdGl1bSdzIFhNRi1Nb3NhaWMgcHJvZHVjdCBoYXMgbWFueSBvZiB0aGUgY2FwYWJpbGl0aWVzIHNwZWNpZmllZAoJCWluIEdNRidzIHJlcXVpcmVtZW50cywgcGx1cyBzZXZlcmFsIGJleW9uZCBpdHMgc2NvcGUuPC9wPgoJCTx1bD4KCQkJPGxpPlByZXNlbnRhdGlvbiBEYXRlL1RpbWU6IFRCRDwvbGk+CgkJCTxsaT5SZXNwb25zaWJsZSBJbmRpdmlkdWFsKHMpOiA8YQoJCQkJaHJlZj0ibWFpbHRvOmFuZHkuZXZhbnNAeGFjdGl1bS5jb20iPkFuZHkgRXZhbnM8L2E+PC9saT4KCQk8L3VsPgoJCTxwPjwvcD4KCQk8L3RkPgoJPC90cj4KPC90YWJsZT4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+PGhyLz4KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjUiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+Cgk8dHI+CgkJPHRkPjxoMj5BZGRpdGlvbmFsIFJlc291cmNlczwvaDI+PC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkPgoJCTxwIGRpcj0ibHRyIj5JbiBhZGRpdGlvbiB0byB0aG9zZSB3aG8gaGF2ZSBleHByZXNzZWQgYW4gaW50ZXJlc3QgaW4KCQljb250cmlidXRpbmcgdG8gdGhlIHByb2plY3QsIGEgbnVtYmVyIG9mIG90aGVyIHJlc291cmNlcyBhcmUKCQlyZWNvbW1lbmRlZCBmb3IgcmV2aWV3OjwvcD4KCQk8L3RkPgoJPC90cj4KPC90YWJsZT4KPC9kaXY+CgoKCgo8dGFibGU+Cgk8dHI+CgkJPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNiI+CgkJPHAgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2ltYWdlcy9BZGFycm93LmdpZiIKCQkJYm9yZGVyPSIwIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iIj48L3A+CgkJPC90ZD4KCgkJPHRkIHdpZHRoPSIxMDAlIj4KCQk8cD48Zm9udCBmYWNlPSJhcmlhbCxoZWx2ZXRpY2EsZ2VuZXZhIiBzaXplPSItMSI+PGI+UHJvZHVjdHMvUHJvamVjdHMKCQliYXNlZCBvbiBFTUYrR0VGPC9iPjwvZm9udD48L3A+CgkJPHA+PC9wPgoJCTx1bD4KCQkJPGxpPjxhCgkJCQlocmVmPSJodHRwOi8vd3d3LmRzdGMuZWR1LmF1L1Jlc2VhcmNoL1Byb2plY3RzL1BlZ2FtZW50by9qYW5lLyIKCQkJCXRhcmdldD0iX2JsYW5rIj5KQU5FIG1vZGVsLXNwZWNpZmljIGVkaXRvciBnZW5lcmF0b3I8L2E+PC9saT4KCQkJPGxpPjxhCgkJCQlocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL3ZpZXdjdnMvaW5kZXguY2dpL29yZy5lY2xpcHNlLmdlZi5leGFtcGxlcy5lZGlhZ3JhbS8/Y3Zzcm9vdD1Ub29sc19Qcm9qZWN0Ij5lRGlhZ3JhbQoJCQlzYW1wbGUgZnJvbSB0aGUgR0VGIHRlYW0gPC9hPjwvbGk+CgkJPC91bD4KCQk8cD48L3A+CgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPlBhcGVycy9QdWJsaWNhdGlvbnMvU3BlY2lmaWNhdGlvbnM8L2I+PC9mb250PjwvcD4KCQk8cD48L3A+CgkJPHVsPgoJCQk8bGk+PGEKCQkJCWhyZWY9Imh0dHA6Ly9wdWJsaWItYi5ib3VsZGVyLmlibS5jb20vUmVkYm9va3MubnNmL1JlZGJvb2tBYnN0cmFjdHMvc2cyNDYzMDIuaHRtbCIKCQkJCXRhcmdldD0iX2JsYW5rIj5JQk0gUmVkYm9vazogRWNsaXBzZSBEZXZlbG9wbWVudCB1c2luZyB0aGUgR3JhcGhpY2FsCgkJCUVkaXRpbmcgRnJhbWV3b3JrIGFuZCB0aGUgRWNsaXBzZSBNb2RlbGluZyBGcmFtZXdvcms8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub21nLm9yZy9jZ2ktYmluL2RvYz9wdGMvMjAwMy0wOS0wMSIKCQkJCXRhcmdldD0iX2JsYW5rIj5VTUwyIERpYWdyYW0gSW50ZXJjaGFuZ2UgU3BlY2lmaWNhdGlvbjwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iaHR0cDovL3Rmcy5jcy50dS1iZXJsaW4uZGUvfmthcnN0ZW5lL3B1YmxpYy9nRUVIVDA0LnBkZiIKCQkJCXRhcmdldD0iX2JsYW5rIj5Ub3dhcmRzIEdyYXBoIFRyYW5zZm9ybWF0aW9uIEJhc2VkIEdlbmVyYXRpb24gb2YKCQkJVmlzdWFsIEVkaXRvcnMgdXNpbmcgRWNsaXBzZTwvYT48L2xpPgoJCTwvdWw+CgkJPHA+PC9wPgoJCTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTYiPgoJCTxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9pbWFnZXMvQWRhcnJvdy5naWYiCgkJCWJvcmRlcj0iMCIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9IiI+PC9wPgoJCTwvdGQ+CgoJCTx0ZCB3aWR0aD0iMTAwJSI+CgkJPHA+PGZvbnQgZmFjZT0iYXJpYWwsaGVsdmV0aWNhLGdlbmV2YSIgc2l6ZT0iLTEiPjxiPlJlbGF0ZWQKCQlUZWNobm9sb2dpZXM8L2I+PC9mb250PjwvcD4KCQk8cD48L3A+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0iaHR0cDovL2FsYmluaS54YWN0aXVtLmNvbS9jb250ZW50LyIgdGFyZ2V0PSJfYmxhbmsiPlhhY3RpdW0ncwoJCQlYTUYtTW9zYWljPC9hPjwvbGk+CgkJCTxsaT48YQoJCQkJaHJlZj0iaHR0cDovL2xhYnMubXNkbi5taWNyb3NvZnQuY29tL3RlYW1zeXN0ZW0vV29ya3Nob3AvRFNMVG9vbHMvZGVmYXVsdC5hc3B4IgoJCQkJdGFyZ2V0PSJfYmxhbmsiPk1pY3Jvc29mdCdzIERvbWFpbi1TcGVjaWZpYyBMYW5ndWFnZSAoRFNMKSBUb29sczwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iaHR0cDovL2F0b20zLmNzLm1jZ2lsbC5jYS8iIHRhcmdldD0iX2JsYW5rIj5BVG9NMzwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iaHR0cDovL3d3dzItZGF0YS5pbmZvcm1hdGlrLnVuaWJ3LW11ZW5jaGVuLmRlL0RpYUdlbi8iCgkJCQl0YXJnZXQ9Il9ibGFuayI+RGlhR2VuPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJodHRwOi8vdGZzLmNzLnR1LWJlcmxpbi5kZS9+Z2VuZ2VkLyIgdGFyZ2V0PSJfYmxhbmsiPkdlbkdFRDwvYT48L2xpPgoJCTwvdWw+CgkJPHA+PC9wPgoJCTwvdGQ+Cgk8L3RyPgo8L3RhYmxlPgkJCgkJCgkJCgk8L2Rpdj4KPC9kaXY+CgoKRU9IVE1MOwoKCgkjIEdlbmVyYXRlIHRoZSB3ZWIgcGFnZQoJJEFwcC0+Z2VuZXJhdGVQYWdlKCR0aGVtZSwgJE1lbnUsICROYXYsICRwYWdlQXV0aG9yLCAkcGFnZUtleXdvcmRzLCAkcGFnZVRpdGxlLCAkaHRtbCk7Cj8+Cg==