PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX05PVF9FUVVBTDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX05PVF9FUVVBTDwvYj4gbWFjcm8gY29tcGFyZXMgdHdvIHZhbHVlcyBmb3IgaW5lcXVhbGl0eS4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfTk9UX0VRVUFMPC9iPig8aT54PC9pPiwgPGk+eTwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD54PC9kdD4KCQkJPGRkPgoJCQkJVGhlIGxlZnQgb3BlcmFuZCBvZiB0aGUgY29tcGFyaXNvbi4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX01BRzwvYj4uCgkJCTwvZGQ+CgkJCTxkdD55PC9kdD4KCQkJPGRkPgoJCQkJVGhlIHJpZ2h0IG9wZXJhbmQgb2YgdGhlIGNvbXBhcmlzb24uJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+eDwvaT4gaXMgZXF1YWwgdG8gPGk+eTwvaT4sIHRoaXMgbWFjcm8gZXhwYW5kcyB0byA8aT4wPC9pPi4mbmJzcDsKCQkJT3RoZXJ3aXNlLCBpdCBleHBhbmRzIHRvIDxpPjE8L2k+LgoJCTwvZGl2PgoJCTxkaXY+CgkJCVByZXZpb3VzbHksIHRoaXMgbWFjcm8gY291bGQgbm90IGJlIHVzZWQgaW5zaWRlIDxiPkJPT1NUX1BQX1dISUxFPC9iPi4mbmJzcDsKCQkJVGhlcmUgaXMgbm8gbG9uZ2VyIGFueSBzdWNoIHJlc3RyaWN0aW9uIGJlY2F1c2UgdGhpcyBtYWNybyBubyBsb25nZXIgdXNlcyA8Yj5CT09TVF9QUF9XSElMRTwvYj4uCgkJPC9kaXY+Cgk8aDQ+U2VlIEFsc288L2g0PgoJCTx1bD4KCQkJPGxpPjxhIGhyZWY9ImxpbWl0X21hZy5odG1sIj5CT09TVF9QUF9MSU1JVF9NQUc8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Im5vdF9lcXVhbF9kLmh0bWwiPkJPT1NUX1BQX05PVF9FUVVBTF9EPC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvY29tcGFyaXNvbi9ub3RfZXF1YWwuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL25vdF9lcXVhbC5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJPGg0PlNhbXBsZSBDb2RlPC9oND4KPGRpdj48cHJlPgojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9jb21wYXJpc29uL25vdF9lcXVhbC5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9ub3RfZXF1YWwuaHBwPC9hPiZndDsKCjxhIGhyZWY9Im5vdF9lcXVhbC5odG1sIj5CT09TVF9QUF9OT1RfRVFVQUw8L2E+KDQsIDMpIC8vIGV4cGFuZHMgdG8gMQo8YSBocmVmPSJub3RfZXF1YWwuaHRtbCI+Qk9PU1RfUFBfTk9UX0VRVUFMPC9hPig1LCA1KSAvLyBleHBhbmRzIHRvIDAKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=