Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Administracion de Bases de Datos Apuntes v2 1
Administracion de Bases de Datos Apuntes v2 1
SISTEMAS
GESTORES DE
BASES DE DATOS
(ASGBD)
Apuntes
y
Ejercicios
Administracin de sistemas gestores de Bases de datos.
Introduccin al lenguaje PL/SQL (Cap. 8)
Oracle incorpora un gestor PL/SQL (basado en lenguaje ADA), incorpora todas las caractersticas de
lenguajes de tercera generacin:
anejo de !ariables"
#structura $odular (procedi$ientos % &unciones)"
#structuras de control (bi&urcaciones, bucles % de$'s estructuras)"
(ontrol de e)cepciones"
Al$acena$iento en la *"D" (para su posterior ejecucin)"
Soporte para la progra$acin orientada a objetos (POD)"
La unidad de trabajo es el lo!ue, +ue es un conjunto de declaraciones, instrucciones % $ecanis$os de
gestin de errores % e)cepciones" #s la estructura b'sica caracterstica de todos los progra$as PL/SQL, tiene
tres ,onas clara$ente de&inidas:
-ona de declaraciones declaracin de !ariables, constantes, precedido por la clausula
D#(LA.#, es opcional"
(onjunto de instrucciones precedido por la clausula *#/01"
-ona de e)cepciones precedido por la clausula #2(#P30O1, es opcional ta$bi4n"
#je$plo: 5 D#(LA.#
6 declaraciones 7 8
*#/01
6 ordenes 7
5 #2(#P30O1
6 gestin de e)cepciones 7 8
#1D 9
La utili"acin de lo!ues supone una notable $ejora de rendi$iento, %a +ue se en!an los blo+ues
co$pletos al ser!idor para +ue sean procesados, en lugar de cada sentencia SQL" 3a$bi4n se pueden anidar:
D#(LA.#
:"
*#/01
:"""
D#(LA.# co$ien,o blo+ue interior (un D#(LA.# dentro de otro)
:""
*#/01
:""
#2(#P30O1
:""
#1D 9
:"
#2(#P30O1
:"""
#1D
#e$inicin de datos compatiles con SQL
PL/SQL dispone de tipos de datos co$patibles con los tipos utili,ados para las colu$nas de las tablas:
1;*#., <A.(=A.>, DA3#"
Las declaraciones de los datos deben ?acerse en la seccin de declaraciones:
(ontador 1;*#.> 9
1o$bre (=A. (>@) 9
1ue!o <A.(=A.> (AB) 9
*#/01
:""
PL/SQL per$ite declarar una !ariable del $is$o tipo +ue otra !ariable o +ue una colu$na de una tabla
$ediante el atributo %&'P("
3a$bi4n se puede declarar una !ariable para guardar una &ila co$pleta de una tabla $ediante el atributo
%)*+&'P("
(structuras de control alternati,as.
Alternati,a simple (0C)
Si la condicin se cu$ple, se ejecutan las instrucciones +ue siguen a la clausula 3=#1
0C 6condicin7 3=#1
instrucciones9
#1D 0C9
Alternati,a dole (0C #LS#)
Si la condicin se cu$ple, se ejecutan las instrucciones +ue siguen a la clausula 3=#1, en caso
contrario, se ejecutaran las instrucciones +ue siguen a la clausula #LS#
0C 6condicin7 3=#1
instrucciones9
#LS#
instrucciones9
#1D 0C9
Alternati,a m-ltiple (#LS0C)
#!alDa co$en,ando desde el principio cada condicin, ?asta encontrar alguna condicin +ue se
cu$pla, en cu%o caso se ejecutara las instrucciones +ue siguen al 3=#1 correspondiente, la
clausula #LS# es opcional % se ejecuta si no se ?a cu$plido ninguna de las anteriores"
0C 6condicin7 3=#1
instrucciones9
#LS0C 6condicion>7 3=#1
instrucciones9
#LS0C 6condicionE7 3=#1
instrucciones9
:""
#LS#
instrucciones9
#1D 0C9
Alternati,a m-ltiple ((AS# de co$probacin)
(alcula el resultado de la e)presin +ue sigue a la clausula (AS#, a continuacin co$prueba si el
!alor obtenido coincide con alguno d ellos !alores especi&icados detr's de las clausulas F=#1,
en cu%o caso ejecutara la instruccin/es correspondientes, #LS# es opcional"
(AS# 56e)presin78
F=#1 6testA7 3=#1
6instruccionesA79
F=#1 6test>7 3=#1
6instrucciones>79
F=#1 6testE7 3=#1
6instruccionesE79
5#LS#
6otrasGinstrucciones798
#1D (AS#9
Alternati,a m-ltiple ((AS# de bDs+ueda)
#!alDa, co$en,ando desde el principio, cada condicin, ?asta encontrar alguna condicin +ue se
cu$pla, en cu%o caso ejecutara las instrucciones +ue siguen al 3=#1, el #LS# es opcional"
(AS#
F=#1 6condicionA7 3=#1
6instruccionesA79
F=#1 6condicion>7 3=#1
6instrucciones>79
F=#1 6condicionE7 3=#1
6instruccionesE79
5#LS#
6otrasGinstrucciones798
#1D (AS#9
(structuras de control repetiti,as.
.ientras (F=0L#)
Se e!alDa la condicin % si se cu$ple, se ejecutaran las instrucciones del bucle" #l bucle se seguir'
ejecutando $ientras se cu$pla la condicin, es una condicin de continuacin"
F=0L# 6condicin7
LOOP
instrucciones9
#1D LOOP9
Para (CO.)
6!ariablecontrol7 es la !ariable de control del bucle +ue se declara (*01A.HI013#/#.), esta
!ariable to$a el !alor especi&icado en !alorinicio % se repite incre$ent'ndose en A ?asta el !alor&inal"
CO. 6!ariablecontrol7 01 6!alorinicio7 : 6!alor&inal7
LOOP
instrucciones9
#1D LOOP9
Se utili,a cuando se conoce o se puede conocer el nu$ero de !eces +ue se debe ejecutar el bucle"
Para (CO.) en incre$entos negati!os"
CO. 6!ariablecontrol7 01 .#<#.S# 6!alorinicio7 : 6!alor&inal7
LOOP
instrucciones9
#1D LOOP9
Donde 6!ariablecontro7 es la !ariable de control del bucle +ue se declara (tipo
*01A.HI013#/#.), esta !ariable to$ara el !alor especi&icado en !alor&inal % se repetir'
decre$entandose en A ?asta el !alor inicial"
.especto de la !ariable de control en cual+uiera de los CO.:
1o ?a% +ue declararla
#s local al bucle % no accesible desde el e)terior
Se puede usar dentro del bucle en una e)presin pero no se le pueden asignar !alores"
Iterar... $in iterar salir si...(LOOP)
Se trata de un bucle +ue se repetir' inde&inida$ente ?asta +ue se encuentre una instruccin #203 sin
condicin o ?asta +ue se cu$pla la condicin asociada a la clausula #203 F=#1" #s una condicin
de salida"
LOOP
instrucciones9
#203 F=#1 6condicin79
instrucciones9
#1D LOOP9
#esde PL/SQL se puede ejecutar cual!uier orden de manipulacin de datos.
(jemplos/
D#L#3# C.O clientes F=#.# ni& J !Ini&9
;PDA3# productos S#3 stocKIdisponible :J stocKIdisponible L unidadesI!endidas F=#.#
productoIno J !Iproducto9
/0 se utili,a cuando se !a a ?acer una operacin"
PL/SQL per$ite ejecutar cual+uier consulta ad$itida por la base de datos" Pero cuando se ejecuta la consulta,
el resultado no se $uestra auto$'tica$ente en el ter$inal del usuario, sino +ue se +ueda en un 'rea de
$e$oria deno$inada cursor, a la +ue accedere$os utili,ando !ariables"
;tili,are$os una o $as !ariables (declaradas pre!ia$ente) junto con la clausula 013O para poder acceder a
los datos de!ueltos por nuestra consulta (la consulta solo debe de!ol!er una &ila o dar' error)"
S#L#(3 6colu$na/s7 013O 6!ariable/s7 C.O 6tabla7 F=#.# :""89
1estin de e2cepciones.
La e)cepciones sir!en para tratar errores % $ensajes de a!iso"
1OIDA3AICO;1D una orden de tipo S#L#(3 013O no ?a de!uelto ningDn !alor"
3OOIA1HI.OFS una orden S#L#(3 013O ?a de!uelto $as de una &ila"
La seccin (3C(P&I*4 es la encargada de gestionar $ediante los $anejadores (F=#1) las e)cepciones
+ue puedan producirse durante la ejecucin de un progra$a"
(uando PL/SQL detecta una e)cepcin, auto$'tica$ente pasa el control del progra$a a la seccin
#2(#P30O1 del blo+ue PL/SQL"
PL/SQL per$ite +ue el progra$ador de&ina sus propias e)cepciones"
Caso practico: <isuali,a el apellido % el o&icio del e$pleado con nu$ero MN@@
#(CLA)(
!Iape <A.(=A.> (A@)9
!Io&icio <A.(=A.>(A@)9
B(1I4
S#L#(3 apellido, o&icio 013O !Iape, !Io&icio C.O #PL#ADOS F=#.# #PI1O J MN@@ 9
D*SIO;3P;3.P;3IL01# (!Iape OO PQP OO !Io&icio) 9
(3C(P&I*4
F=#1 1OIDA3AICO;1D 3=#1
.A0S#IAPPL0(A30O1I#..O. (G>@@@@,P#..O. no ?a% datosP)9
F=#1 3OOIA1HI.OFS 3=#1
.A0S#IAPPL0(A30O1I#..O. (G>@@@@,P#..O. de$asiados datosP)9
F=#1 O3=#.S 3=#1
.A0S#IAPPL0(A30O1I#..O. (G>@@@@,P#..O. en la aplicacinP)9
(4# 5
/ si se pone al &inal el blo+ue se al$acena en el bu&er % luego se ejecuta
. si se pone al &inal el blo+ue se al$acena en el bu&er pero no se ejecuta ?asta poner / o )64"
#l resultado es:
(structura modular7 tipos de programas !ue se ejecutan en PL/SQL/
Blo!ues annimos (los eje$plos !istos)
no tiene no$bre, se ejecutan pero no se guardan
La ,ona declaraciones co$ien,a con D#(LA.#
Son las estructuras de eje$plo !istas, pero sin utili,acin real"
Suprogramas: (Procedi$ientos % &unciones)
Son blo+ues PL/SQL +ue tienen no$bre por el +ue se in!ocan desde otros progra$as"
Se co$pilan, al$ac4n % ejecutan en la base de datos"
3ienen una cabecera +ue inclu%e el no$bre del subprogra$a"
Se indica si es &uncin o o procedi$iento, as co$o los par'$etros"
La ,ona de declaraciones % el blo+ue del progra$a e$pie,an con 0S o AS"
Pueden ser de dos tipos Procedimientos % 8unciones"
#isparadores de ases de datos / &rigger"
Son progra$as al$acenados en la base de datos +ue se asocian a un e!ento"
Se ejecutan auto$'tica$ente al producirse deter$inados ca$bios en la tabla asociada"
Son $u% Dtiles para controlar los ca$bios +ue suceden en la base de datos
#je$plo:
(.#A3# O. .#PLA(# 3.0//#. auditIborradoIe$ple
*#CO.# D#L#3#
O1 e$ple
CO. #A(= .OF
*#/01
D*SIO;3P;3"P;3IL01# (P*O..ADO #PL#ADOP
O O PQP O O :old"e$pIno
O O PQP O O :old"apellido)9
#1D9
Oracle utili,a el pa+uete D*SIO;3P;3 con &ines de depuracin" #ste inclu%e entre otros el procedi$iento
P6&9LI4( +ue per$ite !isuali,ar te)tos en la pantalla (para +ue &uncione correcta$ente la !ariable de
entorno S():()*6&P6& deber' estar en *4)"
SQL7 S#3 S#.<#.O;3P;3 O1
Pode$os guardar el blo+ue del bu&&er con la orden SA:(:
SA<# no$bre&ic?ero 5.#PLA(#8 .#PLA(# se usa si %a e)ista el &ic?ero"
Para cargar un blo+ue de un &ic?ero en el bu&&er SQL se ?ace con 1(&:
/#3 no$bre&ic?ero una !e, cargado se ejecuta con )64 o /
3a$bi4n se puede cargar % ejecutar con una sola orden con S&A)& o ;:
S3A.3 no$bre &ic?ero
Rno$bre&ic?ero
Procedimiento/
P.O(#D;.# 6no$breprocedi$iento7
5( 6lista de par'$etros7 )8
0S
56declaracin objetos locales798
*#/01
6instrucciones79
5#2(#P30O1
6e)cepciones798
#1D 56no$breprocedi$iento78 9
8uncin/
C;1(30O1 6no$bre&uncion7
5( 6lista de par'$etros7 )8
.#3;.1 6tipo !alor de!uelto7
0S
56declaracin objetos locales798
*#/01
6instrucciones79
.#3;.1 6e)presin79
5#2(#P30O1
6e)cepciones798
#1D 56no$bre&uncion78 9
(jemplo/
C)(A&( *) )(PLAC(
P)*C(#6)( !erIdepart 5nu$depart 46.B()8
AS
!Idno$bre <A.(=A.>(AS)9
!Ilocalidad <A.(=A.>(AS)9
B(1I4
S(L(C& dno$bre, loc I4&* !Idno$bre, !Ilocalidad
8)*. depart
+<()( deptIno J nu$depart9
#B.S9*6&P6&.P6&9LI4( (P1u$ depart:P O O nu$depart O O P Q 1o$bre dep:P O O !Idno$bre O O
P Q Localidad: P O O !Ilocalidad) 9
(3C(P&I*4
+<(4 4*9#A&A98*64# &<(4
#B.S9*6&P6&.P6&9LI4( (P1o encontrado departa$ento P) 9
(4# !erIdepart 9
/
Para ejecutar este procedi$iento creado se ?ace con #2#(;3# no$bre(dato), en $odo ter$inal, eje$plo:
(3(C6&( !erIdepart(>@)9 o B(1I4 !erIdepart(>@) (4# 9 en $odo gr'&ico"
(olocar el s$bolo = delante de una !ariable indica +ue se pedir' la introduccin del dato especi&icado"
8undamentos del lenguaje PL/SQL (Cap. >)
Pl/SQL dispone de los $is$os datos +ue SQL ade$as de otros propios, estos datos se pueden clasi&icar en:
#scalares Al$acenan !alores si$ples
Car?cter/cadena:
(=A.(L) (adenas de caracteres de longitud &ija, posiciones no usadas son blancos
1(=A. (L) si$ilar al anterior
<A.(=A.> (L) (adenas de caracteres de longitud !ariable
1<A.(=A.> (L)
LO1/ (L) Al$acena cadenas de longitud !ariable, se debe especi&icar el $')i$o
.AF (L) Al$acena datos binarios de longitud &ija
LO1/ .AF (L) Al$acena datos binarios de longitud !ariable
.OF0D Al$acena identi&icadores de direcciones de &ila
;.OF0D (L) Al$acena identi&icadores de direcciones de &ila, especi&icando nT b%tes
4um@rico
1;*#. (P, #) 1u$4rico, P nu$ero total de dgitos, # nu$ero deci$ales
*01A.HI013#/#. 1u$4rico entero, se al$acena en $e$oria en &or$ato binario
PLSI013#/#. Si$ilar al anterior pero $as r'pido/da error si desborda$iento
*01A.HIDO;*L# Para el '$bito cient&ico con c'lculos $u% precisos % co$plejos
*01A.HICLOA3 Para el '$bito cient&ico con c'lculos $u% precisos % co$plejos
Boolean Al$acena !alores lgicos, 3.;#, CALS#, 1;LL
8ecAa/Aora
DA3# Al$acena &ec?as inclu%endo la ?ora
30#S3AP Al$acena &ec?as inclu%endo la ?ora % &racciones de segundo
013#.<AL 0nter!alo de tie$po entre &ec?as
*tros
.OF0D
;.OF01
(o$puestos co$puestos de otros si$ples
3ablas inde)adas
3ablas anidadas
<arra%s
Objetos
.e&erencias di&ieren de los anteriores por caractersticas de $anejo % al$acena$iento"
.#C (;.SO. Son re&erencias a cursores
.#C Son punteros a objetos
LO* al$acenan objetos de grandes di$ensiones (de ?asta A>U terab%tes, sustitu%en a LO1/ .AF)
Los Identi$icadores se utili,an para no$brar los objetos +ue inter!ienen en un progra$a:
<ariables, constantes, cursores, e)cepciones, procedi$ientos, &unciones, eti+uetas""""
Pueden tener entre A % E@ caracteres de longitud
#l pri$er car'cter ?a de ser una letra
#l resto de caracteres ?an de ser al&anu$4ricos
1o pueden incluir signos de puntuacin, espacios, etc"
1o se di&erencia entre $a%Dsculas o $inDsculas"
La opcin #(8A6L& o /0 sir!e para asignar !alores por de&ecto a la !ariable tras su creacin"
La opcin 4*& 46LL &uer,a a +ue la !ariable tenga sie$pre un !alor"
Atributo %&'P( declara una !ariable del $is$o tipo +ue otra (no$breI!ariable no$breIobjetoV3HP#9)
Atributo %)*+&'P( declara una !ariable de registro cu%os ca$pos se corresponden con las colu$nas de
una tabla (no$breI!ariable no$breIobjetoV.OF3HP#9)"
Las ,ariales se crean al co$ien,o del blo+ue % dejan de e)istir una !e, &inali,ada la ejecucin del blo+ue
en +ue ?an sido declaradas, el '$bito de una !ariable inclu%e el blo+ue en el +ue se declara % sus blo+ues
?ijos"
Las !ariables declaradas en los blo+ues ?ijos no son accesibles desde el blo+ue padre"
Al declarar constantes se deber' asignar un !alor: 6no$breIconstante7 (O1S3A13 6tipo7 :J 6!alor7 9
Los literales representan !alores constantes directa$ente, se utili,an para !isuali,ar !alores"
(ar'cter PAP, PaP, PQP
(adena P(liente 1T:P
1u$4rico BWM, >">E, GU"MB
*ooleano !Icobrado :J 3.;#9
Cec?a/?ora DA3# P>@@BGAAG@NP
Los operadores se utili,an para asignar !alores % &or$ar e)presiones:
Asignacin /0 Asigna un !alor a una !ariable #dad :J AN
(oncatenacin BB ;ne dos o $as cadenas P*uenosP OO PdiasP
(o$paracin 0 , C0 , D , E , D0 , E0 , I4 , IS 46LL , LIF( , B(&+((4
Arit$4ticos G , H , I , / , II
&A L &> De!uel!e el nu$ero de das +ue ?a% entre las &ec?as &A % &>"
& X n De!uel!e una &ec?a +ue es el resultado de su$ar n das a la &ec?a &"
& G n De!uel!e una &ec?a +ue es el resultado de restar n das a la &ec?a &"
Lgicos A4# , *) , 4*&
Otros indicadores
( ) Deli$itador de e)presiones
J J Deli$itador de literales de cadena
K K Deli$itador de identi&icadores
DD EE #ti+uetas
/I I/ Deli$itador co$entarios de !arias lineas
HH 0ndicador de co$entario de una linea
% 0ndicador de atributo (3HP#, .OF3HP#, CO;1D, :)
/ 0ndicador de !ariables de trans&erencia
7 Separador de ite$ de lista
5 3er$inador de instruccin
; 0ndicador de enlace de bases de datos
Administracin de *racle (Cap. LM)
Las tareas del Administrador de la *ase de datos son:
0nstalar Oracle"
DiseYar % crear una base de datos"
Arrancar % detener la *ase de Datos"
(rear % controlar usuarios"
(onceder pri!ilegios"
/estionar el espacio"
=acer copias de seguridad % recuperar la *ase de datos"
Componentes de la Base de #atos/
Arc?i!os de Datos (Database &iles)" (ontienen la in&or$acin de la base de datos (datos de usuario %
datos de siste$a), es necesario crear un espacio para las tablas (tablespace) % dentro de el crear las
tablas, tablespaces por de&ecto +ue se crean al instalar Oracle:
SHS3#" (ontiene la in&or$acin +ue necesita Oracle para gestionarse a si $is$a"
;S#.S" (ontiene in&or$acin personal de los usuarios"
3#P" (ontiene las tablas te$porales"
;1DO3*SA" #s donde Oracle guarda la in&or$acin de des?acer"
.egistros de re?acer o .edo log (el registro de las transacciones)" Son arc?i!os de datos el los +ue
Oracle registra los ca$bios +ue se e&ectDan sobre los datos (01S#.3, ;PDA3# % D#L#3#) de la
base de datos dentro de la cac?e de bu&&ers de la base de datos, estos arc?i!os se utili,an en
situaciones de &allo para recuperar datos"
Arc?i!os de control ((ontrol &iles)" (ontienen in&or$acin sobre los arc?i!os asociados con una base
de datos Oracle" 3odas las $odi&icaciones i$portantes +ue se ?agan en la estructura de la base de
datos se registran en el arc?i!o de control" #stos arc?i!os $antienen la integridad de la base de datos"
La seguridad de la ase de datos se clasi&ica en dos categoras:
Seguridad del siste$a" (ontrola el acceso % uso de la base de datos a ni!el del siste$a"
Seguridad de los datos" (ontrolan el acceso % uso de la base de datos a ni!el de objetos (tabla, !ista,
etc")"
;n usuario es un no$bre de&inido en la base de datos +ue se puede conectar a ella % acceder a deter$inados
objetos segDn ciertas condiciones +ue de&ine el ad$inistrador" Asociado a cada usuario de la base de datos
?a% un es+ue$a con el $is$o no$bre"
#s+ue$a es una coleccin lgica de objetos (tablas, !istas, secuencias, sinni$os, indices, cluster,
procedures, &unciones, pa+uetes, etc"), por de&ecto cada usuario accede a los objetos de su es+ue$a %
puede acceder a los objetos de otro usuario si este le concede pri!ilegios"
Creacin de usuarios" Al instalar la base de datos se crean dos usuarios con el pri!ilegio de ad$inistrador de
la base de datos (#BA), SHS % SHS3#"
S'S es el propietario de las tablas del diccionario de datos % solo nos conectare$os con este usuario
cuando las instrucciones de Oracle lo e)ijan"
S'S&(. se crea para las tareas ad$inistrati!as de la base de datos" 1o se suelen crear tablas de
usuario en el es+ue$a SHS3#" Para crear otros usuarios es preciso conectarse co$o usuario
SHS3#"
#l comando para crear usuarios es:
(.#A3# ;S#. no$breIusuario 0D#130C0#D *H cla!e
D#CA;L3 3A*L#SPA(# espacioItabla
3#PO.A.H 3A*L#SPA(# espacioItabla
Q;O3A (Z/) O ;1L003#D O1 espacioItabla
P.OC0L# per&il 9
:istas con in$ormacin de usuarios:
;S#.I;S#.S in&or$acin usuario actual"
ALLI;S#.S in&or$acin de todos los usuarios"
.odi$icacin de usuarios:
AL3#. ;S#. no$breIusuario
0D#130C0#D *H cla!e
D#CA;L3 3A*L#SPA(# espacioItabla
3#PO.A.H 3A*L#SPA(# espacioItabla
Q;O3A (Z/) O ;1L003#D O1 espacioItabla
P.OC0L# per&il 9
Borrado de usuarios:
D.OP ;S#. usuario 5(AS(AD#8 9
la opcin (AS(AD# supri$e todos los objetos del usuario antes de borrarlo"
;n Pri,ilegio es la capacidad de un usuario dentro de la base de datos para reali,ar deter$inadas operaciones
o acceder a deter$inados objetos de otros usuarios"
.oles (&unciones)
(O11#(3 AL3#. S#SS0O1, (.#A3# (L;S3#., (.#A3# DA3A*AS# L01Z, (.#A3#
S#Q;#1(#, (.#A3# S#SS0O1, (.#A3# SH1O1H, (.#A3# 3A*L# %
(.#A3# <0#F"
.#SO;.(# (.#A3# (L;S3#., (.#A3# 01D#23HP#, (.#A3# OP#.A3O., (.#A3#
P.O(#D;.#, (.#A3# 3A*L#, (.#A3# S#Q;#1(#, (.#A3# 3.0//#. %
(.#A3# 3HP#"
D*A Posee todos los pri!ilegios de siste$a"
Pri!ilegios sobre los objetos"
AL3#. (3abla % Secuencia)
D#L#3# (3abla, <ista)
#2#(;3# (Procedure)
01D#2 (3abla)
01S#.3 (3abla, <ista)
.#C#.#1(#S (3abla)
S#L#(3 (3abla, <ista, Secuencia)
;PDA3# (3abla, <ista)
n
D
e
f
i
n
i
c
i
n
E
j
e
m
p
l
o
s
.
E
D
I
n
v
o
c
a
a
l
E
d
i
t
o
r
d
e
l
S
i
s
t
e
m
a
.
.
C
L
E
A
R
S
C
R
B
o
r
r
a
l
a
p
a
n
t
a
l
l
a
.
S
T
A
R
T
f
i
c
h
e
r
o
E
j
e
c
u
t
a
e
l
c
o
n
t
e
n
i
d
o
a
l
m
a
c
e
n
a
d
o
e
n
f
i
c
h
e
r
o
.
s
q
l
.
H
a
y
q
u
e
e
s
p
e
c
i
f
i
c
a
r
l
a
r
u
t
a
c
o
m
p
l
e
t
a
.
R
U
N
R
e
p
i
t
e
l
a
e
j
e
c
u
c
i
n
d
e
l
a
!
l
t
i
m
a
s
e
n
t
e
n
c
i
a
o
d
e
l
o
q
u
e
h
a
y
e
n
e
l
"
u
f
f
e
r
.
R
#
$
.
R
.
L
I
S
T
%
i
s
u
a
l
i
&
a
e
l
c
o
n
t
e
n
i
d
o
d
e
l
"
u
f
f
e
r
e
l
c
o
n
t
e
n
i
d
o
d
e
l
a
l
i
n
e
a
n
.
L
I
S
'
.
L
I
S
'
n
.
L
n
.
S
A
E
f
i
c
h
e
r
o
(
l
m
a
c
e
n
a
e
l
c
o
n
t
e
n
i
d
o
d
e
l
"
u
f
f
e
r
e
n
f
i
c
h
e
r
o
.
s
q
l
.
!
E
T
f
i
c
h
e
r
o
R
e
c
u
p
e
r
a
a
l
"
u
f
f
e
r
e
l
c
o
n
t
e
n
i
d
o
d
e
l
f
i
c
h
e
r
o
f
i
c
h
e
r
o
.
s
q
l
.
I
N
"
U
T
(
)
a
d
e
u
n
a
l
*
n
e
a
a
c
o
n
t
i
n
u
a
c
i
n
d
e
l
a
a
c
t
u
a
l
a
c
t
i
v
a
.
D
E
L
E
l
i
m
i
n
a
l
a
l
*
n
e
a
a
c
t
u
a
l
.
S
"
O
O
L
f
i
c
h
e
r
o
'
o
d
a
s
l
a
s
s
a
l
i
d
a
s
p
o
r
p
a
n
t
a
l
l
a
s
e
a
l
m
a
c
e
n
a
n
e
n
f
i
c
h
e
r
o
.
l
s
t
.
S
"
O
O
L
O
#
#
L
i
"
e
r
a
e
l
a
l
m
a
c
e
n
a
m
i
e
n
t
o
d
e
s
a
l
i
d
a
s
p
o
r
p
a
n
t
a
l
l
a
S
e
n
t
e
n
c
i
$
%
e
c
r
e
$
c
i
n
%
e
t
$
&
l
$
s
'
(
i
s
t
$
s
.
C
R
E
A
T
E
T
A
)
L
E
t
a
"
l
a
+
,
c
o
l
+
t
i
p
o
-
d
a
t
o
.
$
/
'
$
#
L
L
0
1
c
o
l
2
t
i
p
o
-
d
a
t
o
.
$
/
'
$
#
L
L
0
1
.
.
.
3
4
5
r
e
a
l
a
t
a
"
l
a
+
c
o
n
l
o
s
c
a
m
p
o
s
e
s
p
e
c
i
f
i
c
a
d
o
s
c
o
m
o
c
o
l
+
1
c
o
l
2
.
.
.
1
s
i
e
n
d
o
c
a
d
a
c
a
m
p
o
d
e
l
t
i
p
o
y
e
x
t
e
n
s
i
n
d
e
f
i
n
i
d
o
s
c
o
n
t
i
p
o
-
d
a
t
o
.
.
D
E
S
C
t
a
"
l
a
+
6
u
e
s
t
r
a
l
a
d
e
s
c
r
i
p
c
i
n
d
e
l
a
t
a
"
l
a
+
1
l
i
s
t
a
n
d
o
l
o
s
n
o
m
"
r
e
s
d
e
l
o
s
c
a
m
p
o
s
1
t
i
p
o
y
e
x
t
e
n
s
i
n
.
.
C
R
E
A
T
E
T
A
)
L
E
t
a
"
l
a
+
c
o
l
+
t
i
p
o
-
d
a
t
o
5
/
$
S
'
R
(
I
$
'
n
o
m
"
r
e
-
c
o
n
s
t
r
a
i
n
t
r
e
s
t
r
i
c
c
i
o
n
e
s
1
c
o
l
2
t
i
p
o
-
d
a
t
o
.
$
/
'
$
#
L
L
0
5
/
$
S
'
R
(
I
$
'
n
o
m
"
r
e
-
c
o
n
s
t
r
a
i
n
t
r
e
s
t
r
i
c
c
i
o
n
e
s
1
.
.
.
4
.
C
R
E
A
T
E
T
A
)
L
E
t
a
"
l
a
+
,
c
o
l
+
t
i
p
o
-
d
a
t
o
1
c
o
l
2
t
i
p
o
-
d
a
t
o
1
.
.
.
1
5
/
$
S
'
R
(
I
$
'
n
o
m
"
r
e
-
c
o
n
s
t
r
a
i
n
t
7
R
I
6
(
R
8
9
E
8
,
c
o
l
+
1
c
o
l
2
.
.
.
3
1
5
/
$
S
'
R
(
I
$
'
n
o
m
"
r
e
-
c
o
n
s
t
r
a
i
n
t
:
/
R
E
I
;
$
9
E
8
,
c
o
l
+
1
c
o
l
2
.
.
.
3
R
E
:
E
R
E
$
5
E
S
t
a
"
l
a
2
,
c
o
l
+
1
c
o
l
2
.
.
.
3
.
/
$
<
E
L
E
'
E
5
(
S
5
(
<
E
0
1
5
/
$
S
'
R
(
I
$
'
n
o
m
"
r
e
-
c
o
n
s
t
r
a
i
n
t
5
H
E
5
9
c
o
n
d
.
.
.
3
4
.
5
r
e
a
c
i
n
d
e
u
n
a
t
a
"
l
a
c
o
n
r
e
s
t
r
i
c
c
i
o
n
e
s
d
e
c
o
l
u
m
n
a
.
.
R
e
s
t
r
i
c
c
i
o
n
e
s
=
.
$
/
'
$
#
L
L
.
#
$
I
>
#
E
.
7
R
I
6
(
R
8
9
E
8
.
<
E
:
(
#
L
'
%
(
L
#
E
.
R
E
:
E
R
E
$
5
E
S
t
a
"
l
a
2
,
c
o
l
+
1
.
.
.
3
.
/
$
<
E
L
E
'
E
5
(
S
5
(
<
E
0
.
5
H
E
5
9
c
o
n
d
E
n
e
s
t
e
o
t
r
o
c
a
s
o
l
a
s
r
e
s
t
r
i
c
c
i
o
n
e
s
s
e
p
o
n
e
n
a
l
f
i
n
a
l
.
.
C
R
E
A
T
E
T
A
)
L
E
t
a
"
l
a
+
,
c
o
l
+
1
c
o
l
2
1
.
.
.
3
A
S
c
o
n
s
u
l
t
a
4
5
r
e
a
c
i
n
d
e
u
n
a
t
a
"
l
a
a
p
a
r
t
i
r
d
e
l
o
s
d
a
t
o
s
r
e
c
o
?
i
d
o
s
m
e
d
i
a
n
t
e
u
n
a
c
o
n
s
u
l
t
a
e
n
o
t
r
a
t
a
"
l
a
.
.
D
R
O
"
T
A
)
L
E
.
u
s
u
a
r
i
o
.
0
t
a
"
l
a
+
.
5
(
S
5
(
<
E
5
/
$
S
'
R
(
I
$
'
S
0
4
S
e
"
o
r
r
a
l
a
t
a
"
l
a
+
d
e
l
u
s
u
a
r
i
o
e
s
p
e
c
i
f
i
c
a
d
o
.
c
o
n
r
e
s
t
r
i
c
c
i
o
n
e
s
i
n
c
l
u
i
d
a
s
0
.
A
L
T
E
R
T
A
)
L
E
t
a
"
l
a
+
.
A
D
D
,
c
o
l
+
t
i
p
o
-
d
a
t
o
1
c
o
l
2
t
i
p
o
-
d
a
t
o
3
0
.
*
O
D
I
#
+
,
c
o
l
+
t
i
p
o
-
d
a
t
o
1
c
o
l
2
t
i
p
o
-
d
a
t
o
3
0
.
A
D
D
C
O
N
S
T
R
A
I
N
T
r
e
s
t
r
i
c
c
i
n
0
.
D
R
O
"
C
O
N
S
T
R
A
I
N
T
r
e
s
t
r
i
c
c
i
n
0
4
6
o
d
i
f
i
c
a
l
a
t
a
"
l
a
1
a
)
a
d
i
e
n
d
o
n
u
e
v
o
s
c
a
m
p
o
s
1
c
a
m
"
i
a
n
d
o
c
a
r
a
c
t
e
r
*
s
t
i
c
a
s
d
e
l
o
s
c
a
m
p
o
s
1
a
)
a
d
i
e
n
d
o
r
e
s
t
r
i
c
c
i
o
n
e
s
1
s
u
p
r
i
m
i
e
n
d
o
r
e
s
t
r
i
c
c
i
o
n
e
s
.
C
R
E
A
T
E
I
E
,
v
i
s
t
a
+
.
,
c
o
l
+
1
c
o
l
2
1
.
.
.
0
A
S
c
o
n
s
u
l
t
a
4
S
e
c
r
e
a
u
n
a
v
i
s
t
a
c
o
n
u
n
o
s
c
a
m
p
o
s
q
u
e
s
e
l
l
a
m
a
r
@
n
c
o
l
+
1
c
o
l
2
.
.
.
q
u
e
s
e
r
e
l
l
e
n
a
n
c
o
n
l
o
s
d
a
t
o
s
p
r
o
v
e
n
i
e
n
t
e
s
d
e
u
n
a
c
o
n
s
u
l
t
a
.
D
R
O
"
I
E
,
v
i
s
t
a
+
4
S
e
e
l
i
m
i
n
a
l
a
v
i
s
t
a
+
.
C
R
E
A
T
E
.
7
#
B
L
I
5
0
S
+
N
O
N
I
*
s
i
n
o
n
i
m
o
+
#
O
R
.
u
s
u
a
r
i
o
.
0
t
a
"
l
a
+
4
5
r
e
a
u
n
s
i
n
n
i
m
o
p
a
r
a
u
n
a
t
a
"
l
a
.
D
R
O
"
S
+
N
O
N
I
*
u
s
u
a
r
i
o
.
s
i
n
o
n
i
m
o
+
4
S
e
"
o
r
r
a
e
l
s
i
n
o
n
i
m
o
+
.
R
E
N
A
*
E
n
o
m
"
r
e
a
n
t
e
r
i
o
r
T
O
n
o
m
"
r
e
n
u
e
v
o
4
S
e
r
e
n
o
m
"
r
a
u
n
a
t
a
"
l
a
c
o
n
u
n
n
o
m
"
r
e
n
u
e
v
o
S
e
n
t
e
n
c
i
$
%
e
c
o
n
s
u
l
t
$
%
e
%
$
t
o
s
.
S
E
L
E
C
T
.
(
L
L
A
<
I
S
'
I
$
5
'
0
.
c
a
m
p
o
+
1
c
a
m
p
o
2
1
.
.
.
A
B
0
#
R
O
*
.
t
a
"
l
a
+
a
l
i
a
s
1
t
a
"
l
a
2
a
l
i
a
s
1
.
.
.
0
,
-
E
R
E
c
o
n
d
!
R
O
U
"
)
+
e
x
p
1
e
x
p
-
A
I
N
!
c
o
n
d
O
R
D
E
R
B
8
c
a
m
p
o
+
.
<
E
S
5
A
(
S
5
0
1
c
a
m
p
o
2
.
<
E
S
5
A
(
S
5
0
1
.
.
.
s
e
l
e
c
c
i
o
n
a
c
a
m
p
o
s
4
d
e
l
a
,
s
3
t
a
"
l
a
,
s
3
4
s
e
l
e
c
c
i
o
n
a
f
i
l
a
s
4
a
?
r
u
p
a
l
a
s
f
i
l
a
s
,
l
o
s
c
a
m
p
o
s
d
e
"
e
n
e
s
t
a
r
e
n
l
a
S
E
L
E
5
'
3
4
f
i
l
t
r
a
l
o
s
?
r
u
p
o
s
s
e
l
e
c
c
i
o
n
a
n
d
o
y
e
l
i
m
i
n
a
n
d
o
4
c
l
a
s
i
f
i
c
a
l
a
s
a
l
i
d
a
.
/
r
d
e
n
a
l
o
s
?
r
u
p
o
s
.
.
S
e
u
s
a
n
c
o
m
i
l
l
a
s
d
o
"
l
e
s
p
a
r
a
p
o
n
e
r
c
a
"
e
c
e
r
a
a
c
a
d
a
c
o
l
u
m
n
a
e
n
e
l
r
e
s
u
l
t
a
d
o
=
.
S
E
L
E
C
T
c
a
m
p
o
+
.
c
$
&
e
c
e
r
$
/
0
:
R
/
6
t
a
"
l
a
+
.
c
o
n
%
i
c
i
o
n
e
s
=
C
h
e
r
e
$
/
'
(
1
D
C
h
e
r
e
E
<
(
<
2
2
E
4
E
<
(
<
3
2
E
C
h
e
r
e
7
R
E
5
I
/
3
1
D
F
4
7
R
E
5
I
/
2
1
D
F
C
h
e
r
e
<
E
S
5
2
3
+
D
4
<
E
S
5
4
1
+
D
C
h
e
r
e
a
G
H
A
N
D
"
G
I
C
h
e
r
e
a
G
H
O
R
"
G
I
C
h
e
r
e
N
O
T
a
G
H
C
h
e
r
e
(
7
E
L
I
5
E
J
(
K
L
C
h
e
r
e
;
R
#
7
/
L
I
5
E
J
(
-
L
C
h
e
r
e
;
R
#
7
/
I
S
N
U
L
L
C
h
e
r
e
;
R
#
7
/
I
S
N
O
T
N
U
L
L
C
h
e
r
e
<
E
7
'
I
N
,
2
F
1
I
F
1
M
F
3
C
h
e
r
e
<
E
7
'
)
E
T
,
E
E
N
+
F
A
N
D
D
F
.
N
O
T
A
S
=
.
L
o
s
l
i
t
e
r
a
l
e
s
v
a
n
e
n
t
r
e
c
o
m
i
l
l
a
s
s
i
m
p
l
e
s
.
S
i
s
e
u
s
a
n
c
o
m
o
d
i
n
e
s
e
n
u
n
a
c
o
m
p
a
r
a
c
i
n
,
K
1
-
3
h
a
y
q
u
e
u
t
i
l
i
&
a
r
L
I
5
E
y
n
o
1
.
S
i
e
l
c
a
m
p
o
a
c
o
m
p
a
r
a
r
e
s
d
e
t
i
p
o
5
H
(
R
1
s
e
p
u
e
d
e
u
t
i
l
i
&
a
r
=
(
7
E
G
6
e
x
p
r
6
(
7
E
L
I
9
E
7
e
x
p
r
7
S
e
r
e
l
l
e
n
a
a
e
s
p
a
c
i
o
s
t
o
d
a
l
a
l
o
n
?
i
t
u
d
d
e
l
a
v
a
r
i
a
"
l
e
5
H
(
R
#
u
n
c
i
o
n
e
s
%
e
s
e
l
e
c
c
i
n
%
e
%
$
t
o
s
O
U
T
E
R
8
O
I
N
9
:
;
S
e
l
e
c
c
i
o
n
a
a
l
?
u
n
a
s
f
i
l
a
s
d
e
u
n
a
t
a
"
l
a
a
u
n
q
u
e
n
o
t
e
n
?
a
n
c
o
r
r
e
s
p
o
n
d
e
n
c
i
a
c
o
n
l
a
s
f
i
l
a
s
d
e
l
a
o
t
r
a
t
a
"
l
a
.
S
e
p
o
n
e
N
a
l
a
t
a
"
l
a
d
o
n
d
e
e
s
t
@
n
l
a
s
f
i
l
a
s
q
u
e
n
o
t
e
n
d
r
@
n
c
o
r
r
e
s
p
o
n
d
e
n
c
i
a
e
n
l
a
o
t
r
a
.
S
E
L
E
C
T
(
.
<
(
'
/
+
1
B
.
<
(
'
/
2
:
R
/
6
(
B
,
-
E
R
E
(
.
5
L
(
%
E
G
B
.
5
L
(
%
E
9
:
;
9
e
n
e
s
t
e
c
$
s
o
h
$
&
r
<
f
i
l
$
s
%
e
l
$
t
$
&
l
$
A
q
u
e
n
o
t
e
n
=
$
n
c
o
r
r
e
s
p
o
n
%
e
n
c
i
$
e
n
l
$
t
$
&
l
$
)
>
p
o
r
l
o
q
u
e
l
o
s
c
$
m
p
o
s
%
e
l
$
t
$
&
l
$
)
s
e
r
e
l
l
e
n
$
r
<
n
c
o
m
o
N
U
L
L
;
.
U
N
I
O
N
,
(
L
L
3
#
n
e
l
o
s
r
e
s
u
l
t
a
d
o
s
d
e
d
o
s
c
o
n
s
u
l
t
a
s
.
L
a
s
f
i
l
a
s
d
u
p
l
i
c
a
d
a
s
s
e
r
e
d
u
c
e
n
a
u
n
a
e
x
c
e
p
t
o
s
i
s
e
i
n
d
i
c
a
(
L
L
.
S
E
L
E
C
T
c
a
m
p
o
+
1
c
a
m
p
o
2
#
R
O
*
t
a
"
l
a
+
U
N
I
O
N
S
E
L
E
C
T
c
a
m
p
o
+
1
c
a
m
p
o
2
#
R
O
*
t
a
"
l
a
2
.
I
N
T
E
R
S
E
C
T
<
e
v
u
e
l
v
e
l
a
s
f
i
l
a
s
c
o
m
u
n
e
s
d
e
d
o
s
c
o
n
s
u
l
t
a
s
.
S
E
L
E
C
T
c
a
m
p
o
+
1
c
a
m
p
o
2
#
R
O
*
t
a
"
l
a
+
I
N
T
E
R
S
E
C
T
S
E
L
E
C
T
c
a
m
p
o
+
1
c
a
m
p
o
2
#
R
O
*
t
a
"
l
a
2
.
*
I
N
U
S
<
e
v
u
e
l
v
e
l
a
s
f
i
l
a
s
d
e
t
a
"
l
a
+
q
u
e
n
o
e
s
t
@
n
e
n
t
a
"
l
a
2
.
S
E
L
E
C
T
c
a
m
p
o
+
1
c
a
m
p
o
2
#
R
O
*
t
a
"
l
a
+
*
I
N
U
S
S
E
L
E
C
T
c
a
m
p
o
+
1
c
a
m
p
o
2
#
R
O
*
t
a
"
l
a
2
#
u
n
c
i
o
n
e
s
%
e
m
$
n
i
p
u
l
$
c
i
n
%
e
%
$
t
o
s
.
I
N
S
E
R
T
I
N
T
O
t
a
"
l
a
,
c
o
l
+
1
c
o
l
2
1
O
3
A
L
U
E
S
,
v
a
l
+
1
v
a
l
2
1
O
3
I
n
s
e
r
t
a
e
n
l
a
s
c
o
l
u
m
n
a
s
l
o
s
v
a
l
o
r
e
s
e
s
p
e
c
i
f
i
c
a
d
o
s
.
S
i
n
o
s
e
i
n
d
i
c
a
n
l
a
s
c
o
l
s
e
i
n
s
e
r
t
a
r
@
n
v
a
l
o
r
e
s
e
n
t
o
d
o
s
l
o
s
c
a
m
p
o
s
.
I
$
S
E
R
'
I
$
'
/
E
6
7
L
E
$
/
6
1
'
E
L
%
(
L
#
E
S
J
P
o
r
?
e
L
1
J
Q
M
D
D
E
E
R
R
H
L
4
.
I
N
S
E
R
T
I
N
T
O
t
a
"
l
a
+
,
c
o
l
+
1
c
o
l
2
1
O
3
S
E
L
E
C
T
,
S
o
l
+
1
S
o
l
2
1
O
3
#
R
O
*
t
a
"
l
a
2
,
,
-
E
R
E
c
o
n
d
3
4
I
n
s
e
r
t
a
e
n
l
a
s
c
o
l
d
e
l
a
t
a
"
l
a
+
l
o
s
v
a
l
o
r
e
s
d
e
l
a
s
S
o
l
d
e
l
a
t
a
"
l
a
2
q
u
e
c
u
m
p
l
a
n
l
a
c
o
n
d
i
c
i
n
.
I
$
S
E
R
'
I
$
'
/
E
6
7
L
E
,
$
/
6
1
'
E
L
3
S
E
L
E
5
'
,
$
/
6
+
1
'
E
L
+
3
:
R
/
6
E
6
7
L
E
2
T
H
E
R
E
7
/
B
G
L
B
i
l
"
a
o
L
4
.
U
"
D
A
T
E
t
a
"
l
a
S
E
T
c
o
l
+
G
v
a
l
+
1
c
o
l
2
G
v
a
l
2
,
-
E
R
E
c
o
n
d
4
6
o
d
i
f
i
c
a
l
a
s
c
o
l
u
m
n
a
s
d
e
l
a
t
a
"
l
a
c
o
n
l
o
s
v
a
l
o
r
e
s
i
n
d
i
c
a
d
o
s
e
n
l
a
s
f
i
l
a
s
q
u
e
c
u
m
p
l
a
n
l
a
c
o
n
d
i
c
i
n
.
#
7
<
(
'
E
E
6
7
L
E
S
E
'
7
R
/
%
G
L
B
i
&
S
a
i
a
L
T
H
E
R
E
7
R
/
%
G
L
%
i
&
c
a
y
a
L
4
.
U
"
D
A
T
E
t
a
"
l
a
S
E
T
c
o
l
+
G
v
a
l
+
1
c
o
l
2
G
v
a
l
2
,
-
E
R
E
c
o
l
I
G
,
S
E
L
E
5
'
O
3
4
6
o
d
i
f
i
c
a
l
a
s
c
o
l
u
m
n
a
s
d
e
l
a
t
a
"
l
a
c
o
n
l
o
s
v
a
l
o
r
e
s
i
n
d
i
c
a
d
o
s
e
n
l
a
s
f
i
l
a
s
q
u
e
c
u
m
p
l
a
n
l
a
c
o
n
d
i
c
i
n
f
r
u
t
o
d
e
l
a
S
E
L
E
5
'
.
#
7
<
(
'
E
E
6
7
L
E
S
E
'
7
R
/
%
G
L
B
i
&
S
a
i
a
L
T
H
E
R
E
7
R
/
%
G
,
S
E
L
E
5
'
7
R
/
%
:
R
/
6
7
R
/
%
I
$
5
I
(
S
T
H
E
R
E
5
7
G
M
H
3
4
.
U
"
D
A
T
E
t
a
"
l
a
+
S
E
T
,
c
o
l
1
c
o
l
2
1
O
3
G
,
s
e
l
e
c
t
S
o
l
+
1
S
o
l
2
O
:
R
/
6
t
a
"
l
a
2
3
,
-
E
R
E
c
o
n
d
4
6
o
d
i
f
i
c
a
l
a
s
c
o
l
u
m
n
a
s
d
e
l
a
t
a
"
l
a
+
c
o
n
l
o
s
v
a
l
o
r
e
s
s
e
l
e
c
c
i
o
n
a
d
o
s
d
e
l
a
t
a
"
l
a
2
1
e
n
l
a
s
f
i
l
a
s
q
u
e
c
u
m
p
l
a
n
l
a
c
o
n
d
i
c
i
n
.
#
7
<
(
'
E
E
6
7
L
E
S
E
'
,
(
7
E
$
/
6
3
G
,
S
E
L
E
5
'
#
7
7
E
R
,
(
7
E
$
/
6
3
:
R
/
6
E
6
7
L
E
T
H
E
R
E
<
$
I
G
I
F
M
D
E
D
M
E
3
T
H
E
R
E
7
R
/
%
G
L
B
i
&
S
a
i
a
L
4
.
D
E
L
E
T
E
9
#
R
O
*
;
t
a
"
l
a
,
-
E
R
E
c
o
n
d
4
B
o
r
r
a
d
e
l
a
t
a
"
l
a
l
a
s
f
i
l
a
s
q
u
e
c
u
m
p
l
a
n
l
a
c
o
n
d
i
c
i
n
.
<
E
L
E
'
E
:
R
/
6
E
6
7
L
E
T
H
E
R
E
7
R
/
%
I
$
,
S
E
L
E
5
'
7
R
/
%
:
R
/
6
<
E
7
(
R
'
3
4
.
C
O
*
*
I
T
4
%
a
l
i
d
a
t
o
d
o
s
l
o
s
c
a
m
"
i
o
s
h
e
c
h
a
s
e
n
l
a
B
<
d
e
s
d
e
q
u
e
a
"
r
i
m
o
s
l
a
!
l
t
i
m
a
s
e
s
i
n
o
d
e
s
d
e
e
l
!
l
t
i
m
o
5
/
6
6
I
'
.
R
O
L
L
)
A
C
5
4
<
e
s
h
a
c
e
l
o
s
c
a
m
"
i
o
s
e
n
l
a
B
<
d
e
s
d
e
e
l
!
l
t
i
m
o
5
/
6
6
I
'
.
A
U
T
O
C
O
*
*
I
T
E
s
u
n
5
/
6
6
I
'
a
u
t
o
m
@
t
i
c
o
q
u
e
s
e
e
j
e
c
u
t
a
t
r
a
s
c
a
d
a
s
e
n
t
e
n
c
i
a
7
a
r
a
a
c
t
i
v
a
r
(
#
'
/
5
/
6
6
I
'
=
,
S
E
'
(
#
'
/
5
/
6
6
I
'
/
$
3
O
t
r
$
s
f
u
n
c
i
o
n
e
s
.
D
E
C
O
D
E
,
v
a
r
1
v
a
l
+
1
c
o
d
+
1
v
a
l
2
1
c
o
d
2
.
.
.
1
v
a
l
d
e
f
e
c
t
o
3
S
i
U
v
a
r
U
e
s
i
?
u
a
l
a
a
l
?
!
n
U
v
a
l
U
1
l
o
s
u
s
t
i
t
u
y
e
p
o
r
s
u
U
c
o
d
U
1
y
s
i
n
o
c
o
i
n
c
i
d
e
1
p
o
r
e
l
v
a
l
o
r
p
o
r
d
e
f
e
c
t
o
.
<
E
5
/
<
E
,
S
E
V
/
1
U
6
U
1
U
6
#
P
E
R
U
1
U
H
U
1
U
H
/
6
B
R
E
U
1
U
S
I
$
<
E
:
I
$
I
R
U
3
.
S
I
?
E
,
e
x
p
r
e
s
i
n
3
<
e
v
u
e
l
v
e
e
l
n
!
m
e
r
o
d
e
"
y
t
e
s
q
u
e
o
c
u
p
a
e
x
p
.
S
E
L
E
5
'
%
S
I
W
E
,
U
(
6
/
R
E
B
I
E
'
(
U
3
:
R
/
6
<
#
(
L
+
F
.
U
S
E
R
6
u
e
s
t
r
a
e
l
u
s
u
a
r
i
o
q
u
e
e
s
t
@
c
o
n
e
c
t
a
d
o
.
S
E
L
E
5
'
#
S
E
R
:
R
/
6
<
#
(
L
S
5
/
'
'
.
S
-
O
,
U
S
E
R
6
u
e
s
t
r
a
q
u
X
u
s
u
a
r
i
o
s
o
m
o
s
.
S
H
/
T
#
S
E
R
e
l
u
s
u
a
r
i
o
e
s
U
S
5
/
'
'
U
.
U
I
D
<
e
v
u
e
l
v
e
e
l
i
d
e
n
t
i
f
i
c
a
d
o
r
d
e
l
u
s
u
a
r
i
a
c
t
u
a
l
.
C
O
N
N
E
C
T
u
s
u
a
r
i
o
Y
p
a
s
s
C
o
r
d
5
o
n
e
c
t
a
e
l
u
s
u
a
r
i
o
c
o
n
s
u
p
a
s
s
C
o
r
d
a
l
a
B
<
.
5
/
$
$
E
5
'
S
5
/
'
'
Y
'
I
;
E
R
5
/
$
E
5
'
(
<
/
#
u
n
c
i
o
n
e
s
$
r
i
t
m
@
t
i
c
$
s
.
A
)
S
,
n
3
<
e
v
u
e
l
v
e
e
l
v
a
l
o
r
a
"
s
o
l
u
t
o
d
e
Z
n
Z
.
S
E
L
E
5
'
(
B
S
,
2
3
:
R
/
6
<
#
(
L
2
.
S
E
L
E
5
'
(
B
S
,
-
2
3
:
R
/
6
<
#
(
L
2
.
C
E
I
L
,
n
3
/
"
t
i
e
n
e
e
l
v
a
l
o
r
e
n
t
e
r
o
i
n
m
d
i
a
t
a
m
e
n
t
e
s
u
p
e
r
i
o
r
o
i
?
u
a
l
a
Z
n
Z
.
S
E
L
E
5
'
5
E
I
L
,
+
I
.
2
3
:
R
/
6
<
#
(
L
+
M
.
S
E
L
E
5
'
5
E
I
L
,
+
I
3
:
R
/
6
<
#
(
L
+
I
.
S
E
L
E
5
'
5
E
I
L
,
-
+
I
.
2
3
:
R
/
6
<
#
(
L
-
+
I
.
#
L
O
O
R
,
n
3
/
"
t
i
e
n
e
e
l
v
a
l
o
r
e
n
t
e
r
o
i
n
m
d
i
a
t
a
m
e
n
t
e
i
n
f
e
r
i
o
r
o
i
?
u
a
l
a
Z
n
Z
.
S
E
L
E
5
'
:
L
/
/
R
,
+
I
.
2
3
:
R
/
6
<
#
(
L
+
I
.
S
E
L
E
5
'
:
L
/
/
R
,
+
I
3
:
R
/
6
<
#
(
L
+
I
.
S
E
L
E
5
'
:
L
/
/
R
,
-
+
I
.
2
3
:
R
/
6
<
#
(
L
-
+
M
.
*
O
D
,
m
1
n
3
<
e
v
u
e
l
v
e
e
l
r
e
s
t
o
d
e
d
i
v
i
d
i
r
m
Y
n
.
S
E
L
E
5
'
6
/
<
,
+
+
1
M
3
:
R
/
6
<
#
(
L
I
.
S
E
L
E
5
'
6
/
<
,
+
+
1
F
3
:
R
/
6
<
#
(
L
+
+
.
N
L
,
v
a
l
o
r
1
e
x
p
r
e
s
i
n
3
S
i
Z
v
a
l
o
r
Z
e
s
$
#
L
L
1
l
o
s
u
s
t
i
t
u
y
e
p
o
r
Z
e
x
p
r
e
s
i
n
Z
4
s
i
n
o
1
d
e
v
u
e
l
v
e
Z
v
a
l
o
r
Z
.
S
E
L
E
5
'
S
(
L
(
R
I
/
1
5
/
6
I
S
I
/
$
1
S
(
L
(
R
I
/
N
$
%
L
,
5
/
6
I
S
I
/
$
1
F
3
:
R
/
6
E
6
7
L
E
4
.
"
O
,
E
R
,
m
1
n
3
<
e
v
u
e
l
v
e
m
n
.
S
E
L
E
5
'
7
/
T
E
R
,
2
1
I
3
:
R
/
6
<
#
(
L
H
.
S
E
L
E
5
'
7
/
T
E
R
,
I
1
2
3
:
R
/
6
<
#
(
L
Q
.
R
O
U
N
D
,
n
u
m
e
r
o
.
1
n
0
3
R
e
d
o
n
d
e
a
n
!
m
e
r
o
c
o
n
Z
n
Z
d
e
c
i
m
a
l
e
s
.
S
E
L
E
5
'
R
/
#
$
<
,
+
.
D
E
1
+
3
:
R
/
6
<
#
(
L
+
.
E
.
S
E
L
E
5
'
R
/
#
$
<
,
+
.
D
E
3
:
R
/
6
<
#
(
L
2
.
S
E
L
E
5
'
R
/
#
$
<
,
+
2
R
.
D
E
1
-
+
3
:
R
/
6
<
#
(
L
+
I
F
.
S
I
!
N
,
v
a
l
o
r
3
I
n
d
i
c
a
e
l
s
i
?
n
o
d
e
Z
v
a
l
o
r
Z
.
S
E
L
E
5
'
S
I
;
$
,
H
.
2
3
:
R
/
6
<
#
(
L
+
.
S
E
L
E
5
'
S
I
;
$
,
-
H
.
2
3
:
R
/
6
<
#
(
L
-
+
.
S
A
R
T
,
n
3
<
e
v
u
e
l
v
e
l
a
r
a
i
&
c
u
a
d
r
a
d
a
d
e
n
.
S
E
L
E
5
'
S
>
R
'
,
Q
3
:
R
/
6
<
#
(
L
I
.
T
R
U
N
C
,
n
u
m
e
r
o
.
1
m
0
3
'
r
u
n
c
a
n
!
m
e
r
o
c
o
n
Z
n
Z
d
e
c
i
m
a
l
e
s
.
S
E
L
E
5
'
'
R
#
$
5
,
+
.
D
E
1
+
3
:
R
/
6
<
#
(
L
+
.
D
.
S
E
L
E
5
'
'
R
#
$
5
,
+
.
D
E
3
:
R
/
6
<
#
(
L
+
.
S
E
L
E
5
'
'
R
#
$
5
,
+
2
R
.
D
E
1
-
+
3
:
R
/
6
<
#
(
L
+
2
F
.
A
R
I
A
N
C
E
,
.
<
I
S
'
I
$
5
'
0
v
a
l
o
r
3
<
e
v
u
e
l
v
e
l
a
v
a
r
i
a
n
&
a
d
e
l
o
s
v
a
l
o
r
e
s
.
S
E
L
E
5
'
%
(
R
I
(
$
5
E
,
S
(
L
(
R
I
/
3
:
R
/
6
E
6
7
L
E
.
A
!
,
n
3
5
a
l
c
u
l
a
e
l
v
a
l
o
r
m
e
d
i
o
d
e
n
i
?
n
o
r
a
n
d
o
l
o
s
v
a
l
o
r
e
s
n
u
l
o
s
.
S
E
L
E
5
'
(
%
;
,
E
<
(
<
3
:
R
/
6
E
6
7
L
E
.
C
O
U
N
T
,
B
A
e
x
p
r
e
s
i
n
3
5
u
e
n
t
a
t
o
d
a
s
l
a
s
f
i
l
a
s
,
B
3
o
l
a
s
q
u
e
n
o
t
i
e
n
e
n
v
a
l
o
r
n
u
l
o
.
S
E
L
E
5
'
5
/
#
$
'
,
B
3
:
R
/
6
E
6
7
L
E
2
M
.
S
E
L
E
5
'
5
/
#
$
'
,
5
/
6
I
S
I
/
$
3
:
R
/
6
E
6
7
L
E
+
F
.
S
E
L
E
5
'
5
/
#
$
'
,
<
I
S
'
I
$
5
'
'
E
L
3
:
R
/
6
E
6
7
L
E
+
E
.
*
A
B
,
e
x
p
r
e
s
i
n
3
5
a
l
c
u
l
a
e
l
m
@
x
i
m
o
v
a
l
o
r
d
e
l
a
e
x
p
r
e
s
i
n
.
S
E
L
E
5
'
6
(
V
,
S
#
E
L
<
/
3
:
R
/
6
E
6
7
L
E
2
D
F
F
.
*
I
N
,
e
x
p
r
e
s
i
n
3
5
a
l
c
u
l
a
e
l
m
*
n
i
m
o
v
a
l
o
r
d
e
l
a
e
x
p
r
e
s
i
n
.
S
E
L
E
5
'
6
I
$
,
S
#
E
L
<
/
3
:
R
/
6
E
6
7
L
E
E
F
F
.
S
U
*
,
e
x
p
r
e
s
i
n
3
/
"
t
i
e
n
e
l
a
s
u
m
a
d
e
l
o
s
v
a
l
o
r
e
s
d
e
l
a
e
x
p
r
e
s
i
n
.
S
E
L
E
5
'
S
#
6
,
S
#
E
L
<
/
3
:
R
/
6
E
6
7
L
E
+
I
F
F
F
F
#
u
n
c
i
o
n
e
s
%
e
l
i
s
t
$
s
.
!
R
E
A
T
E
S
T
,
v
a
l
o
r
+
1
v
a
l
o
r
2
.
.
.
3
/
"
t
i
e
n
e
e
l
m
a
y
o
r
v
a
l
o
r
d
e
l
a
l
i
s
t
a
.
S
E
L
E
5
'
;
R
E
(
'
E
S
'
,
$
/
'
(
+
1
$
/
'
(
2
1
$
/
'
(
I
3
:
R
/
6
$
/
'
(
S
.
L
E
A
S
T
,
v
a
l
o
r
+
1
v
a
l
o
r
2
.
.
.
3
/
"
t
i
e
n
e
e
l
m
e
n
o
r
v
a
l
o
r
d
e
l
a
l
i
s
t
a
.
S
E
L
E
5
'
L
E
(
S
'
,
$
/
'
(
+
1
$
/
'
(
2
1
$
/
'
(
I
3
:
R
/
6
$
/
'
(
S
#
u
n
c
i
o
n
e
s
%
e
c
$
%
e
n
$
s
%
e
c
$
r
$
c
t
e
r
e
s
.
C
-
R
,
n
3
<
e
v
u
e
l
v
e
e
l
c
a
r
@
c
t
e
r
d
e
c
d
i
?
o
(
S
5
I
I
n
.
S
E
L
E
5
'
5
H
R
,
E
D
3
:
R
/
6
<
#
(
L
(
.
A
S
C
I
I
,
c
a
d
3
<
e
v
u
e
l
v
e
e
l
c
d
i
?
o
(
S
5
I
I
d
e
l
a
p
r
i
m
e
r
a
l
e
t
r
a
d
e
U
c
a
d
U
.
S
E
L
E
5
'
S
5
I
I
,
U
(
n
d
o
n
i
U
3
:
R
/
6
<
#
(
L
E
D
.
C
O
N
C
A
T
,
c
a
d
+
1
c
a
d
2
3
c
a
d
U
C
C
c
a
d
U
5
o
n
c
a
t
e
n
a
U
c
a
d
+
U
c
o
n
U
c
a
d
2
U
.
S
E
L
E
5
'
5
/
$
5
(
'
,
U
S
o
y
U
1
$
/
6
3
:
R
/
6
E
6
7
L
E
.
S
E
L
E
5
'
U
S
o
y
U
A
A
$
/
6
:
R
/
6
E
6
7
L
E
S
o
y
L
(
$
<
E
R
.
L
O
,
E
R
,
c
a
d
3
<
e
v
u
e
l
v
e
U
c
a
d
U
t
o
d
o
e
n
m
i
n
!
s
c
u
l
a
s
.
S
E
L
E
5
'
L
/
T
E
R
,
$
/
6
3
:
R
/
6
E
6
7
L
E
l
a
n
d
e
r
.
U
"
"
E
R
,
c
a
d
3
<
e
v
u
e
l
v
e
U
c
a
d
U
t
o
d
o
e
n
m
a
y
!
s
c
u
l
a
s
.
S
E
L
E
5
'
#
7
7
E
R
,
$
/
6
3
:
R
/
6
E
6
7
L
E
L
(
$
<
E
R
.
I
N
I
T
C
A
"
,
c
a
d
3
<
e
v
u
e
l
v
e
e
l
+
[
c
a
r
@
c
t
e
r
d
e
c
a
d
e
n
m
a
y
!
s
c
u
l
a
s
y
e
l
r
e
s
t
o
e
n
m
i
n
!
s
c
u
l
a
s
.
S
E
L
E
5
'
I
$
I
'
5
(
7
,
$
/
6
3
:
R
/
6
E
6
7
L
E
L
a
n
d
e
r
.
L
"
A
D
,
c
a
d
+
1
n
.
1
c
a
d
2
0
3
(
)
a
d
e
a
l
a
i
&
q
u
i
e
r
d
a
d
e
U
c
a
d
+
U
l
o
s
c
a
r
a
c
t
e
r
e
s
d
e
U
c
a
d
2
U
h
a
s
t
a
t
e
n
e
r
u
n
a
c
a
d
e
n
a
d
e
l
o
n
?
i
t
u
d
n
.
S
E
L
E
5
'
L
7
(
<
,
U
L
a
n
d
e
r
U
1
H
1
U
-
U
3
:
R
/
6
<
#
(
L
-
-
L
a
n
d
e
r
.
S
E
L
E
5
'
L
7
(
<
,
U
L
a
n
d
e
r
U
1
H
3
:
R
/
6
<
#
(
L
U
L
a
n
d
e
r
U
.
R
"
A
D
,
c
a
d
+
1
n
.
1
c
a
d
2
0
3
(
)
a
d
e
a
l
a
d
e
r
e
c
h
a
d
e
U
c
a
d
+
U
l
o
s
c
a
r
a
c
t
e
r
e
s
d
e
U
c
a
d
2
U
h
a
s
t
a
t
e
n
e
r
u
n
a
c
a
d
e
n
a
d
e
l
o
n
?
i
t
u
d
n
.
S
E
L
E
5
'
R
7
(
<
,
U
L
a
n
d
e
r
U
1
H
1
U
-
U
3
:
R
/
6
<
#
(
L
L
a
n
d
e
r
-
-
.
S
E
L
E
5
'
R
7
(
<
,
U
L
a
n
d
e
r
U
1
H
3
:
R
/
6
<
#
(
L
U
L
a
n
d
e
r
U
.
L
T
R
I
*
,
c
a
d
.
1
s
e
t
0
3
<
e
v
u
e
l
v
e
U
c
a
d
U
c
o
n
e
l
?
r
u
p
o
d
e
c
a
r
a
c
t
e
r
e
s
d
e
U
s
e
t
U
o
m
i
t
i
d
o
s
p
o
r
l
a
i
&
q
u
i
e
r
d
a
.
S
E
L
E
5
'
L
'
R
I
6
,
U
a
"
a
L
L
L
U
1
U
a
U
3
:
R
/
6
<
#
(
L
"
L
L
L
.
S
E
L
E
5
'
L
'
R
I
6
,
U
a
"
a
L
L
L
U
3
:
R
/
6
<
#
(
L
U
a
"
a
L
L
L
U
.
R
T
R
I
*
,
c
a
d
.
1
s
e
t
0
3
<
e
v
u
e
l
v
e
U
c
a
d
U
c
o
n
e
l
?
r
u
p
o
d
e
c
a
r
a
c
t
e
r
e
s
.
S
E
L
E
5
'
R
'
R
I
6
,
U
L
L
L
4
4
4
4
U
1
U
4
U
3
:
R
/
6
<
#
(
L
L
L
L
d
e
U
s
e
t
U
o
m
i
t
i
d
o
s
p
o
r
l
a
d
e
r
e
c
h
a
.
S
E
L
E
5
'
R
'
R
I
6
,
U
a
"
a
L
L
L
U
3
:
R
/
6
<
#
(
L
U
a
"
a
L
L
L
U
.
R
E
"
L
A
C
E
,
c
a
d
1
c
a
d
+
.
1
c
a
d
2
0
3
<
e
v
u
e
l
v
e
U
c
a
d
U
c
o
n
c
a
d
a
o
c
u
r
r
e
n
c
i
a
U
c
a
d
+
U
s
u
s
t
i
t
u
i
d
a
p
o
r
U
c
a
d
2
U
.
R
E
7
L
(
5
E
,
U
a
"
c
d
a
"
e
U
1
U
a
"
U
1
U
x
x
U
3
:
R
/
6
<
#
(
L
x
x
c
d
x
x
e
.
R
E
7
L
(
5
E
,
U
a
"
c
d
a
"
e
U
1
U
"
U
3
:
R
/
6
<
#
(
L
U
a
c
d
a
e
U
.
S
U
)
S
T
R
,
c
a
d
1
i
n
i
c
i
o
.
1
n
0
3
<
e
v
u
e
l
v
e
e
l
t
r
o
&
o
d
e
U
c
a
d
U
q
u
e
e
m
p
i
e
&
a
e
n
l
a
p
o
s
i
c
i
n
i
n
i
c
i
o
y
t
i
e
n
e
d
e
l
o
n
?
i
t
u
d
n
.
S
#
B
S
'
R
,
U
(
B
5
<
E
:
;
U
1
I
1
2
3
:
R
/
6
<
#
(
L
5
<
.
S
#
B
S
'
R
,
U
(
B
5
<
E
:
;
U
1
-
I
1
2
3
:
R
/
6
<
#
(
L
E
:
.
S
#
B
S
'
R
,
U
(
B
5
<
E
:
;
U
1
I
3
:
R
/
6
<
#
(
L
5
<
E
:
;
.
T
R
A
N
S
L
A
T
E
,
c
a
d
+
1
c
a
d
2
1
c
a
d
I
3
<
e
v
u
e
l
v
e
U
c
a
d
+
U
c
o
n
l
o
s
c
a
r
a
c
t
e
r
e
s
e
n
c
o
n
t
r
a
d
o
s
e
n
U
c
a
d
2
U
s
u
s
t
i
t
u
i
d
o
s
p
o
r
l
o
s
c
a
r
a
c
t
e
r
e
s
d
e
U
c
a
d
I
U
.
'
R
(
$
S
L
(
'
E
,
U
a
"
c
"
a
f
U
1
U
a
"
U
1
U
+
2
U
3
+
2
c
2
+
f
.
'
R
(
$
S
L
(
'
E
,
U
a
"
c
"
a
f
U
1
U
a
"
U
3
U
c
f
U
.
I
N
S
T
R
,
c
a
d
+
1
c
a
d
2
.
1
c
o
m
i
e
n
&
o
.
1
m
0
0
3
<
e
v
u
e
l
v
e
l
a
p
o
s
i
c
i
n
d
e
l
a
m
-
X
s
i
m
a
o
c
u
r
r
e
n
c
i
a
d
e
U
c
a
d
2
U
e
n
U
c
a
d
+
U
e
m
p
e
&
a
n
d
o
l
a
"
!
s
q
u
e
d
a
e
n
l
a
p
o
s
i
c
i
n
c
o
m
i
e
n
&
o
.
I
$
S
'
R
,
U
;
u
a
d
a
l
u
p
e
U
1
U
a
U
1
2
1
2
3
D
.
I
$
S
'
R
,
U
;
u
a
d
a
l
u
p
e
U
1
U
a
U
1
-
D
1
2
3
I
.
I
$
S
'
R
,
U
;
u
a
d
a
l
u
p
e
U
1
U
u
U
3
2
.
L
E
N
!
T
-
,
c
a
d
3
<
e
v
u
e
l
v
e
e
l
n
!
m
e
r
o
d
e
c
a
r
a
c
t
e
r
e
s
d
e
U
c
a
d
U
.
L
E
$
;
'
H
,
U
#
r
r
i
t
x
e
U
3
R
#
u
n
c
i
o
n
e
s
p
$
r
$
m
$
n
e
j
o
%
e
f
e
c
h
$
s
.
S
+
S
D
A
T
E
<
e
v
u
e
l
v
e
l
a
f
e
c
h
a
d
e
l
s
i
s
t
e
m
a
.
S
E
L
E
5
'
S
8
S
<
(
'
E
:
R
/
6
<
#
(
L
F
2
Y
+
F
Y
F
2
.
A
D
D
D
*
O
N
T
-
S
,
f
e
c
h
a
1
n
3
(
)
a
d
e
n
m
e
s
e
s
a
l
a
f
e
c
h
a
.
S
E
L
E
5
'
(
<
<
-
6
/
$
'
H
S
,
U
+
R
Y
F
+
Y
F
2
U
1
2
3
:
R
/
6
<
#
(
L
+
R
Y
F
I
Y
F
2
.
L
A
S
T
D
D
A
+
,
f
e
c
h
a
3
<
e
v
u
e
l
v
e
l
a
f
e
c
h
a
d
e
l
!
l
t
i
m
o
d
*
a
d
e
e
s
e
m
e
s
.
S
E
L
E
5
'
L
(
S
'
-
<
(
8
,
U
F
+
Y
F
I
Y
F
2
U
3
:
R
/
6
<
#
(
L
I
+
Y
F
I
Y
F
2
.
*
O
N
T
-
S
D
)
E
T
,
E
E
N
,
f
e
c
h
a
+
1
f
e
c
h
a
2
3
<
e
v
u
e
l
v
e
a
d
i
f
e
r
e
n
c
i
a
e
n
m
e
s
e
s
e
n
t
r
e
a
m
"
a
s
f
e
c
h
a
s
.
S
E
L
E
5
'
6
/
$
'
H
S
-
B
E
'
T
E
E
$
,
S
8
S
<
(
'
E
1
f
e
c
h
a
$
a
c
3
Y
+
2
5
a
l
c
u
l
a
r
*
a
l
a
e
d
a
d
.
N
E
B
T
D
D
A
+
,
f
e
c
h
a
1
c
a
d
3
<
e
v
u
e
l
v
e
l
a
f
e
c
h
a
d
e
l
p
r
i
m
e
r
d
*
a
d
e
l
a
s
e
m
a
n
a
i
n
d
i
c
a
d
o
p
o
r
U
c
a
d
U
d
e
s
p
u
X
s
d
e
l
a
f
e
c
h
a
i
n
d
i
c
a
d
a
p
o
r
f
e
c
h
a
.
S
E
L
E
5
'
$
E
V
'
-
<
(
8
,
S
8
S
<
(
'
E
1
\
P
#
E
%
E
S
U
3
F
I
Y
+
F
Y
F
2
#
u
n
c
i
o
n
e
s
%
e
c
o
n
(
e
r
s
i
n
.
T
O
D
C
-
A
R
,
:
E
5
H
(
1
U
f
o
r
m
a
t
o
U
3
5
o
n
v
i
e
r
t
e
l
a
f
e
c
h
a
d
e
t
i
p
o
<
(
'
E
a
t
i
p
o
%
(
R
5
H
(
R
2
c
o
n
e
l
f
o
r
m
a
t
o
e
s
p
e
c
i
f
i
c
a
d
o
S
i
S
8
S
<
(
'
E
G
+
R
Y
+
F
Y
F
2
1
h
a
c
i
e
n
d
o
S
E
L
E
5
'
'
/
-
5
H
(
R
.
.
.
.
.
.
,
S
8
S
<
(
'
E
1
U
y
y
y
y
U
3
:
R
/
6
<
#
(
L
2
F
F
2
.
.
.
,
S
8
S
<
(
'
E
1
U
y
y
U
3
:
R
/
6
<
#
(
L
F
2
.
.
.
,
S
8
S
<
(
'
E
1
U
q
U
3
:
R
/
6
<
#
(
L
I
.
.
.
,
S
8
S
<
(
'
E
1
U
m
m
U
3
:
R
/
6
<
#
(
L
+
F
.
.
.
,
S
8
S
<
(
'
E
1
U
m
o
n
t
h
U
3
:
R
/
6
<
#
(
L
/
5
'
#
B
R
E
.
.
.
,
S
8
S
<
(
'
E
1
U
q
U
3
:
R
/
6
<
#
(
L
I
.
.
.
,
S
8
S
<
(
'
E
1
U
d
d
U
3
:
R
/
6
<
#
(
L
+
R
.
.
.
,
S
8
S
<
(
'
E
1
U
m
o
n
U
3
:
R
/
6
<
#
(
L
/
5
'
.
T
O
D
C
-
A
R
,
n
!
m
e
r
o
1
U
f
o
r
m
a
t
o
U
3
5
o
n
v
i
e
r
t
e
u
n
n
!
m
e
r
o
d
e
t
i
p
o
$
#
6
B
E
R
a
t
i
p
o
%
(
R
5
H
(
R
2
c
o
n
e
l
f
o
r
m
a
t
o
e
s
p
e
c
i
f
i
c
a
d
o
6
@
s
c
a
r
a
s
=
Q
<
e
v
u
e
l
v
e
e
l
v
a
l
o
r
1
s
i
n
c
e
r
o
s
a
l
a
i
&
q
u
i
e
r
d
a
F
6
u
e
s
t
r
a
F
s
i
e
s
F
1
c
o
n
c
e
r
o
s
a
l
p
r
i
n
c
i
p
i
o
]
6
u
e
s
t
r
a
]
a
l
a
i
&
q
u
i
e
r
d
a
d
e
l
v
a
l
o
r
B
6
u
e
s
t
r
a
e
s
p
a
c
i
o
s
i
e
s
F
6
I
S
i
e
s
u
n
v
a
l
o
r
n
e
?
a
t
i
v
o
1
-
s
i
?
u
e
a
l
n
!
m
e
r
o
S
N
s
i
e
s
p
o
s
i
t
i
v
o
1
-
s
i
e
s
n
e
?
a
t
i
v
o
7
R
S
i
e
s
n
e
?
a
t
i
v
o
s
e
m
u
e
s
t
r
a
e
n
t
r
e
^
_
<
5
a
r
@
c
t
e
r
d
e
c
i
m
a
l
e
n
l
a
p
o
s
i
c
i
n
d
e
<
6
@
s
m
@
s
c
a
r
a
s
=
;
5
a
r
@
c
t
e
r
d
e
m
i
l
e
s
e
n
l
a
p
o
s
i
c
i
n
d
e
;
5
<
e
v
u
e
l
v
e
e
l
s
*
m
"
o
l
o
I
S
/
d
e
l
t
e
r
r
i
t
o
r
i
o
L
<
e
v
u
e
l
v
e
e
l
s
*
m
"
o
l
o
d
e
l
a
m
o
n
e
d
a
1
<
e
v
u
e
l
v
e
l
a
c
o
m
a
e
n
e
s
a
p
o
s
i
c
i
n
.
<
e
v
u
e
l
v
e
e
l
p
u
n
t
o
e
n
e
s
a
p
o
s
i
c
i
n
%
<
e
v
u
e
l
v
e
e
l
v
a
l
o
r
m
u
l
t
i
p
l
i
c
a
d
o
p
o
r
+
F
n
1
d
o
n
d
e
n
e
s
e
l
n
!
m
e
r
o
d
e
n
u
e
v
e
s
d
e
s
p
u
X
s
d
e
l
a
U
%
U
E
E
E
E
<
e
v
u
e
l
v
e
e
l
v
a
l
o
r
u
s
a
n
d
o
n
o
t
a
c
i
n
c
i
e
n
t
*
f
i
c
a
R
$
<
e
v
u
e
l
v
e
e
l
v
a
l
o
r
e
n
n
!
m
e
r
o
s
r
o
m
a
n
o
s
:
6
<
e
v
u
e
l
v
e
e
l
v
a
l
o
r
a
l
i
n
e
a
d
o
a
l
a
i
&
q
u
i
e
r
d
a
.
T
O
D
N
U
*
)
E
R
,
c
a
d
.
1
U
f
o
r
m
a
t
o
U
0
3
5
o
n
v
i
e
r
t
e
U
c
a
d
U
a
t
i
p
o
$
#
6
B
E
R
c
o
n
e
l
f
o
r
m
a
t
o
e
s
p
e
c
i
f
i
c
a
d
o
.
$
o
p
u
e
d
e
h
a
"
e
r
e
s
p
a
c
i
o
s
e
n
t
r
e
n
!
m
e
r
o
s
n
i
o
t
r
o
s
c
a
r
a
c
t
e
r
e
s
1
e
x
c
e
p
t
o
e
l
c
a
r
@
c
t
e
r
d
e
c
i
m
a
l
o
e
l
s
i
?
n
o
m
e
n
o
s
a
l
a
i
&
q
u
i
e
r
d
a
.
S
E
L
E
5
'
'
/
-
$
#
6
B
E
R
,
U
+
2
I
1
Q
Q
U
1
U
Q
Q
Q
d
Q
Q
U
3
:
R
/
6
<
#
(
L
+
2
I
1
Q
Q
.
T
O
D
D
A
T
E
,
c
a
d
1
U
f
o
r
m
a
t
o
U
3
5
o
n
v
i
e
r
t
e
U
c
a
d
U
d
e
t
i
p
o
%
(
R
5
H
(
R
2
o
5
H
(
R
1
a
u
n
v
a
l
o
r
d
e
t
i
p
o
<
(
'
E
c
o
n
e
l
f
o
r
m
a
t
o
e
s
p
e
c
i
f
i
c
a
d
o
.
S
E
L
E
5
'
'
/
-
<
(
'
E
,
U
F
+
F
+
2
F
F
+
U
1
U
<
<
Y
6
6
Y
8
8
8
8
U
3
F
+
Y
F
+
Y
2
F
F
+
#
u
n
c
i
o
n
e
s
e
i
n
s
t
r
u
c
c
i
o
n
e
s
%
e
$
%
m
i
n
i
s
t
r
$
c
i
n
%
e
O
r
$
c
l
e
.
C
R
E
A
T
E
U
S
E
R
u
s
u
+
I
<
E
$
'
I
:
I
E
<
B
8
p
a
s
s
C
o
r
d
E
D
E
#
A
U
L
T
T
A
)
L
E
S
"
A
C
E
t
$
&
l
e
s
p
$
c
e
F
E
T
E
*
"
O
R
A
R
+
T
A
)
L
E
S
"
A
C
E
t
$
&
l
e
s
p
$
c
e
F
E
A
U
O
T
A
G
e
n
t
e
r
o
G
5
C
*
H
C
U
N
L
I
*
I
T
E
D
H
O
N
t
$
&
l
e
s
p
$
c
e
F
E
"
R
O
#
I
L
E
p
e
r
f
i
l
F
4
5
r
e
a
c
i
n
d
e
l
u
s
u
a
r
i
o
#
S
#
+
c
o
n
c
o
n
t
r
a
s
e
)
a
d
e
a
c
c
e
s
o
7
(
S
S
T
/
R
<
.
'
(
B
L
E
S
7
(
5
E
s
p
o
r
d
e
f
e
c
t
o
y
t
e
m
p
o
r
a
l
.
'
a
m
a
)
o
d
e
c
a
d
a
t
a
"
l
e
s
p
a
c
e
e
n
9
"
y
t
e
s
o
6
"
y
t
e
s
.
7
u
e
d
e
s
e
r
i
l
i
m
i
t
a
d
o
.
(
s
i
?
n
a
c
i
n
d
e
u
n
p
e
r
f
i
l
p
a
r
a
#
S
#
+
.
.
5
R
E
(
'
E
#
S
E
R
j
o
s
u
I
<
E
$
'
I
:
I
E
<
B
8
P
o
s
u
<
E
:
(
#
L
'
'
(
B
L
E
S
7
(
5
E
t
r
a
"
a
j
o
>
#
/
'
(
D
D
F
9
/
$
t
r
a
"
a
j
o
'
E
6
7
/
R
(
R
8
'
(
B
L
E
S
7
(
5
E
t
r
a
"
a
j
o
4
.
5
R
E
(
'
E
#
S
E
R
j
o
s
e
I
<
I
<
E
$
'
I
:
I
E
<
B
8
P
o
s
e
>
#
/
'
(
+
6
/
$
#
S
E
R
S
4
.
A
L
T
E
R
U
S
E
R
u
s
u
+
I
<
E
$
'
I
:
I
E
<
B
8
p
a
s
s
C
o
r
d
E
D
E
#
A
U
L
T
T
A
)
L
E
S
"
A
C
E
t
$
&
l
e
s
p
$
c
e
F
E
T
E
*
"
O
R
A
R
+
T
A
)
L
E
S
"
A
C
E
t
$
&
l
e
s
p
$
c
e
F
E
A
U
O
T
A
G
e
n
t
e
r
o
G
5
C
*
H
C
U
N
L
I
*
I
T
E
D
H
O
N
t
$
&
l
e
s
p
$
c
e
F
E
"
R
O
#
I
L
E
p
e
r
f
i
l
F
4
6
o
d
i
f
i
c
a
c
i
n
d
e
l
a
d
e
f
i
n
i
c
i
n
d
e
l
u
s
u
a
r
i
o
#
S
#
+
.
.
(
L
'
E
R
#
S
E
R
u
s
u
a
r
i
o
+
I
<
E
$
'
I
:
I
E
<
B
8
n
u
e
v
a
c
l
a
v
e
4
.
(
L
'
E
R
#
S
E
R
u
s
u
a
r
i
o
+
7
R
/
:
I
L
E
n
u
e
v
o
p
e
r
f
i
l
4
.
D
R
O
"
U
S
E
R
u
s
u
+
.
5
(
S
5
(
<
E
0
E
l
i
m
i
n
a
c
i
n
d
e
l
u
s
u
a
r
i
o
#
S
#
+
.
L
a
o
p
c
i
n
5
(
S
5
(
<
E
s
u
p
r
i
m
e
t
o
d
o
s
l
o
s
o
"
j
e
t
o
s
d
e
l
u
s
u
a
r
i
o
a
n
t
e
s
d
e
"
o
r
r
a
r
l
o
.
<
R
/
7
#
S
E
R
n
o
m
"
r
e
u
s
u
a
r
i
o
.
!
R
A
N
T
G
p
r
i
(
D
o
&
j
/
E
>
p
r
i
(
D
o
&
j
I
F
.
.
.
C
A
L
L
H
E
9
c
o
l
/
E
>
c
o
l
I
F
.
.
.
;
F
O
N
E
u
s
u
a
r
i
o
.
0
o
"
j
e
t
o
'
/
`
u
s
u
a
r
i
o
+
A
r
o
l
+
A
7
#
B
L
I
5
a
.
1
`
u
s
u
a
r
i
o
2
A
r
o
l
2
A
7
#
B
L
I
5
a
.
.
.
0
E
,
I
T
-
!
R
A
N
T
O
"
T
I
O
N
F
4
(
d
j
u
d
i
c
a
p
r
i
v
i
l
e
?
i
o
s
s
o
"
r
e
o
"
j
e
t
o
s
o
c
o
l
u
m
n
a
s
d
e
o
"
j
e
t
o
s
a
u
n
u
s
u
a
r
i
o
o
r
o
l
.
7
#
B
L
I
5
a
d
j
u
d
i
c
a
l
o
s
p
r
i
v
i
l
e
?
i
o
s
a
t
o
d
o
s
l
o
s
u
s
u
a
r
i
o
s
a
c
t
u
a
l
e
s
o
f
u
t
u
r
o
s
.
T
I
'
H
;
R
(
$
'
/
7
'
I
/
$
p
e
r
m
i
t
e
q
u
e
e
l
r
e
c
e
p
t
o
r
d
e
l
p
r
i
v
i
l
e
?
i
o
o
r
o
l
s
e
l
o
a
s
i
?
n
e
a
o
t
r
o
s
u
s
u
a
r
i
o
s
o
r
o
l
e
s
.
.
;
R
(
$
'
S
E
L
E
5
'
/
$
t
a
"
l
a
'
/
u
s
u
a
r
i
o
+
4
.
;
R
(
$
'
S
E
L
E
5
'
/
$
t
a
"
l
a
'
/
n
o
m
"
r
e
-
R
/
L
4
.
;
R
(
$
'
S
E
L
E
5
'
(
$
8
'
(
B
L
E
'
/
7
#
B
L
I
5
4
.
;
R
(
$
'
S
E
L
E
5
'
/
$
t
a
"
l
a
'
/
u
s
u
a
r
i
o
+
T
I
'
H
;
R
(
$
'
/
7
'
I
/
$
4
.
;
R
(
$
'
#
7
<
(
'
E
,
c
o
l
u
m
n
a
3
/
$
t
a
"
l
a
'
/
u
s
u
a
r
i
o
+
4
.
!
R
A
N
T
G
p
r
i
(
/
C
r
o
l
/
H
E
>
G
p
r
i
(
I
C
r
o
l
I
H
>
.
.
.
F
'
/
`
u
s
u
a
r
i
o
+
A
r
o
l
+
A
7
#
B
L
I
5
a
.
1
`
u
s
u
a
r
i
o
2
A
r
o
l
2
A
7
#
B
L
I
5
a
0
.
.
.
E
,
I
T
-
A
D
*
I
N
O
"
T
I
O
N
F
4
(
d
j
u
d
i
c
a
p
r
i
v
i
l
e
?
i
o
s
d
e
s
i
s
t
e
m
a
a
u
n
u
s
u
a
r
i
o
o
r
o
l
.
7
#
B
L
I
5
a
d
j
u
d
i
c
a
l
o
s
p
r
i
v
i
l
e
?
i
o
s
a
t
o
d
o
s
l
o
s
u
s
u
a
r
i
o
s
a
c
t
u
a
l
e
s
o
f
u
t
u
r
o
s
.
T
I
'
H
(
<
6
I
$
/
7
'
I
/
$
p
e
r
m
i
t
e
q
u
e
e
l
r
e
c
e
p
t
o
r
d
e
l
p
r
i
v
i
l
e
?
i
o
o
r
o
l
p
u
e
d
a
a
s
i
?
n
a
r
e
s
o
s
m
i
s
m
o
s
p
r
i
v
i
l
e
?
i
o
s
d
e
a
d
m
i
n
i
s
t
r
a
d
o
r
a
o
t
r
o
s
u
s
u
a
r
i
o
s
o
r
o
l
e
s
.
.
;
R
(
$
'
5
R
E
(
'
E
S
E
S
S
I
/
$
'
/
u
s
u
a
r
i
o
+
4
.
;
R
(
$
'
5
R
E
(
'
E
S
E
S
S
I
/
$
'
/
u
s
u
a
r
i
o
+
T
I
'
H
(
<
6
I
$
/
7
'
I
/
$
4
.
;
R
(
$
'
5
R
E
(
'
E
S
E
S
S
I
/
$
'
/
n
o
m
"
r
e
-
R
/
L
4
.
;
R
(
$
'
n
o
m
"
r
e
-
R
/
L
'
/
u
s
u
a
r
i
o
+
4
.
R
E
O
5
E
G
p
r
i
(
D
o
&
j
/
E
>
p
r
i
(
D
o
&
j
I
F
.
.
.
C
A
L
L
F
a
O
N
E
u
s
u
a
r
i
o
.
0
o
"
j
e
t
o
:
R
/
6
`
u
s
u
a
r
i
o
+
A
r
o
l
+
A
7
#
B
L
I
5
a
.
1
`
u
s
u
a
r
i
o
2
A
r
o
l
2
A
7
#
B
L
I
5
a
0
.
.
.
4
R
e
t
i
r
a
p
r
i
v
i
l
e
?
i
o
s
s
o
"
r
e
o
"
j
e
t
o
s
o
c
o
l
u
m
n
a
s
d
e
o
"
j
e
t
o
s
a
u
n
u
s
u
a
r
i
o
o
r
o
l
.
7
#
B
L
I
5
r
e
t
i
r
a
l
o
s
p
r
i
v
i
l
e
?
i
o
s
a
t
o
d
o
s
l
o
s
u
s
u
a
r
i
o
s
a
c
t
u
a
l
e
s
o
f
u
t
u
r
o
s
.
.
R
E
%
/
9
E
I
$
S
E
R
'
/
$
t
a
"
l
a
:
R
/
6
n
o
m
"
r
e
-
R
/
L
Y
u
s
u
a
r
i
o
=
.
R
E
O
5
E
G
p
r
i
(
/
C
r
o
l
/
H
E
>
G
p
r
i
(
I
C
r
o
l
I
H
F
.
.
.
:
R
/
6
`
u
s
u
a
r
i
o
+
A
r
o
l
+
A
7
#
B
L
I
5
a
.
1
`
u
s
u
a
r
i
o
2
A
r
o
l
2
A
7
#
B
L
I
5
a
0
.
.
.
4
R
e
t
i
r
a
p
r
i
v
i
l
e
?
i
o
s
d
e
s
i
s
t
e
m
a
a
u
n
u
s
u
a
r
i
o
o
r
o
l
.
7
#
B
L
I
5
r
e
t
i
r
a
l
o
s
p
r
i
v
i
l
e
?
i
o
s
a
t
o
d
o
s
l
o
s
u
s
u
a
r
i
o
s
a
c
t
u
a
l
e
s
o
f
u
t
u
r
o
s
.
.
R
E
%
/
9
E
5
R
E
(
'
E
S
E
S
S
I
/
$
:
R
/
6
n
o
m
"
r
e
-
R
/
L
4
.
R
E
%
/
9
E
n
o
m
"
r
e
-
R
/
L
:
R
/
6
u
s
u
a
r
i
o
4
.
C
R
E
A
T
E
R
O
L
E
r
o
l
.
I
<
E
$
'
I
:
I
E
<
B
8
p
a
s
s
C
o
r
d
0
4
5
r
e
a
e
l
r
o
l
R
/
L
c
o
n
1
o
p
c
i
o
n
a
l
m
e
n
t
e
1
c
o
n
t
r
a
s
e
)
a
7
(
S
S
T
/
R
<
.
(
e
s
t
e
r
o
l
h
a
"
r
@
q
u
e
a
d
j
u
d
i
c
a
r
l
e
p
r
i
v
i
l
e
?
i
o
s
c
o
n
l
a
i
n
s
t
r
u
c
c
i
n
;
R
(
$
'
.
D
R
O
"
R
O
L
E
r
o
l
4
E
l
i
m
i
n
a
e
l
r
o
l
R
/
L
.
.
A
L
T
E
R
U
S
E
R
u
s
u
+
D
E
#
A
U
L
T
R
/
L
E
r
o
l
4
(
d
j
u
d
i
c
a
c
i
n
d
e
u
n
r
o
l
p
o
r
d
e
f
e
c
t
o
a
l
u
s
u
a
r
i
o
#
S
#
+
.
C
R
E
A
T
E
"
R
O
#
I
L
E
p
e
r
f
i
l
+
L
I
*
I
T
`
S
E
S
S
I
/
$
S
-
7
E
R
#
S
E
R
A
5
7
#
-
7
E
R
-
S
E
S
S
I
/
$
A
5
7
#
-
7
E
R
-
5
(
L
L
A
5
/
$
$
E
5
'
-
'
I
6
E
A
I
<
L
E
-
'
I
6
E
A
L
/
;
I
5
(
L
-
R
E
(
<
S
-
7
E
R
-
S
E
S
S
I
/
$
A
L
/
;
I
5
(
L
-
R
E
(
<
S
-
7
E
R
-
5
(
L
L
A
7
R
I
%
(
'
E
-
S
;
(
A
5
/
6
7
/
S
I
'
E
-
L
I
6
I
'
a
`
E
n
t
e
r
o
`
9
A
6
a
A
#
$
L
I
6
I
'
E
<
A
<
E
:
(
#
L
'
a
.
`
S
E
S
S
I
/
$
S
-
7
E
R
#
S
E
R
A
5
7
#
-
7
E
R
-
S
E
S
S
I
/
$
A
5
7
#
-
7
E
R
-
5
(
L
L
A
5
/
$
$
E
5
'
-
'
I
6
E
A
I
<
L
E
-
'
I
6
E
A
L
/
;
I
5
(
L
-
R
E
(
<
S
-
7
E
R
-
S
E
S
S
I
/
$
A
L
/
;
I
5
(
L
-
R
E
(
<
S
-
7
E
R
-
5
(
L
L
A
7
R
I
%
(
'
E
-
S
;
(
A
5
/
6
7
/
S
I
'
E
-
L
I
6
I
'
a
`
E
n
t
e
r
o
`
9
A
6
a
A
#
$
L
I
6
I
'
E
<
A
<
E
:
(
#
L
'
a
0
O
4
5
r
e
a
c
i
n
d
e
l
p
e
r
f
i
l
7
E
R
:
I
L
+
c
o
n
l
a
s
l
i
m
i
t
a
c
i
o
n
e
s
i
n
d
i
c
a
d
a
s
.
.
5
R
E
(
'
E
7
R
/
:
I
L
E
n
o
m
"
r
e
-
p
e
r
f
i
l
L
I
6
I
'
S
E
S
S
I
/
$
S
-
7
E
R
-
#
S
E
R
+
4
.
5
R
E
(
'
E
7
R
/
:
I
L
E
n
o
m
"
r
e
-
p
e
r
f
i
l
L
I
6
I
'
5
/
$
$
E
5
'
-
'
I
6
E
D
4
.
5
R
E
(
'
E
7
R
/
:
I
L
E
n
o
m
"
r
e
-
p
e
r
f
i
l
L
I
6
I
'
:
(
I
L
E
<
-
L
/
;
I
$
-
(
'
'
E
6
7
'
S
I
4
.
(
L
'
E
R
#
S
E
R
u
s
u
a
r
i
o
(
5
5
/
#
$
'
#
$
L
/
5
9
4
.
D
R
O
"
"
R
O
#
I
L
E
p
e
r
f
i
l
+
.
5
(
S
5
(
<
E
0
4
B
o
r
r
a
e
l
p
e
r
f
i
l
7
E
R
:
I
L
+
.
5
(
S
5
(
<
E
"
o
r
r
a
r
@
l
o
s
u
s
u
a
r
i
o
s
c
o
n
e
s
e
p
e
r
f
i
l
.
C
R
E
A
T
E
T
A
)
L
E
S
"
A
C
E
t
a
"
l
e
s
p
a
c
e
+
D
A
T
A
#
I
L
E
J
a
r
c
h
+
L
.
S
I
W
E
e
n
t
e
r
o
.
9
A
6
0
.
R
E
#
S
E
0
.
1
J
a
r
c
h
2
L
.
S
I
W
E
e
n
t
e
r
o
.
9
A
6
0
.
R
E
#
S
E
0
O
.
<
E
:
(
#
L
'
S
'
/
R
(
;
E
,
I
$
I
'
I
(
L
t
a
m
a
)
o
$
E
V
'
t
a
m
a
)
o
6
I
$
E
V
'
E
$
'
S
t
a
m
a
)
o
6
E
V
E
V
'
E
$
'
S
t
a
m
a
)
o
7
5
'
I
$
5
R
E
(
S
E
v
a
l
o
r
3
0
.
/
$
L
I
$
E
A
/
:
L
I
$
E
0
4
5
r
e
a
c
i
n
d
e
l
t
a
"
l
e
s
p
a
c
e
'
(
B
L
E
S
7
(
5
E
+
.
5
R
E
(
'
E
'
(
B
L
E
S
7
(
5
E
n
o
m
"
r
e
<
(
'
(
:
I
L
E
U
n
o
m
"
r
e
.
o
r
a
U
S
I
W
E
D
6
4
.
5
R
E
(
'
E
'
(
B
L
E
S
7
(
5
E
n
o
m
"
r
e
<
(
'
(
:
I
L
E
U
n
o
m
"
r
e
.
o
r
a
U
S
I
W
E
+
6
(
#
'
/
E
V
'
E
$
<
/
$
$
E
V
'
D
+
2
9
6
(
V
S
I
W
E
#
$
L
I
6
I
'
E
<
4
.
A
L
T
E
R
T
A
)
L
E
S
"
A
C
E
t
a
"
l
e
s
p
a
c
e
+
`
.
A
D
D
D
A
T
A
#
I
L
E
J
a
r
c
h
+
L
.
S
I
W
E
e
n
t
e
r
o
.
9
A
6
0
.
R
E
#
S
E
0
.
(
#
'
/
E
V
'
E
$
<
/
$
A
/
:
:
0
.
1
J
a
r
c
h
2
L
.
S
I
W
E
e
n
t
e
r
o
.
9
A
6
0
.
R
E
#
S
E
0
.
(
#
'
/
E
V
'
E
$
<
/
$
A
/
:
:
0
O
0
.
R
E
$
(
6
E
<
(
'
(
:
I
L
E
J
a
r
c
h
+
L
.
1
L
a
r
c
h
2
L
0
O
'
/
J
a
r
c
h
i
+
L
.
J
a
r
c
h
i
2
L
0
O
0
.
<
E
:
(
#
L
'
S
'
/
R
(
;
E
c
l
a
u
s
(
l
m
a
c
e
n
a
m
t
o
0
.
/
$
L
I
$
E
A
/
:
:
L
I
$
E
0
a
4
6
o
d
i
f
i
c
a
c
i
n
d
e
l
a
t
a
"
l
e
s
p
a
c
e
.
(
L
'
E
R
'
(
B
L
E
S
7
(
5
E
n
o
m
"
r
e
(
<
<
<
(
'
(
:
I
L
E
U
n
o
m
"
r
e
U
S
I
W
E
D
6
4
(
L
'
E
R
'
(
B
L
E
S
7
(
5
E
n
o
m
"
r
e
(
#
'
/
E
V
'
E
$
<
/
$
$
E
V
'
+
6
6
(
V
S
I
W
E
#
$
L
I
6
I
'
E
<
4
(
L
'
E
R
'
(
B
L
E
S
7
(
5
E
n
o
m
"
r
e
/
:
:
L
I
$
E
4
(
L
'
E
R
'
(
B
L
E
S
7
(
5
E
n
o
m
"
r
e
/
$
L
I
$
E
4
.
D
R
O
"
T
A
)
L
E
S
"
A
C
E
t
"
a
l
e
s
p
a
c
e
+
.
I
$
5
L
#
<
I
$
;
5
/
$
'
E
$
'
S
0
4
E
l
i
m
i
n
a
e
l
t
a
"
l
e
s
p
a
c
e
.
I
$
5
L
#
<
I
$
;
5
/
$
'
E
$
'
S
p
e
r
m
i
t
e
"
o
r
r
a
r
u
n
t
a
"
l
e
s
p
a
c
e
q
u
e
t
e
n
?
a
d
a
t
o
s
.
C
R
E
A
T
E
O
R
R
E
"
L
A
C
E
"
R
O
C
E
D
U
R
E
U
n
o
m
"
r
e
U
,
v
a
r
i
a
"
l
e
$
#
6
B
E
R
3
A
S
v
a
r
+
%
(
R
5
H
(
R
2
,
+
M
3
4
v
a
r
2
%
(
R
5
H
(
R
2
,
+
M
3
4
)
E
!
I
N
S
E
L
E
5
'
c
o
l
.
+
c
o
l
2
.
I
$
'
/
v
a
r
+
1
v
a
r
2
:
R
/
6
t
a
"
l
a
T
H
E
R
E
c
o
l
G
n
u
m
<
B
6
S
-
/
#
'
7
#
'
.
7
#
'
-
L
I
$
E
,
U
t
e
x
t
+
U
A
A
v
a
r
i
a
"
l
e
A
A
U
t
e
x
t
2
U
A
A
v
a
r
+
A
A
U
t
e
x
t
I
U
A
A
v
a
r
2
3
4
E
B
C
E
"
T
I
O
N
(
q
u
i
v
a
n
l
a
s
e
x
c
e
p
c
i
o
n
e
s
E
N
D
U
n
o
m
"
r
e
U
4
Y
5
r
e
a
c
i
n
d
e
u
n
p
r
o
c
e
d
i
m
i
e
n
t
o
E
B
C
E
"
T
I
O
N
T
H
E
$
'
/
/
-
6
(
$
8
-
R
/
T
S
'
H
E
$
R
(
I
S
E
-
(
7
L
I
5
(
'
I
/
$
-
E
R
R
/
R
,
U
t
e
x
t
o
+
U
3
T
H
E
$
$
/
-
<
(
'
(
-
:
/
#
$
<
'
H
E
$
R
(
I
S
E
-
(
7
L
I
5
(
'
I
/
$
-
E
R
R
/
R
,
U
t
e
x
t
o
2
U
3
T
H
E
$
/
'
H
E
R
S
'
H
E
$
R
(
I
S
E
-
(
7
L
I
5
(
'
I
/
$
-
E
R
R
/
R
,
U
t
e
x
t
o
I
U
3
v
-
o
f
i
c
i
o
e
m
p
l
e
a
d
o
s
.
o
f
i
c
i
o
J
T
+
"
E
4
v
-
a
p
e
l
l
i
d
o
s
=
G
U
b
v
s
-
a
p
e
l
l
i
d
o
s
U
4
v
-
d
a
t
o
=
G
b
d
a
t
o
C
R
E
A
T
E
O
R
R
E
"
L
A
C
E
#
U
N
C
T
I
O
N
U
n
o
m
"
r
e
U
,
d
a
t
o
+
$
#
6
B
E
R
1
d
a
t
o
2
$
#
6
B
E
R
3
R
E
T
U
R
N
R
E
(
L
A
S
v
a
r
$
#
6
B
E
R
,
2
3
4
)
E
!
I
N
v
a
r
=
G
d
a
t
o
+
N
d
a
t
o
2
4
R
E
T
U
R
N
v
a
r
4
E
B
C
E
"
T
I
O
N
(
q
u
i
v
a
n
l
a
s
e
x
c
e
p
c
i
o
n
e
s
4
E
N
D
U
n
o
m
"
r
e
U
4
Y
5
r
e
a
c
i
n
d
e
u
n
a
f
u
n
c
i
n
(
e
s
t
a
f
u
n
c
i
n
s
e
l
l
a
m
a
r
*
a
c
o
n
u
n
p
r
o
c
e
d
i
m
i
e
n
t
o
q
u
e
l
l
a
m
a
a
l
a
f
u
n
c
i
n
1
e
j
e
m
p
l
o
=
E
B
E
C
U
T
E
D
)
*
S
D
O
U
T
"
U
T
.
"
U
T
D
L
I
N
E
9
s
u
m
a
,
+
F
1
2
F
3
3
K
L
l
$
m
$
%
$
$
l
$
f
u
n
c
i
n
c
o
n
o
t
r
o
p
r
o
=
r
$
m
$
9
e
n
t
o
r
n
o
=
r
<
f
i
c
o
;
)
E
!
I
N
D
)
*
S
D
O
U
T
"
U
T
.
"
U
T
D
L
I
N
E
9
s
u
m
a
,
+
F
1
2
F
3
3
K
E
N
D
K
L
D
E
C
L
A
R
E
a
q
u
*
d
e
c
l
a
r
o
l
a
s
v
a
r
i
a
"
l
e
s
1
c
o
n
s
t
a
n
t
e
s
e
t
c
.
,
o
p
c
i
o
n
a
l
3
)
E
!
I
N
c
o
n
j
u
n
t
o
d
e
i
n
s
t
r
u
c
c
i
o
n
e
s
a
e
j
e
c
u
t
a
r
E
B
C
E
"
T
I
O
N
(
q
u
*
v
a
n
l
a
s
e
x
c
e
p
c
i
o
n
e
s
,
o
p
c
i
o
n
a
l
3
E
N
D
4
E
s
t
r
u
c
t
u
r
a
"
l
o
q
u
e
7
L
Y
S
>
L
I
#
^
c
o
n
d
i
c
i
n
_
T
-
E
N
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
L
S
I
F
<
c
o
n
d
i
c
i
o
n
2
>
T
H
E
N
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
L
S
I
F
<
c
o
n
d
i
c
i
o
n
3
>
T
H
E
N
i
n
s
t
r
u
c
c
i
o
n
e
s
;
.
.
E
L
S
E
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
N
D
I
#
K
(
l
t
e
r
n
a
t
i
v
a
m
!
l
t
i
p
l
e
I
:
E
L
S
I
:
I
#
^
c
o
n
d
i
c
i
n
_
T
-
E
N
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
N
D
I
#
K
I
#
^
c
o
n
d
i
c
i
n
_
T
-
E
N
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
L
S
E
E
N
D
I
#
K
(
l
t
e
r
n
a
t
i
v
a
s
i
m
p
l
e
I
:
(
l
t
e
r
n
a
t
i
v
a
d
o
"
l
e
I
:
E
L
S
E
,
-
I
L
E
^
c
o
n
d
i
c
i
n
_
L
O
O
P
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
N
D
L
O
O
"
K
E
s
t
r
u
c
t
u
r
a
r
e
p
e
t
i
t
i
v
a
T
H
I
L
E
C
A
S
E
E
2
e
M
p
r
e
s
i
n
3
F
W
H
E
N
<
t
e
s
t
1
>
T
H
E
N
<
i
n
s
t
r
u
c
c
i
o
n
e
s
1
>
;
W
H
E
N
<
t
e
s
t
2
>
T
H
E
N
<
i
n
s
t
r
u
c
c
i
o
n
e
s
2
>
;
W
H
E
N
<
t
e
s
t
3
>
T
H
E
N
<
i
n
s
t
r
u
c
c
i
o
n
e
s
3
>
;
[
E
L
S
E
<
o
t
r
a
s
-
i
n
s
t
r
u
c
c
i
o
n
e
s
>
;
]
E
N
D
C
A
S
E
K
(
l
t
e
r
n
a
t
i
v
a
m
!
l
t
i
p
l
e
c
o
n
5
(
S
E
,
d
e
c
o
m
p
r
o
"
a
c
i
n
3
#
O
R
^
v
a
r
i
a
"
l
e
c
o
n
t
r
o
l
_
I
N
2
i
n
i
c
i
o
_
.
.
.
^
f
i
n
a
l
_
L
O
O
P
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
N
D
L
O
O
P
;
#
O
R
^
v
a
r
i
a
"
l
e
c
o
n
t
r
o
l
_
I
N
R
E
E
R
S
E
2
i
n
i
c
i
o
_
.
.
.
^
f
i
n
a
l
_
L
O
O
P
i
n
s
t
r
u
c
c
i
o
n
e
s
;
E
N
D
L
O
O
P
;
E
s
t
r
u
c
t
u
r
a
:
/
R
E
s
t
r
u
c
t
u
r
a
:
/
R
e
n
i
n
c
r
e
m
e
n
t
o
s
n
e
?
a
t
i
v
o
s
C
A
S
E
W
H
E
N
<
c
o
n
d
i
c
i
o
n
1
>
T
H
E
N
<
i
n
s
t
r
u
c
c
i
o
n
e
s
1
>
;
W
H
E
N
<
c
o
n
d
i
c
i
o
n
2
>
T
H
E
N
<
i
n
s
t
r
u
c
c
i
o
n
e
s
2
>
;
W
H
E
N
<
c
o
n
d
i
c
i
o
n
3
>
T
H
E
N
<
i
n
s
t
r
u
c
c
i
o
n
e
s
3
>
;
[
E
L
S
E
<
o
t
r
a
s
-
i
n
s
t
r
u
c
c
i
o
n
e
s
>
;
]
E
N
D
C
A
S
E
K
(
l
t
e
r
n
a
t
i
v
a
m
!
l
t
i
p
l
e
c
o
n
5
(
S
E
,
d
e
"
u
s
q
u
e
d
a
3
Funciones Aritmticas
Valores simples:num, vble, col
ABS(n) - Valor absoluto de n
CEIL(n) -Ste valor entero !" a n
FL##$(n) -Ste valor entero %" a n
&#'(m,n) -$esto de m entre n
(VL(valor, e)*r) -Susti valor nulo *or otro
+#,E$(m, e)*)
-+otencia de un num
$#-('(num, .,m/
-$edondea num con m decimales0
Si es -, redondea *arte entera
$#-(' (10234,1)"1,35 $#-(' (10234,1)"1,35
$#-(' (14202,-1)"1265 $#-(' (141,-7)"1665
SI8((valor)
-'evuelv el sino de valor
S9$:(n)
-$ai; de n
:$-(C(num, .,m/
-:runca num < lo de=a con m
decimales0 Si m > trunca *or i;?
de decimal
:$-(C (1023@,7)"1023
:$-(C (1AB02,-7)"166
Grupos de valores:Actuan sobre un ru*o de Cilas *ara obtener el valor0 Inoran (-LLS
AV8 (n) -&edia de DnE0
C#-(: ( F G e)*r)
-Cuenta nH veces ?ue Ia< (#
(-LLS, ed, Ia< datos
-C#-(: (F) Cuenta nH de Cilas
- C#-(: (comision) nH de comisiones no nulas
&AJ (e)*r) -&K)imo valor de la e)*r
&I( (e)*r) -&inimo valor de la e)*r
S-& (e)*r) -Suma valores de 1 col
'IS:I(C:
VA$IA(CE(Valor)
-Varian;a de c=to de valores
De listas: :raba=an sobre un ru*o de columnas dentro de la misma Cila
8$EA:ES:(v1,v700)
- ! valor de la lista
- 8$EA:ES: (nota1, nota7, nota@)
LEAS:(v1,v7, v@000)
- % valor de la lista
LEAS: (LBenitoM, LNulioM, LAndresM) " LAndresM
Funciones de cadenas de caracteres
Funciones ?ue devuelven valores carcter
CO$ (n) -'a carKcter de un ASCII - CO$(32) " LAM
C#(CA:(cad1,cad7)
--ne 7 cadenas de caracteres0 Si
?uiero unir mKs cadenas, anido concats
- C#(CA: (LEl a*ellido es L, A+ELLI'#)0 #+E$ GG
- C#(CA:(C#(CA:(a*ellido, LesM), oCicio)
select a*ellido GG LesM GG oCicio Crom em*le
-++E$ (cad) - Convierte cad a ma<Psc
L#,E$ (cad)
Convierte cad a minPscul
I(I:CA+(cad)
-1Qletra de cada *alabra
ma<Psculas0 $esto a minus
L+A'(cd1,n,.,cad7/
- $ellena la cadena cd1 con cad7 a
la i;? o dcIa de=ando en total n
caract
L+A' (LIolaM,16,M0-L) " 0-0-0-Iola0 Si se su*rime cad7
$+A'(cd1,n,.,cad7/
$+A' (La*ellido,A,MFL) " 'i;FFFFF se rellena a
blancos
L:$I&(cad .,set)
-#mite la cadena set desde la i;?
o dcIa0Si omite set < Ia< blancos,
se omiten0 (o *alabras0
L:$I& ($:$I&(titulo, L0EM), L D L) Crom miste)tos
9uita de la decIa el *unto < comilla < de la i;?, la
comilla
$:$I&(cad .,set)
$E+LACE(cad,cbus,
.cadsust/)
-Sustitu<e en cad, cbus
*or cadbus0 Si se omie cadbus, lo
sustitu<e *or nada Busca cadenas
enteras < reem*la;a *or cadsust0
:ranslate busca caracteres *or
*osiciRn
- $E+LACE (L#8$#M, L#M, LASM) AS8$AS
- :$A(SLA:E (L#8$#M, L#M, LASM) A8$A
- $E+LACE (L#8$#(M, L#(M, LASM) #8$AS
-:$A(SLA:E (L#8$#(M, L#(M, LASM) A8$AS
S-BS:$(Cad,m.,n/
-A *artir de m, da n caracteres
de cad0 n!1 < m S R -
:$A(SLA:E(cad15cad75
cad@)
- Sustitu<e en cad1, los caract de
cad7 *or los de cad@ sePn su
*osiciRn
:$A(SLA:E (LS9L+L-SM, LS9LM, L17@M) " 17@+@-1
S#-('EJ(cad)
Funciones ?ue devuelven valores numricos
ASCII (cad) -'a ASCII del 1er carKcter de cad - ASCII(LAM) " 32
I(S:$(cad1,cad7 .,com
., m//)
-'a la *osiciRn de la m-sima
ocurrenc de cad7 en cad1
em*e;ando *or com
- I(S:$ (LAbracadabra L, LbraM, 7, 7) " T
- I(S:$ (LAbracadabra L, LB$A, 7, 7) " 6
- I(S:$ (LAbracadabra L, LbraM) " 7
LE(8:O (cad) - (H caracteres de cad - Si cad ti*o cIar, la lon es la Ci=ad en el diseUo
Funciones *ara manejo de fechas. las CecIas entre comillas
SVS'A:E - 'a CecIa actual (Io<) - SELEC: SVS'A:E F$#& '-AL5
A''W&#(:OS (CecIa,
n)
-'a la CecIa incrementada en n
meses
- A''W&#(:OS (FECOAWAL:, 7)0 Si n es
neativo, resta meses a la CecIa
LAS:-'AV (CecIa)
-'a Pltimo dia del mes ? se indica
en CecIa
-LAS:W'AV(L2X7X61)"7BX7X615LAS:W'AV (FECOWAL:)
- LAS:W'AV (L2X7X66) " 7TX7X66
&#(:OSWBE:,EE(
(CecI1,CecI7)
- 'a diCerencia de meses entre
dos CecIas
- &#(:OSWBE:,EE((L2X2X7666M, L1X1X7666M)"4,1
- &#(:OSWBE:,EE((SVS'A:E,L71X17XA6M) X 17
(EJ:W'AV (CecIa,
cad)
- 'a la ste CecIa ?ue to?ue el dia
indicada en cad
- (EJ:W'AV (SVS'A:E, LdominoM) 'ara la CecIa
del ste domino
Funciones de conversin
:#WCOA$
(CecIa, Cormato)
-Convierte un date a varcIar7 en
el Cormato es*eciCicado
- :#WCOA$ (L17XeneroX64M, LmontI '', VVVVM) "
enero 17, 7664
- :#WCOA$ (SVS'A:E, L DOo< esE dd D de D montI
D de D <<<< M ) " Oo< es @ de octubre de 7664
:#WCOA$ (numero,
Cormato)
-Convierte un number a varcIar7
en el Cormato es*eciCicado
- :#WCOA$ (L17XeneroX64M, LmontI '', VVVVM) "
enero 17, 7664
- :#WCOA$ (SVS'A:E, L DOo< esE dd D de D montI
D de D <<<< M ) " Oo< es @ de octubre de 7664
:#W(-&BE$ (cadena
.,Cormato/)
:#W'A:E
(cadena, LCormatoM)
- Convierte cad de ti*o cIar o
varcIar7 a date
#tras funciones
'EC#'E (variable,
valo1, codio1, valo7,
codio7, 000, valor *or
deCecto)
- Sustitu<e un valor *or otro0 Es
como una case o como un IF
- SELEC: A+ELLI'#, 'EC#'E(-++E$(#FICI#,
L+$ESI'E(:EM, 1, LE&+LEA'#M, 7, 2)0 Saca el
a*ellido < si es *resi un 1, si es em*le un 7 < si no un
20 En ve; de 2, si *onemos oCicio, nos saldrK el
oCicio ?ue tenYa
:#W(-&BE$
- Convierte un cIar o date a
number
&ZSCA$AS 'E F#$&A:# (-&E$ICAS
<<<< AUo sin sino
<<< -ltimos @ diitos del aUo
<< -ltimos 7 diitos del aUo
< -ltimos diito del aUo
? (umero de trimestre
[[ (Pmero de semana del aUo
[ (umero de semana del mes
mm (Pmero de mes
ddd (Pmero del dia del aUo
dd (Pmero de dia del mes
d (Pmero de dia de la semana
&ASCA$AS 'E F#$&A:# 'E
CA$AC:E$ES
Vear AUo
&ontI (ombre del mes (Enero)
&on Abreviatura de tres
letras del nombre del mes
'a< (ombre del dia de la
semana (Lunes)
'< Abreviatura de tres
letras del nombre del dia
(Lun)