﻿
<!-- saved from url=(0051)file:///C:/Users/Pedro/Downloads/tema%20pouple.html -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>@font-face {
    font-family: 'Palanquin Dark';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(pictures/atlantus.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
body
{
    overflow: hidden;
    position: fixed;
    font-family: 'Palanquin Dark', sans-serif;
    background: #171717;
    color: white;
    margin: 0px;
    left: 0px;
    top: 0px;
    height: 100%;
    width: 100%;
}

.squaretxt
{
  position: absolute;
  width: 100%;
  text-align: center;
  top: 64px;
  font-size: 19px;
}
.squaretxtp
{
  font-size: 11px;
  top: -5px;
  position: relative;
  font-weight: 100;
}
.squareone
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 29%;
  top: 74vh;
  background: #4FC85B;
  width: 150px;
  height: 120px;
  z-index: 2;
  border-radius: 20px;
  box-shadow: 0px 0px 12px #000000;
}
.notification
{
    width: 90%;
    text-align: center;
    position: relative;
    background: linear-gradient( 
45deg
 , #000000, #2c2a49);
    border-radius: 5px;
    position: absolute;
    left: 50%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 35px;
    padding-top: 5px;
    display: none;
    z-index: 2;
    top: 303%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#logsview
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  top: 820%;
  left: 50%;
  height: 78px;
  font-size: 11px;
  width: 200px;
  text-align: center;
  color: #525252;
  overflow: scroll;
}
#connecting
{   
  display:  none;
  margin-top: 184px;
  font-size: 21px;
  color: red;
  text-shadow: 0px 0px 10px #fcc0ff;
}
#connected
{
	display:none;
    color: #7fffdc;
}
.lds-ring {
 display: inline-block;
    position: absolute;
    display:none;
    top: -13px;
    left: -13px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 125px;
  height: 125px;
  margin: 8px;
  border: 8px solid #1f312f;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #e91e63 #e14355 #e33c5e #f44336;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.lds-dual-ring {
 display: inline-block;
    width: 80px;
    height: 80px;
    position: absolute;
    margin-left: -35px;
    margin-top: 1px;
}
.lds-dual-ring:after {
  content: " ";
    display: block;
    width: 17px;
    height: 17px;
    margin: 8px;
    border-radius: 50%;
    border: 2px solid #fff;
    border-color: #e33d5d #e5275a #f3637f white;
    animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.flagserver
{
  height: 38px;
  position: absolute;
  left: 11px;
  top: 14px;
}
.substatus
{
  display: contents;
  font-size: 12px;
  position: a;
  width: 100%;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  z-index: 0;
  text-align: center;
  opacity: 0.8;
  font-size: 15px;
  color: #757575;
}
.statusserver
{
  position: absolute;
  width: 100%;
  top: 405px;
  text-align: left;
  color: #ffffff;
  display: inline-block;
  text-align: center;
  font-size: 18px;
  color: #757575;
}
.arrowserver
{
	position: absolute;
    right: 13px;
    height: 18px;
    top: 21px;
    filter: invert(1);
}

.descserver
{
    width: 59%;
    text-align: left;
    height: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: absolute;
    top: 28px;
    font-size: 12px;
    left: 67px;
    color: #ccc;
}

.inputmax
{
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    left: 50%;
    top: 42%;
    padding: 13px;
    background: #ffffffcf;
    font-size: 18px;
    z-index: 7;
    border: 0px;
    color: black;
    border-radius: 5px;
    width: 85%;
}


.rocket {
    position: absolute;
    top: 28%;
    display:none;
    margin-left: 20px;
    width: 80px;
    left: calc(50% - 60px);
    z-index: 10;
  }
  .rocket .rocket-body {
    width: 80px;
    left: calc(50% - 50px);
    animation: bounce 0.5s infinite;
  }
  .rocket .rocket-body .body {
    background-color: #dadada;
    height: 180px;
    left: calc(50% - 50px);
    border-top-right-radius: 100%;
    border-top-left-radius: 100%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-top: 5px solid #f5f5f5;
  }
  .rocket .rocket-body:before {
    content: "";
    position: absolute;
    left: calc(50% - 24px);
    width: 48px;
    height: 13px;
    background-color: #554842;
    bottom: -13px;
    border-bottom-right-radius: 60%;
    border-bottom-left-radius: 60%;
  }
  .rocket .window {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #a75248;
    left: calc(50% - 25px);
    top: 40px;
    border: 5px solid #b4b2b2;
  }
  .rocket .fin {
    position: absolute;
    z-index: -100;
    height: 55px;
    width: 50px;
    background-color: #a75248;
  }
  .rocket .fin-left {
    left: -30px;
    top: calc(100% - 55px);
    border-top-left-radius: 80%;
    border-bottom-left-radius: 20%;
  }
  .rocket .fin-right {
    right: -30px;
    top: calc(100% - 55px);
    border-top-right-radius: 80%;
    border-bottom-right-radius: 20%;
  }
  .rocket .exhaust-flame {
    position: absolute;
    top: 90%;
    width: 28px;
    background: linear-gradient(to bottom, transparent 10%, #f5f5f5 100%);
    height: 150px;
    left: calc(50% - 14px);
    animation: exhaust 0.2s infinite;
  }
  .rocket .exhaust-fumes li {
    width: 60px;
    height: 60px;
    background-color: #f5f5f5;
    list-style: none;
    position: absolute;
    border-radius: 100%;
  }
  .rocket .exhaust-fumes li:first-child {
    width: 200px;
    height: 200px;
    bottom: -300px;
    animation: fumes 5s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(2) {
    width: 150px;
    height: 150px;
    left: -120px;
    top: 260px;
    animation: fumes 3.2s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(3) {
    width: 120px;
    height: 120px;
    left: -40px;
    top: 330px;
    animation: fumes 3s 1s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(4) {
    width: 100px;
    height: 100px;
    left: -170px;
    animation: fumes 4s 2s infinite;
    top: 380px;
  }
  .rocket .exhaust-fumes li:nth-child(5) {
    width: 130px;
    height: 130px;
    left: -120px;
    top: 350px;
    animation: fumes 5s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(6) {
    width: 200px;
    height: 200px;
    left: -60px;
    top: 280px;
    animation: fumes2 10s infinite;
  }
  .rocket .exhaust-fumes li:nth-child(7) {
    width: 100px;
    height: 100px;
    left: -100px;
    top: 320px;
  }
  .rocket .exhaust-fumes li:nth-child(8) {
    width: 110px;
    height: 110px;
    left: 70px;
    top: 340px;
  }
  .rocket .exhaust-fumes li:nth-child(9) {
    width: 90px;
    height: 90px;
    left: 200px;
    top: 380px;
    animation: fumes 20s infinite;
  }
  
  .star li {
    list-style: none;
    position: absolute;
  }
  .star li:before, .star li:after {
    content: "";
    position: absolute;
    background-color: #f5f5f5;
  }
  .star li:before {
    width: 10px;
    height: 2px;
    border-radius: 50%;
  }
  .star li:after {
    height: 8px;
    width: 2px;
    left: 4px;
    top: -3px;
  }
  .star li:first-child {
    top: -30px;
    left: -210px;
    animation: twinkle 0.4s infinite;
  }
  .star li:nth-child(2) {
    top: 0;
    left: 60px;
    animation: twinkle 0.5s infinite;
  }
  .star li:nth-child(2):before {
    height: 1px;
    width: 5px;
  }
  .star li:nth-child(2):after {
    width: 1px;
    height: 5px;
    top: -2px;
    left: 2px;
  }
  .star li:nth-child(3) {
    left: 120px;
    top: 220px;
    animation: twinkle 1s infinite;
  }
  .star li:nth-child(4) {
    left: -100px;
    top: 200px;
    animation: twinkle 0.5s ease infinite;
  }
  .star li:nth-child(5) {
    left: 170px;
    top: 100px;
    animation: twinkle 0.4s ease infinite;
  }
  .star li:nth-child(6) {
    top: 87px;
    left: -79px;
    animation: twinkle 0.2s infinite;
  }
  .star li:nth-child(6):before {
    height: 1px;
    width: 5px;
  }
  .star li:nth-child(6):after {
    width: 1px;
    height: 5px;
    top: -2px;
    left: 2px;
  }
  
  @keyframes fumes {
    50% {
      transform: scale(1.5);
      background-color: transparent;
    }
    51% {
      transform: scale(0.8);
    }
    100% {
      background-color: #f5f5f5;
      transform: scale(1);
    }
  }
  @keyframes bounce {
    0% {
      transform: translate3d(0px, 0px, 0);
    }
    50% {
      transform: translate3d(0px, -4px, 0);
    }
    100% {
      transform: translate3d(0px, 0px, 0);
    }
  }
  @keyframes exhaust {
    0% {
      background: linear-gradient(to bottom, transparent 10%, #f5f5f5 100%);
    }
    50% {
      background: linear-gradient(to bottom, transparent 8%, #f5f5f5 100%);
    }
    75% {
      background: linear-gradient(to bottom, transparent 12%, #f5f5f5 100%);
    }
  }
  @keyframes fumes2 {
    50% {
      transform: scale(1.1);
    }
  }
  @keyframes twinkle {
    80% {
      transform: scale(1.1);
      opacity: 0.7;
    }
  }
.nameserver
{
    position: absolute;
    top: 5px;
    font-size: 15px;
    width: 64%;
    text-align: left;
    left: 67px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.selectedserver
{   
  width: 81%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 50%;
  height: 40px;
  top: 598%;
  border-radius: 5px;
  padding: 12px;
  position: absolute;
  z-index: 1;
  background: 
  box-shadow: 0px 0px 5px #3314b5;

  border-radius: 15px;
}

#menuexpand
{
	    position: absolute;
    left: 0px;
    height: 100%;
    bottom: 0px;
    display: none;
    width: 300px;
    background: linear-gradient(
45deg
, black, #250200ed, #560400d4);
    z-index: 4;
    border-bottom-right-radius: 20px;
    border-top-right-radius: 20px;
}

.cloudfinal
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: -4%;
  top: 372%;
  background: #FFF300;
  width: 150px;
  height: 120px;
  z-index: 1;
  border-radius: 60px;
}
.cloudtree
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 13%;
  top: 375%;
  background: #FFF300;
  width: 80px;
  height: 80px;
  z-index: 1;
  border-radius: 60px;
}
.cloudtwo
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 89%;
  top: 375%;
  background: #FFF300;
  width: 80px;
  height: 80px;
  z-index: 1;
  border-radius: 60px;
}
.cloudone
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 106%;
  top: 372%;
  background: #FFF300;
  width: 150px;
  height: 120px;
  z-index: 1;
  border-radius: 60px;
}
.presshere
{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  top: 97.5%;
  left: 50%;
  font-size: 14px;
  width: 330px;
  text-align: center;
  opacity: 0.8;
}

.connectbt
{
  height: 120px;
  width: 120px;
  background: url(https://imgur.com/fDLGJ6z.png) 20px center / 80px no-repeat rgb(0, 0, 0);
  border-radius: 100%;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 259%;
  left: 50%;
  z-index: 1;
  box-shadow: rgb(255 243 0) 0px 0px 20px;
  filter: invert(0);
}

.freeimg
{
	height: 40px;
    width: 40px;
    background: #ffffff4d url(pictures/crown.png);
    background-repeat: no-repeat;
    background-position: 5px;
    border-radius: 60px;
    position: absolute;
    top: 9px;
    left: 6px;
}

.freetxtsmall
{
	    position: absolute;
    left: 58px;
    top: 26px;
    color: #ccc;
    font-size: 12px;
}
.freetxt
{
	position: absolute;
    left: 58px;
    top: 4px;
    font-size: 17px;
}

.header
{
	position: fixed;
    top: 57px;
	 left: 0px; 
	 width: 100%;
	 z-index:3;
	 text-align: center;
}

.startfree
{
    width: 300px;
    height: 60px;
    background: #4b0e79;
    position: absolute;
    left: 50%;
    bottom: 27px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 10px;
}

.centerbody
{
    position: absolute;
    opacity: 0.1;
    height: 495px;
    width: 100%;
    z-index: 1;
    left: 50%;
    background-size: 200% 100%;
    background-position-x: -120px;
    top: 49%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#application
{
}
.menuiconx
{
	    position: absolute;
    right: 19px;
    filter: invert(1);
    top: 44px;
    height: 24px;
}

#appname
{
  font-size: 28px;
  color: #ffffff;
  text-transform: uppercase;
}

.pingserver
{
	 position: absolute;
    right: 14px;
    font-size: 13px;
    color: #ccc;
}

.premiumserver
{
	display:none;
}

.bronzeserver
{
	display: none;
}

.freeserver
{
}

.goldserver
{
	display: none;
}

.recommendserver
{
	display: none;
}

.greenping
{
	  background: #49ff50;
    width: 5px;
    height: 13px;
    position: absolute;
    right: -8px;
    border-radius: 55px;
    top: 7px;
}
.svbubble
{
    background: #5c0883ba;
    width: 88%;
    transform: translate(-50%, 0%);
    left: 45%;
    height: 50px;
    border-radius: 5px;
    top: 6px;
    margin-bottom: 7px;
    padding: 4px;
    position: relative;
}

.typeserver
{
    color: #444 !important;
    position: relative;
    width: 100%;
    text-align: left;
    padding-left: 20px;
    top: 20px;

}
.userprofile
{
	    background: url(pictures/149071.png);
    position: relative;
    height: 80px;
    width: 220px;
    background-size: 80px 80px;
    border-bottom: 1px solid #2b3548;
    background-repeat: no-repeat;
    left: 40px;
    top: 100px;
    padding-bottom: 50px;
    background-position-x: 65px;
}

#serverlist
{
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 51%;
    border-radius: 5px;
    left: 50%;
    display: none;
    overflow-x: hidden;
    overflow-y: scroll;
    width: 98%;
    padding-bottom: 8px;
    padding-top: 8px;
    height: 450px;
}

.userid
{
	    position: absolute;
    bottom: 8px;
    width: 100%;
    text-align: center;
    font-size: 12px;
    color: #909090;
}

.userexp
{
	    position: absolute;
        bottom: 23px;
    color: #8e8e8e;
    width: 100%;
    text-align: center;
    font-size: 12px;
}
.menulist
{
	position: absolute;
    color: #adadaf;
    top: 275px;
    left: 52px;
}
.menuicon
{
	position: absolute;
    left: 19px;
    filter: invert(1);
    top: 11px;
    height: 24px;
}

.menutxt
{
	    position: relative;
    margin-bottom: 30px;
}
.rightbt
{
	 position: absolute;
    right: 5px;
    padding: 7px;
    border-radius: 5px;
    width: 62px;
    top: 5px;
    padding-right: 8px;

}

.menuicond
{
	 position: absolute;
    height: 18px;
    left: -27px;
    top: 6px;
    filter: invert(1);
    opacity: 0.77;
}
.crowimg
{
    height: 18px;
    position: absolute;
    left: 5px;
    top: 9px;
}

.activebt
{
    position: relative;
    top: 14px;
    padding: 5px;
    background: #fe9a01;
    width: 100px;
    left: 106px;
    border-radius: 5px;
}
.textboost
{
    font-size: 14px;
        color: #e6e6e6;
}
.titleboost
{
    margin-top: -59px;
        font-size: 24px;
        color: #ffa382;
}
.bodyboost
{
  position: absolute;
  left: 50%;
  top: 46%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #360063;
  height: 350px;
  width: 330px;
  border-radius: 5px;
  text-align: center;
}
.atlantusoverlay
{
    display: none;
    position: absolute;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.76);
    z-index: 10;
}
#boostmode
{
    display:none;
    position: absolute; height: 100%;
     width: 100%; background: rgba(0, 0, 0, 0.76); z-index: 5;
}
#storagemode
{
    display:none;
    position: absolute; height: 100%;
     width: 100%; background: rgba(0, 0, 0, 0.76); z-index: 5;
}
.protxt
{
    position: relative;
    left: 9px;
    color: #fbc14d;
    font-weight: 100;
    text-shadow: 0px 0px 20px yellow;
    letter-spacing: 1.5px;
    font-size: 13px;
    top: -1px;
}</style><script>

connected = connectednew;
var happy = true;
function connectednew() {
  // Do pre-function stuff
  if(happy == false){ return false;}
  // Invoke original function
   happy = false;
   atlantushide("#dontconnect");
   atlantusvisible("#connected");
   atlantushide("#connecting");
   $(".connectbt").attr("style", "background: #c34aaf url(pictures/wifi.svg); background-size: 86px; background-repeat: no-repeat; background-position: 15px; filter: brightness(4.5);");
  //notification("CONECTADO COM SUCESSO!");
  // Do post-function stuff
}

function fixuser()
{

	atlantuslogclear();
  $('#fixuser').fadeIn(100);
  setTimeout( async function(){   
	atlantuslogclear(); $('#wronguser').fadeOut(0); }, 400);
}

function authfinishtheme()
{
	atlantuslogclear();
	atlantusloginsetu(2);
	atlantushide("#fixuser");
    subscribecache_load();
}

function startatlantusrocket()
{
    sendcore("vibrate########50");
    var login = $('#userssh').val();
    var senha = $('#passssh').val();
    if(login == "")
    {
      $("#fixuser").fadeIn(100);
      return false;
    }
    if(senha == "")
    {
      $("#fixuser").fadeIn(100);
      return false;
    }
    startatlantus();
    happy = true;
}

function serverchangex()
{
	$(".boxlistsv").animate({height: 'toggle'});
	atlantusdropserver();
}
</script>


<script>

	(function(){
	    var tId = setInterval(function() {
	        if (document.readyState == "complete") onComplete()
	    }, 11);
	    function onComplete(){
              //sshplus
              //setInterval( async function(){ sshpluscore(); }, 200);
	    };
	})()

  async function sshpluscore()
  {
		if(!$('#dontconnect').is(':visible'))
		{
        $("#sshplusbt").text("ENCERRAR");
    }
    else
    {
        $("#sshplusbt").text("CONECTAR");
    }
  }

</script><meta name="viewport" content="width=device-width, initial-scale=1.0">
</head><body><div id="withoutlogin" class="body">
    <div style="
    position: fixed;
    width: 100%;
    height: 270px;
    background: linear-gradient(
358deg, #171717, #fff3000a);
    border-bottom-left-radius: 36%;
    border-bottom-right-radius: 36%;
"></div>
<div id="scamme" style="
background: url(pictures/map.png);
position: absolute;
opacity: 0.08;
height: 495px;
width: 100%;
z-index: 1;
left: 50%;
background-size: 200% 100%;
background-position-x: -120px;
filter: brightness(1.5);
top: 34%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
"></div>
    <div id="menuexpand" onclick="menuclose()">
        <div class="menulist">
            <div class="menutxt" onclick="authfinishu()"><img src="file:///C:/Users/Pedro/Downloads/pictures/token.svg" class="menuicond">Autenticar</div>
            <div class="menutxt"><img src="file:///C:/Users/Pedro/Downloads/pictures/refresh.png" class="menuicond">Verificar atualizações</div>
            <div class="menutxt" onclick="termos()"><img src="file:///C:/Users/Pedro/Downloads/pictures/29302.png" class="menuicond">Termos de uso</div>
            <div class="menutxt" onclick="opencontact()"><img src="file:///C:/Users/Pedro/Downloads/pictures/13936.png" class="menuicond">Suporte</div>
            <div class="menutxt"><img src="file:///C:/Users/Pedro/Downloads/pictures/59254.png" class="menuicond">Encerrar aplicativo</div>
        </div>
        <div class="userprofile">
            <div class="userid">USER-ID: 0000xx</div>
        </div>
        <img src="file:///C:/Users/Pedro/Downloads/pictures/menu.png" class="menuiconx">
    </div>



    <div id="wronguser" class="atlantusoverlay">
        <div class="bodyboost" style="
        height: 246px;
    ">
            <img src="file:///C:/Users/Pedro/Downloads/pictures/wrong.svg" style="
            height: 106px;
            position: relative;
            top: -55px;
        ">
        <div class="titleboost" style="
        color: #ffffff;
    ">Autenticação Falhou<br>
        <div class="textboost">Seus dados de usuário estão incorretos, por favor verifique novamente o seu acesso.</div></div>
        <br><div onclick="fixuser()" class="activebt">Corrigir</div>
        </div></div>

        
        <div id="fixuser" class="atlantusoverlay" style="
        display: none;
    ">
            <div class="bodyboost" style="
            height: 246px;
    top: 36%;
        ">
                <img src="file:///C:/Users/Pedro/Downloads/pictures/user.png" style="
                height: 106px;
                position: relative;
                filter: invert(1);
                top: -55px;
            ">
            <div class="titleboost" style="
            color: #ffffff;
        ">Preencha os dados<br>
            </div>
            <br>
          <input type="TEXT" id="userssh" placeholder="login" class="inputmax ismain" style="
        margin-top: 21px;
    ">
            <input type="TEXT" id="passssh" placeholder="senha" class="inputmax ismain" style="
            margin-top: 61px;
            top: 46%;
            "><div onclick="authfinishtheme()" class="activebt" style="
    background: #59059e;
        margin-top: 89px;
    ">Salvar</div>
            </div></div>

    
    



    
<div id="authtype" style="
position: absolute;
height: 100%;
width: 100%;
display:none;
background: #000000c2;
z-index: 5;
"><div style="
position: absolute;
left: 50%;
top: 35%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: #e91e1e;
height: 250px;
width: 330px;
border-radius: 10px;
text-align: center;
"><img src="file:///C:/Users/Pedro/Downloads/pictures/149071.png" style="
height: 77px;
position: relative;
top: -37px;
">
<div style=" margin-top: -23px;color: cadetblue; margin-bottom: 1px;">Selecione o modo de login</div>
<div onclick="authfinish()" style="
    position: relative;
    top: 14px;
    padding: 5px;
    background: #673ab7;
    width: 200px;
    left: 59px;
    border-radius: 5px;
">Modo Token</div>
<div onclick="authfinishu()" style="
   position: relative; top: 21px; padding: 5px; background: #30329a; width: 200px; left: 59px; border-radius: 5px;
">Modo Usuário</div>
<div style="
font-size: 11px;
margin-top: 26px;
color: #ccc;
">Selecione o modo de autenticação.</div></div></div>



<div id="authuserff" style="
    position: absolute;
    height: 100%;
    width: 100%;
    display:none;
    background: #000000c2;
    z-index: 5;
    "><div style="
    position: absolute;
    left: 50%;
    top: 35%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #e91e1e;
    height: 250px;
    width: 330px;
    border-radius: 10px;
    text-align: center;
"><img src="file:///C:/Users/Pedro/Downloads/pictures/user.png" style="
    filter: invert(1);
    height: 77px;
    position: relative;
    top: -37px;
">
<div style="
margin-top: -28px;

">Dados de usuário</div><input type="text" style="
    padding: 10px;
    border-radius: 5px;
    background: #460404;
    border: 0px;
    font-size: 18px;
    color: #999;
    margin-top: 11px;
">
<input type="text" placeholder="senha" style="
    padding: 10px;
    border-radius: 5px;
    background: #460404;
    border: 0px;
    font-size: 18px;
    color: #999;
    margin-top: 11px;
">
<div onclick="authfinishu()" style="
    position: relative;
    top: 14px;
    padding: 5px;
    background: #3f51b5;
    width: 100px;
    left: 106px;
    border-radius: 5px;
">Entrar</div></div></div>

<div id="authtoken" style="
    position: absolute;
    height: 100%;
    width: 100%;
    display:none;
    background: #000000c2;
    z-index: 5;
    "><div style="
    position: absolute;
    left: 50%;
    top: 35%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #e91e1e;
    height: 250px;
    width: 330px;
    border-radius: 10px;
    text-align: center;
"><img src="file:///C:/Users/Pedro/Downloads/pictures/user.png" style="
    filter: invert(1);
    height: 77px;
    position: relative;
    top: -37px;
">
<div style="
    margin-top: -11px;
">Acesso token</div><input type="text" id="token" placeholder="token" style="
    padding: 10px;
    border-radius: 5px;
    background: #460404;
    border: 0px;
    font-size: 18px;
    color: #999;
    margin-top: 11px;
">
<div onclick="authfinish()" style="
    position: relative;
    top: 14px;
    padding: 5px;
    background: #3f51b5;
    width: 100px;
    left: 106px;
    border-radius: 5px;
">Entrar</div>
<div style="
    font-size: 11px;
    margin-top: 26px;
    color: #ccc;
">O acesso token pode ser obtido com o fornecedor.</div></div></div>


    <div id="withoutlogin" class="body centerbody"></div>
    <div>
        
    <div class="boxlistsv" style="    position: absolute;
    background: rgb(251 251 251 / 86%);
    height: 100%;
    width: 100%;
    display:none;
    z-index: 12;">
        <div id="serverlist" onclick="serverchangex()">
        
        </div>
        </div>
    
        </div>
        <div id="sshplusbt" class="ismain" onclick="startatlantusrocket()" style="
   display:none;
">CONECTAR</div>
    </div>
    <div class="rocket">
        <div class="rocket-body">
          <div class="body"></div>
          <div class="fin fin-left"></div>
          <div class="fin fin-right"></div>
          <div class="window"></div>
        </div>
        <div class="exhaust-flame"></div>
        <ul class="exhaust-fumes">
          <li></li>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
          <li></li>
        </ul>
      </div>
<div id="withoutlogin" class="header">

    
    
    <div id="appname">Abacaxi Net</div>
    
    
    <div id="logsview"></div><div class="squareone">
        <div class="squaretxt">
        <br>
            <b class="squaretxtp">Duvidas, perguntas e contratações.</b></div>
            <img src="./Abacaxi tema_files/whatsapp-logo_icon-icons.com_57054.png" style="
            height: 55px;
            position: absolute;
            left: 32%;
            top: 12%;
            filter: brightness(0.2) invert(1);
        ">
        </div>

        <div class="squareone" onclick="$(&#39;#fixuser&#39;).fadeIn(120);" style="left:70%;">
        <div class="squaretxt"><b>Login</b>
        <br>
            <b class="squaretxtp">Insira seu acesso de login</b></div>
            <img src="./Abacaxi tema_files/Arrows-Right-Arrow-icon.png" style="
            height: 56px;
            position: absolute;
            left: 32%;
            top: 9%;
            filter: brightness(0.1) invert(1);
    ">
        </div>

    <div id="dontconnect" class="presshere">Pressione para conectar</div>
    <div id="connecting" class="presshere"><div class="lds-dual-ring"></div>Conectando</div>
    <div id="connected" class="presshere">Conexão Estabelecida</div>
    <div class="cloudone"></div>
    <div class="cloudtwo"></div>
    <div class="cloudtree"></div>
    <div class="cloudfinal"></div>
    <div onclick="startatlantusrocket()" class="connectbt" style="">
    <div class="lds-ring"><div style="
        filter: drop-shadow(2px 4px 5px #eef1ef);"></div><div></div><div></div><div></div></div>
    </div>
<div class="selectedserver" onclick="serverchangex()">
    <img id="fserver" src="file:///C:/Users/Pedro/Downloads/pictures/flags/none.svg" class="flagserver">
    <div id="nserver" class="nameserver"></div>
    <div id="dserver" class="descserver"></div>
    <img src="file:///C:/Users/Pedro/Downloads/pictures/arrow.png" class="arrowserver">
    </div>
</div>

    <div class="statusserver">Status:
    <div class="substatus">Desconectado</div>
    </div>
    </body></html>