PageSourceSearch

https://www.plataformaong.org/js/funPagina.js?1791056385

js plataformaong.org collected 2026-10-03 19:40:29 UTC 18,818 bytes, 410 lines download raw bytes

1// V A R I A B L E S ----------------------------------------------------------------------------------------------------------------------------------------------------
2
3//Ventanas modales
4var bolVM = false;
5var intVM = null;
6var intVM2 = null;
7var intTipoV = 0;
8
9var intAlturaCabecera = 0;
10var intAlturaCabeceraMovil = 0;
11var intAlturaMenuSuperior = 0;
12var intAlturaMenu = 0;
13var intAlturaMenuProyectos = 0;
14var intAlturaMenuMovil = 0;
15var bolMenu = false;
16var intMF;
17
18const EXITO = 1;
19const FALLO = 0;
20const RECAPTCHA_INCORRECTO = -3;
21
22
23// V E N T A N A S   M O D A L E S --------------------------------------------------------------------------------------------------------------------------------------
24
25function fncInfo(strMensaje,just,t) {
26	if (typeof just !== 'undefined') switch (just.toUpperCase()) {
27		case "L": strJustificacion = "left"; break;
28		case "R": strJustificacion = "right"; break;
29		case "C": strJustificacion = "center"; break;
30		case "J": strJustificacion = "justify"; break;
31		default : strJustificacion = "center"; break;
32	}
33	else strJustificacion = "center";
34	if (typeof t === 'undefined') t=5;
35	clearTimeout(intVM);
36	clearTimeout(intVM2);
37	bolVM = true;
38	intTipoV = 1;
39	$("#TT,#infobox").empty().hide();
40	$("#vm").removeClass("ve bb").css("width","500px").css("height","auto").html("<div class='bCerrar'><p>" + t + "</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><img class='ico' src='imagenes/info.svg'/><p style='text-align:" + strJustificacion + "'>" + strMensaje + "</p>");
41	$("#ovm").show();
42	history.pushState(null,null,location.href.split('#')[0] + "#vm");
43	intVM = setTimeout("$('#vm .bCerrar').trigger('click');",t*1000);
44	intVM2 = setInterval(function(){ $("#vm .bCerrar p").text($("#vm .bCerrar p").text()-1); },1000);
45}
46	
47/* ----------------------------------------------------- */
48
49function fncAviso(strMensaje,just,t) {
50	if (typeof just !== 'undefined') switch (just.toUpperCase()) {
51		case "L": strJustificacion = "left"; break;
52		case "R": strJustificacion = "right"; break;
53		case "C": strJustificacion = "center"; break;
54		case "J": strJustificacion = "justify"; break;
55		default : strJustificacion = "center"; break;
56	}
57	else strJustificacion = "center";
58	if (typeof t === 'undefined') t=5;
59	clearTimeout(intVM);
60	clearTimeout(intVM2);
61	bolVM = true;
62	intTipoV = 1;
63	$("#TT,#infobox").empty().hide();
64	$("#vm").removeClass("ve bb").css("width","500px").css("height","auto").html("<div class='bCerrar'><p>" + t + "</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><img class='ico' src='imagenes/info.svg'/><p style='text-align:" + strJustificacion + "'>" + strMensaje + "</p>");
65	$("#ovm").show();
66	history.pushState(null,null,location.href.split('#')[0] + "#vm");
67	intVM = setTimeout("$('#vm .bCerrar').trigger('click');",t*1000);
68	intVM2 = setInterval(function(){ $("#vm .bCerrar p").text($("#vm .bCerrar p").text()-1); },1000);
69}
70
71/* ----------------------------------------------------- */
72
73function fncError(strMensaje,just,t) {
74	if (typeof just !== 'undefined') switch (just.toUpperCase()) {
75		case "L": strJustificacion = "left"; break;
76		case "R": strJustificacion = "right"; break;
77		case "C": strJustificacion = "center"; break;
78		case "J": strJustificacion = "justify"; break;
79		default : strJustificacion = "center"; break;
80	}
81	else strJustificacion = "center";
82	if (typeof t === 'undefined') t=5;
83	clearTimeout(intVM);
84	clearTimeout(intVM2);
85	bolVM = true;
86	intTipoV = 1;
87	$("#TT,#infobox").empty().hide();
88	$("#vm").removeClass("ve bb").css("width","500px").css("height","auto").html("<div class='bCerrar'><p>" + t + "</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><img class='ico' src='imagenes/info.svg'/><p style='text-align:" + strJustificacion + "'>" + strMensaje + "</p>");
89	$("#ovm").show();
90	history.pushState(null,null,location.href.split('#')[0] + "#vm");	
91	intVM = setTimeout("$('#vm .bCerrar').trigger('click');",t*1000);
92	intVM2 = setInterval(function(){ $("#vm .bCerrar p").text($("#vm .bCerrar p").text()-1); },1000);
93}
94
95/* ----------------------------------------------------- */
96
97function fncConfirmar(strMensaje,just,strFuncion,strParametro1,strParametro2,strParametro3) {
98	if (typeof just !== 'undefined') switch (just.toUpperCase()) {
99		case "L": strJustificacion = "left"; break;
100		case "R": strJustificacion = "right"; break;
101		case "C": strJustificacion = "center"; break;
102		case "J": strJustificacion = "justify"; break;
103		default : strJustificacion = "center"; break;
104	}
105	else strJustificacion = "center";
106	clearTimeout(intVM);
107	clearTimeout(intVM2);
108	bolVM = true;
109	intTipoV = 2;
110	$("#TT,#infobox").empty().hide();
111	$("#vm").removeClass("ve").addClass("bb").css("width","500px").css("height","auto").html("<div class='bCerrar'><p>[ESC]</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><img class='ico' src='imagenes/aviso.svg'/><p style='text-align:" + strJustificacion + "'>" + strMensaje + "</p><div class='bVM'><div class='bSI'>SI</div><div class='bNO'>NO</div></div>");
112	$("#vm .bSI").on("click", function(e) {  
113		$("#vm .bCerrar").trigger("click");
114		if (typeof strParametro1 !== 'undefined') {
115			if (typeof strParametro2 !== 'undefined') {
116				if (typeof strParametro3 !== 'undefined') strFuncion(strParametro1,strParametro2,strParametro3);
117				else strFuncion(strParametro1,strParametro2);
118			} 
119			else strFuncion(strParametro1);
120		}
121		else strFuncion();
122    });
123	$("#vm .bNO").on('click', function(e) {  
124		$("#vm .bCerrar").trigger("click");
125		return false;
126    });
127	$("#ovm").show();
128	history.pushState(null,null,location.href.split('#')[0] + "#vm");
129}
130
131/* ----------------------------------------------------- */
132
133function fncLogout() {
134	clearTimeout(intVM);
135	clearTimeout(intVM2);
136	bolVM = true;
137	intTipoV = 3;
138	$("#TT,#infobox").empty().hide();
139	$("#vm").removeClass("ve").addClass("bb").css("width","500px").css("height","auto").html("<div class='bCerrar'><p>[ESC]</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><img class='ico' src='imagenes/aviso.svg'/><p>¿Quieres cerrar tu sesión de usuario?</p><div class='bVM'><div class='bSI'>SI</div><div class='bNO'>NO</div></div>");
140	$("#vm .bSI").on('click', function(e) {  
141		$("#vm .bCerrar").trigger("click");
142		window.location.href = "logout";
143    });
144	$("#vm .bNO").on('click', function(e) {  
145		$("#vm .bCerrar").trigger("click");  		
146		return false;
147    });
148	$("#ovm").show();
149	history.pushState(null,null,location.href.split('#')[0] + "#vm");
150}
151
152/* ----------------------------------------------------- */
153
154function fncVentana(strURL,w,h,t,params) {
155	if (typeof w === 'undefined') w = "500px";
156	if (typeof h === 'undefined') h = "auto";
157	if (typeof t === 'undefined') t = "";
158	if (typeof params === 'undefined') params = {};
159	clearTimeout(intVM);
160	clearTimeout(intVM2);
161	bolVM = true;
162	intTipoV = 4;
163	if (t != "") $("#ovm .loading:not(.boton)").prepend("<p>" + t + "</p>");
164	$("#TT,#infobox").empty().hide();
165	$("#vm").hide().removeClass("bb").addClass("ve").css("width",w).css("height",h);
166	$("#ovm").show();
167	$("#ovm .loading:not(.boton)").show();
168	$("#vm").html("<div class='bCerrar'><p>[ESC]</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><div id='VURL'></div>");
169
170	$("#VURL").load(strURL, params, function(){
171		$("#ovm .loading:not(.boton)").hide();
172		$("#ovm .loading:not(.boton) p").remove();
173		$("#vm").show();
174		$("#vm").scrollTop(0);
175	});
176	history.pushState(null,null,location.href.split('#')[0] + "#vm");
177}
178
179function fncVentanaHTML(strHTML,w,h,t,params) {
180	if (typeof w === 'undefined') w = "500px";
181	if (typeof h === 'undefined') h = "auto";
182	if (typeof t === 'undefined') t = "";
183	if (typeof params === 'undefined') params = {};
184	clearTimeout(intVM);
185	clearTimeout(intVM2);
186	bolVM = true;
187	intTipoV = 4;
188	if (t != "") $("#ovm .loading:not(.boton)").prepend("<p>" + t + "</p>");
189	$("#TT,#infobox").empty().hide();
190	$("#vm").hide().removeClass("bb").addClass("ve").css("width",w).css("height",h);
191	$("#ovm").show();
192	$("#ovm .loading:not(.boton)").show();
193	$("#vm").html("<div class='bCerrar'><p>[ESC]</p><img src='imagenes/cerrar.svg' info='Cerrar' /></div><div id='VURL'>" + strHTML + "</div>");
194	$("#ovm .loading:not(.boton)").hide();
195	$("#ovm .loading:not(.boton) p").remove();
196	$("#vm").show();
197	$("#vm").scrollTop(0);
198
199	
200	history.pushState(null,null,location.href.split('#')[0] + "#vm");
201}
202
203// F U N C I O N E S   V A R I A S --------------------------------------------------------------------------------------------------------------------------------------
204
205function fncMoverScroll(obj) {
206    if ($(obj).length) {
207        $('body,html').stop();
208        $('body,html').animate({
209            scrollTop : $(obj).offset().top - (intAlturaMenu)
210        }, 1000);
211    }
212}
213
214
215function fncMoverScrollMovil(obj) {
216    if ($(obj).length) {
217        $('body,html').stop();
218        $('body,html').animate({
219            scrollTop : $(obj).offset().top - (intAlturaMenuMovil)
220        }, 1000);
221    }
222}
223
224
225// T A R E A S   C O M U N E S   D E   I N I C I O ----------------------------------------------------------------------------------------------------------------------
226
227$(document).ready(function() {
228
229	/** COOKIES ---------------------------------------- */
230
231	if (fncGetCookie('CONSENT') == "") {
232		$("body").append('<div id="avisoCookies"><div><p>Este sitio web utiliza cookies, propias y de terceros, para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios. Para más información, consulte la <a href="politica-cookies.php">política de cookies<a href="politica-cookies.php"></a>.</p><div><div id="A">ACEPTAR COOKIES</div><div id="R">RECHAZAR COOKIES</div><p id="C">CONFIGURACIÓN</p></div></div>');
233		$("#avisoCookies").slideDown();
234	}
235
236	$("#avisoCookies #A").on("click", function() {
237		get('cci.php').then((strConsent) => {
238			//11111 > necesarias preferencias estadisticas marketing otras - 5 AÑOS
239			fncSetCookie("CONSENT",strConsent,157766400);
240			if (typeof gtag === 'function') {
241				gtag('consent', 'update', {
242					'ad_storage': ((strConsent.charAt(3) == "1")? 'granted' : 'denied'),
243					'analytics_storage': ((strConsent.charAt(2) == "1")? 'granted' : 'denied'),
244					'functionality_storage': ((strConsent.charAt(1) == "1")? 'granted' : 'denied'),
245					'personalization_storage': ((strConsent.charAt(1) == "1")? 'granted' : 'denied'),
246				});
247			}		
248			$("#avisoCookies").slideUp();
249		});
250	});
251
252	$("#avisoCookies #R").on("click", function() {
253		//10000 > necesarias - 5 AÑOS
254		fncSetCookie("CONSENT","10000",157766400);
255		if (typeof gtag === 'function') {
256			gtag('consent', 'update', {
257				'ad_storage': 'denied',
258				'analytics_storage': 'denied',
259				'functionality_storage': 'denied',
260				'personalization_storage': 'denied',
261			});
262		}		
263		$("#avisoCookies").slideUp();
264	});
265
266	$("#avisoCookies #C").on("click", function() {
267		fncVentana("cookies.php",600,370);
268		$("#avisoCookies").slideUp();
269	});
270
271	$("#bCookies").on("click", function() {
272		fncVentana("cookies.php",600,370);
273		$("#avisoCookies").slideUp();
274	});
275
276	$("body").on("click","#cookies .check h3", function() {
277		$(this).find("img").toggleClass("on");
278		$("#BC" + $(this).data("id")).slideToggle();
279	});
280
281	$("body").on("click", "#cookies input[name^='chkCookies']", function() {
282		let objCheck = $(this);
283		let idTipoCookie = objCheck.data("tc");
284		let strConsent = fncGetCookie('CONSENT');
285		if (strConsent == "") strConsent = "10000";
286		strConsent =  fncSetCharAt(strConsent,idTipoCookie-1,(objCheck.is(":checked"))? "1" : "0").toString();
287		fncSetCookie("CONSENT",strConsent,157766400);
288		if (typeof gtag === 'function') {
289			gtag('consent', 'update', {
290				'ad_storage': ((strConsent.charAt(3) == "1")? 'granted' : 'denied'),
291				'analytics_storage': ((strConsent.charAt(2) == "1")? 'granted' : 'denied'),
292				'functionality_storage': ((strConsent.charAt(1) == "1")? 'granted' : 'denied'),
293				'personalization_storage': ((strConsent.charAt(1) == "1")? 'granted' : 'denied'),
294			});
295		}
296	});	
297
298	/** OPCIONES DE VENTANAS MODALES ------------------- */
299 
300	$("body").append('<div id="ovm"></div>');
301	$("#ovm").append('<div class="loading"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjAiIHdpZHRoPSIxNjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMTI4IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjOTlkNGVlIiBmaWxsLW9wYWNpdHk9IjAuNDIiIGQ9Ik02LjQsNC44QTMuMiwzLjIsMCwxLDEsMy4yLDgsMy4yLDMuMiwwLDAsMSw2LjQsNC44Wm0xMi44LDBBMy4yLDMuMiwwLDEsMSwxNiw4LDMuMiwzLjIsMCwwLDEsMTkuMiw0LjhaTTMyLDQuOEEzLjIsMy4yLDAsMSwxLDI4LjgsOCwzLjIsMy4yLDAsMCwxLDMyLDQuOFptMTIuOCwwQTMuMiwzLjIsMCwxLDEsNDEuNiw4LDMuMiwzLjIsMCwwLDEsNDQuOCw0LjhabTEyLjgsMEEzLjIsMy4yLDAsMSwxLDU0LjQsOCwzLjIsMy4yLDAsMCwxLDU3LjYsNC44Wm0xMi44LDBBMy4yLDMuMiwwLDEsMSw2Ny4yLDgsMy4yLDMuMiwwLDAsMSw3MC40LDQuOFptMTIuOCwwQTMuMiwzLjIsMCwxLDEsODAsOCwzLjIsMy4yLDAsMCwxLDgzLjIsNC44Wk05Niw0LjhBMy4yLDMuMiwwLDEsMSw5Mi44LDgsMy4yLDMuMiwwLDAsMSw5Niw0LjhabTEyLjgsMEEzLjIsMy4yLDAsMSwxLDEwNS42LDgsMy4yLDMuMiwwLDAsMSwxMDguOCw0LjhabTEyLjgsMEEzLjIsMy4yLDAsMSwxLDExOC40LDgsMy4yLDMuMiwwLDAsMSwxMjEuNiw0LjhaIi8+PGc+PHBhdGggZmlsbD0iIzBjOTlkNiIgZmlsbC1vcGFjaXR5PSIxIiBkPSJNLTQyLjcsMy44NEE0LjE2LDQuMTYsMCwwLDEtMzguNTQsOGE0LjE2LDQuMTYsMCwwLDEtNC4xNiw0LjE2QTQuMTYsNC4xNiwwLDAsMS00Ni44Niw4LDQuMTYsNC4xNiwwLDAsMS00Mi43LDMuODRabTEyLjgtLjY0QTQuOCw0LjgsMCwwLDEtMjUuMSw4YTQuOCw0LjgsMCwwLDEtNC44LDQuOEE0LjgsNC44LDAsMCwxLTM0LjcsOCw0LjgsNC44LDAsMCwxLTI5LjksMy4yWm0xMi44LS42NEE1LjQ0LDUuNDQsMCwwLDEtMTEuNjYsOGE1LjQ0LDUuNDQsMCwwLDEtNS40NCw1LjQ0QTUuNDQsNS40NCwwLDAsMS0yMi41NCw4LDUuNDQsNS40NCwwLDAsMS0xNy4xLDIuNTZaIi8+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMjMgMDszNiAwOzQ5IDA7NjIgMDs3NC41IDA7ODcuNSAwOzEwMCAwOzExMyAwOzEyNS41IDA7MTM4LjUgMDsxNTEuNSAwOzE2NC41IDA7MTc4IDAiIGNhbGNNb2RlPSJkaXNjcmV0ZSIgZHVyPSIxMTcwbXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9nPjwvc3ZnPgo=" /></div>');
302    $("#ovm").append('<div id="vm"></div>').hide();
303	if (typeof cssVM !== 'undefined' && cssVM != "") $("#ovm").addClass(cssVM);
304	$("#vm").on("click",".bCerrar", function(e) {
305		$("#TT,#infobox").empty().hide();
306		if ($("#cookies").length) if (fncGetCookie("CONSENT") == "") $("#avisoCookie
306s").slideDown();
307		$("#ovm").hide();
308		$("#vm").empty().removeClass("ve bb");
309		bolVM = false;
310		clearTimeout(intVM);
311		clearTimeout(intVM2);
312        history.replaceState(null,null,location.href.split('#')[0]);
313		intTipoV = 0;
314    });
315
316	$("#ovm").on("mousedown", function(e) {
317        if (e.target == this) {
318        	clearTimeout(intVM);
319        	$("#vm .bCerrar").trigger("click");
320			if (typeof fncActivarBotones == 'function') fncActivarBotones(true);
321		}
322    });
323
324	/** MENÚ PRINCIPAL --------------------------------- */
325
326    intAlturaCabecera = $('.cabecera').outerHeight(true);
327    intAlturaMenuSuperior = $('.bloqueMenuSuperior').outerHeight(true);
328    intAlturaMenu = $('.bloqueMenu').outerHeight(true);
329    intAlturaMenuProyectos = $('.bloqueMenuProyectos').outerHeight(true);
330    intAlturaMenuMovil = $('.bloqueMenuMovil').outerHeight(true);
331    
332    $(window).on('scroll', function() {
333        if ($(window).scrollTop() >= (intAlturaCabecera)){
334            $('.bloqueMenuSuperior').addClass('fijo');
335            $('.bloqueMenu').addClass('fijo');
336            $('.bloqueMenuProyectos').addClass('fijo');
337            $('.cabecera').css('margin-bottom', (intAlturaMenuSuperior + intAlturaMenu + intAlturaMenuProyectos) + 'px');
338            //$(".bloqueMenuMovil img.logoMenu").fadeIn("fast");
339        } else {
340            $('.bloqueMenuSuperior').removeClass('fijo');
341            $('.bloqueMenu').removeClass('fijo');
342            $('.bloqueMenuProyectos').removeClass('fijo');
343            $('.cabecera').css('margin-bottom', '0px');
344            //$(".bloqueMenuMovil img.logoMenu").fadeOut("fast");
345        }       
346    });
347    $(window).on('resize', function() {
348        intAlturaCabecera = $('.cabecera').outerHeight(true);
349        intAlturaMenuSuperior = $('.bloqueMenuSuperior').outerHeight(true);
350        intAlturaMenu = $('.bloqueMenu').outerHeight(true);
351        intAlturaMenuProyectos = $('.bloqueMenuProyectos').outerHeight(true);
352    });
353    
354    $("#ham").on("click", function() {
355		$(this).toggleClass('on');        
356		$("#menuLateral").toggleClass("on");
357        $("body").toggleClass("scrollOff");
358        $("#fMenu").toggle();
359        if ($("#fMenu").is(":visible")) {
360        	bolMenu = true;
361        	location.href = location.href.split('#')[0] + "#m";
362        }
363        else {
364        	bolMenu = false;
365        	if (location.hash) history.go(-1);
366        }
367    });
368    
369    $("#fMenu").on("click",function(){
370    	$("#ham").trigger("click");	
371    });
372    
373    $(window).bind('mousewheel DOMMouseScroll', function(){
374        $('body').stop();
375    });
376    		
377});
378
379
380// E V E N T O S   D E    T E C L A D O ---------------------------------------------------------------------------------------------------------------------------------
381
382$(document).keyup(function(e) {
383
384	if ($("#ovm").is(":visible")) { 
385		e.preventDefault();
386		if (intTipoV < 4 && e.key != undefined && (e.key == "Escape" || e.key == " " || e.key == "Enter" || e.key.toUpperCase() == "S" || e.key.toUpperCase() == "N")) {
387			clearTimeout(intVM);
388			if (intTipoV == 1 && (e.key == "Escape" || e.key == " " || e.key == "Enter")) $("#vm .bCerrar").trigger("click");	
389			if (intTipoV == 2 && (e.key == " " || e.key == "Enter" || e.key.toUpperCase() == "S")) $("#vm .bSI").trigger("click");
390			if (intTipoV == 2 && (e.key == "Escape" || e.key.toUpperCase() == "N")) $("#vm .bNO").trigger("click");
391			if (intTipoV == 3 && (e.key == " " || e.key == "Enter" || e.key.toUpperCase() == "S")) $("#vm .bSI").trigger("click");
392			if (intTipoV == 3 && (e.key == "Escape" || e.key.toUpperCase() == "N")) $("#vm .bNO").trigger("click");
393		}
394		if (intTipoV == 4 && e.key != undefined && (e.key == "Escape")) $("#vm .bCerrar").trigger("click");
395	}
396
397});
398
399
400// G E S T I Ó N   D E L   H A S H --------------------------------------------------------------------------------------------------------------------------------------
401
402$(window).on("hashchange",function() {
403	
404	if (location.href.indexOf("#vm") < 0 && bolVM) $("#vm .bCerrar").trigger("click");
405	
406	if (location.href.indexOf("#m") < 0 && bolMenu) $("#ham").trigger("click");
407
408	if (location.href.indexOf("#popup") < 0 && $.magnificPopup != undefined) $.magnificPopup.close(); 
409
410});

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.