Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions PrometheOSUtility/PrometheOSPacker/bundle/hddlock.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE html><html lang=en data-theme=dark><head><meta charset=utf-8 /><meta name=viewport content="width=device-width, initial-scale=1, shrink-to-fit=no" /><title>PrometheOS</title><link rel=icon type=image/x-icon href=favicon.ico /><link href=pico.css rel=stylesheet /></head><body><main class=container><form id=lockform><h2>PrometheOS: HDD Lock / Unlock</h2><br /><div id=content><span>Please Wait...</span></div><br /><div class=grid><a role=button class=secondary href=utilities.html>Back</a></div><br /><div><b>Copyright 2024 - Team Cerbios + Team Resurgent</b></div></form></main><script src=hddlock.js></script></body></html>
50 changes: 50 additions & 0 deletions PrometheOSUtility/PrometheOSPacker/bundle/hddlock.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
let nonce = 0;
window.onload = function () {
querydrive();
}
async function querydrive() {
nonce = (Math.random() * 4294967295) - 2147483647;
let content = document.getElementById("content");
await fetch(`http://192.168.1.66/api/drive.json?0&${nonce}`).catch(error => {
content.innerHTML = "Failed to connect.";
}).then(async response => {
const json = await response.json();
const lockStatus = json.locked ? "Locked" : "Unlocked";
const buttonLabel = json.locked ? "Unlock" : "Lock";
let contentBody = `<label for="model">Model:</span><div id="model">${json.model}</div><br /><label for="serial"><b>Serial:</b></label><div id="serial">${json.serial}</div><br /><label for="status"><b>Status:</b></label><div id="status">${lockStatus}</div><br /><hr /><div class="grid"><a id="locktoggle" role="button" href="javascript:void(0)" onclick="setLocked(${!json.locked})">${buttonLabel}</a></div>`;
content.innerHTML = contentBody;
});
}
async function setLocked(toStatus) {
const button = document.getElementById("locktoggle")
button.setAttribute("disabled", true);
button.setAttribute("onclick", "javascript:void(0)");
if (toStatus) {
button.innerHTML = "Locking...";
} else {
button.innerHTML = "Unlocking...";
}
await fetch(`http://192.168.1.66/api/hddlockunlock?${toStatus ? 1 : 0}&${nonce}`).then(async response => {
const json = await response.json();
switch (json.status) {
case 0: button.innerHTML = "No result"; break;
case 1: button.innerHTML = "Unlocked"; break;
case 2: button.innerHTML = "VSC Unlocked"; break;
case 3: button.innerHTML = "Failed to unlock HDD"; break;
case 4: button.innerHTML = "Already unlocked"; break;
case 5: button.innerHTML = "Locked"; break;
case 6: button.innerHTML = "Failed to lock HDD"; break;
case 7: button.innerHTML = "Already locked"; break;
case 8: button.innerHTML = "Locking not supported"; break;
case 9: button.innerHTML = "Unable to decrypt EEPROM"; break;
case 10: button.innerHTML = "Unlocking..."; break;
case 11: button.innerHTML = "VSC Unlocking..."; break;
case 12: button.innerHTML = "Locking..."; break;
}
setTimeout(() => {
querydrive();
}, 2000);
}).catch(() => {
button.innerHTML = "Failed";
})
}
2 changes: 1 addition & 1 deletion PrometheOSUtility/PrometheOSPacker/bundle/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html lang=en data-theme=dark><head><meta charset=utf-8 /><meta name=viewport content="width=device-width, initial-scale=1, shrink-to-fit=no" /><title>PrometheOS</title><link rel=icon type=image/x-icon href=favicon.ico /><link href=pico.css rel=stylesheet /></head><body><main class=container><form><h2>PrometheOS</h2><div class=grid><a role=button href=launch.html>Launch BIOS</a></div><br /><div class=grid><a role=button href=remove.html>Remove BIOS</a></div><br /><div class=grid><a role=button href=flash.html>Flash BIOS</a></div><br /><div class=grid><a role=button href=downloads.html>Downloads</a></div><br /><div class=grid><a role=button href=cerbiosini.html>Cerbios INI</a></div><br /><div class=grid><a role=button href=javascript:void(0) onclick=screenshot()>Take Screenshot</a></div><br /><div class=grid><a role=button href=remoteview.html>Remote View</a></div><br /><div class=grid><a role=button href=javascript:void(0) onclick=reboot()>Reboot</a></div><br /><div class=grid><a role=button href=javascript:void(0) onclick=shutdown()>Shutdown</a></div><br /><div><b>Copyright 2024 - Team Cerbios + Team Resurgent</b></div></form></main><script src=index.js></script></body></html>
<!DOCTYPE html><html lang=en data-theme=dark><head><meta charset=utf-8 /><meta name=viewport content="width=device-width, initial-scale=1, shrink-to-fit=no" /><title>PrometheOS</title><link rel=icon type=image/x-icon href=favicon.ico /><link href=pico.css rel=stylesheet /></head><body><main class=container><form><h2>PrometheOS</h2><div class=grid><a role=button href=launch.html>Launch BIOS</a></div><br /><div class=grid><a role=button href=remove.html>Remove BIOS</a></div><br /><div class=grid><a role=button href=flash.html>Flash BIOS</a></div><br /><div class=grid><a role=button href=downloads.html>Downloads</a></div><br /><div class=grid><a role=button href=cerbiosini.html>Cerbios INI</a></div><br /><div class=grid><a role=button href=utilities.html>Utilities</a></div><br /><div class=grid><a role=button href=javascript:void(0) onclick=screenshot()>Take Screenshot</a></div><br /><div class=grid><a role=button href=remoteview.html>Remote View</a></div><br /><div class=grid><a role=button href=javascript:void(0) onclick=reboot()>Reboot</a></div><br /><div class=grid><a role=button href=javascript:void(0) onclick=shutdown()>Shutdown</a></div><br /><div><b>Copyright 2024 - Team Cerbios + Team Resurgent</b></div></form></main><script src=index.js></script></body></html>
1 change: 1 addition & 0 deletions PrometheOSUtility/PrometheOSPacker/bundle/utilities.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE html><html lang=en data-theme=dark><head><meta charset=utf-8 /><meta name=viewport content="width=device-width, initial-scale=1, shrink-to-fit=no" /><title>PrometheOS</title><link rel=icon type=image/x-icon href=favicon.ico /><link href=pico.css rel=stylesheet /></head><body><main class=container><form><h2>PrometheOS: Utilities</h2><br /><div class=grid><a role=button href=hddlock.html>HDD Lock / Unlock</a></div><br /><div class=grid><a role=button class=secondary href=index.html>Back</a></div><br /><div><b>Copyright 2024 - Team Cerbios + Team Resurgent</b></div></form></main></body></html>
30 changes: 30 additions & 0 deletions PrometheOSUtility/PrometheOSWeb/wwwroot/hddlock.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>PrometheOS</title>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<link href="pico.css" rel="stylesheet" />
</head>
<body>
<main class="container">
<form id="lockform">
<h2>PrometheOS: HDD Lock / Unlock</h2>
<br />
<div id="content">
<span>Please Wait...</span>
</div>
<br />
<div class="grid">
<a role="button" class="secondary" href="utilities.html">Back</a>
</div>
<br />
<div>
<b>Copyright 2024 - Team Cerbios + Team Resurgent</b>
</div>
</form>
</main>
<script src="hddlock.js"></script>
</body>
</html>
50 changes: 50 additions & 0 deletions PrometheOSUtility/PrometheOSWeb/wwwroot/hddlock.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
let nonce = 0;
window.onload = function () {
querydrive();
}
async function querydrive() {
nonce = (Math.random() * 4294967295) - 2147483647;
let content = document.getElementById("content");
await fetch(`http://192.168.1.66/api/drive.json?0&${nonce}`).catch(error => {
content.innerHTML = "Failed to connect.";
}).then(async response => {
const json = await response.json();
const lockStatus = json.locked ? "Locked" : "Unlocked";
const buttonLabel = json.locked ? "Unlock" : "Lock";
let contentBody = `<label for="model">Model:</span><div id="model">${json.model}</div><br /><label for="serial"><b>Serial:</b></label><div id="serial">${json.serial}</div><br /><label for="status"><b>Status:</b></label><div id="status">${lockStatus}</div><br /><hr /><div class="grid"><a id="locktoggle" role="button" href="javascript:void(0)" onclick="setLocked(${!json.locked})">${buttonLabel}</a></div>`;
content.innerHTML = contentBody;
});
}
async function setLocked(toStatus) {
const button = document.getElementById("locktoggle")
button.setAttribute("disabled", true);
button.setAttribute("onclick", "javascript:void(0)");
if (toStatus) {
button.innerHTML = "Locking...";
} else {
button.innerHTML = "Unlocking...";
}
await fetch(`http://192.168.1.66/api/hddlockunlock?${toStatus ? 1 : 0}&${nonce}`).then(async response => {
const json = await response.json();
switch (json.status) {
case 0: button.innerHTML = "No result"; break;
case 1: button.innerHTML = "Unlocked"; break;
case 2: button.innerHTML = "VSC Unlocked"; break;
case 3: button.innerHTML = "Failed to unlock HDD"; break;
case 4: button.innerHTML = "Already unlocked"; break;
case 5: button.innerHTML = "Locked"; break;
case 6: button.innerHTML = "Failed to lock HDD"; break;
case 7: button.innerHTML = "Already locked"; break;
case 8: button.innerHTML = "Locking not supported"; break;
case 9: button.innerHTML = "Unable to decrypt EEPROM"; break;
case 10: button.innerHTML = "Unlocking..."; break;
case 11: button.innerHTML = "VSC Unlocking..."; break;
case 12: button.innerHTML = "Locking..."; break;
}
setTimeout(() => {
querydrive();
}, 2000);
}).catch(() => {
button.innerHTML = "Failed";
})
}
4 changes: 4 additions & 0 deletions PrometheOSUtility/PrometheOSWeb/wwwroot/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ <h2>PrometheOS</h2>
<a role="button" href="cerbiosini.html">Cerbios INI</a>
</div>
<br />
<div class="grid">
<a role="button" href="utilities.html">Utilities</a>
</div>
<br />
<div class="grid">
<a role="button" href="javascript:void(0)" onclick="screenshot()">Take Screenshot</a>
</div>
Expand Down
29 changes: 29 additions & 0 deletions PrometheOSUtility/PrometheOSWeb/wwwroot/utilities.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>PrometheOS</title>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<link href="pico.css" rel="stylesheet" />
</head>
<body>
<main class="container">
<form>
<h2>PrometheOS: Utilities</h2>
<br />
<div class="grid">
<a role="button" href="hddlock.html">HDD Lock / Unlock</a>
</div>
<br />
<div class="grid">
<a role="button" class="secondary" href="index.html">Back</a>
</div>
<br />
<div>
<b>Copyright 2024 - Team Cerbios + Team Resurgent</b>
</div>
</form>
</main>
</body>
</html>
94 changes: 47 additions & 47 deletions PrometheOSXbe/PrometheOSXbe/Assets/Web/cerbiosini_html.h
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
#pragma once

const uint8_t cerbiosini_html[] = {
0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c,
0x68, 0x74, 0x6d, 0x6c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x65, 0x6e, 0x20, 0x64, 0x61, 0x74,
0x61, 0x2d, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x3d, 0x64, 0x61, 0x72, 0x6b, 0x3e, 0x3c, 0x68, 0x65,
0x61, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74,
0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x20, 0x2f, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e,
0x61, 0x6d, 0x65, 0x3d, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
0x6c, 0x2d, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3d, 0x31, 0x2c, 0x20, 0x73, 0x68, 0x72, 0x69, 0x6e,
0x6b, 0x2d, 0x74, 0x6f, 0x2d, 0x66, 0x69, 0x74, 0x3d, 0x6e, 0x6f, 0x22, 0x20, 0x2f, 0x3e, 0x3c,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x4f, 0x53,
0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65,
0x6c, 0x3d, 0x69, 0x63, 0x6f, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x66, 0x61,
0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x20, 0x2f, 0x3e, 0x3c, 0x6c, 0x69, 0x6e,
0x6b, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x70, 0x69, 0x63, 0x6f, 0x2e, 0x63, 0x73, 0x73, 0x20,
0x72, 0x65, 0x6c, 0x3d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x20, 0x2f,
0x3e, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x6d,
0x61, 0x69, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x3e, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x3c, 0x68, 0x32, 0x3e, 0x50, 0x72,
0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x4f, 0x53, 0x3a, 0x20, 0x43, 0x65, 0x72, 0x62, 0x69, 0x6f,
0x73, 0x20, 0x49, 0x4e, 0x49, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x3e, 0x3c,
0x73, 0x70, 0x61, 0x6e, 0x20, 0x69, 0x64, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3e,
0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x57, 0x61, 0x69, 0x74, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f,
0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x62, 0x72, 0x20, 0x2f,
0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x67, 0x72, 0x69, 0x64,
0x3e, 0x3c, 0x61, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20,
0x68, 0x72, 0x65, 0x66, 0x3d, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a,
0x76, 0x6f, 0x69, 0x64, 0x28, 0x30, 0x29, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x3d,
0x73, 0x65, 0x74, 0x43, 0x65, 0x72, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, 0x69, 0x28, 0x29, 0x3e,
0x53, 0x61, 0x76, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x72, 0x6f, 0x6c, 0x65,
0x3d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x69, 0x6e, 0x64,
0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x42, 0x61, 0x63, 0x6b, 0x3c, 0x2f, 0x61, 0x3e,
0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x3c, 0x64, 0x69, 0x76,
0x3e, 0x3c, 0x62, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30,
0x32, 0x34, 0x20, 0x2d, 0x20, 0x54, 0x65, 0x61, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x62, 0x69, 0x6f,
0x73, 0x20, 0x2b, 0x20, 0x54, 0x65, 0x61, 0x6d, 0x20, 0x52, 0x65, 0x73, 0x75, 0x72, 0x67, 0x65,
0x6e, 0x74, 0x3c, 0x2f, 0x62, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x66, 0x6f,
0x72, 0x6d, 0x3e, 0x3c, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x3e, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x63, 0x65, 0x72, 0x62, 0x69, 0x6f, 0x73, 0x69, 0x6e, 0x69,
0x2e, 0x6a, 0x73, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x2f, 0x62,
0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e
};
#pragma once
const uint8_t cerbiosini_html[] = {
0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c,
0x68, 0x74, 0x6d, 0x6c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x65, 0x6e, 0x20, 0x64, 0x61, 0x74,
0x61, 0x2d, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x3d, 0x64, 0x61, 0x72, 0x6b, 0x3e, 0x3c, 0x68, 0x65,
0x61, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74,
0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x20, 0x2f, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e,
0x61, 0x6d, 0x65, 0x3d, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
0x6c, 0x2d, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3d, 0x31, 0x2c, 0x20, 0x73, 0x68, 0x72, 0x69, 0x6e,
0x6b, 0x2d, 0x74, 0x6f, 0x2d, 0x66, 0x69, 0x74, 0x3d, 0x6e, 0x6f, 0x22, 0x20, 0x2f, 0x3e, 0x3c,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x4f, 0x53,
0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65,
0x6c, 0x3d, 0x69, 0x63, 0x6f, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x66, 0x61,
0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x20, 0x2f, 0x3e, 0x3c, 0x6c, 0x69, 0x6e,
0x6b, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x70, 0x69, 0x63, 0x6f, 0x2e, 0x63, 0x73, 0x73, 0x20,
0x72, 0x65, 0x6c, 0x3d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x20, 0x2f,
0x3e, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x6d,
0x61, 0x69, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x3e, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x3c, 0x68, 0x32, 0x3e, 0x50, 0x72,
0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x4f, 0x53, 0x3a, 0x20, 0x43, 0x65, 0x72, 0x62, 0x69, 0x6f,
0x73, 0x20, 0x49, 0x4e, 0x49, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x3e, 0x3c,
0x73, 0x70, 0x61, 0x6e, 0x20, 0x69, 0x64, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3e,
0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x57, 0x61, 0x69, 0x74, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f,
0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x62, 0x72, 0x20, 0x2f,
0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x67, 0x72, 0x69, 0x64,
0x3e, 0x3c, 0x61, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20,
0x68, 0x72, 0x65, 0x66, 0x3d, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a,
0x76, 0x6f, 0x69, 0x64, 0x28, 0x30, 0x29, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x3d,
0x73, 0x65, 0x74, 0x43, 0x65, 0x72, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, 0x69, 0x28, 0x29, 0x3e,
0x53, 0x61, 0x76, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x72, 0x6f, 0x6c, 0x65,
0x3d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x69, 0x6e, 0x64,
0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x42, 0x61, 0x63, 0x6b, 0x3c, 0x2f, 0x61, 0x3e,
0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x3c, 0x64, 0x69, 0x76,
0x3e, 0x3c, 0x62, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30,
0x32, 0x34, 0x20, 0x2d, 0x20, 0x54, 0x65, 0x61, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x62, 0x69, 0x6f,
0x73, 0x20, 0x2b, 0x20, 0x54, 0x65, 0x61, 0x6d, 0x20, 0x52, 0x65, 0x73, 0x75, 0x72, 0x67, 0x65,
0x6e, 0x74, 0x3c, 0x2f, 0x62, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x66, 0x6f,
0x72, 0x6d, 0x3e, 0x3c, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x3e, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x63, 0x65, 0x72, 0x62, 0x69, 0x6f, 0x73, 0x69, 0x6e, 0x69,
0x2e, 0x6a, 0x73, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x2f, 0x62,
0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e
};
Loading