PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPlJlcXVlc3QgZGF0YSBoYW5kbGluZzwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NS4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJXZWJzaCBSZWZlcmVuY2UgMy42LjBiNSI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IldlYnNoIFJlZmVyZW5jZSAzLjYuMGI1Ij48bGluayByZWw9InByZXYiIGhyZWY9ImNvbW1hbmRfZGlzcGF0Y2hpbmdfYW5kX3Nlc3Npb25fbWFuYWdlbWVudC5odG1sIiB0aXRsZT0iQ29tbWFuZCBkaXNwYXRjaGluZyBhbmQgc2Vzc2lvbiBtYW5hZ2VtZW50Ij48bGluayByZWw9Im5leHQiIGhyZWY9InJlc3BvbnNlX2RhdGFfaGFuZGxpbmcuaHRtbCIgdGl0bGU9IlJlc3BvbnNlIGRhdGEgaGFuZGxpbmciPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPlJlcXVlc3QgZGF0YSBoYW5kbGluZzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImNvbW1hbmRfZGlzcGF0Y2hpbmdfYW5kX3Nlc3Npb25fbWFuYWdlbWVudC5odG1sIj5QcmV2PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj6gPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJyZXNwb25zZV9kYXRhX2hhbmRsaW5nLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJSZXF1ZXN0IGRhdGEgaGFuZGxpbmciPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0icmVxdWVzdF9kYXRhX2hhbmRsaW5nIj48L2E+UmVxdWVzdCBkYXRhIGhhbmRsaW5nPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0id2ViOjpyZXF1ZXN0Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJ3ZWI6OnJlcXVlc3QiPjwvYT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgoJPC9wPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+PGNvZGUgY2xhc3M9ImNvbW1hbmQiPndlYjo6cmVxdWVzdDwvY29kZT48L3NwYW4+ICA/PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b3B0aW9uczwvY29kZT48L2VtPj8gPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPj8gPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+Pzwvc3Bhbj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCTwvcD48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I2JiYmJmZiI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPjxjb2RlIGNsYXNzPSJjb21tYW5kIj53ZWI6OnJlcXVlc3Q8L2NvZGU+PC9zcGFuPiAgPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPj8gPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmRlZmF1bHQ8L2NvZGU+PC9lbT4/PC9zcGFuPjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglPcHRpb25zIGFyZTogPHR0Pi1jb3VudDwvdHQ+LCA8dHQ+LXNldDwvdHQ+LAogICAgICAgIDx0dD4tbGFwcGVuZDwvdHQ+LCA8dHQ+LW5hbWVzPC90dD4sCiAgICAgICAgPHR0Pi11bnNldDwvdHQ+LCA8dHQ+LXJlc2V0PC90dD4gYW5kCiAgICAgICAgPHR0Pi1jaGFubmVsPC90dD4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoKCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGlzIGFuIGFjY2Vzc29yIHRvIHJlcXVlc3QKCXNwZWNpZmljIGluZm9ybWF0aW9uOiBlaXRoZXIgQ0dJIHJlbGF0ZWQgKHN0YW5kIGFsb25lCiAgICAgICAgV2Vic2gpIG9yIEFwYWNoZSByZWxhdGVkIChtb2Rfd2Vic2gpLgoKCTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I2JiYmJmZiI+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IDx0dD4tbmFtZXM8L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlSZXR1cm5zIGEgbGlzdCBvZiBhbGwga25vd24ga2V5cy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiA8dHQ+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5PC9jb2RlPjwvZW0+PC90dD4KCSAgICAgID88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPjx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kZWZhdWx0PC9jb2RlPjwvZW0+PC90dD48L3NwYW4+Pzwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlSZXR1cm5zIHRoZSB2YWx1ZSBmb3IgPHR0PmtleTwvdHQ+LiBDYW4gYmUgYQoJCWxpc3QuIEluIGNhc2UgdGhhdCA8dHQ+a2V5PC90dD4gZG9lcyBub3QKCQlleGlzdCwgcmV0dXJuIDx0dD5kZWZhdWx0PC90dD4sIGlmIGl0IGlzCgkJZ2l2ZW4sIG9yIGFuIGVtcHR5IHN0cmluZy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJICAgICAgPHR0Pi1jb3VudDwvdHQ+IDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlSZXR1cm5zIG51bWJlciBvZiBpdGVtcyBpbiBsaXN0IGZvcgoJCTx0dD5rZXk8L3R0PjsgcmV0dXJucyAwIGlmCgkJPHR0PmtleTwvdHQ+IGRvZXMgbm90IGV4aXN0LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I2JiYmJmZiI+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkgICAgICA8dHQ+LXNldDwvdHQ+IDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlEb2VzIHRoZSBzYW1lIGFzIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkJPHR0PmtleTwvdHQ+LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I2JiYmJmZiI+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkgICAgICA8dHQ+LXNldDwvdHQ+IDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3R0PgoJICAgICAgPHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC90dD4KCSAgICAgID88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPjx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvdHQ+PC9zcGFuPj8KCSAgICAgID88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPjx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4uLi48L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj4/PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCUFkZHMgdGhlIHBhcmFtZXRlciA8dHQ+a2V5PC90dD4gdG8gdGhlCgkJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gZGF0YS4gQW55IGV4aXN0aW5nIHBhcmFtZXRlcnMgCiAgICAgICAgICAgICAgICB3aXRoIDx0dD5rZXk8L3R0PiBhcmUgb3ZlcndyaXR0ZW4uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCSAgICAgIDx0dD4tbGFwcGVuZDwvdHQ+IDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3R0PgoJICAgICAgPHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC90dD4KCSAgICAgID88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPjx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvdHQ+PC9zcGFuPj8KCSAgICAgID88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPjx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4uLi48L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj4/PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCUFwcGVuZHMgcGFyYW1ldGVycyB3aXRoIHRoZSBzYW1lIDx0dD5rZXk8L3R0PgoJCXRvIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBkYXRhLiBJbiB0aGlzIGNhc2UgCgkJdGhlIGV4aXN0aW5nIDx0dD52YWx1ZTwvdHQ+IGlzIG5vdCBvdmVyd3JpdHRlbi4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJICAgICAgPHR0Pi11bnNldDwvdHQ+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCURlbGV0ZXMgYWxsIHBhcmFtZXRlcnMgZnJvbSB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gZGF0YS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJICAgICAgPHR0Pi11bnNldDwvdHQ+IDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlEZWxldGVzIGEgcGFyYW1ldGVyIGZyb20gdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGRhdGEuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCSAgICAgIDx0dD4tcmVzZXQ8L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlEZWxldGVzIGFsbCBwYXJhbWV0ZXJzIGZyb20gdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkJZGF0YSAobGlrZSAnPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0IC11bnNldDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+JyksIAoJCXJlbW92ZXMgYWxsIHN0YXRpYyBwYXJhbWV0ZXJzIChsaWtlIAoJCSc8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OmNtZHVybGNmZyAtdW5zZXQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPicpLCBhbGwgZm9ybQoJCXZhcmlhYmxlcyAobGlrZSAnPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpmb3JtdmFyIC11bnNldDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+JyksCgkJYWxsIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIChsaWtlCgkJJzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cGFyYW0gLXVuc2V0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4nKSwgYW5kIGFsbAoJCXRlbXBvcmFyeSBmaWxlcyBjcmVhdGVkIGJ5IEhUVFAgZm9ybSB1cGxvYWQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCSAgICAgIDx0dD4tY2hhbm5lbDwvdHQ+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCVJldHVybnMgdGhlIHByZXNldCBkZWZhdWx0IGNoYW5uZWwgZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QuCiAgICAgICAgICAgICAgICAoTm90ZSB0aGF0IHRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQKCQljaGFubmVsLikKCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCglTcGVjaWFsIGNhc2UgZm9yIGhhbmRsaW5nIEJhc2ljIEF1dGg6CgoJPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gPHR0PkFVVEhfVVNFUjwvdHQ+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCVJldHVybnMgdGhlIHVzZXJuYW1lIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIHdoZW4gQmFzaWMgQXV0aCBpcwoJCXJlcXVlc3RlZCBhbmQgQXBhY2hlIGRvZXMgbm90IGhhbmRsZSBpdCAoaS5lLiBpZiBBcGFjaGUgZG9lcwoJCW5vdCBwcm92aWRlIFJFTU9URV9VU0VSKS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiA8dHQ+QVVUSF9QVzwvdHQ+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCVJldHVybnMgdGhlIHBhc3N3b3JkIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIHdoZW4gQmFzaWMgQXV0aCBpcwoJCXJlcXVlc3RlZCBhbmQgQXBhY2hlIGRvZXMgbm90IGhhbmRsZSBpdCAoaS5lLiBpZiBBcGFjaGUgZG9lcwoJCW5vdCBwcm92aWRlIFJFTU9URV9VU0VSKS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCQogICAgICAgIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBwcm92aWRlcyBhIGJhc2ljIGFwcCB0aGF0IHJlcXVpcmVzIEJhc2ljIEF1dGggYW5kCiAgICAgICAgY29tcGxldGVseSBieXBhc3NlcyBBcGFjaGUncyBhdXRoIG1lY2hhbmlzbXMuCgogICAgICAgIDwvcD48ZGl2IGNsYXNzPSJleGFtcGxlIj48YSBuYW1lPSJpZDI3MzY0NzgiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPkV4YW1wbGWgNy6gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPndlYjo6cmVxdWVzdCBBVVRIX1VTRVI8L3NwYW4+PC9zcGFuPiBhbmQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPndlYjo6cmVxdWVzdCBBVVRIX1BXPC9zcGFuPjwvc3Bhbj48L2I+PC9wPjxkaXYgY2xhc3M9ImV4YW1wbGUtY29udGVudHMiPjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2JiZmZiYiA7IHdpZHRoOjc1JSIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KIyByZXR1cm5zIDEgaWYgdXNlci9wYXNzIHByb3ZpZGVkIGlzIHdlYnNoL3dlYnNoCnByb2MgaXNBdXRoZW50aWNhdGVkIHt9IHsKICAgIGlmIHtbd2ViOjpyZXF1ZXN0IC1jb3VudCBBVVRIX1VTRVJdfSB7CglzZXQgdXNlciBbd2ViOjpyZXF1ZXN0IEFVVEhfVVNFUl0KCXNldCBwYXNzIFt3ZWI6OnJlcXVlc3QgQVVUSF9QV10KCWlmIHtbc3RyaW5nIGVxICR1c2VyICJ3ZWJzaCJdICZhbXA7JmFtcDsgW3N0cmluZyBlcSAkcGFzcyAid2Vic2giXX0gewoJICAgIHJldHVybiAxCgl9CiAgICB9CiAgICByZXR1cm4gMAp9CgojIHRoZSBkZWZhdWx0IGNvbW1hbmQgcmVxdWVzdHMgQmFzaWMgQXV0aCB1bmxlc3MgcHJvdmlkZWQgY29ycmVjdGx5CndlYjo6Y29tbWFuZCBkZWZhdWx0IHsKICAgIGlmIHshW2lzQXV0aGVudGljYXRlZF19IHsKCXdlYjo6cmVzcG9uc2UgLXNldCBTdGF0dXMgezQwMSBBdXRob3JpemF0aW9uIFJlcXVpcmVkfQoJd2ViOjpyZXNwb25zZSAtc2V0IFdXVy1BdXRoZW50aWNhdGUge0Jhc2ljIHJlYWxtPSJXZWJzaCBhdXRoIn0KCXdlYjo6cHV0ICJTb3JyeSwgeW91J3JlIG91dCIKICAgIH0gZWxzZSB7Cgl3ZWI6OnB1dCAiWW91J3JlIGluIgogICAgfQp9CgojIGNvbW1hbmQgZGlzcGF0aAp3ZWI6OmRpc3BhdGNoCgkgIDwvcHJlPjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPjxiciBjbGFzcz0iZXhhbXBsZS1icmVhayI+CgogICAgICAgIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPk5vdGU6PC9lbT48L3NwYW4+IENHSSB1c3VhbGx5IGRvZXMgbm90IGV4cG9zZSB0aGUgQmFzaWMgQXV0aAogICAgICAgIEF1dGhvcml6YXRpb24gaGVhZGVyIGZvciBzZWN1cml0eSByZWFzb25zLiBUaGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24KICAgICAgICBmb3IgQXBhY2hlIChhcyBvZiB2ZXJzaW9uIDIuMC41MSkgd2lsbCBhbGxvdyBXZWJzaCB0byBhbHNvIHByb3ZpZGUgdGhlCiAgICAgICAgc2FtZSBmdW5jdGlvbmFsaXR5IHdoZW4gcnVubmluZyBpbiBDR0kgKHJlcXVpcmVzIG1vZF9zZXRlbnZpZik6CgogICAgICAgIDwvcD48ZGl2IGNsYXNzPSJleGFtcGxlIj48YSBuYW1lPSJpZDI3MzY1MzgiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPkV4YW1wbGWgOC6gQXBhY2hlIGNvbmZpZ3VyYXRpb24gZm9yIEFVVEhfVVNFUiBhbmQgQVVUSF9QVyB0byB3b3JrIHVuZGVyIENHSTwvYj48L3A+PGRpdiBjbGFzcz0iZXhhbXBsZS1jb250ZW50cyI+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojYmJmZmJiIDsgd2lkdGg6NzUlIiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgpTZXRFbnZJZiBBdXRob3JpemF0aW9uICJeKEJhc2ljIC4rKSQiIEFVVEhfQkFTSUM9JDEKCSAgPC9wcmU+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+PGJyIGNsYXNzPSJleGFtcGxlLWJyZWFrIj4KCiAgICAgICAgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+SW1wb3J0YW50IHNlY3VyaXR5IGNvbnNpZGVyYXRpb246PC9lbT48L3NwYW4+IFRoaXMKCWNvbmZpZ3VyYXRpb24gd2lsbCBhbHNvIGV4cG9zZSB0aGUgYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24gdG8KCVdlYnNoIHdoZW4gQXBhY2hlIGRvZXMgaGFuZGxlIHRoZSBhdXRoZW50aWNhdGlvbi4gQWx0aG91Z2ggV2Vic2gKCWhpZGVzIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGF0IGNhc2UsIGl0IGlzIGFsd2F5cyBhdmFpbGFibGUgaW4gdGhlCglDR0kgZW52aXJvbm1lbnQuIFVzZSB0aGlzIGNvbmZpZ3VyYXRpb24gY2FyZWZ1bGx5IQoKICAgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJ3ZWI6OnBhcmFtIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJ3ZWI6OnBhcmFtIj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpwYXJhbTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCgoJPC9wPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+PGNvZGUgY2xhc3M9ImNvbW1hbmQiPndlYjo6cGFyYW08L2NvZGU+PC9zcGFuPiAgPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbjwvY29kZT48L2VtPj8gPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPj8gPzxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PyA/PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Li4uPC9jb2RlPjwvZW0+Pzwvc3Bhbj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCglPcHRpb25zIGFyZTogPHR0Pi1jb3VudDwvdHQ+LCA8dHQ+LXNldDwvdHQ+LAoJPHR0Pi1sYXBwZW5kPC90dD4sIDx0dD4tbmFtZXM8L3R0PiwgYW5kCgk8dHQ+LXVuc2V0PC90dD4KCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cGFyYW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBpcyBhbiBhY2Nlc3NvciB0byBzdGF0ZSBpbmZvcm1hdGlvbgoJZnJvbSB0aGUgcXVlcnlzdHJpbmcuICBTdXBwb3NlIHRoZSBxdWVyeXN0cmluZyBpcyAibGFuZz1FTiIuCglBZnRlciA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OmRpc3BhdGNoPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaGFzIHBhcnNlZCB0aGUgcXVlcnlzdHJpbmcsCgk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gPHR0Pmxhbmc8L3R0PiB3aWxsCglyZXBvcnQgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPkVOPC9jb2RlPi4gIEFkZGl0aW9uYWx5LAoJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpwYXJhbTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNhbiBtYW5hZ2UgdGhpcyBkYXRhIGFuZCBhZGQsIGFwcGVuZCwKCWFuZCBkZWxldGUgcGFyYW1ldGVycyBhcyBuZWVkZWQuCgoJPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpwYXJhbTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IDx0dD4tbmFtZXM8L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlSZXR1cm5zIGEgbGlzdCBvZiBhbGwga25vd24ga2V5cy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gPHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvdHQ+CgkgICAgICA/PHNwYW4gY2xhc3M9Im9wdGlvbmFsIj48dHQ+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZGVmYXVsdDwvY29kZT48L2VtPjwvdHQ+PC9zcGFuPj88L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206NiI+CgkJUmV0dXJucyB0aGUgdmFsdWUgZm9yIDx0dD5rZXk8L3R0Pi4gQ2FuIGJlIGEKCQlsaXN0LiBJbiBjYXNlIHRoYXQgPHR0PmtleTwvdHQ+IGRvZXMgbm90CgkJZXhpc3QsIHJldHVybiA8dHQ+ZGVmYXVsdDwvdHQ+LCBpZiBpdCBpcwoJCWdpdmVuLCBvciBhbiBlbXB0eSBzdHJpbmcuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpwYXJhbTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkgICAgICA8dHQ+LWNvdW50PC90dD4gPHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvdHQ+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCVJldHVybnMgbnVtYmVyIG9mIGl0ZW1zIGluIGxpc3Qgb2YKCQk8dHQ+a2V5PC90dD4uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojYmJiYmZmIj48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpwYXJhbTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IDx0dD4tc2V0PC90dD4KCSAgICAgIDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlEb2VzIHRoZSBzYW1lIGFzIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cGFyYW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJCTx0dD5rZXk8L3R0Pi4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gPHR0Pi1zZXQ8L3R0PgoJICAgICAgPHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvdHQ+IDx0dD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvdHQ+CgkgICAgICA/PHNwYW4gY2xhc3M9Im9wdGlvbmFsIj48dHQ+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3R0Pjwvc3Bhbj4/CgkgICAgICA/PHNwYW4gY2xhc3M9Im9wdGlvbmFsIj48dHQ+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Li4uPC9jb2RlPjwvZW0+PC90dD48L3NwYW4+Pzwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2Ij4KCQlBZGRzIHRoZSBwYXJhbWV0ZXIgPHR0PmtleTwvdHQ+IHRvIHRoZQoJCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cGFyYW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBkYXRhLiAgQW55IGV4aXN0aW5nIAoJCXBhcmFtZXRlcnMgd2l0aAk8dHQ+a2V5PC90dD4gYXJlIG92ZXJ3cml0dGVuLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I2JiYmJmZiI+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cGFyYW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJICAgICAgPHR0Pi1sYXBwZW5kPC90dD4gPHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvdHQ+CgkgICAgICA8dHQ+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3R0PgoJICAgICAgPzxzcGFuIGNsYXNzPSJvcHRpb25hbCI+PHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC90dD48L3NwYW4+PwoJICAgICAgPzxzcGFuIGNsYXNzPSJvcHRpb25hbCI+PHR0PjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPi4uLjwvY29kZT48L2VtPjwvdHQ+PC9zcGFuPj88L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206NiI+CgkJQXBwZW5kcyBwYXJhbWV0ZXJzIHdpdGggdGhlIHNhbWUgPHR0PmtleTwvdHQ+CgkJdG8gdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6cGFyYW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBkYXRhLiAgCgkJSW4gdGhpcyBjYXNlIHRoZSBleGlzdGluZyA8dHQ+dmFsdWU8L3R0PiBpcyBub3QKCQlvdmVyd3JpdHRlbi4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gPHR0Pi11bnNldDwvdHQ+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjYiPgoJCURlbGV0ZXMgYWxsIHBhcmFtZXRlcnMgZnJvbSB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpwYXJhbTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkJZGF0YS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCSAgICAgIDx0dD4tdW5zZXQ8L3R0PiA8dHQ+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5PC9jb2RlPjwvZW0+PC90dD48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206NiI+CgkJRGVsZXRlcyBhIHBhcmFtZXRlciBmcm9tIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCQlkYXRhLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoKICAgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJ3ZWI6OmZvcm12YXIiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9IndlYjo6Zm9ybXZhciI+PC9hPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6Zm9ybXZhcjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCgk8L3A+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNiYmJiZmYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj48Y29kZSBjbGFzcz0iY29tbWFuZCI+d2ViOjpmb3JtdmFyPC9jb2RlPjwvc3Bhbj4gID88ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb25zPC9jb2RlPjwvZW0+PyA/PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5PC9jb2RlPjwvZW0+PyA/PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4/PC9zcGFuPjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICAgIEV4YWN0bHkgbGlrZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OnBhcmFtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4uCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6Zm9ybXZhcjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGlzIGFuIGFjY2Vzc29yIHRvIEhUTUwgRk9STQoJZGF0YS4gIEFmdGVyIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6ZGlzcGF0Y2g8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBoYXMgcGFyc2VkIHRoZQoJUE9TVCBkYXRhLCB5b3UgY2FuIGFjY2VzcyBhbGwgZm9ybSBmaWVsZHMgdXNpbmcKCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPndlYjo6Zm9ybXZhcjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+LgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglJbiBhZGRpdGlvbiB0byB0aGlzLCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OmZvcm12YXI8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBjYW4gYWxzbyAKCWhhbmRsZSBmaWxlcyB1cGxvYWRlZAoJdmlhIE5ldHNjYXBlIDIuMCBmaWxlIHVwbG9hZCBtZWNoYW5pc20uIEluIHRoaXMgY2FzZSwgdGhlIHJlc3VsdCBvZgoJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+d2ViOjpmb3JtdmFyPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaXMgYSBsaXN0IHdpdGggZm91ciBlbGVtZW50czoKCVRoZSBmaXJzdCBlbGVtZW50IGNvbnRhaW5zIHRoZSBuYW1lIG9mIHRoZSBsb2NhbGx5IHNhdmVkIGZpbGU7Cgl0aGUgc2Vjb25kIGVsZW1lbnQgY29udGFpbnMgdGhlIHJlbW90ZSBmaWxlIG5hbWU7IHRoZSB0aGlyZCBlbGVtZW50IAoJaXMgc2V0IHRvIDAgaWYgdGhlIHVwbG9hZCB3YXMgc3VjY2Vzc2Z1bCwgLTEgaWYgdXBsb2FkIGlzIGRpc2FibGVkIAoJKHNlZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OmNvbmZpZyB1cGxvYWRmaWxlc2l6ZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+KSBhbmQgbiAmZ3Q7IDAgaWYgbgoJQnl0ZXMgaGF2ZSBiZWVuIHRydW5jYXRlZCwgYmVjYXVzZSB0aGUgZmlsZSB3YXMgdG9vIGJpZy4gVGhlIGxhc3QgCgllbGVtZW50IGNvbnRhaW5zIHRoZSBtaW1lIHR5cGUgb2YgdGhlIGZpbGUuCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KICAgICAgICBOb3RlIHRoYXQgdGhlIHRlbXBvcmFyeSBmaWxlcyBhcmUgY3JlYXRlZCB3aXRoIHRoZSBwZXJtaXNzaW9ucwoJY29uZmlndXJlZCBieSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz53ZWI6OmNvbmZpZyBmaWxlcGVybWlzc2lvbnM8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiwKCXdoaWNoIGRlZmF1bHRzIHRvIDA2NDQuCiAgICAgIDwvcD48ZGl2IGNsYXNzPSJleGFtcGxlIj48YSBuYW1lPSJpZDI3MzcxMDQiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPkV4YW1wbGWgOS6gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPndlYjo6cGFyYW08L3NwYW4+PC9zcGFuPjwvYj48L3A+PGRpdiBjbGFzcz0iZXhhbXBsZS1jb250ZW50cyI+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojYmJmZmJiIDsgd2lkdGg6NzUlIiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgolIHdlYjo6cmVxdWVzdCBDT05URU5UX0xFTkdUSAolIHdlYjo6ZGlzcGF0Y2ggLXF1ZXJ5c3RyaW5nICJjbWQ9ZGVmYXVsdCZhbXA7dD0xMDAiIC1wb3N0ZGF0YSAiIiAtY21kICIiCiUgd2ViOjpwYXJhbSAtbmFtZXMKdCBjbWQKJSB3ZWI6OnBhcmFtIGNtZApkZWZhdWx0CiUgd2ViOjpwYXJhbSAtc2V0IGsgdgp2CiUgd2ViOjpwYXJhbSAtbmFtZXMKdCBjbWQgawolCTwvcHJlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0iZXhhbXBsZS1icmVhayI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJjb21tYW5kX2Rpc3BhdGNoaW5nX2FuZF9zZXNzaW9uX21hbmFnZW1lbnQuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+oDwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0icmVzcG9uc2VfZGF0YV9oYW5kbGluZy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Q29tbWFuZCBkaXNwYXRjaGluZyBhbmQgc2Vzc2lvbiBtYW5hZ2VtZW50oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gUmVzcG9uc2UgZGF0YSBoYW5kbGluZzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+Cg==