PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+CjxtZXRhIG5hbWU9UHJvZ0lkIGNvbnRlbnQ9UG93ZXJQb2ludC5TbGlkZT4KPG1ldGEgbmFtZT1HZW5lcmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFBvd2VyUG9pbnQgMTAiPgo8bGluayBpZD1NYWluLUZpbGUgcmVsPU1haW4tRmlsZQpocmVmPSIuLi9FY2xpcHNlQ29uMjAwOF9Mb25nVGFsa19OZXdGZWF0dXJlc09mVU1MMi5odG0iPgo8bGluayByZWw9UHJldmlldyBocmVmPXByZXZpZXcud21mPgo8bWV0YSBuYW1lPVJvYm90cyBjb250ZW50PU5vSW5kZXg+CjxzY3JpcHQgc3JjPXNjcmlwdC5qcz48L3NjcmlwdD48c2NyaXB0PjwhLS0KaWYoICEoSXNXaW4oIlBQVE90bCIpfHxJc1dpbigiUFBUTmF2Iil8fElzV2luKCJQUFRPdGxOYXYiKSkgKQp7CglvYmogPSBHZXRPYmooIk1haW4tRmlsZSIpCglwYXJlbnQubG9jYXRpb24uaHJlZj1vYmouaHJlZgp9CnZhciBnT3RsSGlsaXRlQ2xyPSIjZmZmZmZmIixnT3RsTm9ybWFsQ2xyPSIjMDAwMDAwIixnT3RsQWN0aXZlQ2xyPSIjZmZmZjAwIixnU2VsZWN0ZWQ9IiIsZ1R4dFN0YXRlPWZhbHNlLGdDaGlsZEVudHJ5VGFibGU9bmV3IEFycmF5KCkKZnVuY3Rpb24gTG9hZCgpCnsKCWlmKCBJc1dpbigiUFBUT3RsIiApICl7IExvYWRPdGwoKTsgcGFyZW50LmdPdGxMb2FkZWQ9dHJ1ZTsgcmV0dXJuIH0KCWlmKCBnX3N1cHBvcnRzUFBUSFRNTCApIHsKCQlpZiggSXNXaW4oIlBQVE5hdiIgKSApeyBMb2FkTmF2KCJOYXZPYmoiLFVwZE5hdik7IHBhcmVudC5nTmF2TG9hZGVkPXRydWU7IHJldHVybiB9CgkJaWYoIElzV2luKCJQUFRPdGxOYXYiICkgKXsgTG9hZE5hdigiT3RsTmF2T2JqIixVcGRPdGxOYXYpOyBwYXJlbnQuZ090bE5hdkxvYWRlZD10cnVlOyByZXR1cm4gfQoJfQp9CmZ1bmN0aW9uIFVwZCgpeyBpZiggSXNXaW4oIlBQVE5hdiIpICkgTG9hZE5hdigiTmF2T2JqIixVcGROYXYpIH0KZnVuY3Rpb24gTG9hZE5hdiggb0lkLFVwZEZ1bmMgKQp7Cglkb2N1bWVudC5vbmRyYWdzdGFydD1DYW5jZWxEcmFnCglkb2N1bWVudC5vbnNlbGVjdHN0YXJ0PUNhbmNlbERyYWcKCWRvY3VtZW50LmJvZHkuc3R5bGUubWFyZ2luPTIKCVVwZEZ1bmMoKQoJb2JqPWRvY3VtZW50LmFsbC5pdGVtKG9JZCkKCW9iai5zdHlsZS5kaXNwbGF5PSJibG9jayIKCW9iai5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIgoJZG9jdW1lbnQuYmdDb2xvcj0idGhyZWVkZmFjZSIKCWlmKCBwYXJlbnQuZnJhbWVzWyJQUFROdHMiXSApCgkJbm90ZXNCdG4uc3R5bGUuZGlzcGxheSA9ICIiCglpZiggcGFyZW50LmdIYXNOYXJyYXRpb24gKQoJCW5iX3ZvaWNlQm9yZGVyLnN0eWxlLmRpc3BsYXkgPSAiIgp9CmZ1bmN0aW9uIExvYWRPdGwoKQp7Cgl2YXIgb3RsPUdldE9iaigiT3RsT2JqIikKCW90bC5zdHlsZS5kaXNwbGF5PSJibG9jayIKCW90bC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIgoJaWYoIGdPdGxBY3RpdmVDbHIgPT0gIiIgKSBnT3RsQWN0aXZlQ2xyPWRvY3VtZW50LmxpbmtDb2xvcgoJaWYoIGdPdGxIaWxpdGVDbHIgPT0gIiIgKSBnT3RsSGlsaXRlQ2xyPWRvY3VtZW50LmZnQ29sb3IKCWlmKCBnT3RsTm9ybWFsQ2xyID09ICIiICkKCQlnT3RsTm9ybWFsQ2xyPWRvY3VtZW50LmJnQ29sb3IKCWVsc2UKCQlkb2N1bWVudC5iZ0NvbG9yPWdPdGxOb3JtYWxDbHIKCUluaXRBcnJheSgpCglpZiggT2JqRXhpc3RzKCBwYXJlbnQuZ0N1clNsZCApICkgewoJCUNoYW5nZVN0YXRlKCBwYXJlbnQuZ0N1clNsZCxnT3RsTm9ybWFsQ2xyLGdPdGxIaWxpdGVDbHIgKQoJCWdTZWxlY3RlZD1wYXJlbnQuZ0N1clNsZAoJfQoJZWxzZSBnU2VsZWN0ZWQgPSAtMQoJVXBkT3RsKCkKfQpmdW5jdGlvbiBVcGRPdGwoKXsgVXBkSWR4KHBhcmVudC5nQ3VyU2xkKSB9CmZ1bmN0aW9uIFVwZElkeCggaWR4ICkKewoJaWYoIGdTZWxlY3RlZCAhPSBpZHggKSB7CgkJaWYoIGdTZWxlY3RlZCA+IDAgKQoJCQlDaGFuZ2VTdGF0ZSggZ1NlbGVjdGVkLGdPdGxIaWxpdGVDbHIsZ090bE5vcm1hbENsciApCgkJaWYoIE9iakV4aXN0cyggaWR4ICkgKSB7CgkJCWdTZWxlY3RlZCA9IGlkeAoJCQlDaGFuZ2VTdGF0ZSggZ1NlbGVjdGVkLGdPdGxOb3JtYWxDbHIsZ090bEhpbGl0ZUNsciApCgkJfQoJCWVsc2UgZ1NlbGVjdGVkID0gLTEKCX0KCWlmKCBnVHh0U3RhdGUgIT0gcGFyZW50LmdPdGxUeHRFeHAgKSB7CgkJc3RhdGUgPSAiYmxvY2siCgkJaWYoICFwYXJlbnQuZ090bFR4dEV4cCApCgkJCXN0YXRlPSJub25lIgoJCWZvcihpaT0wOyBpaTxnQ2hpbGRFbnRyeVRhYmxlLmxlbmd0aDsgaWkrKykgewoJCQlvYmo9Z0NoaWxkRW50cnlUYWJsZVtpaV07CgkJCWlmKCBvYmouaWQgPT0gbnVsbCApIGNvbnRpbnVlOwoJCQlpZiggb2JqLmlkLmluZGV4T2YoIlBQVEMiKSA+PSAwICkKCQkJCW9iai5zdHlsZS5kaXNwbGF5PXN0YXRlOwoJCX0KCQlnVHh0U3RhdGU9cGFyZW50LmdPdGxUeHRFeHAKCQlpZiggT2JqRXhpc3RzKCBnU2VsZWN0ZWQgKSApCgkJCUNoYW5nZVN0YXRlKCBnU2VsZWN0ZWQsZ090bE5vcm1hbENscixnT3RsSGlsaXRlQ2xyICkKCX0KfQpmdW5jdGlvbiBJbml0QXJyYXkoKQp7Cgljb3VudD0wCgl2YXIgbGlzdD1HZXRUYWdzKGRvY3VtZW50LCJESVYiKTsKCWZvcihpaT0wOyBpaTxsaXN0Lmxlbmd0aDsgaWkrKykgewoJCW9iaj1saXN0Lml0ZW0oaWkpCgkJaWYoIG9iai5pZCA9PSBudWxsICkgY29udGludWUKCQlpZiggb2JqLmlkLmluZGV4T2YoIlBQVEMiKSA+PSAwICkKCQkJZ0NoaWxkRW50cnlUYWJsZVtjb3VudCsrXT1vYmoKCX0KfQpmdW5jdGlvbiBDaGFuZ2VTdGF0ZSggaWR4LGZnQ29sb3IsYmdDb2xvciApCnsKCW9iaj1HZXRPYmooIlBQVEwiK2lkeCkKCW9iai5zdHlsZS5jb2xvcj1mZ0NvbG9yCglvYmo9R2V0T2JqKCJQUFRQIitpZHgpCglvYmouc3R5bGUuYmFja2dyb3VuZENvbG9yPWJnQ29sb3IKfQpmdW5jdGlvbiBDaGdDbHIoIG8sY2xyICl7IGlmKCBvLmlkICE9ICJQUFRMIitnU2VsZWN0ZWQgKSBvLnN0eWxlLmNvbG9yPWNsciB9CmZ1bmN0aW9uIE92ZXIoIHNyYyApeyBDaGdDbHIoR2V0TGluayhzcmMpLGdPdGxBY3RpdmVDbHIpIH0KZnVuY3Rpb24gT3V0KCBzcmMgKXsgQ2hnQ2xyKEdldExpbmsoc3JjKSxnT3RsSGlsaXRlQ2xyKSB9CmZ1bmN0aW9uIEZvbGxvdyhzcmMpeyB3aW5kb3cubG9jYXRpb24uaHJlZiA9IEdldExpbmsoc3JjKS5ocmVmOyB9CmZ1bmN0aW9uIE9iakV4aXN0cyggaWkgKSB7IG9iaj1HZXRPYmooIlBQVFAiK2lpICk7IHJldHVybiggb2JqICkgfQpmdW5jdGlvbiBHb1RvU2xkKCBocmVmICl7IFVwZElkeChwYXJlbnQuR2V0U2xkTnVtKGhyZWYpKTsgcGFyZW50LkdvVG9TbGQoIGhyZWYgKSB9CmZ1bmN0aW9uIENhbmNlbERyYWcoKXsgd2luZG93LmV2ZW50LmNhbmNlbEJ1YmJsZT10cnVlO3dpbmRvdy5ldmVudC5yZXR1cm5WYWx1ZT1mYWxzZX0KZnVuY3Rpb24gR2V0TGluayhzcmMpCnsKICAgaWYoc3JjLnRhZ05hbWU9PSJBIikgcmV0dXJuIHNyYwogICBlbHNlIHJldHVybiBHZXRUYWdzKHNyYywiQSIpLml0ZW0oMCkKfQpmdW5jdGlvbiBVcGROYXYoKQp7Cgl0eHQgPSAiPGNlbnRlcj4iOwoJaWYoIHBhcmVudC5HZXRIcmVmT2JqKCBwYXJlbnQuZ0N1clNsZCApLm1PcmlnVmlzID09IDEgKQoJCXR4dCArPSAiU2xpZGUgIiArIHBhcmVudC5HZXRDdXJTbGROdW0oKSArICIgb2YgIiArIHBhcmVudC5HZXROdW1TbGRzKCkKCWVsc2UKCQl0eHQgKz0gIkhpZGRlbiBTbGlkZSIKCXR4dCArPSAiPC9jZW50ZXI+IjsKCW5hdl90ZXh0LmlubmVySFRNTCA9IHR4dDsKCWlmKCAhcGFyZW50Lkhhc1ByZXZTbGQoKSApCgkJZ0J0bkFyclsibmJfcHJldiJdLkVuYWJsZWQoMCkKCWVsc2UKCQlnQnRuQXJyWyJuYl9wcmV2Il0uRW5hYmxlZCgxKQoJaWYoICFwYXJlbnQuSGFzTmV4dFNsZCgpICkKCQlnQnRuQXJyWyJuYl9uZXh0Il0uRW5hYmxlZCgwKQoJZWxzZQoJCWdCdG5BcnJbIm5iX25leHQiXS5FbmFibGVkKDEpCglnQnRuQXJyWyJuYl9udHMiXS5TZXRFbmFibGVkKCkKCWdCdG5BcnJbIm5iX250cyJdLlNldEZsYWcoIHBhcmVudC5nSGFzTnRzICkKCWdCdG5BcnJbIm5iX3NsZHNodyJdLkVuYWJsZWQoMSkKCWdCdG5BcnJbIm5iX3ZvaWNlIl0uRW5hYmxlZCgxKQp9CmZ1bmN0aW9uIFVwZE90bE5hdigpCnsKCWdCdG5BcnJbIm5iX290bCJdLlNldEVuYWJsZWQoKTsKCWlmKCBwYXJlbnQuZ090bE9wZW4gKQoJCWdCdG5BcnJbIm5iX290bFR4dCJdLkVuYWJsZWQoIHRydWUgKTsKCWVsc2UKCQlkb2N1bWVudC5hbGwuaXRlbSgibmJfb3RsVHh0Qm9yZGVyIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwp9CgovLy0tPjwvc2NyaXB0Pgo8c3R5bGU+CjwhLS0uUFR4dAoJe3Bvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCW1hcmdpbi10b3A6NXB4OwoJcGFkZGluZy1sZWZ0OjJweDsKCWZvbnQtd2VpZ2h0OmJvbGQ7fQouQ1R4dAoJe3Bvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCW1hcmdpbi10b3A6NXB4O30KYQoJe2NvbG9yOndoaXRlOwoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQp1bAoJe2NvbG9yOndoaXRlOwoJbWFyZ2luLWJvdHRvbTowcHg7CgltYXJnaW4tbGVmdDoyMHB4O30KLnNsZE51bQoJe21hcmdpbi10b3A6NXB4OwoJY29sb3I6d2hpdGU7fQouYnV0dG9uCgl7cG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDozMnB4OwoJaGVpZ2h0OjIwcHg7Cglib3JkZXItc3R5bGU6c29saWQ7Cglib3JkZXItd2lkdGg6MXB4OwoJYm9yZGVyLWNvbG9yOnRocmVlZGZhY2U7fQotLT4KPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHkgb25sb2FkPSJMb2FkKCkiIHN0eWxlPSdtYXJnaW46MnB4Jz4KCjxkaXYgaWQ9TmF2T2JqIG9ubG9hZD0iTG9hZCgpIiBvbm1vdXNlb3Zlcj0iQnRuT25PdmVyKCkiCm9ubW91c2Vkb3duPSJCdG5PbkRvd24oKSIgb25tb3VzZW91dD0iQnRuT25PdXQoKSIgb25tb3VzZXVwPSJCdG5PblVwKCkiCm9ua2V5cHJlc3M9Il9LUEgoKSIgc3R5bGU9J2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbic+Cjx0YWJsZSBpZD0ibm90ZXNCdG4iIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7d2lkdGg6NzBweCcgYWxpZ249bGVmdCBjZWxscGFkZGluZz0wCiBjZWxsc3BhY2luZz0wPgogPHRkIG5vd3JhcD4KIDxkaXYgaWQ9Im5iX250c0VsZW0iIGFsaWduPWNlbnRlciBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzozcHg7CiBmb250LWZhbWlseTpBcmlhbDtjb2xvcjpidXR0b250ZXh0O2ZvbnQtc2l6ZTo5cHQnPjxpbWcgc3JjPSJub3Rlc19mbGFnLmdpZiIKIGJvcmRlcj0wIGlkPSJub3Rlc19mbGFnIiBzdHlsZT0nZGlzcGxheTpub25lJz48c3BhbgpzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+Tm90ZXM8L2Rpdj4KIDxkaXYgdGl0bGU9IlNob3cvSGlkZSBOb3RlcyIgaWQ9Im5iX250cyIgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowJTsKIGxlZnQ6MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJSc+PC9kaXY+CiA8L3RkPgo8L3RhYmxlPgoKPHRhYmxlIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo3MHB4JyBhbGlnbj1yaWdodCBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTA+CiA8dGQgbm93cmFwPgogPGRpdiBpZD0ibmJfc2xkc2h3VGV4dCIgdGl0bGU9IkZ1bGwKU2NyZWVuIFNsaWRlIFNob3ciIGFsaWduPWNlbnRlciBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWxlZnQ6MjBweDtwYWRkaW5nOjNweDsKIGZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOmJ1dHRvbnRleHQ7Zm9udC1zaXplOjlwdDtjdXJzb3I6ZGVmYXVsdCc+U2xpZGUKU2hvdzwvZGl2PgogPGRpdiBpZD0ibmJfc2xkc2h3Qm9yZGVyIiB0aXRsZT0iRnVsbCBTY3JlZW4gU2xpZGUgU2hvdyIgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowJTtsZWZ0OjAlO3dpZHRoOjEwMCU7aGVpZ2h0OjIwcHgnPgogPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDBweCwgMThweCwgMThweCwgMHB4KSc+PGltZwogc3JjPSJidXR0b25zLmdpZiIgaWQ9Im5iX3NsZHNodyIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6LTI1NHB4Jz48L2Rpdj4KIDwvZGl2PgogPC90ZD4KIDx0ZD4KIDxkaXYgaWQ9Im5iX3ZvaWNlQm9yZGVyIiBzdHlsZT0nZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LTQwcHg7CiB3aWR0aDoyMHB4O2hlaWdodDoyMHB4Jz4KIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgwcHgsIDE4cHgsIDE4cHgsIDBweCknPjxpbWcKIHNyYz0iYnV0dG9ucy5naWYiIGlkPSJuYl92b2ljZSIgdGl0bGU9IlBhdXNlL1BsYXkgTmFycmF0aW9uIiBzdHlsZT0ncG9zaXRpb246CiByZWxhdGl2ZTtsZWZ0Oi0yOTBweCc+PC9kaXY+CiA8L2Rpdj4KIDwvdGQ+CjwvdGFibGU+Cgo8dGFibGUgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlJyBhbGlnbj1jZW50ZXIgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wPgogPHRkIG5vd3JhcD4KIDxkaXYgaWQ9Im5iX3ByZXZCb3JkZXIiIGNsYXNzPWJ1dHRvbiBzdHlsZT0nbGVmdDotMzBweCc+CiA8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMHB4LCAzMHB4LCAxOHB4LCAwcHgpJz48aW1nCiBzcmM9ImJ1dHRvbnMuZ2lmIiBpZD0ibmJfcHJldiIgdGl0bGU9IlByZXZpb3VzIFNsaWRlIiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7CiBsZWZ0OjBweCc+PC9kaXY+CiA8L2Rpdj4KIDxzcGFuIGlkPSJuYXZfdGV4dCIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDozcHg7d2lkdGg6MTAwcHg7Zm9udC1mYW1pbHk6CiBBcmlhbDtjb2xvcjpidXR0b250ZXh0O2ZvbnQtc2l6ZTo5cHQnPjwvc3Bhbj4KIDxkaXYgaWQ9Im5iX25leHRCb3JkZXIiIGNsYXNzPWJ1dHRvbj4KIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgwcHgsIDMwcHgsIDE4cHgsIDBweCknPjxpbWcKIHNyYz0iYnV0dG9ucy5naWYiIGlkPSJuYl9uZXh0IiB0aXRsZT0iTmV4dCBTbGlkZSIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlOwogbGVmdDotOTBweCc+PC9kaXY+CiA8L2Rpdj4KIDwvdGQ+CjwvdGFibGU+CjwvZGl2PgoKPGRpdiBpZD1PdGxOYXZPYmogb25sb2FkPSJMb2FkKCkiIG9ubW91c2VvdmVyPSJCdG5Pbk92ZXIoKSIKb25tb3VzZWRvd249IkJ0bk9uRG93bigpIiBvbm1vdXNlb3V0PSJCdG5Pbk91dCgpIiBvbm1vdXNldXA9IkJ0bk9uVXAoKSIKb25rZXlwcmVzcz0iX0tQSCgpIiBzdHlsZT0nZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVuJz4KCjx0YWJsZSBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NzBweCcgYWxpZ249bGVmdCBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTA+CiA8dGQgbm93cmFwPjxkaXYgdGl0bGU9IlNob3cvSGlkZQpPdXRsaW5lIiBpZD0ibmJfb3RsIgogc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlO3RvcDowJTtsZWZ0OjAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQnPgogPGRpdiBpZD0ibmJfb3RsRWxlbSIgYWxpZ249Y2VudGVyIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjNweDtmb250LWZhbWlseTpBcmlhbDsKIGNvbG9yOmJ1dHRvbnRleHQ7Zm9udC1zaXplOjlwdCc+T3V0bGluZTwvZGl2PjwvZGl2PgogPC90ZD4KPC90YWJsZT4KCjx0YWJsZSBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmUnIGFsaWduPWNlbnRlciBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTA+CiA8dGQ+CiA8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xOHB4O3dpZHRoOjI0cHg7aGVpZ2h0OjIwcHg7Ym9yZGVyLXN0eWxlOgogc29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItY29sb3I6dGhyZWVkZmFjZScgaWQ9Im5iX290bFR4dEJvcmRlciI+CiA8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMHB4LCAyMnB4LCAxOHB4LCAwcHgpJz48aW1nCiBzcmM9YnV0dG9ucy5naWYgaWQ9Im5iX290bFR4dCIgdGl0bGU9IkV4cGFuZC9Db2xsYXBzZSBPdXRsaW5lIgogc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6LTE1N3B4Jz48L2Rpdj4KIDwvZGl2PgogPC90ZD4KPC90YWJsZT4KCjwvZGl2PgoKPGRpdiBpZD1PdGxPYmogc3R5bGU9J2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjsnPgoKCjx0YWJsZSB3aWR0aD0iMTAwJSIgc3R5bGU9J2ZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZTo5cHQnPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4xPC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkIHdpZHRoPSIxMDAlIj4KICA8ZGl2IGlkPVBQVFAxIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMDEuaHRtJyk7IiBpZD1QUFRMMT5OZXcgRmVhdHVyZXMgb2YgVU1MMjoKICBHZW5lcmljcywgU3RhdGljIFByb2ZpbGUgRGVmaW5pdGlvbiBhbmQgT0NMIGludGVncmF0aW9uPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMxIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPkxvbmcgVGFsazwvbGk+CiAgIDxsaT4oMTcwKTwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+SmFtZXMgQnJ1Y2s8L2xpPgogICA8bGk+SUJNIFJhdGlvbmFsIFNvZnR3YXJlPC9saT4KICAgPGxpPlVNTDIgQ29tbWl0dGVyPC9saT4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MjwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAyIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMTAuaHRtJyk7IiBpZD1QUFRMMj5BZ2VuZGE8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzIgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+SW50cm9kdWN0aW9uPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5OZXcgRmVhdHVyZXM6PC9saT4KICAgPGJyPgogICA8YnI+CiAgIDx1bD4KICAgIDxsaT5HZW5lcmljczwvbGk+CiAgIDwvdWw+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPlN0YXRpYyBQcm9maWxlIERlZmluaXRpb248L2xpPgogICA8L3VsPgogICA8YnI+CiAgIDx1bD4KICAgIDxsaT5PQ0wgSW50ZWdyYXRpb248L2xpPgogICAgPGJyPgogICAgPGJyPgogICA8L3VsPgogICA8bGk+U3VtbWFyeTwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8YnI+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjM8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMyBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDExLmh0bScpOyIgaWQ9UFBUTDM+SW50cm9kdWN0aW9uOiBGaWxsIHVwCiAgeW91ciBUb29sYm94PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMzIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPkNyZWF0aW5nIGFyY2hpdGVjdHVyZXMgdXNpbmcgYmFzaWMgbW9kZWxpbmcgdGVjaG5pcXVlcyAoQ2xhc3MgZGlhZ3JhbXMsCiAgICAgICBTZXF1ZW5jZSBkaWFncmFtcyBldGMuKSBpcyBqdXN0IHRoZSBmaXJzdCBzdGVwLjwvbGk+CiAgIDx1bD4KICAgIDxicj4KICAgIDxicj4KICAgPC91bD4KICAgPGxpPkV4cGFuZCB5b3VyIHRvb2xib3ggYnkgYWRkaW5nOjwvbGk+CiAgIDx1bD4KICAgIDxsaT5HZW5lcmljcy9UZW1wbGF0ZXM8L2xpPgogICAgPHVsPgogICAgIDxsaT5BYmlsaXR5IHRvIGV4cHJlc3MgZ2VuZXJpYyByZXVzYWJsZSBiZWhhdmlvci48L2xpPgogICAgIDxicj4KICAgICA8YnI+CiAgICA8L3VsPgogICAgPGxpPlN0YXRpYyBwcm9maWxlIGRlZmluaXRpb248L2xpPgogICAgPHVsPgogICAgIDxsaT5HZW5lcmF0ZSBjb2RlIGZyb20gcHJvZmlsZTwvbGk+CiAgICAgPGxpPk5vdyB5b3UgY2FuIHNwZWNpZnkgYmVoYXZpb3IgaW4geW91ciBwcm9maWxlcy48L2xpPgogICAgIDxicj4KICAgICA8YnI+CiAgICA8L3VsPgogICAgPGxpPk9DTCBJbnRlZ3JhdGlvbjwvbGk+CiAgICA8dWw+CiAgICAgPGxpPkFiaWxpdHkgdG8gY3JlYXRlIGNvbnN0cmFpbnRzLCBhdHRhY2ggdGhlbSB0byB5b3VyIG1vZGVsIGFuZCBoYXZlIGFsbAogICAgICAgICB0aGUgY29kZSBuZWNlc3NhcnkgdG8gZXZhbHVhdGUgdGhlIGNvbnN0cmFpbnRzIHVzaW5nIHRoZSBNRFQtT0NMCiAgICAgICAgIHByb2plY3QuPC9saT4KICAgICA8YnI+CiAgICAgPGJyPgogICAgPC91bD4KICAgPC91bD4KICAgPGxpPkNvbWJpbmF0aW9uIG9mIHRoZXNlIHRvb2xzIGFsbG93cyB5b3UgdG8gbWFrZSBwcmFjdGljYWwgdXNlIG9mIHlvdXIKICAgICAgIG1vZGVscy48L2xpPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj40PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDQgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAxMi5odG0nKTsiIGlkPVBQVEw0PkFnZW5kYTwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDNCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5JbnRyb2R1Y3Rpb248L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPk5ldyBGZWF0dXJlczwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+R2VuZXJpY3M8L2xpPgogICA8L3VsPgogICA8YnI+CiAgIDx1bD4KICAgIDxsaT5TdGF0aWMgUHJvZmlsZSBEZWZpbml0aW9uPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+T0NMIEludGVncmF0aW9uPC9saT4KICAgIDxicj4KICAgIDxicj4KICAgPC91bD4KICAgPGxpPlN1bW1hcnk8L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGJyPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj41PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDUgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAxMy5odG0nKTsiIGlkPVBQVEw1PkdlbmVyaWNzOiBXaHkgQm90aGVyPzwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDNSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5HZW5lcmljcyBpbiBKYXZhmS48L2xpPgogICA8dWw+CiAgICA8bGk+RW5oYW5jZSByZXVzYWJpbGl0eSBvZiBhbiBBUEkgYnkgaXNvbGF0aW5nIGdlbmVyaWMgYmVoYXZpb3IuPC9saT4KICAgIDxsaT5MaXN0cyBhbmQgTWFwcyBhcmUgY29tbW9ubHkgdXNlZCBzaW5jZSB0aGUgaW1wbGVtZW50YXRpb24gZG9lc26SdCBjYXJlCiAgICAgICAgYWJvdXQgdGhlIHR5cGVzIGNvbnRhaW5lZCCWIHRoZWlyIGNsaWVudHMgZG8uPC9saT4KICAgIDx1bD4KICAgICA8YnI+CiAgICAgPGJyPgogICAgPC91bD4KICAgPC91bD4KICAgPGxpPkdlbmVyaWNzIGluIFVNTK4uPC9saT4KICAgPHVsPgogICAgPGxpPlByYWN0aWNhbCBVc2VzPC9saT4KICAgIDx1bD4KICAgICA8bGk+SW4gYW4gRU1GLWJhc2VkIG1vZGVsaW5nIHdvcmxkLCBhIHByYWN0aWNhbCBlbmQtZ29hbCBvZiBtb2RlbGluZyBpcyB0bwogICAgICAgICBnZW5lcmF0ZSBjb2RlLjwvbGk+CiAgICAgPGxpPlVuZGVyc3RhbmRpbmcgaG93IHRvIGV4cHJlc3MgdGVtcGxhdGVzIGFuZCBtb2RlbCBwcmVjaXNlbHkgdXNpbmcgVU1MCiAgICAgICAgIGNvbnN0cnVjdHMgaXMgdXNlZnVsLjwvbGk+CiAgICA8L3VsPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj42PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDYgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAxNC5odG0nKTsiIGlkPVBQVEw2PkdlbmVyaWNzOiBPdmVydmlldzwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDNiBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5UaGUgY29kZSBnZW5lcmF0aW9uIHByb2Nlc3MgZnJvbSBVTUwgdG8gSmF2YSB1c2VzIEVNRi48L2xpPgogICA8dWw+CiAgICA8bGk+PHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPkFuIGludGVybWVkaWF0ZSBFY29yZQogICAgICAgIHJlcHJlc2VudGF0aW9uIGlzIGNyZWF0ZWQuPC9saT4KICAgIDxsaT48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+QmVoaW5kIHRoZSBzY2VuZXMsIE1EVC1VTUwyCiAgICAgICAgY29udmVydHMgZnJvbSBVTUwgdG8gRWNvcmUuPC9saT4KICAgPC91bD4KICAgPGJyPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj43PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDcgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAxNS5odG0nKTsiIGlkPVBQVEw3PkdlbmVyaWNzOiBDb25jZXB0cyCWIFRoZQogIFBsYXllcnM8L2E+PC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj44PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDggY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAxNi5odG0nKTsiIGlkPVBQVEw4PkdlbmVyaWNzOiBDb25jZXB0cyAtIFVNTDwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDOCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5BIFRlbXBsYXRlYWJsZUVsZW1lbnQgdGhhdCBjb250YWlucyBhIFRlbXBsYXRlU2lnbmF0dXJlIGlzIHJlZmVycmVkIHRvCiAgICAgICBhcyBhIFRlbXBsYXRlLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+PHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqA8L3NwYW4+SWYgYSBUZW1wbGF0ZWFibGVFbGVtZW50IGhhcwogICAgICAgdGVtcGxhdGUgcGFyYW1ldGVycywgYSBzbWFsbCBkYXNoZWQgcmVjdGFuZ2xlIGlzIHN1cGVyaW1wb3NlZC48L2xpPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+OTwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFA5IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMTcuaHRtJyk7IiBpZD1QUFRMOT5HZW5lcmljczogQ29uY2VwdHMgLSBVTUw8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzkgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MTA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMTAgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAxOC5odG0nKTsiIGlkPVBQVEwxMD5HZW5lcmljczogQ29uY2VwdHMglgogIFRoZSBQbGF5ZXJzPC9hPjwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MTE8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMTEgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA2My5odG0nKTsiIGlkPVBQVEwxMT5HZW5lcmljczogQ29uY2VwdHMgLQogIEphdmE8L2E+PC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4xMjwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAxMiBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDE5Lmh0bScpOyIgaWQ9UFBUTDEyPkdlbmVyaWNzOiBDb25jZXB0cyAtCiAgVU1MPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMxMiBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5UZW1wbGF0ZUJpbmRpbmc8L2xpPgogICA8dWw+CiAgICA8bGk+U3Vic3RpdHV0aW9uIG9mIGFjdHVhbCBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWFsIHRlbXBsYXRlIHBhcmFtZXRlcnMuPC9saT4KICAgPC91bD4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MTM8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMTMgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAyMS5odG0nKTsiIGlkPVBQVEwxMz5HZW5lcmljczogRXhhbXBsZXMglgogIEdlbmVyaWMgT3BlcmF0aW9uczwvYT48L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjE0PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDE0IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMjIuaHRtJyk7IiBpZD1QUFRMMTQ+R2VuZXJpY3M6IEV4YW1wbGVzIC0KICBXaWxkY2FyZHM8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzE0IGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPkluIEphdmEsIHdpbGRjYXJkcyBhcmUgcmVwcmVzZW50ZWQgYnkgPyB3aGljaCBzdGFuZHMgZm9yIGFuIHVua25vd24KICAgICAgIHR5cGUuPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5XaGVuIHdlIHRhbGsgYWJvdXQgYm91bmRzIHdlIHJlZmVyIHRvIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgdGhhdAogICAgICAgYmluZGluZ3MgbXVzdCBlaXRoZXIgYmUgdGhlIHN1cGVyIHR5cGUgb2Ygc29tZSBjbGFzc2lmaWVyIG9yIGV4dGVuZCBzb21lCiAgICAgICBjbGFzc2lmaWVyLjwvbGk+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjE1PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDE1IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMjMuaHRtJyk7IiBpZD1QUFRMMTU+R2VuZXJpY3M6IEV4YW1wbGVzIC0KICBXaWxkY2FyZHM8L2E+PC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4xNjwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAxNiBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDI0Lmh0bScpOyIgaWQ9UFBUTDE2PkdlbmVyaWNzOiBFbmhhbmNlZAogIFByb2ZpbGU8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzE2IGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPlVNTCBjYW5ub3QgY2FwdHVyZSBldmVyeXRoaW5nLjwvbGk+CiAgIDxsaT4mbHQ7Jmx0O2VHZW5lcmljVHlwZSZndDsmZ3Q7PC9saT4KICAgPHVsPgogICAgPGxpPkZvciBjb2RlIGdlbmVyYXRpb24sIHdlIHdhbnQgdG8gbWFyayBjbGFzc2VzIGFzIGludGVybWVkaWFyeSBjb25zdHJ1Y3RzCiAgICAgICAgKG5vdCBpbmNsdWRlZCBpbiBmaW5hbCBKYXZhIHJlcHJlc2VudGF0aW9uKS48L2xpPgogICAgPGxpPkludHJvZHVjZSB1cHBlciBhbmQgbG93ZXIgYm91bmRzLjwvbGk+CiAgIDwvdWw+CiAgIDxsaT4mbHQ7Jmx0O2VUeXBlUGFyYW1ldGVyJmd0OyZndDs8L2xpPgogICA8dWw+CiAgICA8bGk+SW50cm9kdWNlIG11bHRpcGxlIGJvdW5kcy48L2xpPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4xNzwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAxNyBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDI1Lmh0bScpOyIgaWQ9UFBUTDE3PkdlbmVyaWNzOiBFeGFtcGxlcyAtCiAgV2lsZGNhcmRzPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMxNyBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5MZXSScyByZXZpc2l0IG91ciBwcmV2aW91cyBleGFtcGxlIHdpdGggd2lsZGNhcmRzIGFuZCBub3cgY29uc2lkZXIKICAgICAgIHN0ZXJlb3R5cGUgcHJvcGVydGllcy48L2xpPgogICA8dWw+CiAgICA8bGk+V2UgY2FuIHNldCB0aGUgkXVwcGVykiBhbmQgkWxvd2VykiBib3VuZHMgb24gb3VyCiAgICAgICAgJmx0OyZsdDtFR2VuZXJpYyZndDsmZ3Q7IHN0ZXJlb3R5cGUuPC9saT4KICAgIDxsaT5JbiB0aGUgY2FzZSBvZiBvdXIgV2lsZGNhcmRfZXh0ZW5kc19DYXIsIHdlIGhhdmUgdGhlIGZvbGxvd2luZzo8L2xpPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4xODwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAxOCBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDI2Lmh0bScpOyIgaWQ9UFBUTDE4PkdlbmVyaWNzOiBFeGFtcGxlcyCWCiAgTXVsdGlwbGUgQ29uc3RyYWluaW5nIENsYXNzaWZpZXJzPC9hPjwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MTk8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMTkgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA3OC5odG0nKTsiIGlkPVBQVEwxOT5HZW5lcmljczogRGVtbzwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDMTkgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+Q29kZSBnZW5lcmF0aW9uIGZyb20gYSBtb2RlbCB3aXRoIGdlbmVyaWNzIHNwZWNpZmllZC48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPHVsPgogICAgPGJyPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4yMDwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAyMCBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDI4Lmh0bScpOyIgaWQ9UFBUTDIwPkdlbmVyaWNzOiBUaXBzICZhbXA7CiAgUmVzb3VyY2VzPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMyMCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5Bbnl0aGluZyB0aGF0IGNhbiBiZSBleHByZXNzZWQgaW4gSmF2YSBjYW4gYmUgcmVwcmVzZW50ZWQgd2l0aCBVTUwKICAgICAgIGNvbnN0cnVjdHMuPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5SZW1lbWJlciB0aGF0IGluIFVNTCwgeW91IG5lZWQgY29uY3JldGUgcmVwcmVzZW50YXRpb25zIG9mIHlvdXIgZ2VuZXJpYwogICAgICAgY2xhc3NlcyAoYm91bmQgY2xhc3NlcykgaW4gb3JkZXIgdG8gdXNlIHRoZW0uPC9saT4KICAgPHVsPgogICAgPGxpPlRoZXNlIGV4dHJhIGNvbnN0cnVjdHMgYXJlIG5vdCByZXF1aXJlZCBpbiBKYXZhIG9yIEVNRi48L2xpPgogICA8L3VsPgogICA8YnI+CiAgIDxsaT5JZiB5b3UgZ2V0IHN0dWNrPC9saT4KICAgPHVsPgogICAgPGxpPlVzZSB0aGUgRWNvcmUgdG8gVU1MMiBjb252ZXJ0ZXIuPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAKICAgICAgICA8L3NwYW4+U3RhcnQgd2l0aCBFTUYgcmVwcmVzZW50YXRpb24gYW5kIHRoZW4gZ2VuZXJhdGUgVU1MCiAgICAgICAgcmVwcmVzZW50YXRpb24uPC9saT4KICAgIDxsaT5DYW4gYmUgc2ltcGxlciBmb3IgdGhvc2Ugd2hvIHVuZGVyc3RhbmQgRU1GLjwvbGk+CiAgICA8dWw+CiAgICAgPGJyPgogICAgIDxicj4KICAgIDwvdWw+CiAgIDwvdWw+CiAgIDxsaT5DaGFuZ2VzIHRvIHVwY29taW5nIHZlcnNpb24gb2YgVU1MIG1ldGEtbW9kZWwuPC9saT4KICAgPHVsPgogICAgPGxpPlJURiBpc3N1ZTogaHR0cDovL3d3dy5vbWcub3JnL2lzc3Vlcy91bWwyLXJ0Zi5odG1sI0lzc3VlMTEyNDM8L2xpPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4yMTwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAyMSBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDI5Lmh0bScpOyIgaWQ9UFBUTDIxPkdlbmVyaWNzOiBSZWZlcmVuY2VzPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMyMSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5Nb3JlIGluLWRlcHRoIGFydGljbGVzIGNhbiBiZSBmb3VuZCBvbiB0aGUgVU1MMiB3aWtpPC9saT4KICAgPHVsPgogICAgPGxpPjxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gPC9zcGFuPmh0dHA6Ly93aWtpLmVjbGlwc2Uub3JnL01EVC1VTUwyPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8bGk+VU1MIHN1cGVyc3RydWN0dXJlIHNwZWNpZmljYXRpb248L2xpPgogICA8dWw+CiAgICA8bGk+PHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqA8L3NwYW4+aHR0cDovL3d3dy5vbWcub3JnL2NnaS1iaW4vZG9jP2Zvcm1hbC8wNy0wMi0wNTwvbGk+CiAgIDwvdWw+CiAgIDxicj4KICAgPGxpPlRoZSBnZW5lcmljcyB0dXRvcmlhbDwvbGk+CiAgIDx1bD4KICAgIDxsaT5odHRwOi8vamF2YS5zdW4uY29tL2oyc2UvMS41L3BkZi9nZW5lcmljcy10dXRvcmlhbC5wZGY8L2xpPgogICAgPGJyPgogICAgPGJyPgogICA8L3VsPgogICA8bGk+SmF2YSBHZW5lcmljcyBGQVEgYnkgQW5nZWxpa2EgTGFuZ2VyPC9saT4KICAgPHVsPgogICAgPGxpPmh0dHA6Ly93d3cuYW5nZWxpa2FsYW5nZXIuY29tL0dlbmVyaWNzRkFRL0phdmFHZW5lcmljc0ZBUS5odG1sPC9saT4KICAgIDxicj4KICAgIDxicj4KICAgPC91bD4KICAgPGJyPgogICA8YnI+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjIyPC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDIyIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMzAuaHRtJyk7IiBpZD1QUFRMMjI+QWdlbmRhPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMyMiBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5JbnRyb2R1Y3Rpb248L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPk5ldyBGZWF0dXJlczo8L2xpPgogICA8YnI+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPkdlbmVyaWNzPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+U3RhdGljIFByb2ZpbGUgRGVmaW5pdGlvbjwvbGk+CiAgIDwvdWw+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPk9DTCBJbnRlZ3JhdGlvbjwvbGk+CiAgICA8YnI+CiAgICA8YnI+CiAgIDwvdWw+CiAgIDxsaT5TdW1tYXJ5PC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MjM8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMjMgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAzMS5odG0nKTsiIGlkPVBQVEwyMz5TdGF0aWMgUHJvZmlsZQogIERlZmluaXRpb246IFdoYXQgaXMgYSBwcm9maWxlPzwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDMjMgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+QSBwcm9maWxlIGlzIGEgbGlnaHR3ZWlnaHQgZXh0ZW5zaW9uIG1lY2hhbmlzbSBmb3IgVU1MLjwvbGk+CiAgIDx1bD4KICAgIDxsaT5Eb2VzIG5vdCBzcGVjaWFsaXplIG1ldGEtdHlwZXMgZnJvbSBVTUwsIHJhdGhlciB1c2VzIG1ldGEtY2xhc3MKICAgICAgICBleHRlbnNpb25zLjwvbGk+CiAgIDwvdWw+CiAgIDxicj4KICAgPGxpPkl0IGVuYWJsZXMgY3VzdG9taXphdGlvbiBvZiBVTUwgZm9yIGEgc3BlY2lmaWMgZG9tYWluIHRvIG1ha2UgbW9kZWxpbmcKICAgICAgIGVhc2llci48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPlByaW1hcnkgZXh0ZW5zaW9uIGNvbnN0cnVjdCBpcyB0aGUgU3RlcmVvdHlwZS48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPlN0ZXJlb3R5cGVzIGNhbiBiZSB1c2VkIHRvIGFkZDo8L2xpPgogICA8dWw+CiAgICA8bGk+S2V5d29yZHM8L2xpPgogICAgPGxpPkNvbnN0cmFpbnRzPC9saT4KICAgIDxsaT5JbWFnZXM8L2xpPgogICAgPGxpPlByb3BlcnRpZXM8L2xpPgogICAgPGxpPkJlaGF2aW9yPC9saT4KICAgPC91bD4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+MjQ8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMjQgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA2Ny5odG0nKTsiIGlkPVBQVEwyND5TdGF0aWMgUHJvZmlsZQogIERlZmluaXRpb246IEV4YW1wbGU8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzI0IGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPlN0ZXJlb3R5cGUgZXh0ZW5kaW5nIENsYXNzIG1ldGEtY2xhc3MgZnJvbSBVTUwuPC9saT4KICAgPHVsPgogICAgPGJyPgogICAgPGJyPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4yNTwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAyNSBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDc0Lmh0bScpOyIgaWQ9UFBUTDI1PlN0YXRpYyBQcm9maWxlCiAgRGVmaW5pdGlvbjogV29ya2Zsb3cgLSBDdXJyZW50PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMyNSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5XZSBjcmVhdGUgb3VyIHByb2ZpbGUgdXNpbmcgVU1MLjwvbGk+CiAgIDxsaT5EZWZpbmUgb3VyIHByb2ZpbGUuPC9saT4KICAgPGxpPlVzZSBvdXIgcHJvZmlsZSBieSBzZXR0aW5nIGFwcGx5aW5nIHByb2ZpbGUgYW5kIHN0ZXJlb3R5cGVzLjwvbGk+CiAgIDxsaT5HZXQgYW5kIHNldCBwcm9wZXJ0aWVzIG9mIHRoZSBzdGVyZW90eXBlLjwvbGk+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjI2PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDI2IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNzEuaHRtJyk7IiBpZD1QUFRMMjY+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBDdXJyZW50IFdvcmtmbG93PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMyNiBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5UaGUgY3VycmVudCB3b3JrZmxvdyBpbnZvbHZlcyCTZGVmaW5pbmeUIG91ciBwcm9maWxlcy48L2xpPgogICA8dWw+CiAgICA8bGk+R2VuZXJhdGVzIGFuIEVjb3JlIHJlcHJlc2VudGF0aW9uLjwvbGk+CiAgICA8bGk+TWFrZXMgdXNlIG9mIGR5bmFtaWMgRU1GLjwvbGk+CiAgICA8dWw+CiAgICAgPGJyPgogICAgIDxicj4KICAgIDwvdWw+CiAgIDwvdWw+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjI3PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDI3IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNjYuaHRtJyk7IiBpZD1QUFRMMjc+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBXaGF0IGlzIGl0PzwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDMjcgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+V2hlbiB3ZSB0YWxrIGFib3V0IJNTdGF0aWMgUHJvZmlsZSBEZWZpbml0aW9ulCB3ZSBhcmUgdGFsa2luZyBhYm91dAogICAgICAgZ2VuZXJhdGluZyBjb2RlIGZyb20gb3VyIHByb2ZpbGUuPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5UaGUgk2RlZmluZZQgc3RlcCBpcyB0aGVyZWZvcmUgbm8gbG9uZ2VyIG5lY2Vzc2FyeS48c3BhbgogICAgICAgc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPkl0IGlzIHJlcGxhY2VkIGJ5IGEgY29kZSBnZW5lcmF0aW9uCiAgICAgICBzdGVwLjwvbGk+CiAgIDx1bD4KICAgIDxicj4KICAgIDxicj4KICAgPC91bD4KICAgPGxpPkJvdGggd29ya2Zsb3dzIHdpbGwgYmUgc3VwcG9ydGVkIGdvaW5nIGZvcndhcmQuPC9saT4KICAgPHVsPgogICAgPGxpPk9sZGVyIHdvcmtmbG93IGNhbiBiZSB1c2VmdWwgZm9yIHJhcGlkIHRlc3RpbmcuPC9saT4KICAgPC91bD4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+Mjg8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMjggY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAzNS5odG0nKTsiIGlkPVBQVEwyOD5TdGF0aWMgUHJvZmlsZQogIERlZmluaXRpb246IFdvcmtmbG93IChOZXcpPC9hPjwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+Mjk8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMjkgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDAzNy5odG0nKTsiIGlkPVBQVEwyOT5TdGF0aWMgUHJvZmlsZQogIERlZmluaXRpb246IFNldHRpbmcgbnNVUkkuPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMyOSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5TZXQgdGhlIG5zVVJJIG9mIHRoZSAmbHQ7Jmx0O0VQYWNrYWdlJmd0OyZndDsgc3RlcmVvdHlwZSBhcHBsaWVkIHRvIHRoZQogICAgICAgcHJvZmlsZSByb290LjwvbGk+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjMwPC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDMwIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwMzguaHRtJyk7IiBpZD1QUFRMMzA+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBDb2RlIEdlbmVyYXRpb24uPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMzMCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5HZW5lcmF0aW5nIENvZGUgZm9yIHlvdXIgUHJvZmlsZS48L2xpPgogICA8bGk+UmVmZXJlbmNlIFVNTCBhbmQgRWNvcmUgZ2VuZXJhdG9yIG1vZGVscyBzaW5jZSB5b3UgZG8gbm90IG5lZWQgdG8KICAgICAgIHJlZ2VuZXJhdGUgY29kZSBmb3IgdGhlbS48L2xpPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4zMTwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAzMSBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDM5Lmh0bScpOyIgaWQ9UFBUTDMxPlN0YXRpYyBQcm9maWxlCiAgRGVmaW5pdGlvbjogRXh0ZW5zaW9uIFBvaW50LjwvYT48L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjMyPC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDMyIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNzYuaHRtJyk7IiBpZD1QUFRMMzI+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBEZW1vPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMzMiBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5Db2RlIGdlbmVyYXRpb24uPC9saT4KICAgPGxpPkRlcml2ZWQgcHJvcGVydGllcyBpbiBwcm9maWxlcy48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPHVsPgogICAgPGJyPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4zMzwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAzMyBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDc1Lmh0bScpOyIgaWQ9UFBUTDMzPlN0YXRpYyBQcm9maWxlCiAgRGVmaW5pdGlvbjogV2h5IEJvdGhlcj88L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzMzIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPkludHJvZHVjZSBiZWhhdmlvci48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPkN1c3RvbWl6ZSBnZW5lcmF0ZWQgY29kZS48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPk9wZW5zIHVwIHBvc3NpYmlsaXRpZXMgZm9yIGRlcml2ZWQgY29uc3RyYWludHMuPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5HZXR0aW5nIGFuZCBzZXR0aW5nIHZhbHVlcyBhcmUgZWFzaWVyIGFuZCBtb3JlIGludHVpdGl2ZSBzaW5jZSBhbgogICAgICAgaW5zdGFuY2Ugb2YgdGhlIG9iamVjdCBpcyByZXR1cm5lZC48L2xpPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4zNDwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAzNCBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDY0Lmh0bScpOyIgaWQ9UFBUTDM0PlN0YXRpYyBQcm9maWxlCiAgRGVmaW5pdGlvbjogRXhhbXBsZXMgLSBDdXJyZW50PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMzNCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5BcHBseWluZyBzdGVyZW90eXBlLjwvbGk+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjM1PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDM1IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNDAuaHRtJyk7IiBpZD1QUFRMMzU+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBFeGFtcGxlcyAtIE5ldzwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDMzUgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+QXBwbHlpbmcgc3RlcmVvdHlwZS48L2xpPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj4zNjwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFAzNiBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDQxLmh0bScpOyIgaWQ9UFBUTDM2PlN0YXRpYyBQcm9maWxlCiAgRGVmaW5pdGlvbjogVmVyc2lvbmluZyBJc3N1ZXM8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzM2IGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPldpdGggdGhlIG9sZGVyIHdheSBvZiB3b3JraW5nIHdpdGggcHJvZmlsZXMsIHdoZW4gY2hhbmdlcyBhcmUgbWFkZSwgd2UKICAgICAgIG11c3QgcmUtZGVmaW5lIHRoZSBwcm9maWxlLjwvbGk+CiAgIDx1bD4KICAgIDxsaT5XZSBhcmUgbGVmdCB3aXRoIG11bHRpcGxlIEVjb3JlIHJlcHJlc2VudGF0aW9ucy48L2xpPgogICAgPGxpPlRoZXNlIHJlcHJlc2VudGF0aW9ucyBjYW4gYmUgZGlmZmljdWx0IHRvIG1haW50YWluLjwvbGk+CiAgIDwvdWw+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjM3PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDM3IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNzIuaHRtJyk7IiBpZD1QUFRMMzc+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBWZXJzaW9uaW5nIElzc3VlczwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDMzcgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+V2l0aCBTdGF0aWMgUHJvZmlsZSBEZWZpbml0aW9uLCBpZiB3ZSBpbnRyb2R1Y2UgQVBJIGJyZWFraW5nIGNoYW5nZXMsIHdlCiAgICAgICB3b3VsZCBoYXZlIHRvIHVwZGF0ZSB0aGUgbnNVUkkuPC9saT4KICAgPHVsPgogICAgPGxpPlNpbWlsYXIgdG8gaG93IG1ldGEtbW9kZWxzIGNoYW5nZS48L2xpPgogICAgPGJyPgogICAgPGJyPgogICA8L3VsPgogICA8bGk+V2UgZG9uknQgaGF2ZSB0byBjaGFuZ2UgdGhlIG5zVVJJIGlmIHRoZSBjaGFuZ2VzIGFyZSBiYWNrd2FyZAogICAgICAgY29tcGF0aWJsZS48L2xpPgogICA8dWw+CiAgICA8YnI+CiAgICA8YnI+CiAgIDwvdWw+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+Mzg8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQMzggY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA1OC5odG0nKTsiIGlkPVBQVEwzOD5TdGF0aWMgUHJvZmlsZQogIERlZmluaXRpb246IFN1bW1hcnk8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzM4IGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPlByZWZlcnJlZCBhcHByb2FjaCBnb2luZyBmb3J3YXJkLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+RWFzaWVyIHRvIHdvcmsgd2l0aC48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPkludHJvZHVjZSBiZWhhdmlvci48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPkNvbWJpbmUgd2l0aCBvdXIgbmV4dCB0b3BpYzogT0NMIEludGVncmF0aW9uLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8YnI+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjM5PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDM5IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNDIuaHRtJyk7IiBpZD1QUFRMMzk+U3RhdGljIFByb2ZpbGUKICBEZWZpbml0aW9uOiBSZWZlcmVuY2VzPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEMzOSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5Nb3JlIGluLWRlcHRoIGFydGljbGVzIGNhbiBiZSBmb3VuZCBvbiB0aGUgVU1MMiB3aWtpOiBodHRwOi8vd2lraS5lY2xpcHNlLm9yZy9NRFQtVU1MMjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+TmV3IGFuZCBOb3Rld29ydGh5IHNlY3Rpb246IGh0dHA6Ly93aWtpLmVjbGlwc2Uub3JnL2luZGV4LnBocC9NRFRfMS4wX05ld19hbmRfTm90ZXdvcnRoeSNTdGF0aWNfUHJvZmlsZV9EZWZpbml0aW9uPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxicj4KICAgPHVsPgogICAgPGJyPgogICA8L3VsPgogICA8YnI+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjQwPC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDQwIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNDMuaHRtJyk7IiBpZD1QUFRMNDA+QWdlbmRhPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM0MCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5JbnRyb2R1Y3Rpb248L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPk5ldyBGZWF0dXJlczo8L2xpPgogICA8YnI+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPkdlbmVyaWNzPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+U3RhdGljIFByb2ZpbGUgRGVmaW5pdGlvbjwvbGk+CiAgIDwvdWw+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPk9DTCBJbnRlZ3JhdGlvbjwvbGk+CiAgICA8YnI+CiAgICA8YnI+CiAgIDwvdWw+CiAgIDxsaT5TdW1tYXJ5PC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NDE8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNDEgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA0NC5odG0nKTsiIGlkPVBQVEw0MT5PQ0wgSW50ZWdyYXRpb246IFdoYXQKICBpcyBpdD88L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzQxIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPk9DTCBpcyBkZXNpZ25lZCB0byBiZSBhIHNpbXBsZSBsYW5ndWFnZSBmb3Igc3BlY2lmaWNhdGlvbiBvZiBjb25zdHJhaW50cwogICAgICAgYW5kIHF1ZXJpZXMgaW4gbW9kZWxzLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+U3BlY2lmeWluZyBDb25zdHJhaW50czwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+SW52YXJpYW50IGNvbnN0cmFpbnQgliBjb25kaXRpb24gb24gYXR0cmlidXRlcyAob3IgYW55IGZlYXR1cmUgb2YKICAgICAgICBjb250ZXh0IGNsYXNzaWZpZXIpIG11c3QgYWx3YXlzIGJlIHRydWUuPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+UXVlcnkgliBzcGVjaWZpZWQgYXMgdGhlIGJvZHkgZXhwcmVzc2lvbiBvZiBhbiBvcGVyYXRpb24uPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8bGk+SGF2ZSBjb2RlIGdlbmVyYXRlZCBmcm9tIHRoZSBleHByZXNzaW9ucyBlbnRlcmVkIGluIHRoZSBVTUwgbW9kZWwuPC9saT4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NDI8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNDIgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA0NS5odG0nKTsiIGlkPVBQVEw0Mj5PQ0wgSW50ZWdyYXRpb246IFdoeQogIEJvdGhlcj88L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzQyIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPkNvbnN0cmFpbnRzIGNhbiBiZSBldmFsdWF0ZWQgYXQgcnVudGltZS48L2xpPgogICA8dWw+CiAgICA8bGk+QXV0b21hdGVkIGNvbnN0cmFpbnQgY2hlY2tpbmcgYWxsb3dzIGdyZWF0ZXIgaW50ZWdyaXR5IG9mIHRoZSBtb2RlbC48L2xpPgogICA8L3VsPgogICA8YnI+CiAgIDxsaT5DYXRjaCBlcnJvcnMgZWFybHkuPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5FbWJlbGxpc2ggeW91ciBjb2RlIHdpdGggZG9jIHRhZ3MgY29udGFpbmluZyBPQ0wuPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5VTUwgaXMgbm90IGVub3VnaC48L2xpPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NDM8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNDMgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA0Ni5odG0nKTsiIGlkPVBQVEw0Mz5PQ0wgSW50ZWdyYXRpb246CiAgRXhhbXBsZTwvYT48L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjQ0PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDQ0IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNDcuaHRtJyk7IiBpZD1QUFRMNDQ+T0NMIEludGVncmF0aW9uOgogIEV4YW1wbGUtSW52YXJpYW50IENvbnN0cmFpbnQ8L2E+PC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj40NTwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFA0NSBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDYxLmh0bScpOyIgaWQ9UFBUTDQ1Pk9DTCBJbnRlZ3JhdGlvbjoKICBFeGFtcGxlLUludmFyaWFudCBDb25zdHJhaW50PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM0NSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5PQ0wgZGVwZW5kZW5jaWVzIGF1dG9tYXRpY2FsbHkgYWRkZWQuPC9saT4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NDY8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNDYgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA0OC5odG0nKTsiIGlkPVBQVEw0Nj5PQ0wgSW50ZWdyYXRpb246CiAgRXhhbXBsZS1JbnZhcmlhbnQgQ29uc3RyYWludDwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDNDYgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+Y29udGV4dDogU3BlY2lmaWVzIHRoZSBlbGVtZW50IHdlIGFyZSByZWZlcnJpbmcgdG8uPC9saT4KICAgPHVsPgogICAgPGxpPkNvbnRleHQgaW4gdGhpcyBleGFtcGxlIGlzIENhcjwvbGk+CiAgIDwvdWw+CiAgIDxsaT5zZWxmOiBLZXl3b3JkIHRoYXQgaW5kaWNhdGVzIHRoZSBjdXJyZW50IG9iamVjdC48L2xpPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj40NzwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFA0NyBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDczLmh0bScpOyIgaWQ9UFBUTDQ3Pk9DTCBJbnRlZ3JhdGlvbjoKICBFeGFtcGxlLUJvZHkgQ29uZGl0aW9uPC9hPjwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NDg8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNDggY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA0OS5odG0nKTsiIGlkPVBQVEw0OD5PQ0wgSW50ZWdyYXRpb246CiAgRXhhbXBsZS1Cb2R5IENvbmRpdGlvbjwvYT48L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjQ5PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDQ5IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNTAuaHRtJyk7IiBpZD1QUFRMNDk+T0NMIEludGVncmF0aW9uOgogIEV4YW1wbGUtQm9keSBDb25kaXRpb248L2E+PC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj41MDwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFA1MCBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDUxLmh0bScpOyIgaWQ9UFBUTDUwPk9DTCBJbnRlZ3JhdGlvbjogQ29kZQogIEdlbmVyYXRpb248L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzUwIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGJyPgogICA8bGk+U3BlY2lmeSB0aGF0IHlvdSB3b3VsZCBsaWtlIJFJbnZhcmlhbnQgQ29uc3RyYWludHOSIHByb2Nlc3NlZC48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPlNwZWNpZnkgkU9wZXJhdGlvbiBCb2RpZXOSIHRvIGJlIGFkZGVkLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8YnI+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjUxPC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDUxIGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNzcuaHRtJyk7IiBpZD1QUFRMNTE+T0NMIEludGVncmF0aW9uOiBEZW1vPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM1MSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5Db2RlIGdlbmVyYXRpb24uPC9saT4KICAgPGxpPlZhbGlkYXRpb24uPC9saT4KICAgPHVsPgogICAgPGJyPgogICAgPGJyPgogICA8L3VsPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgogPHRyIG9ubW91c2VvdmVyPSJPdmVyKHRoaXMpIiBvbm1vdXNlb3V0PSJPdXQodGhpcykiIG9uY2xpY2s9IkZvbGxvdyh0aGlzKSIKICBzdHlsZT0nY3Vyc29yOmhhbmQnPgogIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wPgogIDxkaXYgY2xhc3M9c2xkTnVtPjxmb250IHNpemU9Mj41MjwvZm9udD48L2Rpdj4KICA8L3RkPgogIDx0ZD4KICA8ZGl2IGlkPVBQVFA1MiBjbGFzcz1QVHh0Pjxmb250IHNpemU9Mj48YQogIGhyZWY9ImphdmFzY3JpcHQ6R29Ub1NsZCgnc2xpZGUwMDYyLmh0bScpOyIgaWQ9UFBUTDUyPk9DTCBJbnRlZ3JhdGlvbjogVHJ5IGl0CiAgb3V0LjwvYT48L2ZvbnQ+PC9kaXY+CiAgPGRpdiBpZD1QUFRDNTIgY2xhc3M9Q1R4dCBzdHlsZT0nZGlzcGxheTpub25lJz48Zm9udCBzaXplPTI+CiAgPHVsPgogICA8bGk+T3V0cHV0PC9saT4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NTM8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNTMgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA1My5odG0nKTsiIGlkPVBQVEw1Mz5PQ0wgSW50ZWdyYXRpb246IFRpcHM8L2E+PC9mb250PjwvZGl2PgogIDxkaXYgaWQ9UFBUQzUzIGNsYXNzPUNUeHQgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGZvbnQgc2l6ZT0yPgogIDx1bD4KICAgPGxpPkhhdmUgYSBsb29rIGF0IGJ1Z3ppbGxhIGh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD0xMDUxOTkKICAgICAgIGZvciBhbiBleGFtcGxlIG9mIGhvdyB0byBob29rIGluIHZhbGlkYXRpb24gb2YgeW91ciBtb2RlbDwvbGk+CiAgIDx1bD4KICAgIDxicj4KICAgIDxicj4KICAgPC91bD4KICAgPGxpPlJlZmVyIHRvIE9DTCBhcnRpY2xlIGF0OiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2FydGljbGVzL2FydGljbGUucGhwP2ZpbGU9QXJ0aWNsZS1FTUYtQ29kZWdlbi13aXRoLU9DTC9pbmRleC5odG1sPC9saT4KICAgPGJyPgogICA8YnI+CiAgPC91bD4KICA8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KIDwvdHI+CiA8dHIgb25tb3VzZW92ZXI9Ik92ZXIodGhpcykiIG9ubW91c2VvdXQ9Ik91dCh0aGlzKSIgb25jbGljaz0iRm9sbG93KHRoaXMpIgogIHN0eWxlPSdjdXJzb3I6aGFuZCc+CiAgPHRkIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+CiAgPGRpdiBjbGFzcz1zbGROdW0+PGZvbnQgc2l6ZT0yPjU0PC9mb250PjwvZGl2PgogIDwvdGQ+CiAgPHRkPgogIDxkaXYgaWQ9UFBUUDU0IGNsYXNzPVBUeHQ+PGZvbnQgc2l6ZT0yPjxhCiAgaHJlZj0iamF2YXNjcmlwdDpHb1RvU2xkKCdzbGlkZTAwNTQuaHRtJyk7IiBpZD1QUFRMNTQ+QWdlbmRhPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM1NCBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5JbnRyb2R1Y3Rpb248L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPk5ldyBGZWF0dXJlczo8L2xpPgogICA8YnI+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPkdlbmVyaWNzPC9saT4KICAgPC91bD4KICAgPGJyPgogICA8dWw+CiAgICA8bGk+U3RhdGljIFByb2ZpbGUgRGVmaW5pdGlvbjwvbGk+CiAgIDwvdWw+CiAgIDxicj4KICAgPHVsPgogICAgPGxpPk9DTCBJbnRlZ3JhdGlvbjwvbGk+CiAgICA8YnI+CiAgICA8YnI+CiAgIDwvdWw+CiAgIDxsaT5TdW1tYXJ5PC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NTU8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNTUgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA1NS5odG0nKTsiIGlkPVBQVEw1NT5TdW1tYXJ5PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM1NSBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5XZZJ2ZSBsb29rZWQgYXQ6PC9saT4KICAgPHVsPgogICAgPGxpPkdlbmVyaWNzPC9saT4KICAgIDxsaT5TdGF0aWMgUHJvZmlsZSBEZWZpbml0aW9uPC9saT4KICAgIDxsaT5PQ0wgSW50ZWdyYXRpb248L2xpPgogICAgPGJyPgogICAgPGJyPgogICA8L3VsPgogICA8bGk+VG9vbGluZyBzaG91bGQgbWFrZSBpdCBlYXN5IGZvciB5b3UgdG8gdXNlIHRoZXNlIGZlYXR1cmVzLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+VHJ5IGl0IG91dCBhbmQgcmVwb3J0IGlzc3Vlcy48L2xpPgogICA8YnI+CiAgIDxicj4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NTY8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNTYgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA1Ny5odG0nKTsiIGlkPVBQVEw1Nj4mcXVvdDtUaGFuayBZb3UhJnF1b3Q7PC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM1NiBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxsaT5UaGFuayBZb3UhPC9saT4KICA8L3VsPgogIDwvZm9udD48L2Rpdj4KICA8L3RkPgogPC90cj4KIDx0ciBvbm1vdXNlb3Zlcj0iT3Zlcih0aGlzKSIgb25tb3VzZW91dD0iT3V0KHRoaXMpIiBvbmNsaWNrPSJGb2xsb3codGhpcykiCiAgc3R5bGU9J2N1cnNvcjpoYW5kJz4KICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcD4KICA8ZGl2IGNsYXNzPXNsZE51bT48Zm9udCBzaXplPTI+NTc8L2ZvbnQ+PC9kaXY+CiAgPC90ZD4KICA8dGQ+CiAgPGRpdiBpZD1QUFRQNTcgY2xhc3M9UFR4dD48Zm9udCBzaXplPTI+PGEKICBocmVmPSJqYXZhc2NyaXB0OkdvVG9TbGQoJ3NsaWRlMDA1OS5odG0nKTsiIGlkPVBQVEw1Nz5MZWdhbCBOb3RpY2VzPC9hPjwvZm9udD48L2Rpdj4KICA8ZGl2IGlkPVBQVEM1NyBjbGFzcz1DVHh0IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxmb250IHNpemU9Mj4KICA8dWw+CiAgIDxicj4KICAgPGxpPkNvcHlyaWdodCCpIElCTSBDb3JwLiwgMjAwNy0yMDA4LjxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gCiAgICAgICA8L3NwYW4+QWxsIHJpZ2h0cyByZXNlcnZlZC48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oAogICAgICAgPC9zcGFuPlNvdXJjZSBjb2RlIGluIHRoaXMgcHJlc2VudGF0aW9uIGlzIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBFUEwsCiAgICAgICB2MS4wOyByZW1haW5kZXIgb2YgdGhlIHByZXNlbnRhdGlvbiBpcyBsaWNlbnNlZCB1bmRlciBDcmVhdGl2ZSBDb21tb25zCiAgICAgICBBdHQuIE5jIE5kIDIuNSBsaWNlbnNlLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+SUJNIGFuZCB0aGUgSUJNIGxvZ28gYXJlIHRyYWRlbWFya3Mgb3IgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIElCTQogICAgICAgQ29ycG9yYXRpb24gaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIG90aGVyIGNvdW50cmllcywgb3IgYm90aC48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPlJhdGlvbmFsIGFuZCB0aGUgUmF0aW9uYWwgbG9nbyBhcmUgdHJhZGVtYXJrcyBvciByZWdpc3RlcmVkIHRyYWRlbWFya3MKICAgICAgIG9mIEludGVybmF0aW9uYWwgQnVzaW5lc3MgQ29ycG9yYXRpb24gaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIG90aGVyCiAgICAgICBjb3VudHJpZXMsIG9yIGJvdGguPC9saT4KICAgPGJyPgogICA8YnI+CiAgIDxsaT5VTUwsIFVuaWZpZWQgTW9kZWxpbmcgTGFuZ3VhZ2UsIGFuZCBNT0YgYXJlIHRyYWRlbWFya3Mgb3IgcmVnaXN0ZXJlZAogICAgICAgdHJhZGVtYXJrcyBvZiBPYmplY3QgTWFuYWdlbWVudCBHcm91cCwgSW5jLjwvbGk+CiAgIDxicj4KICAgPGJyPgogICA8bGk+SmF2YSBhbmQgYWxsIEphdmEtYmFzZWQgdHJhZGVtYXJrcywgYW1vbmcgb3RoZXJzLCBhcmUgdHJhZGVtYXJrcyBvcgogICAgICAgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIFN1biBNaWNyb3N5c3RlbXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIG90aGVyCiAgICAgICBjb3VudHJpZXMsIG9yIGJvdGg8L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPkVjbGlwc2UgYW5kIHRoZSBFY2xpcHNlIGxvZ28gYXJlIHRyYWRlbWFya3Mgb2YgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwKICAgICAgIEluYy48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPk90aGVyIGNvbXBhbnksIHByb2R1Y3QsIGFuZCBzZXJ2aWNlIG5hbWVzIG1heSBiZSB0cmFkZW1hcmtzIG9yIHNlcnZpY2UKICAgICAgIG1hcmtzIG9mIG90aGVycy48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGxpPlRIRSBJTkZPUk1BVElPTiBESVNDVVNTRUQgSU4gVEhJUyBQUkVTRU5UQVRJT04gSVMgUFJPVklERUQgRk9SCiAgICAgICBJTkZPUk1BVElPTkFMIFBVUlBPU0VTIE9OTFkuPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAKICAgICAgIDwvc3Bhbj5XSElMRSBFRkZPUlRTIFdFUkUgTUFERSBUTyBWRVJJRlkgVEhFIENPTVBMRVRFTkVTUyBBTkQgQUNDVVJBQ1kKICAgICAgIE9GIFRIRSBJTkZPUk1BVElPTiwgSVQgSVMgUFJPVklERUQgk0FTIElTlCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAogICAgICAgRVhQUkVTUyBPUiBJTVBMSUVELCBBTkQgSUJNIFNIQUxMIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIERBTUFHRVMKICAgICAgIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT0YsIE9SIE9USEVSV0lTRSBSRUxBVEVEIFRPLCBTVUNICiAgICAgICBJTkZPUk1BVElPTi48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+QU5ZIElORk9STUFUSU9OCiAgICAgICBDT05DRVJOSU5HIElCTZJTIFBST0RVQ1QgUExBTlMgT1IgU1RSQVRFR1kgSVMgU1VCSkVDVCBUTyBDSEFOR0UgQlkgSUJNCiAgICAgICBXSVRIT1VUIE5PVElDRS48L2xpPgogICA8YnI+CiAgIDxicj4KICAgPGJyPgogIDwvdWw+CiAgPC9mb250PjwvZGl2PgogIDwvdGQ+CiA8L3RyPgo8L3RhYmxlPgoKCgo8L2Rpdj4KPC9ib2R5PgoKPC9odG1sPgo=