PGh0bWw+Cgk8aGVhZD4KCQk8dGl0bGU+Qk9PU1RfUFBfU0VRX1JFUExBQ0U8L3RpdGxlPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgoJPC9oZWFkPgoJPGJvZHk+CgkJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQkJVGhlIDxiPkJPT1NUX1BQX1NFUV9SRVBMQUNFPC9iPiBtYWNybyByZXBsYWNlcyBhbiBlbGVtZW50IGluIGEgPGk+c2VxPC9pPi4KCQk8L2Rpdj4KCQk8aDQ+CgkJCVVzYWdlCgkJPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfU0VRX1JQTEFDRTwvYj4oPGk+c2VxPC9pPiwgPGk+aTwvaT4sIDxpPmVsZW08L2k+KQoJCTwvZGl2PgoJCTxoND4KCQkJQXJndW1lbnRzCgkJPC9oND4KCQk8ZGw+CgkJCTxkdD5zZXE8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+c2VxPC9pPiBpbiB3aGljaCBhbiBlbGVtZW50IGlzIHRvIGJlIHJlcGxhY2VkLgoJCQk8L2RkPgoJCQk8ZHQ+aTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSB6ZXJvLWJhc2VkIHBvc2l0aW9uIGluIDxpPnNlcTwvaT4gb2YgdGhlIGVsZW1lbnQgdG8gYmUgcmVwbGFjZWQuJm5ic3A7IAoJCQkJVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfU0VRX1NJWkU8L2I+KDxpPnNlcTwvaT4pIC0gPGk+MTwvaT4uCgkJCTwvZGQ+CgkJCTxkdD5lbGVtPC9kdD4KCQkJPGRkPgoJCQkJVGhlIGVsZW1lbnQgdG8gcmVwbGFjZSB0aGUgZWxlbWVudCBhdCBpbmRleCA8aT5pPC9pPiB3aXRoaW4gPGk+c2VxPC9pPi4KCQkJPC9kZD4KCQk8L2RsPgoJCTxoND4KCQkJUmVtYXJrcwoJCTwvaDQ+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyByZXR1cm5zIDxpPnNlcTwvaT4gYWZ0ZXIgcmVwbGFjaW5nIHRoZSBlbGVtZW50IGF0IGluZGV4IDxpPmk8L2k+IHdpdGgKCQkJPGk+ZWxlbTwvaT4uCgkJPC9kaXY+CgkJPGg0PgoJCQlSZXF1aXJlbWVudHMKCQk8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvc2VxL3JlcGxhY2UuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9zZXEvcmVwbGFjZS5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJCTxoND4KCQkJU2FtcGxlIENvZGUKCQk8L2g0PgoJCTxkaXY+CgkJCTxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL3NlcS9yZXBsYWNlLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvcmVwbGFjZS5ocHA8L2E+Jmd0OwoKI2RlZmluZSBTRVEgKGEpKGIpKHgpKGQpCgo8YSBocmVmPSJzZXFfcmVwbGFjZS5odG1sIj5CT09TVF9QUF9TRVFfUkVQTEFDRTwvYT4oU0VRLCAyLCBjKSAvLyBleHBhbmRzIHRvIChhKShiKShjKShkKQo8L3ByZT4KCQk8L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KCTwvYm9keT4KPC9odG1sPgo=