PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0FSUkFZX1BPUF9GUk9OVDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX0FSUkFZX1BPUF9GUk9OVDwvYj4gbWFjcm8gcG9wcyBhbiBlbGVtZW50IGZyb20gdGhlIGVuZCBvZiBhbiA8aT5hcnJheTwvaT4uCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0FSUkFZX1BPUF9GUk9OVDwvYj4oPGk+YXJyYXk8L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+YXJyYXk8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+YXJyYXk8L2k+IHRvIHBvcCBhbiBlbGVtZW50IGZyb20uCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5SZW1hcmtzPC9oND4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIHJldHVybnMgPGk+YXJyYXk8L2k+IGFmdGVyIHJlbW92aW5nIHRoZSBmaXJzdCBlbGVtZW50LiZuYnNwOwoJCQlJZiA8aT5hcnJheTwvaT4gaGFzIG5vIGVsZW1lbnRzLCB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoaXMgbWFjcm8gaXMgdW5kZWZpbmVkLgoJCTwvZGl2PgoJCTxkaXY+CgkJCVRoaXMgbWFjcm8gdXNlcyA8Yj5CT09TVF9QUF9SRVBFQVQ8L2I+IGludGVybmFsbHkuJm5ic3A7CgkJCVRoZXJlZm9yZSwgdG8gdXNlIHRoZSA8aT56PC9pPiBwYXJhbWV0ZXIgcGFzc2VkIGZyb20gb3RoZXIgbWFjcm9zIHRoYXQgdXNlCgkJCTxiPkJPT1NUX1BQX1JFUEVBVDwvYj4sIHNlZSA8Yj5CT09TVF9QUF9BUlJBWV9QT1BfRlJPTlRfWjwvYj4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0iYXJyYXlfcG9wX2Zyb250X3ouaHRtbCI+Qk9PU1RfUFBfQVJSQVlfUE9QX0ZST05UX1o8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9hcnJheS9wb3BfZnJvbnQuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9hcnJheS9wb3BfZnJvbnQuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvYXJyYXkvcG9wX2Zyb250Lmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9hcnJheS9wb3BfZnJvbnQuaHBwPC9hPiZndDsKCiNkZWZpbmUgQVJSQVkgKDMsIChhLCBiLCBjKSkKCjxhIGhyZWY9ImFycmF5X3BvcF9mcm9udC5odG1sIj5CT09TVF9QUF9BUlJBWV9QT1BfRlJPTlQ8L2E+KEFSUkFZKSAvLyBleHBhbmRzIHRvICgyLCAoYiwgYykpCjwvcHJlPjwvZGl2PgoJPGhyIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxpPqkgQ29weXJpZ2h0IDxhIGhyZWY9Imh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tIiB0YXJnZXQ9Il90b3AiPkhvdXNlbWFycXVlIE95PC9hPiAyMDAyPC9pPgoJCTwvYnI+PGk+qSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDI8L2k+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8cD48c21hbGw+RGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCgkJYWNjb21wYW55aW5nIGZpbGUgPGEgaHJlZj0iLi4vLi4vLi4vLi4vTElDRU5TRV8xXzAudHh0Ij5MSUNFTlNFXzFfMC50eHQ8L2E+IG9yCgkJY29weSBhdCA8YSBocmVmPQoJCSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiPnd3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3NtYWxsPjwvcD4KCTwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K