PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX01VTDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX01VTDwvYj4gbWFjcm8gZXhwYW5kcyB0byB0aGUgcHJvZHVjdCBvZiBpdHMgYXJndW1lbnRzLgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9NVUw8L2I+KDxpPng8L2k+LCA8aT55PC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0Png8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbXVsdGlwbGljYW5kIG9mIHRoZSBvcGVyYXRpb24uJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCQk8ZHQ+eTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSBtdWx0aXBsaWVyIG9mIHRoZSBvcGVyYXRpb24uJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgdGhlIHByb2R1Y3Qgb2YgPGk+eDwvaT4gYW5kIDxpPnk8L2k+IGlzIGdyZWF0ZXIgdGhhbiA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LCB0aGUgcmVzdWx0IGlzIHNhdHVyYXRlZCB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCTwvZGl2PgoJCTxkaXY+CgkJCVByZXZpb3VzbHksIHRoaXMgbWFjcm8gY291bGQgbm90IGJlIHVzZWQgaW5zaWRlIDxiPkJPT1NUX1BQX1dISUxFPC9iPi4mbmJzcDsKCQkJVGhlcmUgaXMgbm8gbG9uZ2VyIGFueSBzdWNoIHJlc3RyaWN0aW9uLiZuYnNwOwoJCQlJdCBpcyBtb3JlIGVmZmljaWVudCwgaG93ZXZlciwgdG8gdXNlIDxiPkJPT1NUX1BQX01VTF9EPC9iPiBpbiBzdWNoIGEgc2l0dWF0aW9uLgoJCTwvZGl2PgoJCTxkaXY+CgkJCVRoaXMgbWFjcm8gaXMgdGhlIG1vc3QgZWZmaWNpZW50IHdoZW4gPGk+eDwvaT4gaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDxpPnk8L2k+LiZuYnNwOwoJCQlIb3dldmVyLCB0aGUgZWZmaWNpZW5jeSBnYWluIGlzIG5vdCB3b3J0aCBhY3R1YWxseSBjb21wYXJpbmcgdGhlIHR3byBhcmd1bWVudHMgcHJpb3IgdG8gaW52b2NhdGlvbi4mbmJzcDsKCQkJSW4gb3RoZXIgd29yZHMsIDxpPng8L2k+IHNob3VsZCBiZSB0aGUgdmFsdWUgdGhhdCBpcyA8aT5tb3N0IGxpa2VseTwvaT4gdG8gYmUgdGhlIGxhcmdlc3Qgb2YgdGhlIHR3byBvcGVyYW5kcy4KCQk8L2Rpdj4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0ibGltaXRfbWFnLmh0bWwiPkJPT1NUX1BQX0xJTUlUX01BRzwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0ibXVsX2QuaHRtbCI+Qk9PU1RfUFBfTVVMX0Q8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9hcml0aG1ldGljL211bC5odG1sIj4mbHQ7Ym9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvbXVsLmhwcCZndDs8L2E+CgkJPC9kaXY+Cgk8aDQ+U2FtcGxlIENvZGU8L2g0Pgo8ZGl2PjxwcmU+CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL2FyaXRobWV0aWMvbXVsLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL211bC5ocHA8L2E+Jmd0OwoKPGEgaHJlZj0ibXVsLmh0bWwiPkJPT1NUX1BQX01VTDwvYT4oNCwgNCkgLy8gZXhwYW5kcyB0byAxNgo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==