PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX1RVUExFX1JFTV9DVE9SPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfVFVQTEVfUkVNX0NUT1I8L2I+IG1hY3JvIHJlbW92ZXMgdGhlIHBhcmVudGhlc2VzIGZyb20gYSA8aT50dXBsZTwvaT4gb2YgdGhlIHNwZWNpZmllZCBzaXplLgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9UVVBMRV9SRU1fQ1RPUjwvYj4oPGk+c2l6ZTwvaT4sIDxpPnR1cGxlPC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0PnNpemU8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgc2l6ZSBvZiB0aGUgPGk+dHVwbGU8L2k+IGZyb20gd2hpY2ggdGhlIHBhcmVudGhlc2VzIGFyZSB0byBiZSByZW1vdmVkLiZuYnNwOwoJCQkJVmFsaWQgPGk+dHVwbGU8L2k+IHNpemVzIHJhbmdlIGZyb20gPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfTElNSVRfVFVQTEU8L2I+LiZuYnNwOwoJCQk8L2RkPgoJCQk8ZHQ+dHVwbGU8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+dHVwbGU8L2k+IGZyb20gd2hpY2ggdGhlIHBhcmVudGhlc2lzIGFyZSByZW1vdmVkLgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJVGhlIDxpPnNpemU8L2k+IGFyZ3VtZW50IG11c3QgYmUgdGhlIGFjdHVhbCBzaXplIG9mIDxpPnR1cGxlPC9pPi4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0ibGltaXRfdHVwbGUuaHRtbCI+Qk9PU1RfUFBfTElNSVRfVFVQTEU8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy90dXBsZS9yZW0uaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9yZW0uaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvdHVwbGUvZWxlbS5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvcmVtLmhwcDwvYT4mZ3Q7Cgo8YSBocmVmPSJ0dXBsZV9yZW1fY3Rvci5odG1sIj5CT09TVF9QUF9UVVBMRV9SRU1fQ1RPUjwvYT4oMywgKHgsIHksIHopKSAvLyBleHBhbmRzIHRvIHgsIHksIHoKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=