PGh0bWw+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+DQo8bWV0YSBuYW1lPVByb2dJZCBjb250ZW50PVBvd2VyUG9pbnQuU2xpZGU+DQo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50PSJNaWNyb3NvZnQgUG93ZXJQb2ludCA5Ij4NCjxsaW5rIGlkPU1haW4tRmlsZSByZWw9TWFpbi1GaWxlIGhyZWY9Ii4uL1NlcmVuYS5odG0iPg0KPGxpbmsgcmVsPVByZXZpZXcgaHJlZj1wcmV2aWV3LndtZj4NCjxtZXRhIG5hbWU9Um9ib3RzIGNvbnRlbnQ9Tm9JbmRleD4NCjxzY3JpcHQgc3JjPXNjcmlwdC5qcz48L3NjcmlwdD48c2NyaXB0PjwhLS0NCg0KaWYoICEoSXNXaW4oIlBQVE90bCIpfHxJc1dpbigiUFBUTmF2Iil8fElzV2luKCJQUFRPdGxOYXYiKSkgKQ0Kew0KCW9iaiA9IGRvY3VtZW50LmFsbC5pdGVtKCJNYWluLUZpbGUiKQ0KCXBhcmVudC5sb2NhdGlvbi5ocmVmPW9iai5ocmVmDQp9DQoNCnZhciBnT3RsSGlsaXRlQ2xyPSIiLGdPdGxOb3JtYWxDbHI9IiIsZ090bEFjdGl2ZUNscj0iIixnU2VsZWN0ZWQ9IiIsZ1R4dFN0YXRlPWZhbHNlLGdDaGlsZEVudHJ5VGFibGU9bmV3IEFycmF5KCkNCg0KZnVuY3Rpb24gTG9hZCgpDQp7DQoJaWYoIElzV2luKCJQUFRPdGwiICkgKXsgTG9hZE90bCgpOyBwYXJlbnQuZ090bExvYWRlZD10cnVlOyByZXR1cm4gfQ0KCWlmKCBJc1dpbigiUFBUTmF2IiApICl7IExvYWROYXYoIk5hdk9iaiIsVXBkTmF2KTsgcGFyZW50LmdOYXZMb2FkZWQ9dHJ1ZTsgcmV0dXJuIH0NCglpZiggSXNXaW4oIlBQVE90bE5hdiIgKSApeyBMb2FkTmF2KCJPdGxOYXZPYmoiLFVwZE90bE5hdik7IHBhcmVudC5nT3RsTmF2TG9hZGVkPXRydWU7IHJldHVybiB9DQp9DQpmdW5jdGlvbiBVcGQoKXsgaWYoIElzV2luKCJQUFROYXYiKSApIExvYWROYXYoIk5hdk9iaiIsVXBkTmF2KSB9DQpmdW5jdGlvbiBMb2FkTmF2KCBvSWQsVXBkRnVuYyApDQp7DQoJZG9jdW1lbnQub25kcmFnc3RhcnQ9Q2FuY2VsRHJhZw0KCWRvY3VtZW50Lm9uc2VsZWN0c3RhcnQ9Q2FuY2VsRHJhZw0KCWRvY3VtZW50LmJvZHkuc3R5bGUubWFyZ2luPTINCglVcGRGdW5jKCkNCglvYmo9ZG9jdW1lbnQuYWxsLml0ZW0ob0lkKQ0KCW9iai5zdHlsZS5kaXNwbGF5PSJibG9jayINCglvYmouc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSINCglkb2N1bWVudC5iZ0NvbG9yPSJ0aHJlZWRmYWNlIg0KfQ0KZnVuY3Rpb24gTG9hZE90bCgpDQp7DQoJZG9jdW1lbnQub25kcmFnc3RhcnQ9Q2FuY2VsRHJhZw0KCWRvY3VtZW50Lm9uc2VsZWN0c3RhcnQ9Q2FuY2VsRHJhZw0KCU90bE9iai5zdHlsZS5kaXNwbGF5PSJibG9jayINCglPdGxPYmouc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSINCglpZiggZ090bEFjdGl2ZUNsciA9PSAiIiApIGdPdGxBY3RpdmVDbHI9ZG9jdW1lbnQubGlua0NvbG9yDQoJaWYoIGdPdGxIaWxpdGVDbHIgPT0gIiIgKSBnT3RsSGlsaXRlQ2xyPWRvY3VtZW50LmZnQ29sb3INCglpZiggZ090bE5vcm1hbENsciA9PSAiIiApDQoJCWdPdGxOb3JtYWxDbHI9ZG9jdW1lbnQuYmdDb2xvcg0KCWVsc2UNCgkJZG9jdW1lbnQuYmdDb2xvcj1nT3RsTm9ybWFsQ2xyICANCg0KCUluaXRBcnJheSgpDQoNCglpZiggT2JqRXhpc3RzKCBwYXJlbnQuZ0N1clNsZCApICkgew0KCQlDaGFuZ2VTdGF0ZSggcGFyZW50LmdDdXJTbGQsZ090bE5vcm1hbENscixnT3RsSGlsaXRlQ2xyICkNCgkJZ1NlbGVjdGVkPXBhcmVudC5nQ3VyU2xkDQoJfQ0KCWVsc2UgZ1NlbGVjdGVkID0gLTENCg0KCVVwZE90bCgpDQp9DQpmdW5jdGlvbiBVcGRPdGwoKXsgVXBkSWR4KHBhcmVudC5nQ3VyU2xkKSB9DQpmdW5jdGlvbiBVcGRJZHgoIGlkeCApDQp7DQoJaWYoIGdTZWxlY3RlZCAhPSBpZHggKSB7DQoJCWlmKCBnU2VsZWN0ZWQgPiAwICkNCgkJCUNoYW5nZVN0YXRlKCBnU2VsZWN0ZWQsZ090bEhpbGl0ZUNscixnT3RsTm9ybWFsQ2xyICkNCg0KCQlpZiggT2JqRXhpc3RzKCBpZHggKSApIHsNCgkJCWdTZWxlY3RlZCA9IGlkeA0KCQkJQ2hhbmdlU3RhdGUoIGdTZWxlY3RlZCxnT3RsTm9ybWFsQ2xyLGdPdGxIaWxpdGVDbHIgKQ0KCQl9DQoJCWVsc2UgZ1NlbGVjdGVkID0gLTENCgl9DQoNCglpZiggZ1R4dFN0YXRlICE9IHBhcmVudC5nT3RsVHh0RXhwICkgew0KCQlzdGF0ZSA9ICJibG9jayINCgkJaWYoICFwYXJlbnQuZ090bFR4dEV4cCApDQoJCQlzdGF0ZT0ibm9uZSINCg0KCQlmb3IoaWk9MDsgaWk8Z0NoaWxkRW50cnlUYWJsZS5sZW5ndGg7IGlpKyspIHsNCgkJCW9iaj1nQ2hpbGRFbnRyeVRhYmxlW2lpXTsNCgkJCWlmKCBvYmouaWQgPT0gbnVsbCApIGNvbnRpbnVlOw0KDQoJCQlpZiggb2JqLmlkLmluZGV4T2YoIlBQVEMiKSA+PSAwICkNCgkJCQlvYmouc3R5bGUuZGlzcGxheT1zdGF0ZTsNCgkJfSANCgkJZ1R4dFN0YXRlPXBhcmVudC5nT3RsVHh0RXhwDQoJCWlmKCBPYmpFeGlzdHMoIGdTZWxlY3RlZCApICkNCgkJCUNoYW5nZVN0YXRlKCBnU2VsZWN0ZWQsZ090bE5vcm1hbENscixnT3RsSGlsaXRlQ2xyICkNCgl9DQp9DQpmdW5jdGlvbiBJbml0QXJyYXkoKQ0Kew0KCWNvdW50PTANCglmb3IoaWk9MDsgaWk8ZG9jdW1lbnQuYWxsLnRhZ3MoIkRJViIpLmxlbmd0aDsgaWkrKykgew0KCQlvYmo9ZG9jdW1lbnQuYWxsLnRhZ3MoIkRJViIpLml0ZW0oaWkpDQoJCWlmKCBvYmouaWQgPT0gbnVsbCApIGNvbnRpbnVlDQoNCgkJaWYoIG9iai5pZC5pbmRleE9mKCJQUFRDIikgPj0gMCApIHsgICANCgkJCWdDaGlsZEVudHJ5VGFibGVbY291bnQrK109b2JqDQoJCQlvYmouY2hpbGRyZW4udGFncygiVEFCTEUiKS5pdGVtKDApLnN0eWxlLmJvcmRlckNvbG9yPWdPdGxOb3JtYWxDbHINCgkJfQ0KCX0NCn0NCmZ1bmN0aW9uIENoYW5nZVN0YXRlKCBpZHgsZmdDb2xvcixiZ0NvbG9yICkNCnsNCglvYmo9ZG9jdW1lbnQuYWxsLml0ZW0oIlBQVEwiK2lkeCkNCglvYmouc3R5bGUuY29sb3I9ZmdDb2xvcg0KDQoJb2JqPWRvY3VtZW50LmFsbC5pdGVtKCJQUFRQIitpZHgpDQoJb2JqLnN0eWxlLmJhY2tncm91bmRDb2xvcj1iZ0NvbG9yDQoNCglvYmo9ZG9jdW1lbnQuYWxsLml0ZW0oIlBQVEIiK2lkeCkNCglpZiggb2JqICkNCgkJb2JqLnN0eWxlLmJvcmRlckxlZnRDb2xvcj1vYmouc3R5bGUuYm9yZGVyQm90dG9tQ29sb3I9YmdDb2xvcg0KfQ0KZnVuY3Rpb24gQ2hnQ2xyKCBvLGNsciApeyBpZiggby5pZCAhPSAiUFBUTCIrZ1NlbGVjdGVkICkgby5zdHlsZS5jb2xvcj1jbHIgfQ0KZnVuY3Rpb24gT3Zlciggb2JqICl7IENoZ0NscihvYmosZ090bEFjdGl2ZUNscikgfQ0KZnVuY3Rpb24gT3V0KCBvYmogKXsgQ2hnQ2xyKG9iaixnT3RsSGlsaXRlQ2xyKSB9DQpmdW5jdGlvbiBPYmpFeGlzdHMoIGlpICkgeyBvYmo9ZG9jdW1lbnQuYWxsKCJQUFRQIitpaSApOyByZXR1cm4oIG9iaiApIH0NCmZ1bmN0aW9uIEdvVG9TbGQoIGhyZWYgKXsgVXBkSWR4KHBhcmVudC5HZXRTbGROdW0oaHJlZikpOyBwYXJlbnQuR29Ub1NsZCggaHJlZiApIH0NCmZ1bmN0aW9uIENhbmNlbERyYWcoKXsgd2luZG93LmV2ZW50LmNhbmNlbEJ1YmJsZT10cnVlO3dpbmRvdy5ldmVudC5yZXR1cm5WYWx1ZT1mYWxzZX0NCg0KZnVuY3Rpb24gVXBkTmF2KCkNCnsNCgl0eHQgPSAiPGNlbnRlcj4iOw0KCWlmKCBwYXJlbnQuR2V0SHJlZk9iaiggcGFyZW50LmdDdXJTbGQgKS5tT3JpZ1ZpcyA9PSAxICkNCgkJdHh0ICs9ICJTbGlkZSAiICsgcGFyZW50LkdldEN1clNsZE51bSgpICsgIiBvZiAiICsgcGFyZW50LkdldE51bVNsZHMoKQ0KCWVsc2UNCgkJdHh0ICs9ICJIaWRkZW4gU2xpZGUiDQoJdHh0ICs9ICI8L2NlbnRlcj4iOw0KCW5hdl90ZXh0LmlubmVySFRNTCA9IHR4dDsNCg0KCWlmKCAhcGFyZW50Lkhhc1ByZXZTbGQoKSApDQoJCWdCdG5BcnJbIm5iX3ByZXYiXS5FbmFibGVkKDApDQoJZWxzZQ0KCQlnQnRuQXJyWyJuYl9wcmV2Il0uRW5hYmxlZCgxKQ0KDQoJaWYoICFwYXJlbnQuSGFzTmV4dFNsZCgpICkNCgkJZ0J0bkFyclsibmJfbmV4dCJdLkVuYWJsZWQoMCkNCgllbHNlDQoJCWdCdG5BcnJbIm5iX25leHQiXS5FbmFibGVkKDEpDQoJZ0J0bkFyclsibmJfbnRzIl0uU2V0RW5hYmxlZCgpDQoJZ0J0bkFyclsibmJfbnRzIl0uU2V0RmxhZyggcGFyZW50LmdIYXNOdHMgKQ0KDQoJZ0J0bkFyclsibmJfc2xkc2h3Il0uRW5hYmxlZCgxKQ0KCWdCdG5BcnJbIm5iX3ZvaWNlIl0uRW5hYmxlZCgxKQ0KfQ0KDQpmdW5jdGlvbiBVcGRPdGxOYXYoKQ0Kew0KCWdCdG5BcnJbIm5iX290bCJdLlNldEVuYWJsZWQoKTsNCg0KCWlmKCBwYXJlbnQuZ090bE9wZW4gKQ0KCQlnQnRuQXJyWyJuYl9vdGxUeHQiXS5FbmFibGVkKCB0cnVlICk7DQoJZWxzZQ0KCQlkb2N1bWVudC5hbGwuaXRlbSgibmJfb3RsVHh0Qm9yZGVyIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOw0KfQ0KDQoNCg0KLy8tLT4NCjwvc2NyaXB0Pg0KPHN0eWxlPg0KPCEtLS5QVHh0DQoJe3Bvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJbWFyZ2luLXRvcDo1cHg7DQoJcGFkZGluZy1sZWZ0OjVweDsNCglmb250LXdlaWdodDpib2xkO30NCi5DVHh0DQoJe3Bvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJcGFkZGluZy1sZWZ0OjEwcHg7fQ0KLkNCb3JkZXINCgl7cG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCglib3JkZXItY29sb3I6YmxhY2s7DQoJcGFkZGluZy1ib3R0b206NXB4O30NCmENCgl7Y29sb3I6YmxhY2s7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KLmJ1dHRvbg0KCXtwb3NpdGlvbjphYnNvbHV0ZTsNCgl3aWR0aDozMnB4Ow0KCWhlaWdodDoyMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWJvcmRlci1jb2xvcjp0aHJlZWRmYWNlO30NCi0tPg0KPC9zdHlsZT4NCjwvaGVhZD4NCg0KPGJvZHkgb25sb2FkPSJMb2FkKCkiPg0KDQo8ZGl2IGlkPU5hdk9iaiBvbmxvYWQ9IkxvYWQoKSIgb25tb3VzZW92ZXI9IkJ0bk9uT3ZlcigpIg0Kb25tb3VzZWRvd249IkJ0bk9uRG93bigpIiBvbm1vdXNlb3V0PSJCdG5Pbk91dCgpIiBvbm1vdXNldXA9IkJ0bk9uVXAoKSINCm9ua2V5cHJlc3M9Il9LUEgoKSIgc3R5bGU9J2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbic+DQoNCjx0YWJsZSBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NzBweDt2aXNpYmlsaXR5OmhpZGRlbicgYWxpZ249bGVmdA0KIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4NCiA8dGQgbm93cmFwPg0KIDxkaXYgaWQ9Im5iX250c0VsZW0iIGFsaWduPWNlbnRlciBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzozcHg7DQogZm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6YnV0dG9udGV4dDtmb250LXNpemU6OXB0Jz48aW1nIHNyYz0ibm90ZXNfZmxhZy5naWYiDQogYm9yZGVyPTAgaWQ9Im5vdGVzX2ZsYWciIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxzcGFuIHN0eWxlPSJtc28tc3BhY2VydW46DQogeWVzIj6gIDwvc3Bhbj5Ob3RlczwvZGl2Pg0KIDxkaXYgdGl0bGU9IlNob3cvSGlkZSBOb3RlcyIgaWQ9Im5iX250cyIgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowJTsNCiBsZWZ0OjAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUnPjwvZGl2Pg0KIDwvdGQ+DQo8L3RhYmxlPg0KDQo8dGFibGUgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlJyBhbGlnbj1yaWdodCBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTA+DQogPHRkPg0KIDxkaXYgaWQ9Im5iX3NsZHNod0JvcmRlciIgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIwcHg7d2lkdGg6MjBweDsNCiBoZWlnaHQ6MjBweCc+DQogPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDBweCwgMThweCwgMThweCwgMHB4KSc+PGltZw0KIHNyYz1idXR0b25zLmdpZiBpZD0ibmJfc2xkc2h3IiB0aXRsZT0iRnVsbCBTY3JlZW4gU2xpZGUgU2hvdyINCiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7bGVmdDotMjU0cHgnPjwvZGl2Pg0KIDwvZGl2Pg0KIDwvdGQ+DQogPHRkPg0KIDxkaXYgaWQ9Im5iX3ZvaWNlQm9yZGVyIiBzdHlsZT0nZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTQwcHg7DQogd2lkdGg6MjBweDtoZWlnaHQ6MjBweCc+DQogPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDBweCwgMThweCwgMThweCwgMHB4KSc+PGltZw0KIHNyYz1idXR0b25zLmdpZiBpZD0ibmJfdm9pY2UiIHRpdGxlPSJQYXVzZS9QbGF5IE5hcnJhdGlvbiIgc3R5bGU9J3Bvc2l0aW9uOg0KIHJlbGF0aXZlO2xlZnQ6LTI5MHB4Jz48L2Rpdj4NCiA8L2Rpdj4NCiA8L3RkPg0KPC90YWJsZT4NCg0KPHRhYmxlIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZScgYWxpZ249Y2VudGVyIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4NCiA8dGQgbm93cmFwPg0KIDxkaXYgaWQ9Im5iX3ByZXZCb3JkZXIiIGNsYXNzPWJ1dHRvbiBzdHlsZT0nbGVmdDotMzBweCc+DQogPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDBweCwgMzBweCwgMThweCwgMHB4KSc+PGltZw0KIHNyYz1idXR0b25zLmdpZiBpZD0ibmJfcHJldiIgdGl0bGU9IlByZXZpb3VzIFNsaWRlIiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7DQogbGVmdDowcHgnPjwvZGl2Pg0KIDwvZGl2Pg0KIDxzcGFuIGlkPSJuYXZfdGV4dCIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDozcHg7d2lkdGg6MTAwcHg7Zm9udC1mYW1pbHk6DQogQXJpYWw7Y29sb3I6YnV0dG9udGV4dDtmb250LXNpemU6OXB0Jz48L3NwYW4+DQogPGRpdiBpZD0ibmJfbmV4dEJvcmRlciIgY2xhc3M9YnV0dG9uPg0KIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgwcHgsIDMwcHgsIDE4cHgsIDBweCknPjxpbWcNCiBzcmM9YnV0dG9ucy5naWYgaWQ9Im5iX25leHQiIHRpdGxlPSJOZXh0IFNsaWRlIiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7DQogbGVmdDotOTBweCc+PC9kaXY+DQogPC9kaXY+DQogPC90ZD4NCjwvdGFibGU+DQoNCjwvZGl2Pg0KDQo8ZGl2IGlkPU90bE5hdk9iaiBvbmxvYWQ9IkxvYWQoKSIgb25tb3VzZW92ZXI9IkJ0bk9uT3ZlcigpIg0Kb25tb3VzZWRvd249IkJ0bk9uRG93bigpIiBvbm1vdXNlb3V0PSJCdG5Pbk91dCgpIiBvbm1vdXNldXA9IkJ0bk9uVXAoKSINCm9ua2V5cHJlc3M9Il9LUEgoKSIgc3R5bGU9J2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbic+DQoNCjx0YWJsZSBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NzBweCcgYWxpZ249bGVmdCBjZWxscGFkZGluZz0wDQogY2VsbHNwYWNpbmc9MD4NCiA8dGQgbm93cmFwPg0KIDxkaXYgaWQ9Im5iX290bEVsZW0iIGFsaWduPWNlbnRlciBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzozcHg7DQogZm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6YnV0dG9udGV4dDtmb250LXNpemU6OXB0Jz5PdXRsaW5lPC9kaXY+DQogPGRpdiB0aXRsZT0iU2hvdy9IaWRlIE91dGxpbmUiIGlkPSJuYl9vdGwiIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsNCiB0b3A6MCU7bGVmdDowJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlJz48L2Rpdj4NCiA8L3RkPg0KPC90YWJsZT4NCg0KPHRhYmxlIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZScgYWxpZ249Y2VudGVyIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4NCiA8dGQ+DQogPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7bGVmdDotMThweDt3aWR0aDoyNHB4O2hlaWdodDoyMHB4O2JvcmRlci1zdHlsZToNCiBzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp0aHJlZWRmYWNlJyBpZD0ibmJfb3RsVHh0Qm9yZGVyIj4NCiA8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMHB4LCAyMnB4LCAxOHB4LCAwcHgpJz48aW1nDQogc3JjPWJ1dHRvbnMuZ2lmIGlkPSJuYl9vdGxUeHQiIHRpdGxlPSJFeHBhbmQvQ29sbGFwc2UgT3V0bGluZSINCiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7bGVmdDotMTU3cHgnPjwvZGl2Pg0KIDwvZGl2Pg0KIDwvdGQ+DQo8L3RhYmxlPg0KDQo8L2Rpdj4NCg0KPGRpdiBpZD1PdGxPYmogc3R5bGU9J2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbic+DQoNCjx0YWJsZSB3aWR0aD0iMTAwJSIgc3R5bGU9J2ZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZTo5cHQnPg0KIDx0cj4NCiAgPHRkPg0KICA8ZGl2IGlkPVBQVFAxIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhDQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDAxLmh0bScpOyIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiDQogIGlkPVBQVEwxIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSI+U3VibWl0dGFsIHRvIEVjbGlwc2Uub3JnPC9hPjwvZm9udD48L2Rpdj4NCiAgPC90ZD4NCiA8L3RyPg0KIDx0cj4NCiAgPHRkPg0KICA8ZGl2IGlkPVBQVFAyIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhDQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDA2Lmh0bScpOyIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiDQogIGlkPVBQVEwyIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSI+JnF1b3Q7QSBzaW5nbGUgcG9pbnQgb2YgY29udHJvbC4uLiZxdW90OzwvYT48L2ZvbnQ+PC9kaXY+DQogIDxkaXYgaWQ9UFBUQzIgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz4NCiAgPHRhYmxlIGlkPVBQVEIyIGNsYXNzPUNCb3JkZXI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTUgbm93cmFwPjwvdGQ+DQogICAgPHRkIHdpZHRoPTIwIG5vd3JhcD48L3RkPg0KICAgIDx0ZCB3aWR0aD0iMTAwJSI+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49MT48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTI+PGZvbnQgc2l6ZT0yPkEgc2luZ2xlIHBvaW50IG9mIGNvbnRyb2wgdG8gbWFuYWdlIGNoYW5nZSB0bw0KICAgIGVudGVycHJpc2UgY29kZSBhbmQgY29udGVudCB0aHJvdWdob3V0IHRoZSBhcHBsaWNhdGlvbiBsaWZlIGN5Y2xlPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5EZWxpdmVyIGludGVncmF0ZWQgbXVsdGktcGxhdGZvcm0gc29sdXRpb25zPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5BdXRvbWF0ZSBjaGFuZ2UgcHJvY2VzcyBmb3Igc29mdHdhcmUgYW5kIFdlYg0KICAgIGNvbnRlbnQ8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPkJlc3QgcHJhY3RpY2VzIGNvbnN1bHRpbmcgZW5zdXJlcyBzb3VuZCBwcm9jZXNzPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5FZmZlY3RpdmUgcGFydG5lcnNoaXBzIGZvciBlbmQtdG8tZW5kIHNvbHV0aW9uPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0yPjwvdGQ+DQogICA8L3RyPg0KICA8L3RhYmxlPg0KICA8L2Rpdj4NCiAgPC90ZD4NCiA8L3RyPg0KIDx0cj4NCiAgPHRkPg0KICA8ZGl2IGlkPVBQVFAzIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhDQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDA3Lmh0bScpOyIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiDQogIGlkPVBQVEwzIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSI+U0VSRU5BmSBTb2Z0d2FyZSwgSW5jLiA8YnI+DQogIEF0IGEgZ2xhbmNlPC9hPjwvZm9udD48L2Rpdj4NCiAgPGRpdiBpZD1QUFRDMyBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPg0KICA8dGFibGUgaWQ9UFBUQjMgY2xhc3M9Q0JvcmRlcj4NCiAgIDx0cj4NCiAgICA8dGQgd2lkdGg9NSBub3dyYXA+PC90ZD4NCiAgICA8dGQgd2lkdGg9IjEwMCUiPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5Gb3VuZGVkIDE5ODA7IDxicj4NCiAgICBOQVNEQVEgLSBTUk5BPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5TdHJvbmcgUiZhbXA7RCBIZXJpdGFnZTwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49MT48Zm9udCBzaXplPTI+Miw3NTArIGN1c3RvbWVyIHNpdGVzPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5HbG9iYWwgUHJlc2VuY2U8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49MT48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPkZpbmFuY2lhbGx5IHNvbGlkIGFuZDxzcGFuIHN0eWxlPSJtc28tc3BhY2VydW46DQogICAgeWVzIj6goKCgoKCgoKCgoKCgoKAgPC9zcGFuPmNvbnNpc3RlbnRseSBwcm9maXRhYmxlPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5FeGNsdXNpdmVseSBmb2N1c2VkIG9uPHNwYW4gc3R5bGU9Im1zby1zcGFjZXJ1bjoNCiAgICB5ZXMiPqCgoKCgoKCgoKCgoKAgPC9zcGFuPkVudGVycHJpc2UgQ2hhbmdlIE1hbmFnZW1lbnQ8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49MT48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgIDwvdHI+DQogIDwvdGFibGU+DQogIDwvZGl2Pg0KICA8L3RkPg0KIDwvdHI+DQogPHRyPg0KICA8dGQ+DQogIDxkaXYgaWQ9UFBUUDQgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGENCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMDMuaHRtJyk7IiBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSINCiAgaWQ9UFBUTDQgb25tb3VzZW91dD0iT3V0KHRoaXMpIj5TRVJFTkGZIFNvZnR3YXJlLCBJbmMuPGJyPg0KICBCb3Jpcw0KICBLYXBpdGFuc2tpIC0gRWNsaXBzZSBCb2FyZCBNZW1iZXI8L2E+PC9mb250PjwvZGl2Pg0KICA8ZGl2IGlkPVBQVEM0IGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+DQogIDx0YWJsZSBpZD1QUFRCNCBjbGFzcz1DQm9yZGVyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD01IG5vd3JhcD48L3RkPg0KICAgIDx0ZCB3aWR0aD0yMCBub3dyYXA+PC90ZD4NCiAgICA8dGQgd2lkdGg9IjEwMCUiPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0yPjxmb250IHNpemU9Mj5EaXJlY3RvciwgRGlzdGluZ3Vpc2hlZCBUZWNobm9sb2d5IE9mZmljZXINCiAgICBEaXN0cmlidXRlZCBTeXN0ZW1zPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5DcmVhdG9yIG9mIHRoZSBmaXJzdCB0cnVlIENsaWVudC9TZXJ2ZXINCiAgICBtdWx0aS1wbGF0Zm9ybSBjaGFuZ2UgbWFuYWdlbWVudCBzb2x1dGlvbiCWIFNlcmVuYSBDaGFuZ2VNYW6ZRFM8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPlJlc3BvbnNpYmxlIGZvciB0aGUgZGlyZWN0aW9uIGFuZCBhcmNoaXRlY3R1cmUNCiAgICBvZiB0aGUgQ2hhbmdlTWFuIEZhbWlseSwgaW5jbHVkaW5nIHNvZnR3YXJlIGFuZCBjb250ZW50IG1hbmFnZW1lbnQsIHJlcXVlc3QNCiAgICBtYW5hZ2VtZW50IGFuZCBhcHBsaWNhdGlvbiBsaWZlY3ljbGUgbWFuYWdlbWVudC48L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPkxlYWQgRGlzdHJpYnV0ZWQgUiZhbXA7RCBvcmdhbml6YXRpb248L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49MT48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTI+PGZvbnQgc2l6ZT0yPkJhY2tncm91bmQ6PC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj4xNSB5ZWFycyBvZiBTb2Z0d2FyZSBEZXZlbG9wbWVudCwgMTAgeWVhcnMNCiAgICBzcGVjaWZpY2FsbHkgZm9jdXNlZCBvbiBTQ00gc3lzdGVtcyBhbmQgYXJjaGl0ZWN0dXJlPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0yPjxmb250IHNpemU9Mj5FZHVjYXRpb248L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPk1hc3RlcnMgRGVncmVlIGluIFBoeXNpY3MgYW5kIEFwcGxpZWQNCiAgICBNYXRoZW1hdGljczwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgPC90cj4NCiAgPC90YWJsZT4NCiAgPC9kaXY+DQogIDwvdGQ+DQogPC90cj4NCiA8dHI+DQogIDx0ZD4NCiAgPGRpdiBpZD1QUFRQNSBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQ0KICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAwNC5odG0nKTsiIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIg0KICBpZD1QUFRMNSBvbm1vdXNlb3V0PSJPdXQodGhpcykiPlNFUkVOQZkgU29mdHdhcmUsIEluYy48YnI+DQogIFN1cHBvcnQgb2YgdGhlDQogIEVjbGlwc2UgRnJhbWV3b3JrPC9hPjwvZm9udD48L2Rpdj4NCiAgPGRpdiBpZD1QUFRDNSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPg0KICA8dGFibGUgaWQ9UFBUQjUgY2xhc3M9Q0JvcmRlcj4NCiAgIDx0cj4NCiAgICA8dGQgd2lkdGg9NSBub3dyYXA+PC90ZD4NCiAgICA8dGQgd2lkdGg9MjAgbm93cmFwPjwvdGQ+DQogICAgPHRkIHdpZHRoPSIxMDAlIj48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48Zm9udCBzaXplPTI+SW52b2x2ZWQgd2l0aCBFY2xpcHNlIHByb2dyYW0gZnJvbSBpbmNlcHRpb248L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPkVhcmx5IHdvcmsgd2l0aCBXZWJEYXYgYmVmb3JlIEVjbGlwc2UgZGlyZWN0aW9uDQogICAgY2hhbmdlZDwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48Zm9udCBzaXplPTI+U2VyZW5hIENoYW5nZU1hbpkgRFMgJmFtcDsgU2VyZW5hIENoYW5nZU1hbiBXQ00NCiAgICBjdXJyZW50bHkgc3VwcG9ydCBWQ00gYWRvcHRlcnM8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPkVhcmx5IGRldmVsb3BtZW50IHZlcnNpb25zIGRlbW9uc3RyYXRlZCBhdCBJQk0NCiAgICBldmVudHM8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPk9uZSBvZiB0aGUgZmlyc3QgdG8gYW5ub3VuY2UgJmFtcDsgc2hpcA0KICAgIHN1cHBvcnRlZCBhZGFwdGVyczwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0xPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48Zm9udCBzaXplPTI+U2VyZW5hIGlzIJNSZWFkeSBmb3IgV2ViU3BoZXJllCB2YWxpZGF0ZWQ8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTE+PGZvbnQgc2l6ZT0yPkFtb25nIGZpcnN0IHZlbmRvcnMgdG8gYWNoaWV2ZSB0aGlzIHZhbGlkYXRpb248L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49MT48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTI+PGZvbnQgc2l6ZT0yPlBhcnRpY2lwYXRpbmcgaW4gZm9sbG93IG9uIHByb2dyYW1zIHRvIGNvbm5lY3QNCiAgICB0byBTZXJlbmEgQ2hhbmdlTWFuIFpNRiAobWFpbmZyYW1lIFNDTSk8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49MT48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgIDwvdHI+DQogIDwvdGFibGU+DQogIDwvZGl2Pg0KICA8L3RkPg0KIDwvdHI+DQogPHRyPg0KICA8dGQ+DQogIDxkaXYgaWQ9UFBUUDYgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGENCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMDUuaHRtJyk7IiBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSINCiAgaWQ9UFBUTDYgb25tb3VzZW91dD0iT3V0KHRoaXMpIj5TRVJFTkGZIFNvZnR3YXJlIEluYy48YnI+DQogIFB1YmxpYyBTdXBwb3J0DQogIGZvciBFY2xpcHNlIEZyYW1ld29yazwvYT48L2ZvbnQ+PC9kaXY+DQogIDxkaXYgaWQ9UFBUQzYgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz4NCiAgPHRhYmxlIGlkPVBQVEI2IGNsYXNzPUNCb3JkZXI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTUgbm93cmFwPjwvdGQ+DQogICAgPHRkIHdpZHRoPTIwIG5vd3JhcD48L3RkPg0KICAgIDx0ZCB3aWR0aD0yMCBub3dyYXA+PC90ZD4NCiAgICA8dGQgd2lkdGg9IjEwMCUiPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTE+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0zPjxmb250IHNpemU9Mj5TZXJlbmEgaGFzIGJlZW4gYSBsZWFkZXIgaW4gcHVibGljIHN1cHBvcnQgZm9yDQogICAgdGhlIEVjbGlwc2UgZnJhbWV3b3JrOjwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0yPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48Zm9udCBzaXplPTI+RGVtb25zdHJhdGVkIHN1cHBvcnQgYXQgV2ViU3BoZXJlMjAwMSBpbg0KICAgIEF1c3RyaWEsIE1heSAyMDAxPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTM+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5TdXBwb3J0ZWQgd2l0aCBMaXZlIERlbW9uc3RyYXRpb24gYmFzZWQgb24gZWFybHkNCiAgICBhZGFwdGVyIHZlcnNpb24uPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTM+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5WZW5kb3IgUEVELCBDb25mZXJlbmNlIFByZXNlbnRhdGlvbjwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0yPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48Zm9udCBzaXplPTI+UGFydCBvZiBvdGhlciBTZXJlbmEgSUJNIHByZXNlbnRhdGlvbnM6PC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTM+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0xPjxmb250IHNpemU9Mj5XZWJTcGhlcmUgVGVjaG5pY2FsIEV4Y2hhbmdlLCBOb3YuIDIwMDE8L2ZvbnQ+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIGNvbHNwYW49Mj48L3RkPg0KICAgIDx0ZCBjb2xzcGFuPTI+PGZvbnQgc2l6ZT0yPlByZXNzIFJlbGVhc2Ugc3VwcG9ydGluZyBXb3JrYmVuY2ggKEp1bmUsIDIwMDEpPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCBjb2xzcGFuPTI+PC90ZD4NCiAgICA8dGQgY29sc3Bhbj0yPjxmb250IHNpemU9Mj5QcmVzcyBSZWxlYXNlIHN1cHBvcnRpbmcgV1NBRCAoTm92LiAyMDAxKTwvZm9udD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgY29sc3Bhbj0yPjwvdGQ+DQogICAgPHRkIGNvbHNwYW49Mj48Zm9udCBzaXplPTI+UHJlc3MgUmVsZWFzZSCTbWVtYmVyIG9mIEVjbGlwc2UgYm9hcmSUIChBcHJpbA0KICAgIDIwMDIpPC9mb250PjwvdGQ+DQogICA8L3RyPg0KICA8L3RhYmxlPg0KICA8L2Rpdj4NCiAgPC90ZD4NCiA8L3RyPg0KPC90YWJsZT4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0K