PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX1JQQVJFTl9JRjwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX1JQQVJFTl9JRjwvYj4gbWFjcm8gY29uZGl0aW9uYWxseSBleHBhbmRzIHRvIGEgcmlnaHQgcGFyZW50aGVzaXMuCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX1JQQVJFTl9JRjwvYj4oPGk+Y29uZDwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD5jb25kPC9kdD4KCQkJPGRkPgoJCQkJVGhlIGNvbmRpdGlvbiB0aGF0IGRldGVybWluZXMgaWYgYSB0aGUgbWFjcm8gZXhwYW5kcyB0byBhIHJpZ2h0IHBhcmVudGhlc2lzIG9yIG5vdGhpbmcuJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+Y29uZDwvaT4gZXhwYW5kcyB0byA8aT4wPC9pPiwgdGhpcyBtYWNybyBleHBhbmRzIHRvIG5vdGhpbmcuJm5ic3A7CgkJCU90aGVyd2lzZSwgaXQgZXhwYW5kcyB0byBhIHJpZ2h0IHBhcmVudGhlc2lzLgoJCTwvZGl2PgoJCTxkaXY+CgkJCVRoZSBwcmVwcm9jZXNzb3IgaW50ZXJwcmV0cyBwYXJlbnRoZXNlcyBhcyBkZWxpbWl0ZXJzIGluIG1hY3JvIGludm9jYXRpb25zLiZuYnNwOwoJCQlCZWNhdXNlIG9mIHRoaXMsIHBhcmVudGhlc2VzIHJlcXVpcmUgc3BlY2lhbCBoYW5kbGluZy4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0ibGltaXRfbWFnLmh0bWwiPkJPT1NUX1BQX0xJTUlUX01BRzwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0ibHBhcmVuX2lmLmh0bWwiPkJPT1NUX1BQX0xQQVJFTl9JRjwvYT48L2xpPgoJCTwvdWw+Cgk8aDQ+UmVxdWlyZW1lbnRzPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL3B1bmN0dWF0aW9uL3BhcmVuX2lmLmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW5faWYuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvcHVuY3R1YXRpb24vcGFyZW5faWYuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL3B1bmN0dWF0aW9uL3BhcmVuX2lmLmhwcDwvYT4mZ3Q7CgojZGVmaW5lIE1BQ1JPKGMsIHgpIDxhIGhyZWY9ImxwYXJlbl9pZi5odG1sIj5CT09TVF9QUF9MUEFSRU5fSUY8L2E+KGMpIHggPGEgaHJlZj0icnBhcmVuX2lmLmh0bWwiPkJPT1NUX1BQX1JQQVJFTl9JRjwvYT4oYykKCk1BQ1JPKDAsIHRleHQpIC8vIGV4cGFuZHMgdG8gdGV4dApNQUNSTygxLCB0ZXh0KSAvLyBleHBhbmRzIHRvICh0ZXh0KQo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==