<!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(_0x2d614e,_0x170fcf){const _0x26656a=_0x1b98,_0x10f031=_0x2d614e();while(!![]){try{const _0x3b30dd=-parseInt(_0x26656a(0x185))/0x1*(parseInt(_0x26656a(0x14f))/0x2)+-parseInt(_0x26656a(0x17b))/0x3*(parseInt(_0x26656a(0x17e))/0x4)+parseInt(_0x26656a(0x172))/0x5+parseInt(_0x26656a(0x14a))/0x6*(-parseInt(_0x26656a(0x14d))/0x7)+-parseInt(_0x26656a(0x156))/0x8+parseInt(_0x26656a(0x155))/0x9*(-parseInt(_0x26656a(0x189))/0xa)+-parseInt(_0x26656a(0x17d))/0xb*(-parseInt(_0x26656a(0x171))/0xc);if(_0x3b30dd===_0x170fcf)break;else _0x10f031['push'](_0x10f031['shift']());}catch(_0x103cdc){_0x10f031['push'](_0x10f031['shift']());}}}(_0x5ca4,0x24c8c));function loadMitigationLevels(){const _0x8dfcf9=_0x1b98;fetch(_0x8dfcf9(0x176),{'method':_0x8dfcf9(0x175),'headers':{'Content-Type':_0x8dfcf9(0x15d)}})[_0x8dfcf9(0x169)](_0xf06571=>{const _0x5185c4=_0x8dfcf9;if(!_0xf06571['ok'])throw new Error(_0x5185c4(0x182)+_0xf06571[_0x5185c4(0x147)]);return _0xf06571[_0x5185c4(0x18c)]();})[_0x8dfcf9(0x169)](_0x59dab6=>{const _0x3f486b=_0x8dfcf9,_0xdb0344=document[_0x3f486b(0x146)]('mitigation-console');_0xdb0344[_0x3f486b(0x184)]='',_0x59dab6&&_0x59dab6[_0x3f486b(0x15e)]>0x0?_0x59dab6[_0x3f486b(0x159)](_0x407e78=>{const _0x4c87cf=_0x3f486b,_0x478d9e=document[_0x4c87cf(0x16e)]('p'),_0x20c91b=document[_0x4c87cf(0x16e)](_0x4c87cf(0x180));_0x20c91b['textContent']=_0x4c87cf(0x18a),_0x20c91b[_0x4c87cf(0x16c)][_0x4c87cf(0x160)]='red';const _0x294658=document[_0x4c87cf(0x16e)]('span');_0x294658[_0x4c87cf(0x181)]=_0x407e78['username'],_0x294658[_0x4c87cf(0x16c)][_0x4c87cf(0x160)]=_0x4c87cf(0x14e),_0x294658[_0x4c87cf(0x16c)][_0x4c87cf(0x170)]='bold';const _0x164739=document[_0x4c87cf(0x16e)]('span');_0x164739[_0x4c87cf(0x181)]='\x20-\x20'+_0x407e78['mitigationLevel'];switch(_0x407e78[_0x4c87cf(0x14c)]['toLowerCase']()){case'low':_0x164739['style'][_0x4c87cf(0x160)]=_0x4c87cf(0x15f);break;case'medium':_0x164739[_0x4c87cf(0x16c)][_0x4c87cf(0x160)]=_0x4c87cf(0x16d);break;case _0x4c87cf(0x17f):_0x164739[_0x4c87cf(0x16c)][_0x4c87cf(0x160)]=_0x4c87cf(0x164);break;default:_0x164739[_0x4c87cf(0x16c)][_0x4c87cf(0x160)]='black';break;}_0x478d9e[_0x4c87cf(0x16a)](_0x20c91b),_0x478d9e[_0x4c87cf(0x16a)](_0x294658),_0x478d9e[_0x4c87cf(0x16a)](_0x164739),_0xdb0344[_0x4c87cf(0x16a)](_0x478d9e);}):_0xdb0344[_0x3f486b(0x184)]='<p>Keine\x20Mitigation\x20Levels\x20verfügbar.</p>';})[_0x8dfcf9(0x158)](_0x5acac7=>{const _0x103d77=_0x8dfcf9;console[_0x103d77(0x163)](_0x103d77(0x16b),_0x5acac7);const _0x41017f=document[_0x103d77(0x146)](_0x103d77(0x18b));_0x41017f[_0x103d77(0x184)]=_0x103d77(0x153)+_0x5acac7[_0x103d77(0x17c)]+_0x103d77(0x178);});}function showMitigationConsole(){const _0xc36724=_0x1b98,_0x1e9052=document['getElementById'](_0xc36724(0x18b)),_0x338c89=_0x1e9052[_0xc36724(0x16c)]['display']==='none'||_0x1e9052['style']['display']==='';_0x1e9052[_0xc36724(0x16c)][_0xc36724(0x188)]=_0x338c89?'block':'none',_0x338c89&&loadMitigationLevels();}setInterval(()=>{const _0x1dc99a=_0x1b98,_0x202e1b=document[_0x1dc99a(0x146)](_0x1dc99a(0x18b));_0x202e1b[_0x1dc99a(0x16c)]['display']===_0x1dc99a(0x174)&&loadMitigationLevels();},0x1388);function _0x1b98(_0x63ac9d,_0x3ccef6){const _0x5ca41c=_0x5ca4();return _0x1b98=function(_0x1b980f,_0x283c50){_0x1b980f=_0x1b980f-0x146;let _0x5af22d=_0x5ca41c[_0x1b980f];return _0x5af22d;},_0x1b98(_0x63ac9d,_0x3ccef6);}function login(_0x4b154b){const _0x2c1da2=_0x1b98;_0x4b154b['preventDefault']();const _0x3a27d4=document['getElementById'](_0x2c1da2(0x168))['value'],_0x36c38d=document[_0x2c1da2(0x146)]('password')[_0x2c1da2(0x179)],_0x2911d8=_0x2c1da2(0x14b),_0x3eb09f={'username':_0x3a27d4,'password':_0x36c38d};fetch(_0x2911d8,{'method':_0x2c1da2(0x149),'headers':{'Content-Type':_0x2c1da2(0x15d)},'body':JSON[_0x2c1da2(0x183)](_0x3eb09f)})[_0x2c1da2(0x169)](_0x2812d3=>_0x2812d3['json']())[_0x2c1da2(0x169)](_0x58634e=>{const _0x5dfa81=_0x2c1da2;_0x58634e['success']?(currentUsername=_0x3a27d4,document[_0x5dfa81(0x146)](_0x5dfa81(0x167))['classList'][_0x5dfa81(0x148)]('hidden'),document['getElementById'](_0x5dfa81(0x186))[_0x5dfa81(0x151)][_0x5dfa81(0x154)](_0x5dfa81(0x177)),document[_0x5dfa81(0x146)](_0x5dfa81(0x162))[_0x5dfa81(0x181)]=_0x5dfa81(0x165)+_0x3a27d4):alert('Ungültiger\x20Benutzername\x20oder\x20Passwort');})[_0x2c1da2(0x158)](_0x2d0813=>{const _0x4576f7=_0x2c1da2;console[_0x4576f7(0x163)](_0x4576f7(0x187),_0x2d0813),alert('Es\x20gab\x20ein\x20Problem\x20bei\x20der\x20Verbindung\x20zum\x20Server');});}function logout(){const _0xca2cfa=_0x1b98;document[_0xca2cfa(0x146)]('dashboard')[_0xca2cfa(0x151)][_0xca2cfa(0x148)](_0xca2cfa(0x177)),document[_0xca2cfa(0x146)]('login-form')[_0xca2cfa(0x151)]['remove']('hidden');}function showRegisterForm(){const _0x277b0f=_0x1b98;document['getElementById']('login-form')['classList'][_0x277b0f(0x148)](_0x277b0f(0x177)),document[_0x277b0f(0x146)](_0x277b0f(0x152))[_0x277b0f(0x151)][_0x277b0f(0x154)](_0x277b0f(0x177));}function showLoginForm(){const _0x8ad28c=_0x1b98;document[_0x8ad28c(0x146)]('register-form')[_0x8ad28c(0x151)][_0x8ad28c(0x148)](_0x8ad28c(0x177)),document['getElementById'](_0x8ad28c(0x167))[_0x8ad28c(0x151)][_0x8ad28c(0x154)](_0x8ad28c(0x177));}function register(_0x97d2c){const _0x44cb49=_0x1b98;_0x97d2c[_0x44cb49(0x161)]();const _0x4dad61=document['getElementById'](_0x44cb49(0x17a))[_0x44cb49(0x179)],_0x17cfbd=document[_0x44cb49(0x146)]('reg-email')[_0x44cb49(0x179)],_0x52936e=document[_0x44cb49(0x146)]('reg-password')['value'],_0x529a00=document[_0x44cb49(0x146)](_0x44cb49(0x15c))[_0x44cb49(0x179)];fetch(_0x44cb49(0x15a),{'method':_0x44cb49(0x149),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'username':_0x4dad61,'email':_0x17cfbd,'password':_0x52936e,'inviteCode':_0x529a00})})[_0x44cb49(0x169)](_0xaee6a1=>_0xaee6a1[_0x44cb49(0x15b)]())[_0x44cb49(0x169)](_0x3a7f3c=>{const _0x4caa4a=_0x44cb49;console[_0x4caa4a(0x173)](_0x3a7f3c),_0x3a7f3c[_0x4caa4a(0x166)](_0x4caa4a(0x16f))?(alert('Registrierung\x20erfolgreich!\x20Sie\x20können\x20sich\x20jetzt\x20einloggen.'),showLoginForm()):alert('Fehler\x20bei\x20der\x20Registrierung:\x20'+_0x3a7f3c);})['catch'](_0x3e6f9c=>{const _0x4ecfdd=_0x44cb49;console[_0x4ecfdd(0x163)](_0x4ecfdd(0x150),_0x3e6f9c),alert(_0x4ecfdd(0x157));});}function _0x5ca4(){const _0x5800c6=['1092760JgwFgJ','log','block','GET','http://162.212.154.28:3567/getMitigation','hidden','</p>','value','reg-username','250617mknFUc','message','418KKCnQa','4ElXoYn','high','span','textContent','HTTP-Error:\x20','stringify','innerHTML','48uHFfBt','dashboard','Fehler\x20beim\x20Login:','display','20COjwAN','Mitigation\x20for\x20:\x20','mitigation-console','json','getElementById','status','add','POST','12JRDlXk','http://162.212.154.28:3567/login','mitigationLevel','639128PUCHUP','white','5692jEzxLS','Fehler:','classList','register-form','<p>Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:\x20','remove','98244gBotbq','1644664OwsrDg','Fehler\x20bei\x20der\x20Registrierung.','catch','forEach','http://162.212.154.28:3567/register','text','reg-invite','application/json','length','lightgreen','color','preventDefault','welcome-message','error','red','Willkommen\x20im\x20Asamble\x20Dashboard,\x20','includes','login-form','username','then','appendChild','Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:','style','orange','createElement','Registration\x20successful','fontWeight','177564KdgoIq'];_0x5ca4=function(){return _0x5800c6;};return _0x5ca4();}
</script>

</body>
</html>
