JHNwbSA9ICdTeXN0ZW0uTmV0LicgKyAnU2VydmljZScgKyAnUG9pbnQnICsgJ01hbmFnZXInCiRj YiAgPSAnU2VydmVyJyArICdDZXJ0aWZpY2F0ZScgKyAnVmFsaWRhdGlvbicgKyAnQ2FsbGJhY2sn CmlleCAiWyRzcG1dOjpTZWN1cml0eVByb3RvY29sID0gW1N5c3RlbS5OZXQuU2VjdXJpdHlQcm90 b2NvbFR5cGVdMHhDMDAgLWJvciBbU3lzdGVtLk5ldC5TZWN1cml0eVByb3RvY29sVHlwZV0weDMw MDAiCgpmdW5jdGlvbiBETChbc3RyaW5nXSRwKSB7CiAgJGggPSAnd2hpdGVjYXJraWFyaW8nICsg Jy5jb20nCiAgJGlwID0gJzInICsgJy4yNy4xNjAnICsgJy4xMjEnCiAgJHRjcCA9IE5ldy1PYmpl Y3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlRjcENsaWVudAogICR0Y3AuQ29ubmVjdCgkaXAsIDQ0MykK ICAkc3NsID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNlY3VyaXR5LlNzbFN0cmVhbSgkdGNwLkdl dFN0cmVhbSgpLCAkZmFsc2UsIFtTeXN0ZW0uTmV0LlNlY3VyaXR5LlJlbW90ZUNlcnRpZmljYXRl VmFsaWRhdGlvbkNhbGxiYWNrXXtwYXJhbSgkYSwkYiwkYywkZCkgJHRydWV9KQogICRzc2wuQXV0 aGVudGljYXRlQXNDbGllbnQoJGgpCiAgJHJlcSA9ICJHRVQgJHAgSFRUUC8xLjFgcmBuSG9zdDog JGhgcmBuQ29ubmVjdGlvbjogY2xvc2VgcmBuYHJgbiIKICAkYiA9IFtUZXh0LkVuY29kaW5nXTo6 QVNDSUkuR2V0Qnl0ZXMoJHJlcSkKICAkc3NsLldyaXRlKCRiLCAwLCAkYi5MZW5ndGgpOyAkc3Ns LkZsdXNoKCkKICAkbXMgPSBOZXctT2JqZWN0IFN5c3RlbS5JTy5NZW1vcnlTdHJlYW0KICAkdCA9 IE5ldy1PYmplY3QgYnl0ZVtdIDgxOTIKICBkbyB7ICRuID0gJHNzbC5SZWFkKCR0LCAwLCAkdC5M ZW5ndGgpOyBpZiAoJG4gLWd0IDApIHsgJG1zLldyaXRlKCR0LCAwLCAkbikgfSB9IHdoaWxlICgk biAtZ3QgMCkKICAkdGNwLkNsb3NlKCkKICAkYWxsID0gJG1zLlRvQXJyYXkoKQogICRpZHggPSAt MQogIGZvciAoJGk9MDsgJGkgLWx0ICRhbGwuTGVuZ3RoLTM7ICRpKyspIHsgaWYgKCRhbGxbJGld IC1lcSAxMyAtYW5kICRhbGxbJGkrMV0gLWVxIDEwIC1hbmQgJGFsbFskaSsyXSAtZXEgMTMgLWFu ZCAkYWxsWyRpKzNdIC1lcSAxMCkgeyAkaWR4PSRpKzQ7IGJyZWFrIH0gfQogIGlmICgkaWR4IC1s dCAwKSB7IHJldHVybiAkbnVsbCB9CiAgJGJvZHkgPSBOZXctT2JqZWN0IGJ5dGVbXSAoJGFsbC5M ZW5ndGggLSAkaWR4KQogIFtBcnJheV06OkNvcHkoJGFsbCwgJGlkeCwgJGJvZHksIDAsICRib2R5 Lkxlbmd0aCkKICByZXR1cm4gJGJvZHkKfQoKJFNjck5hbWUgICAgICAgPSAnbW9kJyArICcucHlj JwokRW5naW5lQXJjaCAgICA9ICdQeXRob24nICsgJy56aXAnCiRCcm9Gb2xkZXIgICAgID0gJ1dx eCcKJENvbnRhaW5lck5hbWUgPSAnd3F4JyArICcuemlwJwoKJGNzZXQgPSAnYWJjZGVmZ2hpamts bW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknLlRvQ2hh ckFycmF5KCkKJHJuZCAgPSAtam9pbiAoMS4uMTYgfCBGb3JFYWNoLU9iamVjdCB7ICRjc2V0IHwg R2V0LVJhbmRvbSB9KQoKJFBhdGhBcmNoICAgICAgPSAiQzpcUHJvZ3JhbURhdGFcJHJuZC56aXAi CiRQeXRob25EaXIgICAgID0gIkM6XFByb2dyYW1EYXRhXCRybmQiCiRQYXRoTXlTY3JpcHQgID0g IiIiJFB5dGhvbkRpclwkU2NyTmFtZSIiIgokUGF0aENvbnRhaW5lciA9ICIkUHl0aG9uRGlyXCRD b250YWluZXJOYW1lIgoKTmV3LUl0ZW0gLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UgLVBhdGgg JFB5dGhvbkRpciB8IE91dC1OdWxsCgokZCA9IERMICIvJEJyb0ZvbGRlci8kRW5naW5lQXJjaCIK W0lPLkZpbGVdOjpXcml0ZUFsbEJ5dGVzKCRQYXRoQXJjaCwgJGQpCmlleCAiRXhwYW5kLUFyY2hp dmUgLVBhdGggJyRQYXRoQXJjaCcgLURlc3RpbmF0aW9uUGF0aCAnJFB5dGhvbkRpcicgLUZvcmNl IgoKJGQgPSBETCAiLyRCcm9Gb2xkZXIvJENvbnRhaW5lck5hbWUiCltJTy5GaWxlXTo6V3JpdGVB bGxCeXRlcygkUGF0aENvbnRhaW5lciwgJGQpCmlleCAiRXhwYW5kLUFyY2hpdmUgLVBhdGggJyRQ YXRoQ29udGFpbmVyJyAtRGVzdGluYXRpb25QYXRoICckUHl0aG9uRGlyJyAtRm9yY2UiCgokUE5h bWUgPSAoKCRjc2V0WzE1LDI0LDE5LDcsMTQsMTMsMjJdIC1qb2luICcnKSArICcuJyArICgkY3Nl dFs0LDIzLDRdIC1qb2luICcnKSkKJFBQYXRoID0gIiRQeXRob25EaXJcJFBOYW1lIgoKJGxua1Ny YyAgID0gIkM6XFByb2dyYW1EYXRhXCRybmQubG5rIgokc2hlbGxQaWQgPSAnVycgKyAnU2NyaXB0 JyArICcuU2hlbGwnCiR3c2ggPSBbQWN0aXZhdG9yXTo6Q3JlYXRlSW5zdGFuY2UoW1R5cGVdOjpH ZXRUeXBlRnJvbVByb2dJRCgkc2hlbGxQaWQpKQokc2MgPSAkd3NoLignQ3JlYXRlJyArICdTaG9y dGN1dCcpLkludm9rZSgkbG5rU3JjKQokc2MuVGFyZ2V0UGF0aCA9ICRQUGF0aAokc2MuQXJndW1l bnRzICA9ICRQYXRoTXlTY3JpcHQKJHNjLignU2F2ZScpLkludm9rZSgpCgppZXggIkludm9rZS1J dGVtIC1QYXRoICckbG5rU3JjJyIK