PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPjUuMy6gU291cmNlcnkgRysrIERlYnVnIFNwcml0ZSBPcHRpb25zPC90aXRsZT48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzLmNzcyIgdHlwZT0idGV4dC9jc3MiPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzQuMCI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iU291cmNlcnkgRysrIExpdGUiPjxsaW5rIHJlbD0idXAiIGhyZWY9InNwcml0ZS5odG1sIiB0aXRsZT0iQ2hhcHRlcqA1LqBTb3VyY2VyeSBHKysgRGVidWcgU3ByaXRlIj48bGluayByZWw9InByZXYiIGhyZWY9InNlYy1zcHJpdGUtaW52b2NhdGlvbi5odG1sIiB0aXRsZT0iNS4yLqBJbnZva2luZyBTb3VyY2VyeSBHKysgRGVidWcgU3ByaXRlIj48bGluayByZWw9Im5leHQiIGhyZWY9ImRlYnVnLXNwcml0ZS1yZGktdXJsLmh0bWwiIHRpdGxlPSI1LjQuoFJlbW90ZSBEZWJ1ZyBJbnRlcmZhY2UgRGV2aWNlcyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+NS4zLqBTb3VyY2VyeSBHKysgRGVidWcgU3ByaXRlIE9wdGlvbnM8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJzZWMtc3ByaXRlLWludm9jYXRpb24uaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Q2hhcHRlcqA1LqBTb3VyY2VyeSBHKysgRGVidWcgU3ByaXRlPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJkZWJ1Zy1zcHJpdGUtcmRpLXVybC5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJzZWMtc3ByaXRlLW9wdGlvbnMiPjwvYT41LjMuoFNvdXJjZXJ5IEcrKyBEZWJ1ZyBTcHJpdGUgT3B0aW9uczwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+VGhlIGZvbGxvd2luZyBjb21tYW5kLWxpbmUgb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSAKICAgIFNvdXJjZXJ5IEcrKyBEZWJ1ZyBTcHJpdGU6CgogICAgPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9Im9wdGlvbiI+LWI8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiBQcmludCBhIGxpc3Qgb2YgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Ym9hcmQtZmlsZTwvY29kZT48L2VtPgogICAgICBmaWxlcyBpbiB0aGUgYm9hcmQgY29uZmlnCiAgICAgIGRpcmVjdG9yeS4gIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9Im9wdGlvbiI+LWg8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiBQcmludCBhIGxpc3Qgb2YKICAgICAgb3B0aW9ucyBhbmQgdGhlaXIgbWVhbmluZ3MuICBBIGxpc3Qgb2YKICAgICAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZGV2aWNlLXVybDwvY29kZT48L2VtPiBzeW50YXhlcyBpcyBhbHNvCiAgICAgIHNob3duLiA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJvcHRpb24iPi1pPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4gUHJpbnQgYSBsaXN0IG9mCiAgICAgIHRoZSBhY2Nlc3NpYmxlIGRldmljZXMuICBJZiBhCiAgICAgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmRldmljZS11cmw8L2NvZGU+PC9lbT4gaXMgYWxzbyBzcGVjaWZpZWQsIG9ubHkKICAgICAgZGV2aWNlcyBmb3IgdGhhdCBkZXZpY2UgdHlwZSBhcmUgc2Nhbm5lZC4gIEVhY2ggc3VwcG9ydGVkIGRldmljZQogICAgICB0eXBlIGlzIGxpc3RlZCBhbG9uZyB3aXRoIHRoZSBvcHRpb25zIHRoYXQgY2FuIGJlIGFwcGVuZGVkIHRvCiAgICAgIHRoZSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kZXZpY2UtdXJsPC9jb2RlPjwvZW0+LiAgRm9yIGVhY2ggZGlzY292ZXJlZAogICAgICBkZXZpY2UsIHRoZSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kZXZpY2UtdXJsPC9jb2RlPjwvZW0+IGlzIHByaW50ZWQKICAgICAgYWxvbmcgd2l0aCBhIGRlc2NyaXB0aW9uIG9mIHRoYXQKICAgICAgZGV2aWNlLjwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9Im9wdGlvbiI+LWwgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+W2hvc3RdOnBvcnQ8L2NvZGU+PC9lbT48L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgogICAgICBTcGVjaWZ5IHRoZSBob3N0IGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyIHRvIGxpc3RlbiBmb3IgYSBHREIKICAgICAgY29ubmVjdGlvbi4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiwgdGhlIERlYnVnIFNwcml0ZQogICAgICBjb21tdW5pY2F0ZXMgd2l0aCBHREIgdXNpbmcgc3RkaW4gYW5kIHN0ZG91dC4gIElmIHlvdSBzdGFydCB0aGUKICAgICAgU3ByaXRlIGZyb20gd2l0aGluIEdEQiB1c2luZyB0aGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnRhcmdldCByZW1vdGUgfAogICAgICBhcm0tbm9uZS1saW51eC1nbnVlYWJpLa1zcHJpdGUgLi4uPC9jb2RlPiBjb21tYW5kLCB5b3UgZG8gbm90IG5lZWQgdGhpcwogICAgICBvcHRpb24uICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJvcHRpb24iPi1tPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4gTGlzdGVuIGZvcgogICAgICBtdWx0aXBsZSBzZXF1ZW50aWFsIGNvbm5lY3Rpb25zLiAgTm9ybWFsbHkgdGhlIERlYnVnIFNwcml0ZQogICAgICB0ZXJtaW5hdGVzIGFmdGVyIHRoZSBmaXJzdCBjb25uZWN0aW9uIGZyb20gR0RCIHRlcm1pbmF0ZXMuICBUaGlzCiAgICAgIG9wdGlvbiBpbnN0ZWFkIG1ha2VzIGl0IGxpc3RlbiBmb3IgYSBzdWJzZXF1ZW50IGNvbm5lY3Rpb24uICBUbwogICAgICB0ZXJtaW5hdGUgdGhlIFNwcml0ZSwgb3BlbiBhIGNvbm5lY3Rpb24gYW5kIHNlbmQgdGhlIHN0cmluZwogICAgICA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+RU5EXG48L2NvZGU+LjwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9Im9wdGlvbiI+LXE8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiBEbyBub3QgcHJpbnQgYW55CiAgICAgIG1lc3NhZ2VzLiA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJvcHRpb24iPi12PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4gUHJpbnQgYWRkaXRpb25hbAogICAgICBtZXNzYWdlcy4gPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KCiAgICBJZiBhbnkgb2YgPGNvZGUgY2xhc3M9Im9wdGlvbiI+LWI8L2NvZGU+LCA8Y29kZSBjbGFzcz0ib3B0aW9uIj4taTwvY29kZT4gb3IKICAgIDxjb2RlIGNsYXNzPSJvcHRpb24iPi1oPC9jb2RlPiBhcmUgZ2l2ZW4sIHRoZSBEZWJ1ZyBTcHJpdGUgdGVybWluYXRlcyBhZnRlcgogICAgcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiByYXRoZXIgdGhhbiB3YWl0aW5nIGZvciBhIGRlYnVnZ2VyCiAgICBjb25uZWN0aW9uLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9InNlYy1zcHJpdGUtaW52b2NhdGlvbi5odG1sIj5QcmV2PC9hPqA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9InNwcml0ZS5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImRlYnVnLXNwcml0ZS1yZGktdXJsLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj41LjIuoEludm9raW5nIFNvdXJjZXJ5IEcrKyBEZWJ1ZyBTcHJpdGWgPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPqA1LjQuoFJlbW90ZSBEZWJ1ZyBJbnRlcmZhY2UgRGV2aWNlczwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+Cg==