Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval("?>".base64_decode("PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4NCiA..
Decoded Output download
?>b'<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Diploma in Agriculture Result Checker</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
<style>
body {
background: linear-gradient(135deg, #74b9ff, #00cec9);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
color: #333;
font-family: \'Poppins\', sans-serif;
}
.container {
background: #fff;
padding: 30px;
border-radius: 15px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
max-width: 900px;
width: 100%;
}
h2 {
font-weight: 700;
color: #2d3436;
}
.table-container {
margin-top: 30px;
}
.table th {
background-color: #0984e3;
color: #fff;
text-transform: uppercase;
}
.table tbody tr:nth-child(even) {
background-color: #f1f2f6;
}
.table td, .table th {
text-align: center;
vertical-align: middle;
}
.gpa-label {
font-weight: bold;
font-size: 1.5rem;
padding: 10px;
border-radius: 5px;
text-align: center;
display: inline-block;
}
.gpa-label.high {
background-color: #2ecc71;
color: white;
}
.developer-info {
text-align: center;
margin-top: 30px;
font-size: 16px;
color: #2d3436;
font-weight: bold;
}
.alert {
transition: opacity 0.5s ease;
}
#downloadButton {
visibility: hidden;
}
#resultPage #downloadButton {
visibility: visible;
}
/* Hidden Date */
#downloadDate {
font-size: 12px;
color: #333;
text-align: center;
margin-top: 10px;
visibility: hidden; /* Initially hidden */
}
</style>
</head>
<body>
<div class="container">
<?php if (!isset($_GET[\'roll\'])): ?>
<!-- Roll input form (this page will hide download button) -->
<h2 class="text-center">Diploma in Agriculture Result Checker</h2>
<form method="GET" class="mt-4">
<div class="mb-3">
<label for="roll" class="form-label">Enter Roll Number:</label>
<input type="number" class="form-control" id="roll" name="roll" placeholder="Enter your roll number" required>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary w-50">View Result</button>
</div>
</form>
<?php else: ?>
<!-- Result page (this page will show download button) -->
<div id="resultPage">
<h2 class="text-center mt-4">Your Diploma in Agriculture Result</h2>
<!-- Display Roll Number -->
<h5 class="text-center">Roll Number: <?php echo htmlspecialchars($_GET[\'roll\']); ?></h5>
<?php
$roll = $_GET[\'roll\'];
$exam = "DIPLOMA+IN+AGRICULTURE";
$regulation = "2022";
$url = "https://btebresultszone.com/api/results/individual?roll=" . urlencode($roll) . "&exam=$exam®ulation=$regulation";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2,
CURLOPT_HTTPHEADER => array(
"Host: btebresultszone.com",
"sec-ch-ua-platform: \"Android\"",
"user-agent: Mozilla/5.0 (Linux; Android 11; Redmi Note 8 Build/RKQ1.201004.002) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.122 Mobile Safari/537.36",
"sec-ch-ua: \"Not A(Brand\";v=\"8\", \"Chromium\";v=\"132\", \"Android WebView\";v=\"132\"",
"sec-ch-ua-mobile: ?1",
"accept: */*",
"x-requested-with: mark.via.gp",
"sec-fetch-site: same-origin",
"sec-fetch-mode: cors",
"sec-fetch-dest: empty",
"referer: https://btebresultszone.com/results",
"accept-encoding: gzip, deflate, br, zstd",
"accept-language: en-US,en;q=0.9",
"cookie: _clck=1piggx8%7C2%7Cft5%7C0%7C1861",
"cookie: __cf_bm=F7hGRrRxoLf_nJTI.5wV2qTh7Te43gQWhZER0M_nsJk-1738692149-1.0.1.1-SHlHINIWovRk4DPu7Rz6_vxT1xXrhOXbeqvxzD0_6yww3HBf4YpBigDjNGOhp4YZZEF1c2mCFjBDqchtymf0VA",
"cookie: _clsk=i84y5h%7C1738692152053%7C1%7C1%7Cw.clarity.ms%2Fcollect",
"priority: u=1, i"
),
));
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error) {
echo "<div class=\'alert alert-danger mt-4\'>, </div>";
} else {
$decodedResponse = json_decode($response, true);
if (json_last_error() === JSON_ERROR_NONE) {
if (isset($decodedResponse[\'semester_results\'])) {
foreach ($decodedResponse[\'semester_results\'] as $result) {
if (isset($result[\'semester\'])) {
echo "<h5>Semester: " . $result[\'semester\'] . "</h5>";
echo "<table class=\'table table-striped table-bordered mt-3\'>";
echo "<thead><tr><th>Exam Date</th><th>GPA</th><th>Referred Subjects</th></tr></thead><tbody>";
if (isset($result[\'exam_results\']) && is_array($result[\'exam_results\'])) {
foreach ($result[\'exam_results\'] as $exam) {
$gpa = isset($exam[\'gpa\']) ? $exam[\'gpa\'] : \'\';
$referreds = \'\';
if (isset($exam[\'reffereds\']) && count($exam[\'reffereds\']) > 0) {
$referred_subjects = array_map(function($subject) {
return $subject[\'subject_name\'];
}, $exam[\'reffereds\']);
$referreds = implode(", ", $referred_subjects);
} else {
$referreds = \'None\';
}
$examDate = isset($exam[\'date\']) ? date("Y-m-d", strtotime($exam[\'date\'])) : \'N/A\';
$gpaClass = \'high\'; // All GPA results are green
echo "<tr><td>" . $examDate . "</td><td class=\'gpa-label " . $gpaClass . "\'>" . $gpa . "</td><td>" . $referreds . "</td></tr>";
}
} else {
echo "<tr><td colspan=\'3\'>No exam results found</td></tr>";
}
echo "</tbody></table>";
}
}
} else {
echo "<div class=\'alert alert-warning mt-4\'>No semester results found in the response.</div>";
}
} else {
echo "<div class=\'alert alert-warning mt-4\'>Response is not a valid JSON: " . htmlspecialchars($response) . "</div>";
}
}
// Developer Info
echo "<div class=\'developer-info\'>Developer: </div>";
// Developer disclaimer (hidden initially)
echo "<div id=\'disclaimer\' style=\'display: none; font-size: 14px; color: #2d3436; margin-top: 10px; text-align: center;\'>
This results sheet is provided by Tanvir Hossen Dipto and results sourced from bteb.gov.bd. Please verify the data independently for critical purposes, and note that Tanvir Hossen Dipto (Tanvir Hossen Dipto) is not liable for any errors or damages resulting from its use.
</div>";
?>
<!-- Visible only on result page -->
<div id="downloadButton" class="text-center mt-4">
<button class="btn btn-success" onclick="downloadImage()">Download Result </button>
</div>
<!-- Date for Download Image - Positioned below Roll Number -->
<div id="downloadDate" style="font-size: 12px; color: #333; text-align: center; margin-top: 10px;">
Downloaded on: <span id="downloadDateText"></span>
</div>
</div>
<?php endif; ?>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script>
function downloadImage() {
// Hide the download button before capturing the screenshot
document.getElementById(\'downloadButton\').style.visibility = \'hidden\';
// Get the current date
var currentDate = new Date();
var formattedDate = currentDate.toLocaleDateString(\'en-US\', {
year: \'numeric\',
month: \'long\',
day: \'numeric\'
});
// Set the download date text
document.getElementById(\'downloadDateText\').innerText = formattedDate;
// Show the disclaimer and date text only when capturing the screenshot
document.getElementById(\'disclaimer\').style.display = \'block\';
document.getElementById(\'downloadDate\').style.visibility = \'visible\'; // Make it visible when downloading
// Get the roll number dynamically
var rollNumber = "<?php echo htmlspecialchars($roll); ?>";
html2canvas(document.getElementById(\'resultPage\')).then(function(canvas) {
var link = document.createElement(\'a\');
link.download = rollNumber + \'-result.png\'; // Use roll number in the file name
link.href = canvas.toDataURL();
link.click();
// Hide the disclaimer and date text after downloading
document.getElementById(\'disclaimer\').style.display = \'none\';
document.getElementById(\'downloadDate\').style.visibility = \'hidden\'; // Hide after download
// Show the download button again after downloading
document.getElementById(\'downloadButton\').style.visibility = \'visible\';
});
}
</script>
</body>
</html>
'
Did this file decode correctly?
Original Code
<?php eval("?>".base64_decode("PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT5EaXBsb21hIGluIEFncmljdWx0dXJlIFJlc3VsdCBDaGVja2VyPC90aXRsZT4NCiAgICA8bGluayBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjMuMC9kaXN0L2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvaHRtbDJjYW52YXMvMS40LjEvaHRtbDJjYW52YXMubWluLmpzIj48L3NjcmlwdD4NCiAgICA8c3R5bGU+DQogICAgICAgIGJvZHkgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzc0YjlmZiwgIzAwY2VjOSk7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsNCiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICAgICAgICBjb2xvcjogIzMzMzsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7DQogICAgICAgIH0NCiAgICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgICAgICAgICAgcGFkZGluZzogMzBweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgICAgICAgICAgIG1heC13aWR0aDogOTAwcHg7DQogICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgfQ0KICAgICAgICBoMiB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgY29sb3I6ICMyZDM0MzY7DQogICAgICAgIH0NCiAgICAgICAgLnRhYmxlLWNvbnRhaW5lciB7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4Ow0KICAgICAgICB9DQogICAgICAgIC50YWJsZSB0aCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDk4NGUzOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICB9DQogICAgICAgIC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNjsNCiAgICAgICAgfQ0KICAgICAgICAudGFibGUgdGQsIC50YWJsZSB0aCB7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICANCiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICANCiAgICAgICAgfQ0KICAgICAgICAuZ3BhLWxhYmVsIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07DQogICAgICAgICAgICBwYWRkaW5nOiAxMHB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgDQogICAgICAgIH0NCiAgICAgICAgLmdwYS1sYWJlbC5oaWdoIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNzE7DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgIH0NCiAgICAgICAgLmRldmVsb3Blci1pbmZvIHsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgICAgICBjb2xvcjogIzJkMzQzNjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgICB9DQogICAgICAgIC5hbGVydCB7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTsNCiAgICAgICAgfQ0KICAgICAgICAjZG93bmxvYWRCdXR0b24gew0KICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgICAgICB9DQogICAgICAgICNyZXN1bHRQYWdlICNkb3dubG9hZEJ1dHRvbiB7DQogICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICAgICAgICB9DQogICAgICAgIC8qIEhpZGRlbiBEYXRlICovDQogICAgICAgICNkb3dubG9hZERhdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICAgICAgICAgY29sb3I6ICMzMzM7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyAgLyogSW5pdGlhbGx5IGhpZGRlbiAqLw0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgIDw/cGhwIGlmICghaXNzZXQoJF9HRVRbJ3JvbGwnXSkpOiA/Pg0KICAgICAgICA8IS0tIFJvbGwgaW5wdXQgZm9ybSAodGhpcyBwYWdlIHdpbGwgaGlkZSBkb3dubG9hZCBidXR0b24pIC0tPg0KICAgICAgICA8aDIgY2xhc3M9InRleHQtY2VudGVyIj5EaXBsb21hIGluIEFncmljdWx0dXJlIFJlc3VsdCBDaGVja2VyPC9oMj4NCiAgICAgICAgPGZvcm0gbWV0aG9kPSJHRVQiIGNsYXNzPSJtdC00Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTMiPg0KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9InJvbGwiIGNsYXNzPSJmb3JtLWxhYmVsIj5FbnRlciBSb2xsIE51bWJlcjo8L2xhYmVsPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJyb2xsIiBuYW1lPSJyb2xsIiBwbGFjZWhvbGRlcj0iRW50ZXIgeW91ciByb2xsIG51bWJlciIgcmVxdWlyZWQ+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSB3LTUwIj5WaWV3IFJlc3VsdDwvYnV0dG9uPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZm9ybT4NCiAgICA8P3BocCBlbHNlOiA/Pg0KICAgICAgICA8IS0tIFJlc3VsdCBwYWdlICh0aGlzIHBhZ2Ugd2lsbCBzaG93IGRvd25sb2FkIGJ1dHRvbikgLS0+DQogICAgICAgIDxkaXYgaWQ9InJlc3VsdFBhZ2UiPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LWNlbnRlciBtdC00Ij5Zb3VyIERpcGxvbWEgaW4gQWdyaWN1bHR1cmUgUmVzdWx0PC9oMj4NCg0KICAgICAgICAgICAgPCEtLSBEaXNwbGF5IFJvbGwgTnVtYmVyIC0tPg0KICAgICAgICAgICAgPGg1IGNsYXNzPSJ0ZXh0LWNlbnRlciI+Um9sbCBOdW1iZXI6IDw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkX0dFVFsncm9sbCddKTsgPz48L2g1Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8P3BocA0KICAgICAgICAgICAgJHJvbGwgPSAkX0dFVFsncm9sbCddOw0KICAgICAgICAgICAgJGV4YW0gPSAiRElQTE9NQStJTitBR1JJQ1VMVFVSRSI7DQogICAgICAgICAgICAkcmVndWxhdGlvbiA9ICIyMDIyIjsNCg0KICAgICAgICAgICAgJHVybCA9ICJodHRwczovL2J0ZWJyZXN1bHRzem9uZS5jb20vYXBpL3Jlc3VsdHMvaW5kaXZpZHVhbD9yb2xsPSIgLiB1cmxlbmNvZGUoJHJvbGwpIC4gIiZleGFtPSRleGFtJnJlZ3VsYXRpb249JHJlZ3VsYXRpb24iOw0KDQogICAgICAgICAgICAkY3VybCA9IGN1cmxfaW5pdCgpOw0KDQogICAgICAgICAgICBjdXJsX3NldG9wdF9hcnJheSgkY3VybCwgYXJyYXkoDQogICAgICAgICAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJHVybCwNCiAgICAgICAgICAgICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IHRydWUsDQogICAgICAgICAgICAgICAgQ1VSTE9QVF9IVFRQX1ZFUlNJT04gPT4gQ1VSTF9IVFRQX1ZFUlNJT05fMiwNCiAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkoDQogICAgICAgICAgICAgICAgICAgICJIb3N0OiBidGVicmVzdWx0c3pvbmUuY29tIiwNCiAgICAgICAgICAgICAgICAgICAgInNlYy1jaC11YS1wbGF0Zm9ybTogXCJBbmRyb2lkXCIiLA0KICAgICAgICAgICAgICAgICAgICAidXNlci1hZ2VudDogTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDExOyBSZWRtaSBOb3RlIDggQnVpbGQvUktRMS4yMDEwMDQuMDAyKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTMyLjAuNjgzNC4xMjIgTW9iaWxlIFNhZmFyaS81MzcuMzYiLA0KICAgICAgICAgICAgICAgICAgICAic2VjLWNoLXVhOiBcIk5vdCBBKEJyYW5kXCI7dj1cIjhcIiwgXCJDaHJvbWl1bVwiO3Y9XCIxMzJcIiwgXCJBbmRyb2lkIFdlYlZpZXdcIjt2PVwiMTMyXCIiLA0KICAgICAgICAgICAgICAgICAgICAic2VjLWNoLXVhLW1vYmlsZTogPzEiLA0KICAgICAgICAgICAgICAgICAgICAiYWNjZXB0OiAqLyoiLA0KICAgICAgICAgICAgICAgICAgICAieC1yZXF1ZXN0ZWQtd2l0aDogbWFyay52aWEuZ3AiLA0KICAgICAgICAgICAgICAgICAgICAic2VjLWZldGNoLXNpdGU6IHNhbWUtb3JpZ2luIiwNCiAgICAgICAgICAgICAgICAgICAgInNlYy1mZXRjaC1tb2RlOiBjb3JzIiwNCiAgICAgICAgICAgICAgICAgICAgInNlYy1mZXRjaC1kZXN0OiBlbXB0eSIsDQogICAgICAgICAgICAgICAgICAgICJyZWZlcmVyOiBodHRwczovL2J0ZWJyZXN1bHRzem9uZS5jb20vcmVzdWx0cyIsDQogICAgICAgICAgICAgICAgICAgICJhY2NlcHQtZW5jb2Rpbmc6IGd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIiwNCiAgICAgICAgICAgICAgICAgICAgImFjY2VwdC1sYW5ndWFnZTogZW4tVVMsZW47cT0wLjkiLA0KICAgICAgICAgICAgICAgICAgICAiY29va2llOiBfY2xjaz0xcGlnZ3g4JTdDMiU3Q2Z0NSU3QzAlN0MxODYxIiwNCiAgICAgICAgICAgICAgICAgICAgImNvb2tpZTogX19jZl9ibT1GN2hHUnJSeG9MZl9uSlRJLjV3VjJxVGg3VGU0M2dRV2haRVIwTV9uc0prLTE3Mzg2OTIxNDktMS4wLjEuMS1TSGxISU5JV292Ums0RFB1N1J6Nl92eFQxeFhyaE9YYmVxdnh6RDBfNnl3dzNIQmY0WXBCaWdEak5HT2hwNFlaWkVGMWMybUNGakJEcWNodHltZjBWQSIsDQogICAgICAgICAgICAgICAgICAgICJjb29raWU6IF9jbHNrPWk4NHk1aCU3QzE3Mzg2OTIxNTIwNTMlN0MxJTdDMSU3Q3cuY2xhcml0eS5tcyUyRmNvbGxlY3QiLA0KICAgICAgICAgICAgICAgICAgICAicHJpb3JpdHk6IHU9MSwgaSINCiAgICAgICAgICAgICAgICApLA0KICAgICAgICAgICAgKSk7DQoNCiAgICAgICAgICAgICRyZXNwb25zZSA9IGN1cmxfZXhlYygkY3VybCk7DQogICAgICAgICAgICAkZXJyb3IgPSBjdXJsX2Vycm9yKCRjdXJsKTsNCg0KICAgICAgICAgICAgY3VybF9jbG9zZSgkY3VybCk7DQoNCiAgICAgICAgICAgIGlmICgkZXJyb3IpIHsNCiAgICAgICAgICAgICAgICBlY2hvICI8ZGl2IGNsYXNzPSdhbGVydCBhbGVydC1kYW5nZXIgbXQtNCc+4Kam4KeB4KaD4KaW4Ka/4KakLCDgpobgpqrgpqjgpr7gprAg4KaH4Kao4KeN4Kaf4Ka+4Kaw4Kao4KeH4KafIOCmleCmvuCmqOCnh+CmleCmtuCmqCDgpprgpr7gprLgp4Eg4KaV4Kaw4KeB4Kao4KWkPC9kaXY+IjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJGRlY29kZWRSZXNwb25zZSA9IGpzb25fZGVjb2RlKCRyZXNwb25zZSwgdHJ1ZSk7DQoNCiAgICAgICAgICAgICAgICBpZiAoanNvbl9sYXN0X2Vycm9yKCkgPT09IEpTT05fRVJST1JfTk9ORSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGRlY29kZWRSZXNwb25zZVsnc2VtZXN0ZXJfcmVzdWx0cyddKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGRlY29kZWRSZXNwb25zZVsnc2VtZXN0ZXJfcmVzdWx0cyddIGFzICRyZXN1bHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJHJlc3VsdFsnc2VtZXN0ZXInXSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGg1PlNlbWVzdGVyOiAiIC4gJHJlc3VsdFsnc2VtZXN0ZXInXSAuICI8L2g1PiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjx0YWJsZSBjbGFzcz0ndGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZCBtdC0zJz4iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGhlYWQ+PHRyPjx0aD5FeGFtIERhdGU8L3RoPjx0aD5HUEE8L3RoPjx0aD5SZWZlcnJlZCBTdWJqZWN0czwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT4iOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkcmVzdWx0WydleGFtX3Jlc3VsdHMnXSkgJiYgaXNfYXJyYXkoJHJlc3VsdFsnZXhhbV9yZXN1bHRzJ10pKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydleGFtX3Jlc3VsdHMnXSBhcyAkZXhhbSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncGEgPSBpc3NldCgkZXhhbVsnZ3BhJ10pID8gJGV4YW1bJ2dwYSddIDogJ+KdjCc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZmVycmVkcyA9ICcnOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRleGFtWydyZWZmZXJlZHMnXSkgJiYgY291bnQoJGV4YW1bJ3JlZmZlcmVkcyddKSA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZmVycmVkX3N1YmplY3RzID0gYXJyYXlfbWFwKGZ1bmN0aW9uKCRzdWJqZWN0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHN1YmplY3RbJ3N1YmplY3RfbmFtZSddOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAkZXhhbVsncmVmZmVyZWRzJ10pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVmZXJyZWRzID0gaW1wbG9kZSgiLCAiLCAkcmVmZXJyZWRfc3ViamVjdHMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWZlcnJlZHMgPSAnTm9uZSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV4YW1EYXRlID0gaXNzZXQoJGV4YW1bJ2RhdGUnXSkgPyBkYXRlKCJZLW0tZCIsIHN0cnRvdGltZSgkZXhhbVsnZGF0ZSddKSkgOiAnTi9BJzsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncGFDbGFzcyA9ICdoaWdoJzsgLy8gQWxsIEdQQSByZXN1bHRzIGFyZSBncmVlbg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPHRyPjx0ZD4iIC4gJGV4YW1EYXRlIC4gIjwvdGQ+PHRkIGNsYXNzPSdncGEtbGFiZWwgIiAuICRncGFDbGFzcyAuICInPiIgLiAkZ3BhIC4gIjwvdGQ+PHRkPiIgLiAkcmVmZXJyZWRzIC4gIjwvdGQ+PC90cj4iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPHRyPjx0ZCBjb2xzcGFuPSczJz5ObyBleGFtIHJlc3VsdHMgZm91bmQ8L3RkPjwvdHI+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjwvdGJvZHk+PC90YWJsZT4iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjxkaXYgY2xhc3M9J2FsZXJ0IGFsZXJ0LXdhcm5pbmcgbXQtNCc+Tm8gc2VtZXN0ZXIgcmVzdWx0cyBmb3VuZCBpbiB0aGUgcmVzcG9uc2UuPC9kaXY+IjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGVjaG8gIjxkaXYgY2xhc3M9J2FsZXJ0IGFsZXJ0LXdhcm5pbmcgbXQtNCc+UmVzcG9uc2UgaXMgbm90IGEgdmFsaWQgSlNPTjogIiAuIGh0bWxzcGVjaWFsY2hhcnMoJHJlc3BvbnNlKSAuICI8L2Rpdj4iOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gRGV2ZWxvcGVyIEluZm8NCiAgICAgICAgICAgIGVjaG8gIjxkaXYgY2xhc3M9J2RldmVsb3Blci1pbmZvJz5EZXZlbG9wZXI6IPCdl6fwnZeu8J2Xu/CdmIPwnZe28J2XvyDwnZeb8J2XvPCdmIDwnZiA8J2XsvCdl7sg8J2Xl/Cdl7bwnZe98J2YgfCdl7w8L2Rpdj4iOw0KICAgICAgICAgICAgDQogICAgICAgICAgICAvLyBEZXZlbG9wZXIgZGlzY2xhaW1lciAoaGlkZGVuIGluaXRpYWxseSkNCiAgICAgICAgICAgIGVjaG8gIjxkaXYgaWQ9J2Rpc2NsYWltZXInIHN0eWxlPSdkaXNwbGF5OiBub25lOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjMmQzNDM2OyBtYXJnaW4tdG9wOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Jz4NCiAgICAgICAgICAgICAgICAgICAgVGhpcyByZXN1bHRzIHNoZWV0IGlzIHByb3ZpZGVkIGJ5IFRhbnZpciBIb3NzZW4gRGlwdG8gYW5kIHJlc3VsdHMgc291cmNlZCBmcm9tIGJ0ZWIuZ292LmJkLiBQbGVhc2UgdmVyaWZ5IHRoZSBkYXRhIGluZGVwZW5kZW50bHkgZm9yIGNyaXRpY2FsIHB1cnBvc2VzLCBhbmQgbm90ZSB0aGF0IFRhbnZpciBIb3NzZW4gRGlwdG8gKFRhbnZpciBIb3NzZW4gRGlwdG8pIGlzIG5vdCBsaWFibGUgZm9yIGFueSBlcnJvcnMgb3IgZGFtYWdlcyByZXN1bHRpbmcgZnJvbSBpdHMgdXNlLg0KICAgICAgICAgICAgICAgICAgPC9kaXY+IjsNCg0KICAgICAgICAgICAgPz4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPCEtLSBWaXNpYmxlIG9ubHkgb24gcmVzdWx0IHBhZ2UgLS0+DQogICAgICAgICAgICA8ZGl2IGlkPSJkb3dubG9hZEJ1dHRvbiIgY2xhc3M9InRleHQtY2VudGVyIG10LTQiPg0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3VjY2VzcyIgb25jbGljaz0iZG93bmxvYWRJbWFnZSgpIj5Eb3dubG9hZCBSZXN1bHQgICDwn5OlPC9idXR0b24+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPCEtLSBEYXRlIGZvciBEb3dubG9hZCBJbWFnZSAtIFBvc2l0aW9uZWQgYmVsb3cgUm9sbCBOdW1iZXIgLS0+DQogICAgICAgICAgICA8ZGl2IGlkPSJkb3dubG9hZERhdGUiIHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiAjMzMzOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6IDEwcHg7Ij4NCiAgICAgICAgICAgICAgICBEb3dubG9hZGVkIG9uOiA8c3BhbiBpZD0iZG93bmxvYWREYXRlVGV4dCI+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDw/cGhwIGVuZGlmOyA/Pg0KPC9kaXY+DQoNCjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjMuMC9kaXN0L2pzL2Jvb3RzdHJhcC5idW5kbGUubWluLmpzIj48L3NjcmlwdD4NCg0KPHNjcmlwdD4NCiAgICBmdW5jdGlvbiBkb3dubG9hZEltYWdlKCkgew0KICAgICAgICAvLyBIaWRlIHRoZSBkb3dubG9hZCBidXR0b24gYmVmb3JlIGNhcHR1cmluZyB0aGUgc2NyZWVuc2hvdA0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG93bmxvYWRCdXR0b24nKS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7DQogICAgICAgIA0KICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgZGF0ZQ0KICAgICAgICB2YXIgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgZm9ybWF0dGVkRGF0ZSA9IGN1cnJlbnREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCB7DQogICAgICAgICAgICB5ZWFyOiAnbnVtZXJpYycsDQogICAgICAgICAgICBtb250aDogJ2xvbmcnLA0KICAgICAgICAgICAgZGF5OiAnbnVtZXJpYycNCiAgICAgICAgfSk7DQoNCiAgICAgICAgLy8gU2V0IHRoZSBkb3dubG9hZCBkYXRlIHRleHQNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rvd25sb2FkRGF0ZVRleHQnKS5pbm5lclRleHQgPSBmb3JtYXR0ZWREYXRlOw0KDQogICAgICAgIC8vIFNob3cgdGhlIGRpc2NsYWltZXIgYW5kIGRhdGUgdGV4dCBvbmx5IHdoZW4gY2FwdHVyaW5nIHRoZSBzY3JlZW5zaG90DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXNjbGFpbWVyJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb3dubG9hZERhdGUnKS5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnOyAgLy8gTWFrZSBpdCB2aXNpYmxlIHdoZW4gZG93bmxvYWRpbmcNCg0KICAgICAgICAvLyBHZXQgdGhlIHJvbGwgbnVtYmVyIGR5bmFtaWNhbGx5DQogICAgICAgIHZhciByb2xsTnVtYmVyID0gIjw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkcm9sbCk7ID8+IjsNCg0KICAgICAgICBodG1sMmNhbnZhcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0UGFnZScpKS50aGVuKGZ1bmN0aW9uKGNhbnZhcykgew0KICAgICAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgICAgICBsaW5rLmRvd25sb2FkID0gcm9sbE51bWJlciArICctcmVzdWx0LnBuZyc7IC8vIFVzZSByb2xsIG51bWJlciBpbiB0aGUgZmlsZSBuYW1lDQogICAgICAgICAgICBsaW5rLmhyZWYgPSBjYW52YXMudG9EYXRhVVJMKCk7DQogICAgICAgICAgICBsaW5rLmNsaWNrKCk7DQoNCiAgICAgICAgICAgIC8vIEhpZGUgdGhlIGRpc2NsYWltZXIgYW5kIGRhdGUgdGV4dCBhZnRlciBkb3dubG9hZGluZw0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rpc2NsYWltZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rvd25sb2FkRGF0ZScpLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJzsgIC8vIEhpZGUgYWZ0ZXIgZG93bmxvYWQNCg0KICAgICAgICAgICAgLy8gU2hvdyB0aGUgZG93bmxvYWQgYnV0dG9uIGFnYWluIGFmdGVyIGRvd25sb2FkaW5nDQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG93bmxvYWRCdXR0b24nKS5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnOw0KICAgICAgICB9KTsNCiAgICB9DQo8L3NjcmlwdD4NCg0KPC9ib2R5Pg0KPC9odG1sPg0K")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 78759673b4f009b81b6f3dfde21a7984 |
Eval Count | 1 |
Decode Time | 249 ms |