chocolatito-code 1.6.14 → 1.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/dist/agent/historialDeCambios.d.ts +77 -0
- package/dist/agent/historialDeCambios.js +220 -0
- package/dist/agent/salidaDelAgente.d.ts +9 -0
- package/dist/agent/salidaDelAgente.js +19 -0
- package/dist/agent/undoManager.d.ts +21 -0
- package/dist/agent/undoManager.js +85 -5
- package/dist/index.js +87 -3
- package/dist/servidor/captura.d.ts +9 -0
- package/dist/servidor/captura.js +48 -0
- package/dist/servidor/marca.d.ts +14 -0
- package/dist/servidor/marca.js +14 -0
- package/dist/servidor/pagina.d.ts +0 -26
- package/dist/servidor/pagina.js +71 -8
- package/dist/servidor/servidor.d.ts +70 -2
- package/dist/servidor/servidor.js +117 -8
- package/dist/ui/comandos.js +1 -0
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17,7 +17,8 @@ import { fijarMotor } from "./ui/motorActual.js";
|
|
|
17
17
|
import { elegirDeLista } from "./ui/selector.js";
|
|
18
18
|
import { entrarEnPantallaFija, pantallaFijaPedida, salirDePantallaFija } from "./ui/pantalla.js";
|
|
19
19
|
import { iniciarServidorWeb } from "./servidor/servidor.js";
|
|
20
|
-
import { iniciarCaptura } from "./servidor/captura.js";
|
|
20
|
+
import { anotarCrudoWeb, anotarWeb, iniciarCaptura } from "./servidor/captura.js";
|
|
21
|
+
import { copiarSalidaAlWeb } from "./agent/salidaDelAgente.js";
|
|
21
22
|
import { entregarEntrada, esperarEntradaWeb, marcarServirActivo } from "./servidor/puente.js";
|
|
22
23
|
import { montarArbol, desmontarArbol } from "./ui/ink/montarApp.js";
|
|
23
24
|
import { reafirmarModoCrudo } from "./ui/keyboardGuard.js";
|
|
@@ -34,6 +35,7 @@ import { prepararRestauracion, formatearOpcionesDeSesion } from "./sessions/resu
|
|
|
34
35
|
import { auditGitDiff, formatAuditReport } from "./tools/gitAudit.js";
|
|
35
36
|
import { instalarKit, listarKits, quitarKit, crearKit } from "./kits/manager.js";
|
|
36
37
|
import { guardarSesion, lanzarEnFondo, olvidarSesion, pararSesion, sesionViva } from "./servidor/fondo.js";
|
|
38
|
+
import { nombreDeAnfitrion } from "./servidor/servidor.js";
|
|
37
39
|
import { leerCortes, rutaDelRegistro } from "./agent/cortes.js";
|
|
38
40
|
import { globalUndoManager } from "./agent/undoManager.js";
|
|
39
41
|
import { setAutoApprove } from "./ui/permissionPrompt.js";
|
|
@@ -241,6 +243,11 @@ ${nodeViejo}
|
|
|
241
243
|
const quiereFondo = rawArgs.includes("--fondo");
|
|
242
244
|
const quiereParar = rawArgs.includes("--parar");
|
|
243
245
|
const quiereEstado = rawArgs.includes("--estado");
|
|
246
|
+
// --tunel autoriza UN nombre de dominio mas, para entrar por cloudflared o
|
|
247
|
+
// ngrok desde fuera de casa. Uno concreto: la defensa contra el DNS rebinding
|
|
248
|
+
// sigue en pie para todos los demas.
|
|
249
|
+
const posTunel = rawArgs.indexOf("--tunel");
|
|
250
|
+
const tunelWeb = posTunel >= 0 ? String(rawArgs[posTunel + 1] || "") : "";
|
|
244
251
|
const posPuerto = rawArgs.indexOf("--puerto");
|
|
245
252
|
const puertoWeb = posPuerto >= 0 ? Number(rawArgs[posPuerto + 1]) || 0 : 0;
|
|
246
253
|
// Ojo: lo que sobra de argv se convierte en la orden a ejecutar. Una bandera
|
|
@@ -254,8 +261,11 @@ ${nodeViejo}
|
|
|
254
261
|
"--fondo",
|
|
255
262
|
"--parar",
|
|
256
263
|
"--estado",
|
|
264
|
+
"--tunel",
|
|
257
265
|
]);
|
|
258
|
-
const args = rawArgs.filter((a, i) => !banderas.has(a) &&
|
|
266
|
+
const args = rawArgs.filter((a, i) => !banderas.has(a) &&
|
|
267
|
+
!(posPuerto >= 0 && i === posPuerto + 1 && puertoWeb > 0) &&
|
|
268
|
+
!(posTunel >= 0 && i === posTunel + 1 && !!tunelWeb));
|
|
259
269
|
const singlePrompt = args.join(" ").trim();
|
|
260
270
|
// ESTAS DOS NO ARRANCAN NADA, y por eso van aqui arriba: montar el agente
|
|
261
271
|
// entero -API key, skills, MCP- para luego solo decir un PID seria hacer
|
|
@@ -321,6 +331,9 @@ ${nodeViejo}
|
|
|
321
331
|
let isPlanMode = false;
|
|
322
332
|
let systemPrompt = buildSystemPrompt(context, currentModel, skillManager, memoryManager, isPlanMode);
|
|
323
333
|
const agent = new AgentLoop(apiKey, getEngineBaseUrl(), currentModel, systemPrompt);
|
|
334
|
+
// El historial de cambios es de CADA proyecto y vive en su carpeta, asi que
|
|
335
|
+
// hay que decirle cual es. Con /cd se vuelve a fijar mas abajo.
|
|
336
|
+
globalUndoManager.fijarCarpeta(agent.currentCwd);
|
|
324
337
|
// Shift+Tab (en el prompt, durante la generacion o dentro del propio dialogo)
|
|
325
338
|
// cambia el modo de permisos del agente al vuelo. El modo plan no entra en el
|
|
326
339
|
// ciclo: se sigue activando con /plan, para no dejarlo a un golpe de tecla.
|
|
@@ -485,10 +498,10 @@ ${nodeViejo}
|
|
|
485
498
|
}
|
|
486
499
|
if (quiereServir) {
|
|
487
500
|
try {
|
|
488
|
-
iniciarCaptura();
|
|
489
501
|
const web = await iniciarServidorWeb({
|
|
490
502
|
puerto: puertoWeb || undefined,
|
|
491
503
|
enRed,
|
|
504
|
+
anfitrionAutorizado: tunelWeb || undefined,
|
|
492
505
|
// La carpeta se pregunta en cada peticion, no se copia aqui: con /cd el
|
|
493
506
|
// agente se cambia a mitad de sesion y lo que suba el movil tiene que
|
|
494
507
|
// caer donde se esta trabajando AHORA.
|
|
@@ -523,6 +536,10 @@ ${nodeViejo}
|
|
|
523
536
|
for (const dir of web.urlsDeRed) {
|
|
524
537
|
console.log(` ${chalk.bold("Del móvil:")} ${chalk.cyan(dir)}`);
|
|
525
538
|
}
|
|
539
|
+
if (tunelWeb) {
|
|
540
|
+
console.log(chalk.yellow(`\n ⚠ Autorizado el tunel ${nombreDeAnfitrion(tunelWeb)}`) +
|
|
541
|
+
chalk.gray("\n Ese enlace sale a internet: quien lo tenga entero entra. Cierrala al acabar."));
|
|
542
|
+
}
|
|
526
543
|
if (!enRed) {
|
|
527
544
|
console.log(chalk.gray("\n Solo desde esta máquina. Para entrar desde el móvil: --servir-red"));
|
|
528
545
|
}
|
|
@@ -532,6 +549,28 @@ ${nodeViejo}
|
|
|
532
549
|
"\n puede usar esta sesión. No lo pegues en ningún sitio compartido."));
|
|
533
550
|
}
|
|
534
551
|
console.log(chalk.gray("\n Lo que escribas aquí ya no se lee: manda el navegador y este terminal es el monitor.\n"));
|
|
552
|
+
// LA CAPTURA EMPIEZA AQUI, Y NO ANTES, POR DOS MOTIVOS
|
|
553
|
+
//
|
|
554
|
+
// 1. EL TOKEN. Lo que se acaba de imprimir incluye "Aqui: http://...?t=..."
|
|
555
|
+
// con el token entero. Eso es para el que esta delante del PC; copiarlo
|
|
556
|
+
// a la pagina lo deja escrito en la pantalla del movil, a la vista de
|
|
557
|
+
// quien pase por al lado y en cualquier captura que se haga.
|
|
558
|
+
// 2. NO SIRVE DE NADA ALLI. "Para entrar desde el movil: --servir-red" se
|
|
559
|
+
// lo estas leyendo YA desde el movil. Son instrucciones para llegar a
|
|
560
|
+
// un sitio en el que ya estas.
|
|
561
|
+
//
|
|
562
|
+
// Asi que al navegador se le da una bienvenida suya, corta: el zorro y la
|
|
563
|
+
// carpeta, que es lo unico que hace falta saber al abrir.
|
|
564
|
+
iniciarCaptura();
|
|
565
|
+
// Y lo que contesta el agente, que NO va por console: sale por el pie fijo
|
|
566
|
+
// a process.stdout, asi que hay que copiarlo aparte o el movil se queda mudo.
|
|
567
|
+
copiarSalidaAlWeb((texto) => anotarCrudoWeb(texto));
|
|
568
|
+
// La cabecera de la pagina ya lleva el zorro oficial y el nombre, asi que
|
|
569
|
+
// repetirlo aqui con un emoji era decir dos veces lo mismo, y con dos
|
|
570
|
+
// dibujos distintos del mismo zorro. Queda la carpeta, que es lo unico que
|
|
571
|
+
// hace falta saber al abrir: en que proyecto estas.
|
|
572
|
+
anotarWeb(chalk.gray(` ${agent.currentCwd}`));
|
|
573
|
+
anotarWeb("");
|
|
535
574
|
// Una orden en la linea de comandos con --servir es la PRIMERA del turno,
|
|
536
575
|
// no una tarea suelta: entra por la misma puerta que lo que llegue del movil.
|
|
537
576
|
if (singlePrompt)
|
|
@@ -609,6 +648,48 @@ ${nodeViejo}
|
|
|
609
648
|
}
|
|
610
649
|
continue;
|
|
611
650
|
}
|
|
651
|
+
if (trimmed === "/rewind" || trimmed.startsWith("/rewind ")) {
|
|
652
|
+
const pedido = trimmed.slice(7).trim();
|
|
653
|
+
const turnos = globalUndoManager.turnos();
|
|
654
|
+
if (turnos.length === 0) {
|
|
655
|
+
console.log(chalk.gray("\n No hay nada guardado que deshacer en este proyecto.\n"));
|
|
656
|
+
continue;
|
|
657
|
+
}
|
|
658
|
+
if (!pedido) {
|
|
659
|
+
console.log(chalk.bold.hex("#D97757")("\n⏪ VOLVER ATRÁS"));
|
|
660
|
+
console.log(chalk.gray(" Lo que Chocolatito ha tocado en esta carpeta, de lo más nuevo a lo más viejo:\n"));
|
|
661
|
+
// Del mas nuevo al mas viejo: lo que quieres deshacer casi siempre es lo
|
|
662
|
+
// ultimo, y leerlo del reves obliga a contar renglones.
|
|
663
|
+
const alReves = [...turnos].reverse();
|
|
664
|
+
alReves.forEach((t, i) => {
|
|
665
|
+
const cuando = new Date(t.cuando).toLocaleString();
|
|
666
|
+
const conCopia = t.archivos.filter((a) => a.tipo === "file").length;
|
|
667
|
+
const creados = t.archivos.filter((a) => a.tipo === "absent").length;
|
|
668
|
+
const sinCopia = t.archivos.filter((a) => a.tipo === "unrestorable").length;
|
|
669
|
+
const piezas = [
|
|
670
|
+
conCopia ? `${conCopia} restaurable(s)` : "",
|
|
671
|
+
creados ? `${creados} creado(s)` : "",
|
|
672
|
+
sinCopia ? chalk.yellow(`${sinCopia} SIN copia`) : "",
|
|
673
|
+
].filter(Boolean);
|
|
674
|
+
console.log(` ${chalk.bold.white(String(i + 1).padStart(2))}. ${chalk.white(t.descripcion.slice(0, 60))}`);
|
|
675
|
+
console.log(` ${chalk.gray(cuando)} ${chalk.gray(piezas.join(" · "))}`);
|
|
676
|
+
});
|
|
677
|
+
console.log(chalk.gray("\n /rewind <n> vuelve a como estaba ANTES de ese turno (y deshace los de después).\n"));
|
|
678
|
+
continue;
|
|
679
|
+
}
|
|
680
|
+
const indice = Number(pedido);
|
|
681
|
+
if (!Number.isInteger(indice) || indice < 1 || indice > turnos.length) {
|
|
682
|
+
console.log(chalk.yellow(`\n Elige un número del 1 al ${turnos.length}. /rewind a secas los lista.\n`));
|
|
683
|
+
continue;
|
|
684
|
+
}
|
|
685
|
+
const elegido = [...turnos].reverse()[indice - 1];
|
|
686
|
+
const res = globalUndoManager.volverAntesDe(elegido.id);
|
|
687
|
+
console.log(res.success ? chalk.green(`\n${res.message}`) : chalk.yellow(`\n${res.message}`));
|
|
688
|
+
res.restoredFiles.forEach((r) => console.log(` ${chalk.gray("•")} ${chalk.white(r)}`));
|
|
689
|
+
res.failures.forEach((r) => console.log(` ${chalk.red("✗")} ${chalk.yellow(r)}`));
|
|
690
|
+
console.log("");
|
|
691
|
+
continue;
|
|
692
|
+
}
|
|
612
693
|
if (trimmed === "/undo") {
|
|
613
694
|
const undoRes = globalUndoManager.undoLast();
|
|
614
695
|
// Lo que no se pudo deshacer se imprime siempre, tambien cuando algo si se
|
|
@@ -904,6 +985,9 @@ Directivas de ejecución:
|
|
|
904
985
|
if (res.success) {
|
|
905
986
|
agent.currentCwd = res.newCwd;
|
|
906
987
|
memoryManager.setCwd(agent.currentCwd);
|
|
988
|
+
// El historial de cambios es de cada proyecto: al cambiar de carpeta se
|
|
989
|
+
// cambia de historial, o /rewind ensenaria los turnos de otro sitio.
|
|
990
|
+
globalUndoManager.fijarCarpeta(agent.currentCwd);
|
|
907
991
|
const refreshedContext = await getProjectContext(agent.currentCwd);
|
|
908
992
|
systemPrompt = buildSystemPrompt(refreshedContext, currentModel, skillManager, memoryManager, isPlanMode);
|
|
909
993
|
agent.clearHistory(systemPrompt);
|
|
@@ -28,6 +28,15 @@ export interface LineaWeb {
|
|
|
28
28
|
}
|
|
29
29
|
/** Mete una linea propia (avisos del servidor, eco de lo que llega del movil). */
|
|
30
30
|
export declare function anotarWeb(texto: string): void;
|
|
31
|
+
export declare function anotarCrudoWeb(texto: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Suelta lo que quede sin salto de linea.
|
|
34
|
+
*
|
|
35
|
+
* Hace falta porque la ultima linea de una respuesta muchas veces no lo trae, y
|
|
36
|
+
* sin esto se quedaria esperando un \n que no va a llegar: el final de cada
|
|
37
|
+
* respuesta desapareceria del movil.
|
|
38
|
+
*/
|
|
39
|
+
export declare function cerrarLineaWeb(): void;
|
|
31
40
|
export declare function iniciarCaptura(): void;
|
|
32
41
|
export declare function detenerCaptura(): void;
|
|
33
42
|
export declare function historialWeb(desde?: number): LineaWeb[];
|
package/dist/servidor/captura.js
CHANGED
|
@@ -31,6 +31,53 @@ function guardar(texto) {
|
|
|
31
31
|
export function anotarWeb(texto) {
|
|
32
32
|
guardar(texto);
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* LA RESPUESTA DEL AGENTE NO VA POR CONSOLE, Y POR AHI SE ESCAPABA ENTERA
|
|
36
|
+
*
|
|
37
|
+
* DE DONDE SALE: primera prueba con un movil de verdad. "No se manda lo que
|
|
38
|
+
* escribo". Y no era eso: el mensaje salia, el agente lo recibia y CONTESTABA
|
|
39
|
+
* -se veia en el terminal del PC- pero al navegador no llegaba una palabra.
|
|
40
|
+
*
|
|
41
|
+
* El motivo es que envolver `console` no basta. La respuesta del modelo sale por
|
|
42
|
+
* `salida.crudo()`, que escribe en process.stdout a traves del pie fijo para no
|
|
43
|
+
* pisar el spinner. Por console solo pasan los carteles del arranque, que es
|
|
44
|
+
* justo lo unico que se veia en el movil: la sesion parecia viva y muda.
|
|
45
|
+
*
|
|
46
|
+
* Las pruebas no lo cazaron porque comprobaban "lo que se escribe por consola
|
|
47
|
+
* llega al navegador", que era verdad, y no "lo que contesta el agente llega al
|
|
48
|
+
* navegador", que era lo que importaba.
|
|
49
|
+
*
|
|
50
|
+
* SE ACUMULA HASTA EL SALTO DE LINEA. El modelo llega en trozos de pocas letras
|
|
51
|
+
* ("Hola", " des", "de"), y guardar cada trozo como una linea suelta convertiria
|
|
52
|
+
* una frase en treinta renglones. Se junta hasta el \n y entonces se guarda.
|
|
53
|
+
*/
|
|
54
|
+
let aMedias = "";
|
|
55
|
+
export function anotarCrudoWeb(texto) {
|
|
56
|
+
if (!texto)
|
|
57
|
+
return;
|
|
58
|
+
aMedias += texto.replace(/\r\n/g, "\n");
|
|
59
|
+
const corte = aMedias.lastIndexOf("\n");
|
|
60
|
+
if (corte < 0)
|
|
61
|
+
return;
|
|
62
|
+
const completo = aMedias.slice(0, corte);
|
|
63
|
+
aMedias = aMedias.slice(corte + 1);
|
|
64
|
+
for (const trozo of completo.split("\n"))
|
|
65
|
+
guardar(trozo);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Suelta lo que quede sin salto de linea.
|
|
69
|
+
*
|
|
70
|
+
* Hace falta porque la ultima linea de una respuesta muchas veces no lo trae, y
|
|
71
|
+
* sin esto se quedaria esperando un \n que no va a llegar: el final de cada
|
|
72
|
+
* respuesta desapareceria del movil.
|
|
73
|
+
*/
|
|
74
|
+
export function cerrarLineaWeb() {
|
|
75
|
+
if (!aMedias)
|
|
76
|
+
return;
|
|
77
|
+
const resto = aMedias;
|
|
78
|
+
aMedias = "";
|
|
79
|
+
guardar(resto);
|
|
80
|
+
}
|
|
34
81
|
export function iniciarCaptura() {
|
|
35
82
|
if (previos.size)
|
|
36
83
|
return;
|
|
@@ -70,5 +117,6 @@ export function alEscribirWeb(cb) {
|
|
|
70
117
|
export function vaciarCaptura() {
|
|
71
118
|
lineas = [];
|
|
72
119
|
siguienteId = 1;
|
|
120
|
+
aMedias = "";
|
|
73
121
|
oyentes.clear();
|
|
74
122
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACTIVOS DE MARCA EMBEBIDOS PARA LA SESION WEB
|
|
3
|
+
*
|
|
4
|
+
* Generado automaticamente por scripts/generar-marca.mjs.
|
|
5
|
+
* NO EDITAR A MANO.
|
|
6
|
+
*
|
|
7
|
+
* assets/ no se empaqueta en npm para no engordar la instalacion. Los activos
|
|
8
|
+
* minimos de la interfaz web viajan aqui en base64 y se compilan a dist/.
|
|
9
|
+
*
|
|
10
|
+
* Mascota: 1331 bytes binarios (1776 chars base64)
|
|
11
|
+
* Tipografia: 21872 bytes binarios (29164 chars base64)
|
|
12
|
+
*/
|
|
13
|
+
export declare const MASCOTA_PNG_BASE64 = "iVBORw0KGgoAAAANSUhEUgAAAUAAAAEsCAYAAACypmqLAAAE+klEQVR4nO3dsU0cQRiA0T3r5MSJCyBxRBtINEBGgETqEsgInF0JpEgEl9EAEm1c5ASJxHIBTrDcgSVG3Nx97xUw2tXufJpN9l8tg+1uLt9Gr3m62a5Grwn7YH/M5dO+LwBgXwQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBrNXpGwcnF1cjllpfHh2U0M0b4X/bHcXMCBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAga70EjZ7zABwmJ0AgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLKGzwR5eXwYvSQcDftjLk6AQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGStl8md3z8vM3u6Ptv3JRw0z5d9cgIEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIGs9esGTi6uh6+0Gr/fy+LDM7Pz+eZnZ0/XZ1OuNfv9Gm/39q3ECBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAga7W7uXxbJjb7jAeOmxke73e62a6WSa1HX9zsQYV9G7nn7Lf38QkMZAkgkCWAQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGQJIJC1XiZnJgN8nG+3d8PX/HN7N3RMxucvX4eNFHACBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAga/qZIMDH+fnj+/QzRkYSQDhgp5vtsAFB/+xuLocOMJqdT2AgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSy/xIcPNvq386N/i1+SDODIF+YQZii43+N+vlPHdLNdZuYTGMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIGs9esHXX7+XEvd73GrPt8YJEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBpeovobFrls5ElWYAAAAASUVORK5CYII=";
|
|
14
|
+
export declare const FUENTE_MARCA_BASE64 = "AAEAAAALAIAAAwAwT1MvMkCdmMYAAAE4AAAAVmNtYXBe0q0dAAALxAAABqBnYXNw//8AAwAAVWgAAAAIZ2x5ZmpKN28AABeAAAApRGhlYWTjYUA1AAAAvAAAADZoaGVhDO8JUQAAAPQAAAAkaG10eN+THY4AAAGQAAAKNGxvY2FasmWGAAASZAAABRxtYXhwBvYAkAAAARgAAAAgbmFtZWNnse4AAEDEAAABwHBvc3RvUMyaAABChAAAEuMAAQAAAAEAACI5PwZfDzz1AAsIAAAAAAC81WDhAAAAAMIClEv/xv6bBaUHcAAAAAkAAQAAAAAAAAABAAAHPv5OAEMIwP/G/7UFpQABAAAAAAAAAAAAAAAAAAACjQABAAACjQA8AAQAIgAEAAIAEAAvAEIAAAQMAAAAAgABAAEECgGQAAUACAWaBTMAAAEbBZoFMwAAA9EAZgISAAACAAAAAAAAAAAAAAAChwAAAAAAAAAAAAAAAEhMICAAQAAg+wIF0/5RATMHPgGyQAAAHwAAAAAAAAYAAQAAAAAAAjkAAAI5AAAB8QBgAlYARQRzAAAEBAAlBx0AAASPAEMBYQBFAnIAggJyAIIDHQAABKwAAAKHADUCywBBAkcAjQKkAE8ETgBEBE4BHAROAFMESwBCBE4APQROAEsETgBMBE4AUAROAFgETgBPAkcAjQKHADUErAAABKwAAASsAAAD+wA5CB8AAAUaAA4EfgBBBN8ANQTBAC0EUwA6BAwAMgUOACsEqQA4AroANQK6ADkEkwA0BAsAJgV7AC8EtQAyBN8AMAR5AC4E6wAxBI8ADwRYACcD9wAoBNsAIAUXAAMFq//8BOz//wQ7AAMEhgArAjkAAAI5AAACOQAAA8EAAARzAAACVAB0BRoADgR+AEEE3wA1BMEALQSLADsEDAAyBQ4AKwSpADgByQBSAroAOQSTADQECwAmBXsALwS1ADIE3wAwBHkALgTrADEEjwAPBFgAJwP3ACgE2wAgBRcAAwWr//wE7P//BDsAAwSGACsCrAAAAhQAAAKsAAAErAAABRoADgVWAAAE3wA1BIsAOwS1ADIE3wAwBNsAIAUaAA4FGgARBRoADgUaAA4FGgAOBHMAAATfADUEiwA7BIsAOwSLADsEiwA7AckAUgHJ/94ByQArAcn/xgS1ADIE3wAwBN8AMATfADAE3wAwBN8AMATbACAE2wAgBNsAIATbACAEcwAAAzMAAARzAAAEcwAABHMAAALNAAAETAAABIUAQwXlAAAF5QAACAAAAAJUAHQCgwAZBGQAAAXAAAMGOQAABbQAAARkAAAEZAAABGQAAARzAAAEnAAAA/QAAAW0AAAGlgAABGQAAAIxAAAC9gAAAuwAAAYlAAAFwAADBOMAAAP7ADkB/gBNBKwAAARkAAAEcwAABGQAAATlAAADtwBIA7cAZQgAAAAFGgARBRoADgTfADAFeAAuBXgALgRzAAAIAAAAAlYARQJWAEUBYQBFAWEARQRkAAAD9AAABAAAAAVWAAABVgAABIYATwKqAAACqgAABAAAAAQAAAAEcwAAAjkAAAHHAAACqgAACAAAAAUaAA4EiwA7BRoADgSLADsEiwA7AckAUgHJACsByf/GAcn/3gTfADAE3wAwBN8AMATbACAE2wAgBNsAIAHJAFICvgCAAtsAAgKqAAACqgAAAqoAAAKqAAADHwDfAqoAAAKqAAACqgAABHMAAAHHAAAFVgAABAAAAATjAAAEAAAAAhQAAAXHAAAEcwAABVYAAAQAAAAFVgAABHMAAASsAAAErAAAAqoAAAKqAAACqgAABqwAAAasAAAGrAAABHMAAAY5AAAEcwAAAjkAAAVWAAAEAAAABccAAAQAAAAFxwAABAAAAARzAAAEawAAAqoAAAVWAAAEcwAABVYAAARzAAAFxwAABOsAAAXHAAAFVgAABHMAAAVWAAAEcwAABHMAAAHHAAAEcwAAAlUAAARzAAACrAAABccAAARzAAAFxwAABHMAAAY5AAAEcwAABccAAAKqAAAFxwAAAqoAAAVWAAAEAAAABOMAAAI5AAAE4wAAAwAAAAXHAAAEcwAABccAAARzAAAE4wAABAAAAATjAAAEAAAABGgAAAY5AAAGYgAABKAAAAR0AAADkQAABPAAAAMpAAAFMAAABGsAAAQAAAAC6wAACMAAAAgAAAAEAAAACAAAAAQAAAAIAAAABAAAAAQAAAAH1QAABcAAAASrAAAE1QAABKwAAATVAAAE1QAABasAAAUAAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAF1QAABNUAAAgAAAAH6wAAB+sAAAfrAAAH6wAABNUAAATVAAAE1QAACCsAAAhrAAAHVQAABgAAAAYAAAAEQAAABUAAAATAAAAEFQAABAAAAAYAAAAF4QAAA40AAATVAAABgAAAAtUAAAcVAAAClgAABNUAAALWAAAC1gAABNUAAALWAAAFVgAABHMAAAXHAAAEAAAABccAAAQAAAAFVgAABHMAAAVWAAAEcwAABVYAAARzAAAGOQAABHMAAAY5AAAEcwAABjkAAARzAAAFxwAABHMAAAXHAAAEcwAAAjkAAAI5AAACOQAAAjkAAAI5AAACOQAAAjkAAAHHAAAEAAAAAccAAAVWAAAEAAAABAAAAARzAAABxwAABccAAARzAAAFyQAABHMAAAY5AAAEcwAABjkAAARzAAAFxwAAAqoAAAVWAAAEAAAABOMAAAI5AAAFxwAABHMAAAXHAAAEcwAABccAAARzAAAFxwAABHMAAAeNAAAFxwAABVYAAAQAAAABxwAABVYAAARzAAAIAAAABx0AAAY5AAAE4wAAAjkAAAeNAAAFxwAAB40AAAXHAAAHjQAABccAAAVWAAAEAAAAAccAAAKqAAAEcwAABM0AAAasAAAGrAAABqwAAAasAAACqgAAAqoAAAKqAAACqgAABVcAAAZGAAAGtAAAAxIAAAYyAAAG2AAABgUAAAHHAAAFVgAABVYAAAVYAAAFVgAABOMAAAXHAAACOQAABVYAAAVYAAAGqgAABccAAAUzAAAGOQAABccAAAVWAAAE8gAABOMAAAVWAAAFVgAABq8AAAX7AAACOQAABVYAAASgAAADkQAABHMAAAHHAAAEYAAABJoAAAQAAAADhwAABHMAAARzAAABxwAABAAAAAQAAAAEnAAABAAAAAOVAAAEcwAABI0AAAPbAAAEYAAABDMAAAW0AAAGPwAAAccAAARgAAAEcwAABGAAAAY/AAAFVwAABusAAARVAAAFwAAABVYAAAI5AAACOQAABAAAAAh1AAAIFQAABtUAAASpAAAFFQAABcAAAAVWAAAFQAAABVYAAARVAAAFawAA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ASEBIgHHAcgByQHKAcsBzAHNAc4BIwEkASUBJgHPAdAB0QHSAdMB1AC6AScBKAEpASoA5ADlAdUA1gDfANkA2gDbAN4A1wDdAe8B8AHxAdwB8gHzAfQBKwH7AfwB/QH+ASwCCAIJAgoBLQEuAhUCFgEvATACjAIhAiIBMQEyAiMBMwIkAiUCJgInAigCKQIqAisAsQCyAooBNAC1ALYAwwHlALMAtADEAIIAwQCHAPUB5wCZAO0AwgClAJIBPwCPAUEBdgGRAZIBkwF3ALgBfAAAABYAFgAWABYALABAAEAAngCeANoA6AECARwBHAEcASwBPAFKAVoBmAGyAd4CFAIyAl4CigKiAtwDBgMcAzIDMgMyAzIDaANoA5YD1AQGBDAEXAR8BKoE1gTyBRAFNgVWBYgFtAXYBggGOAZyBqYGxAbqBxAHSgdyB5QHwAfAB8AHwAfAB8AH0Af+CDwIbgiYCMQI5AkSCT4JTglsCZIJsgnkChAKNApkCpQKzgsCCyALRgtsC6YLzgvwDBwMHAwcDBwMHAxYDFgMmAzMDQoNPA1wDXwNiA2UDaANrA2sDbgNxA3QDdwN6A30DgAODg4aDiYOMg4+DkoOVg5iDm4Oeg6GDpIOkg6SDpIOkg6SDpIOkg7EDsQOxA7EDtQO6g7qDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPZg9mD5wPsg+yD7IPsg+yD7IP2BAAEAAQNhB2EKwQ7BEsESwRLBFAEVQRYhFwEXARcBFwEXARcBG0EbQRtBG0EbQRtBG0EbQRtBG0EfASKhJgEpoSzhLmEwITHhM2E2ITkhO+E+4UIhRSFGIUdhSOFI4UjhSOFI4UohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUogACAQAAAAUABQAAAwAHAAAhESERJSERIQEABAD8IAPA/EAFAPsAIATAAAAAAAIAYAAEAa4FUAADAAcAABMhAycXMxEnYAFOWvIB8fIFUPwbA2X++wEAAAAAAgBFA+ACGAV3AAMABwAAEzMRIwEzESNF09MBEMPDBXf+aQGX/mkAAAMAJf83A9UF9wAIABEAOwAAARE2NzY1NCcmAwYHBhUUFxYXFSYnJjU0NzY3NTMVFhcWFwcmJyYnERYXFhUUBwYHESMRJicmJzcWFxYXAkIlH0NCH5Q3K0NDKzeneJCReaVusIA+JfMQGjRClG+QkW+TbsKKQCPyEBo+VQJA/ssMGDFGRjEXAikMHzFHRTEgDMYOWmqYlmtaDtLQ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ABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAQQAmACZAJoBBQCcAJ0AngEGAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwBBwC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwCoAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFACfAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAJcCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRAJsFLm51bGwQbm9ubWFya2luZ3JldHVybgNtdTEDcGkxA09obQRFdXJvB2RtYWNyb24Jb3ZlcnNjb3JlBm1pZGRvdAZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawZEY2Fyb24GZGNhcm9uBkRzbGFzaAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgZMYWN1dGUGbGFjdXRlBkxjYXJvbgZsY2Fyb24ETGRvdARsZG90Bk5hY3V0ZQZuYWN1dGUGTmNhcm9uBm5jYXJvbglPZGJsYWN1dGUJb2RibGFjdXRlBlJhY3V0ZQZyYWN1dGUGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlCFRjZWRpbGxhCHRjZWRpbGxhBlRjYXJvbgZ0Y2Fyb24FVXJpbmcFdXJpbmcJVWRibGFjdXRlCXVkYmxhY3V0ZQZaYWN1dGUGemFjdXRlBFpkb3QEemRvdAVHYW1tYQVUaGV0YQNQaGkFYWxwaGEFZGVsdGEHZXBzaWxvbgVzaWdtYQN0YXUDcGhpDXVuZGVyc2NvcmVkYmwJZXhjbGFtZGJsCW5zdXBlcmlvcgZwZXNldGEJYXJyb3dsZWZ0B2Fycm93dXAKYXJyb3dyaWdodAlhcnJvd2Rvd24JYXJyb3dib3RoCWFycm93dXBkbgxhcnJvd3VwZG5ic2UKb3J0aG9nb25hbAxpbnRlcnNlY3Rpb24LZXF1aXZhbGVuY2UFaG91c2UNcmV2bG9naWNhbG5vdAppbnRlZ3JhbHRwCmludGVncmFsYnQIU0YxMDAwMDAIU0YxMTAwMDAIU0YwMTAwMDAIU0YwMzAwMDAIU0YwMjAwMDAIU0YwNDAwMDAIU0YwODAwMDAIU0YwOTAwMDAIU0YwNjAwMDAIU0YwNzAwMDAIU0YwNTAwMDAIU0Y0MzAwMDAIU0YyNDAwMDAIU0Y1MTAwMDAIU0Y1MjAwMDAIU0YzOTAwMDAIU0YyMjAwMDAIU0YyMTAwMDAIU0YyNTAwMDAIU0Y1MDAwMDAIU0Y0OTAwMDAIU0YzODAwMDAIU0YyODAwMDAIU0YyNzAwMDAIU0YyNjAwMDAIU0YzNjAwMDAIU0YzNzAwMDAIU0Y0MjAwMDAIU0YxOTAwMDAIU0YyMDAwMDAIU0YyMzAwMDAIU0Y0NzAwMDAIU0Y0ODAwMDAIU0Y0MTAwMDAIU0Y0NTAwMDAIU0Y0NjAwMDAIU0Y0MDAwMDAIU0Y1NDAwMDAIU0Y1MzAwMDAIU0Y0NDAwMDAHdXBibG9jawdkbmJsb2NrBWJsb2NrB2xmYmxvY2sHcnRibG9jawdsdHNoYWRlBXNoYWRlB2Rrc2hhZGUJZmlsbGVkYm94CmZpbGxlZHJlY3QHdHJpYWd1cAd0cmlhZ3J0B3RyaWFnZG4HdHJpYWdsZgZjaXJjbGUJaW52YnVsbGV0CWludmNpcmNsZQlzbWlsZWZhY2UMaW52c21pbGVmYWNlA3N1bgZmZW1hbGUEbWFsZQVzcGFkZQRjbHViBWhlYXJ0B2RpYW1vbmQLbXVzaWNhbG5vdGUObXVzaWNhbG5vdGVkYmwCSUoCaWoLbmFwb3N0cm9waGUGbWludXRlBnNlY29uZAlhZmlpNjEyNDgJYWZpaTYxMjg5BkgyMjA3MwZIMTg1NDMGSDE4NTUxBkgxODUzMwpvcGVuYnVsbGV0B0FtYWNyb24HYW1hY3JvbgtDY2lyY3VtZmxleAtjY2lyY3VtZmxleARDZG90BGNkb3QHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUERWRvdARlZG90C0djaXJjdW1mbGV4C2djaXJjdW1mbGV4BEdkb3QEZ2RvdAhHY2VkaWxsYQhnY2VkaWxsYQtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgIS2NlZGlsbGEIa2NlZGlsbGEMa2dyZWVubGFuZGljCExjZWRpbGxhCGxjZWRpbGxhCE5jZWRpbGxhCG5jZWRpbGxhA0VuZwNlbmcHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUIUmNlZGlsbGEIcmNlZGlsbGELU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgEVGJhcgR0YmFyBlV0aWxkZQZ1dGlsZGUHVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BWxvbmdzCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGUJYW5vdGVsZWlhBldncmF2ZQZ3Z3JhdmUGV2FjdXRlBndhY3V0ZQlXZGllcmVzaXMJd2RpZXJlc2lzBllncmF2ZQZ5Z3JhdmUNcXVvdGVyZXZlcnNlZAlyYWRpY2FsZXgJYWZpaTA4OTQxCWVzdGltYXRlZAlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwtjb21tYWFjY2VudBB1bmRlcmNvbW1hYWNjZW50BXRvbm9zDWRpZXJlc2lzdG9ub3MKQWxwaGF0b25vcwxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhB0Vwc2lsb24EWmV0YQNFdGEESW90YQVLYXBwYQZMYW1iZGECTXUCTnUCWGkHT21pY3JvbgJQaQNSaG8FU2lnbWEDVGF1B1Vwc2lsb24DQ2hpA1BzaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwRiZXRhBWdhbW1hBHpldGEDZXRhBXRoZXRhBGlvdGEFa2FwcGEGbGFtYmRhAm51AnhpB29taWNyb24DcmhvBnNpZ21hMQd1cHNpbG9uA2NoaQNwc2kFb21lZ2EMaW90YWRpZXJlc2lzD3Vwc2lsb25kaWVyZXNpcwxvbWljcm9udG9ub3MMdXBzaWxvbnRvbm9zCm9tZWdhdG9ub3MJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcJYWZpaTEwMDcxCWFmaWkxMDA5OQlhZmlpMTAxMDAJYWZpaTEwMTAxCWFmaWkxMDEwMglhZmlpMTAxMDMJYWZpaTEwMTA0CWFmaWkxMDEwNQlhZmlpMTAxMDYJYWZpaTEwMTA3CWFmaWkxMDEwOAlhZmlpMTAxMDkJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAwNTAJYWZpaTEwMDk4CWFmaWkwMDIwOAlhZmlpNjEzNTIAAAAAAf//AAI=";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACTIVOS DE MARCA EMBEBIDOS PARA LA SESION WEB
|
|
3
|
+
*
|
|
4
|
+
* Generado automaticamente por scripts/generar-marca.mjs.
|
|
5
|
+
* NO EDITAR A MANO.
|
|
6
|
+
*
|
|
7
|
+
* assets/ no se empaqueta en npm para no engordar la instalacion. Los activos
|
|
8
|
+
* minimos de la interfaz web viajan aqui en base64 y se compilan a dist/.
|
|
9
|
+
*
|
|
10
|
+
* Mascota: 1331 bytes binarios (1776 chars base64)
|
|
11
|
+
* Tipografia: 21872 bytes binarios (29164 chars base64)
|
|
12
|
+
*/
|
|
13
|
+
export const MASCOTA_PNG_BASE64 = "iVBORw0KGgoAAAANSUhEUgAAAUAAAAEsCAYAAACypmqLAAAE+klEQVR4nO3dsU0cQRiA0T3r5MSJCyBxRBtINEBGgETqEsgInF0JpEgEl9EAEm1c5ASJxHIBTrDcgSVG3Nx97xUw2tXufJpN9l8tg+1uLt9Gr3m62a5Grwn7YH/M5dO+LwBgXwQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBrNXpGwcnF1cjllpfHh2U0M0b4X/bHcXMCBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAga70EjZ7zABwmJ0AgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLKGzwR5eXwYvSQcDftjLk6AQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGStl8md3z8vM3u6Ptv3JRw0z5d9cgIEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIGs9esGTi6uh6+0Gr/fy+LDM7Pz+eZnZ0/XZ1OuNfv9Gm/39q3ECBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAga7W7uXxbJjb7jAeOmxke73e62a6WSa1HX9zsQYV9G7nn7Lf38QkMZAkgkCWAQJYAAlkCCGQJIJAlgECWAAJZAghkCSCQJYBAlgACWQIIZAkgkCWAQJYAAlkCCGQJIJC1XiZnJgN8nG+3d8PX/HN7N3RMxucvX4eNFHACBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAga/qZIMDH+fnj+/QzRkYSQDhgp5vtsAFB/+xuLocOMJqdT2AgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSy/xIcPNvq386N/i1+SDODIF+YQZii43+N+vlPHdLNdZuYTGMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIGs9esHXX7+XEvd73GrPt8YJEMgSQCBLAIEsAQSyBBDIEkAgSwCBLAEEsgQQyBJAIEsAgSwBBLIEEMgSQCBLAIEsAQSyBBDIEkAgSwCBpeovobFrls5ElWYAAAAASUVORK5CYII=";
|
|
14
|
+
export const FUENTE_MARCA_BASE64 = "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BasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAFqwAABasAAAWrAAAF1QAABNUAAAgAAAAH6wAAB+sAAAfrAAAH6wAABNUAAATVAAAE1QAACCsAAAhrAAAHVQAABgAAAAYAAAAEQAAABUAAAATAAAAEFQAABAAAAAYAAAAF4QAAA40AAATVAAABgAAAAtUAAAcVAAAClgAABNUAAALWAAAC1gAABNUAAALWAAAFVgAABHMAAAXHAAAEAAAABccAAAQAAAAFVgAABHMAAAVWAAAEcwAABVYAAARzAAAGOQAABHMAAAY5AAAEcwAABjkAAARzAAAFxwAABHMAAAXHAAAEcwAAAjkAAAI5AAACOQAAAjkAAAI5AAACOQAAAjkAAAHHAAAEAAAAAccAAAVWAAAEAAAABAAAAARzAAABxwAABccAAARzAAAFyQAABHMAAAY5AAAEcwAABjkAAARzAAAFxwAAAqoAAAVWAAAEAAAABOMAAAI5AAAFxwAABHMAAAXHAAAEcwAABccAAARzAAAFxwAABHMAAAeNAAAFxwAABVYAAAQAAAABxwAABVYAAARzAAAIAAAABx0AAAY5AAAE4wAAAjkAAAeNAAAFxwAAB40AAAXHAAAHjQAABccAAAVWAAAEAAAAAccAAAKqAAAEcwAABM0AAAasAAAGrAAABqwAAAasAAACqgAAAqoAAAKqAAACqgAABVcAAAZGAAAGtAAAAxIAAAYyAAAG2AAABgUAAAHHAAAFVgAABVYAAAVYAAAFVgAABOMAAAXHAAACOQAABVYAAAVYAAAGqgAABccAAAUzAAAGOQAABccAAAVWAAAE8gAABOMAAAVWAAAFVgAABq8AAAX7AAACOQAABVYAAASgAAADkQAABHMAAAHHAAAEYAAABJoAAAQAAAADhwAABHMAAARzAAABxwAABAAAAAQAAAAEnAAABAAAAAOVAAAEcwAABI0AAAPbAAAEYAAABDMAAAW0AAAGPwAAAccAAARgAAAEcwAABGAAAAY/AAAFVwAABusAAARVAAAFwAAABVYAAAI5AAACOQAABAAAAAh1AAAIFQAABtUAAASpAAAFFQAABcAAAAVWAAAFQAAABVYAAARVAAAFawAA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ASEBIgHHAcgByQHKAcsBzAHNAc4BIwEkASUBJgHPAdAB0QHSAdMB1AC6AScBKAEpASoA5ADlAdUA1gDfANkA2gDbAN4A1wDdAe8B8AHxAdwB8gHzAfQBKwH7AfwB/QH+ASwCCAIJAgoBLQEuAhUCFgEvATACjAIhAiIBMQEyAiMBMwIkAiUCJgInAigCKQIqAisAsQCyAooBNAC1ALYAwwHlALMAtADEAIIAwQCHAPUB5wCZAO0AwgClAJIBPwCPAUEBdgGRAZIBkwF3ALgBfAAAABYAFgAWABYALABAAEAAngCeANoA6AECARwBHAEcASwBPAFKAVoBmAGyAd4CFAIyAl4CigKiAtwDBgMcAzIDMgMyAzIDaANoA5YD1AQGBDAEXAR8BKoE1gTyBRAFNgVWBYgFtAXYBggGOAZyBqYGxAbqBxAHSgdyB5QHwAfAB8AHwAfAB8AH0Af+CDwIbgiYCMQI5AkSCT4JTglsCZIJsgnkChAKNApkCpQKzgsCCyALRgtsC6YLzgvwDBwMHAwcDBwMHAxYDFgMmAzMDQoNPA1wDXwNiA2UDaANrA2sDbgNxA3QDdwN6A30DgAODg4aDiYOMg4+DkoOVg5iDm4Oeg6GDpIOkg6SDpIOkg6SDpIOkg7EDsQOxA7EDtQO6g7qDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPKA8oDygPZg9mD5wPsg+yD7IPsg+yD7IP2BAAEAAQNhB2EKwQ7BEsESwRLBFAEVQRYhFwEXARcBFwEXARcBG0EbQRtBG0EbQRtBG0EbQRtBG0EfASKhJgEpoSzhLmEwITHhM2E2ITkhO+E+4UIhRSFGIUdhSOFI4UjhSOFI4UohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUohSiFKIUogACAQAAAAUABQAAAwAHAAAhESERJSERIQEABAD8IAPA/EAFAPsAIATAAAAAAAIAYAAEAa4FUAADAAcAABMhAycXMxEnYAFOWvIB8fIFUPwbA2X++wEAAAAAAgBFA+ACGAV3AAMABwAAEzMRIwEzESNF09MBEMPDBXf+aQGX/mkAAAMAJf83A9UF9wAIABEAOwAAARE2NzY1NCcmAwYHBhUUFxYXFSYnJjU0NzY3NTMVFhcWFwcmJyYnERYXFhUUBwYHESMRJicmJzcWFxYXAkIlH0NCH5Q3K0NDKzeneJCReaVusIA+JfMQGjRClG+QkW+TbsKKQCPyEBo+VQJA/ssMGDFGRjEXAikMHzFHRTEgDMYOWmqYlmtaDtLQ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ABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAQQAmACZAJoBBQCcAJ0AngEGAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwBBwC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwCoAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFACfAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAJcCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRAJsFLm51bGwQbm9ubWFya2luZ3JldHVybgNtdTEDcGkxA09obQRFdXJvB2RtYWNyb24Jb3ZlcnNjb3JlBm1pZGRvdAZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawZEY2Fyb24GZGNhcm9uBkRzbGFzaAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgZMYWN1dGUGbGFjdXRlBkxjYXJvbgZsY2Fyb24ETGRvdARsZG90Bk5hY3V0ZQZuYWN1dGUGTmNhcm9uBm5jYXJvbglPZGJsYWN1dGUJb2RibGFjdXRlBlJhY3V0ZQZyYWN1dGUGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlCFRjZWRpbGxhCHRjZWRpbGxhBlRjYXJvbgZ0Y2Fyb24FVXJpbmcFdXJpbmcJVWRibGFjdXRlCXVkYmxhY3V0ZQZaYWN1dGUGemFjdXRlBFpkb3QEemRvdAVHYW1tYQVUaGV0YQNQaGkFYWxwaGEFZGVsdGEHZXBzaWxvbgVzaWdtYQN0YXUDcGhpDXVuZGVyc2NvcmVkYmwJZXhjbGFtZGJsCW5zdXBlcmlvcgZwZXNldGEJYXJyb3dsZWZ0B2Fycm93dXAKYXJyb3dyaWdodAlhcnJvd2Rvd24JYXJyb3dib3RoCWFycm93dXBkbgxhcnJvd3VwZG5ic2UKb3J0aG9nb25hbAxpbnRlcnNlY3Rpb24LZXF1aXZhbGVuY2UFaG91c2UNcmV2bG9naWNhbG5vdAppbnRlZ3JhbHRwCmludGVncmFsYnQIU0YxMDAwMDAIU0YxMTAwMDAIU0YwMTAwMDAIU0YwMzAwMDAIU0YwMjAwMDAIU0YwNDAwMDAIU0YwODAwMDAIU0YwOTAwMDAIU0YwNjAwMDAIU0YwNzAwMDAIU0YwNTAwMDAIU0Y0MzAwMDAIU0YyNDAwMDAIU0Y1MTAwMDAIU0Y1MjAwMDAIU0YzOTAwMDAIU0YyMjAwMDAIU0YyMTAwMDAIU0YyNTAwMDAIU0Y1MDAwMDAIU0Y0OTAwMDAIU0YzODAwMDAIU0YyODAwMDAIU0YyNzAwMDAIU0YyNjAwMDAIU0YzNjAwMDAIU0YzNzAwMDAIU0Y0MjAwMDAIU0YxOTAwMDAIU0YyMDAwMDAIU0YyMzAwMDAIU0Y0NzAwMDAIU0Y0ODAwMDAIU0Y0MTAwMDAIU0Y0NTAwMDAIU0Y0NjAwMDAIU0Y0MDAwMDAIU0Y1NDAwMDAIU0Y1MzAwMDAIU0Y0NDAwMDAHdXBibG9jawdkbmJsb2NrBWJsb2NrB2xmYmxvY2sHcnRibG9jawdsdHNoYWRlBXNoYWRlB2Rrc2hhZGUJZmlsbGVkYm94CmZpbGxlZHJlY3QHdHJpYWd1cAd0cmlhZ3J0B3RyaWFnZG4HdHJpYWdsZgZjaXJjbGUJaW52YnVsbGV0CWludmNpcmNsZQlzbWlsZWZhY2UMaW52c21pbGVmYWNlA3N1bgZmZW1hbGUEbWFsZQVzcGFkZQRjbHViBWhlYXJ0B2RpYW1vbmQLbXVzaWNhbG5vdGUObXVzaWNhbG5vdGVkYmwCSUoCaWoLbmFwb3N0cm9waGUGbWludXRlBnNlY29uZAlhZmlpNjEyNDgJYWZpaTYxMjg5BkgyMjA3MwZIMTg1NDMGSDE4NTUxBkgxODUzMwpvcGVuYnVsbGV0B0FtYWNyb24HYW1hY3JvbgtDY2lyY3VtZmxleAtjY2lyY3VtZmxleARDZG90BGNkb3QHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUERWRvdARlZG90C0djaXJjdW1mbGV4C2djaXJjdW1mbGV4BEdkb3QEZ2RvdAhHY2VkaWxsYQhnY2VkaWxsYQtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgIS2NlZGlsbGEIa2NlZGlsbGEMa2dyZWVubGFuZGljCExjZWRpbGxhCGxjZWRpbGxhCE5jZWRpbGxhCG5jZWRpbGxhA0VuZwNlbmcHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUIUmNlZGlsbGEIcmNlZGlsbGELU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgEVGJhcgR0YmFyBlV0aWxkZQZ1dGlsZGUHVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BWxvbmdzCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGUJYW5vdGVsZWlhBldncmF2ZQZ3Z3JhdmUGV2FjdXRlBndhY3V0ZQlXZGllcmVzaXMJd2RpZXJlc2lzBllncmF2ZQZ5Z3JhdmUNcXVvdGVyZXZlcnNlZAlyYWRpY2FsZXgJYWZpaTA4OTQxCWVzdGltYXRlZAlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwtjb21tYWFjY2VudBB1bmRlcmNvbW1hYWNjZW50BXRvbm9zDWRpZXJlc2lzdG9ub3MKQWxwaGF0b25vcwxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhB0Vwc2lsb24EWmV0YQNFdGEESW90YQVLYXBwYQZMYW1iZGECTXUCTnUCWGkHT21pY3JvbgJQaQNSaG8FU2lnbWEDVGF1B1Vwc2lsb24DQ2hpA1BzaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwRiZXRhBWdhbW1hBHpldGEDZXRhBXRoZXRhBGlvdGEFa2FwcGEGbGFtYmRhAm51AnhpB29taWNyb24DcmhvBnNpZ21hMQd1cHNpbG9uA2NoaQNwc2kFb21lZ2EMaW90YWRpZXJlc2lzD3Vwc2lsb25kaWVyZXNpcwxvbWljcm9udG9ub3MMdXBzaWxvbnRvbm9zCm9tZWdhdG9ub3MJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcJYWZpaTEwMDcxCWFmaWkxMDA5OQlhZmlpMTAxMDAJYWZpaTEwMTAxCWFmaWkxMDEwMglhZmlpMTAxMDMJYWZpaTEwMTA0CWFmaWkxMDEwNQlhZmlpMTAxMDYJYWZpaTEwMTA3CWFmaWkxMDEwOAlhZmlpMTAxMDkJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAwNTAJYWZpaTEwMDk4CWFmaWkwMDIwOAlhZmlpNjEzNTIAAAAAAf//AAI=";
|
|
@@ -1,27 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LA PAGINA, ENTERA Y SIN DEPENDENCIAS
|
|
3
|
-
*
|
|
4
|
-
* Nada de CDN: ni una fuente, ni una libreria. Tres razones y las tres pesan.
|
|
5
|
-
* Corre en tu red local, donde puede no haber salida a internet; un CDN veria la
|
|
6
|
-
* direccion desde la que entra cada sesion de cada cliente; y una pagina que
|
|
7
|
-
* depende de un tercero se rompe el dia que el tercero cambia algo.
|
|
8
|
-
*
|
|
9
|
-
* ESTA PENSADA PARA UN MOVIL, Y ESO SON DECISIONES CONCRETAS
|
|
10
|
-
*
|
|
11
|
-
* - La caja de escribir tiene font-size 16px. Por debajo de 16, Safari de iOS
|
|
12
|
-
* hace zoom solo al enfocar el campo y descoloca la pagina entera. Es la
|
|
13
|
-
* razon de ese numero y no otro.
|
|
14
|
-
* - `env(safe-area-inset-bottom)`: sin eso, en un iPhone la barra de escribir
|
|
15
|
-
* queda debajo de la raya del gesto de inicio.
|
|
16
|
-
* - `dvh` y no `vh`: con `vh`, al abrirse el teclado la pagina sigue midiendo
|
|
17
|
-
* la pantalla entera y el campo se va hacia abajo, fuera de la vista.
|
|
18
|
-
* - Se reconecta sola, con espera creciente. Un movil pierde la red a cada rato,
|
|
19
|
-
* y una sesion que hay que recargar a mano no se usa dos veces.
|
|
20
|
-
*
|
|
21
|
-
* EL COLOR SALE DEL ANSI DE VERDAD
|
|
22
|
-
*
|
|
23
|
-
* La transcripcion llega tal cual, con los codigos de chalk dentro. Se traducen
|
|
24
|
-
* aqui a `<span>` en vez de quitarlos: el diff en verde y rojo ES el producto, y
|
|
25
|
-
* un diff en gris no vende nada.
|
|
26
|
-
*/
|
|
27
1
|
export declare function paginaHtml(): string;
|
package/dist/servidor/pagina.js
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
* aqui a `<span>` en vez de quitarlos: el diff en verde y rojo ES el producto, y
|
|
25
25
|
* un diff en gris no vende nada.
|
|
26
26
|
*/
|
|
27
|
+
import { MASCOTA_PNG_BASE64, FUENTE_MARCA_BASE64 } from "./marca.js";
|
|
27
28
|
export function paginaHtml() {
|
|
28
29
|
return PAGINA;
|
|
29
30
|
}
|
|
@@ -44,8 +45,22 @@ const PAGINA = [
|
|
|
44
45
|
' font:14px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }',
|
|
45
46
|
'header { display:flex; align-items:center; gap:8px; background:var(--caja);',
|
|
46
47
|
' padding:calc(8px + env(safe-area-inset-top)) 12px 8px; border-bottom:1px solid var(--borde); }',
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
`@font-face {`,
|
|
49
|
+
` font-family: 'Chocolatito Marca';`,
|
|
50
|
+
` src: url('data:font/ttf;base64,${FUENTE_MARCA_BASE64}') format('truetype');`,
|
|
51
|
+
` font-display: swap;`,
|
|
52
|
+
`}`,
|
|
53
|
+
'/* EL ZORRITO Y EL TITULO DE LA MARCA',
|
|
54
|
+
' La mascota oficial con su alto fijado por CSS para que no salte al cargar,',
|
|
55
|
+
' y la tipografia Chocolatito Marca declarada con @font-face en base64 (sin',
|
|
56
|
+
' dependencias de red ni CDN). SOLO para el titulo: la conversacion se queda',
|
|
57
|
+
' en monospace porque es salida de terminal y ahi las columnas tienen que',
|
|
58
|
+
' cuadrar exactas. Todo cabe en 390px sin empujar nada. */',
|
|
59
|
+
'header { font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; white-space:nowrap; }',
|
|
60
|
+
'header .mascota { height:26px; width:auto; flex-shrink:0; display:block; }',
|
|
61
|
+
"header b { font-family:'Chocolatito Marca', sans-serif; color:var(--zorro); font-weight:700; font-size:16px; letter-spacing:-0.01em; flex-shrink:0; }",
|
|
62
|
+
"header .sub { font-family:'Chocolatito Marca', sans-serif; color:var(--suave); font-size:13px; font-weight:500; letter-spacing:0.02em; flex-shrink:0; }",
|
|
63
|
+
'#estado { margin-left:auto; font-size:12px; color:var(--suave); display:flex; align-items:center; gap:6px; flex-shrink:0; }',
|
|
49
64
|
'#punto { width:8px; height:8px; border-radius:50%; background:#d14; transition:background .2s; }',
|
|
50
65
|
'/* Lo que produce el agente, mirable. max-width en porcentaje y no en pixeles:',
|
|
51
66
|
' en un movil en vertical caben 300px justos y una pieza de 1080 rompe el ancho. */',
|
|
@@ -74,7 +89,28 @@ const PAGINA = [
|
|
|
74
89
|
'#suelta.visible { display:grid; }',
|
|
75
90
|
'#punto.ok { background:#2ea043; }',
|
|
76
91
|
'#salida { flex:1; overflow-y:auto; overflow-x:auto; padding:12px; white-space:pre; -webkit-overflow-scrolling:touch; }',
|
|
92
|
+
'/* EN UNA PANTALLA ESTRECHA, LAS LINEAS SE PARTEN.',
|
|
93
|
+
' Con white-space:pre cada linea del terminal conserva su largo entero, asi',
|
|
94
|
+
' que en un movil hay que arrastrar de lado para leer cada renglon: la',
|
|
95
|
+
' conversacion se vuelve ilegible. Se parten solo por debajo de 700px para',
|
|
96
|
+
' que en el PC las columnas -tablas, diffs, el zorro del arranque- sigan',
|
|
97
|
+
' cuadrando exactas. */',
|
|
98
|
+
'@media (max-width: 700px) {',
|
|
99
|
+
' #salida { white-space:pre-wrap; overflow-wrap:anywhere; overflow-x:hidden; }',
|
|
100
|
+
' .mini img, .mini video { max-width:100%; }',
|
|
101
|
+
' /* EL CARTEL DEL ARRANQUE NO CABE, Y PARTIDO ES PEOR QUE NADA.',
|
|
102
|
+
' El zorro y las letras de bloque miden 95 columnas. En un movil se parten',
|
|
103
|
+
' por la mitad y quedan doce renglones de simbolos rotos ocupando la',
|
|
104
|
+
' pantalla entera antes de la primera palabra util. Se esconden y arriba',
|
|
105
|
+
' queda el zorro de la cabecera, que ya dice lo mismo. */',
|
|
106
|
+
' .fila.arte { display:none; }',
|
|
107
|
+
'}',
|
|
77
108
|
'#salida .fila { min-height:1.5em; }',
|
|
109
|
+
'/* LO QUE MANDAS TU, SEPARADO DE LO QUE CONTESTA EL.',
|
|
110
|
+
' En un movil la conversacion es una columna estrecha de texto igual, y sin',
|
|
111
|
+
' esto no se ve donde empieza cada turno: hay que leer para encontrarse. */',
|
|
112
|
+
'#salida .fila.mio { background:#22222a; border-left:3px solid var(--zorro);',
|
|
113
|
+
' border-radius:6px; padding:6px 10px; margin:8px 0 4px; color:#fff; font-weight:600; }',
|
|
78
114
|
'form { display:flex; gap:8px; background:var(--caja); border-top:1px solid var(--borde);',
|
|
79
115
|
' padding:8px 8px calc(8px + env(safe-area-inset-bottom)); }',
|
|
80
116
|
'textarea { flex:1; resize:none; min-height:44px; max-height:40dvh; padding:10px; border-radius:10px;',
|
|
@@ -106,8 +142,8 @@ const PAGINA = [
|
|
|
106
142
|
'</style>',
|
|
107
143
|
'</head>',
|
|
108
144
|
'<body>',
|
|
109
|
-
|
|
110
|
-
|
|
145
|
+
`<header><img class="mascota" src="data:image/png;base64,${MASCOTA_PNG_BASE64}" alt="" width="28" height="26"><b>Chocolatito</b><span class="sub">Code</span>` +
|
|
146
|
+
'<span id="estado"><span id="punto"></span><span id="estadoTexto">conectando</span></span></header>',
|
|
111
147
|
'<div id="salida"></div>',
|
|
112
148
|
'<div id="adjuntos"></div>',
|
|
113
149
|
'<form id="envio">',
|
|
@@ -125,10 +161,30 @@ const PAGINA = [
|
|
|
125
161
|
'</div></div>',
|
|
126
162
|
'<script>',
|
|
127
163
|
'(function () {',
|
|
128
|
-
'
|
|
129
|
-
' //
|
|
130
|
-
' //
|
|
131
|
-
'
|
|
164
|
+
' // EL TOKEN TIENE QUE SOBREVIVIR A UNA RECARGA',
|
|
165
|
+
' //',
|
|
166
|
+
' // Se quitaba de la barra de direcciones en cuanto se leia -no tiene por que',
|
|
167
|
+
' // quedarse en el historial ni salir en una captura- y ahi estaba el fallo:',
|
|
168
|
+
' // al recargar, la URL ya no lo traia y la sesion se quedaba muda. En un PC',
|
|
169
|
+
' // casi no pasa; en un MOVIL pasa todo el rato, porque recargar es el gesto',
|
|
170
|
+
' // de tirar hacia abajo y porque Android descarta la pestana en cuanto te',
|
|
171
|
+
' // vas a otra aplicacion... que es justo lo que hay que hacer para probar',
|
|
172
|
+
' // las notificaciones. En la primera prueba con un telefono de verdad salio',
|
|
173
|
+
' // trece veces seguidas el aviso de conexion rechazada.',
|
|
174
|
+
' //',
|
|
175
|
+
' // sessionStorage es el sitio exacto: vive lo que vive la pestana -sobrevive',
|
|
176
|
+
' // a recargas y a que el sistema la descarte- y se va al cerrarla. No queda',
|
|
177
|
+
' // en el historial ni lo hereda otra pestana.',
|
|
178
|
+
' var CLAVE = "chocolatito.token";',
|
|
179
|
+
' var enLaUrl = new URLSearchParams(location.search).get("t") || "";',
|
|
180
|
+
' var token = enLaUrl;',
|
|
181
|
+
' try {',
|
|
182
|
+
' if (enLaUrl) sessionStorage.setItem(CLAVE, enLaUrl);',
|
|
183
|
+
' else token = sessionStorage.getItem(CLAVE) || "";',
|
|
184
|
+
' } catch (e) {',
|
|
185
|
+
' // Navegador con el almacenamiento capado: se sigue con lo que traiga la URL.',
|
|
186
|
+
' }',
|
|
187
|
+
' if (enLaUrl && history.replaceState) history.replaceState(null, "", location.pathname);',
|
|
132
188
|
' var salida = document.getElementById("salida");',
|
|
133
189
|
' var punto = document.getElementById("punto");',
|
|
134
190
|
' var estadoTexto = document.getElementById("estadoTexto");',
|
|
@@ -276,6 +332,13 @@ const PAGINA = [
|
|
|
276
332
|
' for (var i = 0; i < lineas.length; i++) {',
|
|
277
333
|
' var div = document.createElement("div");',
|
|
278
334
|
' div.className = "fila";',
|
|
335
|
+
' // Sin los codigos de color no queda mas que el texto, que es lo que hay',
|
|
336
|
+
' // que mirar para saber de quien es la linea.',
|
|
337
|
+
'var pelado = String(lineas[i].texto).replace(/\\x1b\\[[0-9;?]*[A-Za-z]/g, "");',
|
|
338
|
+
' // Lo que mandaste tu: el eco que escribe el agente empieza por >.',
|
|
339
|
+
' if (/^\\s*>\\s/.test(pelado)) div.className += " mio";',
|
|
340
|
+
' // Y el cartel del arranque: solo el usa caracteres de bloque.',
|
|
341
|
+
' else if (/[\\u2580-\\u259f]/.test(pelado)) div.className += " arte";',
|
|
279
342
|
' div.innerHTML = ansi(lineas[i].texto);',
|
|
280
343
|
' frag.appendChild(div);',
|
|
281
344
|
' var vistas = rutasVisibles(lineas[i].texto);',
|