ESA data 8
@@B64@@aWYobS5ydCkgYml0cy5wdXNoKGA8c3Bhbj4ke20ucnR9IGggcnVudGltZTwvc3Bhbj5gKTsKaWYobS5mbG9vcikgYml0cy5wdXNoKGA8c3Bhbj4ke20uZmxvb3J9PC9zcGFuPmApOwpyZXR1cm4gYml0cy5qb2luKCcnKTsKfQpmdW5jdGlvbiByZW5kZXJSZWNzKCl7CmNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWNzJyk7IGVsLmlubmVySFRNTD0nJzsKbGV0IGN1ckFyZWE9bnVsbDsKcmVjUmVzdWx0cy5mb3JFYWNoKChyLHJpKT0+ewppZihyLmFyZWEhPT1jdXJBcmVhKXtjdXJBcmVhPXIuYXJlYTtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2guY2xhc3NOYW1lPSdhcmVoZWFkJztoLnRleHRDb250ZW50PXIuYXJlYSsgKHIuc2l6ZT9gIMK3ICR7ci5zaXplfSBtwrJgOicnKTtlbC5hcHBlbmRDaGlsZChoKTt9CmlmKHIuZW1wdHkpe2NvbnN0IHJvYm89ci5tZXRob2QmJnIubWV0aG9kLmluZGV4T2YoJ1JvYm90aWMnKT09PTA7Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0ncmVjJztkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iYWx0cyIgc3R5bGU9ImJvcmRlci10b3A6bm9uZSI+JHtyb2JvP2BObyA8Yj5yb2JvdGljL2F1dG9ub21vdXM8L2I+IG9wdGlvbiBmb3IgPGI+JHtyLmNsfTwvYj4gb24gdGhpcyBmbG9vciB0eXBlIHlldCDigJQgb3VyIHRlYW0gY2FuIGFkdmlzZSBvbiBhIHJvYm90aWMgc29sdXRpb24gb3IgYSBtYW51YWwgYWx0ZXJuYXRpdmUuYDpgTm8gc3RvY2tlZCBtYWNoaW5lIG1hdGNoZXMgPGI+JHtyLmNsfTwvYj4gZm9yIHRoaXMgZmxvb3IgdHlwZSDigJQgb3VyIHRlYW0gd2lsbCBzcGVjIHRoaXMgbWFudWFsbHkuYH08L2Rpdj5gO2VsLmFwcGVuZENoaWxkKGQpO3JldHVybjt9CmNvbnN0IG09bUJ5SWQoci5waWNrZWQpOwpjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkLmNsYXNzTmFtZT0ncmVjJzsKZC5pbm5lckhUTUw9YAo8ZGl2IGNsYXNzPSJ0b3AiPgo8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJjYngiICR7ci5zZWxlY3RlZD8nY2hlY2tlZCc6Jyd9IG9uY2hhbmdlPSJ0b2dnbGVQaWNrKCR7cml9LHRoaXMuY2hlY2tlZCkiPgoke2NhdFRpbGUobSl9CjxkaXYgY2xhc3M9ImJvZHkiPgo8ZGl2IGNsYXNzPSJubSI+JHttLm5hbWV9IDxzcGFuIGNsYXNzPSJzbWFsbCI+KCR7ci5jbH0pPC9zcGFuPgo8c3BhbiBjbGFzcz0idGFnIHJlY28iPlJlY29tbWVuZGVkPC9zcGFuPiR7bS5hdXRvPyc8c3BhbiBjbGFzcz0idGFnIGF1dG8iPkF1dG9ub21vdXM8L3NwYW4+JzonJ308L2Rpdj4KPGRpdiBjbGFzcz0ic3BlY3MiPiR7c3BlY0xpbmUobSl9PC9kaXY+CjxkaXYgY2xhc3M9IndoeSI+JHtyLm5vdGVzW3IucGlja2VkXXx8Jyd9PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwcmljZSI+CjxkaXYgY2xhc3M9ImJpZyI+JHttb25leTAobS5wcmljZSl9PC9kaXY+CjxkaXYgY2xhc3M9ImxlYXNlIj5vciAke21vbmV5KG0ubDMpfS9tbyAoM3lyKTxicj4ke21vbmV5KG0ubDUpfS9tbyAoNXlyKTwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImFsdHMiPlN3YXAgbWFjaGluZToKPHNlbGVjdCBvbmNoYW5nZT0ic3dhcCgke3JpfSx0aGlzLnZhbHVlKSI+CiR7ci5vcHRpb25zLm1hcChpZD0+e2NvbnN0IG1tPW1CeUlkKGlkKTtyZXR1cm4gYDxvcHRpb24gdmFsdWU9IiR7aWR9IiAke2lkPT09ci5waWNrZWQ/J3NlbGVjdGVkJzonJ30+JHttbS5uYW1lfSDigJQgJHttb25leTAobW0ucHJpY2UpfSR7bW0ucHJvZD9gIMK3ICR7bW0ucHJvZC50b0xvY2FsZVN0cmluZygnZW4tR0InKX0gbcKyL2hgOicnfTwvb3B0aW9uPmA7fSkuam9pbignJyl9Cjwvc2VsZWN0Pgo8L2Rpdj5gOwplbC5hcHBlbmRDaGlsZChkKTsKfSk7CnVwZGF0ZVBpY2tDb3VudCgpOwp9CmZ1bmN0aW9uIHRvZ2dsZVBpY2socmksdil7cmVjUmVzdWx0c1tyaV0uc2VsZWN0ZWQ9djt1cGRhdGVQaWNrQ291bnQoKTt9CmZ1bmN0aW9uIHN3YXAocmksaWQpe3JlY1Jlc3VsdHNbcmldLnBpY2tlZD1pZDtyZW5kZXJSZWNzKCk7fQpmdW5jdGlvbiB1cGRhdGVQaWNrQ291bnQoKXtjb25zdCBuPXJlY1Jlc3VsdHMuZmlsdGVyKHI9PiFyLmVtcHR5JiZyLnNlbGVjdGVkKS5sZW5ndGg7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BpY2tDb3VudCcpLnRleHRDb250ZW50PW4rIiBtYWNoaW5lIisobiE9PTE/J3MnOicnKSsiIHNlbGVjdGVkIjt9Ci8qIC0tLS0tLS0tLS0gc3RlcCAzIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gYnVpbGRRdW90ZSgpeyBpZihyZWNSZXN1bHRzLmZpbHRlcihyPT4hci5lbXB0eSYmci5zZWxlY3RlZCkubGVuZ3RoPT09MCl7YWxlcnQoIlNlbGVjdCBhdCBsZWFzdCBvbmUgbWFjaGluZS4iKTtyZXR1cm47fSBnb1N0ZXAoMyk7IHJlbmRlclF1b3RlKCk7IH0KZnVuY3Rpb24gcmVuZGVyUXVvdGUoKXsKY29uc3QgaW5jPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YXQnKS5jaGVja2VkOyBjb25zdCB2Zj1pbmM/MS4yOjE7Ci8vIGFnZ3JlZ2F0ZSBpZGVudGljYWwgbWFjaGluZXMgaW50byBxdHkKY29uc3QgbWFwPXt9OwpyZWNSZXN1bHRzLmZpbHRlcihyPT4hci5lbXB0eSYmci5zZWxlY3RlZCkuZm9yRWFjaChyPT57Y29uc3QgbT1tQnlJZChyLnBpY2tlZCk7IGlmKCFtYXBbbS5pZF0pbWFwW20uaWRdPXttLHF0eTowLGFyZWFzOltdfTsgbWFwW20uaWRdLnF0eSsrOyBtYXBbbS5pZF0uYXJlYXMucHVzaChyLmFyZWErIiAoIityLmNsKyIpIik7fSk7CmNvbnN0IHJvd3M9T2JqZWN0LnZhbHVlcyhtYXApOwpsZXQgb3V0PTAsbDM9MCxsNT0wOwpjb25zdCBjdXN0PVtsZWFkLm5hbWUsbGVhZC5jbyxsZWFkLnNpdGVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgwrcgJyl8fCfigJQnOwpsZXQgaHRtbD1gPGRpdiBjbGFzcz0icWhlYWQiPjxkaXY+PGI+UXVvdGUgJHtRUkVGfTwvYj48ZGl2IGNsYXNzPSJyZWYiPlByZXBhcmVkIGZvcjogJHtjdXN0fTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZiI+JHtuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tR0InKX08L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzdW1tYXJ5Ij5gOwpyb3dzLmZvckVhY2goeD0+ewpjb25zdCBsaW5lPXgubS5wcmljZSp4LnF0eSp2Zjsgb3V0Kz1saW5lOyBsMys9eC5tLmwzKngucXR5KnZmOyBsNSs9eC5tLmw1KngucXR5KnZmOwpodG1sKz1gPGRpdiBjbGFzcz0ibGluZSI+PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlciI+JHtjYXRUaWxlKHgubSx0cnVlKX08ZGl2PiR7eC5xdHl9IMOXIDxiPiR7eC5tLm5hbWV9PC9iPjxicj48c3BhbiBjbGFzcz0ic21hbGwiPiR7eC5hcmVhcy5qb2luKCcsICcpfSR7eC5tLnBiYXNpcz09PSduJz8nIMK3IDxpPm5hdGlvbmFsLWFjY291bnQgcHJpY2U8L2k+JzonJ308L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+JHttb25leShsaW5lKX08YnI+PHNwYW4gY2xhc3M9InNtYWxsIj4ke21vbmV5KHgubS5sMyp4LnF0eSp2Zil9L21vIMK3IDN5cjwvc3Bhbj48L2Rpdj48L2Rpdj5gOwp9KTsKaHRtbCs9YDxkaXYgY2xhc3M9ImxpbmUgdG90Ij48ZGl2PlRvdGFsICgke2luYz8naW5jJzonZXgnfS4gVkFUKTwvZGl2PjxkaXY+JHttb25leShvdXQpfTwvZGl2PjwvZGl2PjwvZGl2PmA7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdW90ZScpLmlubmVySFRNTD1odG1sOwpsYXN0UXVvdGU9e3Jvd3Msb3V0LGwzLGw1LGluY307CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsZWFzZWJveCcpLmlubmVySFRNTD0KYDxkaXYgY2xhc3M9ImxiIj48ZGl2IGNsYXNzPSJ0Ij5PdXRyaWdodDwvZGl2PjxkaXYgY2xhc3M9Im4iPiR7bW9uZXkwKG91dCl9PC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImxiIj48ZGl2IGNsYXNzPSJ0Ij4zLXllYXIgbGVhc2U8L2Rpdj48ZGl2IGNsYXNzPSJuIj4ke21vbmV5KGwzKX08L2Rpdj48ZGl2IGNsYXNzPSJ0Ij5wZXIgbW9udGggw5cgMzY8L2Rpdj48L2Rpdj4KPGRpdiBjbGFzcz0ibGIiPjxkaXYgY2xhc3M9InQiPjUteWVhciBsZWFzZTwvZGl2PjxkaXYgY2xhc3M9Im4iPiR7bW9uZXkobDUpfTwvZGl2PjxkaXYgY2xhc3M9InQiPnBlciBtb250aCDDlyA2MDwvZGl2PjwvZGl2PmA7CmNvbnN0IGFueUVzdD1yb3dzLnNvbWUoeD0+eC5tLnBzcmM9PT0nZScpOwpjb25zdCBhbnlEZXJpdmVkPXJvd3Muc29tZSh4PT54Lm0ubHNyYz09PSdkJyk7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdW90ZW5vdGUnKS5pbm5lckhUTUw9CiJJbmRpY2F0aXZlIG9ubHkuICIrKGFueUVzdD8iU29tZSBwcm9kdWN0aXZpdHkgZmlndXJlcyBhcmUgZXN0aW1hdGVkIGZyb20gY2xlYW5pbmcgd2lkdGggKGNvbmZpcm0gYmVmb3JlIG9yZGVyKS4gIjoiIikrCihhbnlEZXJpdmVkPyJTb21lIGxlYXNlIGZpZ3VyZXMgZGVyaXZlZCBmcm9tIHN0YW5kYXJkIGZpbmFuY2UgZmFjdG9yICgzMy43Mi8yMi4zNyBwZXIgwqMxLDAwMCkuICI6IiIpKwoiTGVhc2Ugc3ViamVjdCB0byBmaW5hbmNlIGFwcHJvdmFsLiBFJk9FLiI7Cn0KLyogLS0tLS0tLS0tLSBlbWFpbCAvIGV4cG9ydCAtLS0tLS0tLS0tICovCmxldCBsYXN0UXVvdGU9bnVsbDsKZnVuY3Rpb24gcXVvdGVUZXh0KCl7CmlmKCFsYXN0UXVvdGUpIHJldHVybiAiIjsKY29uc3QgTD1bXTsKTC5wdXNoKCJVTFRSQSBDTEVBTklORyBTT0xVVElPTlMgTkkg4oCUIEVRVUlQTUVOVCBRVU9URSIpOwpMLnB1c2goIlF1b3RlIHJlZjogIitRUkVGKyIgICBEYXRlOiAiK25ldyBEYXRlKCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicpKTsKTC5wdXNoKCIiKTsKTC5wdXNoKCJQUkVQQVJFRCBGT1IiKTsKTC5wdXNoKCIgIE5hbWU6ICAgICIrKGxlYWQubmFtZXx8Ii0iKSk7CkwucHVzaCgiICBDb21wYW55OiAiKyhsZWFkLmNvfHwiLSIpKTsKTC5wdXNoKCIgIFNpdGU6ICAgICIrKGxlYWQuc2l0ZXx8Ii0iKSk7CkwucHVzaCgiICBFbWFpbDogICAiKyhsZWFkLmVtYWlsfHwiLSIpKyIgICBQaG9uZTogIisobGVhZC5waG9uZXx8Ii0iKSk7CkwucHVzaCgiIik7CkwucHVzaCgiUkVDT01NRU5ERUQgRVFVSVBNRU5UIik7Cmxhc3RRdW90ZS5yb3dzLmZvckVhY2goeD0+ewpMLnB1c2goIiAgIit4LnF0eSsiIHggIit4Lm0ubmFtZSsiICDigJQgICIrbW9uZXkoeC5tLnByaWNlKngucXR5KihsYXN0UXVvdGUuaW5jPzEuMjoxKSkpOwpMLnB1c2goIiAgICAgIEFyZWFzOiAiK3guYXJlYXMuam9pbignLCAnKSk7CmNvbnN0IHNwPVtdOyBpZih4Lm0udylzcC5wdXNoKHgubS53KyJtbSIpOyBpZih4Lm0ucHJvZClzcC5wdXNoKHgubS5wcm9kKyIgbcKyL2giKTsgaWYoeC5tLnBvd2VyKXNwLnB1c2goeC5tLnBvd2VyKTsKTC5wdXNoKCIgICAgICAiK3NwLmpvaW4oJyDCtyAnKSsiICAgVW5pdDogIittb25leSh4Lm0ucHJpY2UpKyIgICgzeXIgIittb25leSh4Lm0ubDMpKyIvbW8gwrcgNXlyICIrbW9uZXkoeC5tLmw1KSsiL21vKSIpOwp9KTsKTC5wdXNoKCIiKTsKTC5wdXNoKCJUT1RBTFMgKCIrKGxhc3RRdW90ZS5pbmM/ImluYyI6ImV4IikrIiBWQVQpIik7CkwucHVzaCgiICBPdXRyaWdodDogICAgICIrbW9uZXkobGFzdFF1b3RlLm91dCkpOwpMLnB1c2goIiAgMy15ZWFyIGxlYXNlOiAiK21vbmV5KGxhc3RRdW90ZS5sMykrIiAvIG1vbnRoIHggMzYiKTsKTC5wdXNoKCIgIDUteWVhciBsZWFzZTogIittb25leShsYXN0UXVvdGUubDUpKyIgLyBtb250aCB4IDYwIik7CkwucHVzaCgiIik7CkwucHVzaCgiSW5kaWNhdGl2ZSBvbmx5LiBMZWFzZSBzdWJqZWN0IHRvIGZpbmFuY2UgYXBwcm92YWwuIEUmT0UuIik7CnJldHVybiBMLmpvaW4oIlxuIik7Cn0KZnVuY3Rpb24gbWFpbHRvKHRvLHN1Yil7CndpbmRvdy5sb2NhdGlvbi5ocmVmPSJtYWlsdG86Iit0bysiP3N1YmplY3Q9IitlbmNvZGVVUklDb21wb25lbnQoc3ViKSsiJmJvZHk9IitlbmNvZGVVUklDb21wb25lbnQocXVvdGVUZXh0KCkpOwp9CmZ1bmN0aW9uIGVtYWlsUXVvdGUoKXsgaWYoIWxhc3RRdW90ZSl7YWxlcnQoIkJ1aWxkIHlvdXIgcXVvdGUgZmlyc3QuIik7cmV0dXJuO30gaWYoIWxlYWQuZW1haWwpe2FsZXJ0KCJBZGQgeW91ciBlbWFpbCBhYm92ZSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5LiIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsX2VtYWlsJykuZm9jdXMoKTtyZXR1cm47fSBtYWlsdG8obGVhZC5lbWFpbCwiWW91ciBVbHRyYSBDbGVhbmluZyBlcXVpcG1lbnQgcXVvdGUgIitRUkVGKTsgfQpmdW5jdGlvbiBzZW5kVG9VQ1MoKXsKaWYoIWxhc3RRdW90ZSl7YWxlcnQoIkJ1aWxkIHlvdXIgcXVvdGUgZmlyc3QuIik7cmV0dXJuO30KaWYoIWxlYWQubmFtZXx8IWxlYWQuZW1haWwpe2FsZXJ0KCJQbGVhc2UgYWRkIGF0IGxlYXN0IHlvdXIgbmFtZSBhbmQgZW1haWwgc28gd2UgY2FuIGZvbGxvdyB1cC4iKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbF9uYW1lJykuZm9jdXMoKTtyZXR1cm47fQpjb25zdCB3aG89W2xlYWQuY28sbGVhZC5zaXRlXS5maWx0ZXIoQm9vbGVhbikuam9pbignIC8gJyl8fGxlYWQubmFtZTsKbWFpbHRvKFNBTEVTX0lOQk9YLCAiTmV3IGVxdWlwbWVudCBxdW90ZSDigJQgIit3aG8rIiDigJQgIitRUkVGKTsKfQovKiAtLS0tLS0tLS0tIG5hdiAtLS0tLS0tLS0tICovCmZ1bmN0aW9uIGdvU3RlcChuKXtbMSwyLDNdLmZvckVhY2goaT0+e2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGVwJytpKS5jbGFzc0xpc3QudG9nZ2xlKCdoaWRkZW4nLGkhPT1uKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncycraSkuY2xhc3NMaXN0LnRvZ2dsZSgnb24nLGk9PT1uKTt9KTt3aW5kb3cuc2Nyb2xsVG8oMCwwKTt9Ci8qIGluaXQgKi8KYWRkQXJlYSgiUmVjZXB0aW9uIik7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=@@E64@@