PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0FSUkFZX1BPUF9CQUNLPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfQVJSQVlfUE9QX0JBQ0s8L2I+IG1hY3JvIHBvcHMgYW4gZWxlbWVudCBmcm9tIHRoZSBlbmQgb2YgYW4gPGk+YXJyYXk8L2k+LgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9BUlJBWV9QT1BfQkFDSzwvYj4oPGk+YXJyYXk8L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+YXJyYXk8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+YXJyYXk8L2k+IHRvIHBvcCBhbiBlbGVtZW50IGZyb20uCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5SZW1hcmtzPC9oND4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIHJldHVybnMgPGk+YXJyYXk8L2k+IGFmdGVyIHJlbW92aW5nIHRoZSBsYXN0IGVsZW1lbnQuJm5ic3A7CgkJCUlmIDxpPmFycmF5PC9pPiBoYXMgbm8gZWxlbWVudHMsIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhpcyBtYWNybyBpcyB1bmRlZmluZWQuCgkJPC9kaXY+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyB1c2VzIDxiPkJPT1NUX1BQX1JFUEVBVDwvYj4gaW50ZXJuYWxseS4mbmJzcDsKCQkJVGhlcmVmb3JlLCB0byB1c2UgdGhlIDxpPno8L2k+IHBhcmFtZXRlciBwYXNzZWQgZnJvbSBvdGhlciBtYWNyb3MgdGhhdCB1c2UKCQkJPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPiwgc2VlIDxiPkJPT1NUX1BQX0FSUkFZX1BPUF9CQUNLX1o8L2I+CgkJPC9kaXY+Cgk8aDQ+U2VlIEFsc288L2g0PgoJCTx1bD4KCQkJPGxpPjxhIGhyZWY9ImFycmF5X3BvcF9iYWNrX3ouaHRtbCI+Qk9PU1RfUFBfQVJSQVlfUE9QX0JBQ0tfWjwvYT48L2xpPgoJCTwvdWw+Cgk8aDQ+UmVxdWlyZW1lbnRzPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL2FycmF5L3BvcF9iYWNrLmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvYXJyYXkvcG9wX2JhY2suaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvYXJyYXkvcG9wX2JhY2suaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2FycmF5L3BvcF9iYWNrLmhwcDwvYT4mZ3Q7CgojZGVmaW5lIEFSUkFZICgzLCAoYSwgYiwgYykpCgo8YSBocmVmPSJhcnJheV9wb3BfYmFjay5odG1sIj5CT09TVF9QUF9BUlJBWV9QT1BfQkFDSzwvYT4oQVJSQVkpIC8vIGV4cGFuZHMgdG8gKDIsIChhLCBiKSkKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=