PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0NPTU1BPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfQ09NTUE8L2I+IG1hY3JvIGV4cGFuZHMgdG8gYSBjb21tYS4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfQ09NTUE8L2I+KCkKCQk8L2Rpdj4KCTxoND5SZW1hcmtzPC9oND4KCQk8ZGl2PgoJCQlUaGUgcHJlcHJvY2Vzc29yIGludGVycHJldHMgY29tbWFzIGFzIGFyZ3VtZW50IHNlcGFyYXRvcnMgaW4gbWFjcm8gaW52b2NhdGlvbnMuJm5ic3A7CgkJCUJlY2F1c2Ugb2YgdGhpcywgY29tbWFzIHJlcXVpcmUgc3BlY2lhbCBoYW5kbGluZy4KCQk8L2Rpdj4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvcHVuY3R1YXRpb24vY29tbWEuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYS5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJPGg0PlNhbXBsZSBDb2RlPC9oND4KPGRpdj48cHJlPgojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9jb250cm9sL2lmLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2lmLmhwcDwvYT4mZ3Q7CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2ZhY2lsaXRpZXMvZW1wdHkuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZW1wdHkuaHBwPC9hPiZndDsKI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvcHVuY3R1YXRpb24vY29tbWEuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL3B1bmN0dWF0aW9uL2NvbW1hLmhwcDwvYT4mZ3Q7Cgo8YSBocmVmPSJpZi5odG1sIj5CT09TVF9QUF9JRjwvYT4oMSwgPGEgaHJlZj0iY29tbWEuaHRtbCI+Qk9PU1RfUFBfQ09NTUE8L2E+LCA8YSBocmVmPSJlbXB0eS5odG1sIj5CT09TVF9QUF9FTVBUWTwvYT4pKCkgLy8gZXhwYW5kcyB0byAsCjwvcHJlPjwvZGl2PgoJPGhyIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxpPqkgQ29weXJpZ2h0IDxhIGhyZWY9Imh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tIiB0YXJnZXQ9Il90b3AiPkhvdXNlbWFycXVlIE95PC9hPiAyMDAyPC9pPgoJCTwvYnI+PGk+qSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDI8L2k+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8cD48c21hbGw+RGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCgkJYWNjb21wYW55aW5nIGZpbGUgPGEgaHJlZj0iLi4vLi4vLi4vLi4vTElDRU5TRV8xXzAudHh0Ij5MSUNFTlNFXzFfMC50eHQ8L2E+IG9yCgkJY29weSBhdCA8YSBocmVmPQoJCSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiPnd3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3NtYWxsPjwvcD4KCTwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K