]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - doc/Informe7508.lyx
Agrego un poco en el antifraude, y cambio la fecha de entrega. Sigo con los archivos...
[z.facultad/75.08/llamadas.git] / doc / Informe7508.lyx
index e50bdd92fa586560a7e7965da632c8f36ed03ba6..1dd111b80e06d6d3e16b33e5b6b4a7fe9d3cf133 100644 (file)
@@ -52,7 +52,7 @@ Leandro Lucarella (77891)
 Ricardo Markiewicz (78226)
 \layout Date
 
-Primera Entrega, 28 de Junio del 2004
+26 de Octubre del 2004
 \layout Standard
 
 
@@ -73,11 +73,11 @@ El programa en su totalidad va a ser ejecutado por un 
  configuración diferente es posible pero queda en manos del administrador.
 \layout Itemize
 
-En los archivos de llamada se valida que sean numeros, y para validar la
+En los archivos de llamada se valida que sean números, y para validar la
  fecha no se tiene en cuenta casos particulares como el 29, 30, 31 de febrero.
 \layout Itemize
 
-Todos los meses pueden tener 31 dias.
+Todos los meses pueden tener 31 días.
 \layout Itemize
 
 Aficonf utiliza números para describir las acciones Nuevo y Buscar.
@@ -86,6 +86,11 @@ Aficonf utiliza n
  la acción.
 \layout Section
 
+
+\begin_inset LatexCommand \label{sec:Problemas-relevantes}
+
+\end_inset 
+
 Problemas relevantes
 \layout Itemize
 
@@ -104,32 +109,34 @@ As
 ~$HOME/.antifraude
 \family default 
 , para ser mas consistentes con la manera de trabajar en Unix.
- Lo ideal ubiera sido utilizar 
+ Lo ideal hubiera sido utilizar 
 \family typewriter 
 /etc/antifraude
 \family default 
-, pero como no podríamos suponer root access preferimos directamente trabajar
- en el home del usuario.
+, pero como no podríamos suponer acceso de 
+\emph on 
+root
+\emph default 
+ preferimos directamente trabajar en el directorio del usuario.
 \layout Section
 
 Instalación
-\layout Standard
+\layout Comment
 
 Copiar del README cuando este terminado y extenderlo un poco si se considera
  necesario.
 \layout Section
 
-Comandos Desarollados
+Comandos Desarrollados
 \layout Subsection
 
 AFIMONIO
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Solicitado
+Solicitado.
 \layout Subsubsection
 
 Archivos de Input
@@ -160,141 +167,222 @@ so
 Archivos de Output
 \layout Standard
 
-El afimonio genera una salida al archivo afimonio.log la cual contiene informació
-n sobre la ejecución del programa.
+El afimonio genera una salida al archivo 
+\family typewriter 
+afimonio.log
+\family default 
+ la cual contiene información sobre la ejecución del programa.
 \layout Standard
 
 Si un archivo es válido, se añade una línea con el siguiente formato: 
-\layout Standard
+\layout LyX-Code
 
-"$fecha $USER afimonio: "Se detecta archivo de llamadas $file" 
+$fecha $USER afimonio: "Se detecta archivo de llamadas $file"
 \layout Standard
 
 Si el archivo tuviera un nombre inválido, la línea seria la siguiente: 
-\layout Standard
+\layout LyX-Code
 
-"$fecha $USER afimonio:"Se rechaza el archivo $file".
+$fecha $USER afimonio: "Se rechaza el archivo $file"
 \layout Standard
 
-donde 
-\layout Standard
+donde:
+\layout Description
 
-$fecha: fecha actual con formato Dia-Mes-Año-Hora:Minuto.
-\layout Standard
 
-$USER: nombre de usuario que ejecuto el script.
-\layout Standard
+\family typewriter 
+$fecha
+\family default 
+ fecha actual con formato Día-Mes-Año-Hora:Minuto.
+\layout Description
 
-$file: nombre del archivo que se procesó.
+
+\family typewriter 
+$USER
+\family default 
+ nombre de usuario que ejecuto el script.
+\layout Description
+
+
+\family typewriter 
+$file
+\family default 
+ nombre del archivo que se procesó.
 \layout Subsubsection
 
 Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
 
-:afimonio/bin$> ./afimonio
-\layout LyX-Code
 
-:afimonio/bin$> nohup ./afimonio & 
-\layout LyX-Code
+\family typewriter 
+./afimonio
+\layout Standard
+
+Corre el programa en primer plano.
+\layout Paragraph
 
-:afimonio/bin$> ./afimonio_daemon.sh
-\layout LyX-Code
 
-    afimonio_daemon.sh (start|stop|status)
+\family typewriter 
+nohup ./afimonio &
+\layout Standard
+
+Corre el programa en segundo plano, evitando que se cierre al morir el padre
+ desasociándolo de la terminal.
+ La salida del programa queda en el archivo 
+\family typewriter 
+nohup.out
+\family default 
+ a menos que se redirija a otro archivo.
 \layout Subsubsection
 
 Código Fuente
-\layout Standard
+\layout Comment
 
 Copy Paste cuando este cerrado.
 \layout Subsection
 
 ANTIFRAUDE
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Solicitado
+Solicitado.
 \layout Subsubsection
 
 Archivos de Input
 \layout Standard
 
-Procesa los archivos de llamadas que encuentre en el momento de invocacion
+Procesa los archivos de llamadas que encuentre en el momento de invocación
  en el directorio 
 \family typewriter 
 $PATH_ANTIFRAUDE/$DATADIR/enproceso
 \family default 
 .
  El demonio 
+\family typewriter 
 \series bold 
-Afimonio
+afimonio
+\family default 
 \series default 
  será quien alimentará al 
+\family typewriter 
 \series bold 
-Antifraude
+antifraude
+\family default 
 \series default 
  con dichos archivos, no obstante se lo puede alimentar con archivos de
- llamdas en forma manual, situándolos en el directorio anteriormente descripto.
+ llamadas en forma manual, situándolos en el directorio anteriormente descripto.
+\layout Standard
+
+Este comando, en el momento de invocacion genera y guarda internamente un
+ listado de los archivos de llamadas presences en el directorio 
+\family typewriter 
+/enproceso
+\family default 
+, ordenándolos por fecha (establecida en el nombre del archivo) en forma
+ ascendente.
+ Dado que utiliza durante toda su ejecución esta lista interna, el 
+\family typewriter 
+\series bold 
+Afimonio
+\family default 
+\series default 
+ puede alimentar al directorio 
+\family typewriter 
+/enproceso
+\family default 
+ con nuevos archivos mientras el 
+\family typewriter 
+\series bold 
+Antifraude
+\family default 
+\series default 
+ corre, pero los mismos no serán tenidos en cuenta (esto es, procesados),
+ hasta la próxima invocación del comando.
 \layout Subsubsection
 
 Archivos de Output
-\layout Itemize
+\layout Description
 
 
-\series bold 
-Antifraude.log:
-\series default 
- Se loguea en este archivo el procesamiento de los registros, warnings provocado
-s por registros no validos y alarmas emitidas por registros que matchean
contra un umbral.
-\layout Itemize
+\family typewriter 
+Antifraude.log
+\family default 
+ En este archivo se guarda información del procesamiento de los registros,
+ advertencias provocados por registros no validos y alarmas emitidas por
registros que cumplen con un umbral.
+\layout Description
 
 
-\series bold 
-Alarmas.txt:
-\series default 
- Se loguean en este archivo las alarmas provocadas por registros en los
- archivos de llamadas, que hayan matcheado un umbral determinado del archivo
- umbrales.param.
+\family typewriter 
+Alarmas.txt
+\family default 
+ En este archivo se guarda información de las alarmas provocadas por registros
+ en los archivos de llamadas, que hayan cumplido un umbral determinado del
+ archivo 
+\family typewriter 
+umbrales.param
+\family default 
+.
 \layout Subsubsection
 
 Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
 
-:antifraude/bin$> perl antifraude.pl
-\layout LyX-Code
 
-:antifraude/bin$> perl antifraude.pl &
+\family typewriter 
+./antifraude.pl
+\layout Standard
+
+El programa procesa las llamadas 
+\family typewriter 
+enproceso
+\family default 
+ como indica el enunciado en primer plano.
+\layout Paragraph
+
+
+\family typewriter 
+perl antifraude.pl
+\layout Standard
+
+Ídem anterior.
+\layout Paragraph
+
+./antifraude.pl &
+\layout Standard
+
+Ídem anterior pero procesa en segundo plano.
 \layout Subsubsection
 
 Código Fuente
-\layout Standard
+\layout Comment
 
 Copy Paste cuando este cerrado.
 \layout Subsection
 
 AFICONF
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Solicitado
+Solicitado.
 \layout Subsubsection
 
 Archivos de Input
 \layout Standard
 
-El comando utiliza los archivos umbrales.param y oridesti.txt situados en
+El comando utiliza los archivos 
+\family typewriter 
+umbrales.param
+\family default 
+ y 
+\family typewriter 
+oridesti.txt
+\family default 
+ situados en 
 \family typewriter 
 ~$HOME/.antifraude/
 \layout Subsubsection
@@ -302,14 +390,22 @@ El comando utiliza los archivos umbrales.param y oridesti.txt situados en
 Archivos de Output
 \layout Standard
 
-Solo escribe en umbrales.param de ser solicitado por el usuario, ya sea por
- la alta o baja de un umbral.
+Solo escribe en 
+\family typewriter 
+umbrales.param
+\family default 
+ de ser solicitado por el usuario, ya sea por la alta o baja de un umbral.
 \layout Subsubsection
 
 Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
+
 
-:aficonf/bin$> ./aficonf
+\family typewriter 
+./aficonf
+\layout Standard
+
+Realiza lo pedido en el enunciado.
 \layout Subsubsection
 
 Código Fuente
@@ -319,13 +415,16 @@ Copy Paste cuando este cerrado.
 \layout Subsection
 
 CALLGEN
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Auxiliar, escrito en PERL
+Auxiliar, escrito en 
+\family typewriter 
+perl
+\family default 
+.
 \layout Subsubsection
 
 Justificación de su uso
@@ -353,8 +452,15 @@ oridesti.txt
 Archivos de Output
 \layout Standard
 
-Crea una cantidad N (especificada por el usuario) de archivos con nombre
- y formato de Archivo de Llamadas en el directorio actual.
+Crea una cantidad 
+\family typewriter 
+N
+\family default 
+ (especificada por el usuario) de archivos con nombre y formato de 
+\emph on 
+Archivo de Llamadas
+\emph default 
+ en el directorio actual.
  Tanto el nombre como la cantidad de líneas y su contenido es generado aleatoria
 mente (respetando el formato mencionado y con valores racionales).
 \layout Subsubsection
@@ -481,7 +587,7 @@ M
 
 \layout Standard
 
-max_lines
+max_linaes
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -513,13 +619,8 @@ M
 
 \layout Standard
 
-
-\series bold 
-NOTA:
-\series default 
- Pueden cambiarse los valores por defecto editando el código fuente del
- comando, en la sección de configuración que se encuentra al comienzo del
- mismo.
+Pueden cambiarse los valores por defecto editando el código fuente del comando,
+ en la sección de configuración que se encuentra al comienzo del mismo.
  También puede cambiarse el mínimo y máximo año (por defecto 1999 y 2004)
  y el mínimo y máximo código de central (por defecto 0000 y 9999).
 \layout Subsubsection
@@ -527,46 +628,71 @@ NOTA:
 Ejemplos de invocación
 \layout Paragraph
 
+
+\family typewriter 
 ./callgen
 \layout Paragraph
 
 
 \series medium 
 Se escriben por entrada estándar los códigos de origen/destino, se presiona
- Ctrl-D para cerrar el descriptor de archivo de la entrada estándar y se
- generan 10 archivos con entre 1000 y 5000 líneas cada uno.
+\family typewriter 
+\series default 
+Ctrl-D
+\family default 
+\series medium 
+ para cerrar el descriptor de archivo de la entrada estándar y se generan
+ 10 archivos con entre 1000 y 5000 líneas cada uno.
 \layout Paragraph
 
+
+\family typewriter 
 ./callgen 2 < oridesti.txt
 \layout Paragraph
 
 
 \series medium 
-Genera 2 archivos con entre 1000 y 5000 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
+Genera 2 archivos con entre 1000 y 5000 líneas cada uno tomando los códigos
+ de origen/destino del archivo 
+\family typewriter 
+origesti.txt
+\family default 
+.
 \layout Paragraph
 
+
+\family typewriter 
 ./callgen 5 10 < oridesti.txt
 \layout Paragraph
 
 
 \series medium 
-Genera 5 archivos con entre 10 y 5000 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
+Genera 5 archivos con entre 10 y 5000 líneas cada uno tomando los códigos
+ de origen/destino del archivo 
+\family typewriter 
+origesti.txt
+\family default 
+.
 \layout Paragraph
 
+
+\family typewriter 
 ./callgen 50 10 50 < oridesti.txt
 \layout Paragraph
 
 
 \series medium 
-Genera 50 archivos con entre 10 y 50 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
+Genera 50 archivos con entre 10 y 50 líneas cada uno tomando los códigos
+ de origen/destino del archivo 
+\family typewriter 
+origesti.txt
+\family default 
+.
 \layout Subsubsection
 
 Código Fuente
-\layout Standard
+\layout Comment
 
 Copy Paste cuando este cerrado.
 \layout Section
@@ -575,15 +701,76 @@ Archivos
 \layout Subsection
 
 Archivos del Enunciado
-\layout Standard
+\layout Comment
 
-[ Por cada uno se debe poner nombre y detallar su estructura interna ]
+Por cada uno se debe poner nombre y detallar su estructura interna.
 \layout Subsection
 
 Archivos Auxiliares
+\layout Subsubsection
+
+
+\family typewriter 
+afimonio.conf
+\layout Standard
+
+El archivo de configuración 
+\family typewriter 
+~/.antifraude/conf/afimonio.conf
+\family default 
+ almacena las rutas a los directorios necesarios para la ejecución del script
+\family typewriter 
+afimonio
+\family default 
+ y la ruta, nombre, y tamaño máximo del archivo de log.
+\layout Subsubsection
+
+
+\family typewriter 
+antifraude.conf
 \layout Standard
 
-[ Por cada uno se debe poner nombre y detallar su estructura interna ]
+El archivo de configuración 
+\family typewriter 
+~/.antifraude/conf/antifraude.conf
+\family default 
+ almacena las rutas a los directorios necesarios para la ejecución del script
+\family typewriter 
+antifraude.pl
+\family default 
+ y la ruta, nombre, y tamaño máximo del archivo de log.
+\layout Subsubsection
+
+
+\family typewriter 
+aficonf.conf
+\layout Standard
+
+El archivo de configuración 
+\family typewriter 
+~/.antifraude/conf/aficonf.conf
+\family default 
+ almacena las rutas a los directorios necesarios para la ejecución del script
+\family typewriter 
+aficonf
+\family default 
+ y la ruta, nombre, y tamaño máximo del archivo de log.
+\layout Standard
+
+Estos archivos fueron creados para que los diferentes scripts tengan un
+ lugar común donde buscar esa información para salvar el problema comentado
+ en el punto 
+\begin_inset LatexCommand \vref{sec:Problemas-relevantes}
+
+\end_inset 
+
+.
 \layout Subsection
 
 Set de Prueba (testcalls.tar.gz)
@@ -594,20 +781,31 @@ do en el archivo
 \family typewriter 
 testcalls.tar.gz
 \family default 
-, situado en el directorio /INST, del paquete de instalación.
+, situado en el directorio 
+\family typewriter 
+/inst
+\family default 
+, del paquete de instalación.
  El set de prueba se copia automáticamente en el momento en que se instale
  el componente 
+\family typewriter 
 \series bold 
-ANTIFRAUDE
+antifraude
+\family default 
 \series default 
 , dejando el escenario listo para procesarlos en el momento en que sea arrancado
  el 
+\family typewriter 
 \series bold 
-AFIMONIO 
+afimonio
+\family default 
 \series default 
 o bien ejecutando el 
+\family typewriter 
 \series bold 
-ANTIFRAUDE
+antifraude
+\family default 
 \series default 
  en forma manual.
 \layout Standard
@@ -620,32 +818,46 @@ Este set de prueba consta de
 \layout Itemize
 
 14 archivos de llamadas generados con el 
+\family typewriter 
 \series bold 
-CALLGEN
+callgen
+\family default 
 \series default 
 , con entre 1000 y 5000 registros cada uno, y fecha en el rango año 1999
- 2004.
a 2004.
 \layout Itemize
 
-1 archivo de llamadas con registros validos y otros no validos.
+1 archivo de llamadas con registros válidos y otros no válidos.
 \layout Itemize
 
 1 archivo con nombre válido según el formato YYYYMMDDhhmm.nnnn, pero con
- texto dentro suyo, el cual es rechazado por Antifraude.
+ contenido inválido, el cual es rechazado por 
+\family typewriter 
+\series bold 
+antifraude
+\family default 
+\series default 
+.
 \layout Itemize
 
-1 archivo con nombre nó válido rechazado en instancia previa por el Afimonio.
+1 archivo con nombre no válido rechazado en instancia previa por 
+\family typewriter 
+\series bold 
+afimonio
+\family default 
+\series default 
+.
 \layout Standard
 
 Se describen en la siguiente tabla, los archivos y registros que disparan
  alarmas o tienen close matches contra los 25 umbrales distribuidos en el
- paquete de instalacion, via el umbrales.param:
+ paquete de instalación, vía el umbrales.param:
 \layout Standard
 
 
 \begin_inset Float table
 wide false
-collapsed true
+collapsed false
 
 \layout Caption
 
@@ -679,7 +891,8 @@ Archivo
 
 
 \series bold 
-Linea Nro
+Nro.
+ Línea
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
@@ -689,7 +902,7 @@ Linea Nro
 
 
 \series bold 
-Matched Umbral
+Umbral
 \end_inset 
 </cell>
 </row>
@@ -855,7 +1068,7 @@ Matched Umbral
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -881,7 +1094,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -959,7 +1172,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1011,7 +1224,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1037,7 +1250,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1063,7 +1276,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1089,7 +1302,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1141,7 +1354,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1167,7 +1380,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1245,7 +1458,7 @@ Close match umbral 22, difiere tipo de llamada
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1301,61 +1514,79 @@ idem
 
 \layout Paragraph
 
-Archivo 199908220733.4515
+Archivo 
+\family typewriter 
+199908220733.4515
 \layout Paragraph
 
 
 \series medium 
-Posee registros no validos detallados a continuacion.
- Los registros se contabilizan de 0 a N (Linea 1 = Reg 0)
+Posee registros no válidos detallados a continuación.
+ Los registros se contabilizan de 0 a N (Línea 1 = Reg 0)
 \layout Itemize
 
 
 \series bold 
 Registro 3
 \series default 
- -> Posee un 9no campo 'Bogus'
+ -> Posee un 9no campo 
+\emph on 
+bogus
 \layout Itemize
 
 
 \series bold 
 Registro 27
 \series default 
- -> Posee un 9no campo 'Bogus'
+ -> Posee un 9no campo 
+\emph on 
+bogus
 \layout Itemize
 
 
 \series bold 
 Registro 31
 \series default 
- -> Posee un tipo de llamada 'W' no valida
+ -> Posee un tipo de llamada 
+\family typewriter 
+W
+\family default 
+ no valida
 \layout Itemize
 
 
 \series bold 
 Registro 41
 \series default 
- -> El numero de linea (campo1) no es numerico, es un string 'ABCD'
+ -> El número de línea (campo1) no es numérico, es un string 
+\family typewriter 
+'ABCD'
 \layout Itemize
 
 
 \series bold 
 Registro 52
 \series default 
- -> Tiene insuficiente cantidad de campos (siete)
+ -> Tiene cantidad de campos insuficiente (siete)
 \layout Standard
 
-Estos registros emitirán errores plasmados en el antifraude.log.
- Para verificar esto, realizar un search en el logfile, sobre el nombre
- del archivo, y ubicarse en el sector donde se indica el comienzo del procesamie
-nto del mismo con ¨
+Estos registros emitirán errores plasmados en el 
+\family typewriter 
+antifraude.log
+\family default 
+.
+ Para verificar esto, realizar una búsqueda en el log, sobre el nombre del
+ archivo, y ubicarse en el sector donde se indica el comienzo del procesamiento
+ del mismo con ¨
 \family typewriter 
 Inicio proceso de: 199908220733.4515
 \family default 
 ¨.
 \layout Paragraph
 
-Archivo 200412010000.6666
+Archivo 
+\family typewriter 
+200412010000.6666
 \layout Paragraph
 
 
@@ -1364,20 +1595,28 @@ Es un archivo de texto el cual pasa el control de Afimonio, pero luego sus
  lineas son descartadas por antifraude y dicho error emitido en el antifraude.log
 \layout Paragraph
 
-Archivo 200223.1234
+Archivo 
+\family typewriter 
+200223.1234
 \layout Paragraph
 
 
 \series medium 
 El nombre del archivo no es conforme al formato de nombre estipulado en
- el TP y el mismo es rechazado de antemano por Afimonio.
+ el TP y el mismo es rechazado de antemano por 
+\family typewriter 
+\series default 
+afimonio
+\family default 
+\series medium 
+.
 \layout Section
 
 Apéndice A
-\layout Standard
+\layout Comment
 
-(Esto deberia ser una hoja aparte que solo diga 1.6 Apéndice A) y las hojas
+Esto deberia ser una hoja aparte que solo diga 1.6 Apéndice A) y las hojas
  posteriores son las páginas 3 en adelante del PDF oficial de la catedra,
- sacando al parte de archivos.
- 3-15 más precisamente es lo que iria).
+ sacando la parte de archivos.
+ 3-15 más precisamente es lo que iria.
 \the_end