BEGIN:VCARD
VERSION:3.0
REV:20260921T112218Z
FN: Karin Poldervaart-Van Geest
N:Poldervaart-Van Geest;Karin;;
NICKNAME:Karin
SOURCE:http://karinpoldervaartfotografie.bizzerd.com/vcard/index.php?c=karinpoldervaartfotografie&p=poldervaart.van.geest
URL:https://www.karinpoldervaartfotografie.bizzerd.com/poldervaart.van.geest
TEL:
TEL;fax:
ORG:Karin Poldervaart Fotografie
X-FACEBOOK:http://www.facebook.com/karinpoldervaartfotografie
TITLE:Fotograaf
PHOTO;TYPE=JPEG;ENCODING=BASE64:PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLWh0bWw0MDEtMTk5OTEyMjQvbG9vc2UuZHRkIj4gIAo8aHRtbD4KPGhlYWQ+CgoJPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cgk8IS0tIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPiAtLT4KCTxtZXRhIG5hbWU9IlJldmlzaXQtQWZ0ZXIiIGNvbnRlbnQ9IjcgZGF5cyI+Cgk8bWV0YSBuYW1lPSJSb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3ciPgoKCTx0aXRsZT5DcmVhdGUgeW91ciBiaXp6ZXJkITwvdGl0bGU+CgoJPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Ii9pbWFnZXMvaWNvbnMvZmF2aWNvbl9iaXp6ZXJkLnBuZyI+Cgk8bGluayBocmVmPScvd2ViZm9udHMvTXlGb250c1dlYmZvbnRzS2l0LmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2Nzcyc+CQoJPGxpbmsgaHJlZj0iL3N0eWxlcy9sYXlvdXRfbmV3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cgk8bGluayBocmVmPSIvc3R5bGVzL2xheW91dF9zdGFwcGVuLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cgk8bGluayBocmVmPSIvc3R5bGVzL2xheW91dF9iaXp6ZXJkLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cgk8bGluayBocmVmPSIvc3R5bGVzL2NvbG9ycGlja2VyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0ic2NyZWVuIiB0eXBlPSJ0ZXh0L2NzcyI+CgoJPHNjcmlwdCBzcmM9Ii8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuOC4zL2pxdWVyeS5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHQvY29sb3JwaWNrZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CgoKCgk8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHQvZ2xvYmFsLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgoKCTxzY3JpcHQ+CgkKCWZ1bmN0aW9uIHNldEZvcm1WYWx1ZShmb3JtRmllbGQsIGZvcm1WYWx1ZSkKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb3JtRmllbGQpLnZhbHVlID0gZm9ybVZhbHVlOwoJCWluaXRGcmFtZVJlbG9hZCgpOwoJfQoJCgk8L3NjcmlwdD4KCQo8L2hlYWQ+Cjxib2R5IG9ubG9hZD0naW5pdFN0ZXBzKCk7Jz4KCjwhLS1kaXYgY2xhc3M9IndyYXBwZXItbmF2Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLS1sYXJnZSI+CiAgICAgICAgPGhlYWRlcj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtY29udGFpbmVyIGZsZXgtcm93IGZsZXgtYmV0d2VlbiI+CiAgICAgICAgICAgIDxhIGhyZWY9ImluZGV4Lmh0bWwiIGNsYXNzPSJsb2dvIiA+CiAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iaXp6ZXJkL2xvZ28ucG5nIiBhbHQ9IktsaWsgaGllciBvbSB0ZXJ1ZyB0ZSBnYWFuIi8+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaW5kZXguaHRtbCIgY2xhc3M9ImxvZ28tLXNtYWxsIj4KICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2JpenplcmQtYi5wbmciIGFsdD0iS2xpayBoaWVyIG9tIHRlcnVnIHRlIGdhYW4iLz4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJoYW1idXJnZXIgYnV0dG9uLS1oYW1idXJnZXIgaGFtYnVyZ2VyLS1zbGlkZXIiIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0idG9nZ2xlX3Zpc2liaWxpdHkoJ292ZXJsYXknKTsiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoYW1idXJnZXItYm94Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoYW1idXJnZXItaW5uZXIiPjwvc3Bhbj4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8bmF2IGNsYXNzPSJuYXYtLXNlY29uZGFyeSI+CiAgICAgICAgICAgICAgPGEgaHJlZj0icHJvZHVjdC5odG1sIiBjbGFzcz0iYnV0dG9uLS1nZHByIGJ1dHRvbi0tdGV4dCI+RmVhdHVyZXM8L2E+CiAgICAgICAgICAgICAgPGEgaHJlZj0icHJpY2luZy5odG1sIiBjbGFzcz0iYnV0dG9uLS1nZHByIGJ1dHRvbi0tdGV4dCI+UHJpanplbjwvYT4KICAgICAgICAgICAgICA8YSBocmVmPSJhYm91dC5odG1sIiBjbGFzcz0iYnV0dG9uLS1nZHByIGJ1dHRvbi0tdGV4dCI+T3ZlciBvbnM8L2E+CiAgICAgICAgICAgIDwvbmF2PgogICAgICAgICAgICA8bmF2IGNsYXNzPSJuYXYtLXByaW1hcnkiPgogICAgICAgICAgICAgIDxhIGhyZWY9ImxvZ2luLmh0bWwiIGNsYXNzPSJidXR0b24tLWdkcHIgYnV0dG9uLS10cnkiPklubG9nZ2VuPC9hPgogICAgICAgICAgICAgIDxhIGhyZWY9InJlZ2lzdGVyLmh0bWwiIGNsYXNzPSJidXR0b24tLWdkcHIgYnV0dG9uLS1wcmltYXJ5Ij5SZWdpc3RyZXJlbjwvYT4KICAgICAgICAgICAgPC9uYXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2hlYWRlcj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXkiIGlkPSJvdmVybGF5Ij4KICAgICAgICA8aGVhZGVyPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1jb2x1bW4iPgogICAgICAgICAgICAgIDxhIGhyZWY9InByb2R1Y3QuaHRtbCIgY2xhc3M9ImJ1dHRvbiBidXR0b24tLXRleHQiPkZlYXR1cmVzPC9hPgogICAgICAgICAgICAgIDxhIGhyZWY9InByaWNpbmcuaHRtbCIgY2xhc3M9ImJ1dHRvbiBidXR0b24tLXRleHQiPlByaWp6ZW48L2E+CiAgICAgICAgICAgICAgPGEgaHJlZj0iYWJvdXQuaHRtbCIgY2xhc3M9ImJ1dHRvbiBidXR0b24tLXRleHQiPk92ZXIgb25zPC9hPgogICAgICAgICAgICAgIDxhIGhyZWY9ImxvZ2luLmh0bWwiIGNsYXNzPSJidXR0b24gYnV0dG9uLS10cnkiPklubG9nZ2VuPC9hPgogICAgICAgICAgICAgIDxhIGhyZWY9InJlZ2lzdGVyLmh0bWwiIGNsYXNzPSJidXR0b24gYnV0dG9uLS1wcmltYXJ5Ij5SZWdpc3RyZXJlbjwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvaGVhZGVyPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoJPGRpdiBjbGFzcz0nbWFpbl9kaXYnIHN0eWxlPSdwYWRkaW5nLXRvcDogMHB4Oyc+CgoJPGRpdiBjbGFzcz0nbWFpbl9kaXZfY2VudGVyJz4KCQoJCTxkaXYgY2xhc3M9J21haW5fZGl2X2Rpdl9mdWxsJy0tPgogICAgPCEtLSBFbmQgb2YgbmF2IHNlY3Rpb24gLS0+CiAgICAKPGRpdiBjbGFzcz0naGVhZGVyMic+CgoJPGRpdiBjbGFzcz0naGVhZGVyX2RpdjInPgoKCQk8ZGl2IGNsYXNzPSdoZWFkZXJfYnV0dG9ucyc+CgoJCQk8YSBocmVmPSdodHRwczovL3d3dy5iaXp6ZXJkLmNvbS9lbi9wcmljaW5nLycgY2xhc3M9J2hlYWRlcl9idXR0b25fc2VsZWN0ZWQnPlJlcXVlc3RzPC9hPgkJCQoKCQkJPGEgaHJlZj0nLy93d3cuYml6emVyZC5jb20vZW4vaG9tZXBhZ2UtZW5nbGlzaC8nIGNsYXNzPSdoZWFkZXJfYnV0dG9uJz5Gb3IgY29tcGFuaWVzPC9hPgoJCQk8YSBocmVmPScvL3d3dy5iaXp6ZXJkLmNvbS9lbi9ob21lcGFnZS1lbmdsaXNoLycgY2xhc3M9J2hlYWRlcl9idXR0b24nPkNvbnRhY3Q8L2E+CgkJCQoJCQkJCQkKCQkJPGEgaHJlZj0nL3NfZWRpdC5waHAnIGNsYXNzPSdoZWFkZXJfYnV0dG9uIGJ1dHRvbl9vcmFuamUnPk15IGJpenplcmQ8L2E+CgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9J2hlYWRlcl90ZXJ1Zyc+CgoJCQk8YSBocmVmPScvJyBjbGFzcz0naGVhZGVyX2J1dHRvbic+QmFjazwvYT4KCgkJPC9kaXY+CgkJCQoJCTxhIGhyZWY9J2h0dHA6Ly93d3cuYml6emVyZC5jb20vZW4vaG9tZXBhZ2UtZW5nbGlzaC8nPjxpbWcgc3JjPSdpbWFnZXMvYml6emVyZC9sb2dvLnBuZycgd2lkdGg9JzE5MicgaGVpZ2h0PSc0MCcgY2xhc3M9J2hlYWRlcl9sb2dvMic+PC9hPgoJCQkJCgk8L2Rpdj4KCjwvZGl2PgoKCjxkaXYgY2xhc3M9J25vX2hlYWRlcl9pbWcnPgoKPC9kaXY+CQoKPGRpdiBjbGFzcz0nbWFpbl9kaXYnIHN0eWxlPSdwYWRkaW5nLXRvcDogMHB4Oyc+CgoJPGRpdiBjbGFzcz0nbWFpbl9kaXZfY2VudGVyJz4KCQoJCTxkaXYgY2xhc3M9J21haW5fZGl2X2Rpdl9mdWxsJz4KPGRpdj4KCjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2VsbHBhZGRpbmc9JzAnIHN0eWxlPSd3aWR0aDogMTAwJTsnPgo8dHI+Cjx0ZCBzdHlsZT0nd2lkdGg6IDEwMCU7Jz4KCgoJPGZvcm0gaWQ9J3Bob25lRm9ybScgbmFtZT0ncGhvbmVGb3JtJyBtZXRob2Q9J3Bvc3QnIGFjY2VwdC1jaGFyc2V0PSJpc28tODg1OS0xIiBhY3Rpb249J2h0dHBzOi8vY2FyZHMuYml6emVyZC5jb20vaW5kZXgucGhwP3A9dGVtcGxhdGUmYz10ZW1wbGF0ZScgdGFyZ2V0PSdwaG9uZUZyYW1lJz4KCgkKCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdwcmV2aWV3Jz4KCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2UnIHZhbHVlPScnPgoJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nY2FyZCcgdmFsdWU9Jyc+Cgk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdwYWdlJyB2YWx1ZT0nJz4KCQoJPHNjcmlwdD4KCglmdW5jdGlvbiBpbml0RnJhbWVSZWxvYWQoKQoJewoJCWZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGhvbmVGb3JtIik7CgkKCQlpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGhvbmVGcmFtZSIpCgkJZm9ybS5wYWdlLnZhbHVlID0gIiI7CgkJZm9ybS5zdWJtaXQoKTsKCX0KCQoJZnVuY3Rpb24gaW5pdEZyYW1lUmVsb2FkUGFnZShwYWdlKQoJewoJCWZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGhvbmVGb3JtIik7CgkJZm9ybS5wYWdlLnZhbHVlID0gcGFnZTsKCQlmb3JtLnN1Ym1pdCgpOwoJfQoKCWZ1bmN0aW9uIGluaXRTdGVwcygpCgl7CgkJY2hhbmdlVGVtcGxhdGUoKTsKCQlpbml0RnJhbWVSZWxvYWQoKTsKCX0KCQoJc3RhcF9odWlkaWcgPSAxOwkKCWZ1bmN0aW9uIHNob3dTdGVwKHN0ZXApCgl7CgkJJCgnI3N0YXAnICsgc3RhcF9odWlkaWcpLmZhZGVPdXQoJ2Zhc3QnLCBmdW5jdGlvbigpIAoJCXsKCQkJJCgiI3N0YXAiICsgc3RlcCkuZmFkZUluKCdmYXN0Jyk7CgkJCgkJfSk7CgoJCWlmKHN0ZXAgPT0gMSB8fCBzdGVwID09IDIpCgkJewoJCQkvLyQoIiNwcmV2aWV3IikuZmFkZUluKCdmYXN0Jyk7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2aWV3X2RpdicpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoJCX0KCQllbHNlCgkJewoJCQkvLyQoIiNwcmV2aWV3IikuZmFkZU91dCgnZmFzdCcpOwoJCQkKCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ByZXZpZXdfZGl2Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQl9CgkJCQkKCQlzdGFwX2h1aWRpZyA9IHN0ZXA7CgkJCgkJaWYoc3RlcCA9PSAzKSBzaG93UHJldmlldygzMjApOwoJCWlmKHN0ZXAgPT0gNCkgY2hlY2tQYWtrZXQoKTsKCX0KCiQoIGRvY3VtZW50ICkucmVhZHkoZnVuY3Rpb24oKSB7CiAgIAogIC8vIHNob3dTdGVwKDIpOwogICAgCn0pOwoKCQoJCgkKCTwvc2NyaXB0PgoJCgkKCgkJPGRpdiBpZD0nc3RhcDEnIHN0eWxlPSdkaXNwbGF5OiBibG9jazsnPjxicj48aDE+PGI+U3RhcCAxLjwvYj4gT250d2VycGVuPC9oMT4JCQoJCTxzY3JpcHQ+CgkJCgkJZnVuY3Rpb24gY2hhbmdlVGVtcGxhdGUoKQoJCXsKCQkJdCA9IGRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZS52YWx1ZTsKCQkJCQkJCgkJCQoJCQkKCQkJaWYodCA9PSAiMjgiKQoJCQl7CgkJCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDUnKSkgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA1Jykuc2VsZWN0ZWQgPSB0cnVlOyBlbHNlIGNvbnNvbGUubG9nKCdpY29uIHNldCAxMDYgbm90IGZvdW5kIScpOwoJCQkJCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYWNodGVyZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV92b29yZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMiBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGl0ZWxzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Rla3N0LnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xpbmtzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjQgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xvZ28udmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjhfQmxhbmNvX2xvZ29zX2JpenplcmQtMDYucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjhfQmxhbmNvX2xvZ29zX2JpenplcmQtMDYucG5nIjsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYXJ0d29yay52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yOF9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkOS5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yOF9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkOS5wbmciOwoKCQkJfQoJCQkKCQkJCgkJCQoJCQlpZih0ID09ICIyMSIpCgkJCXsKCQkJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwOCcpKSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDgnKS5zZWxlY3RlZCA9IHRydWU7IGVsc2UgY29uc29sZS5sb2coJ2ljb24gc2V0IDEwOSBub3QgZm91bmQhJyk7CgkJCQkKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hY2h0ZXJncm9uZC52YWx1ZSA9ICIzMzMzMzMiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMzMzMzMzIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Zvb3Jncm9uZC52YWx1ZSA9ICJGRkZGRkYiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IyIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIkZGRkZGRiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90aXRlbHMudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNSBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGVrc3QudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMyBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbGlua3MudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNCBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbG9nby52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8yMV9CbGFuY29fbG9nb3NfYml6emVyZC0wMi5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2xvZ29fZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9sb2dvJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8yMV9CbGFuY29fbG9nb3NfYml6emVyZC0wMi5wbmciOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hcnR3b3JrLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzIxX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQyXygyKS5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yMV9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMl8oMikucG5nIjsKCgkJCX0KCQkJCgkJCQoJCQkKCQkJaWYodCA9PSAiMjIiKQoJCQl7CgkJCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDEnKSkgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTAxJykuc2VsZWN0ZWQgPSB0cnVlOyBlbHNlIGNvbnNvbGUubG9nKCdpY29uIHNldCAxMDIgbm90IGZvdW5kIScpOwoJCQkJCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYWNodGVyZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV92b29yZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMiBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGl0ZWxzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Rla3N0LnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xpbmtzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjQgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xvZ28udmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjJfQmxhbmNvX2xvZ29zX2JpenplcmQtMDEucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjJfQmxhbmNvX2xvZ29zX2JpenplcmQtMDEucG5nIjsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYXJ0d29yay52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yMl9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMy5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yMl9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMy5wbmciOwoKCQkJfQoJCQkKCQkJCgkJCQoJCQlpZih0ID09ICIyMyIpCgkJCXsKCQkJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwNicpKSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDYnKS5zZWxlY3RlZCA9IHRydWU7IGVsc2UgY29uc29sZS5sb2coJ2ljb24gc2V0IDEwNyBub3QgZm91bmQhJyk7CgkJCQkKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hY2h0ZXJncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Zvb3Jncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IyIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90aXRlbHMudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNSBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGVrc3QudmFsdWUgPSAiNDViYWVkIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMyBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICI0NWJhZWQiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbGlua3MudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNCBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbG9nby52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8yM19CbGFuY29fbG9nb3NfYml6emVyZC0wMi5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2xvZ29fZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9sb2dvJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8yM19CbGFuY29fbG9nb3NfYml6emVyZC0wMi5wbmciOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hcnR3b3JrLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzIzX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQ0LnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfYXJ0d29ya19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2FydHdvcmsmaW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzIzX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQ0LnBuZyI7CgoJCQl9CgkJCQoJCQkKCQkJCgkJCWlmKHQgPT0gIjI0IikKCQkJewoJCQkJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTAxJykpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwMScpLnNlbGVjdGVkID0gdHJ1ZTsgZWxzZSBjb25zb2xlLmxvZygnaWNvbiBzZXQgMTAyIG5vdCBmb3VuZCEnKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FjaHRlcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvciBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3RpdGVscy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90ZWtzdC52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9saW5rcy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9sb2dvLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzI0X0JsYW5jb19sb2dvc19iaXp6ZXJkLTAzLnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfbG9nb19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2xvZ28maW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzI0X0JsYW5jb19sb2dvc19iaXp6ZXJkLTAzLnBuZyI7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FydHdvcmsudmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMjRfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDUucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfYXJ0d29yayZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMjRfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDUucG5nIjsKCgkJCX0KCQkJCgkJCQoJCQkKCQkJaWYodCA9PSAiMjUiKQoJCQl7CgkJCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDgnKSkgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA4Jykuc2VsZWN0ZWQgPSB0cnVlOyBlbHNlIGNvbnNvbGUubG9nKCdpY29uIHNldCAxMDkgbm90IGZvdW5kIScpOwoJCQkJCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYWNodGVyZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV92b29yZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMiBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGl0ZWxzLnZhbHVlID0gIjYxNGU0MyI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiNjE0ZTQzIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Rla3N0LnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xpbmtzLnZhbHVlID0gIjYxNGU0MyI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjQgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiNjE0ZTQzIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xvZ28udmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjVfQmxhbmNvX2xvZ29zX2JpenplcmQtMDQucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjVfQmxhbmNvX2xvZ29zX2JpenplcmQtMDQucG5nIjsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYXJ0d29yay52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yNV9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkNi5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yNV9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkNi5wbmciOwoKCQkJfQoJCQkKCQkJCgkJCQoJCQlpZih0ID09ICIyNiIpCgkJCXsKCQkJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwMScpKSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDEnKS5zZWxlY3RlZCA9IHRydWU7IGVsc2UgY29uc29sZS5sb2coJ2ljb24gc2V0IDEwMiBub3QgZm91bmQhJyk7CgkJCQkKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hY2h0ZXJncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Zvb3Jncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IyIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90aXRlbHMudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNSBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGVrc3QudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMyBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbGlua3MudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNCBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbG9nby52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8yNl9CbGFuY29fbG9nb3NfYml6emVyZC0wMS5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2xvZ29fZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9sb2dvJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8yNl9CbGFuY29fbG9nb3NfYml6emVyZC0wMS5wbmciOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hcnR3b3JrLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzI2X0Jhc2lzdGVtcGxhdGVzX2JpenplcmQ3LnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfYXJ0d29ya19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2FydHdvcmsmaW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzI2X0Jhc2lzdGVtcGxhdGVzX2JpenplcmQ3LnBuZyI7CgoJCQl9CgkJCQoJCQkKCQkJCgkJCWlmKHQgPT0gIjI3IikKCQkJewoJCQkJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA4JykpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwOCcpLnNlbGVjdGVkID0gdHJ1ZTsgZWxzZSBjb25zb2xlLmxvZygnaWNvbiBzZXQgMTA5IG5vdCBmb3VuZCEnKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FjaHRlcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvciBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3RpdGVscy52YWx1ZSA9ICI0NWJhZWQiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjQ1YmFlZCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90ZWtzdC52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9saW5rcy52YWx1ZSA9ICI0NWJhZWQiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjQ1YmFlZCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9sb2dvLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzI3X0JsYW5jb19sb2dvc19iaXp6ZXJkLTA1LnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfbG9nb19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2xvZ28maW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzI3X0JsYW5jb19sb2dvc19iaXp6ZXJkLTA1LnBuZyI7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FydHdvcmsudmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMjdfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDgucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfYXJ0d29yayZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMjdfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDgucG5nIjsKCgkJCX0KCQkJCgkJCQoJCQkKCQkJaWYodCA9PSAiMjkiKQoJCQl7CgkJCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDUnKSkgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA1Jykuc2VsZWN0ZWQgPSB0cnVlOyBlbHNlIGNvbnNvbGUubG9nKCdpY29uIHNldCAxMDYgbm90IGZvdW5kIScpOwoJCQkJCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYWNodGVyZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV92b29yZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMiBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGl0ZWxzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Rla3N0LnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xpbmtzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjQgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xvZ28udmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjlfQmxhbmNvX2xvZ29zX2JpenplcmQtMDcucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMjlfQmxhbmNvX2xvZ29zX2JpenplcmQtMDcucG5nIjsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYXJ0d29yay52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8yOV9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMTAucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfYXJ0d29yayZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMjlfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDEwLnBuZyI7CgoJCQl9CgkJCQoJCQkKCQkJCgkJCWlmKHQgPT0gIjMwIikKCQkJewoJCQkJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA4JykpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwOCcpLnNlbGVjdGVkID0gdHJ1ZTsgZWxzZSBjb25zb2xlLmxvZygnaWNvbiBzZXQgMTA5IG5vdCBmb3VuZCEnKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FjaHRlcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvciBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3RpdGVscy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90ZWtzdC52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9saW5rcy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9sb2dvLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzMwX0JsYW5jb19sb2dvc19iaXp6ZXJkLTA4LnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfbG9nb19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2xvZ28maW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzMwX0JsYW5jb19sb2dvc19iaXp6ZXJkLTA4LnBuZyI7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FydHdvcmsudmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMzBfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDExLnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfYXJ0d29ya19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2FydHdvcmsmaW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzMwX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQxMS5wbmciOwoKCQkJfQoJCQkKCQkJCgkJCQoJCQlpZih0ID09ICIzMSIpCgkJCXsKCQkJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwMicpKSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDInKS5zZWxlY3RlZCA9IHRydWU7IGVsc2UgY29uc29sZS5sb2coJ2ljb24gc2V0IDEwMyBub3QgZm91bmQhJyk7CgkJCQkKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hY2h0ZXJncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Zvb3Jncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IyIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90aXRlbHMudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNSBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGVrc3QudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMyBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbGlua3MudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNCBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbG9nby52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8zMV9CbGFuY29fbG9nb3NfYml6emVyZC0wOS5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2xvZ29fZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9sb2dvJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8zMV9CbGFuY29fbG9nb3NfYml6emVyZC0wOS5wbmciOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hcnR3b3JrLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzMxX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQxMi5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8zMV9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMTIucG5nIjsKCgkJCX0KCQkJCgkJCQoJCQkKCQkJaWYodCA9PSAiMzIiKQoJCQl7CgkJCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDgnKSkgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA4Jykuc2VsZWN0ZWQgPSB0cnVlOyBlbHNlIGNvbnNvbGUubG9nKCdpY29uIHNldCAxMDkgbm90IGZvdW5kIScpOwoJCQkJCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYWNodGVyZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV92b29yZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMiBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGl0ZWxzLnZhbHVlID0gImE4YWYyZiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiYThhZjJmIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Rla3N0LnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xpbmtzLnZhbHVlID0gImE4YWYyZiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjQgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiYThhZjJmIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xvZ28udmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMzJfQmxhbmNvX2xvZ29zX2JpenplcmQtMDUucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMzJfQmxhbmNvX2xvZ29zX2JpenplcmQtMDUucG5nIjsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYXJ0d29yay52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8zMl9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMTMucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfYXJ0d29yayZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMzJfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDEzLnBuZyI7CgoJCQl9CgkJCQoJCQkKCQkJCgkJCWlmKHQgPT0gIjMzIikKCQkJewoJCQkJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA2JykpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwNicpLnNlbGVjdGVkID0gdHJ1ZTsgZWxzZSBjb25zb2xlLmxvZygnaWNvbiBzZXQgMTA3IG5vdCBmb3VuZCEnKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FjaHRlcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvciBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3RpdGVscy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90ZWtzdC52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9saW5rcy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9sb2dvLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzMzX0JsYW5jb19sb2dvc19iaXp6ZXJkLTA2LnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfbG9nb19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2xvZ28maW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzMzX0JsYW5jb19sb2dvc19iaXp6ZXJkLTA2LnBuZyI7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FydHdvcmsudmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMzNfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDE0LnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfYXJ0d29ya19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2FydHdvcmsmaW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzMzX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQxNC5wbmciOwoKCQkJfQoJCQkKCQkJCgkJCQoJCQlpZih0ID09ICIzNCIpCgkJCXsKCQkJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwNScpKSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNvbmVuX29wdGlvbl8xMDUnKS5zZWxlY3RlZCA9IHRydWU7IGVsc2UgY29uc29sZS5sb2coJ2ljb24gc2V0IDEwNiBub3QgZm91bmQhJyk7CgkJCQkKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hY2h0ZXJncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Zvb3Jncm9uZC52YWx1ZSA9ICIiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IyIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90aXRlbHMudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNSBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGVrc3QudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMyBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbGlua3MudmFsdWUgPSAiMDAwMDAwIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yNCBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIwMDAwMDAiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfbG9nby52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8zNF9CYXNpc3RlbXBsYXRlcy1iaXp6ZXJkMTVfbG9nby5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2xvZ29fZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9sb2dvJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfbG9nby8zNF9CYXNpc3RlbXBsYXRlcy1iaXp6ZXJkMTVfbG9nby5wbmciOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hcnR3b3JrLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzM0X0Jhc2lzdGVtcGxhdGVzX2JpenplcmQxNV8oMikucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfYXJ0d29yayZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMzRfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDE1XygyKS5wbmciOwoKCQkJfQoJCQkKCQkJCgkJCQoJCQlpZih0ID09ICIzNSIpCgkJCXsKCQkJCQoJCQkJCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYWNodGVyZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIiIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV92b29yZ3JvbmQudmFsdWUgPSAiIjsKCQkJCSQoJyNjb2xvclNlbGVjdG9yMiBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdGl0ZWxzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Rla3N0LnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xpbmtzLnZhbHVlID0gIjAwMDAwMCI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjQgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiMDAwMDAwIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2xvZ28udmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMzVfQmxhbmNvX2xvZ29zX2JpenplcmQtMDIucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vMzVfQmxhbmNvX2xvZ29zX2JpenplcmQtMDIucG5nIjsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfYXJ0d29yay52YWx1ZSA9ICJodHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8zNV9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMTYucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfYXJ0d29yayZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMzVfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDE2LnBuZyI7CgoJCQl9CgkJCQoJCQkKCQkJCgkJCWlmKHQgPT0gIjM2IikKCQkJewoJCQkJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTA4JykpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzEwOCcpLnNlbGVjdGVkID0gdHJ1ZTsgZWxzZSBjb25zb2xlLmxvZygnaWNvbiBzZXQgMTA5IG5vdCBmb3VuZCEnKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FjaHRlcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvciBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3RpdGVscy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90ZWtzdC52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9saW5rcy52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9sb2dvLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzM2X0JsYW5jb19sb2dvc19iaXp6ZXJkLTAzLnBuZyI7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfbG9nb19mcmFtZSIpLnNyYyA9ICJzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPXRlbXBsYXRlX2xvZ28maW1nc3JjPWh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzM2X0JsYW5jb19sb2dvc19iaXp6ZXJkLTAzLnBuZyI7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FydHdvcmsudmFsdWUgPSAiaHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2FydHdvcmsvMzZfQmFzaXN0ZW1wbGF0ZXNfYml6emVyZDE3XygyKS5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay8zNl9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMTdfKDIpLnBuZyI7CgoJCQl9CgkJCQoJCQkKCQkJCgkJCWlmKHQgPT0gIjQwIikKCQkJewoJCQkJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25lbl9vcHRpb25fMTE1JykpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uZW5fb3B0aW9uXzExNScpLnNlbGVjdGVkID0gdHJ1ZTsgZWxzZSBjb25zb2xlLmxvZygnaWNvbiBzZXQgMTE2IG5vdCBmb3VuZCEnKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX2FjaHRlcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvciBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArICIiKTsKCgkJCQlkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcmdyb25kLnZhbHVlID0gIiI7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyAiIik7CgoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3RpdGVscy52YWx1ZSA9ICJGRjk5OTkiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIkZGOTk5OSIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV90ZWtzdC52YWx1ZSA9ICIwMDAwMDAiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIjAwMDAwMCIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9saW5rcy52YWx1ZSA9ICJGRjk5OTkiOwoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgIkZGOTk5OSIpOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9sb2dvLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9sb2dvLzQwX05hYW1sb29zLTEucG5nIjsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9sb2dvX2ZyYW1lIikuc3JjID0gInNfdXBsb2FkLnBocD9zZXNzaW9uY291bnRlcj0yODUyMzkxNyZpbWc9dGVtcGxhdGVfbG9nbyZpbWdzcmM9aHR0cHM6Ly9hcHAuYml6emVyZC5jb20vdXBsb2FkL3RlbXBsYXRlX2xvZ28vNDBfTmFhbWxvb3MtMS5wbmciOwoKCQkJCWRvY3VtZW50LnBob25lRm9ybS50ZW1wbGF0ZV9hcnR3b3JrLnZhbHVlID0gImh0dHBzOi8vYXBwLmJpenplcmQuY29tL3VwbG9hZC90ZW1wbGF0ZV9hcnR3b3JrLzQwX0Jhc2lzdGVtcGxhdGVzX2JpenplcmQyMS5wbmciOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX2FydHdvcmtfZnJhbWUiKS5zcmMgPSAic191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9hcnR3b3JrJmltZ3NyYz1odHRwczovL2FwcC5iaXp6ZXJkLmNvbS91cGxvYWQvdGVtcGxhdGVfYXJ0d29yay80MF9CYXNpc3RlbXBsYXRlc19iaXp6ZXJkMjEucG5nIjsKCgkJCX0KCQkJCgkJCQoJCQlpbml0RnJhbWVSZWxvYWQoKTsKCQl9CgkJCgkJPC9zY3JpcHQ+CgkJCgkJCQkKCQkKCQkKCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZV8xJz5UZW1wbGF0ZTo8L2Rpdj4KCQk8c2VsZWN0IG5hbWU9J3RlbXBsYXRlJyBvbmNoYW5nZT0nY2hhbmdlVGVtcGxhdGUoKScgY2xhc3M9J3N0YXBmb3JtX3NlbGVjdCcgc3R5bGU9J21heC13aWR0aDogMjMwcHg7Jz4KCQkJCgkJCQkJCQoJCQk8b3B0aW9uIHZhbHVlPScyOCc+QnJ1aW4vZ3JpanM8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyMSc+QmxhdXc8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyMic+UGFhcnMvb3JhbmplPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjMnPlBhYXJzL2JsYXV3PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjQnPlp3YXJ0L2dlZWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyNSc+R2VlbC9icnVpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzI2Jz5QYWFycy9vcmFuamUgMjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzI3Jz5CbGF1dy9wYWFyczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzI5Jz5ad2FydC9vcmFuamU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSczMCc+R3JpanM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSczMSc+R2VlbCA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSczMic+R2VlbC9wYWFyczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzMzJz5HcmlqcyAyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMzQnPlBhYXJzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMzUnPkJsYXV3IDI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSczNic+R2VlbCAyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nNDAnPlZyb2xpams8L29wdGlvbj4JCQkKCQk8L3NlbGVjdD4KCQkKCQk8YnI+PGJyPgoJCQoJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlXzEnPkljb25lbjo8L2Rpdj4KCQk8c2VsZWN0IG5hbWU9J3RlbXBsYXRlX2ljb25lbicgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3NlbGVjdCcgc3R5bGU9J21heC13aWR0aDogMjMwcHg7Jz4KCQkKCQkJCQoJCQkJPG9wdGlvbiBpZD0naWNvbmVuX29wdGlvbl8xMDEnIHZhbHVlPScxMDEnPlZsYWsgLSB3aXQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTAyJyB2YWx1ZT0nMTAyJz5WbGFrIC0gendhcnQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTAzJyB2YWx1ZT0nMTAzJz5SZWNodGUgbGlqbiAtIHdpdDwvb3B0aW9uPgoJCQkJPG9wdGlvbiBpZD0naWNvbmVuX29wdGlvbl8xMDQnIHZhbHVlPScxMDQnPlJlY2h0ZSBsaWpuIC0gendhcnQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTA1JyB2YWx1ZT0nMTA1Jz5BZmdlcm9uZCB2bGFrIC0gd2l0PC9vcHRpb24+CgkJCQk8b3B0aW9uIGlkPSdpY29uZW5fb3B0aW9uXzEwNicgdmFsdWU9JzEwNic+QWZnZXJvbmQgdmxhayAtIHp3YXJ0PC9vcHRpb24+CgkJCQk8b3B0aW9uIGlkPSdpY29uZW5fb3B0aW9uXzEwNycgdmFsdWU9JzEwNyc+QWZnZXJvbmRlIGxpam4gLSB3aXQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTA4JyB2YWx1ZT0nMTA4Jz5BZmdlcm9uZGUgbGlqbiAtIHp3YXJ0PC9vcHRpb24+CgkJCQk8b3B0aW9uIGlkPSdpY29uZW5fb3B0aW9uXzEwOScgdmFsdWU9JzEwOSc+QWZnZXJvbmQgbWV0IGdsYW5zIC0gendhcnQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTEwJyB2YWx1ZT0nMTEwJz5BZmdlcm9uZCBtZXQgZ2xhbnMgLSB3aXQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTExJyB2YWx1ZT0nMTExJz5BZmdlcm9uZCAzRDwvb3B0aW9uPgoJCQkJPG9wdGlvbiBpZD0naWNvbmVuX29wdGlvbl8xMTInIHZhbHVlPScxMTInPlJvbmQgM0Q8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTEzJyB2YWx1ZT0nMTEzJz5BZmdlcm9uZCBnbGFzIC0gYmxhdXc8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTE0JyB2YWx1ZT0nMTE0Jz5Sb25kZSBsaWpuIC0gd2l0PC9vcHRpb24+CgkJCQk8b3B0aW9uIGlkPSdpY29uZW5fb3B0aW9uXzExNScgdmFsdWU9JzExNSc+Um9uZGUgbGlqbiAtIHp3YXJ0PC9vcHRpb24+CgkJCQk8b3B0aW9uIGlkPSdpY29uZW5fb3B0aW9uXzExNicgdmFsdWU9JzExNic+Um9uZCB2bGFrIC0gd2l0PC9vcHRpb24+CgkJCQk8b3B0aW9uIGlkPSdpY29uZW5fb3B0aW9uXzExNycgdmFsdWU9JzExNyc+Um9uZCB2bGFrIC0gendhcnQ8L29wdGlvbj4KCQkJCTxvcHRpb24gaWQ9J2ljb25lbl9vcHRpb25fMTE4JyB2YWx1ZT0nMTE4Jz5BZmdlcm9uZCBtZXQgZ2xhbnMgLSBicnVpbjwvb3B0aW9uPgoJCQkJPG9wdGlvbiBpZD0naWNvbmVuX29wdGlvbl8xMTknIHZhbHVlPScxMTknPlZsYWsgLSBncmlqczwvb3B0aW9uPgoJCQkJCgkJCQkJCQkKCQk8L3NlbGVjdD4KCQkKCQk8YnI+PGJyPgoKCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZV8xJz5JbWFnZXM6PC9kaXY+CgkJCgkJPGlmcmFtZSBpZD0ndGVtcGxhdGVfbG9nb19mcmFtZScgZnJhbWVib3JkZXI9JzAnIHNyYz0nc191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz10ZW1wbGF0ZV9sb2dvJndoaXRlbGFiZWw9X2JpenplcmQnIHNjcm9sbGluZz0nbm8nPjwvaWZyYW1lPgoJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3RlbXBsYXRlX2xvZ28nIGlkPSd0ZW1wbGF0ZV9sb2dvJyB2YWx1ZT0naHR0cHM6Ly9jYXJkcy5tb2JpY2FyZC90ZW1wbGF0ZS9pbWFnZXMvbWlqbmxvZ28ucG5nJz4KCQkKCQk8aWZyYW1lIGlkPSd0ZW1wbGF0ZV9hcnR3b3JrX2ZyYW1lJyBmcmFtZWJvcmRlcj0nMCcgc3JjPSdzX3VwbG9hZC5waHA/cD0xMTYwJnRva2VuPXlndGhmeWdfYml6emVyZCZpbWc9dGVtcGxhdGVfYXJ0d29yayZ3aGl0ZWxhYmVsPV9iaXp6ZXJkJyBzY3JvbGxpbmc9J25vJz48L2lmcmFtZT4KCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0ZW1wbGF0ZV9hcnR3b3JrJyBpZD0ndGVtcGxhdGVfYXJ0d29yaycgdmFsdWU9J2h0dHBzOi8vY2FyZHMubW9iaWNhcmQubmwvdGVtcGxhdGUvaW1hZ2VzL21pam5hcnR3b3JrLnBuZyc+CgkJCgkJPGJyPjxicj4KCQkJCQoJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlXzEnPkNvbG9yczo8L2Rpdj4KCQkKCQkJCQkJCQkJCQoKCQk8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScwJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTogMTBweDsnPgoJCTx0cj4KCQkJPHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGRpdiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J3dpZHRoOiAyMTVweDsnPlRpdGxlczo8L2Rpdj48L3RkPgoJCQk8dGQ+PGRpdiBpZD0nY29sb3JTZWxlY3RvcjUnIGNsYXNzPSdjb2xvclNlbGVjdG9yJz48ZGl2IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwJz48L2Rpdj48L2Rpdj48L3RkPgoJCQk8dGQgc3R5bGU9J3BhZGRpbmctbGVmdDogNXB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3RlbXBsYXRlX3RpdGVscycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPScwMDAwMDAnIGlkPSdjb2xvclNlbGVjdG9yVGV4dDUnIHN0eWxlPSd3aWR0aDogODBweDsnIG9uY2hhbmdlPSJpbml0RnJhbWVSZWxvYWQoKTsgJCgnI2NvbG9yU2VsZWN0b3I1IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgdGhpcy52YWx1ZSk7Ij48L3RkPgoJCTwvdHI+CgkJPC90YWJsZT4KCQkKCQk8c2NyaXB0PgoJCQoJCSQoJyNjb2xvclNlbGVjdG9yNScpLkNvbG9yUGlja2VyKHsKCQkJY29sb3I6ICcjMDAwMDAwJywKCQkJb25TaG93OiBmdW5jdGlvbiAoY29scGtyKSB7CgkJCQkkKGNvbHBrcikuZmFkZUluKDUwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0sCgkJCW9uSGlkZTogZnVuY3Rpb24gKGNvbHBrcikgewoJCQkJJChjb2xwa3IpLmZhZGVPdXQoNTAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSwKCQkJb25DaGFuZ2U6IGZ1bmN0aW9uIChoc2IsIGhleCwgcmdiKSB7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjUgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyBoZXgpOwoJCQkJaW5pdEZyYW1lUmVsb2FkKCk7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29sb3JTZWxlY3RvclRleHQ1IikudmFsdWUgPSBoZXg7CgkJCX0KCQl9KTsKCQkKCQk8L3NjcmlwdD4KCQkKCQkKCQkKCQkJCQoJCTx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2VsbHBhZGRpbmc9JzAnIHN0eWxlPSdtYXJnaW4tYm90dG9tOiAxMHB4Oyc+CgkJPHRyPgoJCQk8dGQgc3R5bGU9J3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Jz48ZGl2IGNsYXNzPSdiaWdmb250JyBzdHlsZT0nd2lkdGg6IDIxNXB4Oyc+VGVrc3Q6PC9kaXY+PC90ZD4KCQkJPHRkPjxkaXYgaWQ9J2NvbG9yU2VsZWN0b3IzJyBjbGFzcz0nY29sb3JTZWxlY3Rvcic+PGRpdiBzdHlsZT0nYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2Nic+PC9kaXY+PC9kaXY+PC90ZD4KCQkJPHRkIHN0eWxlPSdwYWRkaW5nLWxlZnQ6IDVweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsnPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd0ZW1wbGF0ZV90ZWtzdCcgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSc2NjY2NjYnIGlkPSdjb2xvclNlbGVjdG9yVGV4dDMnIHN0eWxlPSd3aWR0aDogODBweDsnIG9uY2hhbmdlPSJpbml0RnJhbWVSZWxvYWQoKTsgJCgnI2NvbG9yU2VsZWN0b3IzIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgdGhpcy52YWx1ZSk7Ij48L3RkPgoJCTwvdHI+CgkJPC90YWJsZT4KCQkKCQk8c2NyaXB0PgoJCQoJCSQoJyNjb2xvclNlbGVjdG9yMycpLkNvbG9yUGlja2VyKHsKCQkJY29sb3I6ICcjNjY2NjY2JywKCQkJb25TaG93OiBmdW5jdGlvbiAoY29scGtyKSB7CgkJCQkkKGNvbHBrcikuZmFkZUluKDUwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0sCgkJCW9uSGlkZTogZnVuY3Rpb24gKGNvbHBrcikgewoJCQkJJChjb2xwa3IpLmZhZGVPdXQoNTAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSwKCQkJb25DaGFuZ2U6IGZ1bmN0aW9uIChoc2IsIGhleCwgcmdiKSB7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjMgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyBoZXgpOwoJCQkJaW5pdEZyYW1lUmVsb2FkKCk7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29sb3JTZWxlY3RvclRleHQzIikudmFsdWUgPSBoZXg7CgkJCX0KCQl9KTsKCQkKCQk8L3NjcmlwdD4KCQkKCQkKCQk8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScwJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTogMTBweDsnPgoJCTx0cj4KCQkJPHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGRpdiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J3dpZHRoOiAyMTVweDsnPkxpbmtzOjwvZGl2PjwvdGQ+CgkJCTx0ZD48ZGl2IGlkPSdjb2xvclNlbGVjdG9yNCcgY2xhc3M9J2NvbG9yU2VsZWN0b3InPjxkaXYgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICMzMzMzREQnPjwvZGl2PjwvZGl2PjwvdGQ+CgkJCTx0ZCBzdHlsZT0ncGFkZGluZy1sZWZ0OiA1cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Jz48aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndGVtcGxhdGVfbGlua3MnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyB2YWx1ZT0nMzMzM0REJyBpZD0nY29sb3JTZWxlY3RvclRleHQ0JyBzdHlsZT0nd2lkdGg6IDgwcHg7JyBvbmNoYW5nZT0iaW5pdEZyYW1lUmVsb2FkKCk7ICQoJyNjb2xvclNlbGVjdG9yNCBkaXYnKS5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArIHRoaXMudmFsdWUpOyI+PC90ZD4KCQk8L3RyPgoJCTwvdGFibGU+CgkJCgkJPHNjcmlwdD4KCQkKCQkkKCcjY29sb3JTZWxlY3RvcjQnKS5Db2xvclBpY2tlcih7CgkJCWNvbG9yOiAnIzMzMzNERCcsCgkJCW9uU2hvdzogZnVuY3Rpb24gKGNvbHBrcikgewoJCQkJJChjb2xwa3IpLmZhZGVJbig1MDApOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9LAoJCQlvbkhpZGU6IGZ1bmN0aW9uIChjb2xwa3IpIHsKCQkJCSQoY29scGtyKS5mYWRlT3V0KDUwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0sCgkJCW9uQ2hhbmdlOiBmdW5jdGlvbiAoaHNiLCBoZXgsIHJnYikgewoJCQkJJCgnI2NvbG9yU2VsZWN0b3I0IGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgaGV4KTsKCQkJCWluaXRGcmFtZVJlbG9hZCgpOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbG9yU2VsZWN0b3JUZXh0NCIpLnZhbHVlID0gaGV4OwoJCQl9CgkJfSk7CgkJCgkJPC9zY3JpcHQ+CgoJCQoKCQk8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScwJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTogMTBweDsnPgoJCTx0cj4KCQkJPHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGRpdiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J3dpZHRoOiAyMTVweDsnPkJhY2tncm91bmQgYmVoaW5kIGNhcmQ6PC9kaXY+PC90ZD4KCQkJPHRkPjxkaXYgaWQ9J2NvbG9yU2VsZWN0b3InIGNsYXNzPSdjb2xvclNlbGVjdG9yJz48ZGl2IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzJz48L2Rpdj48L2Rpdj48L3RkPgoJCQk8dGQgc3R5bGU9J3BhZGRpbmctbGVmdDogNXB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3RlbXBsYXRlX2FjaHRlcmdyb25kJyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9JzMzMzMzMycgaWQ9J2NvbG9yU2VsZWN0b3JUZXh0JyBzdHlsZT0nd2lkdGg6IDgwcHg7JyBvbmNoYW5nZT0iaW5pdEZyYW1lUmVsb2FkKCk7ICQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgdGhpcy52YWx1ZSk7Ij48L3RkPgoJCTwvdHI+CgkJPC90YWJsZT4KCQkKCQk8c2NyaXB0PgoJCQoJCSQoJyNjb2xvclNlbGVjdG9yJykuQ29sb3JQaWNrZXIoewoJCQljb2xvcjogJyMzMzMzMzMnLAoJCQlvblNob3c6IGZ1bmN0aW9uIChjb2xwa3IpIHsKCQkJCSQoY29scGtyKS5mYWRlSW4oNTAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSwKCQkJb25IaWRlOiBmdW5jdGlvbiAoY29scGtyKSB7CgkJCQkkKGNvbHBrcikuZmFkZU91dCg1MDApOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9LAoJCQlvbkNoYW5nZTogZnVuY3Rpb24gKGhzYiwgaGV4LCByZ2IpIHsKCQkJCSQoJyNjb2xvclNlbGVjdG9yIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgaGV4KTsKCQkJCWluaXRGcmFtZVJlbG9hZCgpOwoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbG9yU2VsZWN0b3JUZXh0IikudmFsdWUgPSBoZXg7CgkJCX0KCQl9KTsKCQkKCQk8L3NjcmlwdD4KCQkJCQkJCQoKCQk8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScwJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTogMTBweDsnPgoJCTx0cj4KCQkJPHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGRpdiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J3dpZHRoOiAyMTVweDsnPkJhY2tncm91bmQgY2FyZDo8L2Rpdj48L3RkPgoJCQk8dGQ+PGRpdiBpZD0nY29sb3JTZWxlY3RvcjInIGNsYXNzPSdjb2xvclNlbGVjdG9yJz48ZGl2IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGJz48L2Rpdj48L2Rpdj48L3RkPgoJCQk8dGQgc3R5bGU9J3BhZGRpbmctbGVmdDogNXB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyc+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3RlbXBsYXRlX3Zvb3Jncm9uZCcgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSdGRkZGRkYnIGlkPSdjb2xvclNlbGVjdG9yVGV4dDInIHN0eWxlPSd3aWR0aDogODBweDsnIG9uY2hhbmdlPSJpbml0RnJhbWVSZWxvYWQoKTsgJCgnI2NvbG9yU2VsZWN0b3IyIGRpdicpLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgdGhpcy52YWx1ZSk7Ij48L3RkPgoJCTwvdHI+CgkJPC90YWJsZT4KCQkKCQk8c2NyaXB0PgoJCQoJCSQoJyNjb2xvclNlbGVjdG9yMicpLkNvbG9yUGlja2VyKHsKCQkJY29sb3I6ICcjRkZGRkZGJywKCQkJb25TaG93OiBmdW5jdGlvbiAoY29scGtyKSB7CgkJCQkkKGNvbHBrcikuZmFkZUluKDUwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0sCgkJCW9uSGlkZTogZnVuY3Rpb24gKGNvbHBrcikgewoJCQkJJChjb2xwa3IpLmZhZGVPdXQoNTAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSwKCQkJb25DaGFuZ2U6IGZ1bmN0aW9uIChoc2IsIGhleCwgcmdiKSB7CgkJCQkkKCcjY29sb3JTZWxlY3RvcjIgZGl2JykuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyBoZXgpOwoJCQkJaW5pdEZyYW1lUmVsb2FkKCk7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29sb3JTZWxlY3RvclRleHQyIikudmFsdWUgPSBoZXg7CgkJCX0KCQl9KTsKCQkKCQk8L3NjcmlwdD4KCQkKCQk8YnI+CgoJCQoJCQkKCQkJPCEtLTxkaXYgY2xhc3M9J2J1dHRvbl9kaXNhYmxlZCcgc3R5bGU9J2Zsb2F0OiBsZWZ0Oyc+YmFjazwvZGl2Pi0tPgoJCQk8YSBocmVmPScjJyBvbmNsaWNrPSdzaG93U3RlcCgyKScgY2xhc3M9J2J1dHRvbic+bmV4dDwvYT4KCgkJCQkJCQkJCgkJCgk8L2Rpdj4KCQoJCQkJPGRpdiBzdHlsZT0nZGlzcGxheTogbm9uZTsnIGlkPSdzdGFwMic+PGJyPjxoMT48Yj5TdGFwIDIuPC9iPiBHZWdldmVuczwvaDE+PGRpdiBjbGFzcz0nc3RhcDJfdWl0bGVnJz5Db25maWd1cmUgdGhlIGluZm9ybWF0aW9uIHNob3duIG9uIHlvdXIgYml6emVyZC4gRmllbGRzIG1hcmtlZCB3aXRoIGEgc3RhciAoKikgYXJlIG5vbiBvcHRpb25hbCwgZW1wdHkgZmllbGRzIHdvbid0IGJlIGRpc3BsYXllZCBvbiB5b3VyIGJpenplcmQuPC9kaXY+CgkKCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbigwKTsnIGNsYXNzPSdpY29uX2xpbmsnIHN0eWxlPSdkaXNwbGF5OiBibG9jazsnPjxpbWcgc3JjPScvaW1hZ2VzL2ljb25zLzJfYml6emVyZC5wbmcnIGNsYXNzPSdpY29uX2xpbmtfaW1nJz4gPGltZyBzcmM9Jy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvdzJfYml6emVyZC5wbmcnIGlkPSdiZXdlcmtlbl9pY29uXzAnIGNsYXNzPSdpY29uX2xpbmtfYXJyb3cnPiBDb21wYW55PC9hPgoJCQkJPGRpdiBpZD0nYmV3ZXJrZW4wJyBjbGFzcz0nYmV3ZXJrZW5fZGl2JyBzdHlsZT0nZGlzcGxheTogYmxvY2s7Jz4KCQkJCQoJCQkJCQoJCQoJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5Db21wYW55bmFtZTo8L2Rpdj4KCQk8aW5wdXQgdHlwZT0ndGV4dCcgb25mb2N1cz0naWYodGhpcy52YWx1ZSA9PSAiTWlqbiBCZWRyaWpmIikgdGhpcy52YWx1ZSA9ICIiOycgbmFtZT0nY192b2xsZWRpZ2VfbmFhbScgb25rZXl1cD0nZG9jdW1lbnQucGhvbmVGb3JtLmNfbmFhbS52YWx1ZSA9IGNsZWFuTmFhbTIoZG9jdW1lbnQucGhvbmVGb3JtLmNfdm9sbGVkaWdlX25hYW0udmFsdWUpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2JpbmFhbURpdiIpLnNyYyA9ICJzX21vYmluYWFtLnBocD93aGl0ZWxhYmVsPV9iaXp6ZXJkJm5hYW09IiArIGRvY3VtZW50LnBob25lRm9ybS5jX25hYW0udmFsdWU7IHVwZGF0ZU5hYW1EaXYoKTsgaW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgbGFuZz0ndmVycGxpY2h0JyB2YWx1ZT0iTWlqbiBCZWRyaWpmIiBzdHlsZT0nd2lkdGg6IDIwMHB4Oyc+PGJyPgoJCQkJCgkJCgkJCQkJCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPkdld2Vuc3RlIGJpenplcmQgZG9tYWluOiAqPC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2NfbmFhbScgY2xhc3M9J3N0YXBmb3JtX3RleHQnIGF1dG9jb21wbGV0ZT0nb2ZmJyBzdHlsZT0nd2lkdGg6IDEyMHB4Oycgb25rZXl1cD0nZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vYmluYWFtRGl2Iikuc3JjID0gInNfbW9iaW5hYW0ucGhwP3doaXRlbGFiZWw9X2JpenplcmQmbmFhbT0iICsgZG9jdW1lbnQucGhvbmVGb3JtLmNfbmFhbS52YWx1ZTsgdXBkYXRlTmFhbURpdigpOycgbGFuZz0ndmVycGxpY2h0JyB2YWx1ZT0iIj48c3BhbiBjbGFzcz0nYmlnZm9udCc+LmJpenplcmQuY29tPC9zcGFuPjxicj4KCQkJCQkKCQkJCQk8aWZyYW1lIGlkPSdtb2JpbmFhbURpdicgZnJhbWVib3JkZXI9JzAnIHNyYz0nc19tb2JpbmFhbS5waHAnIHNjcm9sbGluZz0nbm8nPjwvaWZyYW1lPgoJCQkJCQoJCQkJCTxicj4KCgkJCQkJPHNjcmlwdD4KCgkJCQkJY19uYWFtX2Vycm9yID0gMTsKCQkJCQkKCQkJCQlmdW5jdGlvbiBzZXROYWFtRXJyb3Iod2hhdCkKCQkJCQl7CgkJCQkJCWNfbmFhbV9lcnJvciA9IHdoYXQ7CgkJCQkJfQoJCQkJCQoJCQkJCTwvc2NyaXB0PgoJCQkJCQoJCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IGlmKGNfbmFhbV9lcnJvciA9PSAxKSBhbGVydCgiWW91IGhhdmVuJ3Qgc2V0IGEgYml6emVyZCBkb21haW4geWV0LCBvciB0aGUgb25lIGNob3NlbiBoYXMgYWxyZWFkeSBiZWVuIHRha2VuISBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGRvbWFpbiB0byBjb250aW51ZS4iKTsgZWxzZSBvcGVuQmV3ZXJrZW4oMSk7JyBjbGFzcz0nYnV0dG9uJz5jb250aW51ZTwvYT4KCQkJCQkKCQkJCQkKCQkJCTwvZGl2PgoJCQkJCQoJCQkJCgkJCQkJCQkJCgkJCQk8YSBpZD0nYmV3ZXJrZW5fdGFiXzEnIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbigxKTsnIGlkPSdpY29uX2xpbmtfMScgY2xhc3M9J2ljb25fbGluayc+PGltZyBzcmM9Jy9pbWFnZXMvaWNvbnMvMV9iaXp6ZXJkLnBuZycgY2xhc3M9J2ljb25fbGlua19pbWcnPiA8aW1nIHNyYz0nL2ltYWdlcy9sYXlvdXQvc3ViX2Fycm93X2JpenplcmQucG5nJyBpZD0nYmV3ZXJrZW5faWNvbl8xJyBjbGFzcz0naWNvbl9saW5rX2Fycm93Jz4gTmFtZTwvYT4KCQkJCTxkaXYgaWQ9J2Jld2Vya2VuMScgY2xhc3M9J2Jld2Vya2VuX2Rpdicgc3R5bGU9J2Rpc3BsYXk6IG5vbmUnPgoJCQkJCQkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+UHJlZml4ZXM6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3Zvb3J2b2Vnc2VsJyBhdXRvY29tcGxldGU9J29mZicgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHN0eWxlPSd3aWR0aDogNzBweDsnIHZhbHVlPSIiIG9ua2V5dXA9J3VwZGF0ZU5hYW1EaXYoKTsnPjxicj4KCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5GaXJzdG5hbWU6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3Zvb3JuYWFtJyBhdXRvY29tcGxldGU9J29mZicgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIGxhbmc9J3ZlcnBsaWNodCcgb25rZXl1cD0nc3VnZ2VzdE5hYW0oKTsgdXBkYXRlTmFhbURpdigpOycgdmFsdWU9IlZvb3JuYWFtIiBvbmZvY3VzPSdpZih0aGlzLnZhbHVlID09ICJWb29ybmFhbSIpIHRoaXMudmFsdWUgPSAiIjsnPjxicj4KCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5TdXJuYW1lIHByZWZpeDo8L2Rpdj4KCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndHVzc2Vudm9lZ3NlbCcgYXV0b2NvbXBsZXRlPSdvZmYnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyBzdHlsZT0nd2lkdGg6IDcwcHg7JyBvbmtleXVwPSdzdWdnZXN0TmFhbSgpOyB1cGRhdGVOYWFtRGl2KCk7JyB2YWx1ZT0iIj48YnI+CgkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+U3VybmFtZTo8L2Rpdj4KCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nYWNodGVybmFhbScgYXV0b2NvbXBsZXRlPSdvZmYnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyBsYW5nPSd2ZXJwbGljaHQnIG9ua2V5dXA9J3N1Z2dlc3ROYWFtKCk7IHVwZGF0ZU5hYW1EaXYoKTsgaW5pdEZyYW1lUmVsb2FkKCk7JyB2YWx1ZT0iQWNodGVybmFhbSIgb25mb2N1cz0naWYodGhpcy52YWx1ZSA9PSAiQWNodGVybmFhbSIpIHRoaXMudmFsdWUgPSAiIjsnPjxicj4KCQkJCQoJCQkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3VzZXJuYW1lJyB2YWx1ZT0nJz4KCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+WW91ciBiaXp6ZXJkIG5hbWU6ICo8YnI+CgkJCQkJPHNwYW4gc3R5bGU9J2NvbG9yOiAjRkYwMDAwOyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Jz4oVGhpcyBDQU5OT1QgYmUgdGhlIHNhbWUgbmFtZSBhcyB5b3VyICdEZXNpcmVkIGJpenplcmQgZG9tYWluJyEpPC9zcGFuPgoJCQkJCTwvZGl2PgoJCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSduYWFtJyBhdXRvY29tcGxldGU9J29mZicgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIG9ua2V5dXA9J25uID0gY2xlYW5OYWFtKGRvY3VtZW50LnBob25lRm9ybS5uYWFtLnZhbHVlKTsgaWYobm4gIT0gZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWUpIHsgZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWUgPSBubjsgdXBkYXRlTmFhbURpdigpOyB9IGVsc2UgeyB1cGRhdGVOYWFtRGl2KCk7IH0gJyBvbmNoYW5nZT0naWYoIWNoZWNrTmFhbShkb2N1bWVudC5waG9uZUZvcm0ubmFhbS52YWx1ZSkpIHsgYWxlcnQoIllvdXIgY2hvb3NlbiBiaXp6ZXJkIG5hbWUgYWxyZWFkeSBleGlzdHMuIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgb25lISIpOyB9IGVsc2UgeyBzdGFydHZhbCA9IGRvY3VtZW50LnBob25lRm9ybS5uYWFtLnZhbHVlOyB9ICcgbGFuZz0ndmVycGxpY2h0JyB2YWx1ZT0iIj48YnI+CgkJCQkJCgkJCQkJPGRpdiBpZD0nbmFhbURpdicgY2xhc3M9J25hYW1fZGl2Jz4KCQkJCQkKCQkJCQlKdXN0IGEgbW9tZW50IHBsZWFzZS4uLgoJCQkJCQoJCQkJCTwvZGl2PgoJCQkJCQkJCQkKCQkJCQk8YSBocmVmPSdqYXZhc2NyaXB0OiBvcGVuQmV3ZXJrZW4oMik7JyBjbGFzcz0nYnV0dG9uJz5jb250aW51ZTwvYT4KCQkJCQkKCQkJCTwvZGl2PgoJCQkJCgkJCQk8YSBpZD0nYmV3ZXJrZW5fdGFiXzInIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbigyKTsnIGNsYXNzPSdpY29uX2xpbmsnPjxpbWcgc3JjPScvaW1hZ2VzL2ljb25zLzJfYml6emVyZC5wbmcnIGNsYXNzPSdpY29uX2xpbmtfaW1nJz4gPGltZyBzcmM9Jy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvd19iaXp6ZXJkLnBuZycgaWQ9J2Jld2Vya2VuX2ljb25fMicgY2xhc3M9J2ljb25fbGlua19hcnJvdyc+IENvbnRhY3QgZGV0YWlsczwvYT4KCQkJCTxkaXYgaWQ9J2Jld2Vya2VuMicgY2xhc3M9J2Jld2Vya2VuX2Rpdic+CgkJCQkKCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5Qb3NpdGlvbiBhbmQvb3IgZGVwYXJ0bWVudDo8L2Rpdj4KCQkJCQkKCQkJCQoKCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZnVuY3RpZScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSJGdW5jdGllIGVuL29mIGFmZGVsaW5nIiBvbmZvY3VzPSdzaG93TWUoImZ1bmN0aWVfdWl0bGVnIik7JyBvbmJsdXI9J2hpZGVNZSgiZnVuY3RpZV91aXRsZWciKTsnPjxicj4KCQkJCQk8ZGl2IGlkPSdmdW5jdGllX3VpdGxlZycgY2xhc3M9J3VpdGxlZyc+PGI+VGlwOjwvYj4gRG8geW91IGhhdmUgbXVsdGlwbGUgZnVuY3Rpb25zPyBBZGQgdHdvIHNsYXNoZXMgKC8vKSBiZXR3ZWVuIHRoZW0gdG8gc3ByZWFkIHRoZW0gb3ZlciBtdWx0aXBsZSBsaW5lcy48L2Rpdj4KCQkJCQkKCQkJCQkKCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPkUtbWFpbDogKjwvZGl2PgoJCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdlbWFpbCcgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIGxhbmc9J3ZlcnBsaWNodFtlbWFpbF0nIHZhbHVlPSIiPjxicj4JCQkJCQkKCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPlBhc3N3b3JkOjwvZGl2PgoJCQkJCTxpbnB1dCB0eXBlPSdwYXNzd29yZCcgbmFtZT0nd2FjaHR3b29yZCcgY2xhc3M9J3N0YXBmb3JtX3RleHQnIGxhbmc9J3ZlcnBsaWNodCc+PGJyPgoJCQkJCTwhLS08ZGl2IGlkPSd0ZW1wbGF0ZV93YWNodHdvb3JkX3VpdGxlZycgY2xhc3M9J3VpdGxlZyc+VXNlIGF0bGVhc3QgNiBjaGFyYWN0ZXJzLiBBZnRlciBjcmVhdGluZyB5b3VyIGJpenplcmQsIHlvdSBjYW4gdXNlIHlvdXIgYml6emVyZCBkb21haW4gYW5kIHRoaXMgcGFzc3dvcmQgdG8gbG9naW4uPC9kaXY+LS0+CgoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5SZXBlYXQgcGFzc3dvcmQ6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3Bhc3N3b3JkJyBuYW1lPSd3YWNodHdvb3JkMicgY2xhc3M9J3N0YXBmb3JtX3RleHQnIGxhbmc9J3ZlcnBsaWNodCc+PGJyPgoJCQkJCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5QaG9uZTo8L2Rpdj4KCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndGVsJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9IiszMSAoMCkgMzAgLSAwMDAgMDAgMDAiPjxicj4KCQkJCQkKCQkJCQk8ZGl2IHN0eWxlPSdwYWRkaW5nLWJvdHRvbTogMTJweDsnPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nYmVsbWlqJyB2YWx1ZT0nMScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgPiA8YiBvbmNsaWNrPSdhID0gZG9jdW1lbnQucGhvbmVGb3JtLmJlbG1pajsgYS5jaGVja2VkID0gIWEuY2hlY2tlZDsnIHN0eWxlPSdjdXJzb3I6IHBvaW50ZXI7JyA+QWRkIGEgInBob25lIiBpY29uPC9iPjwvZGl2PgoJCQkJCQkJCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5Nb2JpbGUgcGhvbmU6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J21vYmllbCcgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSIrMzEgKDApNiAtIDAwMCAwMCAwMDAiPjxicj4KCQkJCQkKCQkJCQk8ZGl2IHN0eWxlPSdwYWRkaW5nLWJvdHRvbTogMTJweDsnPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nd2hhdHNhcHAnIHZhbHVlPScxJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyA+IDxiIG9uY2xpY2s9J2EgPSBkb2N1bWVudC5waG9uZUZvcm0ud2hhdHNhcHA7IGEuY2hlY2tlZCA9ICFhLmNoZWNrZWQ7JyBzdHlsZT0nY3Vyc29yOiBwb2ludGVyOyc+SSB1c2UgV2hhdHNhcHA8L2I+PC9kaXY+CgoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5GYXg6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2ZheCcgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSIiPjxicj4JCgkJCQkJCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPldlYnNpdGU6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3dlYnNpdGUnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyB2YWx1ZT0iaHR0cDovL3d3dy5iaXp6ZXJkLmNvbSIgb25mb2N1cz0nc2hvd01lKCJ3ZWJzaXRlX3VpdGxlZyIpOycgb25ibHVyPSdoaWRlTWUoIndlYnNpdGVfdWl0bGVnIik7Jz48YnI+CgkJCQkJPGRpdiBpZD0nd2Vic2l0ZV91aXRsZWcnIGNsYXNzPSd1aXRsZWcnPkFkZCB0aGUgdXJsIG9mIHlvdXIgY29tcGFueSBvciBhIHBlcnNvbmFsIHVybCBoZXJlLiBTb2NpYWwgdXJscyBjYW4gYmUgYWRkZWQgaW4gdGhlICJTb2NpYWwgbWVkaWEiIHRhYiwgYmVsb3cuPC9kaXY+CgoJCQkJCTxkaXYgc3R5bGU9J3BhZGRpbmctYm90dG9tOiAxMnB4Oyc+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd3ZWJzaXRlX2ljb29uJyB2YWx1ZT0nMScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2hlY2tlZD4gPGIgb25jbGljaz0nYSA9IGRvY3VtZW50LnBob25lRm9ybS53ZWJzaXRlX2ljb29uOyBhLmNoZWNrZWQgPSAhYS5jaGVja2VkOycgc3R5bGU9J2N1cnNvcjogcG9pbnRlcjsnPkFkZCBhIHdlYnNpdGUgaWNvbjwvYj48L2Rpdj4KCgkJCQkJPGRpdiBzdHlsZT0ncGFkZGluZy1ib3R0b206IDEycHg7Jz48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J3dlYnNpdGVfbGluaycgdmFsdWU9JzEnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNoZWNrZWQ+IDxiIG9uY2xpY2s9J2EgPSBkb2N1bWVudC5waG9uZUZvcm0ud2Vic2l0ZV9saW5rOyBhLmNoZWNrZWQgPSAhYS5jaGVja2VkOycgc3R5bGU9J2N1cnNvcjogcG9pbnRlcjsnPkFkZCBhIHdlYnNpdGUgdXJsPC9iPjwvZGl2PgoKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+U2t5cGUgdXNlcm5hbWU6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3NreXBlJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9IiIgb25mb2N1cz0nc2hvd01lKCJza3lwZV91aXRsZWciKTsnIG9uYmx1cj0naGlkZU1lKCJza3lwZV91aXRsZWciKTsnPjxicj4JCgkJCQkJPGRpdiBpZD0nc2t5cGVfdWl0bGVnJyBjbGFzcz0ndWl0bGVnJz5JZiB5b3Ugd2FudCB0byBiZSBhdmFpbGFibGUgb24gc2t5cGUgeW91IGNhbiBhZGQgeW91ciB1c2VybmFtZSBoZXJlLjwvZGl2PgoKCQkJCQk8ZGl2IHN0eWxlPSdwYWRkaW5nLWJvdHRvbTogMTJweDsnPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0ncXJjb2RlJyB2YWx1ZT0nMScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2hlY2tlZD4gPGIgb25jbGljaz0nYSA9IGRvY3VtZW50LnBob25lRm9ybS5xcmNvZGU7IGEuY2hlY2tlZCA9ICFhLmNoZWNrZWQ7JyBzdHlsZT0nY3Vyc29yOiBwb2ludGVyOyc+QWRkIFFSIGljb248L2I+PC9kaXY+CgkJCgkJCQkJPGEgaHJlZj0namF2YXNjcmlwdDogaWYoZG9jdW1lbnQucGhvbmVGb3JtLndhY2h0d29vcmQudmFsdWUgIT0gZG9jdW1lbnQucGhvbmVGb3JtLndhY2h0d29vcmQyLnZhbHVlKSBhbGVydCgiWW91ciB0d28gcGFzc3dvcmRzIGRvbmB0IG1hdGNoISIpOyBlbHNlIG9wZW5CZXdlcmtlbigzKTsnIGNsYXNzPSdidXR0b24nPmNvbnRpbnVlPC9hPgoJCQkJCQkJCQkKCQkJCTwvZGl2PgoJCQkJCgkJCQk8YSBpZD0nYmV3ZXJrZW5fdGFiXzMnIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbigzKTsnIGNsYXNzPSdpY29uX2xpbmsnPjxpbWcgc3JjPScvaW1hZ2VzL2ljb25zLzNfYml6emVyZC5wbmcnIGNsYXNzPSdpY29uX2xpbmtfaW1nJz4gPGltZyBzcmM9Jy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvd19iaXp6ZXJkLnBuZycgaWQ9J2Jld2Vya2VuX2ljb25fMycgY2xhc3M9J2ljb25fbGlua19hcnJvdyc+IEFkZHJlc3M8L2E+CgkJCQk8ZGl2IGlkPSdiZXdlcmtlbjMnIGNsYXNzPSdiZXdlcmtlbl9kaXYnPgoKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+QWRkcmVzczo8L2Rpdj4KCQoJCQkJPHRleHRhcmVhIG5hbWU9J2FkcmVzdmVsZCcgb25rZXl1cD0naW5pdEZyYW1lUmVsb2FkUGFnZSgibWFwIik7IHZvaWQoMCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dGFyZWEnIHN0eWxlPSdoZWlnaHQ6IDEwMHB4Oyc+TWlqbiBTdHJhYXQgMTIzDQoxMDAwQUIgU3RhZA0KTmVkZXJsYW5kPC90ZXh0YXJlYT4KCQkJCQoJCQkJCTxkaXYgc3R5bGU9J3BhZGRpbmctYm90dG9tOiAxMnB4Oyc+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdnb29nbGVtYXBzJyB2YWx1ZT0nMScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2hlY2tlZD4gPGIgb25jbGljaz0nYSA9IGRvY3VtZW50LnBob25lRm9ybS5nb29nbGVtYXBzOyBhLmNoZWNrZWQgPSAhYS5jaGVja2VkOycgc3R5bGU9J2N1cnNvcjogcG9pbnRlcjsnPkFkZCBhIEdvb2dsZSBNYXBzIGljb248L2I+PC9kaXY+CgoJCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbig0KTsnIGNsYXNzPSdidXR0b24nPmNvbnRpbnVlPC9hPgoJCQkJCQoJCQkJPC9kaXY+CgkJCQkKCgkJCQk8YSBpZD0nYmV3ZXJrZW5fdGFiXzQnIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbig0KTsnIGNsYXNzPSdpY29uX2xpbmsnPjxpbWcgc3JjPScvaW1hZ2VzL2ljb25zLzVfYml6emVyZC5wbmcnIGNsYXNzPSdpY29uX2xpbmtfaW1nJz4gPGltZyBzcmM9Jy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvd19iaXp6ZXJkLnBuZycgaWQ9J2Jld2Vya2VuX2ljb25fNCcgY2xhc3M9J2ljb25fbGlua19hcnJvdyc+IFNvY2lhbCBtZWRpYTwvYT4KCQkJCTxkaXYgaWQ9J2Jld2Vya2VuNCcgY2xhc3M9J2Jld2Vya2VuX2Rpdic+CgkJCQkKCQkJCQk8aT5BZGQgdGhlIGZ1bGwgdXJsIG9mIHlvdXIgZGlmZmVyZW50IHNvY2lhbCBwcm9maWxlcy48L2k+CgkJCQkJCgkJCQkJPGJyPjxicj4KCQkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+TGlua2VkSW46PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2xpbmtlZGluJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9Imh0dHA6Ly93d3cubGlua2VkaW4uY29tIiBvbmZvY3VzPSdzaG93TWUoImxpbmtlZGluX3VpdGxlZyIpOycgb25ibHVyPSdoaWRlTWUoImxpbmtlZGluX3VpdGxlZyIpOyc+PGJyPgoJCQkJCTxkaXYgaWQ9J2xpbmtlZGluX3VpdGxlZycgY2xhc3M9J3VpdGxlZyc+PGI+VGlwOjwvYj4gQWRkIHRoZSB1cmwgb2YgeW91ciBwdWJsaWMgcHJvZmlsZS4gQSBwdWJsaWMgcHJvZmlsZSBjYW4gYWxzbyBiZSBzZWVuIGJ5IHBlb3BsZSB3aG8gYXJlbid0IGxvZ2dlZC1pbiBvciB3aG8gZG9uJ3QgaGF2ZSBhIExpbmtlZEluIGFjY291bnQuIDwvZGl2PgoJCQkJCQkJCQkJCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5Ud2l0dGVyOjwvZGl2PgoJCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd0d2l0dGVyJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9Imh0dHA6Ly93d3cudHdpdHRlci5jb20iIG9uZm9jdXM9J3Nob3dNZSgidHdpdHRlcl91aXRsZWciKTsnIG9uYmx1cj0naGlkZU1lKCJ0d2l0dGVyX3VpdGxlZyIpOyc+PGJyPgoJCQkJCTxkaXYgaWQ9J3R3aXR0ZXJfdWl0bGVnJyBjbGFzcz0ndWl0bGVnJz48Yj5UaXA6PC9iPiBHbyB0byB5b3VyIFR3aXR0ZXIgcGFnZSBhbmQgY29weSB0aGUgdXJsIGZyb20gdGhlIHVybCBiYXIuPC9kaXY+CgkJCQkKCQkJCQoJCQkJCgkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+RmFjZWJvb2s6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2ZhY2Vib29rJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tIiBvbmZvY3VzPSdzaG93TWUoImZhY2Vib29rX3VpdGxlZyIpOycgb25ibHVyPSdoaWRlTWUoImZhY2Vib29rX3VpdGxlZyIpOyc+PGJyPgoJCQkJCTxkaXYgaWQ9J2ZhY2Vib29rX3VpdGxlZycgY2xhc3M9J3VpdGxlZyc+PGI+VGlwOjwvYj4gSW5zZXJ0IHRoZSB1cmwgb2YgeW91ciBwdWJsaWMgcHJvZmlsZSBoZXJlLiBBZnRlciBsb2dnaW4gaW4gb24gRmFjZWJvb2sgeW91IGNhbiBmaW5kIHRoaXMgdXJsIGF0IHd3dy5mYWNlYm9vay5jb20vdXNlcm5hbWUuIFlvdSBjYW4gYWxzbyBlZGl0IHlvdXIgdXNlcm5hbWUgdGhlcmUgdG8gY3JlYXRlIGEgc2VhcmNoIGVuZ2luZSBmcmllbmRseSBVUkwgdG8geW91ciAoY29tcGFueSlwYWdlLiBZb3UgY2FuIG9ubHkgZWRpdCB0aGlzIHVzZXJuYW1lIG9uY2UuPC9kaXY+CgoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5Zb3VUdWJlIG9yIFZpbWVvIFVSTDo8L2Rpdj4KCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0neW91dHViZScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSIiIG9uZm9jdXM9J3Nob3dNZSgieW91dHViZV91aXRsZWciKTsnIG9uYmx1cj0naGlkZU1lKCJ5b3V0dWJlX3VpdGxlZyIpOyc+PGJyPgoJCQkJCTxkaXYgaWQ9J3lvdXR1YmVfdWl0bGVnJyBjbGFzcz0ndWl0bGVnJz48Yj5UaXA6PC9iPiBHbyB0byB5b3VyIFlvdVR1YmUgb3IgVmltZW8gcGFnZSBhbmQgY29weSB0aGUgdXJsIGZyb20gdGhlIHVybCBiYXIuPC9kaXY+CgkJCQkJCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPlBpbnRlcmVzdDo8L2Rpdj4KCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ncGludGVyZXN0JyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9IiIgb25mb2N1cz0nc2hvd01lKCJwaW50ZXJlc3RfdWl0bGVnIik7JyBvbmJsdXI9J2hpZGVNZSgicGludGVyZXN0X3VpdGxlZyIpOyc+PGJyPgoJCQkJCTxkaXYgaWQ9J3BpbnRlcmVzdF91aXRsZWcnIGNsYXNzPSd1aXRsZWcnPjxiPlRpcDo8L2I+IEdvIHRvIHlvdXIgUGludGVyZXN0IHBhZ2UgYW5kIGNvcHkgdGhlIHVybCBmcm9tIHRoZSB1cmwgYmFyLjwvZGl2PgoJCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5JbnN0YWdyYW06PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2luc3RhZ3JhbScgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSIiIG9uZm9jdXM9J3Nob3dNZSgiaW5zdGFncmFtX3VpdGxlZyIpOycgb25ibHVyPSdoaWRlTWUoImluc3RhZ3JhbV91aXRsZWciKTsnPjxicj4KCQkJCQk8ZGl2IGlkPSdpbnN0YWdyYW1fdWl0bGVnJyBjbGFzcz0ndWl0bGVnJz48Yj5UaXA6PC9iPiBHbyB0byB5b3VyIEluc3RhZ3JhbSBwYWdlIGFuZCBjb3B5IHRoZSB1cmwgZnJvbSB0aGUgdXJsIGJhci48L2Rpdj4KCQkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+R29vZ2xlKzo8L2Rpdj4KCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZ29vZ2xlcGx1cycgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSIiIG9uZm9jdXM9J3Nob3dNZSgiZ29vZ2xlcGx1c191aXRsZWciKTsnIG9uYmx1cj0naGlkZU1lKCJnb29nbGVwbHVzX3VpdGxlZyIpOyc+PGJyPgoJCQkJCTxkaXYgaWQ9J2dvb2dsZXBsdXNfdWl0bGVnJyBjbGFzcz0ndWl0bGVnJz48Yj5UaXA6PC9iPiBHbyB0byB5b3VyIEdvb2dsZSsgcGFnZSBhbmQgY29weSB0aGUgdXJsIGZyb20gdGhlIHVybCBiYXIuPC9kaXY+CgkJCQkJCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPkJsb2c6PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2Jsb2cnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyB2YWx1ZT0iIiBvbmZvY3VzPSdzaG93TWUoImJsb2dfdWl0bGVnIik7JyBvbmJsdXI9J2hpZGVNZSgiYmxvZ191aXRsZWciKTsnPjxicj4KCQkJCQk8ZGl2IGlkPSdibG9nX3VpdGxlZycgY2xhc3M9J3VpdGxlZyc+PGI+VGlwOjwvYj4gR28gdG8geW91ciBibG9nIHBhZ2UgYW5kIGNvcHkgdGhlIHVybCBmcm9tIHRoZSB1cmwgYmFyLjwvZGl2PgoJCQkJCQoJCQkJCQoJCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbig1KTsnIGNsYXNzPSdidXR0b24nPmNvbnRpbnVlPC9hPgoKCQkJCQoJCQkJPC9kaXY+CgkJCQkKCQkJCTxhIGlkPSdiZXdlcmtlbl90YWJfNScgaHJlZj0namF2YXNjcmlwdDogb3BlbkJld2Vya2VuKDUpOycgY2xhc3M9J2ljb25fbGluayc+PGltZyBzcmM9Jy9pbWFnZXMvaWNvbnMvNl9iaXp6ZXJkLnBuZycgY2xhc3M9J2ljb25fbGlua19pbWcnPiA8aW1nIHNyYz0nL2ltYWdlcy9sYXlvdXQvc3ViX2Fycm93X2JpenplcmQucG5nJyBpZD0nYmV3ZXJrZW5faWNvbl81JyBjbGFzcz0naWNvbl9saW5rX2Fycm93Jz4gUHJvZmlsZSBwaWN0dXJlPC9hPgoJCQkJPGRpdiBpZD0nYmV3ZXJrZW41JyBjbGFzcz0nYmV3ZXJrZW5fZGl2Jz4KCQkJCQk8ZGl2IGlkPSdwYXNmb3RvX2Rpdic+CgkJCQkJPGlmcmFtZSBpZD0ncGFzZm90b19mcmFtZScgZnJhbWVib3JkZXI9JzAnIHNyYz0nc191cGxvYWQucGhwP3Nlc3Npb25jb3VudGVyPTI4NTIzOTE3JmltZz1wYXNmb3RvJmltZ3NyYz0md2hpdGVsYWJlbD1fYml6emVyZCcgc2Nyb2xsaW5nPSdubyc+PC9pZnJhbWU+CgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ncGFzZm90bycgaWQ9J3Bhc2ZvdG8nIHZhbHVlPScnPgoJCQkJCTwvZGl2PgoJCQkJCTxicj4KCQkJCQkKCQkJCQk8ZGl2IGlkPSdjb250YWN0Zm90b19kaXYnPgoJCQkJCTxoND5Db250YWN0cGhvdG88L2g0PgoJCQkJCTxwPlRoaXMgcGhvdG8gd2lsbCBiZSB1c2VkIHdoZW4gc2F2aW5nIGEgY29udGFjdCB0byB5b3VyIHBob25lIGNvbnRhY3RzLiBJZiBsZWZ0IGVtcHR5LCB0aGUgcHJvZmlsZSBwaWN0dXJlIHdpbGwgYmUgdXNlZC48L3A+PGJyPgoKCQkJCQkKCQkJCQk8aWZyYW1lIGlkPSdwYXNmb3RvX2ZyYW1lJyBmcmFtZWJvcmRlcj0nMCcgc3JjPSdzX3VwbG9hZC5waHA/c2Vzc2lvbmNvdW50ZXI9Mjg1MjM5MTcmaW1nPWNvbnRhY3Rmb3RvJmltZ3NyYz0md2hpdGVsYWJlbD1fYml6emVyZCcgc2Nyb2xsaW5nPSdubyc+PC9pZnJhbWU+CgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nY29udGFjdGZvdG8nIGlkPSdjb250YWN0Zm90bycgdmFsdWU9Jyc+CgkJCQkJPC9kaXY+CQkJCQoJCQkJCTxicj4KCQkJCQkKCQkJCQk8YSBocmVmPSdqYXZhc2NyaXB0OiBvcGVuQmV3ZXJrZW4oNik7JyBjbGFzcz0nYnV0dG9uJz5jb250aW51ZTwvYT4KCgkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCQoJCQkJPGEgaWQ9J2Jld2Vya2VuX3RhYl82JyBocmVmPSdqYXZhc2NyaXB0OiBvcGVuQmV3ZXJrZW4oNik7JyBjbGFzcz0naWNvbl9saW5rJz48aW1nIHNyYz0nL2ltYWdlcy9pY29ucy8yX2JpenplcmQucG5nJyBjbGFzcz0naWNvbl9saW5rX2ltZyc+IDxpbWcgc3JjPScvaW1hZ2VzL2xheW91dC9zdWJfYXJyb3dfYml6emVyZC5wbmcnIGlkPSdiZXdlcmtlbl9pY29uXzYnIGNsYXNzPSdpY29uX2xpbmtfYXJyb3cnPiBFeHRyYSBkZXRhaWxzPC9hPgoJCQkJPGRpdiBpZD0nYmV3ZXJrZW42JyBjbGFzcz0nYmV3ZXJrZW5fZGl2Jz4KCQkJCQkKCQkJCQk8YSBocmVmPSdqYXZhc2NyaXB0OiBvcGVuQmV3ZXJrZW5fc3ViKDApOycgY2xhc3M9J2FjY29yZGVvbl9zdWInIHN0eWxlPSdkaXNwbGF5OiBub25lJz48aW1nIHNyYz0nL2ltYWdlcy9sYXlvdXQvc3ViX2Fycm93X2JpenplcmQucG5nJyB3aWR0aD0nMTMnIGhlaWdodD0nMTMnIGlkPSdzdWJfaWNvbl8wJyBhbGlnbj0nYWJzbWlkZGxlJz4gQlRXIC8gS3ZLIC8gQmFua3Jla2VuaW5nPC9hPgoJCQkJCTxkaXYgaWQ9J2Jld2Vya2VuX3N1Yl8wJyBjbGFzcz0nYmV3ZXJrZW5fZGl2X3N1Yic+CgoJCQkJCQk8aT5PbmRlcnN0YWFuZGUgdmVsZGVuIHppam4gYWxsZWVuIGJlZG9lbGQgdm9vciBlZW4gb3AgbWFhdCBnZW1hYWt0IGRpZ2l0YWFsIHZpc2l0ZWthYXJ0amUuIERlemUgdmVsZGVuIGxlZWcgbGF0ZW4gYmlqIGVlbiB3ZWJzaG9wYmVzdGVsbGluZyB2YW4gMSBiaXp6ZXJkLjwvaT4KCQkJCQkJCgkJCQkJCTxicj48YnI+CgkJCQkJCgkJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5LdkstbnVtbWVyOjwvZGl2PgoJCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0na3ZrJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9IiI+PGJyPgkKCQkJCQkJCQkJCQkKCQkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPkJ0dy1udW1tZXI6PC9kaXY+CgkJCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdidHcnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyB2YWx1ZT0iIj48YnI+CQoJCQkJCQkJCQkJCQoJCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+QmFua3Jla2VuaW5nbnVtbWVyOjwvZGl2PgoJCQkJCQk8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nYmFua3Jla2VuaW5nJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgdmFsdWU9IiI+PGJyPgkKCgkJCQkJPC9kaXY+CgkJCQkJCgkJCQkJCgkJCQkJPGEgaHJlZj0namF2YXNjcmlwdDogb3BlbkJld2Vya2VuX3N1YigxKTsnIGNsYXNzPSdhY2NvcmRlb25fc3ViJz48aW1nIHNyYz0nL2ltYWdlcy9sYXlvdXQvc3ViX2Fycm93X2JpenplcmQucG5nJyB3aWR0aD0nMTMnIGhlaWdodD0nMTMnIGlkPSdzdWJfaWNvbl8xJyBhbGlnbj0nYWJzbWlkZGxlJz4gQ1Y8L2E+CgkJCQkJPGRpdiBpZD0nYmV3ZXJrZW5fc3ViXzEnIGNsYXNzPSdiZXdlcmtlbl9kaXZfc3ViJz4KCQkJCQkJCgkJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5DVjwvZGl2PgoJCQkJCQk8dGV4dGFyZWEgbmFtZT0nY3YnIG9ua2V5dXA9J2luaXRGcmFtZVJlbG9hZFBhZ2UoImN2Iik7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dGFyZWEnIHN0eWxlPSdoZWlnaHQ6IDMwMHB4Oyc+PC90ZXh0YXJlYT4KCQkJCQkJPGJyPgoJCQkJCQk8YSBocmVmPSJqYXZhc2NyaXB0OiBkb2N1bWVudC5waG9uZUZvcm0uY3YudmFsdWUgKz0gJ1tQZXJzb25hbCBxdWFsaXR5XVxuPmFcbj5iXG4+Y1xuPmRcblxuW1NraWxsc11cbj5hXG4+YlxuPmNcbj5kXG4tLS1cbkxhbmd1YWdlczpcbkNvbXB1dGVyc2tpbGxzOlxuXG5bV29yayBleHBlcmllbmNlXVxuPmFcbj5iXG4+Y1xuPmRcblxuW0VkdWNhdGlvbiAmIENvdXJzZXNdXG4+YVxuPmJcbj5jXG5cbltPdGhlciBhY3Rpdml0aWVzXVxuPiBIb2JieVxuPiBTcG9ydFxuPiBWb2x1bnRlZXIgd29ya1xuXG5bUmVmZXJlbmNlc11cbj5OYW1lIGFuZCBwb3NpdGlvblxuPk5hbWUgYW5kIHBvc2l0aW9uJzsgaW5pdEZyYW1lUmVsb2FkUGFnZSgnY3YnKTsgdm9pZCgwKTsiPkFkZCBhIGRlZmF1bHQgQ1Y8L2E+PGJyPgoKCQkJCQkJPCEtLTxhIGhyZWY9J2phdmFzY3JpcHQ6IGluaXRGcmFtZVJlbG9hZFBhZ2UoImN2Iik7IHZvaWQoMCk7Jz5WaWV3IENWIChTbWFydHBob25lIG9uIHRoZSByaWdodCBzaWRlKTwvYT48YnI+PGJyPi0tPgoJCQkJCQkKCQkJCQkJPGJyPgoJCQkJCQkKCQkJCQkJCgkJCQkKCQkJCTxiPlRpcHM6PC9iPgoJCQkJPHVsIHN0eWxlPSdtYXJnaW46IDBweDsgcGFkZGluZzogMThweDsnPgoJCQkJCTxsaT5UeXBlIGEgdGl0bGUgYmV0d2VlbiBzcXVhcmUgYnJhY2tldHMgKCBbdGl0bGVdICkgdG8gc2hvdyB0aGUgdGl0bGUgaW4gYSBiaWcgZm9udCE8L2xpPgoJCQkJCTxsaT5UeXBlIGEgYmlnZ2VyIHRoYW4gc2lnbiAoID4gKSBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgc2VudGVuY2UgdG8gY3JlYXRlIGEgbGlzdC48L2xpPgoJCQkJCTxsaT5UeXBlIHRocmVlIG1pbnVzIHNpZ25zICggLS0tICkgdG8gY3JlYXRlIGEgc2VwYXJhdGlvbiBsaW5lLjwvbGk+CgkJCQk8dWw+CgkJCQkJCgkJCQkKCQkJCQkJCgkJCQkJPC9kaXY+CgoJCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbl9zdWIoMik7JyBjbGFzcz0nYWNjb3JkZW9uX3N1Yic+PGltZyBzcmM9Jy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvd19iaXp6ZXJkLnBuZycgd2lkdGg9JzEzJyBoZWlnaHQ9JzEzJyBpZD0nc3ViX2ljb25fMicgYWxpZ249J2Fic21pZGRsZSc+IFRla3N0ZW48L2E+CgkJCQkJPGRpdiBpZD0nYmV3ZXJrZW5fc3ViXzInIGNsYXNzPSdiZXdlcmtlbl9kaXZfc3ViJz4KCQkJCQkJCgkJCQkJCTxiPk5vdGU6PC9iPiBMZWF2ZSB0aGUgZmllbGRzIGJlbG93IGJsYW5rIHRvIHVzZSB0aGUgZGVmYXVsdCBzeXN0ZW0gdGV4dHMgKHJlY29tbWVuZGVkISkKCQkJCQkJCgkJCQkJCTxicj48YnI+CgkJCQkJCQoJCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+VGV4dCB3aGVuIHNoYXJpbmcgdmlhIFNNUzo8L2Rpdj4KCQkJCQkJPHRleHRhcmVhIG5hbWU9J3RleHRfZGVlbF9zbXMnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0YXJlYScgc3R5bGU9J2hlaWdodDogMTEwcHg7Jz48L3RleHRhcmVhPgoJCQkJCQkKCQkJCQkJPGJyPgoJCQkJCQkKCQkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPlN1YmplY3QgbWFpbCwgd2hlbiBzaGFyaW5nIHZpYSBlLW1haWw6PC9kaXY+CgkJCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd0ZXh0X2RlZWxfZW1haWxfc3ViamVjdCcgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHZhbHVlPSIiPgoJCQkJCQkKCQkJCQkJPGJyPgoJCQkJCQkKCQkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPk1lc3NhZ2UgbWFpbCwgd2hlbiBzaGFyaW5nIHZpYSBlLW1haWw6PC9kaXY+CgkJCQkJCTx0ZXh0YXJlYSBuYW1lPSd0ZXh0X2RlZWxfZW1haWwnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0YXJlYScgc3R5bGU9J2hlaWdodDogMTUwcHg7Jz48L3RleHRhcmVhPgoJCQkJCQkJCQkJCQkJCQkKCQkJCQkJPGJyPgoJCQkJCQkKCQkJCQkJPGI+VGlwczo8L2I+CgkJCQkJCTx1bCBzdHlsZT0nbWFyZ2luOiAwcHg7IHBhZGRpbmc6IDE4cHg7Jz4KCQkJCQkJCTxsaT5+bmFhbX4sIHdpbGwgYmUgcmVwbGFjZWQgYnkgeW91ciBuYW1lLjwvbGk+CgkJCQkJCQk8bGk+fmxpbmt+LCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSB1cmwgb2YgeW91ciBjYXJkLjwvbGk+CgkJCQkJCQk8bGk+fm9udHZhbmdlcn4sIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIHJlY2VpdmVycyBuYW1lIChvbmx5IHdoZW4gc2VuZCBieSBlLW1haWwpLjwvbGk+CgkJCQkJCQk8bGk+fnZlcnplbmRlcn4sIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIG5hbWUgb2YgdGhlIHNlbmRlciAob25seSB3aGVuIHNlbmQgYnkgZS1tYWlsLik8L2xpPgoJCQkJCQkJPGxpPn5iZXJpY2h0fiwgd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgcGVyc29uYWwgbWVzc2FnZSBvZiB0aGUgc2VuZGVyIChvbmx5IHdoZW4gc2VuZCBieSBlLW1haWwpLjwvbGk+CgkJCQkJCTx1bD4KCgkJCQkJPC9kaXY+CgoJCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbl9zdWIoMyk7JyBjbGFzcz0nYWNjb3JkZW9uX3N1Yic+PGltZyBzcmM9Jy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvd19iaXp6ZXJkLnBuZycgd2lkdGg9JzEzJyBoZWlnaHQ9JzEzJyBpZD0nc3ViX2ljb25fMycgYWxpZ249J2Fic21pZGRsZSc+IEV4dHJhIGxpbmtzPC9hPgoJCQkJCTxkaXYgaWQ9J2Jld2Vya2VuX3N1Yl8zJyBjbGFzcz0nYmV3ZXJrZW5fZGl2X3N1Yic+CgkJCQkJCgkJCQkJCTxpPlRoZSBleHRyYSBsaW5rcyB3aWxsIGJlIHNob3duIG9uIHlvdXIgYml6emVyZC4gWW91IGNhbiBhZGQgbGlua3MgdG8gaW1wb3J0YW50IHBhZ2VzLCBsaWtlIHlvdXIgcHJvZHVjdCBvZmZlciwgcmVmZXJlbmNlcywgbW9yZSBpbmZvLCB0ZXJtcyBhbmQgY29uZGl0aW9ucywgZXRjLjwvaT4KCQkJCQkJCgkJCQkJCTxicj48YnI+CgkJCQkJCQoJCQkJCQkKCQkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+TGluayAxOjwvZGl2PgoJCQkJCTxzcGFuIGNsYXNzPSdiaWdmb250JyBzdHlsZT0nZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNzVweDsnPlRpdGxlOjwvc3Bhbj4gPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2V4dHJhbGluazFfdGl0ZWwnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyBzdHlsZT0nd2lkdGg6IDE1MHB4OycgIHZhbHVlPSIiPjxicj4KCQkJCQkKCQkJCQk8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J2V4dHJhbGluazFfdHlwZScgdmFsdWU9J2xpbmsnIG9uY2xpY2s9J3Nob3dNZSgiZXh0cmFsaW5rMV9kaXYxIik7IGhpZGVNZSgiZXh0cmFsaW5rMV9kaXYyIik7JyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyA+IExpbmsgJm5ic3A7Jm5ic3A7Jm5ic3A7CgkJCQkJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdleHRyYWxpbmsxX3R5cGUnIHZhbHVlPSdwYWdlJyBvbmNsaWNrPSdoaWRlTWUoImV4dHJhbGluazFfZGl2MSIpOyBzaG93TWUoImV4dHJhbGluazFfZGl2MiIpOycgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgPiBQYWdlIG9uIGJpenplcmQKCQkJCQkKCQkJCQk8YnI+CgkJCQkJCgkJCQkJPGRpdiBpZD0nZXh0cmFsaW5rMV9kaXYxJyBjbGFzcz0nZXh0cmFsaW5rX2Rpdicgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4KCQkJCQkKCQkJCQkJPGJyPgoJCQkJCQk8c3BhbiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J2Rpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDc1cHg7Jz5MaW5rOjwvc3Bhbj4gPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2V4dHJhbGluazEnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyBzdHlsZT0nd2lkdGg6IDE1MHB4OycgdmFsdWU9IiI+CgkJCQkJCQoJCQkJCTwvZGl2PgoKCQkJCQk8ZGl2IGlkPSdleHRyYWxpbmsxX2RpdjInIGNsYXNzPSdleHRyYWxpbmtfZGl2JyBzdHlsZT0nZGlzcGxheTogbm9uZTsnPgoJCQkJCQoJCQkJCTxicj48aT5UaGlzIGZlYXR1cmUgaXMgZXhjbHVzaXZlIHRvIHBheWluZyBjdXN0b21lcnMuPC9pPjxicj4KCQkJCQkKCQkJCQk8L2Rpdj4KCQkJCQkKCQkJCQk8YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPkxpbmsgMjo8L2Rpdj4KCQkJCQk8c3BhbiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J2Rpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDc1cHg7Jz5UaXRsZTo8L3NwYW4+IDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdleHRyYWxpbmsyX3RpdGVsJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgc3R5bGU9J3dpZHRoOiAxNTBweDsnICB2YWx1ZT0iIj48YnI+CgkJCQkJCgkJCQkJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdleHRyYWxpbmsyX3R5cGUnIHZhbHVlPSdsaW5rJyBvbmNsaWNrPSdzaG93TWUoImV4dHJhbGluazJfZGl2MSIpOyBoaWRlTWUoImV4dHJhbGluazJfZGl2MiIpOycgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgPiBMaW5rICZuYnNwOyZuYnNwOyZuYnNwOwoJCQkJCTxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0nZXh0cmFsaW5rMl90eXBlJyB2YWx1ZT0ncGFnZScgb25jbGljaz0naGlkZU1lKCJleHRyYWxpbmsyX2RpdjEiKTsgc2hvd01lKCJleHRyYWxpbmsyX2RpdjIiKTsnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnID4gUGFnZSBvbiBiaXp6ZXJkCgkJCQkJCgkJCQkJPGJyPgoJCQkJCQoJCQkJCTxkaXYgaWQ9J2V4dHJhbGluazJfZGl2MScgY2xhc3M9J2V4dHJhbGlua19kaXYnIHN0eWxlPSdkaXNwbGF5OiBub25lOyc+CgkJCQkJCgkJCQkJCTxicj4KCQkJCQkJPHNwYW4gY2xhc3M9J2JpZ2ZvbnQnIHN0eWxlPSdkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA3NXB4Oyc+TGluazo8L3NwYW4+IDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdleHRyYWxpbmsyJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dCcgc3R5bGU9J3dpZHRoOiAxNTBweDsnIHZhbHVlPSIiPgoJCQkJCQkKCQkJCQk8L2Rpdj4KCgkJCQkJPGRpdiBpZD0nZXh0cmFsaW5rMl9kaXYyJyBjbGFzcz0nZXh0cmFsaW5rX2Rpdicgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4KCQkJCQkKCQkJCQk8YnI+PGk+VGhpcyBmZWF0dXJlIGlzIGV4Y2x1c2l2ZSB0byBwYXlpbmcgY3VzdG9tZXJzLjwvaT48YnI+CgkJCQkJCgkJCQkJPC9kaXY+CgkJCQkJCgkJCQkJPGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5MaW5rIDM6PC9kaXY+CgkJCQkJPHNwYW4gY2xhc3M9J2JpZ2ZvbnQnIHN0eWxlPSdkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA3NXB4Oyc+VGl0bGU6PC9zcGFuPiA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZXh0cmFsaW5rM190aXRlbCcgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHN0eWxlPSd3aWR0aDogMTUwcHg7JyAgdmFsdWU9IiI+PGJyPgoJCQkJCQoJCQkJCTxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0nZXh0cmFsaW5rM190eXBlJyB2YWx1ZT0nbGluaycgb25jbGljaz0nc2hvd01lKCJleHRyYWxpbmszX2RpdjEiKTsgaGlkZU1lKCJleHRyYWxpbmszX2RpdjIiKTsnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnID4gTGluayAmbmJzcDsmbmJzcDsmbmJzcDsKCQkJCQk8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J2V4dHJhbGluazNfdHlwZScgdmFsdWU9J3BhZ2UnIG9uY2xpY2s9J2hpZGVNZSgiZXh0cmFsaW5rM19kaXYxIik7IHNob3dNZSgiZXh0cmFsaW5rM19kaXYyIik7JyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyA+IFBhZ2Ugb24gYml6emVyZAoJCQkJCQoJCQkJCTxicj4KCQkJCQkKCQkJCQk8ZGl2IGlkPSdleHRyYWxpbmszX2RpdjEnIGNsYXNzPSdleHRyYWxpbmtfZGl2JyBzdHlsZT0nZGlzcGxheTogbm9uZTsnPgoJCQkJCQoJCQkJCQk8YnI+CgkJCQkJCTxzcGFuIGNsYXNzPSdiaWdmb250JyBzdHlsZT0nZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNzVweDsnPkxpbms6PC9zcGFuPiA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZXh0cmFsaW5rMycgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHQnIHN0eWxlPSd3aWR0aDogMTUwcHg7JyB2YWx1ZT0iIj4KCQkJCQkJCgkJCQkJPC9kaXY+CgoJCQkJCTxkaXYgaWQ9J2V4dHJhbGluazNfZGl2MicgY2xhc3M9J2V4dHJhbGlua19kaXYnIHN0eWxlPSdkaXNwbGF5OiBub25lOyc+CgkJCQkJCgkJCQkJPGJyPjxpPlRoaXMgZmVhdHVyZSBpcyBleGNsdXNpdmUgdG8gcGF5aW5nIGN1c3RvbWVycy48L2k+PGJyPgoJCQkJCQoJCQkJCTwvZGl2PgoJCQkJCQoJCQkJCTxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+TGluayA0OjwvZGl2PgoJCQkJCTxzcGFuIGNsYXNzPSdiaWdmb250JyBzdHlsZT0nZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNzVweDsnPlRpdGxlOjwvc3Bhbj4gPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2V4dHJhbGluazRfdGl0ZWwnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyBzdHlsZT0nd2lkdGg6IDE1MHB4OycgIHZhbHVlPSIiPjxicj4KCQkJCQkKCQkJCQk8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J2V4dHJhbGluazRfdHlwZScgdmFsdWU9J2xpbmsnIG9uY2xpY2s9J3Nob3dNZSgiZXh0cmFsaW5rNF9kaXYxIik7IGhpZGVNZSgiZXh0cmFsaW5rNF9kaXYyIik7JyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyA+IExpbmsgJm5ic3A7Jm5ic3A7Jm5ic3A7CgkJCQkJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdleHRyYWxpbms0X3R5cGUnIHZhbHVlPSdwYWdlJyBvbmNsaWNrPSdoaWRlTWUoImV4dHJhbGluazRfZGl2MSIpOyBzaG93TWUoImV4dHJhbGluazRfZGl2MiIpOycgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgPiBQYWdlIG9uIGJpenplcmQKCQkJCQkKCQkJCQk8YnI+CgkJCQkJCgkJCQkJPGRpdiBpZD0nZXh0cmFsaW5rNF9kaXYxJyBjbGFzcz0nZXh0cmFsaW5rX2Rpdicgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4KCQkJCQkKCQkJCQkJPGJyPgoJCQkJCQk8c3BhbiBjbGFzcz0nYmlnZm9udCcgc3R5bGU9J2Rpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDc1cHg7Jz5MaW5rOjwvc3Bhbj4gPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2V4dHJhbGluazQnIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0JyBzdHlsZT0nd2lkdGg6IDE1MHB4OycgdmFsdWU9IiI+CgkJCQkJCQoJCQkJCTwvZGl2PgoKCQkJCQk8ZGl2IGlkPSdleHRyYWxpbms0X2RpdjInIGNsYXNzPSdleHRyYWxpbmtfZGl2JyBzdHlsZT0nZGlzcGxheTogbm9uZTsnPgoJCQkJCQoJCQkJCTxicj48aT5UaGlzIGZlYXR1cmUgaXMgZXhjbHVzaXZlIHRvIHBheWluZyBjdXN0b21lcnMuPC9pPjxicj4KCQkJCQkKCQkJCQk8L2Rpdj4KCQkJCQkKCQkJCQk8YnI+CgkJCQkJCgkJCQkJCgkJCQkJCQoJCQkJCTwvZGl2PgoKCQkJCQk8YSBocmVmPSdqYXZhc2NyaXB0OiBvcGVuQmV3ZXJrZW5fc3ViKDQpOycgY2xhc3M9J2FjY29yZGVvbl9zdWInPjxpbWcgc3JjPScvaW1hZ2VzL2xheW91dC9zdWJfYXJyb3dfYml6emVyZC5wbmcnIHdpZHRoPScxMycgaGVpZ2h0PScxMycgaWQ9J3N1Yl9pY29uXzQnIGFsaWduPSdhYnNtaWRkbGUnPiBFeHRyYSB0ZXh0czwvYT4KCQkJCQk8ZGl2IGlkPSdiZXdlcmtlbl9zdWJfNCcgY2xhc3M9J2Jld2Vya2VuX2Rpdl9zdWInPgoJCQkJCQoJCQkJCQk8aT5Tb21lIGN1c3RvbSBjYXJkcyBjb250YWluIGV4dHJhIHRleHRzIHRoYXQgY2FuIGRpZmZlciBwZXIgdXNlci48L2k+CgkJCQkJCQoJCQkJCQk8YnI+PGJyPgoKCQkJCQkJPGRpdiBjbGFzcz0nc3RhcGZvcm1fdGl0bGUnPkV4dHJhIHRleHQgMTo8L2Rpdj4KCQkJCQkJPHRleHRhcmVhIG5hbWU9J2V4dHJhdGVrc3QxJyBvbmNoYW5nZT0naW5pdEZyYW1lUmVsb2FkKCk7JyBjbGFzcz0nc3RhcGZvcm1fdGV4dGFyZWEnIHN0eWxlPSdoZWlnaHQ6IDIwMHB4Oyc+PC90ZXh0YXJlYT4KCQkJCQkJCQoJCQkJCQk8ZGl2IGNsYXNzPSdzdGFwZm9ybV90aXRsZSc+RXh0cmEgdGV4dCAyOjwvZGl2PgoJCQkJCQk8dGV4dGFyZWEgbmFtZT0nZXh0cmF0ZWtzdDInIG9uY2hhbmdlPSdpbml0RnJhbWVSZWxvYWQoKTsnIGNsYXNzPSdzdGFwZm9ybV90ZXh0YXJlYScgc3R5bGU9J2hlaWdodDogMjAwcHg7Jz48L3RleHRhcmVhPgoJCQkJCQkJCgkJCQkJCTxkaXYgY2xhc3M9J3N0YXBmb3JtX3RpdGxlJz5FeHRyYSB0ZXh0IDM6PC9kaXY+CgkJCQkJCTx0ZXh0YXJlYSBuYW1lPSdleHRyYXRla3N0Mycgb25jaGFuZ2U9J2luaXRGcmFtZVJlbG9hZCgpOycgY2xhc3M9J3N0YXBmb3JtX3RleHRhcmVhJyBzdHlsZT0naGVpZ2h0OiAyMDBweDsnPjwvdGV4dGFyZWE+CgkJCQkJCQkKCQkJCQkJCgkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJCQkJCQoJCQkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IG9wZW5CZXdlcmtlbig3KTsnIGNsYXNzPSdidXR0b24nPmNvbnRpbnVlPC9hPgoJCQkJCgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9J2Jld2Vya2VuX2Rpdl9lbmQnPjwvZGl2PgoJCQkJCgkJCQkKCQkJCTxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPgkKCgoJCQkJZnVuY3Rpb24gb3BlbkJld2Vya2VuKHdlbGtlKQoJCQkJewoJCQkJCXdoaWxlKHdlbGtlIDw9NiAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmV3ZXJrZW5fdGFiXycgKyB3ZWxrZSkuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnKXsKCQkJCQkJd2Vsa2UgKz0gMTsKCQkJCQl9CgkJCQkJCgkJCQkJZm9yKGkgPSAwOyBpIDw9IDY7IGkrKykKCQkJCQl7CgkJCQkJCWlmKGkgPT0gd2Vsa2UpCgkJCQkJCXsKCQkJCQkJCXZhciBpc1Zpc2libGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmV3ZXJrZW4nICsgaSkub2Zmc2V0V2lkdGggPiAwIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZXdlcmtlbicgKyBpKS5vZmZzZXRIZWlnaHQgPiAwOwoJCQkJCQkJCgkJCQkJCQlpZihpc1Zpc2libGUpCgkJCQkJCQl7CgkJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jld2Vya2VuX2ljb25fJyArIGkpLnNyYyA9ICcvaW1hZ2VzL2xheW91dC9zdWJfYXJyb3dfYml6emVyZC5wbmcnOwoJCQkJCQkJCS8vZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ljb25fbGlua18nICsgaSkuY2xhc3NOYW1lID0gJ2ljb25fbGlua18yJzsgCgkJCQkJCQl9CgkJCQkJCQllbHNlCgkJCQkJCQl7CgkJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jld2Vya2VuX2ljb25fJyArIGkpLnNyYyA9ICcvaW1hZ2VzL2xheW91dC9zdWJfYXJyb3cyX2JpenplcmQucG5nJzsKCQkJCQkJCQkvL2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY29uX2xpbmtfJyArIGkpLmNsYXNzTmFtZSA9ICdpY29uX2xpbmtfMic7IAoJCQkJCQkJfQoJCQkJCQkKCQkJCQkJCXRvZ2dsZU1lKCdiZXdlcmtlbicgKyBpKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZXdlcmtlbl9pY29uXycgKyBpKS5zcmMgPSAnL2ltYWdlcy9sYXlvdXQvc3ViX2Fycm93X2JpenplcmQucG5nJzsKCgkJCQkJCQloaWRlTWUoJ2Jld2Vya2VuJyArIGkpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlmdW5jdGlvbiBvcGVuQmV3ZXJrZW5fc3ViKHdlbGtlKQoJCQkJewoJCQkJCQoJCQkJCWZvcihpID0gMDsgaSA8PSA1OyBpKyspCgkJCQkJewoJCQkJCQlpZihpID09IHdlbGtlKQoJCQkJCQl7CgkJCQkJCQl2YXIgaXNWaXNpYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jld2Vya2VuX3N1Yl8nICsgaSkub2Zmc2V0V2lkdGggPiAwIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZXdlcmtlbl9zdWJfJyArIGkpLm9mZnNldEhlaWdodCA+IDA7CgkJCQkJCQlpZihpc1Zpc2libGUpIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJfaWNvbl8nICsgaSkuc3JjID0gJy9pbWFnZXMvbGF5b3V0L3N1Yl9hcnJvd19iaXp6ZXJkLnBuZyc7IGVsc2UgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Yl9pY29uXycgKyBpKS5zcmMgPSAnL2ltYWdlcy9sYXlvdXQvc3ViX2Fycm93Ml9iaXp6ZXJkLnBuZyc7CgoJCQkJCQkJdG9nZ2xlTWUoJ2Jld2Vya2VuX3N1Yl8nICsgaSk7CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ViX2ljb25fJyArIGkpLnNyYyA9ICcvaW1hZ2VzL2xheW91dC9zdWJfYXJyb3dfYml6emVyZC5wbmcnOwoKCQkJCQkJCWhpZGVNZSgnYmV3ZXJrZW5fc3ViXycgKyBpKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCQkJCQkKCQkJCWZ1bmN0aW9uIHVwZGF0ZU5hYW1EaXYoKQoJCQkJewoJCQkJCXZvbE5hYW0gPSBkb2N1bWVudC5waG9uZUZvcm0udm9vcnZvZWdzZWwudmFsdWUgKyAnICcgKyBkb2N1bWVudC5waG9uZUZvcm0udm9vcm5hYW0udmFsdWUgKyAnICcgKyBkb2N1bWVudC5waG9uZUZvcm0udHVzc2Vudm9lZ3NlbC52YWx1ZSArICcgJyArIGRvY3VtZW50LnBob25lRm9ybS5hY2h0ZXJuYWFtLnZhbHVlOwoJCQkJCQoJCQkJCWV4dHJhSFRNTCA9ICc8YnI+PGJyPjxzcGFuIHN0eWxlPSJUaGlzIGlzIGhvdyB5b3VyIGZ1bGwgbmFtZSB3aWxsIGJlIHNob3duOjwvaT48L3NwYW4+PGJyPicgKyB2b2xOYWFtOwoJCQkJCWV4dHJhSFRNTCA9ICcnOwoJCQkJCQoJCQkJCWlmKHZvbE5hYW0gPT0gJyAgICcpIGV4dHJhSFRNTCA9ICcnOwoJCQkJCQoJCQkJCWlmKCFjaGVja05hYW0oZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWUpKQoJCQkJCXsKCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hYW1EaXYnKS5pbm5lckhUTUwgPSAnPGZvbnQgc3R5bGU9ImNvbG9yOiAjRkYwMDAwOyI+VGhpcyBiaXp6ZXJkIG5hbWUgYWxyZWFkeSBleGlzdHMhPC9mb250PicgKyBleHRyYUhUTUw7CgkJCQkJfQoJCQkJCWVsc2UgaWYoZG9jdW1lbnQucGhvbmVGb3JtLnZvb3JuYWFtLnZhbHVlID09ICcnICYmIGRvY3VtZW50LnBob25lRm9ybS5hY2h0ZXJuYWFtLnZhbHVlID09ICcnICYmIGRvY3VtZW50LnBob25lRm9ybS5uYWFtLnZhbHVlID09ICcnKQoJCQkJCXsgCgkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYWFtRGl2JykuaW5uZXJIVE1MID0gJ0FkZCBhdGxlYXN0IHlvdXIgZmlyc3QgYW5kIGxhc3QgbmFtZSB0byBzZWUgeW91ciBiaXp6ZXJkIGFkZHJlc3MuJyArIGV4dHJhSFRNTDsKCQkJCQl9CQkJCQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWlmKGRvY3VtZW50LnBob25lRm9ybS5uYWFtLnZhbHVlID09ICcnKQoJCQkJCQl7IAoJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hYW1EaXYnKS5pbm5lckhUTUwgPSAnPGZvbnQgc3R5bGU9ImNvbG9yOiAjRkYwMDAwOyI+Tm8gc3VnZ2VzdGlvbnMgYXZhaWxhYmxlLCBvciB0aGUgYml6emVyZCBuYW1lIGFscmVhZHkgZXhpc3RzISBQbGVhc2UgZW50ZXIgYSBiaXp6ZXJkIG5hbWUgeW91cnNlbGYgaW4gdGhlIHRleHRmaWVsZCBhYm92ZS4gWW91IG1pZ2h0IHdhbnQgdG8gdGhpbmsgb2YgYSBuYW1lIGVhc3kgZW5vdWdoIHRvIHR5cGUgb24gYSBwaG9uZS48L2ZvbnQ+JyArIGV4dHJhSFRNTDsKCQkJCQkJCQoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hYW1EaXYnKS5pbm5lckhUTUwgPSAnPHNwYW4+JyArIGRvY3VtZW50LnBob25lRm9ybS5jX25hYW0udmFsdWUgKyAnLmJpenplcmQuY29tLycgKyAnPC9zcGFuPjxiPicgKyBkb2N1bWVudC5waG9uZUZvcm0ubmFhbS52YWx1ZSArICc8L2I+JyArIGV4dHJhSFRNTDsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJCgkJCQlmdW5jdGlvbiBzdWdnZXN0TmFhbSgpCgkJCQl7CgkJCQkJaWYoZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWUgIT0gc3RhcnR2YWwgfHwgc3RhcnR2YWwgPT0gJycpCgkJCQkJewoJCQkJCQluaWV1d2VuYWFtID0gJyc7CgkJCQkJCQoJCQkJCQlhY2h0ZXJuYWFtID0gY2xlYW5OYWFtKGRvY3VtZW50LnBob25lRm9ybS5hY2h0ZXJuYWFtLnZhbHVlKTsKCQkJCQkJdm9vcm5hYW0gPSBjbGVhbk5hYW0oZG9jdW1lbnQucGhvbmVGb3JtLnZvb3JuYWFtLnZhbHVlKTsKCQkJCQkJdm9vcmxldHRlciA9IHZvb3JuYWFtLnN1YnN0cigwLDEpOwoJCQkJCQl0dXNzZW52b2Vnc2VsID0gY2xlYW5OYWFtKGRvY3VtZW50LnBob25lRm9ybS50dXNzZW52b2Vnc2VsLnZhbHVlKTsKCQkJCQkJdHVzc2Vudm9lZ3NlbCA9IHR1c3NlbnZvZWdzZWwuc3Vic3RyKDAsMSk7CgkJCQkJCQoJCQkJCQlpZihhY2h0ZXJuYWFtID09ICcnKQoJCQkJCQl7CgkJCQkJCQlpZihjaGVja05hYW0odm9vcm5hYW0pKSBuaWV1d2VuYWFtID0gdm9vcm5hYW07CQkJCQkJCgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CQkJCQkJCgkJCQkJCQlpZihjaGVja05hYW0oYWNodGVybmFhbSkpIG5pZXV3ZW5hYW0gPSBhY2h0ZXJuYWFtOwoJCQkJCQkJZWxzZSBpZihjaGVja05hYW0odm9vcmxldHRlciArICcuJyArIGFjaHRlcm5hYW0pKSBuaWV1d2VuYWFtID0gdm9vcmxldHRlciArICcuJyArIGFjaHRlcm5hYW07CgkJCQkJCQllbHNlIGlmKGNoZWNrTmFhbSh2b29ybmFhbSArICcuJyArIGFjaHRlcm5hYW0pKSBuaWV1d2VuYWFtID0gdm9vcm5hYW0gKyAnLicgKyBhY2h0ZXJuYWFtOwoJCQkJCQkJZWxzZSBpZihjaGVja05hYW0odm9vcmxldHRlciArICcuJyArIHR1c3NlbnZvZWdzZWwgKyAnLicgKyBhY2h0ZXJuYWFtKSkgbmlldXdlbmFhbSA9IHZvb3JsZXR0ZXIgKyAnLicgKyB0dXNzZW52b2Vnc2VsICsgJy4nICsgYWNodGVybmFhbTsKCQkJCQkJfQoJCQkJCQkKCQkJCQkJZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWUgPSBuaWV1d2VuYWFtOwoJCQkJCgkJCQkJCXVwZGF0ZU5hYW1EaXYoKTsKCQkJCQl9CgkJCQl9CgkJCQkKCQkJCWZ1bmN0aW9uIGNsZWFuTmFhbShuKQoJCQkJewkJCQkKCQkJCQkvLyBuID0gZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWU7CgkJCQkJCQkJCQoJCQkJCW4gPSBuLnRvTG93ZXJDYXNlKCk7CgoJCQkJCS8vIG4gPSBuLnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCcuJyk7CgkJCQkJCgkJCQkJLy8gbiA9IG4uc3BsaXQoJyAnKS5qb2luKCcuJyk7CgkJCQkJLy8gbiA9IG4uc3BsaXQoJy0nKS5qb2luKCcuJyk7CgkJCQkJLy8gbiA9IG4uc3BsaXQoJ18nKS5qb2luKCcuJyk7CgkJCQkJCgkJCQkJLy8gZm9yKGkgPSAwOyBpIDwgMTAwOyBpKyspIHsgbiA9IG4uc3BsaXQoJy4uJykuam9pbignLicpOyB9CgkJCQkJCgkJCQkJLy9kb2N1bWVudC5waG9uZUZvcm0ubmFhbS52YWx1ZSA9IG47CgkKCQkJCQluID0gbi5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmXS9nLCAnJykucmVwbGFjZSgvKFteXHddK3xccyspL2csICcnKS5yZXBsYWNlKC9cLVwtKy9nLCAnJykucmVwbGFjZSgvKF4tK3wtKyQpL2csICcnKTsKCQkJCQkKCQkJCQlyZXR1cm4obik7CgkJCQl9CgkJCQkKCQkJCWZ1bmN0aW9uIGNsZWFuTmFhbTIobikKCQkJCXsJCQkJCgkJCQkJLy8gbiA9IGRvY3VtZW50LnBob25lRm9ybS5uYWFtLnZhbHVlOwoJCQkJCQkJCQkKCQkJCQluID0gbi50b0xvd2VyQ2FzZSgpOwoJCQkJCQoJCQkJCW4gPSBuLnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCcuJyk7CgkJCQkJCgkJCQkJbiA9IG4uc3BsaXQoJyAnKS5qb2luKCcuJyk7CgkJCQkJbiA9IG4uc3BsaXQoJy0nKS5qb2luKCcuJyk7CgkJCQkJbiA9IG4uc3BsaXQoJ18nKS5qb2luKCcuJyk7CgoJCQkJCW4gPSBuLnNwbGl0KCcuJykuam9pbignJyk7CgkJCQkJCgkJCQkJZm9yKGkgPSAwOyBpIDwgMTAwOyBpKyspIHsgbiA9IG4uc3BsaXQoJy4uJykuam9pbignLicpOyB9CgkJCQkJCgkJCQkJLy9kb2N1bWVudC5waG9uZUZvcm0ubmFhbS52YWx1ZSA9IG47CgkKCQkJCQkKCQkJCQkKCQkJCQlyZXR1cm4obik7CgkJCQl9CgkJCQkKCQkJCWZ1bmN0aW9uIGNoZWNrTmFhbShuKQoJCQkJewoJCQkJCW4gPSBjbGVhbk5hYW0obik7CgkJCQkJCgkJCQkJYmV6ZXQgPSBuZXcgQXJyYXkoKTsKCQkJCWJlemV0WzBdID0gJ3RlbXBsYXRlJzsKCgkJCQkJCQkJCgkJCQkJciA9IHRydWU7CgkJCQkJCQoJCQkJCWZvcihpID0gMDsgaSA8IGJlemV0Lmxlbmd0aDsgaSsrKQoJCQkJCXsKCQkJCQkJaWYobiA9PSBiZXpldFtpXSkKCQkJCQkJewoJCQkJCQkJLy9hbGVydCgnZmFsc2UnKTsKCQkJCQkJCXIgPSBmYWxzZTsKCQkJCQkJfQoJCQkJCQoJCQkJCX0KCQkJCQoJCQkJCQoJCQkJCXJldHVybihyKTsKCQkJCX0KCQkJCQoJCQkJZnVuY3Rpb24gZGlzYWJsZUl0ZW1zKCkKCQkJCXsKCQkJCQoJCQkJCgkJCQkKCgkJCQl9CQoJCQkJCgkJCQlzdGFydHZhbCA9ICd0ZW1wbGF0ZV9iaXp6ZXJkJzsKCQkJCXN1Z2dlc3ROYWFtKCk7CgkJCQl1cGRhdGVOYWFtRGl2KCk7CgkJCQlkaXNhYmxlSXRlbXMoKTsKCQkJCQkJCQoJCQkJPC9zY3JpcHQ+CgkJCQkKCQkJCQoJCQkKCQkJCTxzY3JpcHQ+CgkJCQkKCQkJCWZ1bmN0aW9uIGNoZWNrU3RlcDJFZGl0KG5leHRTdGVwKQoJCQkJewoKCQkJCQlmb3V0ID0gIiI7CgkJCQkJCgkJCQkJLy9hbGVydChkb2N1bWVudC5waG9uZUZvcm0ubmFhbS52YWx1ZSk7CgoKCQkJCQlpZihkb2N1bWVudC5waG9uZUZvcm0uZW1haWwudmFsdWUuc2VhcmNoKC9eXHcrKCgtXHcrKXwoXC5cdyspKSpcQFtBLVphLXowLTldKygoXC58LSlbQS1aYS16MC05XSspKlwuW0EtWmEtejAtOV0rLykgPT0gLTEpICBmb3V0ICs9ICJQbGVhc2UgYWRkIGEgdmFsaWQgRS1tYWlsXG4iOwoJCQkJCQoJCQkJCWlmKGRvY3VtZW50LnBob25lRm9ybS53YWNodHdvb3JkLnZhbHVlICE9IGRvY3VtZW50LnBob25lRm9ybS53YWNodHdvb3JkMi52YWx1ZSkgZm91dCArPSAiVGhlIHBhc3N3b3JkcyBkb24ndCBtYXRjaFxuIjsKCQkJCQkKCQkJCQlpZihmb3V0ID09ICIiKQoJCQkJCXsKCQkJCQkJaWYobmV4dFN0ZXAgPT0gJ1NBVkUnKQoJCQkJCQl7CgkJCQkJCQlkb2N1bWVudC5waG9uZUZvcm0udGFyZ2V0ID0gIl90b3AiOyAKCQkJCQkJCWRvY3VtZW50LnBob25lRm9ybS5hY3Rpb24gPSAic19zYXZlLnBocCI7IAoJCQkJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnN1Ym1pdCgpOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJaWYoY19uYWFtX2Vycm9yID09IDEpCgkJCQkJCQl7IAoJCQkJCQkJCWFsZXJ0KCJQbGVhc2UgaW5zZXJ0IGEgdmFsaWQgY29tcGFueSBuYW1lIik7CgkJCQkJCQl9CgkJCQkJCQllbHNlCgkJCQkJCQl7CgkJCQkJCQkJc2hvd1N0ZXAoMyk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJYWxlcnQoZm91dCk7CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQk8L3NjcmlwdD4JCQkJCgkJCQkKCQkJCQoJCQkJCQkJCQoJCQkJCTxicj4KCQkJCQkKCQkJCQk8YSBocmVmPScjJyBvbmNsaWNrPSdzaG93U3RlcCgxKScgY2xhc3M9J2J1dHRvbl9hbHQnPnByZXZpb3VzPC9hPgoJCQkJCTxhIGhyZWY9JyMnIG9uY2xpY2s9J2NoZWNrU3RlcDJFZGl0KCJORVhUIik7JyBjbGFzcz0nYnV0dG9uJyA+bmV4dDwvYT4KCQkKCQkJCQkKCgoKCgk8L2Rpdj4KCQkKCTxkaXYgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7JyBpZD0nc3RhcDMnPgoKCQk8YnI+PGgxPjxiPlN0YXAgMy48L2I+IENvbnRyb2xlcmVuPC9oMT4JCQkJCgkJQ2hlY2sgYWxsIHlvdXIgZGV0YWlscyBhbmQgdGhlIGRlc2lnbiBiZWxvdy4gPGJyPjxicj4KCQk8IS0tRXIgaXMgb29rIGVlbiBicmVkZXJlICg2NDAgcGl4ZWxzKSB2YXJpYW50IHZvb3IgbW9kZXJuZXJlIHNtYXJ0cGhvbmVzLjxicj4tLT4KCQkKCQk8c2NyaXB0PgoJCQoJCWZ1bmN0aW9uIHNob3dQcmV2aWV3KHdlbGtlKQoJCXsKCQkJCgkJCWlmKHdlbGtlID09IDMyMCkKCQkJewoJCQkJLy90b2dnbGVNZTIoInByZXZpZXczMjAiLCAxKTsKCQkJCS8vdG9nZ2xlTWUyKCJwcmV2aWV3NjQwIiwgMCk7CgkJCQkKCQkJCWRvY3VtZW50LnBob25lRm9ybS50YXJnZXQ9J3Bob25lRnJhbWUyJzsKCQkJCWRvY3VtZW50LnBob25lRm9ybS5zdWJtaXQoKTsKCQkJCQoJCQkJLy9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMzIwIikuY2xhc3NOYW1lID0gInZhcmlhbnRfc2VsZWN0ZWQiOyAKCQkJCS8vZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbjY0MCIpLmNsYXNzTmFtZSA9ICJ2YXJpYW50IjsgCgkJCX0KCQkJCgkJCS8qCgkJCWlmKHdlbGtlID09IDY0MCkKCQkJewoJCQkJdG9nZ2xlTWUyKCJwcmV2aWV3MzIwIiwgMCk7CgkJCQl0b2dnbGVNZTIoInByZXZpZXc2NDAiLCAxKTsKCQkJCQoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRhcmdldD0ncGhvbmVGcmFtZTMnOwoJCQkJZG9jdW1lbnQucGhvbmVGb3JtLnN1Ym1pdCgpOwoJCQkJCgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMzIwIikuY2xhc3NOYW1lID0gInZhcmlhbnQiOyAKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b242NDAiKS5jbGFzc05hbWUgPSAidmFyaWFudF9zZWxlY3RlZCI7IAoJCQl9CQoJCQkqLwoJCQkKCQkJZG9jdW1lbnQucGhvbmVGb3JtLnRhcmdldD0ncGhvbmVGcmFtZSc7CgkJCQkKCQl9CgkJCgkJPC9zY3JpcHQ+CgkJCgoJCTwhLS0KCQk8ZGl2IHN0eWxlPSdtYXJnaW46IDAgYXV0bzsgYWxpZ246IGNlbnRlcjsnPgoKCQkJPGEgaHJlZj0namF2YXNjcmlwdDogc2hvd1ByZXZpZXcoMzIwKTsgdm9pZCgwKTsnIGlkPSdidXR0b24zMjAnIGNsYXNzPSd2YXJpYW50X3NlbGVjdGVkJz4zMjAgdmFyaWFudDwvYT4KCQkJPGEgaHJlZj0namF2YXNjcmlwdDogc2hvd1ByZXZpZXcoNjQwKTsgdm9pZCgwKTsnIGlkPSdidXR0b242NDAnIGNsYXNzPSd2YXJpYW50Jz42NDAgdmFyaWFudDwvYT4KCQkKCQk8L2Rpdj4KCQktLT4KCQkKCQkJCQoJCTxkaXYgaWQ9J3ByZXZpZXczMjAnIGNsYXNzPSdiZ19pcGhvbmUnIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0Oyc+CgkJCgkJCTxkaXYgaWQ9J3ByZXZpZXcyJyBjbGFzcz0naXBob25lJyBzdHlsZT0nbWFyZ2luOiAwIGF1dG87IGFsaWduOiBjZW50ZXI7Jz48aWZyYW1lIGlkPSdwaG9uZUZyYW1lMicgbmFtZT0ncGhvbmVGcmFtZTInIHN0eWxlPSdib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5OyB3aWR0aDogMzIwcHg7IGhlaWdodDogNDgwcHg7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7JyBmcmFtZWJvcmRlcj0nMCcgc3JjPScnIHNjcm9sbGluZz0nbm8nPjwvaWZyYW1lPjwvZGl2PgoJCgkJPC9kaXY+CgkJCgkJCgkJPGRpdiBpZD0ncHJldmlldzY0MCcgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4KCQkKCQkJPGlmcmFtZSBpZD0ncGhvbmVGcmFtZTMnIG5hbWU9J3Bob25lRnJhbWUzJyBzdHlsZT0nd2lkdGg6IDEwMCU7IG1pbi13aWR0aDogNjQwcHg7IGhlaWdodDogNjcwcHg7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7JyBmcmFtZWJvcmRlcj0nMCcgc3JjPScnIHNjcm9sbGluZz0nbm8nPjwvaWZyYW1lPgoJCgkJPC9kaXY+CgkJCgkJPGRpdiBzdHlsZT0naGVpZ2h0OiA3NTBweDsnPjwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9J2JnX2lwaG9uZV9idXR0b25zJz4KCQkKCQkJPGEgaHJlZj0nIycgb25jbGljaz0nc2hvd1N0ZXAoMiknIGNsYXNzPSdidXR0b25fYWx0Jz52b3JpZ2U8L2E+ICZuYnNwOzxhIGhyZWY9JyMnIG9uY2xpY2s9J3Nob3dTdGVwKDQpJyBjbGFzcz0nYnV0dG9uJz5uZXh0PC9hPgoJCQkKCQk8L2Rpdj4KCQoJCTxicj48YnI+PGJyPjxicj48YnI+CgkJCgk8L2Rpdj4KCQoKCQkKCQk8ZGl2IHN0eWxlPSdkaXNwbGF5OiBub25lOycgaWQ9J3N0YXA0Jz48YnI+PGgxPjxiPlN0YXAgNC48L2I+IEtldXplbW9nZWxpamtoZWRlbjwvaDE+CgkJCQkJCQoJCQk8YnI+PGJyPgoJCQkKCQkJCgkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3RlbXBsYXRlX3Bha2tldCcgdmFsdWU9Jyc+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ndGVtcGxhdGVfdm9vcndhYXJkZW4nIHZhbHVlPScwJz4KCQkJCgkJCTxhIGhyZWY9J2phdmFzY3JpcHQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZW1wbGF0ZV9wYWtrZXQxMCIpLmNoZWNrZWQgPSB0cnVlOyBhID0gY2hlY2tQYWtrZXQoKTsgdm9pZCgwKTsnIGNsYXNzPSdwYWtrZXQnPgoJCQkKCQkJCTxkaXYgY2xhc3M9J3Bha2tldF9yYWRpbyc+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSd0ZW1wbGF0ZV9wYWtrZXQnIGlkPSd0ZW1wbGF0ZV9wYWtrZXQxMCcgdmFsdWU9JzEwJyBvbmNsaWNrPSdhID0gY2hlY2tQYWtrZXQoKTsgdm9pZCgwKTsnPjwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ncGFra2V0X3RpdGVsJz5iaXp6ZXJkIHZvb3IgYmVnaW5uZXJzPGRpdiBzdHlsZT0nZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxMnB4Oyc+RGl0IHBha2tldCBiZXN0YWF0IHVpdCAxIGJpenplcmQuIFZvb3IgWlpQJ2VycywgZWVubWFuc2JlZHJpanZlbiBvZiBvbSBiaXp6ZXJkIHVpdCB0ZSB0ZXN0ZW4uPC9kaXY+PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfYWFudGFsJz4wIC0gMSBjYXJkczwvZGl2PgoJCQkJPCEtLWRpdiBjbGFzcz0ncGFra2V0X3JlY2xhbWUnPjxmb250IHN0eWxlPSdjb2xvcjogIzczYmU1Nyc+R2VlbiByZWNsYW1lPC9mb250PjwvZGl2LS0+CgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfYmVkcmFnJz48Yj5HcmF0aXM8L2I+PC9kaXY+CgkJCQkKCQkJPC9hPgoJCQkKCQkJCgkJCQoJCQk8YSBocmVmPSdqYXZhc2NyaXB0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVfcGFra2V0MTIiKS5jaGVja2VkID0gdHJ1ZTsgYSA9IGNoZWNrUGFra2V0KCk7IHZvaWQoMCk7JyBjbGFzcz0ncGFra2V0Jz4KCQkJCgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfcmFkaW8nPjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0ndGVtcGxhdGVfcGFra2V0JyBpZD0ndGVtcGxhdGVfcGFra2V0MTInIHZhbHVlPScxMicgb25jbGljaz0nYSA9IGNoZWNrUGFra2V0KCk7IHZvaWQoMCk7Jz48L2Rpdj4KCQkJCTxkaXYgY2xhc3M9J3Bha2tldF90aXRlbCc+Yml6emVyZCB2b29yIE1LQjxkaXYgc3R5bGU9J2ZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsnPkVlbiBiaXp6ZXJkIHZvb3IgZWVuIGJlZHJpamYgdG90IDEwMCBtZWRld2Vya2VyczwvZGl2PjwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ncGFra2V0X2FhbnRhbCc+MiAtIDEwMCBjYXJkczwvZGl2PgoJCQkJPCEtLWRpdiBjbGFzcz0ncGFra2V0X3JlY2xhbWUnPjxmb250IHN0eWxlPSdjb2xvcjogIzczYmU1Nyc+R2VlbiByZWNsYW1lPC9mb250PjwvZGl2LS0+CgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfYmVkcmFnJz48Yj4mZXVybzswLDQ5IHAucC4vIG1hYW5kPC9iPjwvZGl2PgoJCQkJCgkJCTwvYT4KCQkJCgkJCQoJCQkKCQkJPGEgaHJlZj0namF2YXNjcmlwdDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbXBsYXRlX3Bha2tldDExIikuY2hlY2tlZCA9IHRydWU7IGEgPSBjaGVja1Bha2tldCgpOyB2b2lkKDApOycgY2xhc3M9J3Bha2tldCc+CgkJCQoJCQkJPGRpdiBjbGFzcz0ncGFra2V0X3JhZGlvJz48aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3RlbXBsYXRlX3Bha2tldCcgaWQ9J3RlbXBsYXRlX3Bha2tldDExJyB2YWx1ZT0nMTEnIG9uY2xpY2s9J2EgPSBjaGVja1Bha2tldCgpOyB2b2lkKDApOyc+PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfdGl0ZWwnPmJpenplcmQgZW50ZXJwcmlzZTxkaXYgc3R5bGU9J2ZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTJweDsnPkVlbiBiaXp6ZXJkIHZvb3IgZ3JvdGUgYmVkcmlqdmVuLCBwcmlqcyB3b3JkdCBpbiBvdmVybGVnIGJlcGFhbGQuPC9kaXY+PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfYWFudGFsJz5PbmVpbmRpZzwvZGl2PgoJCQkJPCEtLWRpdiBjbGFzcz0ncGFra2V0X3JlY2xhbWUnPjxmb250IHN0eWxlPSdjb2xvcjogIzczYmU1Nyc+R2VlbiByZWNsYW1lPC9mb250PjwvZGl2LS0+CgkJCQk8ZGl2IGNsYXNzPSdwYWtrZXRfYmVkcmFnJz48Yj5QcmlqcyBvcCBhYW52cmFhZzwvYj48L2Rpdj4KCQkJCQoJCQk8L2E+CgkJCQoJCQkKCQkJCgkJCTxicj4KCQkJCQoJCQk8aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J3RlbXBsYXRlX3Zvb3J3YWFyZGVuJyB2YWx1ZT0nMScgb25jaGFuZ2U9J2IgPSBjaGVja1Bha2tldCgpOyc+IDxiIG9uY2xpY2s9J2FhID0gZG9jdW1lbnQucGhvbmVGb3JtLnRlbXBsYXRlX3Zvb3J3YWFyZGVuOyBhYS5jaGVja2VkID0gIWFhLmNoZWNrZWQ7IGIgPSBjaGVja1Bha2tldCgpOycgc3R5bGU9J2N1cnNvcjogcG9pbnRlcjsnPklrIGdhIGFra29vcmQgbWV0IGRlPC9iPiA8YSBocmVmPSdodHRwOi8vd3d3LmJpenplcmQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAyLzIwMTZfMDFfMTktYml6emVyZC1BbGcudm9vcndhYXJkZW5fbGlua3MxLnBkZicgdGFyZ2V0PSdfYmxhbmsnPjxiPmFsZ2VtZW5lIHZvb3J3YWFyZGVuPC9iPjwvYT4KCQkKCQkJCQoJCQoKCQk8YnI+PGJyPjxicj4KCQkKCQk8c2NyaXB0PgoJCQoJCWZ1bmN0aW9uIGNoZWNrUGFra2V0KCkKCQl7CgkJCQkJCQkJCgkJCWZvdXQgPSAiIjsKCQkJCgkJCWlmKGNfbmFhbV9lcnJvciA9PSAxKSBmb3V0ICs9ICItIE5vIGJpenplcmQgZG9tYWluIGhhcyBiZWVuIGVudGVyZWQgb3IgdGhlIGRvbWFpbiBhbHJlYWR5IGV4aXN0c1xuIjsKCQkJaWYoZG9jdW1lbnQucGhvbmVGb3JtLm5hYW0udmFsdWUgPT0gIiIpIGZvdXQgKz0gIi0gTm8gYml6emVyZCBuYW1lIGhhcyBiZWVuIGVudGVyZWRcbiI7CgkJCWlmKGRvY3VtZW50LnBob25lRm9ybS5lbWFpbC52YWx1ZS5zZWFyY2goL15cdysoKC1cdyspfChcLlx3KykpKlxAW0EtWmEtejAtOV0rKChcLnwtKVtBLVphLXowLTldKykqXC5bQS1aYS16MC05XSsvKSA9PSAtMSkgY29udHJvbGUgPSBjb250cm9sZSArICctIEVtYWlsIGlzIG5vdCB2YWxpZCFcXG4nOwoJCQoJCQl2YXIgcmFkaW9zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ3RlbXBsYXRlX3Bha2tldCcpOwoJCQlnID0gMDsKCQkJCgkJCWZvciAodmFyIGkgPSAwLCBsZW5ndGggPSByYWRpb3MubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIAoJCQl7CgkJCQlpZiAocmFkaW9zW2ldLmNoZWNrZWQpIAoJCQkJewoJCQkJCWcgID0gMTsJCQoKCQkJCQlwYWtrZXRCZWRyYWcgPSBuZXcgQXJyYXkoKTsKCQkJCQkKCQkJCQkKCQkJCQkJCgkJCQkJCXBha2tldEJlZHJhZ1sxXSA9IDA7CgkJCQkJCQoJCQkJCQkKCQkJCQkJCgkJCQkJCXBha2tldEJlZHJhZ1s2XSA9IDEwOwoJCQkJCQkKCQkJCQkJCgkJCQkJCQoJCQkJCQlwYWtrZXRCZWRyYWdbN10gPSAxMDA7CgkJCQkJCQoJCQkJCQkKCQkJCQkJCgkJCQkJCXBha2tldEJlZHJhZ1s5XSA9IDA7CgkJCQkJCQoJCQkJCQkJCQkJCQoJCQkJCS8vYWxlcnQocGFra2V0QmVkcmFnW3JhZGlvc1tpXS52YWx1ZV0gKyAnICgnICsgaSArICcpJyk7CgkJCQkJCQkJCQkKCQkJCQkJCQkJCQoJCQkJCS8vIGlmKHJhZGlvc1tpXS52YWx1ZSA9PSAxKQoJCQkJCQoJCQkJCWlmKHBha2tldEJlZHJhZ1tyYWRpb3NbaV0udmFsdWVdID09IDApIAoJCQkJCXsKCQkJCQkJaGlkZU1lKCJzdGFwNV9iZXRhbGVuIik7CgkJCQkJCXNob3dNZSgic3RhcDVfbmlldGJldGFsZW4iKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJc2hvd01lKCJzdGFwNV9iZXRhbGVuIik7CgkJCQkJCWhpZGVNZSgic3RhcDVfbmlldGJldGFsZW4iKTsKCQkJCQl9CgkJCQkJCgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQkJCgkJCWlmKGcgPT0gMCkgZm91dCArPSAiLSBObyBwYWNrYWdlIGhhcyBiZWVuIGNob3NlblxuIjsKCQkJCgkJCWlmKCFkb2N1bWVudC5waG9uZUZvcm0udGVtcGxhdGVfdm9vcndhYXJkZW4uY2hlY2tlZCkgZm91dCArPSAiLSBUaGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgYXJlIG5vdCB5ZXQgYWNjZXB0ZWRcbiI7CgoJCQkJCQkJCQoJCQlpZihmb3V0ID09ICIiKQoJCQl7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RlcDRfdm9sZ2VuZGUiKS5jbGFzc05hbWUgPSAiYnV0dG9uIjsKCQkJCXJldHVybigiIik7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RlcDRfdm9sZ2VuZGUiKS5jbGFzc05hbWUgPSAiYnV0dG9uX3JlZCI7CgkJCQlyZXR1cm4oIkhldCB2b2xnZW5kZSBpcyBub2cgbmlldCBjb3JyZWN0OlxuXG4iICsgZm91dCk7CgkJCX0KCgoJCQkJCQkKCQl9CQkJCgoKCQlmdW5jdGlvbiBjaGVja1Bha2tldDIoKQoJCXsKCQkJZm91dCA9ICIiOwoJCQkKCQkJdmFyIHJhZGlvcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCd0ZW1wbGF0ZV9wYWtrZXQnKTsKCQkJY29uc29sZS5sb2cocmFkaW9zKTsKCQkJZyA9IDA7CgkJCQoJCQlmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gcmFkaW9zLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSAKCQkJewoJCQkJaWYgKHJhZGlvc1tpXS5jaGVja2VkKSAKCQkJCXsKCQkJCQlnICA9IDE7CQkKCQkJCQljb25zb2xlLmxvZyhyYWRpb3NbaV0udmFsdWUpOwoJCQkJCWlmKHJhZGlvc1tpXS52YWx1ZSA9PSAxMCkKCQkJCQl7CgkJCQkJCWhpZGVNZSgic3RhcDVfYmV0YWxlbiIpOwoJCQkJCQlzaG93TWUoInN0YXA1X25pZXRiZXRhbGVuIik7CgkJCQkJCWhpZGVNZSgic3RhcDVfb2ZmZXJ0ZSIpOwoJCQkJCX0KCQkJCQllbHNlIGlmKHJhZGlvc1tpXS52YWx1ZSA9PSAxMSkKCQkJCQl7CgkJCQkJCWhpZGVNZSgic3RhcDVfYmV0YWxlbiIpOwoJCQkJCQloaWRlTWUoInN0YXA1X25pZXRiZXRhbGVuIik7CgkJCQkJCXNob3dNZSgic3RhcDVfb2ZmZXJ0ZSIpOwoJCQkJCX0KCQkJCQllbHNlCgkJCQkJewoJCQkJCQloaWRlTWUoInN0YXA1X29mZmVydGUiKTsKCQkJCQkJc2hvd01lKCJzdGFwNV9iZXRhbGVuIik7CgkJCQkJCWhpZGVNZSgic3RhcDVfbmlldGJldGFsZW4iKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQkJCgkJCWlmKGcgPT0gMCkgZm91dCArPSAiLSBVIGhlZWZ0IG5vZyBnZWVuIHBha2tldCBnZWtvemVuXG4iOwoJCQkJCQkKCQkJaWYoZm91dCA9PSAiIikKCQkJewoJCQkJcmV0dXJuKCIiKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybigiSGV0IHZvbGdlbmRlIGlzIG5vZyBuaWV0IGNvcnJlY3Q6XG5cbiIgKyBmb3V0KTsKCQkJfQoJCQkKCQl9CQkJCgkJCgkJCQkKCQk8L3NjcmlwdD4KCgoJCQoJCQkJCgkJCTxhIGhyZWY9JyMnIG9uY2xpY2s9J3Nob3dTdGVwKDMpJyBjbGFzcz0nYnV0dG9uX2FsdCc+cHJldmlvdXM8L2E+CgkJCTxhIGhyZWY9JyMnIG9uY2xpY2s9J2lmKGNoZWNrUGFra2V0MigpID09ICIiKSBzaG93U3RlcCg1KTsgZWxzZSBhbGVydChjaGVja1Bha2tldCgpKTsnIGlkPSdzdGVwNF92b2xnZW5kZScgY2xhc3M9J2J1dHRvbl9yZWQnPm5leHQ8L2E+CgoJCQkJCQoJPC9kaXY+CgkKCTxkaXYgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7JyBpZD0nc3RhcDUnPgoJCgkJCgoJCTxkaXYgaWQ9J3N0YXA1X2JldGFsZW4nPgoJCQkKCQkJPGJyPjxoMT48Yj5TdGFwIDUuPC9iPiBCZXRhbGVuPC9oMT4JCQkKCQkJPCEtLWltZyBzcmM9Jy9pbWFnZXMvc3RhcHBlbi9iZXRhYWx3aWp6ZXMuanBnJyBzdHlsZT0nZmxvYXQ6IHJpZ2h0Jy0tPgoJCQkKCQkJRG9vciBoaWVyb25kZXIgb3AgJ0lrIGdhIGFra29vcmQnIHRlIGtsaWtrZW4sIGdlZWYgamUgYml6emVyZCBidiB0b2VzdGVtbWluZyBvbSBtYWFuZGVsaWprcyBkZSBsaWRtYWF0c2NoYXBza29zdGVuIHZvb3IgZGUga29tZW5kZSBtYWFuZCBhZiB0ZSBzY2hyaWp2ZW4gdmlhIGplIEJldGFsaW5nc21ldGhvZGUsIHRlbnppaiBqZSBoZXQgbGlkbWFhdHNjaGFwIG9wemVndCB277+977+9ciBqZSBtYWFuZGVsaWprc2UgZmFjdHVyZXJpbmdzZGF0dW0uIDxicj48YnI+CgpEZSBsaWRtYWF0c2NoYXBza29zdGVuIGJlZHJhZ2VuICZldXJvOyAwLDQ5IHBlciBnZWJydWlrZXIgcGVyIG1hYW5kLiBPbSBoZXQgYWFudGFsIGdlYnJ1aWtlcnMgdmFuIGRlIGRlc2JldHJlZmZlbmRlIG1hYW5kIHRlIGJlcGFsZW4sIHdvcmR0IGhldCBnZW1pZGRlbGRlIHZhbiBkZSBkZXNiZXRyZWZmZW5kZSBtYWFuZCBnZW5vbWVuLiA8YnI+PGJyPgoKRGFhcm5hYXN0IGdlZWYgamUgYml6emVyZCBidiBlZW5tYWxpZyB0b2VzdGVtbWluZyBlZW4gYmVkcmFnIHZhbiAmZXVybzsgMC4wMSBhZiB0ZSBzY2hyaWp2ZW4uIFVpdGVyYWFyZCB3b3JkdCBkaXQgYmVkcmFnIHZhbiBkZSBlZXJzdHZvbGdlbmRlIGZhY3R1dXIgYWZnZXRyb2trZW4uCgkJCQoJCQk8YnI+PGJyPgoJCgkJCTxhIGhyZWY9JyMnIG9uY2xpY2s9J2RvY3VtZW50LnBob25lRm9ybS50YXJnZXQgPSAiX3RvcCI7IGRvY3VtZW50LnBob25lRm9ybS5hY3Rpb24gPSAic19zYXZlLnBocD9wYWtrZXRwYXltZW50PTEiOyBkb2N1bWVudC5waG9uZUZvcm0uc3VibWl0KCk7JyBjbGFzcz0nYnV0dG9uJyBzdHlsZT0nd2lkdGg6IDIwMHB4Oyc+SWsgZ2EgYWtrb29yZDwvYT4KCgkJPC9kaXY+CgkJCQoJCTxkaXYgaWQ9J3N0YXA1X25pZXRiZXRhbGVuJyBzdHlsZT0nZGlzcGxheTogbm9uZTsnPgoJCQoJCQk8YnI+PGgxPjxiPlN0YXAgNS48L2I+IEFhbm1ha2VuPC9oMT4JCQkKCQkJSmUgaGVidCB2b29yIGVlbiBiaXp6ZXJkIHZvb3IgMSBwZXJzb29uIGdla296ZW4uIFdhbm5lZXIgamUgbGF0ZXIgam91dyBwYWtrZXQgd2lsIHdpanppZ2VuLCBraWVzIGRhbiBpbiAncGFra2V0IHdpanppZ2VuJyBpbiBoZXQgc3RhcnRzY2hlcm0uCgkJCQoJCQk8YnI+PGJyPgoJCQkKCQkJS2xpayBvcCBkZSBidXR0b24gb20gZGUgY2FyZCBhYW4gdGUgbWFrZW4hCQoJCgkJCTxicj48YnI+CgkKCQkJPGEgaHJlZj0nIycgb25jbGljaz0nZG9jdW1lbnQucGhvbmVGb3JtLnRhcmdldCA9ICJfdG9wIjsgZG9jdW1lbnQucGhvbmVGb3JtLmFjdGlvbiA9ICJzX3NhdmUucGhwIjsgZG9jdW1lbnQucGhvbmVGb3JtLnN1Ym1pdCgpOycgY2xhc3M9J2J1dHRvbicgc3R5bGU9J3dpZHRoOiAyMDBweDsnPmJpenplcmQgYWFubWFrZW48L2E+CgoJCTwvZGl2PgoJCQoJCTxkaXYgaWQ9J3N0YXA1X29mZmVydGUnIHN0eWxlPSdkaXNwbGF5OiBub25lOyc+CgkJCgkJCTxicj48aDE+PGI+U3RhcCA1LjwvYj4gQWFubWFrZW48L2gxPgkJCQoJCQlOZWVtIGNvbnRhY3Qgb3AgbWV0IDxhIGhyZWY9J2VtYWlsOmluZm9AYml6emVyZC5jb20nPmluZm9AYml6emVyZC5jb208L2E+IHZvb3IgbWVlciBpbmZvcm1hdGllIG92ZXIgYml6emVyZCBlbnRlcnByaXNlLgoJCQkKCQkJPGJyPjxicj4KCQkJCgkJCUtsaWsgb3AgZGUgYnV0dG9uIG9tIGRlIGNhcmQgYWFuIHRlIG1ha2VuIQkKCQoJCQk8YnI+PGJyPgoJCgkJCTxhIGhyZWY9JyMnIG9uY2xpY2s9J2RvY3VtZW50LnBob25lRm9ybS50YXJnZXQgPSAiX3RvcCI7IGRvY3VtZW50LnBob25lRm9ybS5hY3Rpb24gPSAic19zYXZlLnBocCI7IGRvY3VtZW50LnBob25lRm9ybS5zdWJtaXQoKTsnIGNsYXNzPSdidXR0b24nIHN0eWxlPSd3aWR0aDogMjAwcHg7Jz5iaXp6ZXJkIGFhbm1ha2VuPC9hPgoKCQk8L2Rpdj4KCQkJCgkJPGJyPjxicj4KCQkKCQk8YSBocmVmPScjJyBvbmNsaWNrPSdzaG93U3RlcCg0KScgY2xhc3M9Jycgc3R5bGU9J2Zsb2F0OiBsZWZ0Oyc+PCB2b3JpZ2U8L2E+CgoJCTxicj48YnI+PGJyPjxicj4KCQkKCTwvZGl2PgoJCgoJCQkKCQoJPC9mb3JtPgoKPC90ZD4KPHRkPgoKCTxkaXYgaWQ9J3ByZXZpZXdfZGl2Jz48ZGl2IGlkPSdwcmV2aWV3JyBjbGFzcz0naXBob25lJyBzdHlsZT0ncG9zaXRpb246IGZpeGVkOyBtYXJnaW4tbGVmdDogMTBweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIvaW1hZ2VzL2JpenplcmQvaXBob25lbmV3LnBuZyIpOyBoZWlnaHQ6IDY1MnB4OyAnPjxpZnJhbWUgaWQ9J3Bob25lRnJhbWUnIG5hbWU9J3Bob25lRnJhbWUnIHN0eWxlPSdib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5OyB3aWR0aDogMzIwcHg7IGhlaWdodDogNTgycHg7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7JyBmcmFtZWJvcmRlcj0nMCcgc3JjPScnIHNjcm9sbGluZz0nbm8nPjwvaWZyYW1lPjwvZGl2PjwvZGl2PgoJPCEtLSAgc2Nyb2xsaW5nPSdubycgLS0+Cgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8L2Rpdj4KCgoKCgkJPC9kaXY+CgoJPC9kaXY+Cgo8L2Rpdj4KCjxkaXYgY2xhc3M9J2Zvb3Rlcic+CgkKCTxkaXYgY2xhc3M9J2Zvb3Rlcl9kaXYnPgoJCQoJCTwhLS0KCQk8ZGl2IGNsYXNzPSdmb290ZXJfbG9nbyc+CgkKCQkJPGEgaHJlZj0naHR0cDovL3d3dy5pbml0aXVtbW9iaWxlLm5sJz48aW1nIHNyYz0naW1hZ2VzL2xheW91dC9mb290ZXJfbG9nby5wbmcnPjwvYT4KCgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9J2Zvb3Rlcl90ZXh0Jz4KCQlNb2JpQ2FyZCBpcyBlZW4gb25kZXJuZW1pbmcgdmFuIGJpenplcmQgQlYNCg0KPGJyPg0KDQpFdXJvcGFsYWFuIDQwIEEgLCA8c3BhbiBzdHlsZT0nY29sb3I6ICM2ZmNiMWQ7Jz58PC9zcGFuPiAgUG9zdGJ1cyAyMDUsIDM1MDAgQUUgPHNwYW4gc3R5bGU9J2NvbG9yOiAjNmZjYjFkOyc+fDwvc3Bhbj4gVXRyZWNodCANCg0KPGJyPg0KDQo8YSBocmVmPSdodHRwOi8vd3d3LmJpenplcmQuY29tJyB0YXJnZXQ9J19ibGFuayc+d3d3LmJpenplcmQuY29tPC9hPiANClQ6IDA4OCAyMjcgMjIgMjIgPHNwYW4gc3R5bGU9J2NvbG9yOiAjNmZjYjFkOyc+fDwvc3Bhbj4gIA0KRTogPGEgaHJlZj0nbWFpbHRvOmNvbnRhY3RAbW9iaWNhcmQubmwnPmNvbnRhY3RAbW9iaWNhcmQubmw8L2E+IA0KDQo8YnI+DQoNCkt2SyBVdHJlY2h0IDYzNjYzNDQ5IDxzcGFuIHN0eWxlPSdjb2xvcjogIzZmY2IxZDsnPnw8L3NwYW4+IA0KQlRXIE5MIDg1NTM0MTU1NSBCMDEgCQoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSdmb290ZXJfc2hhcmUnPgoJCTxpbWcgc3JjPSdpbWFnZXMvbGF5b3V0L2ZvbGxvd191cy5wbmcnIHdpZHRoPSc4MicgaGVpZ2h0PSc1MSc+PGEgaHJlZj0naHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3BhZ2VzL01vYmljYXJkLzE0MTI3MDY5MDU2MjU3MzQ/ZnJlZj10cyc+PGltZyBzcmM9J2ltYWdlcy9sYXlvdXQvZmFjZWJvb2sucG5nJyB3aWR0aD0nNTEnIGhlaWdodD0nNTEnPjwvYT48YSBocmVmPSdodHRwczovL3R3aXR0ZXIuY29tL21vYmljYXJkbmwnPjxpbWcgc3JjPSdpbWFnZXMvbGF5b3V0L3R3aXR0ZXIucG5nJyB3aWR0aD0nNTEnIGhlaWdodD0nNTEnPjwvYT48YSBocmVmPScvJz48aW1nIHNyYz0naW1hZ2VzL2xheW91dC9saW5rZWRpbi5wbmcnIHdpZHRoPSc1MScgaGVpZ2h0PSc1MSc+PC9hPg0KDQoNCgkJCgkJPC9kaXY+CgkJLS0+CgkJCgk8L2Rpdj4KCjwvZGl2PgoKPHNjcmlwdD4KICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0aWNzT2JqZWN0J109cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7CiAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgbT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdO2EuYXN5bmM9MTthLnNyYz1nO20ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxtKQogIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsKCiAgZ2EoJ2NyZWF0ZScsICdVQS03Mzk0NjYxMy0yJywgJ2F1dG8nKTsKICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKPC9zY3JpcHQ+CgoKCgoKCgoKPCEtLSBEaXYgcG9wdXAgLS0+CjxhIGhyZWY9J2phdmFzY3JpcHQ6IGhpZGVQb3B1cERpdigpOycgaWQ9J3BhZ2Vfc2NyZWVuJz48L2E+Cgo8ZGl2IG5hbWU9J3BvcHVwRGl2JyBpZD0ncG9wdXBEaXYnIHN0eWxlPSdkaXNwbGF5Om5vbmU7Jz4KPGRpdiBzdHlsZT0ncGFkZGluZzogNXB4Oyc+CgoJPGEgaHJlZj0namF2YXNjcmlwdDogaGlkZVBvcHVwRGl2KCk7JyBjbGFzcz0neF9idXR0b24nIHN0eWxlPSdmbG9hdDogcmlnaHQ7IG1hcmdpbi10b3A6IDNweDsgbWFyZ2luLXJpZ2h0OiAzcHg7Jz48L2E+CgoJPGlmcmFtZSBpZD0nZGl2cG9wdXAnIG5hbWU9J2RpdnBvcHVwJyBtYXJnaW53aWR0aD0nMCcgbWFyZ2luaGVpZ2h0PScwJyBoZWlnaHQ9JzI4MCcgd2lkdGg9JzQ1MycgYm9yZGVyPScwJyBmcmFtZWJvcmRlcj0nMCcgc3R5bGU9J21hcmdpbjogNXB4Oyc+PC9pZnJhbWU+Cgo8L2Rpdj4KPC9kaXY+CjwhLS0gL0RpdiBwb3B1cCAtLT4KCgo8L2JvZHk+CjwvaHRtbD4K

ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;=0ASpinnerij 26;3142 BP. MAASSLUIS;;;Nederland=0A
ADR;HOME;ENCODING=QUOTED-PRINTABLE:;;=0A;;;;
TEL;WORK;VOICE:
TEL;HOME;VOICE:
TEL;CELL;VOICE:+31 (0)6 - 18865994
EMAIL;WORK;INTERNET:karinpoldervaartfotografie@gmail.com
EMAIL;HOME;INTERNET:
URL;WORK:http://www.karinpoldervaartfotografie.nl
URL;HOME:
NOTE:Check out my digital businesscard which includes my Google Maps and Social media links:\n  https://www.karinpoldervaartfotografie.bizzerd.com/poldervaart.van.geest \n\n- Facebook: http://www.facebook.com/karinpoldervaartfotografie\n
END:VCARD