PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJwdC1iciIgeG1sOmxhbmc9InB0LWJyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5EZXNjcmnn428gZGFzIG5vdmFzIGZ1bmNpb25hbGlkYWRlcyBkbyBBcGFjaGUgMi4wIC0gU2Vydmlkb3IgSFRUUCBBcGFjaGUgVmVyc+NvIDIuNTwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk3zZHVsb3M8L2E+IHwgPGEgaHJlZj0iLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+RGlyZXRyaXplczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4vZ2xvc3NhcnkuaHRtbCI+R2xvc3PhcmlvPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5NYXBhIGRvIHNpdGU8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5TZXJ2aWRvciBIVFRQIEFwYWNoZSBWZXJz428gMi41PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2ZlYXRoZXIucG5nIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPlNlcnZpZG9yIEhUVFA8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YefjbzwvYT4gJmd0OyA8YSBocmVmPSIuLyI+VmVyc+NvIDIuNTwvYT48L2Rpdj48ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPjxkaXYgaWQ9InByZWFtYmxlIj48aDE+RGVzY3Jp5+NvIGRhcyBub3ZhcyBmdW5jaW9uYWxpZGFkZXMgZG8gQXBhY2hlIDIuMDwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5M7W5ndWFzIERpc3Bvbu12ZWlzOiA8L3NwYW4+PGEgaHJlZj0iLi9kZS9uZXdfZmVhdHVyZXNfMl8wLmh0bWwiIGhyZWZsYW5nPSJkZSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJEZXV0c2NoIj4mbmJzcDtkZSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2VuL25ld19mZWF0dXJlc18yXzAuaHRtbCIgaHJlZmxhbmc9ImVuIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vZnIvbmV3X2ZlYXR1cmVzXzJfMC5odG1sIiBocmVmbGFuZz0iZnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vamEvbmV3X2ZlYXR1cmVzXzJfMC5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4va28vbmV3X2ZlYXR1cmVzXzJfMC5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL3B0LWJyL25ld19mZWF0dXJlc18yXzAuaHRtbCIgdGl0bGU9IlBvcnR1Z3XqcyAoQnJhc2lsKSI+Jm5ic3A7cHQtYnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9ydS9uZXdfZmVhdHVyZXNfMl8wLmh0bWwiIGhyZWZsYW5nPSJydSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJSdXNzaWFuIj4mbmJzcDtydSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL3RyL25ld19mZWF0dXJlc18yXzAuaHRtbCIgaHJlZmxhbmc9InRyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IlT8cmvnZSI+Jm5ic3A7dHImbmJzcDs8L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ib3V0b2ZkYXRlIj5Fc3RhIHRyYWR15+NvIHBvZGUgZXN0YXIgZGVzYXR1YWxpemFkYS4KICAgICAgICBDb25maXJhIGEgdmVyc+NvIGVtIEluZ2zqcyBwYXJhIG11ZGFu52FzIHJlY2VudGVzLjwvZGl2PgoKICA8cD5Fc3NlIGRvY3VtZW50byBkZXNjcmV2ZSBhbGd1bWFzIGRhcyBtdWRhbudhcyBwcmluY2lwYWlzCiAgICAgZW50cmUgYXMgdmVyc/VlcyAxLjMgZSAyLjAgZG8gU2Vydmlkb3IgSFRUUCBBcGFjaGUuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48dWwgaWQ9InRvYyI+PGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjb3JlIj5QcmluY2lwYWlzIE1lbGhvcmlhczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI21vZHVsZSI+TWVsaG9yaWFzIG5vcyBN82R1bG9zPC9hPjwvbGk+CjwvdWw+PGgzPlZlamEgdGFtYultPC9oMz48dWwgY2xhc3M9InNlZWFsc28iPjxsaT48YSBocmVmPSJ1cGdyYWRpbmcuaHRtbCI+QXR1YWxpemFuZG8gZGEgdmVyc+NvIDEuMyBwYXJhIDIuMDwvYT48L2xpPjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tZW504XJpb3M8L2E+PC9saT48L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImNvcmUiIGlkPSJjb3JlIj5QcmluY2lwYWlzIE1lbGhvcmlhczwvYT48L2gyPgogICAgCgogICAgPGRsPgogICAgICA8ZHQ+VGhyZWFkaW5nIFVuaXg8L2R0PgoKICAgICAgPGRkPkVtIHNpc3RlbWFzIFVuaXggY29tIHN1cG9ydGUgYSB0aHJlYWRzIFBPU0lYLCBvIEFwYWNoZSBwb2RlCiAgICAgIGZ1bmNpb25hciBlbSBtb2RvIGjtYnJpZG8gbXVsdGlwcm9jZXNzbyBlIG11bHRpdGhyZWFkLiBO428gZnVuY2lvbmEKICAgICAgZW0gdG9kYXMgY29uZmlndXJh5/VlcywgbWFzIG1lbGhvcmEgYSBlc2NhbGFiaWxpZGFkZSBlbSBtdWl0YXMuPC9kZD4KCiAgICAgIDxkdD5Ob3ZvIFNpc3RlbWEgZGUgQ29tcGlsYefjbzwvZHQ+CgogICAgICA8ZGQ+TyBzaXN0ZW1hIGRlIGNvbXBpbGHn428gZm9pIHJlZXNjcml0byBkbyB6ZXJvIHBhcmEgdXRpbGl6YXIgbwogICAgICA8Y29kZT5hdXRvY29uZjwvY29kZT4gZSBvIDxjb2RlPmxpYnRvb2w8L2NvZGU+LCB0b3JuYW5kbyBhCiAgICAgIGNvbmZpZ3VyYefjbyBkbyBzaXN0ZW1hIEFwYWNoZSBtYWlzIHNpbWlsYXIgYSBkZSBvdXRyb3MKICAgICAgcGFjb3Rlcy48L2RkPgoKICAgICAgPGR0PlN1cG9ydGUgTXVsdGktcHJvdG9jb2xvPC9kdD4KCiAgICAgIDxkZD5PIEFwYWNoZSBwb3NzdWkgYWdvcmEgdW1hIGluZnJhZXN0cnV0dXJhIGZlaXRhIHBhcmEgc3Vwb3J0YXIKICAgICAgbfpsdGlwbG9zIHByb3RvY29sb3MuIE8gbfNkdWxvIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9lY2hvLmh0bWwiPm1vZF9lY2hvPC9hPjwvY29kZT4g6SAgdW0KICAgICAgZXhlbXBsbyBpbHVzdHJhdGl2byBkZSBzdWEgdXRpbGl6Yefjby48L2RkPgoKICAgICAgPGR0PlN1cG9ydGUgQXBlcmZlaedvYWRvIHBhcmEgUGxhdGFmb3JtYXMgTuNvLVVuaXg8L2R0PgoKICAgICAgPGRkPk8gQXBhY2hlIDIuMCBlc3ThICBtYWlzIHLhcGlkbyBlIG1haXMgZXN04XZlbCBlbSBwbGF0YWZvcm1hcwogICAgICBO428tVW5peCBjb21vIEJlT1MsIE9TLzIgZSBXaW5kb3dzLiBDb20gYSBpbnRyb2R15+NvIGRlIG3zZHVsb3MKICAgICAgPGEgaHJlZj0ibXBtLmh0bWwiPm11bHRpLXByb2Nlc3NhbWVudG88L2E+IChNUE1zKSBlc3BlY+1maWNvcyBlIGEKICAgICAgQXBhY2hlIFBvcnRhYmxlIFJ1bnRpbWUgKEFQUiksIGVzc2FzIHBsYXRhZm9ybWFzIGVzdONvIGltcGxlbWVudGFuZG8KICAgICAgYXMgc3VhcyBBUElzIG5hdGl2YXMsIGV2aXRhbmRvIGFzIGNhbWFkYXMgZGUgZW11bGHn428gUE9TSVggcXVlIHNlCiAgICAgIG1vc3RyYXZhbSBsZW50YXMgZSBkZWZlaXR1b3Nhcy48L2RkPgoKICAgICAgPGR0Pk5vdmEgQVBJIEFwYWNoZTwvZHQ+CgogICAgICA8ZGQ+QSBBUEkgcGFyYSBt82R1bG9zIG11ZG91IHNpZ25pZmljYXRpdmFtZW50ZSBuYSB2ZXJz428gMi4wLgogICAgICBNdWl0b3MgZG9zIHByb2JsZW1hcyBkZSBvcmRlbmFtZW50by9wcmlvcmlkYWRlIGRhIHZlcnPjbwogICAgICAxLjMgZm9yYW0gcmVzb2x2aWRvcy4gQSB2ZXJz428gMi4wIGZheiBvIG9yZGVuYW1lbnRvIGF1dG9t4XRpY28KICAgICAgInBlci1ob29rIiBwYXJhIHBlcm1pdGlyIG1haXMgZmxleGliaWxpZGFkZS4gTm92YXMgY2hhbWFkYXMgZm9yYW0KICAgICAgYWRpY2lvbmFkYXMgcGFyYSBmb3JuZWNlciBjYXBhY2lkYWRlcyBhZGljaW9uYWlzIHNlbSBhIG5lY2Vzc2lkYWRlCiAgICAgIGRlIHNlIGFwbGljYXIgbmVuaHVtIHBhdGNoIGFvIHNlcnZpZG9yIEFwYWNoZSBwcmluY2lwYWwuPC9kZD4KCiAgICAgIDxkdD5TdXBvcnRlIElQdjY8L2R0PgoKICAgICAgPGRkPkVtIHNpc3RlbWFzIG9uZGUgbyBJUHY2IOkgc3Vwb3J0YWRvIHBlbGEgYmlibGlvdGVjYSBkZSBiYXNlCiAgICAgIEFwYWNoZSBQb3J0YWJsZSBSdW50aW1lLCBvIEFwYWNoZSBtb25pdG9yYSBwb3IgcGFkcuNvCiAgICAgIGFzIGludGVyZmFjZXMgSVB2Ni4gRW0gYWRp5+NvIGFzIGRpcmV0cml6ZXMgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21wbV9jb21tb24uaHRtbCNsaXN0ZW4iPkxpc3RlbjwvYT48L2NvZGU+LCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjbmFtZXZpcnR1YWxob3N0Ij5OYW1lVmlydHVhbEhvc3Q8L2E+PC9jb2RlPiBlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCN2aXJ0dWFsaG9zdCI+VmlydHVhbEhvc3Q8L2E+PC9jb2RlPiwgc3Vwb3J0YW0gY29ycmVudGVzIChzdHJpbmdzKSBkZQogICAgICBlbmRlcmXnb3MgbnVt6XJpY29zIGRvIHRpcG8gSVB2Ni4gKGV4LiAiPGNvZGU+TGlzdGVuCiAgICAgIFsyMDAxOmRiODo6MV06ODA4MDwvY29kZT4iKS48L2RkPgoKICAgICAgPGR0PkZpbHRyYW5kbzwvZHQ+CgogICAgICA8ZGQ+T3MgbfNkdWxvcyBkbyBBcGFjaGUgYWdvcmEgc+NvIGZlaXRvIGZpbHRyb3MgcXVlCiAgICAgIGFnZW0gbmEgY29ycmVudGUgZG8gY29udGX6ZG8gbmEgbWVkaWRhIHF1ZSBlc3RlIOkgZW50cmVndWUsIHRhbnRvCiAgICAgIG5hIGVudHJhZGEgcXVhbmRvIG5hIHNh7WRhIGRlIGRhZG9zIGRvIHNlcnZpZG9yLiDJIHBvc3PtdmVsIGVudONvLAogICAgICBwb3IgZXhlbXBsbywgcXVlIG8gcmV0b3JubyBkZSBkYWRvcyBkZSBzY3JpcHRzIENHSSBzZWphbSBhbmFsaXNhZG9zCiAgICAgIHBlbGFzIGRpcmV0cml6ZXMgZG8gIlNlcnZlciBTaWRlIEluY2x1ZGUiIHVzYW5kbyBvIGZpbHRybyA8Y29kZT5JTkNMVURFUzwvY29kZT4gZG8gPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luY2x1ZGUuaHRtbCI+bW9kX2luY2x1ZGU8L2E+PC9jb2RlPi4gTyBt82R1bG8gPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2V4dF9maWx0ZXIuaHRtbCI+bW9kX2V4dF9maWx0ZXI8L2E+PC9jb2RlPiwgcGVybWl0ZSBxdWUgcHJvZ3JhbWFzIGV4dGVybm9zIHRyYWJhbGhlbQogICAgICBjb21vIGZpbHRyb3MgZG8gbWVzbW8gbW9kbyBxdWUgYXBsaWNh5/VlcyBDR0kgZnVuY2lvbmFtIGNvbW8KICAgICAgbWFuaXB1bGFkb3Jlcy48L2RkPgoKICAgICAgPGR0PlJlc3Bvc3RhcyBkZSBFcnJvIE11bHRpLWxpbmd1YWlzPC9kdD4KCiAgICAgIDxkZD5NZW5zYWdlbnMgZGUgZXJybyBwYXJhIG8gbmF2ZWdhZG9yIGFnb3JhIHPjbyBmb3JuZWNpZGFzIGVtCiAgICAgIGRpdmVyc2FzIGztbmd1YXMsIHVzYW5kbyBkb2N1bWVudG9zIFNTSS4gUG9kZW0gc2VyIHBlcnNvbmFsaXphZGFzCiAgICAgIHBlbG8gYWRtaW5pc3RyYWRvciBxdWUgZGVzZWphciBkZWZpbmlyIHNldXMgcHLzcHJpb3MKICAgICAgcGFkcvVlcy48L2RkPgoKICAgICAgPGR0PkNvbmZpZ3VyYefjbyBTaW1wbGlmaWNhZGE8L2R0PgoKICAgICAgPGRkPk11aXRhcyBkaXJldHJpemVzIGNvbmZ1c2FzIGZvcmFtIHNpbXBsaWZpY2FkYXMuIEVudHJlIGVsYXMsCiAgICAgIDxjb2RlPlBvcnQ8L2NvZGU+IGUgPGNvZGU+QmluZEFkZHJlc3M8L2NvZGU+IG7jbyBleGlzdGVtCiAgICAgIG1haXM7IGFwZW5hcyBhIGRpcmV0cml6IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21wbV9jb21tb24uaHRtbCNsaXN0ZW4iPkxpc3RlbjwvYT48L2NvZGU+CiAgICAgIOkgdXNhZGEgcGFyYSBkaXJlY2lvbmFyIGVuZGVyZedvcyBJUDsgYSBkaXJldHJpeiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjc2VydmVybmFtZSI+U2VydmVyTmFtZTwvYT48L2NvZGU+IGVzcGVjaWZpY2EgbyBub21lIGRvIHNlcnZpZG9yCiAgICAgIGUgbyBu+m1lcm8gZGEgcG9ydGEgYXBlbmFzIHBhcmEgcmVkaXJlY2lvbmFtZW50byBlIHJlY29uaGVjaW1lbnRvCiAgICAgIGRlIGhvc3BlZGVpcm9zIHZpcnR1YWlzLjwvZGQ+CgogICAgICA8ZHQ+U3Vwb3J0ZSBOYXRpdm8gYW8gVW5pY29kZSBkbyBXaW5kb3dzIE5UPC9kdD4KCiAgICAgIDxkZD5PIEFwYWNoZSAyLjAgcGFyYSBXaW5kb3dzIE5UIGFnb3JhIHVzYSB1dGYtOCBwYXJhIGNvZGlmaWNh5+NvCiAgICAgIGRlIHRvZG9zIG9zIG5vbWVzIGRlIGFycXVpdm9zLiBBIHRyYWR15+NvIHBhcmEgbyBzaXN0ZW1hCiAgICAgIGJhc2UgVW5pY29kZSwgdG9ybmEgcG9zc+12ZWwgbyBzdXBvcnRlIG11bHRpLWxpbmd1YWwgcGFyYSB0b2RhcwogICAgICBhcyBpbnN0YWxh5/VlcyBkYSBmYW3tbGlhIE5ULCBpbmNsdWluZG8gbyBXaW5kb3dzIDIwMDAgZSBXaW5kb3dzIFhQLgogICAgICA8ZW0+RXNzZSBzdXBvcnRlIG7jbyBzZSBlc3RlbmRlIGFvIFdpbmRvd3MgOTUsIDk4IG91IE1FLCBxdWUKICAgICAgY29udGludWFtIHVzYW5kbyBvIGPzZGlnbyBkZSBw4WdpbmFzIGRhIG3hcXVpbmEgbG9jYWwgcGFyYSBvCiAgICAgIGFjZXNzbyBhbyBzaXN0ZW1hIGRlIGFycXVpdm9zLjwvZW0+PC9kZD4KCiAgICAgIDxkdD5CaWJsaW90ZWNhIGRlIEV4cHJlc3P1ZXMgUmVndWxhcmVzIEF0dWFsaXphZGE8L2R0PgoKICAgICAgPGRkPk8gQXBhY2hlIDIuMCBpbmNsdWkgYSA8YSBocmVmPSJodHRwOi8vd3d3LnBjcmUub3JnLyI+QmlibGlvdGVjYQogICAgICBkZSBFeHByZXNz9WVzIFJlZ3VsYXJlcyBDb21wYXTtdmVpcyBQZXJsPC9hPiAoUENSRSkuICBUb2RhcyBhcwogICAgICBhdmFsaWHn9WVzIGRlIGV4cHJlc3P1ZXMgcmVndWxhcmVzIHVzYW0gYSBtYWlzIHBvZGVyb3NhIHNpbnRheGUKICAgICAgZG8gUGVybCA1LjwvZGQ+CgogICAgPC9kbD4KICA8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9Im1vZHVsZSIgaWQ9Im1vZHVsZSI+TWVsaG9yaWFzIG5vcyBN82R1bG9zPC9hPjwvaDI+CiAgICAKCiAgICA8ZGw+CiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwiPm1vZF9zc2w8L2E+PC9jb2RlPjwvZHQ+CgogICAgICA8ZGQ+Tm92byBt82R1bG8gbm8gQXBhY2hlIDIuMC4gRXNzZSBt82R1bG8g6SB1bWEgaW50ZXJmYWNlCiAgICAgIHBhcmEgb3MgcHJvdG9jb2xvcyBkZSBjb2RpZmljYefjbyBTU0wvVExTIGZvcm5lY2lkb3MgcGVsYQogICAgICBPcGVuU1NMLjwvZGQ+CgogICAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2Rhdi5odG1sIj5tb2RfZGF2PC9hPjwvY29kZT48L2R0PgoKICAgICAgPGRkPk5vdm8gbfNkdWxvIG5vIEFwYWNoZSAyLjAuIEVzdGUgbfNkdWxvIGltcGxlbWVudGEgYXMKICAgICAgZXNwZWNpZmljYef1ZXMgZGUgQXV0b3JpYSBEaXN0cmlide1kYSBlIFZlcnP1ZXMgKERpc3RyaWJ1dGVkCiAgICAgIEF1dGhvcmluZyBhbmQgVmVyc2lvbmluZyAtIERBVikgcGFyYSBIVFRQLCBwYXJhIGEgcHVibGljYefjbwogICAgICBlIGEgbWFudXRlbufjbyBkZSBjb250ZfpkbyBkYSB3ZWIuPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfZGVmbGF0ZS5odG1sIj5tb2RfZGVmbGF0ZTwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5Ob3ZvIG3zZHVsbyBubyBBcGFjaGUgMi4wLiAgRXNzZSBt82R1bG8gcGVybWl0ZSBvIHN1cG9ydGUKICAgICAgYSBuYXZlZ2Fkb3JlcyBxdWUgc29saWNpdGFtIHF1ZSBvIGNvbnRl+mRvIHNlamEgY29tcHJpbWlkbyBhbnRlcwogICAgICBkYSBlbnRyZWdhLCBlY29ub21pemFuZG8gYmFuZGEgZGEgcmVkZS48L2RkPgoKICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoX2xkYXAuaHRtbCI+bW9kX2F1dGhfbGRhcDwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5Ob3ZvIG3zZHVsbyBubyBBcGFjaGUgMi4wLjQxLiBFc3RlIG3zZHVsbyBwZXJtaXRlIHF1ZSAKICAgICAgYmFuY29zIGRlIGRhZG9zIExEQVAgc2VqYW0gdXNhZG9zIHBhcmEgYXJtYXplbmFyIGNyZWRlbmNpYWlzCiAgICAgIHBhcmEgQXV0ZW50aWNh5+NvIELhc2ljYSBIVFRQLiBVbSBt82R1bG8gcXVlIG8gYWNvbXBhbmhhIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9sZGFwLmh0bWwiPm1vZF9sZGFwPC9hPjwvY29kZT4sIGZvcm5lY2UgYSBjb25jaWxpYefjbyBkZSBjb25lePVlcyBlIGFybWF6ZW5hbWVudG8KICAgICAgZGUgcmVzdWx0YWRvcy48L2RkPgoKICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoX2RpZ2VzdC5odG1sIj5tb2RfYXV0aF9kaWdlc3Q8L2E+PC9jb2RlPjwvZHQ+CgogICAgICA8ZGQ+SW5jbHVpIHN1cG9ydGUgYWRpY2lvbmFsIHBhcmEgYXJtYXplbmFtZW50byBkZSBzZXNz9WVzCiAgICAgIGF0cmF26XMgZGUgcHJvY2Vzc29zIHF1ZSB1c2FtIG1lbfNyaWEgY29tcGFydGlsaGFkYS48L2RkPgoKICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jaGFyc2V0X2xpdGUuaHRtbCI+bW9kX2NoYXJzZXRfbGl0ZTwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5Ob3ZvIG3zZHVsbyBubyBBcGFjaGUgMi4wLiBFc3RlIG1vZG8gZXhwZXJpbWVudGFsIHBlcm1pdGUgYQogICAgICB0cmFkdefjbyBkZSB0YWJlbGFzIGRlIGNhcmFjdGVyZXMgb3UgcmUtY29kaWZpY2Hn428uPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfZmlsZV9jYWNoZS5odG1sIj5tb2RfZmlsZV9jYWNoZTwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5Ob3ZvIG3zZHVsbyBubyBBcGFjaGUgMi4wLiBFc3NlIG3zZHVsbyBpbmNsdWkgYSBmdW5jaW9uYWxpZGFkZQogICAgICBkbyA8Y29kZT5tb2RfbW1hcF9zdGF0aWM8L2NvZGU+IGRvIEFwYWNoZSAxLjMsIGFs6W0gZGUgZGlzcG9uaWJpbGl6YXIKICAgICAgb3V0cmFzIHBvc3NpYmlsaWRhZGVzIGRlIGFybWF6ZW5hbWVudG8uPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaGVhZGVycy5odG1sIj5tb2RfaGVhZGVyczwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5Fc3RlIG3zZHVsbyBlc3ThIG11aXRvIG1haXMgZmxleO12ZWwgbm8gQXBhY2hlIDIuMC4gUG9kZQogICAgICBtb2RpZmljYXIgcGVkaWRvcyBkZSBjYWJl52FsaG9zIHVzYWRvcyBwZWxvIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9wcm94eS5odG1sIj5tb2RfcHJveHk8L2E+PC9jb2RlPiwgZSBpbmNvbmRpY2lvbmFsbWVudGUgcG9kZSBhanVzdGFyIGNhYmXnYWxob3MgZGUgcmVzcG9zdGFzLjwvZGQ+CgogICAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3Byb3h5Lmh0bWwiPm1vZF9wcm94eTwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5PIG3zZHVsbyBwcm94eSBmb2kgdG90YWxtZW50ZSByZWVzY3JpdG8gcGFyYSBsZXZhciB2YW50YWdlbQogICAgICBkYSBub3ZhIGluZnJhZXN0cnV0dXJhIGRlIGZpbHRybyBlIGltcGxlbWVudGFyIHVtIHByb3h5IG1haXMgZmllbCBlIAogICAgICBkZSBhY29yZG8gY29tIG8gcGFkcuNvIEhUVFAvMS4xLiBBbOltIGRpc3NvLCB1bWEgbm92YSBzZefjbwogICAgICBkZSBjb25maWd1cmHn428gPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3Byb3h5Lmh0bWwjcHJveHkiPiZsdDtQcm94eSZndDs8L2E+PC9jb2RlPiBmb3JuZWNlIGNvbnRyb2xlcyBtYWlzIGxlZ+12ZWlzIChlIGludGVybmFtZW50ZQogICAgICBtYWlzIHLhcGlkb3MpIHBhcmEgc2l0ZXMgY29tIHByb3hpZXM7IGNvbmZpZ3VyYef1ZXMKICAgICAgc29icmVjYXJyZWdhZGFzIDxjb2RlPiZsdDtEaXJlY3RvcnkgInByb3h5Oi4uLiImZ3Q7PC9jb2RlPiwgbuNvCiAgICAgIHPjbyBzdXBvcnRhZGFzLiBPIG3zZHVsbyBhZ29yYSDpIGRpdmlkaWRvIGVtIHN1cG9ydGUKICAgICAgZGUgcHJvdG9jb2xvcyBlc3BlY+1maWNvcyBpbmNsdWluZG8gPGNvZGU+cHJveHlfY29ubmVjdDwvY29kZT4sCiAgICAgIDxjb2RlPnByb3h5X2Z0cDwvY29kZT4gZSA8Y29kZT5wcm94eV9odHRwPC9jb2RlPi48L2RkPgoKICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9uZWdvdGlhdGlvbi5odG1sIj5tb2RfbmVnb3RpYXRpb248L2E+PC9jb2RlPjwvZHQ+CgogICAgICA8ZGQ+QSBub3ZhIGRpcmV0cml6IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9uZWdvdGlhdGlvbi5odG1sI2ZvcmNlbGFuZ3VhZ2Vwcmlvcml0eSI+Rm9yY2VMYW5ndWFnZVByaW9yaXR5PC9hPjwvY29kZT4gcG9kZSBzZXIgdXNhZGEgcGFyYSBhc3NlZ3VyYXIgcXVlCiAgICAgIG8gY2xpZW50ZSByZWNlYmEgdW0g+m5pY28gZG9jdW1lbnRvIGVtIHRvZG9zIG9zIGNhc29zLCBhbyBpbnbpcyBkZQogICAgICByZXNwb3N0YXMgIk5PVCBBQ0NFUFRBQkxFIiBvdSAiTVVMVElQTEUgQ0hPSUNFUyIuIE5vdm9zIGFsZ29yaXRtb3MKICAgICAgZGUgbmVnb2NpYefjbyBlIHZpc/VlcyBt+mx0aXBsYXMgKE11bHRpVmlld3MpIGZvcmFtIG9yZ2FuaXphZG9zIHBhcmEKICAgICAgb2J0ZXIgcmVzdWx0YWRvcyBtYWlzIGNvbnNpc3RlbnRlcyBlIHVtYSBub3ZhIGZvcm1hIGRlIHRpcG8gZGUgbWFwYQogICAgICAobWFwIHR5cGUpIHF1ZSBwb2RlbSBpbmNsdWlyIG8gY29udGX6ZG8gZGUgZG9jdW1lbnRvcyDpIGZvcm5lY2lkby48L2RkPgoKICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRvaW5kZXguaHRtbCI+bW9kX2F1dG9pbmRleDwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5BcyBsaXN0YWdlbnMgZGUgZGlyZXTzcmlvcyBhdXRvbeF0aWNhcyBwb2RlbSBzZXIKICAgICAgY29uZmlndXJhZGFzIHBhcmEgdXNhciB0YWJlbGFzIEhUTUwgcGFyYSBmb3JtYXRh5/VlcyBtYWlzIGxpbXBhcwogICAgICBlIHBlcm1pdGlyIGNvbnRyb2xlcyBtYWlzIGFjdXJhZG9zIGRlIGNsYXNzaWZpY2Hn428sIGluY2x1aW5kbwogICAgICBvcmRlbmHn428gcG9yIHZlcnPjbyBlIGZpbHRybyBkYSBsaXN0YSBkZQogICAgICBkaXJldPNyaW9zIGF0cmF26XMgZGUgY2FyYWN0ZXJlcy1jb3JpbmdhLjwvZGQ+CgogICAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luY2x1ZGUuaHRtbCI+bW9kX2luY2x1ZGU8L2E+PC9jb2RlPjwvZHQ+CgogICAgICA8ZGQ+Tm92YXMgZGlyZXRyaXplcyBwZXJtaXRlbSBxdWUgYXMgdGFncyBwYWRy9WVzIDxlbT5zdGFydDwvZW0+IGUKICAgICAgPGVtPmVuZDwvZW0+IHBhcmEgZWxlbWVudG9zIFNTSSwgcG9zc2FtIHNlciBhbHRlcmFkYXMgZSBwZXJtaXRpciBxdWUKICAgICAgYXMgY29uZmlndXJh5/VlcyBkZSBmb3JtYXRvcyBkZSBlcnJvIGUgaG9yYSBzZWphbSBpbmNsde1kb3Mgbm8KICAgICAgYXJxdWl2byBkZSBjb25maWd1cmHn428gcHJpbmNpcGFsLCBhbyBpbnbpcyBkZSBzZXJlbSBhZGljaW9uYWRhcwogICAgICBhbyBkb2N1bWVudG8gU1NJLiBSZXN1bHRhZG9zIGRlIGFu4Wxpc2VzIGRlIGV4cHJlc3P1ZXMgcmVndWxhcmVzCiAgICAgIGUgYWdydXBhbWVudG8gKGJhc2VhZGFzIG5hIHNpbnRheGUgZGUgZXhwcmVzc/VlcyByZWd1bGFyZXMgZG8gUGVybCkKICAgICAgcG9kZW0gc2VyIG9idGlkYXMgdXNhbmRvIGFzIHZhcmnhdmVpcyBkbyBt82R1bG8gPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luY2x1ZGUuaHRtbCI+bW9kX2luY2x1ZGU8L2E+PC9jb2RlPiwgZGUgPGNvZGU+JDA8L2NvZGU+IGEgPGNvZGU+JDk8L2NvZGU+LjwvZGQ+CgogICAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhfZGJtLmh0bWwiPm1vZF9hdXRoX2RibTwvYT48L2NvZGU+PC9kdD4KCiAgICAgIDxkZD5BZ29yYSBzdXBvcnRhIG36bHRpcGxvcyB0aXBvcyBkZSBiYW5jbyBkZSBkYWRvcyBzaW1pbGFyZXMgYW8gREJNLAogICAgICB1c2FuZG8gYSBkaXJldHJpeiA8YSBocmVmPSIuLi8yLjAvbW9kL21vZF9hdXRoX2RibS5odG1sI0F1dGhEQk1UeXBlIj4KCSAgPGNvZGU+QXV0aERCTVR5cGU8L2NvZGU+PC9hPgogICAgICAuPC9kZD4KCiAgICA8L2RsPgogIDwvZGl2PjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+TO1uZ3VhcyBEaXNwb27tdmVpczogPC9zcGFuPjxhIGhyZWY9Ii4vZGUvbmV3X2ZlYXR1cmVzXzJfMC5odG1sIiBocmVmbGFuZz0iZGUiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRGV1dHNjaCI+Jm5ic3A7ZGUmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9lbi9uZXdfZmVhdHVyZXNfMl8wLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL25ld19mZWF0dXJlc18yXzAuaHRtbCIgaHJlZmxhbmc9ImZyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2phL25ld19mZWF0dXJlc18yXzAuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2tvL25ld19mZWF0dXJlc18yXzAuaHRtbCIgaHJlZmxhbmc9ImtvIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IktvcmVhbiI+Jm5ic3A7a28mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9wdC1ici9uZXdfZmVhdHVyZXNfMl8wLmh0bWwiIHRpdGxlPSJQb3J0dWd16nMgKEJyYXNpbCkiPiZuYnNwO3B0LWJyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vcnUvbmV3X2ZlYXR1cmVzXzJfMC5odG1sIiBocmVmbGFuZz0icnUiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iUnVzc2lhbiI+Jm5ic3A7cnUmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi90ci9uZXdfZmVhdHVyZXNfMl8wLmh0bWwiIGhyZWZsYW5nPSJ0ciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJU/HJr52UiPiZuYnNwO3RyJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgc3JjPSIuL2ltYWdlcy91cC5naWYiIGFsdD0idG9wIiAvPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIj48aDI+PGEgaWQ9ImNvbW1lbnRzX3NlY3Rpb24iIG5hbWU9ImNvbW1lbnRzX3NlY3Rpb24iPkNvbWVudOFyaW9zPC9hPjwvaDI+PGRpdiBjbGFzcz0id2FybmluZyI+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+PGJyIC8+VGhpcyBpcyBub3QgYSBRJmFtcDtBIHNlY3Rpb24uIENvbW1lbnRzIHBsYWNlZCBoZXJlIHNob3VsZCBiZSBwb2ludGVkIHRvd2FyZHMgc3VnZ2VzdGlvbnMgb24gaW1wcm92aW5nIHRoZSBkb2N1bWVudGF0aW9uIG9yIHNlcnZlciwgYW5kIG1heSBiZSByZW1vdmVkIGFnYWluIGJ5IG91ciBtb2RlcmF0b3JzIGlmIHRoZXkgYXJlIGVpdGhlciBpbXBsZW1lbnRlZCBvciBjb25zaWRlcmVkIGludmFsaWQvb2ZmLXRvcGljLiBRdWVzdGlvbnMgb24gaG93IHRvIG1hbmFnZSB0aGUgQXBhY2hlIEhUVFAgU2VydmVyIHNob3VsZCBiZSBkaXJlY3RlZCBhdCBlaXRoZXIgb3VyIElSQyBjaGFubmVsLCAjaHR0cGQsIG9uIEZyZWVub2RlLCBvciBzZW50IHRvIG91ciA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9saXN0cy5odG1sIj5tYWlsaW5nIGxpc3RzPC9hPi48L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0vLy0tPjwhW0NEQVRBWy8vPjwhLS0KdmFyIGNvbW1lbnRzX3Nob3J0bmFtZSA9ICdodHRwZCc7CnZhciBjb21tZW50c19pZGVudGlmaWVyID0gJ2h0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvdHJ1bmsvbmV3X2ZlYXR1cmVzXzJfMC5odG1sJzsKKGZ1bmN0aW9uKHcsIGQpIHsKICAgIGlmICh3LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCkgPT0gImh0dHBkLmFwYWNoZS5vcmciKSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj48XC9kaXY+Jyk7CiAgICAgICAgdmFyIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHMuYXN5bmMgPSB0cnVlOwogICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vY29tbWVudHMuYXBhY2hlLm9yZy9zaG93X2NvbW1lbnRzLmx1YT9zaXRlPScgKyBjb21tZW50c19zaG9ydG5hbWUgKyAnJnBhZ2U9JyArIGNvbW1lbnRzX2lkZW50aWZpZXI7CiAgICAgICAgKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSB8fCBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHMpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj5Db21tZW50cyBhcmUgZGlzYWJsZWQgZm9yIHRoaXMgcGFnZSBhdCB0aGUgbW9tZW50LjxcL2Rpdj4nKTsKICAgIH0KfSkod2luZG93LCBkb2N1bWVudCk7Ci8vLS0+PCFdXT48L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMjAxNiBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uPGJyIC8+TGljZW5jaWFkbyBzb2IgYSA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAiPkFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMDwvYT4uPC9wPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi9tb2QvIj5N82R1bG9zPC9hPiB8IDxhIGhyZWY9Ii4vbW9kL3F1aWNrcmVmZXJlbmNlLmh0bWwiPkRpcmV0cml6ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuL2dsb3NzYXJ5Lmh0bWwiPkdsb3Nz4XJpbzwvYT4gfCA8YSBocmVmPSIuL3NpdGVtYXAuaHRtbCI+TWFwYSBkbyBzaXRlPC9hPjwvcD48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQppZiAodHlwZW9mKHByZXR0eVByaW50KSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHByZXR0eVByaW50KCk7Cn0KLy8tLT48IV1dPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==