PageSourceSearch

https://cyberforget.com/static/js/6095.e1be6c65.chunk.js

js cyberforget.com collected 2026-10-02 01:28:39 UTC 19,306 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkfrontend_v1=self.webpackChunkfrontend_v1||[]).push([[6095],{5886:(e,s,a)=>{a.d(s,{v4:()=>c,lq:()=>i,I8:()=>l,Ay:()=>d});var t=a(9950),r=a(228),n=a(4152),o=a(4414);const l=e=>{let{status:s,title:a,message:t,details:r,actions:l,className:i=""}=e;return(0,o.jsxs)(n.P.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`tool-result ${s} ${i}`,children:[(0,o.jsxs)("div",{className:"result-header",children:[(0,o.jsx)("span",{className:"result-icon",children:(()=>{switch(s){case"success":return"\u2705";case"warning":return"\u26a0\ufe0f";case"error":return"\u274c";case"info":return"\u2139\ufe0f";default:return"\ud83d\udcca"}})()}),(0,o.jsx)("h4",{className:"result-title",children:a})]}),t&&(0,o.jsx)("p",{className:"result-message",children:t}),r&&(0,o.jsx)("div",{className:"result-details",children:r}),l&&l.length>0&&(0,o.jsx)("div",{className:"result-actions",children:l.map((e,s)=>(0,o.jsxs)("button",{className:`result-action-btn ${e.variant||"primary"}`,onClick:e.onClick,children:[e.icon&&(0,o.jsx)("span",{className:"action-icon",children:e.icon}),e.label]},s))})]})},i=e=>{let{message:s="Processing..."}=e;return(0,o.jsxs)("div",{className:"tool-loading",children:[(0,o.jsx)("div",{className:"loading-spinner"}),(0,o.jsx)("p",{className:"loading-message",children:s})]})},c=e=>{let{error:s,onRetry:a}=e;return(0,o.jsxs)("div",{className:"tool-error",children:[(0,o.jsx)("span",{className:"error-icon",children:"\u274c"}),(0,o.jsx)("p",{className:"error-message",children:s}),a&&(0,o.jsx)("button",{className:"retry-btn",onClick:a,children:"Try Again"})]})},d=e=>{let{toolName:s,toolIcon:a,toolDescription:l,onComplete:i,onClose:c,children:d,className:h="",showHeader:m=!0}=e;const[u,p]=(0,t.useState)(!1),[x,g]=(0,t.useState)(!1);return(0,o.jsx)(r.N,{children:!x&&(0,o.jsxs)(n.P.div,{initial:{opacity:0,y:20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.95},transition:{duration:.3},className:`chat-tool-container ${h} ${u?"minimized":""}`,children:[m&&(0,o.jsxs)("div",{className:"chat-tool-header",children:[(0,o.jsxs)("div",{className:"tool-info",children:[(0,o.jsx)("span",{className:"tool-icon",children:a}),(0,o.jsxs)("div",{className:"tool-text",children:[(0,o.jsx)("h3",{className:"tool-name",children:s}),(0,o.jsx)("p",{className:"tool-description",children:l})]})]}),(0,o.jsxs)("div",{className:"tool-controls",children:[(0,o.jsx)("button",{className:"tool-control-btn minimize-btn",onClick:()=>p(!u),title:u?"Expand":"Minimize",children:u?"\u25bc":"\u25b2"}),(0,o.jsx)("button",{className:"tool-control-btn close-btn",onClick:()=>{g(!0),setTimeout(()=>{c&&c()},300)},title:"Close tool",children:"\u2715"})]})]}),(0,o.jsx)(r.N,{children:!u&&(0,o.jsx)(n.P.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2},className:"chat-tool-content",children:t.cloneElement(d,{onComplete:e=>{i&&i(e),setTimeout(()=>{window.dispatchEvent(new CustomEvent("toolCompleted",{detail:{result:e,toolName:s}}))},100)}})})})]})})}},6095:(e,s,a)=>{a.r(s),a.d(s,{default:()=>c});var t=a(9950),r=a(5886),n=a(2875),o=a(4082);const l=JSON.parse('["123456","password","123456789","12345","12345678","qwerty","1234567","111111","123123","abc123","password1","1234","iloveyou","1q2w3e4r","000000"]');var i=a(4414);const c=e=>{var s,a,c,d,h,m;let{onComplete:u,onClose:p}=e;const[x,g]=(0,t.useState)(""),[w,j]=(0,t.useState)(!1),[y,b]=(0,t.useState)(!1),[v,f]=(0,t.useState)(null),[N,k]=(0,t.useState)(null),[C,M]=(0,t.useState)(null),[$,S]=(0,t.useState)({score:0,level:"",percentage:0,requirements:{length:!1,uppercase:!1,lowercase:!1,numbers:!1,symbols:!1}}),[T,P]=(0,t.useState)(""),[A,I]=(0,t.useState)(""),[q,z]=(0,t.useState)(""),[D,F]=(0,t.useState)(!1),[L,_]=(0,t.useState)(!1),E=(0,t.useRef)(!1),[R,Y]=(0,t.useState)(!1),[Z,H]=(0,t.useState)(""),[W,B]=(0,t.useState)(""),[G,O]=(0,t.useState)(!1),U={cyberpunk:{words:["neo","cyber","hack","matrix","ghost","shadow","neon","pulse","grid","void","flux","byte","core","data","node"],separators:["_","-",".","#","@","$","&"],facts:['Did you know? The term "cyberpunk" was coined in 1980!',"Fun fact: The Matrix used green code because it was easier to read on old monitors.","Interesting: Many cyberpunk passwords would take quantum computers millions of years to crack!"]},scifi:{words:["star","nova","orbit","cosmic","lunar","solar","astro","galaxy","quasar","nebula","warp","space","hyper","light"],separators:["_","-",".","*","^","~"],facts:["Did you know? Light takes 8 minutes to reach Earth from the Sun!","Fun fact: A day on Venus is longer than its year!","Interesting: Your password has more combinations than stars in the Milky Way!"]},fantasy:{words:["dragon","wizard","magic","mystic","rune","spell","quest","legend","myth","scroll","potion","sword","shield"],separators:["_","-",".","\u2020","\u2694\ufe0f","\u2728"],facts:["Did you know? Dragons appear in myths from almost every culture!",'Fun fact: The word "wizard" originally meant "wise person"!','Interesting: Medieval passwords were called "watchwords"!']},hacker:{words:["root","admin","sudo","shell","code","debug","hash","crypt","port","proxy","cache","stack","hea
1p"],separators:["_","-",".",":",";","|","/"],facts:["Did you know? The first computer bug was a real moth!","Fun fact: The first hack was done to make phone calls for free!","Interesting: Your password is stronger than most bank vaults!"]}},Q=e=>{const s={length:e.length>=8,uppercase:/[A-Z]/.test(e),lowercase:/[a-z]/.test(e),numbers:/[0-9]/.test(e),symbols:/[!@#$%^&*(),.?":{}|<>]/.test(e)};let a=0;s.length&&(a+=20),s.uppercase&&(a+=20),s.lowercase&&(a+=20),s.numbers&&(a+=20),s.symbols&&(a+=20),e.length>=12&&(a+=10),e.length>=16&&(a+=10),/^[a-zA-Z]+$/.test(e)&&(a-=10),/^[0-9]+$/.test(e)&&(a-=10),/password/i.test(e)&&(a-=20),/123456/.test(e)&&(a-=20),a=Math.max(0,Math.min(100,a));let t="";return t=a<20?"Very Weak":a<40?"Weak":a<60?"Fair":a<80?"Good":"Strong",{score:a,level:t,percentage:a,requirements:s}},V=async()=>{if(!x)return void M("\u26a0\ufe0f Please enter a password to begin CyberForget analysis");b(!0),M(null);const e=performance.now();let s=null;try{const a=["\ud83c\udf10 Checking breach databases...","\ud83d\udd10 Analyzing strength and patterns..."];let t=0;f(a[0]),s=setInterval(()=>{t++,t<a.length&&f(a[t])},600);const[r]=await Promise.all([o.A.checkPasswordSafety(x),new Promise(e=>setTimeout(e,1200))]),n=X(x),l=Math.min(100,.6*$.percentage+("pwned"===r.status?0:40)+(x.length>=12?10:0)+($.requirements.symbols?5:0)),i={breached:"pwned"===r.status,breachCount:r.count||0,strength:$,crackTime:n,securityScore:Math.round(l),analysisTime:`${((performance.now()-e)/1e3).toFixed(1)} seconds`,passwordMasked:x.substring(0,3)+"*".repeat(Math.max(0,x.length-3)),recommendations:J($,"pwned"===r.status)};k(i),u&&u({type:"password_checker",data:{breached:i.breached,breachCount:i.breachCount,securityScore:i.securityScore,crackTime:i.crackTime,strengthLevel:i.strength.level},summary:`\ud83d\udd10 **Password Analysis**: ${i.breached?"COMPROMISED":"Secure"} | Security Score: ${i.securityScore}/100 | Strength: ${i.strength.level} | ${i.breached?`Found in ${i.breachCount.toLocaleString()} breaches`:`Crack time: ${i.crackTime}`}`}),E.current||(_(!0),E.current=!0)}catch(a){M("\u274c CyberForget analysis failed. Please try again."),console.error("Password check error:",a)}finally{s&&clearInterval(s),f(null),b(!1)}},X=e=>{const s=e.length,a=/[A-Z]/.test(e);let t=0;/[a-z]/.test(e)&&(t+=26),a&&(t+=26),/[0-9]/.test(e)&&(t+=10),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(t+=32);const r=Math.pow(t,s)/35e10;return r<1?"Instantly":r<60?`${Math.round(r)} seconds`:r<3600?`${Math.round(r/60)} minutes`:r<86400?`${Math.round(r/3600)} hours`:r<31536e3?`${Math.round(r/86400)} days`:r<31536e4?`${Math.round(r/31536e3)} years`:"Centuries"},J=(e,s)=>{const a=[];return s&&a.push("\u26a0\ufe0f Change this password immediately - it has been compromised!"),e.requirements.length||a.push("Make your password at least 8 characters long"),e.requirements.uppercase||a.push("Add uppercase letters (A-Z)"),e.requirements.lowercase||a.push("Add lowercase letters (a-z)"),e.requirements.numbers||a.push("Include numbers (0-9)"),e.requirements.symbols||a.push("Add special characters (!@#$%^&*)"),e.score<60&&a.push("Consider using a passphrase or password manager"),a},K=()=>$.score<20?"#ff3b3b":$.score<40?"#ff9800":$.score<60?"#ffc107":$.score<80?"#4caf50":"#42ffb5",ee=(e,s)=>{switch(e.toLowerCase()){case"very weak":return{icon:"\ud83d\udd34",text:"Rookie",message:"Let's level up your security!"};case"weak":return{icon:"\ud83d\udfe1",text:"Cadet",message:"Getting better, but not there yet!"};case"fair":return{icon:"\ud83d\udfe2",text:"Guardian",message:"Nice! You're on the right track."};case"good":return{icon:"\ud83d\udee1\ufe0f",text:"Defender",message:"Strong password! Almost a hero."};case"strong":return{icon:"\ud83c\udf1f",text:"Cyber Hero",message:"Uncrackable! You're a legend."};default:return{icon:"\u26ab",text:"Start typing...",message:""}}},se=e=>{if(!e)return null;const s=e.length,a=/[A-Z]/.test(e);let t=0;/[a-z]/.test(e)&&(t+=26),a&&(t+=26),/[0-9]/.test(e)&&(t+=10),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(t+=32);const r=Math.pow(t,s),n=r/35e10,o=r/1e16,l=Math.max(1,Math.floor(n/300)),i=Math.max(1,Math.floor(n/7200)),c=Math.max(1,Math.floor(o/300)),d=Math.max(1,Math.floor(o/7200));return{combinations:r.toExponential(2),modernCoffees:l>
11e6?"\u221e":l.toLocaleString(),modernMovies:i>1e6?"\u221e":i.toLocaleString(),quantumCoffees:c>1e6?"\u221e":c.toLocaleString(),quantumMovies:d>1e6?"\u221e":d.toLocaleString(),characters:s}},ae=["Your digital fortress is getting stronger! \ud83c\udff0 Want to see the world's best password managers?","Staying safe, one password at a time! Would you like a password manager recommendation?","Did you know? Using a password manager is one of the best ways to stay secure. Want to compare the top options?"];Math.floor(Math.random()*ae.length);return(0,i.jsx)(r.Ay,{toolName:"Password Security Checker",toolIcon:"\ud83d\udd10",toolDescription:"Check if your password has been compromised and test its strength",onClose:p,className:"password-checker-tool",children:(0,i.jsxs)("div",{className:"password-checker-content themed-chatbot",children:[(0,i.jsxs)("div",{className:"cyberforget-password-header",children:[(0,i.jsx)(n.SMR,{className:"password-header-icon"}),(0,i.jsxs)("div",{className:"password-header-text",children:[(0,i.jsx)("h4",{children:"\ud83e\udd16 CyberForget AI: Password Security Chatbot"}),(0,i.jsx)("p",{children:"Hey there, cyber explorer! Ready to see if your password is a hero or a zero? Type it in and let me work my magic. (Don\u2019t use your real password!)"})]})]}),(0,i.jsxs)("div",{className:"password-input-section",children:[(0,i.jsxs)("div",{className:"password-input-wrapper",style:{position:"relative",zIndex:2},children:[(0,i.jsx)("input",{type:w?"text":"password",value:x,onChange:e=>{const s=e.target.value;g(s),S(Q(s)),M(null),k(null),F(l.includes(s))},placeholder:"Enter a password to check...",className:"password-input",autoComplete:"off",style:{zIndex:2}}),(0,i.jsx)("button",{className:"toggle-password-btn",onClick:()=>j(!w),type:"button",style:{zIndex:3,position:"absolute",right:12,top:"50%",transform:"translateY(-50%)"},tabIndex:0,"aria-label":w?"Hide password":"Show password",children:w?(0,i.jsx)(n.mx3,{}):(0,i.jsx)(n.Ny1,{})})]}),x&&(0,i.jsxs)("div",{className:"strength-indicator",style:{marginBottom:12},children:[(0,i.jsx)("div",{className:"strength-bar-container",children:(0,i.jsx)("div",{className:"strength-bar-fill",style:{width:`${$.percentage}%`,backgroundColor:K()}})}),(0,i.jsx)("span",{className:"strength-label",style:{color:K()},children:$.level}),(0,i.jsxs)("span",{className:"badge-fun",children:[ee($.level,$.score).icon," ",ee($.level,$.score).text]})]}),D&&x&&(0,i.jsxs)("div",{className:"common-password-warning",style:{marginBottom:12},children:[(0,i.jsx)("span",{role:"img","aria-label":"alert",children:"\u26a0\ufe0f"})," This password is ",(0,i.jsx)("b",{children:"very common"})," and easily guessed by attackers! Try something more unique for better security."]}),(0,i.jsxs)("div",{className:"action-btn-row",children:[(0,i.jsxs)("button",{className:"action-btn",onClick:V,children:[(0,i.jsx)(n.SMR,{})," Analyze Password"]}),(0,i.jsxs)("button",{className:"action-btn",onClick:()=>{const e=Object.keys(U),s=e[Math.floor(Math.random()*e.length)],a=U[s],t=a.words[Math.floor(Math.random()*a.words.length)],r=a.words[Math.floor(Math.random()*a.words.length)],n=a.separators[Math.floor(Math.random()*a.separators.length)],o=Math.floor(900*Math.random()+100),l="!@#$%^&*",i=l[Math.floor(8*Math.random())],c=[`${t}${n}${r}${o}${i}`,`${r}${o}${n}${t}${i}`,`${o}${n}${t}${i}${r}`],d=c[Math.floor(Math.random()*c.length)];O(!1),P(d),H(s),I(X(d)),z("");const h=a.facts[Math.floor(Math.random()*a.facts.length)];B(h),setTimeout(()=>O(!0),300)},children:[(0,i.jsx)(n.ZPX,{})," Generate Fun Password"]})]})]}),T&&(0,i.jsxs)("div",{className:"generated-password-box",children:[(0,i.jsxs)("div",{className:"generated-password-label",children:["\ud83c\udfb2 Your ",Z.charAt(0).toUpperCase()+Z.slice(1),"-Themed Password:"]}),(0,i.jsx)("div",{className:"generated-password-value "+(G?"visible":""),children:T}),(0,i.jsx)("button",{className:"copy-btn",onClick:()=>{navigator.clipboard.writeText(T).then(()=>{z("Password copied!"),setTimeout(()=>z(""),2e3)}).catch(()=>{z("Copy failed"),setTimeout(()=>z(""),2e3)})},children:(0,i.jsx)(n.paH,{})}),q&&(0,i.jsx)("span",{className:"copy-success",children:q}),(0,i.jsxs)("div",{className:"generated-crack-time",children:["Modern Crack Time: ",(0,i.jsx)("b",{children:A})]}),(0,i.jsxs)("div",{className:"generated-quantum-time",children:["Quantum Crack Time: ",(0,i.jsx)("b",{children:(e=>{const s=e.length,a=/[A-Z]/.test(e);let t=0;/[a-z]/.test(e)&&(t+=26),a&&(t+=26),/[0-9]/.test(e)&&(t+=10),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(t+=32);const r=Math.pow(t,s)/1e16;return r<1?"Instantly":r<60?`${Math.round(r)} seconds`:r<3600?`${Math.round(r/60)} minutes`:r<86400?`${Math.round(r/3600)} hours`:r<31536e3?`${Math.round(r/86400)} days`:r<31536e4?`${Math.round(r/31536e3)} years`:"Centuries"})(T)})]}),W&&(0,i.jsxs)("div",{className:"password-fun-fact",children:[(0,i.jsx)(n.ZPX,{className:"fact-icon"})," ",W]})]}),y&&(0,i.jsxs)("div",{className:"analysis-progress",children:[(0,i.jsx)("div",{className:"progress-bar",children:(0,i.jsx)("div",{className:"progress-fill"})}),(0,i.jsx)("div",{className:"analysis-stage",children:v||"\ud83d\udd12 Analyzing password strength..."})]}),C&&(0,i.jsx)(r.v4,{error:C,onRetry:V}),N&&!y&&(0,i.jsx)(r.I8,{status:N.breached?"error":N.strength.score>=60?"success":"warning",title:N.breached?"\ud83d\ude31 Oh no! Password Compromised!":"\ud83c\udf89 Password Analysis Complete!",message:N.breached?`This password has been found in ${N.breachCount.toLocaleStr
1ing()} data breaches. \ud83d\udea8 Time to change it!`:`Your password would take approximately ${N.crackTime} to crack with modern hardware.`,details:(0,i.jsxs)("div",{className:"password-details",children:[(0,i.jsxs)("div",{className:"fun-stats-row",children:[(0,i.jsxs)("div",{className:"stat-item",children:[(0,i.jsx)("span",{className:"stat-label",children:"Characters:"}),null===(s=se(x))||void 0===s?void 0:s.characters]}),(0,i.jsxs)("div",{className:"stat-item",children:[(0,i.jsx)("span",{className:"stat-label",children:"Combinations:"}),null===(a=se(x))||void 0===a?void 0:a.combinations]})]}),(0,i.jsxs)("div",{className:"crack-time-section",children:[(0,i.jsx)("h5",{children:"\ud83d\udda5\ufe0f Modern Hardware"}),(0,i.jsxs)("div",{className:"fun-stats-row",children:[(0,i.jsxs)("div",{className:"stat-item",children:[(0,i.jsx)("span",{className:"stat-label",children:"Coffees:"}),null===(c=se(x))||void 0===c?void 0:c.modernCoffees]}),(0,i.jsxs)("div",{className:"stat-item",children:[(0,i.jsx)("span",{className:"stat-label",children:"Movies:"}),null===(d=se(x))||void 0===d?void 0:d.modernMovies]})]}),(0,i.jsx)("h5",{children:"\ud83d\udd2e Quantum Computer"}),(0,i.jsxs)("div",{className:"fun-stats-row",children:[(0,i.jsxs)("div",{className:"stat-item",children:[(0,i.jsx)("span",{className:"stat-label",children:"Coffees:"}),null===(h=se(x))||void 0===h?void 0:h.quantumCoffees]}),(0,i.jsxs)("div",{className:"stat-item",children:[(0,i.jsx)("span",{className:"stat-label",children:"Movies:"}),null===(m=se(x))||void 0===m?void 0:m.quantumMovies]})]})]}),N.recommendations.length>0&&(0,i.jsxs)("div",{className:"recommendations",children:[(0,i.jsx)("h5",{children:"CyberForget AI Tips:"}),(0,i.jsx)("ul",{children:N.recommendations.map((e,s)=>(0,i.jsxs)("li",{children:[(0,i.jsx)(n.__w,{})," ",e]},s))})]})]}),actions:[{label:"Try Another Password",icon:"\ud83d\udd04",variant:"secondary",onClick:()=>{g(""),k(null),S(Q(""))}},{label:"Get Password Manager",icon:"\ud83d\udee1\ufe0f",variant:"primary",onClick:()=>window.open("/password-managers","_blank")}]}),L&&!R&&(0,i.jsxs)("div",{className:"follow-up-message",children:[(0,i.jsx)("div",{className:"follow-up-text",children:"Anything else I can help you with? Try another tool below!"}),(0,i.jsxs)("div",{className:"follow-up-actions",children:[(0,i.jsx)("button",{className:"follow-up-btn",onClick:()=>window.location.href="/location",children:"\ud83d\udd0d Data Broker Scan"}),(0,i.jsx)("button",{className:"follow-up-btn",onClick:()=>window.location.href="/data-leak",children:"\ud83d\udce7 Email Breach Check"}),(0,i.jsx)("button",{className:"follow-up-btn secondary",onClick:()=>_(!1),children:"No Thanks"})]})]}),R&&(0,i.jsxs)("div",{className:"password-manager-table-wrapper",children:[(0,i.jsx)("div",{className:"password-manager-table-title",children:"\ud83d\udd10 Password Manager Comparison"}),(0,i.jsxs)("table",{className:"password-manager-table",children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Manager"}),(0,i.jsx)("th",{children:"Free Plan"}),(0,i.jsx)("th",{children:"Autofill"}),(0,i.jsx)("th",{children:"Cross-Platform"}),(0,i.jsx)("th",{children:"Security Audit"})]})}),(0,i.jsxs)("tbody",{children:[(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Bitwarden"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"1Password"}),(0,i.jsx)("td",{children:"\u274c"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"LastPass"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u274c"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Dashlane"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"}),(0,i.jsx)("td",{children:"\u2714\ufe0f"})]})]})]}),(0,i.jsx)("div",{className:"password-manager-table-note",children:"All managers use strong encryption. Choose one that fits your needs and device!"})]})]})})}}}]);

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.