<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
    <style>
        /* Allgemeine Einstellungen */
        body {
            font-family: Arial, sans-serif;
            background: linear-gradient(135deg, rgba(255, 0, 0, 0.8), rgba(139, 0, 0, 0.8)); /* Roter Farbverlauf */
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            backdrop-filter: blur(8px); /* Hintergrundunschärfe */
        }

        .container {
            width: 320px;
            margin: 0 auto;
            padding: 20px;
            background: rgba(5, 5, 5, 0.3); /* Halbtransparenter Hintergrund */
            border-radius: 35px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 60px rgba(5, 5, 5, 1); /* Verstärkter Weißer Glow */
            backdrop-filter: blur(60px); /* Weiche Unschärfe */
            transition: all 0.3s ease; /* Sanfter Übergang */
        }

        .container:hover {
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 255, 255, 1); /* Stärkerer Schatten und Glow bei Hover */
        }

        .hidden {
            display: none;
        }

        /* Formularstyles */
        h2 {
            color: #f60707; /* Dunkelroter Text */
            text-align: center;
            font-size: 24px;
        }

        label {
            color: #333;
            font-size: 16px;
        }

        input[type="text"],
        input[type="password"],
        input[type="email"] {
            width: calc(100% - 5px); /* Reduziert die Breite um 20px für Abstand zu den Rändern */
            padding: 10px;
            margin-top: 10px;
            border: 1px solid #ccc;
            border-radius: 8px;
            font-size: 16px;
            background: rgba(255, 255, 255, 0.8);
            box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Breite enthalten sind */
        }

        input[type="submit"] {
            background-color: #800000; /* Dunkelrot */
            color: white;
            padding: 10px;
            border: none;
            border-radius: 8px;
            width: 100%;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
        }

        input[type="submit"]:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        #hwid-section {
            margin-top: 20px;
            text-align: center;
        }

        button {
            background-color: #800000;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222;
        }

        /* Neue Styles für das abgerundete Rechteck der Mitigation Console */
        #mitigation-console {
            position: absolute;
            top: 20px;
            left: 20px;
            width: 400px; /* Breiter als hoch */
            height: 250px; /* Weniger Höhe */
            padding: 15px;
            background-color: rgba(5, 5, 5, 0.3); /* Volle Sättigung, keine Transparenz */
            border-radius: 34px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 90px rgba(5, 5, 5, 1); /* Starker Schatten wie in der Mitte */
            backdrop-filter: blur(35px); /* Sehr starker Unschärfe-Effekt */
            overflow: auto; /* Scrollen ohne sichtbaren Scrollbalken */
            display: none; /* Standardmäßig verborgen */
        }


        /* Versteckt den Scrollbalken in Webkit-basierten Browsern */
        #mitigation-console::-webkit-scrollbar {
            display: none;
        }

        p {
            text-align: center;
        }

        /* Responsiveness */
        @media (max-width: 500px) {
            .container {
                width: 80%;
                padding: 15px;
            }
        }

        button {
            background-color: #800000; /* Dunkelrot */
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        /* Zentrierung des Buttons im Dashboard */
        #dashboard .centered {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
            gap: 10px; /* Lücke zwischen den Buttons */
        }
        a {
            text-decoration: none; /* Entfernt die Standard-Unterstreichung */
        }

        button {
            background-color: #800000; /* Dunkelrot */
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }


        #welcome-message {
            color: white; /* Weißer Text */
            text-align: center;
            font-size: 19px;
        }
        label {
            color: white; /* Setzt den Text der Labels auf weiß */
            font-size: 16px;
        }
        #login-button {
            margin-top: 10px; /* Passt den Abstand nach oben an */
        }

    </style>
</head>
<body>


<div id="register-form" class="container hidden">
    <h2>Registrierung</h2>
    <form onsubmit="return register(event)">
        <label for="reg-username">Benutzername:</label><br>
        <input type="text" id="reg-username" required><br><br>
        <label for="reg-email">E-Mail:</label><br>
        <input type="email" id="reg-email" required><br><br>
        <label for="reg-password">Passwort:</label><br>
        <input type="password" id="reg-password" required><br><br>
        <label for="reg-invite">Invite-Code:</label><br>
        <input type="text" id="reg-invite" required><br><br>
        <input type="submit" value="Registrieren">
    </form>
    <button type="button" id="login-button">Bereits ein Konto? Einloggen</button>
</div>

<!-- Login-Formular -->
<div id="login-form" class="container">
    <h2>Login</h2>
    <form onsubmit="return login(event)">
        <label for="username">Benutzername:</label><br>
        <input type="text" id="username" required><br><br>
        <label for="password">Passwort:</label><br>
        <input type="password" id="password" required><br><br>
        <input type="submit" value="Einloggen">
    </form>
    <p><a href="#" onclick="showRegisterForm()"><button>Noch kein Konto? Jetzt registrieren!</button></a></p>
</div>

<!-- Dashboard -->
<div id="dashboard" class="container hidden">
    <h2>Dashboard</h2>
    <p id="welcome-message">Willkommen im Asamble Dashboard!</p>

    <!-- Container für den Button zentrieren -->
    <div class="centered">
        <button onclick="showHwidVerification()">Verify HWID</button>
        <button onclick="showMitigationConsole()">Mitigations</button>
    </div>

    <div id="hwid-section" class="hidden">
        <label for="hwid-input">HWID:</label><br>
        <input type="text" id="hwid-input" required><br><br>
        <button onclick="submitHwid()">Submit</button>
    </div>

    <p><a href="#" onclick="logout()"><button>Abmelden</button></a></p>
</div>

<!-- Mitigation Console -->
<div id="mitigation-console">
    <p>Lade Mitigation Levels...</p>
</div>

<script>
    let currentUsername = '';

    (function(_0x542ea6,_0x115367){const _0x26b66e=_0x39bc,_0x44569d=_0x542ea6();while(!![]){try{const _0x3b8e35=parseInt(_0x26b66e(0x11a))/0x1+-parseInt(_0x26b66e(0x122))/0x2*(parseInt(_0x26b66e(0x118))/0x3)+-parseInt(_0x26b66e(0xf9))/0x4*(parseInt(_0x26b66e(0x129))/0x5)+parseInt(_0x26b66e(0x111))/0x6+parseInt(_0x26b66e(0xf1))/0x7*(-parseInt(_0x26b66e(0x132))/0x8)+-parseInt(_0x26b66e(0x11b))/0x9*(-parseInt(_0x26b66e(0x130))/0xa)+parseInt(_0x26b66e(0x11c))/0xb;if(_0x3b8e35===_0x115367)break;else _0x44569d['push'](_0x44569d['shift']());}catch(_0x130e6f){_0x44569d['push'](_0x44569d['shift']());}}}(_0x3a97,0x984f6));function loadMitigationLevels(){const _0xd018e8=_0x39bc;fetch(_0xd018e8(0x119),{'method':_0xd018e8(0x10b),'headers':{'Content-Type':_0xd018e8(0x135)}})['then'](_0x5ed264=>{const _0x47b34a=_0xd018e8;if(!_0x5ed264['ok'])throw new Error(_0x47b34a(0x126)+_0x5ed264[_0x47b34a(0x12c)]);return _0x5ed264[_0x47b34a(0xea)]();})[_0xd018e8(0x123)](_0x1de9d2=>{const _0x53996f=_0xd018e8,_0x50a942=document[_0x53996f(0xf8)](_0x53996f(0x131));_0x50a942[_0x53996f(0xe9)]='',_0x1de9d2&&_0x1de9d2[_0x53996f(0x11e)]>0x0?_0x1de9d2[_0x53996f(0x113)](_0x24451=>{const _0x5e86c1=_0x53996f,_0x4fa083=document[_0x5e86c1(0x112)]('p'),_0x3439a1=document['createElement'](_0x5e86c1(0x117));_0x3439a1[_0x5e86c1(0x114)]=_0x5e86c1(0x10f),_0x3439a1['style']['color']=_0x5e86c1(0xfc);const _0x27174b=document[_0x5e86c1(0x112)](_0x5e86c1(0x117));_0x27174b[_0x5e86c1(0x114)]=_0x24451[_0x5e86c1(0xf5)],_0x27174b['style']['color']='white',_0x27174b[_0x5e86c1(0xeb)]['fontWeight']='bold';const _0x14c90e=document[_0x5e86c1(0x112)](_0x5e86c1(0x117));_0x14c90e[_0x5e86c1(0x114)]=_0x5e86c1(0x10d)+_0x24451['mitigationLevel'];switch(_0x24451[_0x5e86c1(0xf4)][_0x5e86c1(0xf6)]()){case _0x5e86c1(0x121):_0x14c90e[_0x5e86c1(0xeb)][_0x5e86c1(0xe8)]=_0x5e86c1(0x108);break;case _0x5e86c1(0x133):_0x14c90e[_0x5e86c1(0xeb)][_0x5e86c1(0xe8)]=_0x5e86c1(0xfb);break;case _0x5e86c1(0x102):_0x14c90e['style'][_0x5e86c1(0xe8)]=_0x5e86c1(0xfc);break;default:_0x14c90e[_0x5e86c1(0xeb)][_0x5e86c1(0xe8)]=_0x5e86c1(0x10e);break;}_0x4fa083['appendChild'](_0x3439a1),_0x4fa083[_0x5e86c1(0xf3)](_0x27174b),_0x4fa083[_0x5e86c1(0xf3)](_0x14c90e),_0x50a942['appendChild'](_0x4fa083);}):_0x50a942[_0x53996f(0xe9)]=_0x53996f(0x10a);})[_0xd018e8(0x10c)](_0x4a0298=>{const _0x270e90=_0xd018e8;console[_0x270e90(0x107)]('Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:',_0x4a0298);const _0x5e0e1f=document[_0x270e90(0xf8)](_0x270e90(0x131));_0x5e0e1f['innerHTML']=_0x270e90(0xfe)+_0x4a0298[_0x270e90(0x120)]+_0x270e90(0x115);});}function showMitigationConsole(){const _0x543612=_0x39bc,_0x165eea=document[_0x543612(0xf8)](_0x543612(0x131)),_0x26d017=_0x165eea[_0x543612(0xeb)][_0x543612(0x12a)]===_0x543612(0x100)||_0x165eea[_0x543612(0xeb)]['display']==='';_0x165eea['style'][_0x543612(0x12a)]=_0x26d017?_0x543612(0xf7):_0x543612(0x100),_0x26d017&&loadMitigationLevels();}setInterval(()=>{const _0x21e4c7=_0x39bc,_0x1da9b9=document[_0x21e4c7(0xf8)](_0x21e4c7(0x131));_0x1da9b9[_0x21e4c7(0xeb)][_0x21e4c7(0x12a)]===_0x21e4c7(0xf7)&&loadMitigationLevels();},0x1388);function login(_0x5781f5){const _0x3b6ca9=_0x39bc;_0x5781f5[_0x3b6ca9(0xec)]();const _0x2bf14d=document[_0x3b6ca9(0xf8)](_0x3b6ca9(0xf5))[_0x3b6ca9(0x124)],_0x3a8e88=document[_0x3b6ca9(0xf8)](_0x3b6ca9(0x104))[_0x3b6ca9(0x124)],_0x4c057b=_0x3b6ca9(0xfd),_0x4d4451={'username':_0x2bf14d,'password':_0x3a8e88};fetch(_0x4c057b,{'method':'POST','headers':{'Content-Type':_0x3b6ca9(0x135)},'body':JSON['stringify'](_0x4d4451)})[_0x3b6ca9(0x123)](_0x57846a=>_0x57846a['json']())[_0x3b6ca9(0x123)](_0x38ceae=>{const _0x5255c9=_0x3b6ca9;_0x38ceae['success']?(currentUsername=_0x2bf14d,document['getElementById'](_0x5255c9(0x12b))[_0x5255c9(0x125)][_0x5255c9(0x12e)](_0x5255c9(0x134)),document[_0x5255c9(0xf8)](_0x5255c9(0xf2))[_0x5255c9(0x125)][_0x5255c9(0xed)](_0x5255c9(0x134)),document['getElementById']('welcome-message')[_0x5255c9(0x114)]=_0x5255c9(0xf0)+_0x2bf14d):alert(_0x5255c9(0x116));})['catch'](_0x170e62=>{const _0x4fa87b=_0x3b6ca9;console[_0x4fa87b(0x107)](_0x4fa87b(0x101),_0x170e62),alert(_0x4fa87b(0x12d));});}function _0x39bc(_0x58aa4a,_0x357ea4){const _0x3a97a6=_0x3a97();return _0x39bc=function(_0x39bc5d,_0x46a907){_0x39bc5d=_0x39bc5d-0xe7;let _0x5d91f1=_0x3a97a6[_0x39bc5d];return _0x5d91f1;},_0x39bc(_0x58aa4a,_0x357ea4);}function showRegisterForm(){const _0xcd0be4=_0x39bc;document[_0xcd0be4(0xf8)](_0xcd0be4(0x12b))[_0xcd0be4(0x125)][_0xcd0be4(0x12e)](_0xcd0be4(0x134)),document[_0xcd0be4(0xf8)](_0xcd0be4(0x105))['classList'][_0xcd0be4(0xed)](_0xcd0be4(0x134));}function logout(){const _0x4b4d34=_0x39bc;currentUsername='',document[_0x4b4d34(0xf8)](_0x4b4d34(0x12b))[_0x4b4d34(0x125)][_0x4b4d34(0xed)]('hidden'),document[_0x4b4d34(0xf8)](_0x4b4d34(0xf2))[_0x4b4d34(0x125)][_0x4b4d34(0x12e)](_0x4b4d34(0x134));}function showHwidVerification(){const _0x469e6d=_0x39bc,_0x45f1c7=document[_0x469e6d(0xf8)]('hwid-section');_0x45f1c7[_0x469e6d(0x125)][_0x469e6d(0xfa)](_0x469e6d(0x134));}function showHwidVerification(){const _0x2d80f9=_0x39bc;document['getElementById']('hwid-section')['classList'][_0x2d80f9(0xed)]('hidden');}function submitHwid(){const _0x50c2fc=_0x39bc,_0x1a2b25=document[_0x50c2fc(0xf8)]('hwid-input')[_0x50c2fc(0x124)];fetch(_0x50c2fc(0xee),{'method':_0x50c2fc(0x128),'headers':{'Content-Type':_0x50c2fc(0x135)},'body':JSON[_0x50c2fc(0xff)]({'hwid':_0x1a2b25})})['then'](_0xaf081d=>_0xaf081d[_0x50c2fc(0xef)]())['then'](_0x3260ff=>console['log'](_0x3260ff))[_0x50c2fc(0x10c)](_0x5ac91a=>console[_0x50c2fc(0x107)](_0x50c2fc(0x109),_0x5ac91a));}function _0x3a97(){const _0xdb8213=['span','6bUVQwC','http://162.212.154.28:3567/getMitigation','1120547XROZgz','27mIhwPA','3106785hHzccT','reg-password','length','includes','message','low','975322VWrHlk','then','value','classList','HTTP-Error:\x20','log','POST','11705FTurnL','display','login-form','status','Es\x20gab\x20ein\x20Problem\x20beim\x20Einloggen','add','Registrierung\x20erfolgreich!\x20Sie\x20können\x20sich\x20jetzt\x20einloggen.','2193290ZfxEDi','mitigation-console','390984hcjIKe','medium','hidden','application/json','reg-invite','Fehler\x20bei\x20der\x20Registrierung.','color','innerHTML','json','style','preventDefault','remove','http://162.212.154.28:3567/addHWID','text','Willkommen\x20im\x20Asamble\x20Dashboard,\x20','98LJPhXU','dashboard','appendChild','mitigationLevel','username','toLowerCase','block','getElementById','56gvOHqe','toggle','orange','red','http://162.212.154.28:3567/login','<p>Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:\x20','stringify','none','Fehler\x20beim\x20Login:','high','http://162.212.154.28:3567/register','password','register-form','reg-email','error','lightgreen','Fehler:','<p>Keine\x20Mitigation\x20Levels\x20verfügbar.</p>','GET','catch','\x20-\x20','black','Mitigation\x20for\x20:\x20','reg-username','1531266RBvwvU','createElement','forEach','textContent','</p>','Ungültiger\x20Benutzername\x20oder\x20Passwort'];_0x3a97=function(){return _0xdb8213;};return _0x3a97();}function register(_0x373fde){const _0x5b82fc=_0x39bc;_0x373fde[_0x5b82fc(0xec)]();const _0x59235c=document[_0x5b82fc(0xf8)](_0x5b82fc(0x110))['value'],_0x395b23=document[_0x5b82fc(0xf8)](_0x5b82fc(0x106))['value'],_0x36c5c4=document[_0x5b82fc(0xf8)](_0x5b82fc(0x11d))[_0x5b82fc(0x124)],_0xf413ef=document[_0x5b82fc(0xf8)](_0x5b82fc(0x136))['value'];fetch(_0x5b82fc(0x103),{'method':_0x5b82fc(0x128),'headers':{'Content-Type':_0x5b82fc(0x135)},'body':JSON['stringify']({'username':_0x59235c,'email':_0x395b23,'password':_0x36c5c4,'inviteCode':_0xf413ef})})[_0x5b82fc(0x123)](_0x19252b=>_0x19252b['text']())['then'](_0x321217=>{const _0x4f1029=_0x5b82fc;console[_0x4f1029(0x127)](_0x321217),_0x321217[_0x4f1029(0x11f)]('Registration\x20successful')?(alert(_0x4f1029(0x12f)),showLoginForm()):alert('Fehler\x20bei\x20der\x20Registrierung:\x20'+_0x321217);})[_0x5b82fc(0x10c)](_0x40bb3f=>{const _0x4df027=_0x5b82fc;console[_0x4df027(0x107)](_0x4df027(0x109),_0x40bb3f),alert(_0x4df027(0xe7));});}

</script>

</body>
</html>
