PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0VYUFJfSUlGPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfRVhQUl9JSUY8L2I+IG1hY3JvIGV4cGFuZHMgdG8gaXRzIHNlY29uZCBhcmd1bWVudCBpZiBpdHMgZmlyc3QgYXJndW1lbnQgaXMgPGk+MTwvaT4gYW5kIGV4cGFuZHMgdG8gbm90aGluZyBpZiBpdHMgZmlyc3QgYXJndW1lbnQgaXMgPGk+MDwvaT4uCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0VYUFJfSUlGPC9iPig8aT5iaXQ8L2k+LCA8aT5leHByPC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0PmJpdDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSBjb25kaXRpb24gdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSByZXN1bHQgaXMgPGk+ZXhwcjwvaT4gb3Igbm90aGluZy4mbmJzcDsKCQkJCVRoaXMgdmFsdWUgbXVzdCBleHBhbmQgdG8gPGk+MDwvaT4gb3IgPC9pPjE8L2k+LgoJCQk8L2RkPgoJCQk8ZHQ+ZXhwcjwvZHQ+CgkJCTxkZD4KCQkJCVRoZSByZXN1bHQgb2YgdGhlIGV4cGFuc2lvbiBpZiA8aT5iaXQ8L2k+IGlzIDxpPjE8L2k+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyA8aT5kb2VzIG5vdDwvaT4gcGVyZm9ybSBhIGJvb2xlYW4gY29udmVyc2lvbiBvbiBpdHMgZmlyc3QgYXJndW1lbnQuJm5ic3A7CgkJCUlmIHRoYXQgY29udmVyc2lvbiBpcyBuZWNlc3NhcnksIHVzZSA8Yj5CT09TVF9QUF9FWFBSX0lGPC9iPiBpbnN0ZWFkLgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJleHByX2lmLmh0bWwiPkJPT1NUX1BQX0VYUFJfSUY8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9ImxpbWl0X21hZy5odG1sIj5CT09TVF9QUF9MSU1JVF9NQUc8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9jb250cm9sL2V4cHJfaWlmLmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC9leHByX2lpZi5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJPGg0PlNhbXBsZSBDb2RlPC9oND4KPGRpdj48cHJlPgojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9sb2dpY2FsL2FuZC5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvbG9naWNhbC9hbmQuaHBwPC9hPiZndDsKI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvY29udHJvbC9leHByX2lpZi5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC9leHByX2lpZi5ocHA8L2E+Jmd0OwoKI2RlZmluZSBJTlNFUlRfQU5EKHAsIHEsIHRleHQpIFwKICAgPGEgaHJlZj0iZXhwcl9paWYuaHRtbCI+Qk9PU1RfUFBfRVhQUl9JSUY8L2E+KCBcCiAgICAgIDxhIGhyZWY9ImFuZC5odG1sIj5CT09TVF9QUF9BTkQ8L2E+KHAsIHEpLCBcCiAgICAgIHRleHQgXAogICApIFwKICAgLyoqLwoKSU5TRVJUX0FORCgyLCAzLCBhYmMpIC8vIGV4cGFuZHMgdG8gYWJjCklOU0VSVF9BTkQoMCwgNywgeHl6KSAvLyBleHBhbmRzIHRvIG5vdGhpbmcKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=