PageSourceSearch

https://ensinosocial.com.br/assets/js/feedback-widget.js?v=1788727026

js ensinosocial.com.br collected 2026-10-02 00:26:29 UTC 25,025 bytes, 1 lines download raw bytes

1(function(){"use strict";if(window.__feedbackWidgetInit)return;window.__feedbackWidgetInit=!0;var n={step:1,tipo:"",descricao:"",screenshotOriginal:null,screenshotAnotado:null,consoleLogs:[],enviando:!1,contatoNome:"",contatoEmail:"",contatoTelefone:""},R=console.error,z=console.warn;console.error=function(){try{n.consoleLogs.push("[ERROR] "+Array.prototype.join.call(arguments," ")),n.consoleLogs.length>50&&n.consoleLogs.shift()}catch(t){}R.apply(console,arguments)},console.warn=function(){try{n.consoleLogs.push("[WARN] "+Array.prototype.join.call(arguments," ")),n.consoleLogs.length>50&&n.consoleLogs.shift()}catch(t){}z.apply(console,arguments)};var a={canvas:null,ctx:null,tool:"brush",color:"#ef4444",size:3,drawing:!1,startX:0,startY:0,history:[],historyIndex:-1,maxHistory:20,previewState:null},y=["#ef4444","#eab308","#3b82f6","#22c55e","#ffffff"],x=[2,4,8];function S(){var t=document.querySelectorAll("#feedbackHeaderBtn, #feedbackCardBtn");t.forEach(function(r){r.addEventListener("click",C)});var e=document.createElement("div");e.className="feedback-overlay",e.id="feedbackOverlay";var o=document.createElement("div");o.className="feedback-modal",o.innerHTML='<div class="feedback-header"><h3 id="feedbackTitle">Contato</h3><button class="feedback-close" onclick="window.__feedbackFechar()"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></button></div><div class="feedback-progress" id="feedbackProgress"></div><div class="feedback-body" id="feedbackBody"></div><div class="feedback-footer" id="feedbackFooter"></div>',e.appendChild(o),document.body.appendChild(e),(function(){var r=o.querySelector(".feedback-header"),c=!1,d,u,v,b;r.addEventListener("mousedown",function(s){if(!s.target.closest(".feedback-close")){c=!0;var h=o.getBoundingClientRect();d=s.clientX,u=s.clientY,v=h.left,b=h.top,o.style.position="fixed",o.style.left=v+"px",o.style.top=b+"px",o.style.margin="0",e.style.alignItems="flex-start",e.style.justifyContent="flex-start",s.preventDefault()}}),document.addEventListener("mousemove",function(s){if(c){var h=s.clientX-d,m=s.clientY-u,f=v+h,g=b+m,l=window.innerWidth-o.offsetWidth,E=window.innerHeight-o.offsetHeight;f=Math.max(0,Math.min(f,l)),g=Math.max(0,Math.min(g,E)),o.style.left=f+"px",o.style.top=g+"px"}}),document.addEventListener("mouseup",function(){c=!1}),r.addEventListener("touchstart",function(s){if(!s.target.closest(".feedback-close")){var h=s.touches[0];c=!0;var m=o.getBoundingClientRect();d=h.clientX,u=h.clientY,v=m.left,b=m.top,o.style.position="fixed",o.style.left=v+"px",o.style.top=b+"px",o.style.margin="0",e.style.alignItems="flex-start",e.style.justifyContent="flex-start"}},{passive:!0}),document.addEventListener("touchmove",function(s){if(c){var h=s.touches[0],m=h.clientX-d,f=h.clientY-u,g=v+m,l=b+f,E=window.innerWidth-o.offsetWidth,G=window.innerHeight-o.offsetHeight;g=Math.max(0,Math.min(g,E)),l=Math.max(0,Math.min(l,G)),o.style.left=g+"px",o.style.top=l+"px"}},{passive:!0}),document.addEventListener("touchend",function(){c=!1}),window.__feedbackResetPos=function(){o.style.position="",o.style.left="",o.style.top="",o.style.margin="",e.style.alignItems="",e.style.justifyContent=""}})();var i=document.createElement("div");i.className="feedback-annotation-overlay",i.id="feedbackAnnotation",i.innerHTML='<div class="feedback-annotation-toolbar" id="feedbackAnnotToolbar"></div><div class="feedback-canvas-container" id="feedbackCanvasContainer"></div><div class="feedback-annotation-actions"><button class="feedback-annotation-cancel" id="feedbackAnnotCancel">Cancelar</button><button class="feedback-annotation-save" id="feedbackAnnotSave">Salvar anotacao</button></div>',document.body.appendChild(i)}function C(){n.step=1,n.tipo="",n.descricao="",n.screenshotOriginal=null,n.screenshotAnotado=null,n.enviando=!1,n.contatoNome="",n.contatoEmail="",n.contatoTelefone="",window.__feedbackResetPos&&window.__feedbackResetPos(),L(),document.getElementById("feedbackOverlay").classList.add("active")}function Q(){}function M(){document.getElementById("feedbackOverlay").classList.remove("active")}window.__feedbackFechar=M,window.__feedbackAbrir=C,document.addEventListener("click",function(t){var e=t.target&&t.target.closest?t.target.closest('[data-abrir-feedback], a[href$="#feedback"]'):null;e&&(t.preventDefault(),C())});function L(){switch(X(),n.step){case 1:Y();break;case 2:n.tipo==="contato"?F():q();break;case 3:w();break;case 4:H();break}}function W(){return n.tipo==="contato"?2:3}function X(){for(var t=document.getElementById("feedbackProgress"),e="",o=W(),i=1;i<=o;i++){var r="feedback-progress-step";i<n.step&&(r+=" done"),i===n.step&&(r+=" active"),e+='<div class="'+r+'"></div>'}t.innerHTML=e}function Y(){document.getElementById("feedbackTitle").textContent="Contato";var t=[{id:"whatsapp",nome:"WhatsApp",desc:"Fale pelo WhatsApp",icone:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.
1198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"/></svg>'},{id:"contato",nome:"Mensagem",desc:"Envie uma mensagem",icone:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75"/></svg>'},{id:"bug",nome:"Bug",desc:"Algo nao funciona",icone:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 12.75c1.148 0 2.278.08 3.383.237 1.037.146 1.866.966 1.866 2.013 0 3.728-2.35 6.75-5.25 6.75S6.75 18.728 6.75 15c0-1.046.83-1.867 1.866-2.013A24.204 24.204 0 0 1 12 12.75Zm0 0c2.883 0 5.647.508 8.207 1.44a23.91 23.91 0 0 1-3.457-7.44 1.125 1.125 0 0 0-2.133.108L12 12.75Zm0 0c-2.883 0-5.647.508-8.207 1.44a23.91 23.91 0 0 0 3.457-7.44 1.125 1.125 0 0 1 2.133.108L12 12.75Z"/></svg>'},{id:"melhoria",nome:"Melhoria",desc:"Sugerir melhoria",icone:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z"/></svg>'}],e=document.getElementById("feedbackBody"),o='<div class="feedback-banner-img"><img src="/assets/img/call-en.jpg" alt="Central de Atendimento"></div>';o+='<div class="feedback-types">';for(var i=0;i<t.length;i++){var r=t[i];o+='<button class="feedback-type-btn" data-tipo="'+r.id+'"><div class="feedback-type-icon '+r.id+'">'+r.icone+"</div><div><strong>"+r.nome+'</strong><br><small style="color:var(--muted,#9ca3af);font-weight:400">'+r.desc+"</small></div></button>"}o+="</div>",e.innerHTML=o,e.querySelectorAll(".feedback-type-btn").forEach(function(c){c.addEventListener("click",function(){var d=this.dataset.tipo;if(d==="whatsapp"){window.open("https://wa.me/5547996626052","_blank"),M();return}n.tipo=d,this.classList.add("selected"),setTimeout(function(){n.step=2,L()},150)})}),document.getElementById("feedbackFooter").innerHTML=""}function q(){document.getElementById("feedbackTitle").textContent="Descreva o feedback";var t=document.getElementById("feedbackBody"),e={bug:"Descreva o bug: o que voce fez, o que esperava e o que aconteceu...",sugestao:"Descreva sua sugestao com detalhes...",melhoria:"O que poderia ser melhorado e como...",outro:"Descreva com detalhes..."};t.innerHTML='<textarea class="feedback-textarea" id="feedbackDesc" maxlength="5000" placeholder="'+(e[n.tipo]||e.outro)+'">'+k(n.descricao)+'</textarea><div class="feedback-char-count"><span id="feedbackCharCount">'+n.descricao.length+"</span>/5000</div>";var o=document.getElementById("feedbackDesc");o.focus(),o.addEventListener("input",function(){n.descricao=this.value,document.getElementById("feedbackCharCount").textContent=this.value.length,p()}),p()}function F(){document.getElementById("feedbackTitle").textContent="Entrar em contato";var t=document.getElementById("feedbackBody");t.innerHTML='<p class="feedback-contato-intro">Preencha seus dados para que possamos entrar em contato com voce. Descreva sua mensagem no campo abaixo.</p><div class="feedback-contato-fields"><div class="feedback-field"><label for="feedbackContatoNome">Nome</label><input type="text" id="feedbackContatoNome" placeholder="Seu nome completo" value="'+k(n.contatoNome)+'"></div><div class="feedback-field"><label for="feedbackContatoEmail">E-mail</label><input type="email" id="feedbackContatoEmail" placeholder="[email protected]" value="'+k(n.contatoEmail)+'"></div><div class="feedback-field"><label for="feedbackContatoTelefone">Telefone</label><input type="tel" id="feedbackContatoTelefone" placeholder="(00) 00000-0000" value="'+k(n.contatoTelefone)+'"></div><div class="feedback-field"><label for="feedbackContatoMsg">Mensagem</label><textarea class="feedback-textarea" id="feedbackContatoMsg" maxlength="5000" placeholder="Escreva sua mensagem aqui...">'+k(n.descricao)+'</textarea><div class="feedback-char-count"><span id="feedbackCharCount">'+n.descricao.length+"</span>/5000</div></div></div>",document.getElementById("feedbackContatoNome").addEventListener("input",function(){n.contatoNome=this.value,p()}),document.getElementById("feedbackContatoEmail").addEventListener("input",function(){n.contatoEmail=this.value,p()}),document.getElementById("feedbackContatoTelefone").addEventListener("input",function(){n.contatoTelefone=this.value,p()}),document.getElementById("feedbackContatoMsg").addEventListener("input",function(){n.descricao=this.value,document.getElementById("feedbackCharCount").textContent=this.value.length,p()}),document.getElementById("feedbackContatoNome").focus(),p()}function Z(){return n.contatoNome.trim().length>=2&&(n.contatoEmail.trim().length>=5||n.contatoTelefone.trim().length>=8)&&n.descricao.trim().length>=5}function w(){document.getElementById("feedbackTitle").textContent="Captura de tela";var t=document.getElementById("feedbackBody"),e='<div class="feedback-screenshot-area">';if(!n.screenshotOriginal)e+='<button class="feedback-capture-btn" id="feedbackCaptureBtn"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M6.827 6.175A2.31 2.31 0 0 1 5.186 7.23c-.38.054-.757.112-1.134.175C2.999 7.58 2.25 8.507 2.25 9.574V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9.574c0-1.067-.75-1.994-1.802-2.169a47.865 47.865 0 0 0-1.134-.175 2.31 2.31 0 0 1-1.64-1.055l-.822-1.316a2.192 2.192 0 0 0-1.736-1.039 48.774 48.774 0 0 0-5.232 0 2.192 2.192 0 0 0-1.736 1.039l-.821 1.316Z"/>
1<path stroke-linecap="round" stroke-linejoin="round" d="M16.5 12.75a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z"/></svg>Capturar tela</button>';else{var o=n.screenshotAnotado||n.screenshotOriginal;e+='<div class="feedback-screenshot-preview"><img src="'+o+'" alt="Screenshot"><button class="feedback-screenshot-remove" id="feedbackRemoveScreenshot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><path d="M6 18L18 6M6 6l12 12"/></svg></button></div><button class="feedback-annotate-btn" id="feedbackAnnotateBtn"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" width="16" height="16"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Z"/></svg>'+(n.screenshotAnotado?"Editar anotacao":"Anotar screenshot")+"</button>"}e+='<button class="feedback-skip-btn" id="feedbackSkipScreenshot">Pular esta etapa</button>',e+="</div>",t.innerHTML=e;var i=document.getElementById("feedbackCaptureBtn");i&&i.addEventListener("click",U);var r=document.getElementById("feedbackRemoveScreenshot");r&&r.addEventListener("click",function(){n.screenshotOriginal=null,n.screenshotAnotado=null,w()});var c=document.getElementById("feedbackAnnotateBtn");c&&c.addEventListener("click",J),document.getElementById("feedbackSkipScreenshot").addEventListener("click",function(){A()}),p()}function H(){document.getElementById("feedbackTitle").textContent="Enviando...",document.getElementById("feedbackFooter").innerHTML="",document.getElementById("feedbackProgress").innerHTML="",document.getElementById("feedbackBody").innerHTML='<div class="feedback-loading"><div class="feedback-spinner"></div>Enviando feedback...</div>'}function V(){var t=n.tipo==="contato";document.getElementById("feedbackTitle").textContent=t?"Mensagem enviada":"Feedback enviado",document.getElementById("feedbackFooter").innerHTML="",document.getElementById("feedbackProgress").innerHTML="",document.getElementById("feedbackBody").innerHTML='<div class="feedback-success"><div class="feedback-success-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg></div><h4>Obrigado!</h4><p>'+(t?"Sua mensagem foi enviada. Entraremos em contato em breve!":"Seu feedback foi registrado com sucesso.")+"</p></div>",setTimeout(M,2e3)}function D(t){document.getElementById("feedbackTitle").textContent="Erro",document.getElementById("feedbackBody").innerHTML='<div class="feedback-success"><div class="feedback-success-icon" style="background:#fef2f2;color:#ef4444"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/></svg></div><h4>Erro ao enviar</h4><p>'+k(t)+"</p></div>",document.getElementById("feedbackFooter").innerHTML='<div></div><button class="feedback-btn-next" onclick="window.__feedbackFechar()">Fechar</button>'}function p(){var t=document.getElementById("feedbackFooter"),e="";if(n.step===1){t.innerHTML="";return}else n.step===2?(e='<button class="feedback-btn-back" id="feedbackBack">Voltar</button>',n.tipo==="contato"?e+='<button class="feedback-btn-next" '+(Z()?"":"disabled")+' id="feedbackNext">Enviar</button>':e+='<button class="feedback-btn-next" '+(n.descricao.trim().length>=5?"":"disabled")+' id="feedbackNext">Proximo</button>'):n.step===3&&(e='<button class="feedback-btn-back" id="feedbackBack">Voltar</button>',e+='<button class="feedback-btn-next" id="feedbackNext">Enviar</button>');t.innerHTML=e;var o=document.getElementById("feedbackNext");o&&o.addEventListener("click",function(){n.tipo==="contato"&&n.step===2||n.step===3?A():(n.step++,L())});var i=document.getElementById("feedbackBack");i&&i.addEventListener("click",function(){n.step--,L()})}async function U(){var t=document.getElementById("feedbackOverlay");t.style.display="none";try{if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)try{var e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"},preferCurrentTab:!0}),o=document.createElement("video");o.srcObject=e,o.autoplay=!0,await new Promise(function(f){o.onloadedmetadata=f}),await o.play(),await new Promise(function(f){setTimeout(f,200)});var i=document.createElement("canvas"),r=1400,c=o.videoWidth,d=o.videoHeight,u=Math.min(r/c,r/d,1);i.width=Math.round(c*u),i.height=Math.round(d*u);var v=i.getContext("2d");
1v.drawImage(o,0,0,i.width,i.height),e.getTracks().forEach(function(f){f.stop()}),n.screenshotOriginal=i.toDataURL("image/jpeg",.6),t.style.display="",w();return}catch(f){}if(typeof html2canvas=="undefined")try{await new Promise(function(f,g){var l=document.createElement("script");l.src="https://cdn.jsdelivr.net/npm/[email protected]/dist/html2canvas.min.js",l.onload=f,l.onerror=g,document.head.appendChild(l)})}catch(f){}if(typeof html2canvas!="undefined"){var b=document.querySelectorAll('input[type="password"]'),s=[];b.forEach(function(l){s.push(l.value),l.value=""});var i=await html2canvas(document.body,{useCORS:!0,allowTaint:!0,scale:Math.min(window.devicePixelRatio||1,2),width:window.innerWidth,height:window.innerHeight,x:window.scrollX,y:window.scrollY,ignoreElements:function(l){return l.classList&&(l.classList.contains("feedback-overlay")||l.classList.contains("feedback-fab")||l.classList.contains("feedback-annotation-overlay"))}});b.forEach(function(l,E){l.value=s[E]});var r=1400;if(i.width>r||i.height>r){var h=Math.min(r/i.width,r/i.height),m=document.createElement("canvas");m.width=Math.round(i.width*h),m.height=Math.round(i.height*h),m.getContext("2d").drawImage(i,0,0,m.width,m.height),i=m}n.screenshotOriginal=i.toDataURL("image/jpeg",.6),t.style.display="",w();return}alert("Nao foi possivel capturar a tela. Verifique se o navegador suporta captura de tela."),t.style.display=""}catch(f){t.style.display="",alert("Erro ao capturar tela: "+f.message)}}function J(){var t=n.screenshotAnotado||n.screenshotOriginal;if(t){var e=new Image;e.onload=function(){var o=document.getElementById("feedbackAnnotation");o.classList.add("active"),document.getElementById("feedbackOverlay").style.visibility="hidden";var i=document.getElementById("feedbackCanvasContainer");i.innerHTML="";var r=document.createElement("canvas"),c=window.innerWidth-32,d=window.innerHeight-140,u=Math.min(c/e.width,d/e.height,1);r.width=Math.round(e.width*u),r.height=Math.round(e.height*u),r.style.cursor="crosshair",i.appendChild(r);var v=r.getContext("2d");v.drawImage(e,0,0,r.width,r.height),a.canvas=r,a.ctx=v,a.history=[],a.historyIndex=-1,a.tool="brush",a.color="#ef4444",a.size=3,T(),B(),K(),document.getElementById("feedbackAnnotCancel").onclick=function(){_(!1)},document.getElementById("feedbackAnnotSave").onclick=function(){_(!0)},document.addEventListener("keydown",O)},e.src=t}}function _(t){t&&a.canvas&&(n.screenshotAnotado=a.canvas.toDataURL("image/jpeg",.85)),document.getElementById("feedbackAnnotation").classList.remove("active"),document.getElementById("feedbackOverlay").style.visibility="",document.removeEventListener("keydown",O),a.canvas=null,a.ctx=null,t&&w()}function O(t){(t.ctrlKey||t.metaKey)&&t.key==="z"&&(t.preventDefault(),N())}function B(){for(var t=document.getElementById("feedbackAnnotToolbar"),e="",o=[{id:"brush",title:"Pincel",svg:'<path d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" stroke-linecap="round" stroke-linejoin="round"/>'},{id:"arrow",title:"Seta",svg:'<path d="M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25" stroke-linecap="round" stroke-linejoin="round"/>'},{id:"rect",title:"Retangulo",svg:'<rect x="3" y="5" width="18" height="14" rx="2" stroke-linecap="round" stroke-linejoin="round"/>'},{id:"text",title:"Texto",svg:'<path d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z" stroke-linecap="round" stroke-linejoin="round"/>'}],i=0;i<o.length;i++){var r=o[i],c=a.tool===r.id?" active":"";e+='<button class="feedback-tool-btn'+c+'" data-tool="'+r.id+'" title="'+r.title+'"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">'+r.svg+"</svg></button>"}e+='<div class="separator"></div>';for(var d=0;d<y.length;d++){var c=a.color===y[d]?" active":"";e+='<button class="feedback-color-btn'+c+'" data-color="'+y[d]+'" style="background:'+y[d]+(y[d]==="#ffffff"?";border:1px solid #666":"")+'"></button>'}e+='<div class="separator"></div>';for(var u=0;u<x.length;u++){var c=a.size===x[u]?" active":"",v=4+x[u]*2;e+='<button class="feedback-size-btn'+c+'" data-size="'+x[u]+'"><div class="feedback-size-dot" style="width:'+v+"px;height:"+v+'px"></div></button>'}e+='<div class="separator"></div>',e+='<button class="feedback-tool-btn" id="feedbackUndo" title="Desfazer (Ctrl+Z)"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M9 15L3 9m0 0l6-6M3 9h12a6 6 0 010 12h-3" stroke-linecap="round" stroke-linejoin="round"/></svg></button>',t.innerHTML=e,t.querySelectorAll("[data-tool]").forEach(function(s){s.addEventListener("click",function(){a.tool=this.dataset.tool,B()})}),t.querySelectorAll("[data-color]").forEach(function(s){s.addEventListener("click",function(){a.color=this.dataset.color,B()})}),t.querySelectorAll("[data-size]").forEach(function(s){s.addEventListener("click",function(){a.size=parseInt(this.dataset.size),B()})});var b=document.getElementById("feedbackUndo");b&&b.addEventListener("click",N)}function K(){var t=a.canvas;t&&(t.addEventListener("mousedown",j),t.addEventListener("mousemove",P),t.addEventListener("mouseup",I),t.addEventListener("mouseleave",I),t.addEventListener("touchstart",function(e){e.preventDefault();var o=e.touches[0],i=t.getBoundingClientRect();j({offsetX:o.clientX-i.left,offsetY:o.clientY-i.top})},{passive:!1}),t.addEventListener("touchmove",function(e){e.preventDefault();var o=e.touches[0],i=t.getBoundingClientRect();P({offsetX:o.clientX-i.left,offsetY:o.clientY-i.top})},{passive:!1}),t.addEventListener("touchend",function(e){e.preventDefault(),I()},{passive:!1}))}function j(t){var e=a.ctx;if(a.drawing=!0,a.startX=t.offsetX,a.startY=t.offsetY,a.tool==="text"){a.drawing=!1;var o=prompt("Digite o texto:");o&&(e.font="bold "+(a.size*6+12)+"px sans-serif",e.fillStyle=a.color,e.fillText(o,t.offsetX,t.offsetY),T());return}a.tool==="brush"&&(e.beginPath(),e.moveTo(t.offsetX,t.offsetY),e.strokeStyle=a.color,e.lineWidth=a.size,e.lineCap="round",e.lineJoin="round"),(a.tool==="arrow"||a.tool==="rect")&&(a.previewState=e.getImageData(0,0,a.canvas.width,a.canvas.height))}function P(t){if(a.drawing){var e=a.ctx;a.tool==="brush"?(e.lineTo(t.offsetX,t.offsetY),e.stroke()):(a.tool==="arrow"||a.tool==="rect")&&(a.previewState&&e.putImageData(a.previewState,0,0
1),$(a.startX,a.startY,t.offsetX,t.offsetY))}}function I(){a.drawing&&(a.drawing=!1,a.previewState=null,T())}function $(t,e,o,i){var r=a.ctx;if(r.strokeStyle=a.color,r.lineWidth=a.size,r.lineCap="round",a.tool==="rect")r.beginPath(),r.strokeRect(t,e,o-t,i-e);else if(a.tool==="arrow"){r.beginPath(),r.moveTo(t,e),r.lineTo(o,i),r.stroke();var c=Math.atan2(i-e,o-t),d=12+a.size*2;r.beginPath(),r.moveTo(o,i),r.lineTo(o-d*Math.cos(c-Math.PI/6),i-d*Math.sin(c-Math.PI/6)),r.moveTo(o,i),r.lineTo(o-d*Math.cos(c+Math.PI/6),i-d*Math.sin(c+Math.PI/6)),r.stroke()}}function T(){if(!(!a.canvas||!a.ctx)){a.historyIndex<a.history.length-1&&(a.history=a.history.slice(0,a.historyIndex+1));var t=a.ctx.getImageData(0,0,a.canvas.width,a.canvas.height);a.history.push(t),a.historyIndex=a.history.length-1,a.history.length>a.maxHistory&&(a.history.shift(),a.historyIndex--)}}function N(){a.historyIndex<=0||(a.historyIndex--,a.ctx.putImageData(a.history[a.historyIndex],0,0))}function A(){if(!n.enviando){n.enviando=!0,n.step=4,H();var t=document.querySelector('meta[name="csrf-token"]'),e=document.querySelector('input[name="csrf_token"]'),o=t?t.content:e?e.value:"",i=new FormData;i.append("submit","feedback_enviar"),i.append("csrf_token",o),i.append("tipo",n.tipo),i.append("descricao",n.descricao),i.append("url_pagina",window.location.href),i.append("titulo_pagina",document.title),i.append("navegador_info",JSON.stringify({userAgent:navigator.userAgent,viewport:window.innerWidth+"x"+window.innerHeight,screen:screen.width+"x"+screen.height,language:navigator.language})),i.append("console_logs",JSON.stringify(n.consoleLogs.slice(-30))),n.tipo==="contato"&&(i.append("contato_nome",n.contatoNome),i.append("contato_email",n.contatoEmail),i.append("contato_telefone",n.contatoTelefone)),n.screenshotOriginal&&i.append("screenshot",n.screenshotOriginal),n.screenshotAnotado&&i.append("screenshot_anotado",n.screenshotAnotado),fetch(window.location.pathname,{method:"POST",credentials:"same-origin",body:i}).then(function(r){return r.json()}).then(function(r){n.enviando=!1,r.sucesso?V():D(r.erro||"Erro desconhecido.")}).catch(function(r){n.enviando=!1,D("Erro de conexao: "+r.message)})}}function k(t){var e=document.createElement("div");return e.textContent=t,e.innerHTML}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S()})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.