METODO LAYOT


SUBMITTED BY: terrorxdroid

DATE: Oct. 2, 2024, 9:52 p.m.

UPDATED: Oct. 4, 2024, 9:54 a.m.

FORMAT: Text only

SIZE: 93.9 kB

HITS: 353

  1. [
  2. {
  3. "label": "Nome do app",
  4. "name": "APP_NAME",
  5. "value": "DTunnel Mod",
  6. "type": "STRING"
  7. },
  8. {
  9. "label": "Logo do app",
  10. "name": "APP_LOGO",
  11. "value": "https://i.ibb.co/hDR4sHQ/1727998104490.jpg",
  12. "type": "IMAGE"
  13. },
  14. {
  15. "label": "Imagem de fundo",
  16. "name": "APP_BACKGROUND_IMAGE",
  17. "value": "https://i.ibb.co/YTSgk6k/images.png",
  18. "type": "IMAGE"
  19. },
  20. {
  21. "label": "Tipo do fundo do app",
  22. "name": "APP_BACKGROUND_TYPE",
  23. "value": {
  24. "options": [
  25. {
  26. "label": "Imagem",
  27. "value": "IMAGE"
  28. },
  29. {
  30. "label": "Cor",
  31. "value": "COLOR"
  32. }
  33. ],
  34. "selected": "COLOR"
  35. },
  36. "type": "SELECT"
  37. },
  38. {
  39. "label": "Cor de fundo",
  40. "name": "APP_BACKGROUND_COLOR",
  41. "value": "#080e16c7",
  42. "type": "COLOR"
  43. },
  44. {
  45. "label": "Cor do card inicial",
  46. "name": "APP_CARD_COLOR",
  47. "value": "#1d242e73",
  48. "type": "COLOR"
  49. },
  50. {
  51. "label": "Raio do card inicial",
  52. "name": "APP_CARD_RADIUS",
  53. "value": 20,
  54. "type": "INTEGER"
  55. },
  56. {
  57. "label": "Cor do card de status",
  58. "name": "APP_CARD_STATUS_COLOR",
  59. "value": "#1d242e73",
  60. "type": "COLOR"
  61. },
  62. {
  63. "label": "Raio do card de status",
  64. "name": "APP_CARD_STATUS_RADIUS",
  65. "value": 25,
  66. "type": "INTEGER"
  67. },
  68. {
  69. "label": "Cor do card de configurações",
  70. "name": "APP_CARD_CONFIG_COLOR",
  71. "value": "#0E171EC9",
  72. "type": "COLOR"
  73. },
  74. {
  75. "label": "Cor do fundo dos dialogs",
  76. "name": "APP_DIALOG_BACKGROUND_COLOR",
  77. "value": "#050C5AE4",
  78. "type": "COLOR"
  79. },
  80. {
  81. "label": "Cor do fundo do dialog de log",
  82. "name": "APP_DIALOG_LOGGER_COLOR",
  83. "value": "#080e16c7",
  84. "type": "COLOR"
  85. },
  86. {
  87. "label": "Cor das bordas",
  88. "name": "APP_BORDER_COLOR",
  89. "value": "#1d242e73",
  90. "type": "COLOR"
  91. },
  92. {
  93. "label": "Cor dos inputs",
  94. "name": "APP_INPUT_COLOR",
  95. "value": "#1d242e73",
  96. "type": "COLOR"
  97. },
  98. {
  99. "label": "Raio dos inputs",
  100. "name": "APP_INPUT_RADIUS",
  101. "value": 25,
  102. "type": "INTEGER"
  103. },
  104. {
  105. "label": "Cor dos textos",
  106. "name": "APP_TEXT_COLOR",
  107. "value": "#FFFFFFFF",
  108. "type": "COLOR"
  109. },
  110. {
  111. "label": "Cor dos botões",
  112. "name": "APP_BUTTON_COLOR",
  113. "value": "#1d242e73",
  114. "type": "COLOR"
  115. },
  116. {
  117. "label": "Raio dos botões",
  118. "name": "APP_BUTTON_RADIUS",
  119. "value": 25,
  120. "type": "INTEGER"
  121. },
  122. {
  123. "label": "Cor dos icones",
  124. "name": "APP_ICON_COLOR",
  125. "value": "#FFFFFFFF",
  126. "type": "COLOR"
  127. },
  128. {
  129. "label": "Exibir modo de conexão",
  130. "name": "APP_SHOW_CONNECTION_MODE",
  131. "value": true,
  132. "type": "BOOLEAN"
  133. },
  134. {
  135. "label": "Atualizar automaticamente as configurações ao lançar uma atualização.",
  136. "name": "APP_CONFIG_AUTO_UPDATE",
  137. "value": false,
  138. "type": "BOOLEAN"
  139. },
  140. {
  141. "label": "Iniciar o app automaticamente ao reiniciar o dispositivo",
  142. "name": "APP_AUTO_START",
  143. "value": false,
  144. "type": "BOOLEAN"
  145. },
  146. {
  147. "label": "Usar limiter de conexão",
  148. "name": "APP_CONNECTION_LIMITER",
  149. "value": false,
  150. "type": "BOOLEAN"
  151. },
  152. {
  153. "label": "Usar botão de atualizações",
  154. "name": "APP_BTN_UPDATE_ENABLED",
  155. "value": true,
  156. "type": "BOOLEAN"
  157. },
  158. {
  159. "label": "Usar botão de registros",
  160. "name": "APP_BTN_LOGGER_ENABLED",
  161. "value": true,
  162. "type": "BOOLEAN"
  163. },
  164. {
  165. "label": "Usar botão de pagina webview",
  166. "name": "APP_BTN_PAGE_ENABLED",
  167. "value": true,
  168. "type": "BOOLEAN"
  169. },
  170. {
  171. "label": "Ativar dialog de erros",
  172. "name": "APP_DIALOG_ERROR_ENABLED",
  173. "value": true,
  174. "type": "BOOLEAN"
  175. },
  176. {
  177. "label": "Ativar dialog de checkuser",
  178. "name": "APP_CHECKUSER_DIALOG_ENABLED",
  179. "value": true,
  180. "type": "BOOLEAN"
  181. },
  182. {
  183. "label": "Ativar toast de sucesso",
  184. "name": "APP_SUCCESS_TOAST_ENABLED",
  185. "value": true,
  186. "type": "BOOLEAN"
  187. },
  188. {
  189. "label": "Ativar toast de erro",
  190. "name": "APP_ERROR_TOAST_ENABLED",
  191. "value": true,
  192. "type": "BOOLEAN"
  193. },
  194. {
  195. "label": "Usar layout webview",
  196. "name": "APP_LAYOUT_WEBVIEW_ENABLED",
  197. "value": true,
  198. "type": "BOOLEAN"
  199. },
  200. {
  201. "label": "Mensagem",
  202. "name": "APP_MESSAGE",
  203. "value": null,
  204. "type": "TEXT"
  205. },
  206. {
  207. "label": "Tipo de mensagem",
  208. "name": "APP_MESSAGE_TYPE",
  209. "value": {
  210. "options": [
  211. {
  212. "label": "Alerta",
  213. "value": "ALERT"
  214. },
  215. {
  216. "label": "Informação",
  217. "value": "INFO"
  218. },
  219. {
  220. "label": "Boas vindas",
  221. "value": "WELCOME"
  222. },
  223. {
  224. "label": "Sem mensagem",
  225. "value": "NONE"
  226. }
  227. ],
  228. "selected": "NONE"
  229. },
  230. "type": "SELECT"
  231. },
  232. {
  233. "label": "URL de atualização do aplicativo",
  234. "name": "APP_UPDATE_URL",
  235. "value": null,
  236. "type": "URL"
  237. },
  238. {
  239. "label": "LAYOUT WEBVIEW (POR SUA CONTA E RISCO)",
  240. "name": "APP_LAYOUT_WEBVIEW",
  241. "value": "<!DOCTYPE html>\n<html class=\"w-full h-full\" lang=\"pt-BR\">\n<head>\n<meta charset=\"UTF-8\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<title>PlenoNET DT Clean</title>\n\n<style>\n*,\n:after,\n:before {\nbox-sizing: border-box;\nborder: 0 solid #e5e7eb\n}\n\n:after,\n:before {\n--tw-content: \"\"\n}\n\nhtml {\nline-height: 1.5;\n-webkit-text-size-adjust: 100%;\n-moz-tab-size: 4;\n-o-tab-size: 4;\ntab-size: 4;\nfont-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;\nfont-feature-settings: normal;\nfont-variation-settings: normal\n}\n\nbody {\nmargin: 0;\nline-height: inherit\n}\n\nhr {\nheight: 0;\ncolor: inherit;\nborder-top-width: 1px\n}\n\nabbr:where([title]) {\n-webkit-text-decoration: underline dotted;\ntext-decoration: underline dotted\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\nfont-size: inherit;\nfont-weight: inherit\n}\n\na {\ncolor: inherit;\ntext-decoration: inherit\n}\n\nb,\nstrong {\nfont-weight: bolder\n}\n\ncode,\nkbd,\npre,\nsamp {\nfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\nfont-size: 1em\n}\n\nsmall {\nfont-size: 80%\n}\n\nsub,\nsup {\nfont-size: 75%;\nline-height: 0;\nposition: relative;\nvertical-align: initial\n}\n\nsub {\nbottom: -.25em\n}\n\nsup {\ntop: -.5em\n}\n\ntable {\ntext-indent: 0;\nborder-color: inherit;\nborder-collapse: collapse\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\nfont-family: inherit;\nfont-feature-settings: inherit;\nfont-variation-settings: inherit;\nfont-size: 100%;\nfont-weight: inherit;\nline-height: inherit;\ncolor: inherit;\nmargin: 0;\npadding: 0\n}\n\nbutton,\nselect {\ntext-transform: none\n}\n\n[type=button],\n[type=reset],\n[type=submit],\nbutton {\nbackground-color: initial;\nbackground-image: none\n}\n\n:-moz-focusring {\noutline: auto\n}\n\n:-moz-ui-invalid {\nbox-shadow: none\n}\n\nprogress {\nvertical-align: initial\n}\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\nheight: auto\n}\n\n[type=search] {\noutline-offset: -2px\n}\n\n::-webkit-search-decoration {\n-webkit-appearance: none\n}\n\n::-webkit-file-upload-button {\n-webkit-appearance: button;\nfont: inherit\n}\n\nsummary {\ndisplay: list-item\n}\n\nblockquote,\ndd,\ndl,\nfigure,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\np,\npre {\nmargin: 0\n}\n\nfieldset {\nmargin: 0\n}\n\nfieldset,\nlegend {\npadding: 0\n}\n\nmenu,\nol,\nul {\nlist-style: none;\nmargin: 0;\npadding: 0\n}\n\ndialog {\npadding: 0\n}\n\ntextarea {\nresize: vertical\n}\n\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\nopacity: 1;\ncolor: #9ca3af\n}\n\ninput::placeholder,\ntextarea::placeholder {\nopacity: 1;\ncolor: #9ca3af\n}\n\n[role=button],\nbutton {\ncursor: pointer\n}\n\n:disabled {\ncursor: default\n}\n\naudio,\ncanvas,\nembed,\niframe,\nimg,\nobject,\nsvg,\nvideo {\ndisplay: block;\n}\n\nimg,\nvideo {\nmax-width: 100%;\nheight: auto\n}\n\n[hidden] {\ndisplay: none\n}\n\n*,\n::backdrop,\n:after,\n:before {\n--tw-border-spacing-x: 0;\n--tw-border-spacing-y: 0;\n--tw-translate-x: 0;\n--tw-translate-y: 0;\n--tw-rotate: 0;\n--tw-skew-x: 0;\n--tw-skew-y: 0;\n--tw-scale-x: 1;\n--tw-scale-y: 1;\n--tw-pan-x: ;\n--tw-pan-y: ;\n--tw-pinch-zoom: ;\n--tw-scroll-snap-strictness: proximity;\n--tw-gradient-from-position: ;\n--tw-gradient-via-position: ;\n--tw-gradient-to-position: ;\n--tw-ordinal: ;\n--tw-slashed-zero: ;\n--tw-numeric-figure: ;\n--tw-numeric-spacing: ;\n--tw-numeric-fraction: ;\n--tw-ring-inset: ;\n--tw-ring-offset-width: 0px;\n--tw-ring-offset-color: #fff;\n--tw-ring-color: #3b82f680;\n--tw-ring-offset-shadow: 0 0 #0000;\n--tw-ring-shadow: 0 0 #0000;\n--tw-shadow: 0 0 #0000;\n--tw-shadow-colored: 0 0 #0000;\n--tw-blur: ;\n--tw-brightness: ;\n--tw-contrast: ;\n--tw-grayscale: ;\n--tw-hue-rotate: ;\n--tw-invert: ;\n--tw-saturate: ;\n--tw-sepia: ;\n--tw-drop-shadow: ;\n--tw-backdrop-blur: ;\n--tw-backdrop-brightness: ;\n--tw-backdrop-contrast: ;\n--tw-backdrop-grayscale: ;\n--tw-backdrop-hue-rotate: ;\n--tw-backdrop-invert: ;\n--tw-backdrop-opacity: ;\n--tw-backdrop-saturate: ;\n--tw-backdrop-sepia:\n}\n\n.absolute {\nposition: absolute\n}\n\n.relative {\nposition: relative\n}\n\n.bottom-1 {\nbottom: .25rem\n}\n\n.left-1\\/2 {\nleft: 50%\n}\n\n.right-1 {\nright: 0.7rem;\n}\n\n.top-1 {\ntop: .25rem\n}\n\n.top-1\\/2 {\ntop: 50%\n}\n\n.my-3 {\nmargin-top: .75rem;\nmargin-bottom: .75rem\n}\n\n.mb-1 {\nmargin-bottom: .25rem\n}\n\n.mb-2 {\nmargin-bottom: .5rem\n}\n\n.mb-3 {\nmargin-bottom: .75rem\n}\n\n.ml-auto {\nmargin-left: auto\n}\n\n.mt-14 {\nmargin-top: 3.5rem\n}\n\n.mt-2 {\nmargin-top: .5rem\n}\n\n.mt-2\\.5 {\nmargin-top: .625rem\n}\n\n.mt-3 {\nmargin-top: .75rem\n}\n\n.mt-5 {\nmargin-top: 1.25rem\n}\n\n.mt-8 {\nmargin-top: 2rem\n}\n\n.mt-auto {\nmargin-top: auto\n}\n\n.block {\ndisplay: block\n}\n\n.flex {\ndisplay: flex\n}\n\n.grid {\ndisplay: grid\n}\n\n.hidden {\ndisplay: none\n}\n\n.h-1\\/5 {\nheight: 20%\n}\n\n.h-10 {\nheight: 2.5rem\n}\n\n.h-12 {\nheight: 3rem\n}\n\n.h-2\\/3 {\nheight: 66.666667%\n}\n\n.h-2\\/4 {\nheight: 50%\n}\n\n.h-20 {\nheight: 5rem\n}\n\n.h-3 {\nheight: .75rem\n}\n\n.h-4 {\nheight: 1rem\n}\n\n.h-5 {\nheight: 1.25rem\n}\n\n.h-6 {\nheight: 1.5rem\n}\n\n.h-8 {\nheight: 2rem\n}\n\n.h-9 {\nheight: 2.25rem\n}\n\n.h-\\[100\\%\\] {\nheight: 100%\n}\n\n.h-\\[40px\\] {\nheight: 40px\n}\n\n.h-\\[90\\%\\] {\nheight: 90%\n}\n\n.h-\\[calc\\(100\\%-160px\\)\\] {\nheight: calc(100% - 160px)\n}\n\n.h-auto {\nheight: auto\n}\n\n.h-full {\nheight: 100%\n}\n\n.max-h-8 {\nmax-height: 2rem\n}\n\n.max-h-\\[10\\%\\] {\nmax-height: 10%\n}\n\n.max-h-\\[66\\.666667\\%\\] {\nmax-height: 66.666667%\n}\n\n.min-h-\\[40px\\] {\nmin-height: 40px\n}\n\n.w-10 {\nwidth: 2.5rem\n}\n\n.w-11\\/12 {\nwidth: 91.666667%\n}\n\n.w-14 {\nwidth: 3.5rem\n}\n\n.w-2\\/4 {\nwidth: 50%\n}\n\n.w-20 {\nwidth: 5rem\n}\n\n.w-4 {\nwidth: 1rem\n}\n\n.w-4\\/5 {\nwidth: 80%\n}\n\n.w-5 {\nwidth: 1.25rem\n}\n\n.w-5\\/6 {\nwidth: 83.333333%\n}\n\n.w-6 {\nwidth: 1.5rem\n}\n\n.w-8 {\nwidth: 2rem\n}\n\n.w-\\[40px\\] {\nwidth: 40px\n}\n\n.w-\\[calc\\(100\\%-30px\\)\\] {\nwidth: calc(100% - 30px)\n}\n\n.w-\\[calc\\(100\\%-40px\\)\\] {\nwidth: calc(100% - 0px)\n}\n\n.w-auto {\nwidth: auto\n}\n\n.w-full {\nwidth: 100%\n}\n\n.flex-1 {\nflex: 1 1 0%\n}\n\n.-translate-x-1\\/2 {\n--tw-translate-x: -50%\n}\n\n.-translate-x-1\\/2,\n.-translate-x-full {\ntransform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n\n.-translate-x-full {\n--tw-translate-x: -100%\n}\n\n.-translate-y-1\\/2 {\n--tw-translate-y: -50%\n}\n\n.-translate-y-1\\/2,\n.scale-0 {\ntransform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n\n.scale-0 {\n--tw-scale-x: 0;\n--tw-scale-y: 0\n}\n\n.transform {\ntransform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n\n.cursor-none {\ncursor: none\n}\n\n.grid-cols-2 {\ngrid-template-columns: repeat(2, minmax(0, 1fr))\n}\n\n.flex-col {\nflex-direction: column\n}\n\n.items-end {\nalign-items: flex-end\n}\n\n.items-center {\nalign-items: center\n}\n\n.justify-center {\njustify-content: center\n}\n\n.justify-between {\njustify-content: space-between\n}\n\n.justify-items-center {\njustify-items: center\n}\n\n.gap-1 {\ngap: .25rem\n}\n\n.gap-2 {\ngap: .5rem\n}\n\n.gap-3 {\ngap: .75rem\n}\n\n.gap-5 {\ngap: 1.25rem\n}\n\n.overflow-auto {\noverflow: auto\n}\n\n.overflow-hidden,\n.truncate {\noverflow: hidden\n}\n\n.truncate {\ntext-overflow: ellipsis;\nwhite-space: nowrap\n}\n\n.rounded-full {\nborder-radius: 9999px\n}\n\n.rounded-md {\nborder-radius: .375rem\n}\n\n.rounded-t-md {\nborder-top-left-radius: .375rem;\nborder-top-right-radius: .375rem\n}\n\n.border {\nborder-width: 1px\n}\n\n.border-b {\nborder-bottom-width: 1px\n}\n\n.border-\\[\\#01010342\\] {\nborder-color: #01010342\n}\n\n.border-\\[\\#767881\\] {\n--tw-border-opacity: 1;\nborder-color: rgb(118 120 129/var(--tw-border-opacity))\n}\n\n.bg-buttons {\n--tw-bg-opacity: 1;\nbackground-color: #232429;\nborder-radius: 20px;\n}\n\n.bg-payloads {\n--tw-bg-opacity: 1;\nbackground-color: #ffffff;\nborder-radius: 20px;\nborder: 1px solid #01010342;\n}\n\n.bg-conect {\nbackground-color: #232429;\nborder-radius: 20px;\n}\n\n.bg-black {\n background-color: #ffffff42;\n backdrop-filter: blur(10px);\n}\n\n.bg-pop-up {\n--tw-bg-opacity: 1;\nbackground-color: #ffffff;\nmargin: auto;\nborder-radius:20px;\n}\n\n.bg-input {\nbackground-color: #ffffff;\nborder: 1px solid #e2e4e6;\nborder-radius: 20px;\nbox-shadow: 1.171px 9.607px 15px 0px rgba(71, 95, 123, 0.2);\n}\n\n.bg-\\[\\#414cb8\\] {\n--tw-bg-opacity: 1;\nbackground-color: rgb(65 76 184/var(--tw-bg-opacity))\n}\n\n.bg-\\[\\#575e81\\] {\n--tw-bg-opacity: 1;\nbackground-color: rgb(87 94 129/var(--tw-bg-opacity))\n}\n\n.bg-red-900 {\n--tw-bg-opacity: 1;\nbackground-color: rgb(127 29 29/var(--tw-bg-opacity))\n}\n\n.bg-red {\n--tw-bg-opacity: 1;\nbackground-color: #FF0000;\nborder-radius: 20px;\n}\n\n.bg-transparent {\nbackground-color: initial\n}\n\n.bg-gradient-to-r {\nbackground-image: linear-gradient(to right, var(--tw-gradient-stops))\n}\n\n.from-input {\nbackground-color: #ffffff;\nborder-radius: 20px;\nwidth: 100%;\n}\n\n.to-transparent {\n--tw-gradient-to: #0000 var(--tw-gradient-to-position)\n}\n\n.stroke-\\[\\#FFFFFF\\],\n.stroke-white {\nstroke: #ffffff;\n}\n\n.p-2 {\npadding: .5rem\n}\n\n.px-1 {\npadding-left: 1rem;\npadding-right: 1rem;\n}\n\n.px-2 {\npadding-left: .5rem;\npadding-right: .5rem\n}\n\n.px-3 {\npadding-left: .75rem;\npadding-right: .75rem\n}\n\n.px-\\[10\\%\\] {\npadding-left: 10%;\npadding-right: 10%\n}\n\n.px-\\[10px\\] {\npadding-left: 10px;\npadding-right: 10px\n}\n\n.py-2 {\npadding-top: .5rem;\npadding-bottom: .5rem\n}\n\n.py-2\\.5 {\npadding-top: 1.0rem;\npadding-bottom: 1.1rem\n}\n\n.pb-\\[30px\\] {\npadding-bottom: 30px\n}\n\n.pl-1 {\npadding-left: 0.8rem;\n}\n\n.pr-6 {\npadding-right: 1.5rem\n}\n\n.pt-\\[10px\\] {\npadding-top: 10px\n}\n\n.text-center {\ntext-align: center\n}\n\n.text-\\[0\\.5rem\\] {\nfont-size: .5rem\n}\n\n.text-\\[0\\.65rem\\] {\nfont-size: .65rem\n}\n\n.text-\\[0\\.6rem\\] {\nfont-size: .6rem\n}\n\n.text-lg {\nfont-size: 1.125rem;\nline-height: 1;\n}\n\n.text-sm {\nfont-size: .775rem;\nline-height: 1rem\n}\n\n.text-xs {\nfont-size: .75rem;\nline-height: 1rem\n}\n\n.font-medium {\nfont-weight: 500\n}\n\n.leading-7 {\nline-height: 1.75rem\n}\n\n.text-\\[\\#11c9ff\\] {\n--tw-text-opacity: 1;\ncolor: rgb(17 201 255/var(--tw-text-opacity))\n}\n\n.text-\\[\\#767881\\] {\n--tw-text-opacity: 1;\ncolor: rgb(118 120 129/var(--tw-text-opacity))\n}\n\n.text-\\[\\#7d7f81\\] {\n--tw-text-opacity: 1;\ncolor: rgb(125 127 129/var(--tw-text-opacity))\n}\n\n.text-\\[\\#FF0000\\] {\n--tw-text-opacity: 1;\ncolor: rgb(255 0 0/var(--tw-text-opacity))\n}\n\n.text-white {\n--tw-text-opacity: 1;\ncolor: rgb(255 255 255/var(--tw-text-opacity))\n}\n\n.text-black {\n--tw-text-opacity: 1;\ncolor: rgb(0 0 0/var(--tw-text-opacity))\n}\n\n.shadow-\\[0px_0px_10px_0px_rgba\\(18\\2c 22\\2c 34\\2c 1\\)\\] {\n--tw-shadow: 0px 0px 10px 0px #121622;\n--tw-shadow-colored: 0px 0px 10px 0px var(--tw-shadow-color);\n}\n\n.outline-none {\noutline: 2px solid #0000;\noutline-offset: 2px\n}\n\n.transition-\\[max-height\\] {\ntransition-property: max-height;\ntransition-timing-function: cubic-bezier(.4, 0, .2, 1);\ntransition-duration: .15s\n}\n\n.transition-all {\ntransition-property: all;\ntransition-timing-function: cubic-bezier(.4, 0, .2, 1);\ntransition-duration: .15s\n}\n\n.duration-1000 {\ntransition-duration: 1s\n}\n\n@media (max-width:300px) {\n.max-\\[300px\\]\\:text-sm {\nfont-size: .775rem;\nline-height: 1rem\n}\n}\n\n@media (min-width:280px) {\n.min-\\[280px\\]\\:text-sm {\nfont-size: .875rem;\nline-height: 1.25rem\n}\n\n.min-\\[280px\\]\\:text-xs {\nfont-size: .75rem;\nline-height: 1rem\n}\n}\n\n.button-container {\ndisplay: flex;\n}\n\n.normal-button {\nflex: 1;\nbackground: #373737;\ncolor: white;\nborder: none;\npadding: 5px;\nfont-size: 14px;\nmargin-right: 10px;\nmargin-top: 10px;\nborder-radius: 20px;\n}\n\n.normal-button:last-child {\nmargin-right: 0;\n}\n\n.normal-button:hover {\nbackground-color: #FF0000;\n}\n\n.w-payloads {\nwidth: 92%;\n}\n\n\n.icon {\nmargin-right: 10px;\ncolor: red;\n}\n\n@media (min-width: 768px) {\n.w-11/12 {\nwidth: 92%;\n}\n}\n\n.w-9\\/9 {\nwidth: 40%;\nmargin-left: 5px;\nmargin-right: 5px;\n}\n\n.mt-13 {\nmargin-top: 15px;\n}\n\n#container-configs {\ndisplay: flex;\nflex-direction: column;\nalign-items: center;\njustify-content: center;\nposition: absolute;\ntop: 0;\nleft: 0;\nwidth: 100%;\nheight: 100%;\nbackground-color: rgba(0, 0, 0, 0.8);\nz-index: 9999;\ntransition: all 0.3s ease;\n}\n\n#container-configs > section {\nwidth: 100%; \nmax-height: 100%; \noverflow: auto;\nbackground-color: white;\nborder-radius: 10px;\npadding: 20px;\nbox-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);\n}\n\n#container-configs h1 {\nfont-size: 14px;\nfont-weight: bold;\n}\n\n#container-configs p {\nfont-size: 12px;\ncolor: #555;\n}\n\n#area-carrier-list {\ndisplay: flex;\nflex-direction: column;\n}\n\n#area-carrier-list label {\nborder: 1px solid #ccc;\nborder-radius: 5px;\npadding: 10px;\ncursor: pointer;\ntransition: background-color 0.3s ease;\n}\n\n#area-carrier-list label:hover {\nbackground-color: #f0f0f0;\n}\n\n#area-carrier-list label img {\nwidth: 40px;\nheight: 40px;\nborder-radius: 50%;\nmargin-right: 20px;\nmargin-l: 20px;\n}\n\n.loader {\nmax-width: 15rem;\nwidth: 50%;\nheight: auto;\nstroke-linecap: round;\nmargin: auto;\nmargin-top: -70px;\n}\n\ncircle {\nfill: none;\nstroke-width: 3.5;\nanimation-name: preloader;\nanimation-duration: 3s;\nanimation-iteration-count: infinite;\nanimation-timing-function: ease-in-out;\ntransform-origin: 170px 170px;\nwill-change: transform;\n\n&:nth-of-type(1) {\nstroke-dasharray: 350px;\n}\n\n&:nth-of-type(2) {\nstroke-dasharray: 300px;\n}\n\n&:nth-of-type(3) {\nstroke-dasharray: 250px;\n}\n\n&:nth-of-type(4) {\nstroke-dasharray: 100px;\n}\n\n@for $i from 1 through 4 {\n&:nth-of-type(#{$i}) {\nanimation-delay: -#{$i * 0.15}s;\n}\n}\n}\n\n@keyframes preloader {\n50% {\ntransform: rotate(360deg);\n}\n}\n\n.connection-img {\nwidth: 100%;\nmargin-top: -70px;\n}\n\n.help-bottom {\nbackground: #ffffff;\nborder-radius: 20px; \npadding: 4px 15px 4px 15px; \ncolor: #ffffff; \nfont-size: 13px;\n}\n\np {\nline-height: 1.2 !important;\n}\n\n.page-title {\n background: #ffffff;\n border: 1px solid #e2e4e6;\n padding: 5px 15px 10px 15px;\n border-radius: 15px;\n margin-top: 10px;\n box-shadow: 1.171px 9.607px 15px 0px rgba(71, 95, 123, 0.2);\n}\n\n.title-default {\nfont-size: 17px;\nfont-weight: 700;\ntext-align: center;\n}\n\n.title-sessions {\nfont-size: 18px;\nfont-weight: 700;\ntext-align: center;\n}\n\n.text-default {\nfont-size: 15px;\ntext-align: center;\nmargin-bottom: 10px;\n}\n\n.text-default-black {\ncolor: #ffffff;\nfont-weight: 700;\nfont-size: 15px;\ntext-align: center;\nmargin-bottom: 10px;\n}\n\n.svg-sessions {\nwidth: 150px;\n margin: auto;\n margin-top: 20px;\n}\n\n.button-black {\nbackground: #373737;\nborder-radius: 20px;\n}\n\n .menu-btn {\n display: flex;\n align-items: center;\n margin-bottom: 10px !important;\n padding: 10px;\n border: 1px solid #ccc;\n cursor: pointer;\n transition: background-color 0.3s;\n max-width: 90%; /* Largura máxima de 90% */\n margin: 0 auto; /* Centralizar horizontalmente */\n\t\t\tborder-radius: 20px;\n }\n\n .menu-btn:hover {\n background-color: #eee;\n }\n\n .icon-menu {\n margin-right: 10px;\n\t\t\tfont-size: 40px;\n }\n\n .text-menu {\n display: flex;\n flex-direction: column;\n }\n\n .title-menu {\n font-weight: bold;\n\t\t\tline-height: 1.1;\n }\n\n .subtitle-menu {\n color: #777;\n\t\t\tline-height: 1.1;\n\t\t\tfont-size: 13px;\n }\n\t\t\n\t\t.menu-mobile {\n width: 100%;\n box-sizing: border-box;\n\t\t}\n\n.bg-pop-up-menu {\n --tw-bg-opacity: 1;\n background-color: #ffffff;\n margin: auto;\n border-radius: 20px;\n height: auto;\n\tpadding: 10px 0px 20px 0px;\n}\n\n</style>\n</head>\n\n<body class=\"w-full h-full\">\n<main class=\"w-full h-full flex flex-col relative\">\n<section class=\"w-full h-full flex flex-col px-[10px] pt-[10px] pb-[30px] overflow-hidden\" id=\"container-home\">\n<section class=\"flex justify-between items-center relative\" style=\"margin-top: 10px;\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"open-menu\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\"><path d=\"M7,0H4A4,4,0,0,0,0,4V7a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V4A4,4,0,0,0,7,0ZM9,7A2,2,0,0,1,7,9H4A2,2,0,0,1,2,7V4A2,2,0,0,1,4,2H7A2,2,0,0,1,9,4Z\"/><path d=\"M20,0H17a4,4,0,0,0-4,4V7a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V4A4,4,0,0,0,20,0Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V4a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z\"/><path d=\"M7,13H4a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V17A4,4,0,0,0,7,13Zm2,7a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2H7a2,2,0,0,1,2,2Z\"/><path d=\"M20,13H17a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V17A4,4,0,0,0,20,13Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z\"/></svg>\n<div class=\"absolute left-1/2 top-1/2 transform -translate-x-1/2 -translate-y-1/2\">\n<span class=\"text-black min-[280px]:text-sm text-sm title-default\">Dashboard</span>\n</div>\n\n<div>\n<span class=\"help-bottom\" id=\"nav-help\">Ajuda</span>\n</div>\n</section>\n\n<div class=\"page-title\">\n<div class=\"subtitle\">\n<p><span class=\"font-semibold text-sm mr-2\" style=\"font-weight: 700;\">IP Local: </span><span class=\"font-semibold text-xs\" id=\"carrier-details\">Sem sinal </span>\n<span class=\"font-semibold text-sm mr-2\" style=\"font-weight: 700;\">Config. versão: </span><span class=\"font-semibold text-sm\" id=\"version\">1.0</span></p>\n<p><span class=\"font-semibold text-sm mr-2\" style=\"font-weight: 700;\">Validade: </span><span class=\"text-[#767881] text-sm font-medium\" id=\"expires-date-user-in-menu\">Sem informações</span><span class=\"font-semibold text-sm mr-2\" style=\"font-weight: 700;\"> - Status:<span class=\"text-[#767881] text-sm font-medium\" id=\"vpn-status\"> Desconectado</span></p>\n</div>\n</div>\n\n<section class=\"w-full h-1/5 flex justify-center\" style=\"margin-top:10px;\">\n<img class=\"w-full\" id=\"app-logo\" style=\"border-radius: 20px;\" src=\"https://i.ibb.co/0VgwZ2x/DTieegwr59.png\" alt=\"logo\" />\n</section>\n\n\n<section class=\"w-full h-auto flex flex-col items-center gap-3 mt-2.5 py-2.5 bg-input rounded-md\">\n<h1 class=\"text-[#7d7f81] text-lg font-medium\" style=\"text-align:center;\">Conecte-se e navegue sem interrupções.</h1>\n\n<section class=\"w-payloads h-[40px] flex justify-between items-center gap-2\" id=\"xvideos\">\n<button class=\"w-[calc(100%-40px)] h-full flex items-center justify-between gap-1 px-1 rounded-md cursor-none outline-none bg-payloads\" id=\"button-of-list-carrier\" type=\"button\" title=\"Selecionar Configuração\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"w-6 h-6 text-black\" viewBox=\"0 0 16 16\">\n<path d=\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6\" />\n</svg>\n\n<span class=\"w-full text-black text-xs truncate\" id=\"value-of-carrier\">ESCOLHA UMA CONFIGURAÇÃO</span>\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"text-black w-5 h-5\" viewBox=\"0 0 16 16\">\n<path fill-rule=\"evenodd\" d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\" />\n</svg>\n</button>\n</section>\n\n<div class=\"flex gap-2 items-center\" style=\"width: 92%;\">\n<div class=\"w-1/2 h-9 overflow-hidden border border-[#01010342] rounded-md bg-gradient-to-r from-input to-transparent\" id=\"container-input-username\">\n<input class=\"w-full h-full pl-1 outline-none text-black bg-transparent\" id=\"input-username\" type=\"text\" placeholder=\"Usuário\" />\n</div>\n\n<div class=\"w-1/2 h-9 flex items-center relative overflow-hidden border border-[#01010342] rounded-md bg-gradient-to-r from-input to-transparent\" id=\"container-input-password\">\n<input class=\"w-full h-full pl-1 outline-none black-white bg-transparent\" id=\"input-password\" type=\"password\" placeholder=\"Senha\" />\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"w-5 h-5 absolute right-1 text-black\" id=\"eye-view-password\" viewBox=\"0 0 16 16\">\n<path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\" />\n<path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0\" />\n</svg>\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"w-5 h-5 absolute right-1 text-black hidden\" id=\"eye-not-view-password\" viewBox=\"0 0 16 16\">\n<path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486z\" />\n<path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829\" />\n<path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708\" />\n</svg>\n</div>\n\n<div class=\"w-full h-9 hidden items-center relative overflow-hidden border border-[#01010342] rounded-md bg-gradient-to-r from-input to-transparent\" id=\"container-input-uuid\">\n<input class=\"w-full h-full pl-1 outline-none text-black bg-transparent\" id=\"input-uuid\" type=\"password\" placeholder=\"UUID\" />\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"w-5 h-5 absolute right-1 text-white\" id=\"eye-view-uuid\" viewBox=\"0 0 16 16\">\n<path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\" />\n<path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0\" />\n</svg>\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"w-5 h-5 absolute right-1 text-white hidden\" id=\"eye-not-view-uuid\" viewBox=\"0 0 16 16\">\n<path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486z\" />\n<path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829\" />\n<path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708\" />\n</svg>\n</div>\n</div>\n\n<div id=\"spinner\" style=\"display: none;\">\n<svg class=\"loader\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 340 340\">\n<circle cx=\"170\" cy=\"170\" r=\"160\" stroke=\"#FF0000\"/>\n<circle cx=\"170\" cy=\"170\" r=\"135\" stroke=\"#404041\"/>\n<circle cx=\"170\" cy=\"170\" r=\"110\" stroke=\"#FF0000\"/>\n<circle cx=\"170\" cy=\"170\" r=\"85\" stroke=\"#404041\"/>\n</svg>\n<p style=\"text-align: center;\">Conectando...</p>\n</div>\n\n<div class=\"connection-img\" id=\"connected-img\" style=\"display: none;\">\n<img style=\"width: 50% !important; margin: auto;\" src=\"https://cdna.artstation.com/p/assets/images/images/050/392/912/original/nelson-tiapa-gif-con-telefono.gif\"/>\n<p style=\"text-align: center;\">Conectado com sucesso</p>\n</div>\n\n<button class=\"w-11/12 h-9 rounded-md shadow-[0px_0px_10px_0px_rgba(18,22,34,1)] bg-conect cursor-none\" id=\"button-vpn-start-stop\" type=\"button\" title=\"conectar ou desconectar vpn\">\n<span class=\"text-sm font-medium text-white\" id=\"status-button-vpn\">Conectar</span>\n</button>\n</section>\n\n<section class=\"acessos-section\" style=\"margin-top: 10px;margin-left: 10px;font-size: 18px;font-weight: 700;\">Acessos rápidos.\n</section>\n\n<section class=\"button-container\">\n<button class=\"normal-button\" id=\"sync\" onclick=\"DtStartAppUpdate.execute()\">Atualizar</button>\n<button class=\"normal-button\" id=\"button-logs\"><span class=\"icon-buttons\">Registros</button>\n<button class=\"normal-button\" id=\"nav-perfil\"><span class=\"icon-buttons\">Perfil</button>\n</section>\n\n<section class=\"promo-section\" style=\"text-align: center; margin-top: 10px;\">Mantenha seu aplicativo sempre atualizado e evite a interrupção dos serviços.\n</section>\n\n<section class=\"w-full h-10 flex items-center justify-center gap-2 mt-auto rounded-md bg-buttons\" id=\"nav-help\" style=\"display: none;\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"text-white w-4 h-4\" viewBox=\"0 0 16 16\">\n<path d=\"M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5\" />\n<path d=\"M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\" />\n</svg>\n\n<span class=\"text-white text-sm font-medium\">PRECISO DE AJUDA</span>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center absolute transition-all bg-black -translate-x-full\" id=\"container-menu\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up-menu\">\n<section class=\"w-full h-10 flex justify-between items-center px-1\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"ml-auto text-black w-8 h-8\" id=\"hidden-menu\" viewBox=\"0 0 24 24\">\n<path d=\"M19,2H5C2.243,2,0,4.243,0,7v10c0,2.757,2.243,5,5,5h14c2.757,0,5-2.243,5-5V7c0-2.757-2.243-5-5-5Zm3,15c0,1.654-1.346,3-3,3H5c-1.654,0-3-1.346-3-3V7c0-1.654,1.346-3,3-3h14c1.654,0,3,1.346,3,3v10Zm-5.793-7.793l-2.793,2.793,2.793,2.793c.391,.391,.391,1.023,0,1.414-.195,.195-.451,.293-.707,.293s-.512-.098-.707-.293l-2.793-2.793-2.793,2.793c-.195,.195-.451,.293-.707,.293s-.512-.098-.707-.293c-.391-.391-.391-1.023,0-1.414l2.793-2.793-2.793-2.793c-.391-.391-.391-1.023,0-1.414s1.023-.391,1.414,0l2.793,2.793,2.793-2.793c.391-.391,1.023-.391,1.414,0s.391,1.023,0,1.414Z\"/></svg>\n</section>\n\n<section class=\"menu-mobile\">\n <div class=\"menu-btn\" id=\"nav-terms\">\n <div class=\"icon-menu\">\n <!-- Substitua o conteúdo abaixo pelo seu SVG -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\"><path d=\"M22.775,9.792c-.778-.649-1.8-.917-2.795-.737l-5.897,1.072c-.795,.145-1.507,.499-2.083,1-.576-.501-1.288-.855-2.083-1l-5.898-1.073c-.997-.179-2.015,.087-2.794,.737-.778,.649-1.225,1.604-1.225,2.617v9.433l12,2.182,12-2.182V12.41c0-1.014-.446-1.967-1.225-2.617Zm-12.275,10.91l-7.5-1.364v-6.929c0-.167,.092-.268,.147-.314,.055-.046,.169-.117,.335-.089l5.898,1.072c.648,.118,1.12,.683,1.12,1.342v6.281Zm10.5-1.364l-7.5,1.364v-6.281c0-.66,.471-1.224,1.12-1.342l5.897-1.072c.166-.033,.28,.042,.335,.088,.056,.046,.147,.147,.147,.314v6.929ZM7.5,4.5C7.5,2.015,9.515,0,12,0s4.5,2.015,4.5,4.5-2.015,4.5-4.5,4.5-4.5-2.015-4.5-4.5Z\"/></svg>\n </div>\n <div class=\"text-menu\">\n <div class=\"title-menu\">Termos de uso do aplicativo</div>\n <div class=\"subtitle-menu\">Leia cuidadosamente nossos termos antes de usar o aplicativo.</div>\n </div>\n </div>\n\t</section>\n\t\n\t<section class=\"menu-mobile\">\n <div class=\"menu-btn\" id=\"nav-hotspot\">\n <div class=\"icon-menu\">\n <!-- Substitua o conteúdo abaixo pelo seu SVG -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\"><path d=\"m20,15h-4v-4c0-.552-.447-1-1-1s-1,.448-1,1v4H4c-2.206,0-4,1.794-4,4v1c0,2.206,1.794,4,4,4h16c2.206,0,4-1.794,4-4v-1c0-2.206-1.794-4-4-4Zm-15.5,6c-.828,0-1.5-.672-1.5-1.5s.672-1.5,1.5-1.5,1.5.672,1.5,1.5-.672,1.5-1.5,1.5Zm5,0c-.828,0-1.5-.672-1.5-1.5s.672-1.5,1.5-1.5,1.5.672,1.5,1.5-.672,1.5-1.5,1.5ZM15,5c1.817,0,3.526.708,4.812,1.993.391.391.391,1.024,0,1.414-.195.195-.451.293-.707.293s-.512-.098-.707-.293c-.907-.908-2.114-1.407-3.397-1.407s-2.49.5-3.397,1.407c-.39.391-1.023.391-1.414,0-.391-.39-.391-1.023,0-1.414,1.285-1.285,2.994-1.993,4.811-1.993Zm-8.778-1.182C8.485,1.392,11.684,0,15,0s6.516,1.392,8.778,3.818c.377.404.354,1.037-.05,1.414-.192.18-.438.269-.682.269-.268,0-.534-.107-.731-.318-1.886-2.022-4.552-3.182-7.315-3.182s-5.43,1.16-7.315,3.182c-.378.404-1.01.425-1.414.049-.404-.377-.426-1.01-.049-1.414Z\"/>\n</svg>\n </div>\n <div class=\"text-menu\">\n <div class=\"title-menu\">Roteador Wi-fi (Proxy)</div>\n <div class=\"subtitle-menu\">Compartilhe sua internet com outras pessoas.</div>\n </div>\n </div>\n\t</section>\n\t\n\t<section class=\"menu-mobile\">\n <div class=\"menu-btn\" id=\"nav-apn\">\n <div class=\"icon-menu\">\n <!-- Substitua o conteúdo abaixo pelo seu SVG -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\"><path d=\"m17,0h-4.757c-1.068,0-2.072.416-2.829,1.172l-2.242,2.242c-.745.744-1.172,1.774-1.172,2.828v8.758c0,2.757,2.243,5,5,5h6c2.757,0,5-2.243,5-5V5c0-2.757-2.243-5-5-5Zm3,15c0,1.654-1.346,3-3,3h-6c-1.654,0-3-1.346-3-3V6.242c0-.526.213-1.042.586-1.414l2.242-2.242c.378-.378.881-.586,1.415-.586h4.757c1.654,0,3,1.346,3,3v10Zm-3,8c0,.553-.447,1-1,1h-5c-4.962,0-9-4.037-9-9v-7c0-.553.448-1,1-1s1,.447,1,1v7c0,3.859,3.14,7,7,7h5c.553,0,1,.447,1,1Zm-3-11h-4v-1.5c0-.828.672-1.5,1.5-1.5h2.5v3Zm4-1.5v1.5h-3v-3h1.5c.828,0,1.5.672,1.5,1.5Zm-8,2.5h3v3h-1.5c-.828,0-1.5-.672-1.5-1.5v-1.5Zm4,0h4v1.5c0,.828-.672,1.5-1.5,1.5h-2.5v-3Z\"/>\n</svg>\n </div>\n <div class=\"text-menu\">\n <div class=\"title-menu\">Configurações de APN</div>\n <div class=\"subtitle-menu\">Ajuste seu chip para conseguir navegar corretamente.</div>\n </div>\n </div>\n\t</section>\n\t\n\t<section class=\"menu-mobile\">\n <div class=\"menu-btn\" id=\"nav-cache\">\n <div class=\"icon-menu\">\n <!-- Substitua o conteúdo abaixo pelo seu SVG -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\"><path d=\"M23.715,2.285a1.013,1.013,0,0,0-1.43,0L17.521,7.049l-.32-.313a5.008,5.008,0,0,0-6.429-.479A16.618,16.618,0,0,1,6.224,8.685L4.15,9.293a5.036,5.036,0,0,0-3.113,2.635A4.973,4.973,0,0,0,.9,15.947a12.95,12.95,0,0,0,12.112,8.064h.924a1.011,1.011,0,0,0,.578-.182A15.288,15.288,0,0,0,21.224,13.62a5.029,5.029,0,0,0-1.453-4.374l-.8-.784,4.747-4.747A1.013,1.013,0,0,0,23.715,2.285Zm-10.107,19.7h-.6A11.3,11.3,0,0,1,8.7,21.138l.011-.006a11.546,11.546,0,0,0,4.351-3.8l.518-.761a1.01,1.01,0,0,0-1.67-1.138l-.518.761A9.535,9.535,0,0,1,7.8,19.327l-1.251.63a10.757,10.757,0,0,1-2.583-2.57,11.625,11.625,0,0,0,4.377-2.664,1.011,1.011,0,0,0-1.414-1.446,9.617,9.617,0,0,1-3.98,2.32c-.061-.135-.127-.267-.182-.406a2.906,2.906,0,0,1,.085-2.381,3.023,3.023,0,0,1,1.864-1.578l2.073-.608a15.364,15.364,0,0,0,3.426-1.588l7.915,7.712A14.192,14.192,0,0,1,13.608,21.989Zm5.62-8.683a12.421,12.421,0,0,1-.309,1.387L11.948,7.9l0,0a3.011,3.011,0,0,1,1.755-.566,2.973,2.973,0,0,1,2.084.849l2.569,2.509A3.01,3.01,0,0,1,19.228,13.306Z\"/>\n</svg>\n </div>\n <div class=\"text-menu\">\n <div class=\"title-menu\">Restauração do aplicativo</div>\n <div class=\"subtitle-menu\">Elimine resíduos de versões antigas restaurando seu aplicativo.</div>\n </div>\n </div>\n\t</section>\n\t\n\t<section class=\"menu-mobile\" style=\"margin-bottom:30px;\">\n <div class=\"menu-btn\" id=\"nav-battery\">\n <div class=\"icon-menu\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 24 24\"><path d=\"M7,18.5c0,.829-.671,1.5-1.5,1.5-3.033,0-5.5-2.467-5.5-5.5v-5c0-3.033,2.467-5.5,5.5-5.5,.829,0,1.5,.671,1.5,1.5s-.671,1.5-1.5,1.5c-1.378,0-2.5,1.122-2.5,2.5v5c0,1.378,1.122,2.5,2.5,2.5,.829,0,1.5,.671,1.5,1.5Zm5.593-8h-2.142l2.331-4.283c.396-.728,.126-1.639-.601-2.035-.727-.396-1.638-.127-2.035,.601,0,0-3.012,5.559-3.042,5.657-.22,.728-.091,1.489,.354,2.089,.451,.608,1.186,.971,1.964,.971h2.235l-2.149,4.333c-.368,.742-.065,1.642,.677,2.01,.214,.106,.441,.157,.666,.157,.552,0,1.083-.306,1.345-.834l2.463-4.966c.438-.733,.456-1.65,.043-2.421-.424-.79-1.231-1.28-2.109-1.28Zm10.407-2.5h-1.208c-.655-2.306-2.78-4-5.292-4-.828,0-1.5,.671-1.5,1.5s.672,1.5,1.5,1.5c1.379,0,2.5,1.122,2.5,2.5v5c0,1.378-1.121,2.5-2.5,2.5-.828,0-1.5,.671-1.5,1.5s.672,1.5,1.5,1.5c2.513,0,4.637-1.694,5.292-4h1.208c.552,0,1-.448,1-1v-6c0-.552-.448-1-1-1Z\"/></svg>\n </div>\n <div class=\"text-menu\">\n <div class=\"title-menu\">Otimizar bateria</div>\n <div class=\"subtitle-menu\">Obtenha um desempenho melhor do seu aparelho otimizando sua bateria.</div>\n </div>\n </div>\n\t</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-terms\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"termos\" data-name=\"termos\" viewBox=\"0 0 24 24\">\n<path d=\"M22.775,9.792c-.778-.649-1.8-.917-2.795-.737l-5.897,1.072c-.795,.145-1.507,.499-2.083,1-.576-.501-1.288-.855-2.083-1l-5.898-1.073c-.997-.179-2.015,.087-2.794,.737-.778,.649-1.225,1.604-1.225,2.617v9.433l12,2.182,12-2.182V12.41c0-1.014-.446-1.967-1.225-2.617Zm-12.275,10.91l-7.5-1.364v-6.929c0-.167,.092-.268,.147-.314,.055-.046,.169-.117,.335-.089l5.898,1.072c.648,.118,1.12,.683,1.12,1.342v6.281Zm10.5-1.364l-7.5,1.364v-6.281c0-.66,.471-1.224,1.12-1.342l5.897-1.072c.166-.033,.28,.042,.335,.088,.056,.046,.147,.147,.147,.314v6.929ZM7.5,4.5C7.5,2.015,9.515,0,12,0s4.5,2.015,4.5,4.5-2.015,4.5-4.5,4.5-4.5-2.015-4.5-4.5Z\"/></svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Termos de uso do aplicativo</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default\">1º - Suporte é direcionado apenas para (Clientes e revendedores) que estejam com todos os requisitos necessários para utilização do nosso aplicativo.</p>\n\n<p class=\"text-black text-default\">2º - Não assumimos responsabilidade pela abrangência do sinal das operadoras, tampouco por eventuais bloqueios ou interrupções de conexão, quer sejam atribuíveis a problemas técnicos da rede ou condições climáticas.</p>\n\n<p class=\"text-black text-default\">3º - A conectividade à internet pode ser restrita para determinados sites que implementam bloqueios ao uso de redes privadas virtuais (VPNs), tais como Bet365, Spotify, entre outros...</p>\n\n<p class=\"text-black text-default\">4º - O uso de programas como uTorrent ou aplicativos P2P, que podem resultar em danos aos nossos servidores, é extremamente proibido. O descumprimento dessa norma pode acarretar em banimento permanente, sem a possibilidade de reembolso.</p>\n\n<p class=\"text-black text-default\">5º - O cliente tem o direito de requerer o reembolso no período de até 7 dias corridos a partir da data de assinatura do plano. Em caso de aprovação do reembolso, o valor correspondente será estornado ao solicitante no prazo máximo de 15 dias.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-2/4 h-9 rounded-md cursor-none button-black\" id=\"close-terms-container\" type=\"button\">\n<span class=\"text-white\">CONCORDO</span>\n</button>\n</section>\n</section>\n</section>\n\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-help\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"central-de-ajuda\" data-name=\"central-de-ajuda\" viewBox=\"0 0 24 24\">\n<path d=\"m22,9v-3c0-1.654-1.346-3-3-3h-6V0h-2v3h-6c-1.654,0-3,1.346-3,3v3H0v6h2v6h12.697l3.963,2.642c.36.24.775.361,1.191.361.348,0,.696-.084,1.015-.255.699-.375,1.134-1.1,1.134-1.894v-6.855h2v-6h-2Zm-2,12.855c0,.022,0,.089-.078.13-.08.043-.136.004-.152-.007l-4.467-2.978H4V6c0-.551.448-1,1-1h14c.552,0,1,.449,1,1v15.855ZM7,9.5c0-.828.672-1.5,1.5-1.5s1.5.672,1.5,1.5-.672,1.5-1.5,1.5-1.5-.672-1.5-1.5Zm7,0c0-.828.672-1.5,1.5-1.5s1.5.672,1.5,1.5-.672,1.5-1.5,1.5-1.5-.672-1.5-1.5Zm2.336,3.752l1.33,1.493c-.103.092-2.559,2.254-5.666,2.254s-5.563-2.162-5.666-2.254l1.33-1.493c.02.018,2.005,1.748,4.336,1.748s4.316-1.73,4.336-1.748Z\"/>\n</svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Central de ajuda</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default-black\">Estou conectado, mas o aplicativo não está funcionando a internet, o que fazer?</p>\n\n<p class=\"text-black text-default\">Geralmente esse problema está relacionado ao protolo de APN, caso o IP da sua operadora seja: 192.0.0.2 ou 192.0.0.4 é necessário alterar o protolo de APN, você pode fazer isso clicando no menu e em seguida > Configurações de APN.</p>\n\n<p class=\"text-black text-default-black\">Se eu usar a (VPN) em meu dispositivo, isso irá consumir os dados da minha franquia fornecida pela operadora de celular?</p>\n\n<p class=\"text-black text-default\">Sim, o uso da VPN irá consumir a sua franquia de dados. Quando se tem uma franquia de dados, o aplicativo faz uma conexão direta, e passa a funcionar somente como um protetor de dados e localização;</p>\n\n<p class=\"text-black text-default-black\">Fiz um plano e agora quero saber se é possível rotear a internet?</p>\n\n<p class=\"text-black text-default\">Sim, é possível rotear através do roteamento via proxy, você pode fazer isso clicando no Menu e em seguida > Roteamento via proxy, vale ressaltar que o processo é complexo e por isso não damos assistência ao roteamento.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-2/4 h-9 rounded-md cursor-none button-black\" id=\"close-help-container\" type=\"button\">\n<span class=\"text-white\">Fechar</span>\n</button>\n</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-hotspot\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"roteamento\" data-name=\"roteamento\" viewBox=\"0 0 24 24\">\n<path d=\"m20,15h-4v-4c0-.552-.447-1-1-1s-1,.448-1,1v4H4c-2.206,0-4,1.794-4,4v1c0,2.206,1.794,4,4,4h16c2.206,0,4-1.794,4-4v-1c0-2.206-1.794-4-4-4Zm-15.5,6c-.828,0-1.5-.672-1.5-1.5s.672-1.5,1.5-1.5,1.5.672,1.5,1.5-.672,1.5-1.5,1.5Zm5,0c-.828,0-1.5-.672-1.5-1.5s.672-1.5,1.5-1.5,1.5.672,1.5,1.5-.672,1.5-1.5,1.5ZM15,5c1.817,0,3.526.708,4.812,1.993.391.391.391,1.024,0,1.414-.195.195-.451.293-.707.293s-.512-.098-.707-.293c-.907-.908-2.114-1.407-3.397-1.407s-2.49.5-3.397,1.407c-.39.391-1.023.391-1.414,0-.391-.39-.391-1.023,0-1.414,1.285-1.285,2.994-1.993,4.811-1.993Zm-8.778-1.182C8.485,1.392,11.684,0,15,0s6.516,1.392,8.778,3.818c.377.404.354,1.037-.05,1.414-.192.18-.438.269-.682.269-.268,0-.534-.107-.731-.318-1.886-2.022-4.552-3.182-7.315-3.182s-5.43,1.16-7.315,3.182c-.378.404-1.01.425-1.414.049-.404-.377-.426-1.01-.049-1.414Z\"/>\n</svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Roteamento por Proxy</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default\">Essa função possibilita você de compartilhar a sua internet VPN com outros dispositivos, através do roteamento via proxy.</p>\n<p class=\"text-black text-default\">Quando ativada, ela habilita uma notificação na statusbar do android com os \"IPS\" disponíveis para conexão.</p>\n<p class=\"text-black text-default\">Para mais informações, entre em contato com seu revendedor autorizado.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-9/9 h-9 rounded-md cursor-none button-black\" id=\"button-hotspot\" type=\"button\">\n<span class=\"text-white\" id=\"value-of-button-hotspot\">ATIVAR</span>\n</button>\n<button class=\"w-9/9 h-9 rounded-md cursor-none bg-red\" id=\"close-hotspot-container\" type=\"button\">\n<span class=\"text-white\">FECHAR</span>\n</button>\n</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-perfil\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"Minha-Conta\" data-name=\"Minha-Conta\" viewBox=\"0 0 24 24\">\n<path d=\"m18,12c-3.314,0-6,2.686-6,6s2.686,6,6,6,6-2.686,6-6-2.686-6-6-6Zm0,2c1.105,0,2,.895,2,2s-.895,2-2,2-2-.895-2-2,.895-2,2-2Zm3,6.64s-.007.011-.011.015c-.68.766-1.652,1.273-2.753,1.338-1.282.076-2.449-.476-3.236-1.375v-.119c0-.828.672-1.5,1.5-1.5h3c.828,0,1.5.672,1.5,1.5v.14Zm3-13.14v2.5c0,.828-.672,1.5-1.5,1.5s-1.5-.672-1.5-1.5H3v8.5c0,1.381,1.119,2.5,2.5,2.5h4c.828,0,1.5.672,1.5,1.5s-.672,1.5-1.5,1.5h-4c-3.038,0-5.5-2.462-5.5-5.5V7.5C0,4.462,2.462,2,5.5,2h.5v-.5c0-.828.672-1.5,1.5-1.5s1.5.672,1.5,1.5v.5h6v-.493c0-.833.675-1.507,1.507-1.507h.038c.804,0,1.455.652,1.455,1.455v.545s.5,0,.5,0c3.038,0,5.5,2.462,5.5,5.5Z\"/>\n</svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Minha conta</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default\">Aqui está algumas informações básicas sobre o seu plano.</p>\n<p class=\"text-black text-default\">O seu nome de usuário é \n<span class=\"text-black text-default-black\" id=\"username-container\">Conecte para obter os dados)</span>,o seu plano irá vencer no dia \n<span class=\"text-black text-default-black\" id=\"expires-date-user-in-menu\">conecte para verificar a validade</span>, até agora você utilizou \n<span class=\"text-black text-default-black\" id=\"download-value\">Conecte para obter os dados)</span> do seu plano ilimitado.</p>\n<p class=\"text-black text-default\">Fique atento a validade do seu plano e renove sempre antes de vencer para evitar a interrupção do serviço.</p>\n<p class=\"text-black text-default\">Você pode renovar o seu plano de forma automática clicando no link abaixo.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-9/9 h-9 rounded-md cursor-none button-black\" id=\"nav-renew\" type=\"button\">\n<span class=\"text-white\">Renovar</span>\n</button>\n<button class=\"w-9/9 h-9 rounded-md cursor-none bg-red\" id=\"close-perfil-container\" type=\"button\">\n<span class=\"text-white\">Fechar</span>\n</button>\n</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-battery\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"Battery\" data-name=\"Battery\" viewBox=\"0 0 24 24\">\n<path d=\"M7,18.5c0,.829-.671,1.5-1.5,1.5-3.033,0-5.5-2.467-5.5-5.5v-5c0-3.033,2.467-5.5,5.5-5.5,.829,0,1.5,.671,1.5,1.5s-.671,1.5-1.5,1.5c-1.378,0-2.5,1.122-2.5,2.5v5c0,1.378,1.122,2.5,2.5,2.5,.829,0,1.5,.671,1.5,1.5Zm5.593-8h-2.142l2.331-4.283c.396-.728,.126-1.639-.601-2.035-.727-.396-1.638-.127-2.035,.601,0,0-3.012,5.559-3.042,5.657-.22,.728-.091,1.489,.354,2.089,.451,.608,1.186,.971,1.964,.971h2.235l-2.149,4.333c-.368,.742-.065,1.642,.677,2.01,.214,.106,.441,.157,.666,.157,.552,0,1.083-.306,1.345-.834l2.463-4.966c.438-.733,.456-1.65,.043-2.421-.424-.79-1.231-1.28-2.109-1.28Zm10.407-2.5h-1.208c-.655-2.306-2.78-4-5.292-4-.828,0-1.5,.671-1.5,1.5s.672,1.5,1.5,1.5c1.379,0,2.5,1.122,2.5,2.5v5c0,1.378-1.121,2.5-2.5,2.5-.828,0-1.5,.671-1.5,1.5s.672,1.5,1.5,1.5c2.513,0,4.637-1.694,5.292-4h1.208c.552,0,1-.448,1-1v-6c0-.552-.448-1-1-1Z\"/></svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Otimizar Bateria</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default\">Essa opção permite a execução contínua do aplicativo em segundo plano ou seja o aplicativo continuará executando as tarefas e processos mesmo quando não está sendo ativamente utilizado, vale ressaltar que essa ação poderá reduzir a duração da sua bateria.</p>\n<p class=\"text-black text-default\">Esse processo evita que o aplicativo fique desconectando ou sendo finalizado quando está em outros aplicativos.</p>\n<p class=\"text-black text-default\">Uma vez que ativado pelo aqui pelo aplicativo, só será possível reverter a situação pelas configurações do seu aparelho.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-9/9 h-9 rounded-md cursor-none button-black\" onclick=\"DtIgnoreBatteryOptimizations.execute()\" type=\"button\">\n<span class=\"text-white\">Otimizar</span>\n</button>\n<button class=\"w-9/9 h-9 rounded-md cursor-none bg-red\" id=\"close-battery-container\" type=\"button\">\n<span class=\"text-white\">Fechar</span>\n</button>\n</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-apn\">\n<section class=\"w-11/12 h-2/3 flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"alterando-apn\" data-name=\"alterando-apn\" viewBox=\"0 0 24 24\">\n<path d=\"m17,0h-4.757c-1.068,0-2.072.416-2.829,1.172l-2.242,2.242c-.745.744-1.172,1.774-1.172,2.828v8.758c0,2.757,2.243,5,5,5h6c2.757,0,5-2.243,5-5V5c0-2.757-2.243-5-5-5Zm3,15c0,1.654-1.346,3-3,3h-6c-1.654,0-3-1.346-3-3V6.242c0-.526.213-1.042.586-1.414l2.242-2.242c.378-.378.881-.586,1.415-.586h4.757c1.654,0,3,1.346,3,3v10Zm-3,8c0,.553-.447,1-1,1h-5c-4.962,0-9-4.037-9-9v-7c0-.553.448-1,1-1s1,.447,1,1v7c0,3.859,3.14,7,7,7h5c.553,0,1,.447,1,1Zm-3-11h-4v-1.5c0-.828.672-1.5,1.5-1.5h2.5v3Zm4-1.5v1.5h-3v-3h1.5c.828,0,1.5.672,1.5,1.5Zm-8,2.5h3v3h-1.5c-.828,0-1.5-.672-1.5-1.5v-1.5Zm4,0h4v1.5c0,.828-.672,1.5-1.5,1.5h-2.5v-3Z\"/>\n</svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Alterando sua APN</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default\">O seu aplicativo não está conectando ou conecta e não gera dados? Faça o passo a passo a seguir e solucione seu problema.</p>\n<p class=\"text-black text-default\">1º - Selecione a opção de APN ao qual ja está marcada e deslize a tela até encontrar as opções, Protocolo APN e Protocolo de roaming APN.</p>\n<p class=\"text-black text-default\">2º - Após encontrar as opções realize o seguinte passo.</p>\n<p class=\"text-black text-default\">3º - No campo Protocolo APN, marque IPV4.</p>\n<p class=\"text-black text-default\">4º - No campo Protocolo de roaming APN, marque IPV4.</p>\n<p class=\"text-black text-default\">5º - Após selecionado os protolos IPV4, vá até os simbolo de opções no canto direito na parte superior da sua tela (ou na parte inferior do aparelho dependendo da sua versão do android) e clique em Salvar.</p>\n<p class=\"text-black text-default\">6º - Após salvar, volte para tela inicial do aplicativo e ligue o modo avião por 5 segundos.</p>\n<p class=\"text-black text-default\">Pronto, caso o problema for apenas de não gerar dados, você conseguirá conectar normalmente e usar nosso aplicativo.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-9/9 h-9 rounded-md cursor-none button-black\" onclick=\"DtStartApnActivity.execute()\" type=\"button\">\n<span class=\"text-white\">Alterar APN</span>\n</button>\n<button class=\"w-9/9 h-9 rounded-md cursor-none bg-red\" id=\"close-apn-container\" type=\"button\">\n<span class=\"text-white\">Fechar</span>\n</button>\n</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-cache\">\n<section class=\"w-11/12 h-auto flex flex-col relative rounded-md bg-pop-up\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"svg-sessions\" id=\"restaurando-aplicativo\" data-name=\"restaurando-aplicativo\" viewBox=\"0 0 24 24\">\n<path d=\"M23.715,2.285a1.013,1.013,0,0,0-1.43,0L17.521,7.049l-.32-.313a5.008,5.008,0,0,0-6.429-.479A16.618,16.618,0,0,1,6.224,8.685L4.15,9.293a5.036,5.036,0,0,0-3.113,2.635A4.973,4.973,0,0,0,.9,15.947a12.95,12.95,0,0,0,12.112,8.064h.924a1.011,1.011,0,0,0,.578-.182A15.288,15.288,0,0,0,21.224,13.62a5.029,5.029,0,0,0-1.453-4.374l-.8-.784,4.747-4.747A1.013,1.013,0,0,0,23.715,2.285Zm-10.107,19.7h-.6A11.3,11.3,0,0,1,8.7,21.138l.011-.006a11.546,11.546,0,0,0,4.351-3.8l.518-.761a1.01,1.01,0,0,0-1.67-1.138l-.518.761A9.535,9.535,0,0,1,7.8,19.327l-1.251.63a10.757,10.757,0,0,1-2.583-2.57,11.625,11.625,0,0,0,4.377-2.664,1.011,1.011,0,0,0-1.414-1.446,9.617,9.617,0,0,1-3.98,2.32c-.061-.135-.127-.267-.182-.406a2.906,2.906,0,0,1,.085-2.381,3.023,3.023,0,0,1,1.864-1.578l2.073-.608a15.364,15.364,0,0,0,3.426-1.588l7.915,7.712A14.192,14.192,0,0,1,13.608,21.989Zm5.62-8.683a12.421,12.421,0,0,1-.309,1.387L11.948,7.9l0,0a3.011,3.011,0,0,1,1.755-.566,2.973,2.973,0,0,1,2.084.849l2.569,2.509A3.01,3.01,0,0,1,19.228,13.306Z\"/>\n</svg>\n<h1 class=\"w-full mt-13 text-[#FF0000] title-sessions\">Restaurar aplicativo</h1>\n<section class=\"w-full h-full mt-3 mb-3 px-3 overflow-auto text-center\">\n<p class=\"text-black text-default\">Se um aplicativo da Plenonet está ficando lento ou apresentando problemas, execute a limpeza do aplicativo.</p>\n<p class=\"text-black text-default\">Para realizar a limpezado do aplicativo é muito fácil, é só clicar no botão \"Limpar cachê\" no canto inferior da tela, o aplicativo será restaurado ao modo de fabrica, todos os dados e cachê do aplicativo serão apagados.</p>\n<p class=\"text-black text-default\">Certifique-se de ter acesso a internet para atualizar o seu aplicativo para a ultima versão e não ter seus serviços interrompidos.</p>\n</section>\n<section class=\"w-full h-auto flex items-center justify-center my-3\">\n<button class=\"w-9/9 h-9 rounded-md cursor-none button-black\" onclick=\"DtCleanApp.execute()\" type=\"button\">\n<span class=\"text-white\">Restaurar</span>\n</button>\n<button class=\"w-9/9 h-9 rounded-md cursor-none bg-red\" id=\"close-cache-container\" type=\"button\">\n<span class=\"text-white\">Fechar</span>\n</button>\n</section>\n</section>\n</section>\n\n<section class=\"w-full h-full flex flex-col items-center justify-center absolute transition-all scale-0 bg-black\" id=\"container-configs\">\n<section class=\"w-11/12 max-h-[66.666667%] flex flex-col relative rounded-md bg-pop-up\">\n<header class=\"w-full min-h-[40px] max-h-[10%] flex items-center mb-2 border-b border-[#01010342] rounded-t-md\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-6 h-6 stroke-white\" id=\"hidden-container-configs\">\n<path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 19.5L8.25 12l7.5-7.5\" />\n</svg>\n<h1 class=\"flex-1 pr-6 text-black text-center text-sm font-medium\">CONFIGURAÇÕES</h1>\n</header>\n<section class=\"w-full h-[90%] overflow-auto mb-1 rounded-md\">\n<section class=\"w-full h-auto flex flex-col gap-2\" id=\"area-carrier-list\">\n<div class=\"flex items-center\">\n<input class=\"peer hidden\" type=\"radio\" name=\"config\" id=\"tim-premium-cf\" />\n<label class=\"w-full max-h-8 p-2 border border-[#01010342] rounded-md transition-[max-height] duration-1000 overflow-hidden\" for=\"tim-premium-cf\">\n<header class=\"w-full h-3 flex items-center justify-center p-2\">\n<h1 class=\"text-xs font-medium text-black truncate\">VIVO PREMIUM ACF</h1>\n</header>\n<ul class=\"w-full h-auto flex flex-col gap-2 mt-3 overflow-hidden\">\n<li class=\"w-full h-12 flex items-center gap-2 px-1 rounded-md overflow-hidden bg-black\">\n<div class=\"w-10 h-[100%] flex items-center\">\n<img src=\"https://cdn-icons-png.flaticon.com/512/3686/3686811.png\" width=\"40\" height=\"40\" />\n</div>\n<div class=\"flex flex-col truncate\">\n<h1 class=\"text-white text-xs truncate\">TIM 1 ➜ CONFIG 1 ➜ SV01.OCI (COPY)</h1>\n<span class=\"text-white text-[0.65rem] truncate\">SERVIDOR: 🇧🇷 ➜ LATÊNCIA BAIXA </span>\n<span class=\"text-white text-[0.5rem] leading-7 truncate\">OVPN_SSL_PROXY</span>\n</div>\n</li>\n<li class=\"w-full h-12 flex items-center gap-2 px-1 rounded-md overflow-hidden bg-black\">\n<div class=\"w-10 h-[100%] flex items-center\">\n<img src=\"https://cdn-icons-png.flaticon.com/512/3686/3686811.png\" width=\"40\" height=\"40\" />\n</div>\n<div class=\"flex flex-col truncate\">\n<h1 class=\"text-white text-xs truncate\">TIM 1 ➜ CONFIG 1 ➜ SV01.OCI (COPY)</h1>\n<span class=\"text-white text-[0.65rem] truncate\">SERVIDOR: 🇧🇷 ➜ LATÊNCIA BAIXA </span>\n<span class=\"text-white text-[0.4rem] truncate absolute bottom-1 right-1\">SSH_PROXY</span>\n</div>\n</li>\n</ul>\n</label>\n</div>\n<div class=\"flex items-center\">\n<input class=\"peer hidden\" type=\"radio\" name=\"config\" id=\"vivo-premium-cf\" />\n<label class=\"w-full max-h-8 p-2 border border-[#01010342] rounded-md transition-[max-height]\" for=\"vivo-premium-cf\">\n<header class=\"w-full h-3 flex items-center justify-center p-2\">\n<h1 class=\"text-sm text-black truncate\">TIM PREMIUM ACF</h1>\n</header>\n<section class=\"w-full h-auto\"></section>\n</label>\n</div>\n</section>\n</section>\n</section>\n</section>\n</main>\n\n<!-- FUNÇÕES DO APP -->\n<script>\nfunction appGetStatusbarHeightSize() {\nif (window?.DtGetStatusBarHeight?.execute && typeof window?.DtGetStatusBarHeight.execute === \"function\") {\nreturn DtGetStatusBarHeight.execute();\n}\n\nreturn 0;\n}\n\nfunction appGetNavbarHeightSize() {\nif (window?.DtGetNavigationBarHeight?.execute && typeof window?.DtGetNavigationBarHeight?.execute === \"function\") {\nreturn DtGetNavigationBarHeight.execute();\n}\n\nreturn 0;\n}\n\nfunction appTranslateText(label) {\nif (window?.DtTranslateText?.execute && typeof window?.DtTranslateText?.execute === \"function\") {\nreturn DtTranslateText.execute(label);\n}\n\nreturn null;\n}\n\nfunction appGetConfigLabel(label) {\nif (window?.DtGetAppConfig?.execute && typeof window?.DtGetAppConfig?.execute === \"function\") {\nreturn DtGetAppConfig.execute(label);\n}\n\nreturn null;\n}\n\nfunction appGetCarrierName() {\nif (window?.Android?.getNetworkName && typeof window?.Android?.getNetworkName === \"function\") {\nreturn Android.getNetworkName();\n}\n\nreturn null;\n}\n\nfunction appGetLocalIp() {\nif (window?.Android?.getLocalIP && typeof window?.Android.getLocalIP === \"function\") {\nreturn Android.getLocalIP();\n}\n\nreturn null;\n}\n\nfunction appGetConfigVersion() {\nif (window?.DtGetLocalConfigVersion?.execute && typeof window?.DtGetLocalConfigVersion?.execute === \"function\") {\nreturn DtGetLocalConfigVersion.execute();\n}\n\nreturn null;\n}\n\nfunction appOpenDialogConfig() {\nif (window?.DtExecuteDialogConfig?.execute && typeof window?.DtExecuteDialogConfig?.execute === \"function\") {\nreturn DtExecuteDialogConfig.execute();\n}\n\nreturn null;\n}\n\nfunction appGetDefaultConfig() {\nif (window?.DtGetDefaultConfig?.execute && typeof window?.DtGetDefaultConfig?.execute) {\nreturn DtGetDefaultConfig.execute();\n}\n\nreturn null;\n}\n\nfunction appGetAllConfigs() {\nif (window?.DtGetConfigs?.execute && typeof window?.DtGetConfigs?.execute === \"function\") {\nreturn JSON.parse(DtGetConfigs.execute());\n}\n\nreturn null;\n}\n\nfunction appSetConfig(id) {\nif (window?.DtSetConfig?.execute && typeof window?.DtSetConfig?.execute === \"function\") {\nwindow?.DtSetConfig?.execute(id);\n}\n\nreturn null;\n}\n\nfunction appOpenDialogDialogs() {\nif (window?.DtShowLoggerDialog?.execute && typeof window?.DtShowLoggerDialog?.execute === \"function\") {\nreturn window?.DtShowLoggerDialog.execute();\n}\n\nreturn null;\n}\n\nfunction appGetUsername() {\nif (window?.DtUsername && typeof window?.DtUsername.get === \"function\") {\nreturn DtUsername.get();\n}\n\nreturn \"\";\n}\n\nfunction appGetPassword() {\nif (window?.DtPassword && typeof window?.DtPassword?.get === \"function\") {\nreturn DtPassword.get();\n}\n\nreturn \"\";\n}\n\nfunction appGetUUID() {\nif (window?.DtUuid?.get && typeof window?.DtUuid.get === \"function\") {\nreturn DtUuid.get();\n}\n\nreturn \"\";\n}\n\nfunction appSetUsername(username) {\nif (window?.DtUsername?.set && typeof window?.DtUsername?.set === \"function\") {\nreturn window.DtUsername.set(username);\n}\n\nreturn null;\n}\n\nfunction appSetPassword(password) {\nif (window?.DtPassword?.set && typeof window?.DtPassword?.set === \"function\") {\nreturn window.DtPassword.set(password);\n}\n\nreturn null;\n}\n\nfunction appSetUUID(UUID) {\nif (window?.DtUuid.set && typeof window?.DtUuid?.set === \"function\") {\nreturn window.DtUuid.set(UUID);\n}\n\nreturn null;\n}\n\nfunction appGetConnectionState() {\nif (window?.DtGetVpnState?.execute && typeof window?.DtGetVpnState?.execute === \"function\") {\nreturn DtGetVpnState.execute();\n}\n\nreturn null;\n}\n\nfunction appStartConnection() {\nif (window?.DtExecuteVpnStart?.execute && typeof window?.DtExecuteVpnStart?.execute === \"function\") {\nreturn DtExecuteVpnStart.execute();\n}\n\nreturn null;\n}\n\nfunction appStopConnection() {\nif (window?.DtExecuteVpnStop?.execute && typeof window?.DtExecuteVpnStop?.execute === \"function\") {\nreturn DtExecuteVpnStop.execute();\n}\n\nreturn null;\n}\n\nfunction appGetDownloadBytes() {\nif (window?.DtGetNetworkDownloadBytes?.execute && typeof window?.DtGetNetworkDownloadBytes?.execute === \"function\") {\nreturn window?.DtGetNetworkDownloadBytes?.execute();\n}\n\nreturn \"0 B/s\";\n}\n\nfunction appGetStatusHotspot() {\nif (window?.DtGetStatusHotSpotService?.execute && typeof window?.DtGetStatusHotSpotService?.execute === \"function\") {\nreturn window?.DtGetStatusHotSpotService.execute();\n}\n\nreturn null;\n}\n\nfunction appStartHotspot() {\nif (window?.DtStartHotSpotService?.execute && typeof window?.DtStartHotSpotService?.execute === \"function\") {\nreturn window.DtStartHotSpotService.execute();\n}\n\nreturn null;\n}\n\nfunction appStopHotspot() {\nif (window?.DtStopHotSpotService?.execute && typeof window?.DtStopHotSpotService?.execute === \"function\") {\nreturn window?.DtStopHotSpotService.execute();\n}\n\nreturn null;\n}\n\nfunction AppUpdate() {\nif (window?.DtStartAppUpdate?.execute && typeof window?.DtStartAppUpdate?.execute === \"function\") {\nreturn window.DtStartAppUpdate.execute();\n}\n\nreturn null;\n}\n\nfunction appIntoBrowser(url) {\nif (window?.DtStartWebViewActivity?.execute && typeof window?.DtStartWebViewActivity?.execute === \"function\") {\nreturn DtStartWebViewActivity.execute(url);\n}\n\nwindow.open(url, \"_blank\");\n}\n\nfunction appCheckuser() {\nif (window?.DtStartCheckUser?.execute && typeof window?.DtStartCheckUser?.execute === \"function\") {\nreturn window.DtStartCheckUser.execute();\n}\n\nreturn null;\n}\n\nfunction appApnConfiguration() {\nif (window?.DtStartApnActivity?.execute && typeof window?.DtStartApnActivity?.execute == \"function\") {\nreturn window?.DtStartApnActivity.execute();\n}\n\nreturn null;\n}\n\nfunction appBatteryOptimize() {\nif (window?.DtIgnoreBatteryOptimizations?.execute && typeof window?.DtIgnoreBatteryOptimizations?.execute === \"function\") {\nreturn DtIgnoreBatteryOptimizations.execute();\n}\n\nreturn null;\n}\n\nfunction appClearData() {\nif (window?.DtCleanApp?.execute && typeof window?.DtCleanApp?.execute === \"function\") {\nreturn DtCleanApp.execute();\n}\n\nreturn null;\n}\n\nfunction networkName() {\nif (window?.Android?.getNetworkName && typeof window?.Android?.getNetworkName === \"function\") {\nreturn Android.getNetworkName();\n}\n\nreturn null;\n}\n\nfunction internetProtocol() {\nif (window?.Android?.getLocalIP && typeof window?.Android?.getLocalIP === \"function\") {\nreturn Android.getLocalIP();\n}\n\nreturn null;\n}\n</script>\n\n<!-- DOM WRAPPER -->\n<script>\nconst Dom = (selector) => {\nconst _elements = document.querySelectorAll(selector);\n\nconst wrapper = {\non(listeners) {\nfor (const [event, listener] of Object.entries(listeners)) {\n_elements.forEach((element) => {\nelement.addEventListener(event, listener);\n});\n}\n\nreturn wrapper;\n},\naddClass: (...tokens) => {\n_elements.forEach((element) => {\nelement.classList.add(...tokens);\n});\n\nreturn wrapper;\n},\nremoveClass: (...tokens) => {\n_elements.forEach((element) => {\nelement.classList.remove(...tokens);\n});\n\nreturn wrapper;\n},\ntoggleClass: (token, force) => {\n_elements.forEach((element) => {\nelement.classList.toggle(token, force);\n});\n\nreturn wrapper;\n},\nstyle(styles) {\nfor (const [property, value] of Object.entries(styles)) {\n_elements.forEach((element) => {\nelement.style[property] = value;\n});\n}\n\nreturn wrapper;\n},\nattr(attrs) {\nfor (const [name, value] of Object.entries(attrs)) {\n_elements.forEach((element) => element.setAttribute(name, value));\n}\n\nreturn wrapper;\n},\nhtml(value) {\n_elements.forEach((element) => (element.innerHTML = value));\nreturn wrapper;\n},\n/**\n* @return {Element|null}\n*/\nelement() {\nreturn _elements.length > 0 ? _elements[0] : null;\n},\nallElements: _elements,\n};\n\nreturn wrapper;\n};\n</script>\n\n<!-- VÁRIAVIES -->\n<script>\nconst body = Dom(\"body\");\n\nconst containerHome = Dom(\"#container-home\");\n\nconst openMenuButton = Dom(\"#open-menu\");\nconst carrierDetails = Dom(\"#carrier-details\");\nconst vpnStatusValue = Dom(\"#vpn-status\");\n\nconst appLogo = Dom(\"#app-logo\");\n\nconst buttonOfListCarrier = Dom(\"#button-of-list-carrier\");\nconst valueOnButtonOfCarrierList = Dom(\"#value-of-carrier\");\n\nconst containerInputUsername = Dom(\"#container-input-username\");\nconst containerInputPassword = Dom(\"#container-input-password\");\nconst containerInputUUID = Dom(\"#container-input-uuid\");\n\n\nconst inputUsername = Dom(\"#input-username\");\nconst inputPassword = Dom(\"#input-password\");\nconst inputUUID = Dom(\"#input-uuid\");\n\nconst eyeViewPasswordInput = Dom(\"#eye-view-password\");\nconst eyeNotViewPasswordInput = Dom(\"#eye-not-view-password\");\n\nconst eyeViewUUID = Dom(\"#eye-view-uuid\");\nconst eyeNotViewUUID = Dom(\"#eye-not-view-uuid\");\n\nconst buttonStartStopVpn = Dom(\"#button-vpn-start-stop\");\nconst buttonStartStopValue = Dom(\"#status-button-vpn\");\n\nconst downloadValue = Dom(\"#download-value\");\nconst uploadValue = Dom(\"#upload-value\");\n\nconst buttonLogs = Dom(\"#button-logs\");\n\nconst containerMenu = Dom(\"#container-menu\");\nconst hiddenContainerMenuButton = Dom(\"#hidden-menu\");\n\nconst expiresDateUserInMenu = Dom(\"#expires-date-user-in-menu\");\n\nconst navRenew = Dom(\"#nav-renew\");\nconst navUpdate = Dom(\"#nav-update\");\nconst navTerms = Dom(\"#nav-terms\");\nconst navPerfil = Dom(\"#nav-perfil\");\nconst navBattery = Dom(\"#nav-battery\");\nconst navHelp = Dom(\"#nav-help\");\nconst navCache = Dom(\"#nav-cache\");\nconst navAPN = Dom(\"#nav-apn\");\nconst navHotspot = Dom(\"#nav-hotspot\");\nconst navAccessPoint = Dom(\"#nav-access-point\");\nconst navAppCleanData = Dom(\"#nav-app-clean-data\");\n\nconst containerTerms = Dom(\"#container-terms\");\nconst closeContainerTerms = Dom(\"#close-terms-container\");\n\nconst containerPerfil = Dom(\"#container-perfil\");\nconst closeContainerPerfil = Dom(\"#close-perfil-container\");\n\nconst containerBattery = Dom(\"#container-battery\");\nconst closeContainerBattery = Dom(\"#close-battery-container\");\n\nconst containerHelp = Dom(\"#container-help\");\nconst closeContainerHelp = Dom(\"#close-help-container\");\n\nconst containerCache = Dom(\"#container-cache\");\nconst closeContainerCache = Dom(\"#close-cache-container\");\n\nconst containerAPN = Dom(\"#container-apn\");\nconst closeContainerAPN = Dom(\"#close-apn-container\");\n\nconst containerHotspot = Dom(\"#container-hotspot\");\nconst closeContainerHotspotButton = Dom(\"#close-hotspot-container\");\nconst buttonStartOrStopHotspot = Dom(\"#button-hotspot\");\nconst valueOfButtonHotspot = Dom(\"#value-of-button-hotspot\");\n\nconst containerConfigs = Dom(\"#container-configs\");\nconst closeContainerConfigs = Dom(\"#hidden-container-configs\");\n\nconst containerAreaCarrierList = Dom(\"#area-carrier-list\");\n\nconst inputsPeer = Dom(\"input.peer\");\nconst labelsFor = Dom(\"label[for]\");\n\nconst configVersion = () => {\nsetInterval(() => {\nconst getAtualVersion = appGetConfigVersion()\n\nversion.html(`${getAtualVersion}`)\n}, 1000)\n}\nconfigVersion()\n</script>\n\n<!-- VÁRIAVEIS DO SISTEMA -->\n<script>\nconst currentNetworkDownload = parseFloat(localStorage.getItem(\"networkDownload\") ?? appGetDownloadBytes());\n</script>\n\n<!-- FUNÇÕES -->\n<script>\n\nfunction getAppBackground() {\nconst background_type = appGetConfigLabel(\"APP_BACKGROUND_TYPE\");\nconst background_color = appGetConfigLabel(\"APP_BACKGROUND_COLOR\");\nconst background_image = appGetConfigLabel(\"APP_BACKGROUND_IMAGE\");\n\nif (!background_type) {\nreturn \"url('../dist/bg.jpeg')\";\n}\n\nif (JSON.parse(background_type)?.value === \"COLOR\") {\nreturn JSON.parse(background_color).value;\n}\n\nreturn `url(${JSON.parse(background_image).value})`;\n}\n\nfunction getAppLogo() {\nconst logo = appGetConfigLabel(\"APP_LOGO\");\n\nif (!logo) {\nreturn \"../dist/logo.png\";\n}\n\nreturn JSON.parse(logo)?.value;\n}\n\nfunction getConfigName() {\nconst config = appGetDefaultConfig();\n\nif (!config) {\nreturn {\nname: appTranslateText(\"LBL_CHOOSE_CONFIG\"),\nmode: \"\",\n};\n}\n\nif (JSON.parse(config)?.name && JSON.parse(config)?.mode) {\nreturn {\nname: JSON.parse(config)?.name,\nmode: JSON.parse(config)?.mode,\n};\n}\n\nreturn {\nname: appTranslateText(\"LBL_CHOOSE_CONFIG\"),\nmode: \"\",\n};\n}\n\nfunction writeConfigValueOnButton() {\nvalueOnButtonOfCarrierList.html(getConfigName()?.name);\n}\n\nfunction writeCarrierStatus() {\nsetInterval(() => {\ncarrierDetails.html(`${appGetCarrierName()}: ${internetProtocol()}`);\n});\n}\n\nfunction connectionState(state) {\nconst connectionValue = `${state || appGetConnectionState()}`;\n\nswitch (connectionValue) {\ncase \"DISCONNECTED\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_START\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_DISCONNECTED\"));\nbreak;\ncase \"CONNECTING\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_CONNECTING\"));\nbreak;\ncase \"CONNECTED\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_CONNECTED\"));\nbreak;\ncase \"STOPPING\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOPPING\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_STOPPING\"));\nbreak;\ncase \"NO_NETWORK\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_NO_NETWORK\"));\nbreak;\ncase \"AUTH\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_AUTH\"));\nbreak;\ncase \"AUTH_FAILED\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_START\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_AUTH_FAILED\"));\nbreak;\n}\n}\n\nfunction startStopConnection() {\nconst state = appGetConnectionState();\nstate !== \"CONNECTED\" ? appStartConnection() : appStopConnection();\n}\n\nfunction startHotspot() {\nappStartHotspot();\n\nvalueOfButtonHotspot.html(\"DESATIVAR\");\n\nreturn;\n}\n\nfunction stopHotspot() {\nappStopHotspot();\n\nvalueOfButtonHotspot.html(\"ATIVAR\");\n\nreturn;\n}\n\nfunction toggleHotspot() {\nappGetStatusHotspot() === \"STOPPED\" ? startHotspot() : stopHotspot();\n\nreturn;\n}\n\nfunction setStatusHotspot() {\nif (appGetStatusHotspot() === \"STOPPED\") {\nvalueOfButtonHotspot.html(\"ATIVAR\");\n\nreturn;\n} else {\nvalueOfButtonHotspot.html(\"DESATIVAR\");\n\nreturn;\n}\n\nreturn;\n}\n\nfunction showInputPasswordValue() {\neyeViewPasswordInput.addClass(\"hidden\");\neyeNotViewPasswordInput.removeClass(\"hidden\");\ninputPassword.attr({ type: \"text\" });\n}\nfunction hiddenInputPasswordValue() {\neyeViewPasswordInput.removeClass(\"hidden\");\neyeNotViewPasswordInput.addClass(\"hidden\");\ninputPassword.attr({ type: \"password\" });\n}\n\nfunction showInputUUIDValue() {\neyeViewUUID.addClass(\"hidden\");\neyeNotViewUUID.removeClass(\"hidden\");\ninputUUID.attr({ type: \"text\" });\n}\nfunction hiddenInputUUIDValue() {\neyeViewUUID.removeClass(\"hidden\");\neyeNotViewUUID.addClass(\"hidden\");\ninputUUID.attr({ type: \"password\" });\n}\n\nfunction showContainerMenu() {\ncontainerMenu.removeClass(\"-translate-x-full\");\n\nreturn;\n}\nfunction hiddenContainerMenu() {\ncontainerMenu.addClass(\"-translate-x-full\");\n\nreturn;\n}\n\nfunction showContainerTerms() {\ncontainerTerms.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerTerms() {\ncontainerTerms.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction showContainerPerfil() {\ncontainerPerfil.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerPerfil() {\ncontainerPerfil.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction showContainerHelp() {\ncontainerHelp.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerHelp() {\ncontainerHelp.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction showContainerCache() {\ncontainerCache.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerCache() {\ncontainerCache.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction showContainerBattery() {\ncontainerBattery.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerBattery() {\ncontainerBattery.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction showContainerAPN() {\ncontainerAPN.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerAPN() {\ncontainerAPN.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction showContainerHotspot() {\ncontainerHotspot.removeClass(\"scale-0\");\n\nreturn;\n}\nfunction hiddenContainerHotspot() {\ncontainerHotspot.addClass(\"scale-0\");\n\nreturn;\n}\n\nfunction writeCarrierList() {\nconst data = appGetAllConfigs();\n\nif (data) {\nconst areaCarrierList = document.getElementById(\"area-carrier-list\");\nareaCarrierList.innerHTML = \"\";\n\ndata.forEach((category) => {\nconst div = document.createElement(\"div\");\nconst header = document.createElement(\"header\");\nconst h1 = document.createElement(\"h1\");\nconst ul = document.createElement(\"ul\");\n\ndiv.classList.add(\"flex\", \"flex-col\", \"items-start\", \"gap-2\", \"mt-4\");\nheader.classList.add(\"w-full\", \"text-sm\", \"font-semibold\", \"text-black\");\nul.classList.add(\"w-full\", \"flex\", \"flex-col\", \"gap-2\");\n\nh1.textContent = category.name;\nheader.appendChild(h1);\ndiv.appendChild(header);\n\ncategory.items.forEach((item) => {\nconst li = document.createElement(\"li\");\nconst carrierIcon = document.createElement(\"img\");\nconst configDiv = document.createElement(\"div\");\nconst configTitle = document.createElement(\"h1\");\nconst configDescription = document.createElement(\"span\");\nconst configType = document.createElement(\"span\");\n\nli.classList.add(\"w-full\", \"h-auto\", \"flex\", \"items-center\", \"gap-4\", \"px-4\", \"py-2\", \"rounded-md\", \"bg-white\", \"cursor-pointer\", \"hover:bg-gray-800\", \"transition-colors\", \"duration-300\", \"border\", \"border-gray-800\");\nli.style.boxShadow = \"0px 4px 6px rgba(0, 0, 0, 0.1)\";\nli.style.borderRadius = \"20px\";\nli.style.paddingLeft = \"10px\";\nli.style.paddingRight = \"10px\";\ncarrierIcon.classList.add(\"w-10\", \"h-10\");\ncarrierIcon.style.marginRight = \"10px\";\nconfigDiv.classList.add(\"flex\", \"flex-col\", \"flex-grow\");\nconfigTitle.classList.add(\"text-black\", \"text-base\", \"font-medium\");\nconfigDescription.classList.add(\"text-black\", \"text-sm\", \"mb-1\");\nconfigType.classList.add(\"text-black\", \"text-sm\", \"ml-auto\");\nconfigType.style.marginLeft = \"10px\";\n\ncarrierIcon.src = item.icon;\ncarrierIcon.alt = item.name;\nconfigTitle.textContent = item.name;\nconfigDescription.textContent = item.description;\nconfigType.textContent = item.mode;\n\nconfigDiv.appendChild(configTitle);\nconfigDiv.appendChild(configDescription);\n\nli.appendChild(carrierIcon);\nli.appendChild(configDiv);\nli.appendChild(configType);\n\nli.addEventListener(\"click\", () => {\nappSetConfig(item.id);\nhiddenContainerConfigs();\n});\n\nul.appendChild(li);\n});\n\ndiv.appendChild(ul);\nareaCarrierList.appendChild(div);\n});\n}\n}\n\nfunction showContainerConfigs() {\nwriteCarrierList();\ndocument.getElementById(\"container-configs\").classList.remove(\"scale-0\");\n}\n\nfunction hiddenContainerConfigs() {\ndocument.getElementById(\"container-configs\").classList.add(\"scale-0\");\n}\n\nfunction checkV2ray() {\nconst data = JSON.parse(appGetDefaultConfig());\n\nif (!data) {\nreturn false;\n}\n\nif (data.mode?.toLowerCase().startsWith(\"v2ray\")) {\nif (data.auth?.v2ray_uuid) {\nreturn \"exists v2ray config\";\n}\nreturn true;\n}\n\nreturn false;\n}\n\nfunction toggleInput() {\nconst v2rayUUID = checkV2ray();\nconst containerInputUsername = document.getElementById(\"containerInputUsername\");\nconst containerInputPassword = document.getElementById(\"containerInputPassword\");\nconst containerInputUUID = document.getElementById(\"containerInputUUID\");\n\nif (v2rayUUID === \"exists v2ray config\") {\ncontainerInputUsername.classList.add(\"hidden\");\ncontainerInputPassword.classList.add(\"hidden\");\ncontainerInputUUID.classList.add(\"hidden\");\n} else if (v2rayUUID) {\ncontainerInputUsername.classList.add(\"hidden\");\ncontainerInputPassword.classList.add(\"hidden\");\ncontainerInputUUID.classList.remove(\"hidden\");\ncontainerInputUUID.classList.add(\"flex\");\n} else {\ncontainerInputUsername.classList.remove(\"hidden\");\ncontainerInputPassword.classList.remove(\"hidden\");\ncontainerInputUUID.classList.add(\"flex\");\ncontainerInputUUID.classList.add(\"hidden\");\n}\n}\n\nfunction formatBytes(bytes) {\nconst sizes = [\"B/s\", \"KB/s\", \"MB/s\", \"GB/s\", \"TB/s\"];\n\nif (bytes === 0) return \"0 B/s\";\n\nconst i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\n\nreturn (bytes / Math.pow(1024, i)).toPrecision(3) + \" \" + sizes[i];\n}\n\nfunction updateNetworkStats() {\nsetInterval(() => {\nconst newNetworkDownload = appGetDownloadBytes();\n\ndownloadValue.html(formatBytes(newNetworkDownload - currentNetworkDownload));\n\nlocalStorage.setItem(\"networkDownload\", formatBytes(newNetworkDownload - currentNetworkDownload));\n}, 500);\n}\n\nconst version = Dom(\"#version\")\n\nfunction getExpirationDateOfUser() {\nconst expirationDate = localStorage.getItem(\"expirationDate\");\n\nif (expirationDate) {\n\nreturn `${expirationDate}`;\n}\n\nexpiresDateUserInMenu.style({ display: \"none\" });\n\nreturn \"\";\n}\n\n\nfunction toggleLabelHeight(inputId) {\nconst input = document.getElementById(inputId);\nconst label = document.querySelector(`label[for=\"${inputId}\"]`);\n\nif (input.checked) {\nlabel.style.maxHeight = label.scrollHeight + \"px\";\n} else {\nlabel.style.maxHeight = \"32px\";\n}\n}\n\nfunction toggleMoreInputs() {\nconst data = JSON.parse(appGetDefaultConfig());\n\nif (!data) return null;\n\ncontainerInputUsername.removeClass(\"hidden\");\ncontainerInputPassword.removeClass(\"hidden\");\ncontainerInputUUID.addClass(\"hidden\");\n\nif (data?.auth?.username) {\ncontainerInputUsername.addClass(\"hidden\");\n}\n\nif (data?.auth?.password) {\ncontainerInputPassword.addClass(\"hidden\");\n}\n\nif (!data?.auth?.username) {\ncontainerInputUsername.removeClass(\"hidden\");\n}\n\nif (!data?.auth?.password) {\ncontainerInputPassword.removeClass(\"hidden\");\n}\n\nif (data.mode?.toLowerCase().startsWith(\"v2ray\")) {\nif (data?.auth?.v2ray_uuid) {\ncontainerInputUUID.addClass(\"hidden\");\ncontainerInputUsername.addClass(\"hidden\");\ncontainerInputPassword.addClass(\"hidden\");\n}\n\nif (!data?.auth?.v2ray_uuid) {\ncontainerInputUUID.removeClass(\"hidden\");\ncontainerInputUsername.addClass(\"hidden\");\ncontainerInputPassword.addClass(\"hidden\");\n}\n}\n}\n</script>\n\n<script>\nfunction hideElementsOnConnecting() {\nbuttonOfListCarrier.addClass(\"hidden\");\ncontainerInputUsername.addClass(\"hidden\");\ncontainerInputPassword.addClass(\"hidden\");\ncontainerInputUUID.addClass(\"hidden\");\n}\n\nfunction hideElementsOnConnected() {\nbuttonOfListCarrier.addClass(\"hidden\");\ncontainerInputUsername.addClass(\"hidden\");\ncontainerInputPassword.addClass(\"hidden\");\ncontainerInputUUID.addClass(\"hidden\");\n}\n\nfunction hideElementsOnAuth() {\nbuttonOfListCarrier.addClass(\"hidden\");\ncontainerInputUsername.addClass(\"hidden\");\ncontainerInputPassword.addClass(\"hidden\");\ncontainerInputUUID.addClass(\"hidden\");\n}\n\nfunction hideElementsOnNetwork() {\nbuttonOfListCarrier.addClass(\"hidden\");\ncontainerInputUsername.addClass(\"hidden\");\ncontainerInputPassword.addClass(\"hidden\");\ncontainerInputUUID.addClass(\"hidden\");\n}\n\nfunction showElementsOnDisconnect() {\nbuttonOfListCarrier.removeClass(\"hidden\");\ncontainerInputUsername.removeClass(\"hidden\");\ncontainerInputPassword.removeClass(\"hidden\");\n}\n\nfunction showElementsOnFailed() {\nbuttonOfListCarrier.removeClass(\"hidden\");\ncontainerInputUsername.removeClass(\"hidden\");\ncontainerInputPassword.removeClass(\"hidden\");\ncontainerInputUUID.removeClass(\"hidden\");\n}\n\nconst spinnerContainer = Dom(\"#spinner\");\n\nfunction showSpinner() {\nspinnerContainer.style({ display: \"block\"});\n}\n\nfunction hideSpinner() {\nspinnerContainer.style({ display: \"none\"});\n}\n\nconst connectedContainer = Dom(\"#connected-img\");\n\nfunction showConnected() {\nconnectedContainer.style({ display: \"block\"});\n}\n\nfunction hideConnected() {\nconnectedContainer.style({ display: \"none\"});\n}\n\nfunction showConnectedImage() {\nconnectedContainer.style({ display: \"block\"});\n}\n\nfunction hideConnectedImage() {\nconnectedContainer.style({ display: \"none\"});\n}\n\n</script>\n\n<!-- AÇÕES -->\n<script>\nbody.style({\nbackground: getAppBackground(),\nbackgroundSize: \"cover\",\nbackgroundPosition: \"center\",\nbackgroundRepeat: \"no-repeat\",\n});\n\ncontainerHome.style({\npadding: `${appGetStatusbarHeightSize() + 10}px 10px ${appGetNavbarHeightSize() + 10}px 10px`,\n});\n\nappLogo.attr({ src: getAppLogo() });\n\nappLogo.on({ click: () => AppUpdate() });\n\nbuttonOfListCarrier.on({ click: () => showContainerConfigs() });\nvalueOnButtonOfCarrierList.html(getConfigName()?.name);\ncloseContainerConfigs.on({ click: () => hiddenContainerConfigs() });\n\ninputUsername.attr({ placeholder: appTranslateText(\"LBL_USERNAME\") });\ninputPassword.attr({ placeholder: appTranslateText(\"LBL_PASSWORD\") });\ninputUUID.attr({ placeholder: appTranslateText(\"LBL_UUID\") });\n\ninputUsername.attr({ value: appGetUsername() });\ninputPassword.attr({ value: appGetPassword() });\ninputUUID.attr({ value: appGetUUID() });\n\ninputUsername.on({ input: (e) => appSetUsername(e.target.value) });\ninputPassword.on({ input: (e) => appSetPassword(e.target.value) });\ninputUUID.on({ input: (e) => appSetUUID(e.target.value) });\n\neyeViewPasswordInput.on({ click: () => showInputPasswordValue() });\neyeNotViewPasswordInput.on({ click: () => hiddenInputPasswordValue() });\n\neyeViewUUID.on({ click: () => showInputUUIDValue() });\neyeNotViewUUID.on({ click: () => hiddenInputUUIDValue() });\n\nbuttonStartStopVpn.on({ click: () => startStopConnection() });\n\nbuttonLogs.on({ click: () => appOpenDialogDialogs() });\n\ncontainerMenu.style({\npadding: `${appGetStatusbarHeightSize() + 10}px 10px ${appGetNavbarHeightSize() + 10}px 10px`,\n});\n\nopenMenuButton.on({ click: () => showContainerMenu() });\n\nhiddenContainerMenuButton.on({ click: () => hiddenContainerMenu() });\n\nexpiresDateUserInMenu.html(getExpirationDateOfUser());\n\nnavRenew.on({ click: () => appIntoBrowser(\"https://www.xvideos.com.br\") });\n\nnavUpdate.on({ click: () => AppUpdate() });\n\nnavTerms.on({ click: () => showContainerTerms() });\ncloseContainerTerms.on({ click: () => hiddenContainerTerms() });\n\nnavPerfil.on({ click: () => showContainerPerfil() });\ncloseContainerPerfil.on({ click: () => hiddenContainerPerfil() });\n\nnavHelp.on({ click: () => showContainerHelp() });\ncloseContainerHelp.on({ click: () => hiddenContainerHelp() });\n\nnavHotspot.on({ click: () => showContainerHotspot() });\nbuttonStartOrStopHotspot.on({ click: () => toggleHotspot() });\ncloseContainerHotspotButton.on({ click: () => hiddenContainerHotspot() });\n\nnavCache.on({ click: () => showContainerCache() });\ncloseContainerCache.on({ click: () => hiddenContainerCache() });\n\nnavBattery.on({ click: () => showContainerBattery() });\ncloseContainerBattery.on({ click: () => hiddenContainerBattery() });\n\nnavAPN.on({ click: () => showContainerAPN() });\ncloseContainerAPN.on({ click: () => hiddenContainerAPN() });\n\nnavAccessPoint.on({ click: () => appApnConfiguration() });\n\nnavAppCleanData.on({ click: () => appClearData() });\n\nconnectionState();\nsetStatusHotspot();\nupdateNetworkStats();\ntoggleMoreInputs();\nwriteCarrierStatus();\n\nfunction connectionState(state) {\nswitch (state) {\ncase \"DISCONNECTED\":\nshowElementsOnDisconnect();\nhideConnectedImage();\nhideSpinner();\nhideConnected();\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_START\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_DISCONNECTED\"));\nbreak;\ncase \"CONNECTING\":\nhideElementsOnConnecting();\nhideConnectedImage();\nshowSpinner();\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_CONNECTING\"));\nbreak;\ncase \"CONNECTED\":\nhideElementsOnConnected();\nhideSpinner();\nshowConnected();\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_CONNECTED\"));\nbreak;\ncase \"STOPPING\":\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOPPING\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_STOPPING\"));\nbreak;\ncase \"NO_NETWORK\":\nhideElementsOnNetwork();\nhideConnectedImage();\nshowSpinner();\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_NO_NETWORK\"));\nbreak;\ncase \"AUTH\":\nhideElementsOnAuth();\nhideConnectedImage();\nshowSpinner();\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_STOP\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_AUTH\"));\nbreak;\ncase \"AUTH_FAILED\":\nshowElementsOnFailed();\nhideConnectedImage();\nhideSpinner();\nbuttonStartStopValue.html(appTranslateText(\"LBL_BTN_START\"));\nvpnStatusValue.html(appTranslateText(\"LBL_STATE_AUTH_FAILED\"));\nbreak;\n}\n}\n\nwindow.addEventListener('connectionstatechanged', () => {\nconst newState = appGetConnectionState();\nconnectionState(newState);\n});\n\nconnectionState(appGetConnectionState());\n</script>\n\n<!-- FUNÇÕES PARA O APP -->\n<script>\nfunction dtConfigClickListener() {\nwriteConfigValueOnButton();\n\ntoggleMoreInputs();\n\ninputUsername.attr({ value: appGetUsername() });\ninputPassword.attr({ value: appGetPassword() });\ninputUUID.attr({ value: appGetUUID() });\n}\n\nfunction dtVpnStateListener(state) {\nconnectionState(state);\n}\n\nconst dtCheckUserModelListener = (model) => {\nconst data = JSON.parse(model);\n\nexpiresDateUserInMenu.html(`${data.expiration_date}`);\n\n\nlocalStorage.setItem(\"expirationDate\", data.expiration_date);};\n\n\nconfigVersion.innerHTML = window?.DtGetLocalConfigVersion?.execute() ?? '1.0';\n\nupdateNetworkStats();\nsetInterval(() => {\nupdateNetworkStats();\nconfigVersion.innerHTML = window?.DtGetLocalConfigVersion?.execute() ?? '1.0';\n}, 1000);\n</script>\n\n<script>\n function appGetUsername() {\n return document.getElementById('input-username').value;\n }\n\n function updateUsername() {\n const usernameContainer = document.getElementById('username-container');\n const username = appGetUsername();\n usernameContainer.textContent = username;\n }\n\n updateUsername();\n document.getElementById('input-username').addEventListener('input', updateUsername);\n</script>\n\n <script>\n // Função para tentar minimizar o impacto do tema escuro do Android\n function desativarTemaEscuroAndroid() {\n // Verificar se o dispositivo é Android e está em modo escuro\n const isAndroid = /Android/.test(navigator.userAgent);\n const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;\n \n if (isAndroid && isDarkMode) {\n // Forçar o modo de exibição claro\n // Não é necessário aplicar nenhum estilo específico aqui\n }\n }\n\n // Chamada da função ao carregar a página\n window.onload = function() {\n desativarTemaEscuroAndroid();\n };\n </script>\n</body>\n</html>",
  242. "type": "HTML"
  243. },
  244. {
  245. "label": "ANDROID WEBVIEW (POR SUA CONTA E RISCO)",
  246. "name": "APP_SUPPORT_BUTTON",
  247. "value": null,
  248. "type": "HTML"
  249. },
  250. {
  251. "label": "PAGINA WEBVIEW (POR SUA CONTA E RISCO)",
  252. "name": "APP_WEB_VIEW",
  253. "value": null,
  254. "type": "HTML"
  255. }
  256. ]

comments powered by Disqus