# ied_hide_in_admin 0.1.6 # Hides fields in admin panel # Yura Linnyk # http://inspired.kiev.ua # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJjb2RlIjtzOjE1MDk1OiINCglpZihAdHhwaW50ZXJmYWNlID09ICdhZG1pbicp IHsNCg0KCQkkcHJlZj1mZXRjaCgndmFsJywndHhwX3ByZWZzJywnbmFtZScsJ2llZF9oaWFfaGlk ZS1pbi1hZG1pbi1pbnRlcmZhY2UnKTsNCgkJaWYgKCEkcHJlZikgJHByZWY9JzEwMDAwMCc7ICRw cml2c1tdPTE7DQoJCWZvciAoJGk9MTskaTw2OyRpKyspIGlmICgkcHJlZlskaV0pICRwcml2c1td PSRpKzE7DQoJCWFkZF9wcml2cygnaWVkX2hpZGVfaW5fYWRtaW5fdGFiJyxpbXBsb2RlKCcsJywk cHJpdnMpKTsNCgkJcmVnaXN0ZXJfY2FsbGJhY2soJ2llZF9oaWRlX2luX2FkbWluJywgJ2FydGlj bGUnKTsNCgkJcmVnaXN0ZXJfY2FsbGJhY2soJ2llZF9oaWRlX2luX2FkbWluJywgJ2NhdGVnb3J5 Jyk7DQoJCXJlZ2lzdGVyX2NhbGxiYWNrKCdpZWRfaGlkZV9pbl9hZG1pbicsICdpbWFnZScpOw0K CQkvL3JlZ2lzdGVyX2NhbGxiYWNrKCdpZWRfaGlkZV9pbl9hZG1pbicsICdmaWxlJyk7DQoJCS8v cmVnaXN0ZXJfY2FsbGJhY2soJ2llZF9oaWRlX2luX2FkbWluJywgJ2xpbmsnKTsNCgkJcmVnaXN0 ZXJfdGFiKCdleHRlbnNpb25zJywgJ2llZF9oaWRlX2luX2FkbWluX3RhYicsICJoaWRlIGluIGFk bWluIik7IA0KCQlyZWdpc3Rlcl9jYWxsYmFjaygnaWVkX2hpZGVfaW5fYWRtaW5fdGFiJywgJ2ll ZF9oaWRlX2luX2FkbWluX3RhYicpOw0KCQlnbG9iYWwgJGllZF9oaWRlX2luX2FkbWluOw0KCX0N Cg0KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KZnVuY3Rpb24gaWVkX2hpZGVfaW5fYWRtaW4oJGF0dHMpIHsNCmdsb2JhbCAk ZXZlbnQsICRzdGVwLCAkdHhwX3VzZXI7DQokdXNlcmxldmVsID0gc2FmZV9maWVsZCgicHJpdnMi LCAidHhwX3VzZXJzIiwgImBuYW1lYD0nIi5kb1NsYXNoKCR0eHBfdXNlcikuIiciKTsNCmlmICgk dXNlcmxldmVsPjAgJiYgJHVzZXJsZXZlbDw3KSAkdXNlcmxldmVsLS07DQoNCg0KLy8gPT09PT09 IGV2ZW50OiBBcnRpY2xlDQoNCglpZiAoJGV2ZW50PT0nYXJ0aWNsZScpIHsNCgkJCQ0KCQkJZWNo byAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPic7DQoJCQlpZiAoIWlzX2NhbGxhYmxl KCdkb21fYXR0YWNoJykpDQoJCQllY2hvICd2YXIgcmVtb3ZlZHBhcmVudD1kb2N1bWVudC5nZXRF bGVtZW50QnlJZCgiYXJ0aWNsZXNpZGUiKTsNCgkJCXZhciBpaT0wOw0KCQkJdmFyIHJlYWxub2Rl cz1uZXcgQXJyYXkoKTsNCgkJCWZvciAodmFyIGk9MDtpPHJlbW92ZWRwYXJlbnQuY2hpbGROb2Rl cy5sZW5ndGg7aSsrKSB7DQoJCQkJaWYgKHJlbW92ZWRwYXJlbnQuY2hpbGROb2Rlc1tpXS5ub2Rl VHlwZSA9PSAxKXsNCgkJCQkJcmVhbG5vZGVzW2lpXSA9IHJlbW92ZWRwYXJlbnQuY2hpbGROb2Rl c1tpXTsgLy8gc3RhdHVzDQoJCQkJCWlpKys7DQoJCQkJfQ0KCQkJfSc7DQoJCQkNCgkJCQ0KCQlp ZiAoJHN0ZXA9PSdjcmVhdGUnIG9yIGlzX2NhbGxhYmxlKCdkb21fYXR0YWNoJykpIHsNCgkJCQ0K CQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1zdGF0dXMnLCAkdXNlcmxldmVsLCAncmVh bG5vZGVzWzBdLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycsJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlk KCJzdGF0dXMtMSIpLnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLnN0eWxlLmRpc3Bs YXk9Im5vbmUiOycpOw0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1jYXRlZ29yaXNl JywgJHVzZXJsZXZlbCwgJ3JlYWxub2Rlc1sxXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnLCdkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgiY2F0ZWdvcnktMSIpLnBhcmVudE5vZGUucGFyZW50Tm9kZS5z dHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgnd3JpdGUt Y2F0ZWdvcnkxJywgJHVzZXJsZXZlbCwgJ3JlYWxub2Rlc1sxXS5nZXRFbGVtZW50c0J5VGFnTmFt ZSgic2VsZWN0IilbMF0uc3R5bGUuZGlzcGxheT0ibm9uZSI7JywnZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoImNhdGVnb3J5LTEiKS5wYXJlbnROb2RlLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycpOw0K CQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1jYXRlZ29yeTInLCAkdXNlcmxldmVsLCAn cmVhbG5vZGVzWzFdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzZWxlY3QiKVsxXS5zdHlsZS5kaXNw bGF5PSJub25lIjsnLCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2F0ZWdvcnktMiIpLnBhcmVu dE5vZGUuc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAo J3dyaXRlLXNlY3Rpb24nLCAkdXNlcmxldmVsLCAncmVhbG5vZGVzWzJdLnN0eWxlLmRpc3BsYXk9 Im5vbmUiOycsJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWN0aW9uIikucGFyZW50Tm9kZS5z dHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgnd3JpdGUt Y29tbWVudHMnLCAkdXNlcmxldmVsLCAncmVhbG5vZGVzWzNdLnN0eWxlLmRpc3BsYXk9Im5vbmUi OycsJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3cml0ZS1jb21tZW50cyIpLnN0eWxlLmRpc3Bs YXk9Im5vbmUiOycpOw0KCQkJKCRzdGVwPT0nY3JlYXRlJyk/aWVkX2hpZGVfaW5fYWRtaW5fZG8g KCd3cml0ZS10aW1lc3RhbXAybm93JywgJHVzZXJsZXZlbCwgJ3JlYWxub2Rlc1s0XS5zdHlsZS5k aXNwbGF5PSJub25lIjsnLCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHVibGlzaF9ub3ciKS5w YXJlbnROb2RlLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycpOmllZF9oaWRlX2luX2FkbWluX2RvICgn d3JpdGUtdGltZXN0YW1wMm5vdycsICR1c2VybGV2ZWwsICcnLCdkb2N1bWVudC5nZXRFbGVtZW50 QnlJZCgicmVzZXRfdGltZSIpLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJ CQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ3dyaXRlLXB1Ymxpc2gtZGF0ZScsICR1c2VybGV2ZWws ICdyZWFsbm9kZXNbNV0uc3R5bGUuZGlzcGxheT0ibm9uZSI7JywnZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoIndyaXRlLXRpbWVzdGFtcCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycpOw0KCQkNCgkJ fSBlbHNlIHsNCg0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1zdGF0dXMnLCAkdXNl cmxldmVsLCAncmVhbG5vZGVzWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycpOw0KCQkJaWVkX2hp ZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1jYXRlZ29yaXNlJywgJHVzZXJsZXZlbCwgJ3JlYWxub2Rl c1syXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgn d3JpdGUtY2F0ZWdvcnkxJywgJHVzZXJsZXZlbCwgJ3JlYWxub2Rlc1syXS5nZXRFbGVtZW50c0J5 VGFnTmFtZSgic2VsZWN0IilbMF0uc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQlpZWRfaGlk ZV9pbl9hZG1pbl9kbyAoJ3dyaXRlLWNhdGVnb3J5MicsICR1c2VybGV2ZWwsICdyZWFsbm9kZXNb Ml0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNlbGVjdCIpWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUi OycpOw0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1zZWN0aW9uJywgJHVzZXJsZXZl bCwgJ3JlYWxub2Rlc1szXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2lu X2FkbWluX2RvICgnd3JpdGUtY29tbWVudHMnLCAkdXNlcmxldmVsLCAncmVhbG5vZGVzWzRdLnN0 eWxlLmRpc3BsYXk9Im5vbmUiOycpOw0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1w dWJsaXNoLWRhdGUnLCAkdXNlcmxldmVsLCAncmVhbG5vZGVzWzVdLnN0eWxlLmRpc3BsYXk9Im5v bmUiOycpOw0KCQkNCgkJfQ0KDQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ3dyaXRlLXRvZ2ds ZS10ZXh0aWxlX2hlbHAnLCAkdXNlcmxldmVsLCAndG9nZ2xlRGlzcGxheSgidGV4dGlsZV9oZWxw Iik7JywgJ3RvZ2dsZURpc3BsYXkoInRleHRpbGVfaGVscCIpOycpOw0KCQkJaWVkX2hpZGVfaW5f YWRtaW5fZG8gKCd3cml0ZS10b2dnbGUtYWR2YW5jZWQnLCAkdXNlcmxldmVsLCAndG9nZ2xlRGlz cGxheSgiYWR2YW5jZWQiKTsnLCAndG9nZ2xlRGlzcGxheSgiYWR2YW5jZWQiKTsnKTsNCgkJCWll ZF9oaWRlX2luX2FkbWluX2RvICgnd3JpdGUtdG9nZ2xlLXJlY2VudCcsICR1c2VybGV2ZWwsICd0 b2dnbGVEaXNwbGF5KCJyZWNlbnQiKTsnLCAndG9nZ2xlRGlzcGxheSgicmVjZW50Iik7Jyk7DQoN CgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgnd3JpdGUtdXNlLXRleHRpbGUnLCAkdXNlcmxldmVs LCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFkdmFuY2VkIikuZ2V0RWxlbWVudHNCeVRhZ05h bWUoInAiKVswXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnLCdkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgibWFya3VwLWJvZHkiKS5wYXJlbnROb2RlLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2RvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCJtYXJrdXAtZXhjZXJwdCIpLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxh eT0ibm9uZSI7Jyk7DQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ3dyaXRlLW92ZXJyaWRlLWZv cm0nLCAkdXNlcmxldmVsLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFkdmFuY2VkIikuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoInAiKVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnLCdkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgib3ZlcnJpZGUtZm9ybSIpLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxh eT0ibm9uZSI7Jyk7DQoNCgkJCSRob3dtYW55PWNvdW50KCAkY3VzdG9tcz1pZWRfZ2V0Q3VzdG9t RmllbGRzKCkgKTsNCg0KCQkJJGlpPTE7DQoJCQlpZiAoaXNzZXQoJGN1c3RvbXMpICYmIGlzX2Fy cmF5KCRjdXN0b21zKSApCWZvcmVhY2ggKCAkY3VzdG9tcyBhcyAkaT0+JG5hbWUgKSB7DQoJCQkJ KCFpc19jYWxsYWJsZSgnZG9tX2F0dGFjaCcpKT8NCgkJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAo J3dyaXRlLWN1c3RvbScuJGksICR1c2VybGV2ZWwsICdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi YWR2YW5jZWQiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpWycuKDErJGlpKS4nXS5zdHlsZS5k aXNwbGF5PSJub25lIjsnKToNCgkJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ3dyaXRlLWN1c3Rv bScuJGksICR1c2VybGV2ZWwsJycsICdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3VzdG9tLScu JGkuJyIpLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQkJJGlpKys7DQoJ CQl9DQoJCQkNCgkJCQ0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1rZXl3b3Jkcycs ICR1c2VybGV2ZWwsICdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWR2YW5jZWQiKS5nZXRFbGVt ZW50c0J5VGFnTmFtZSgicCIpWycuKDIrJGhvd21hbnkpLiddLnN0eWxlLmRpc3BsYXk9Im5vbmUi OycsJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrZXl3b3JkcyIpLnBhcmVudE5vZGUuc3R5bGUu ZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ3dyaXRlLWFydGlj bGUtaW1hZ2UnLCAkdXNlcmxldmVsLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFkdmFuY2Vk IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKVsnLigzKyRob3dtYW55KS4nXS5zdHlsZS5kaXNw bGF5PSJub25lIjsnLCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZS1pbWFnZSIpLnBh cmVudE5vZGUuc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9k byAoJ3dyaXRlLXVybC1vbmx5LXRpdGxlJywgJHVzZXJsZXZlbCwgJ2RvY3VtZW50LmdldEVsZW1l bnRCeUlkKCJhZHZhbmNlZCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIilbJy4oNCskaG93bWFu eSkuJ10uc3R5bGUuZGlzcGxheT0ibm9uZSI7JywnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVy bC10aXRsZSIpLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQkNCgkJCWll ZF9oaWRlX2luX2FkbWluX2RvICgnd3JpdGUtdGV4dGlsZS1oZWxwJywgJHVzZXJsZXZlbCwgJ2Rv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKVsw XS5zdHlsZS5kaXNwbGF5PSJub25lIjsnLCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNs ZS1jb2wtMSIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoMyIpWzBdLnN0eWxlLmRpc3BsYXk9Im5v bmUiOycpOw0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1hZHZhbmNlZCcsICR1c2Vy bGV2ZWwsICdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWRpdCIpLmdldEVsZW1lbnRzQnlUYWdO YW1lKCJwIilbNV0uc3R5bGUuZGlzcGxheT0ibm9uZSI7JywnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoImFydGljbGUtY29sLTEiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaDMiKVsxXS5zdHlsZS5k aXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgnd3JpdGUtcmVjZW50 JywgJHVzZXJsZXZlbCwgJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0IikuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoInAiKVsnLigxMSskaG93bWFueSkuJ10uc3R5bGUuZGlzcGxheT0ibm9uZSI7 JywnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUtY29sLTEiKS5nZXRFbGVtZW50c0J5 VGFnTmFtZSgiaDMiKVsyXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCQ0KCQkJaWVkX2hp ZGVfaW5fYWRtaW5fZG8gKCd3cml0ZS1leGNlcnB0JywgJHVzZXJsZXZlbCwgJ2RvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCJlZGl0Iikucm93c1sxXS5jZWxsc1sxXS5nZXRFbGVtZW50c0J5VGFnTmFt ZSgicCIpWzBdLnN0eWxlLmRpc3BsYXk9Im5vbmUiJywnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo ImV4Y2VycHQiKS5wYXJlbnROb2RlLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycpOw0KCQkJDQoJCQll Y2hvICc8L3NjcmlwdD4nOw0KCQkJDQoJDQoJDQoJDQoJfQ0KDQoNCg0KLy8gPT09PT09IGV2ZW50 OiBDYXRlZ29yeQ0KDQoNCglpZiAoJGV2ZW50PT0nY2F0ZWdvcnknKSB7DQoJCQllY2hvICc8c2Ny aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsNCgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgn b3JnYW5pc2UtYXJ0aWNsZScsICR1c2VybGV2ZWwsICdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn TmFtZSgidGFibGUiKVszXS5yb3dzWzBdLmNlbGxzWzBdLnN0eWxlLmRpc3BsYXk9Im5vbmUiOycp Ow0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCdvcmdhbmlzZS1saW5rJywgJHVzZXJsZXZlbCwg J2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0YWJsZSIpWzNdLnJvd3NbMF0uY2VsbHNb MV0uc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ29y Z2FuaXNlLWltYWdlJywgJHVzZXJsZXZlbCwgJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l KCJ0YWJsZSIpWzNdLnJvd3NbMF0uY2VsbHNbMl0uc3R5bGUuZGlzcGxheT0ibm9uZSI7Jyk7DQoJ CQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ29yZ2FuaXNlLWZpbGUnLCAkdXNlcmxldmVsLCAnZG9j dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRhYmxlIilbM10ucm93c1swXS5jZWxsc1szXS5z dHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCWVjaG8gJzwvc2NyaXB0Pic7DQoJfQ0KCQ0KCQ0K Ly8gPT09PT09IGV2ZW50OiBJbWFnZQ0KDQoNCglpZiAoJGV2ZW50PT0naW1hZ2UnICYmICRzdGVw PT0naW1hZ2VfZWRpdCcpIHsNCgkJCWVjaG8gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0 Ij4nOw0KCQkJDQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ2ltYWdlLXJlcGxhY2UnLCAkdXNl cmxldmVsLCAnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKVsxXS5zdHlsZS5k aXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2luX2FkbWluX2RvICgnaW1hZ2UtdXBsb2Fk LXRodW1iJywgJHVzZXJsZXZlbCwgJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaXN0Iikucm93 c1sxXS5jZWxsc1swXS5zdHlsZS5kaXNwbGF5PSJub25lIjsnKTsNCgkJCWllZF9oaWRlX2luX2Fk bWluX2RvICgnaW1hZ2UtY3JlYXRlLXRodW1iJywgJHVzZXJsZXZlbCwgJ2RvY3VtZW50LmdldEVs ZW1lbnRCeUlkKCJsaXN0Iikucm93c1syXS5jZWxsc1swXS5zdHlsZS5kaXNwbGF5PSJub25lIjsn KTsNCgkJCQ0KCQkJaWVkX2hpZGVfaW5fYWRtaW5fZG8gKCdpbWFnZS1uYW1lJywgJHVzZXJsZXZl bCwgJ3ZhciBpbWFnZWluZm89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpc3QiKS5yb3dzWzNd LmNlbGxzWzBdOw0KCQkJaWYgKGltYWdlaW5mby5jaGlsZE5vZGVzWzBdLm5vZGVUeXBlID09IDEp e2ltYWdlaW5mby5jaGlsZE5vZGVzWzBdLmNoaWxkTm9kZXNbMF0uc3R5bGUuZGlzcGxheT0ibm9u ZSI7fQ0KCQkJZWxzZSB7aW1hZ2VpbmZvLmNoaWxkTm9kZXNbMV0uY2hpbGROb2Rlc1swXS5zdHls ZS5kaXNwbGF5PSJub25lIjt9Jyk7DQoJCQlpZWRfaGlkZV9pbl9hZG1pbl9kbyAoJ2ltYWdlLWNh dGVnb3J5JywgJHVzZXJsZXZlbCwgJ3ZhciBpbWFnZWluZm89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoImxpc3QiKS5yb3dzWzNdLmNlbGxzWzBdOw0KCQkJaWYgKGltYWdlaW5mby5jaGlsZE5vZGVz WzBdLm5vZGVUeXBlID09IDEpe2ltYWdlaW5mby5jaGlsZE5vZGVzWzBdLmNoaWxkTm9kZXNbMV0u c3R5bGUuZGlzcGxheT0ibm9uZSI7fQ0KCQkJZWxzZSB7aW1hZ2VpbmZvLmNoaWxkTm9kZXNbMV0u Y2hpbGROb2Rlc1sxXS5zdHlsZS5kaXNwbGF5PSJub25lIjt9Jyk7DQoJCQlpZWRfaGlkZV9pbl9h ZG1pbl9kbyAoJ2ltYWdlLWFsdCcsICR1c2VybGV2ZWwsICd2YXIgaW1hZ2VpbmZvPWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCJsaXN0Iikucm93c1szXS5jZWxsc1swXTsNCgkJCWlmIChpbWFnZWlu Zm8uY2hpbGROb2Rlc1swXS5ub2RlVHlwZSA9PSAxKXtpbWFnZWluZm8uY2hpbGROb2Rlc1swXS5j aGlsZE5vZGVzWzJdLnN0eWxlLmRpc3BsYXk9Im5vbmUiO30NCgkJCWVsc2Uge2ltYWdlaW5mby5j aGlsZE5vZGVzWzFdLmNoaWxkTm9kZXNbMl0uc3R5bGUuZGlzcGxheT0ibm9uZSI7fScpOw0KCQkJ aWVkX2hpZGVfaW5fYWRtaW5fZG8gKCdpbWFnZS1jYXB0aW9uJywgJHVzZXJsZXZlbCwgJ3ZhciBp bWFnZWluZm89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpc3QiKS5yb3dzWzNdLmNlbGxzWzBd Ow0KCQkJaWYgKGltYWdlaW5mby5jaGlsZE5vZGVzWzBdLm5vZGVUeXBlID09IDEpe2ltYWdlaW5m by5jaGlsZE5vZGVzWzBdLmNoaWxkTm9kZXNbM10uc3R5bGUuZGlzcGxheT0ibm9uZSI7fQ0KCQkJ ZWxzZSB7aW1hZ2VpbmZvLmNoaWxkTm9kZXNbMV0uY2hpbGROb2Rlc1szXS5zdHlsZS5kaXNwbGF5 PSJub25lIjt9Jyk7DQoJCQllY2hvICc8L3NjcmlwdD4nOw0KCX0NCi8vID09PT09PSANCg0KLy9k bXAoICdldmVudDogJy4kZXZlbnQuYnIuJ3N0ZXA6ICcuJHN0ZXAuYnIuJ3VzZXIgbGV2ZWw6ICcu JHVzZXJsZXZlbCk7DQoNCn0NCg0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJZnVuY3Rpb24gaWVkX2hpZGVfaW5fYWRt aW5fdGFiICgkZXZlbnQsICRzdGVwKQ0KCXsNCiAgICBpZighJHN0ZXAgb3IgIWluX2FycmF5KCRz dGVwLCBhcnJheSgnc2F2ZScpKSl7DQoJICAJaWVkX2hpZGVfaW5fYWRtaW5fbWFpbigpOw0KICAg IH0gZWxzZSB7DQoJCQlpZiAoJHN0ZXA9PSdzYXZlJykgaWVkX2hpZGVfaW5fYWRtaW5fc2F2ZSgp Ow0KCQl9DQoJfQ0KDQovLyAtLXN0ZXAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIGZ1bmN0aW9uIGllZF9oaWRlX2luX2FkbWluX21haW4o JG1lc3NhZ2U9JycpDQogIHsNCgkJZ2xvYmFsICRpZWRfaGlkZV9pbl9hZG1pbjsNCiAgICBwYWdl dG9wKGdUeHQoJ0hpZGUgaW4gYWRtaW4nKSwkbWVzc2FnZSk7DQoJCQ0KCQkkaG93bWFueT1jb3Vu dCggJGN1c3RvbXM9aWVkX2dldEN1c3RvbUZpZWxkcygpICk7DQoJCQlmb3IgKCAkaT0xOyAkaTw9 MTA7ICRpKysgKSB7DQoJCQlpZiAoaXNzZXQoJGN1c3RvbXNbJGldKSkgJG91dF9jdXN0b21zW109 IGllZF9vdXRwdXRfcHJlZl9saW5lKCdXcml0ZTogJy4kY3VzdG9tc1skaV0sICd3cml0ZS1jdXN0 b20nLiRpKTsNCgkJfQ0KCQkNCiAgICBlY2hvDQogICAgZm9ybShzdGFydFRhYmxlKCdsaXN0Jyku DQoJCXRyKHRkKCcmbmJzcDsnKQ0KCQkudGQoZ1R4dCgncHVibGlzaGVyJykpDQoJCS50ZChnVHh0 KCdtYW5hZ2luZ19lZGl0b3InKSkNCgkJLnRkKGdUeHQoJ2NvcHlfZWRpdG9yJykpDQoJCS50ZChn VHh0KCd3cml0ZXInKSkNCgkJLnRkKGdUeHQoJ2ZyZWVsYW5jZXInKSkNCgkJLnRkKGdUeHQoJ2Rl c2lnbmVyJykpDQoJCSkNCgkJDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnIkhpZGUgaW4gYWRt aW4iIGVkaXRpbmcgaW50ZXJmYWNlJywgJ2hpZGUtaW4tYWRtaW4taW50ZXJmYWNlJykNCgkJLmll ZF9vdXRwdXRfcHJlZl9saW5lKCdXcml0ZTogc3RhdHVzJywgJ3dyaXRlLXN0YXR1cycpDQoJCS5p ZWRfb3V0cHV0X3ByZWZfbGluZSgnV3JpdGU6IGNhdGVnb3Jpc2UnLCAnd3JpdGUtY2F0ZWdvcmlz ZScpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnV3JpdGU6IGNhdGVnb3J5IDEnLCAnd3JpdGUt Y2F0ZWdvcnkxJykNCgkJLmllZF9vdXRwdXRfcHJlZl9saW5lKCdXcml0ZTogY2F0ZWdvcnkgMics ICd3cml0ZS1jYXRlZ29yeTInKQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ1dyaXRlOiBzZWN0 aW9uJywgJ3dyaXRlLXNlY3Rpb24nKQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ1dyaXRlOiBj b21tZW50cycsICd3cml0ZS1jb21tZW50cycpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnV3Jp dGU6IHNldCB0aW1lc3RhbXAgdG8gbm93JywgJ3dyaXRlLXRpbWVzdGFtcDJub3cnKQ0KCQkuaWVk X291dHB1dF9wcmVmX2xpbmUoJ1dyaXRlOiBwdWJsaXNoIGRhdGUnLCAnd3JpdGUtcHVibGlzaC1k YXRlJykNCgkJLmllZF9vdXRwdXRfcHJlZl9saW5lKCdXcml0ZTogRXhjZXJwdCcsICd3cml0ZS1l eGNlcnB0JykNCgkJLmllZF9vdXRwdXRfcHJlZl9saW5lKCdXcml0ZTogVGV4dGlsZSBIZWxwJywg J3dyaXRlLXRleHRpbGUtaGVscCcpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnV3JpdGU6IEFk dmFuY2VkIE9wdGlvbnMnLCAnd3JpdGUtYWR2YW5jZWQnKQ0KCQkuaWVkX291dHB1dF9wcmVmX2xp bmUoJ1dyaXRlOiBSZWNlbnQgQXJ0aWNsZXMnLCAnd3JpdGUtcmVjZW50JykNCgkJLmllZF9vdXRw dXRfcHJlZl9saW5lKCdXcml0ZTogVG9nZ2xlIG9mZiBUZXh0aWxlIEhlbHAnLCAnd3JpdGUtdG9n Z2xlLXRleHRpbGVfaGVscCcpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnV3JpdGU6IFRvZ2ds ZSBvZmYgQWR2YW5jZWQnLCAnd3JpdGUtdG9nZ2xlLWFkdmFuY2VkJykNCgkJLmllZF9vdXRwdXRf cHJlZl9saW5lKCdXcml0ZTogVG9nZ2xlIG9mZiBSZWNlbnQnLCAnd3JpdGUtdG9nZ2xlLXJlY2Vu dCcpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnV3JpdGU6IFVzZSBUZXh0aWxlJywgJ3dyaXRl LXVzZS10ZXh0aWxlJykNCgkJLmllZF9vdXRwdXRfcHJlZl9saW5lKCdXcml0ZTogT3ZlcnJpZGUg Zm9ybScsICd3cml0ZS1vdmVycmlkZS1mb3JtJykNCgkJLigoaXNzZXQoJG91dF9jdXN0b21zKSk/ aW1wbG9kZSgnJywkb3V0X2N1c3RvbXMpOicnKQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ1dy aXRlOiBLZXl3b3JkcycsICd3cml0ZS1rZXl3b3JkcycpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGlu ZSgnV3JpdGU6IEFydGljbGUgaW1hZ2UnLCAnd3JpdGUtYXJ0aWNsZS1pbWFnZScpDQoJCS5pZWRf b3V0cHV0X3ByZWZfbGluZSgnV3JpdGU6IFVSTC1vbmx5IHRpdGxlJywgJ3dyaXRlLXVybC1vbmx5 LXRpdGxlJykNCgkJLmllZF9vdXRwdXRfcHJlZl9saW5lKCdPcmdhbmlzZTogQXJ0aWNsZSBDYXRl Z29yaWVzJywgJ29yZ2FuaXNlLWFydGljbGUnKQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ09y Z2FuaXNlOiBMaW5rIENhdGVnb3JpZXMnLCAnb3JnYW5pc2UtbGluaycpDQoJCS5pZWRfb3V0cHV0 X3ByZWZfbGluZSgnT3JnYW5pc2U6IEltYWdlIENhdGVnb3JpZXMnLCAnb3JnYW5pc2UtaW1hZ2Un KQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ09yZ2FuaXNlOiBGaWxlIENhdGVnb3JpZXMnLCAn b3JnYW5pc2UtZmlsZScpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnSW1hZ2U6IFJlcGxhY2Ug aW1hZ2UnLCAnaW1hZ2UtcmVwbGFjZScpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnSW1hZ2U6 IFVwbG9hZCB0aHVtYm5haWwnLCAnaW1hZ2UtdXBsb2FkLXRodW1iJykNCgkJLmllZF9vdXRwdXRf cHJlZl9saW5lKCdJbWFnZTogQ3JlYXRlIHRodW1ibmFpbCcsICdpbWFnZS1jcmVhdGUtdGh1bWIn KQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ0ltYWdlOiBJbWFnZSBuYW1lJywgJ2ltYWdlLW5h bWUnKQ0KCQkuaWVkX291dHB1dF9wcmVmX2xpbmUoJ0ltYWdlOiBDYXRlZ29yeScsICdpbWFnZS1j YXRlZ29yeScpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnSW1hZ2U6IEFsdCB0ZXh0JywgJ2lt YWdlLWFsdCcpDQoJCS5pZWRfb3V0cHV0X3ByZWZfbGluZSgnSW1hZ2U6IENhcHRpb24nLCAnaW1h Z2UtY2FwdGlvbicpCQkNCg0KCQkudHIodGRhKCcmbmJzcDsnLCcgc3R5bGU9ImJvcmRlcjowIicp LnRkYSggDQoJCSc8aW5wdXQgbmFtZT0iaWVkX2hpZGVfaW5fYWRtaW4iIHZhbHVlPSJTYXZlIiBj bGFzcz0icHVibGlzaCIgdHlwZT0ic3VibWl0IiBhY2Nlc3NrZXk9IlMiPicNCgkJLCcgY29sc3Bh bj0iNiIgc3R5bGU9ImJvcmRlcjowIicgICkpDQoJCS5lbmRUYWJsZSgpCQkJDQoJCS5zSW5wdXQo J3NhdmUnKQ0KCQkuZUlucHV0KCdpZWRfaGlkZV9pbl9hZG1pbl90YWInKQ0KCQkuaElucHV0KCdm aWVsZHMnLGltcGxvZGUoJGllZF9oaWRlX2luX2FkbWluWydmaWVsZHMnXSwnLCcpKQ0KCQkNCgkJ KTsNCgl9DQoJDQoJDQovLyAtLXN0ZXAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIGZ1bmN0aW9uIGllZF9oaWRlX2luX2FkbWluX3NhdmUo JG1lc3NhZ2U9JycpDQogIHsNCgkJLy8gc2F2aW5nIHByZWZzLi4uDQoJCSRmaWVsZHM9ZXhwbG9k ZSgnLCcsZ3BzKCdmaWVsZHMnKSk7DQoJCQ0KCQkNCgkJZm9yZWFjaCgkZmllbGRzIGFzICRmaWVs ZCkgew0KCQkJCSR2YWw9KGdwcygkZmllbGQuJzYnKT8nMSc6JzAnKQ0KCQkJCS4oZ3BzKCRmaWVs ZC4nNScpPycxJzonMCcpDQoJCQkJLihncHMoJGZpZWxkLic0Jyk/JzEnOicwJykNCgkJCQkuKGdw cygkZmllbGQuJzMnKT8nMSc6JzAnKQ0KCQkJCS4oZ3BzKCRmaWVsZC4nMicpPycxJzonMCcpDQoJ CQkJLihncHMoJGZpZWxkLicxJyk/JzEnOicwJyk7DQoJCQkNCgkJCXNldF9wcmVmKCdpZWRfaGlh XycuJGZpZWxkLCR2YWwsJ2llZF9oaWRlX2luX2FkbWluJywyKTsNCgkJfQ0KCQkNCgkJaWVkX2hp ZGVfaW5fYWRtaW5fbWFpbigncHJlZmVyZW5jZXMgc2F2ZWQnKTsNCgl9DQoNCi8vIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K CWZ1bmN0aW9uIGllZF9nZXRDdXN0b21GaWVsZHMoKQ0KCXsNCgkJZ2xvYmFsICRwcmVmczsNCgkJ JGkgPSAwOw0KCQl3aGlsZSAoJGkgPCAxMCkgew0KCQkJJGkrKzsNCgkJCWlmICghZW1wdHkoJHBy ZWZzWydjdXN0b21fJy4kaS4nX3NldCddKSkgew0KCQkJCSRvdXRbJGldID0gJHByZWZzWydjdXN0 b21fJy4kaS4nX3NldCddOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAoIWVtcHR5KCRvdXQpKSA/ICRv dXQgOiBmYWxzZTsNCgl9DQoNCg0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJZnVuY3Rpb24gaWVkX2hpZGVfaW5fYWRt aW5fZG8gKCR0aGluZywgJHVzZXJsZXZlbCwgJGpzb3V0LCAkanNvdXQyPScnKQ0KCXsNCgkJJHBy ZWY9ZmV0Y2goJ3ZhbCcsJ3R4cF9wcmVmcycsJ25hbWUnLCdpZWRfaGlhXycuJHRoaW5nKTsgaWYg KCEkcHJlZikgJHByZWY9JzExMTExMSc7DQoJCWlmIChpc19jYWxsYWJsZSgnZG9tX2F0dGFjaCcp JiYkanNvdXQyIT0nJykgew0KCQkJZWNobyAoJHByZWZbJHVzZXJsZXZlbF09PTApPyRqc291dDI6 Jyc7DQoJCX0gZWxzZSB7DQoJCQllY2hvICgkcHJlZlskdXNlcmxldmVsXT09MCk/JGpzb3V0Oicn Ow0KCQl9DQoJfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJZnVuY3Rpb24gaWVkX291dHB1dF9wcmVmX2xpbmUoJGNh cHRpb24sICRmaWVsZG5hbWUpIHsNCgkJDQoJCWdsb2JhbCAkaWVkX2hpZGVfaW5fYWRtaW47DQoJ CSRpZWRfaGlkZV9pbl9hZG1pblsnZmllbGRzJ11bXT0kZmllbGRuYW1lOw0KCQkkcHJlZj1mZXRj aCgndmFsJywndHhwX3ByZWZzJywnbmFtZScsJ2llZF9oaWFfJy4kZmllbGRuYW1lKTsNCgkJaWYg KCEkcHJlZikgeyAkcHJlZj0nMTExMTExJzsJaWYgKCRmaWVsZG5hbWU9PSdoaWRlLWluLWFkbWlu LWludGVyZmFjZScpICRwcmVmPScxMDAwMDAnOyB9DQoJCXJldHVybiB0cih0ZCgkY2FwdGlvbikN CgkJLnRkKCAoJGZpZWxkbmFtZSE9J2hpZGUtaW4tYWRtaW4taW50ZXJmYWNlJyk/Y2hlY2tib3gy KCRmaWVsZG5hbWUuJzYnLCRwcmVmWzBdKTpoSW5wdXQoJ2hpZGUtaW4tYWRtaW4taW50ZXJmYWNl NicsMSkgKQ0KCQkudGQoY2hlY2tib3gyKCRmaWVsZG5hbWUuJzUnLCRwcmVmWzFdKSkNCgkJLnRk KGNoZWNrYm94MigkZmllbGRuYW1lLic0JywkcHJlZlsyXSkpDQoJCS50ZChjaGVja2JveDIoJGZp ZWxkbmFtZS4nMycsJHByZWZbM10pKQ0KCQkudGQoY2hlY2tib3gyKCRmaWVsZG5hbWUuJzInLCRw cmVmWzRdKSkNCgkJLnRkKGNoZWNrYm94MigkZmllbGRuYW1lLicxJywkcHJlZls1XSkpDQoJCSk7 DQoJCQ0KCX0NCg0KDQoNCiI7czo0OiJoZWxwIjtzOjEwODoiPHA+SW4gIkhpZGUgaW4gYWRtaW4i IHRhYiBzcGVjaWZ5IHdoaWNoIGZpZWxkcyB5b3UgZG8gb3IgZG8gbm90IHdhbnQgdG8gc2VlIGFu ZCBmb3Igd2hpY2ggdXNlciBsZXZlbHMuPC9wPg0KIjtzOjQ6Im5hbWUiO3M6MTc6ImllZF9oaWRl X2luX2FkbWluIjtzOjc6InZlcnNpb24iO3M6NToiMC4xLjYiO3M6NDoidHlwZSI7czoxOiIxIjtz OjExOiJkZXNjcmlwdGlvbiI7czoyNzoiSGlkZXMgZmllbGRzIGluIGFkbWluIHBhbmVsIjtzOjY6 ImF1dGhvciI7czoxMToiWXVyYSBMaW5ueWsiO3M6NDoibGluayI7czoyMzoiaHR0cDovL2luc3Bp cmVkLmtpZXYudWEiO3M6Njoibm9tZXRhIjtiOjA7czoxMDoiYXV0aG9yX3VyaSI7czoyMzoiaHR0 cDovL2luc3BpcmVkLmtpZXYudWEiO3M6MzoibWQ1IjtzOjMyOiI0OTVkYjk5MGJhOTEyYmU5YzAx NmJlYzA3ZjkyZDFiYyI7fQ==