PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0NPTU1BX0lGPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfQ09NTUFfSUY8L2I+IG1hY3JvIGNvbmRpdGlvbmFsbHkgZXhwYW5kcyB0byBhIGNvbW1hLgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9DT01NQV9JRjwvYj4oPGk+Y29uZDwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD5jb25kPC9kdD4KCQkJPGRkPgoJCQkJVGhlIGNvbmRpdGlvbiB0aGF0IGRldGVybWluZXMgaWYgYSB0aGUgbWFjcm8gZXhwYW5kcyB0byBhIGNvbW1hIG9yIG5vdGhpbmcuJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+Y29uZDwvaT4gZXhwYW5kcyB0byA8aT4wPC9pPiwgdGhpcyBtYWNybyBleHBhbmRzIHRvIG5vdGhpbmcuJm5ic3A7CgkJCU90aGVyd2lzZSwgaXQgZXhwYW5kcyB0byBhIGNvbW1hLgoJCTwvZGl2PgoJCTxkaXY+CgkJCVRoZSBwcmVwcm9jZXNzb3IgaW50ZXJwcmV0cyBjb21tYXMgYXMgYXJndW1lbnQgc2VwYXJhdG9ycyBpbiBtYWNybyBpbnZvY2F0aW9ucy4mbmJzcDsKCQkJQmVjYXVzZSBvZiB0aGlzLCBjb21tYXMgcmVxdWlyZSBzcGVjaWFsIGhhbmRsaW5nLgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9tYWcuaHRtbCI+Qk9PU1RfUFBfTElNSVRfTUFHPC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvcHVuY3R1YXRpb24vY29tbWFfaWYuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYV9pZi5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJPGg0PlNhbXBsZSBDb2RlPC9oND4KPGRpdj48cHJlPgojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9wdW5jdHVhdGlvbi9jb21tYV9pZi5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vY29tbWFfaWYuaHBwPC9hPiZndDsKI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvcmVwZXRpdGlvbi9yZXBlYXQuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0LmhwcDwvYT4mZ3Q7CgojZGVmaW5lIE1BQ1JPKHosIG4sIHRleHQpIDxhIGhyZWY9ImNvbW1hX2lmLmh0bWwiPkJPT1NUX1BQX0NPTU1BX0lGPC9hPihuKSB0ZXh0Cgo8YSBocmVmPSJyZXBlYXQuaHRtbCI+Qk9PU1RfUFBfUkVQRUFUPC9hPigzLCBNQUNSTywgY2xhc3MpIC8vIGV4cGFuZHMgdG8gY2xhc3MsIGNsYXNzLCBjbGFzcwo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==