Sesión 1. Medidas de Tendencia Central y Dispersión
#Ejercicio 1.
recibos <- c(266.63,163.41,219.41,162.64,187.16,289.17,306.55,335.48,343.50,226.80,208.99,230.46)
# Media o Promedio
media_recibos<-mean(recibos)
media_recibos
## [1] 245.0167
#Mediana
mediana_recibos <- median(recibos)
mediana_recibos
## [1] 228.63
#Moda
#En R no hay una función directa para la Moda
#Rango
rango_recibos <- max(recibos)-min(recibos)
rango_recibos
## [1] 180.86
#Varianza
recibos1<-recibos-media_recibos
recibos1
## [1] 21.61333 -81.60667 -25.60667 -82.37667 -57.85667 44.15333 61.53333
## [8] 90.46333 98.48333 -18.21667 -36.02667 -14.55667
recibos2<-recibos1*recibos1
recibos2
## [1] 467.1362 6659.6480 655.7014 6785.9152 3347.3939 1949.5168 3786.3511
## [8] 8183.6147 9698.9669 331.8469 1297.9207 211.8965
recibos3<-sum(recibos2)
recibos3
## [1] 43375.91
varianza_poblacional<-recibos3/12
varianza_poblacional
## [1] 3614.659
desviacion_estandar_poblacional<-sqrt(varianza_poblacional)
desviacion_estandar_poblacional
## [1] 60.12203
Sesión 2. Distribución Normal

#Ejemplo 1
#a
a<-(pnorm(600,1300,600))*100
a
## [1] 12.16725
#b
b<-(pnorm(1500,1300,600)-pnorm(1000,1300,600))*100
b
## [1] 32.20211
#c
c<-(1-pnorm(2200,1300,600))*100
c
## [1] 6.68072
#Ejemplo 2
a2<-(pnorm(21,18.7,5)*100)
a2
## [1] 67.72419
a21<-(1-pnorm(21,18.7,5))*100
a21
## [1] 32.27581
#Ejemplo 3
a3<-(1-pnorm(90,80,4))*100
a3
## [1] 0.6209665
b3<-(pnorm(85,80,4)-pnorm(70,80,4))*100
b3
## [1] 88.81406
c3<-((1-pnorm(100,80,4))*100)*1000
c3
## [1] 0.02866516
d3<-((1-pnorm(90,80,4))*100)*1000
d3
## [1] 620.9665
Ejercicios del Mundo Real:

“Reto: Ejercicios del mundo real”
Capítulo 3: Medidas de Tendencia Central y Dispersión.
3-84
¿Qué reacción tendría usted si un aficionado al fútbol americano le
dijera lo siguiente? “Los Raiders de Rockland tienen un promedio de 3.6
yardas de recorrido por tierra. Como sólo necesitan 10 yardas para
anotar y tienen cuatro oportunidades para lograrlo, la anotación es
segura, siempre y cuando mantengan su forma de jugar por tierra.”
Respuesta: La afirmación es incorrecta porque ignora
completamente la variabilidad en yardas ganadas por carrera.
3-86
A continuación, se tienen 3 partes del presupuesto de defensa de un
año, a cada una de estas se le asignó, por parte del Congreso mexicano,
la misma cantidad de financiamiento:
*Salario de oficiales (total).
*Mantenimiento de la flota aérea.
*Adquisiciones de alimentos (total).
Tomando en cuenta la distribución de posibles resultados para los
gastos reales en cada una de éstas áreas, haga corresponder cada sección
a una de las curvas de la siguiente figura, fundamente su
respuesta.

Respuesta: Salarios de funcionarios: A; mantenimiento de
flota: C; adquisiciones de alimentos: B.
3-92
El 30 de junio de 1992, la capitalización de nueve mercados de
valores del Pacífico y Asia fue:
| Filipinas |
17 |
| Indonesia |
21 |
| Tailandia |
44 |
| Singapur |
50 |
| Malasia |
79 |
| Corea del Sur |
86 |
| Taiwan |
140 |
| Hong Kong |
178 |
| Australia |
203 |
a) Encuentre la media aritmética de los datos.
b) Encuentre la mediana de los datos.
c) Encuentre la moda de los datos.
d) ¿Cuál es la mejor medida de la tendencia central del conjunto de
datos?
e) Encuentre la desviación estándar de los datos. (La población
completa está incluida en ellos.)
capitalizacion <- c(17,21,44,50,79,86,140,178,203)
#a
media_capitalizacion<-mean(capitalizacion)
media_capitalizacion
## [1] 90.88889
#b
mediana_capitalizacion<- median(capitalizacion)
mediana_capitalizacion
## [1] 79
#c
#No hay moda para datos sin agrupar
#d
histograma_c<-hist(capitalizacion)

#Como la distribución está sesgada a la derecha, la mejor medida de tendencia central es la mediana.
#e
capitalizacion2<-capitalizacion-media_capitalizacion
capitalizacion3<-capitalizacion2*capitalizacion2
capitalizacion4<-sum(capitalizacion3)
varianza_poblacional_capitalizacion <- capitalizacion4/9
desviacion_estandar_poblacional_capitalizacion<-sqrt(varianza_poblacional_capitalizacion)
desviacion_estandar_poblacional_capitalizacion
## [1] 64.07365
3-100
Matthews, Young y Asociados, una agencia de consultorías de Chapell
Hill, tiene los siguientes registros que indican el número de días que
cada uno de sus 10 consultores de planta cobró el último año:
212 220 230 210 228 229 231 219 221 222
a) Sin calcular el valor de las medidas, ¿cuál de ellas cree usted
que le daría una mayor información acerca de esta distribución: el rango
(alcance) o la desviación estándar?
b) Calcule: Rango, Varianza y Desviación Estándar.
c) Tomando en cuenta la dificultad y el tiempo para calcular cada
medida que revisó en el inciso a), ¿cuál sugeriría como la mejor?
d) ¿Qué haría que usted cambiara su opinión al respecto?
RESPUESTA
a) desviación estandar:
b)
dias<- c(212,220,230,210,228,229,231,219,221,222)
rango_dias <-max(dias)-min(dias)
rango_dias
## [1] 21
media_dias <-mean(dias)
media_dias
## [1] 222.2
dias2 <- dias-media_dias
dias3<- dias2*dias2
dias4<-sum(dias3)
varianza_poblacional_dias<-dias4/10
varianza_poblacional_dias
## [1] 48.76
desviacion_estandar_poblacional_dias<-sqrt(varianza_poblacional_dias)
desviacion_estandar_poblacional_dias
## [1] 6.982836
c) Desviación Estandar
3-106
Allison Barett realiza análisis estadísticos para un equipo de
carreras automovilísticas. A continuación, se presentan las cifras en
kilómetros por litro del gasto de combustible de sus automóviles en las
carreras recientes:
4.77 6.11 6.11 5.05 5.99 4.91 5.27 6.01 5.75 4.89 6.05 5.22 6.02
5.24 6.11 5.02
a) Calcule la mediana del consumo de combustible.
b) Calcule la media del mismo consumo.
c) Agrupe los datos en 5 clases de igual tamaño. ¿Cuál es el
intervalo del valor de consumo de combustible para la clase modal?
d) ¿Cuál de las 3 medidas de tendencia central es la que mejor puede
servirle a Allison cuando haga un pedido de combustible? Explique su
respuesta.
e) ¿Cuál es el rango?
f) ¿Cuál es la varianza?
g) ¿Cuál es la desviación estándar? Establezca una conclusión a
partir de las medidas de dispersión.
RESPUESTA:
kilometros <-c(4.77,6.11,6.11,5.05,5.99,4.91,5.27,6.01,5.75,4.89,6.05,5.22,6.02,5.24,6.11,5.02)
#a
mediana_km <-median(kilometros)
mediana_km
## [1] 5.51
#b
media_km<-mean(kilometros)
media_km
## [1] 5.5325
#c)
clases_km<-cut(kilometros, breaks=5)
clases_km
## [1] (4.77,5.04] (5.84,6.11] (5.84,6.11] (5.04,5.31] (5.84,6.11] (4.77,5.04]
## [7] (5.04,5.31] (5.84,6.11] (5.57,5.84] (4.77,5.04] (5.84,6.11] (5.04,5.31]
## [13] (5.84,6.11] (5.04,5.31] (5.84,6.11] (4.77,5.04]
## Levels: (4.77,5.04] (5.04,5.31] (5.31,5.57] (5.57,5.84] (5.84,6.11]
clases_km2 <- table(clases_km)
clases_km2
## clases_km
## (4.77,5.04] (5.04,5.31] (5.31,5.57] (5.57,5.84] (5.84,6.11]
## 4 4 0 1 7
#d
histograma_km<-hist(kilometros)

histograma_km
## $breaks
## [1] 4.6 4.8 5.0 5.2 5.4 5.6 5.8 6.0 6.2
##
## $counts
## [1] 1 2 2 3 0 1 1 6
##
## $density
## [1] 0.3125 0.6250 0.6250 0.9375 0.0000 0.3125 0.3125 1.8750
##
## $mids
## [1] 4.7 4.9 5.1 5.3 5.5 5.7 5.9 6.1
##
## $xname
## [1] "kilometros"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
# Depende...
#e)
rango_km<-max(kilometros)-min(kilometros)
rango_km
## [1] 1.34
8-64
Inspectores del gobierno, al investigar los cargos levantados contra
una embotelladora de bebidas no alcohólicas, de Texas, que no llenaba
adecuadamente sus productos, han muestreado 200 botellas y encontraron
que el promedio de llenado es de 31.7 onzas líquidas (aproximadamente
930 ml.) Se anuncia que las botellas contienen 32 onzas líquidas (946.33
ml.). Se sabe que la desviación estándar de la población es de 1.5 onzas
líquidas (44.36 ml.). ¿Deberían concluir los inspectores, al nivel de
significancia de 2%, que las botellas están siendo llenadas con menos
contenido, y emitir una sanción?
RESPUESTA:
Paso 1. Plantear hipótesis
H0: xbar =µ
H1: xbar ≠µ
Paso 2. Nivel de significancia
α=0.02
Paso 3. Zona de aceptacíon / rechazo

Paso 4. Función Pivotal
# ¿n>30? si, 200.
z_lleno<-(31.7-32)/(1.5/sqrt(200))
z_lleno
## [1] -2.828427
Paso 5. Conclusión
Se rechaza H0: Las botellas se llenan con menos contenido
LS0tDQp0aXRsZTogIldvcmtzaG9wIDEiDQphdXRob3I6ICJKZXPDunMgRGFuaWVsIEZhcsOtYXMgQnVzdGFtYW50ZSB8IEEwMTIzNjMyNyINCmRhdGU6ICIyMDIzLTA1LTE4Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogVFJVRQ0KICAgIHRvY19mbG9hdDogVFJVRQ0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCi0tLQ0KIVtdKEM6XFxVc2Vyc1xcRGFuaWVsIEZhcmlhc1xcT25lRHJpdmUgLSBJbnN0aXR1dG8gVGVjbm9sb2dpY28geSBkZSBFc3R1ZGlvcyBTdXBlcmlvcmVzIGRlIE1vbnRlcnJleVxcRG9jdW1lbnRvc1xcQnVzaW5lc3MgSW50ZWxsaWdlbmNlXFxDdWFydG8gU2VtZXN0cmVcXERpYWduw7NzdGljbyBwYXJhIGzDrW5lYXMgZGUgYWNjacOzblxcTW9kdWxvIDIgUmF1bFxccmVjaWJvcy5wbmcpDQoNCiMjIyBTZXNpw7NuIDEuIE1lZGlkYXMgZGUgVGVuZGVuY2lhIENlbnRyYWwgeSBEaXNwZXJzacOzbg0KYGBge3J9DQojRWplcmNpY2lvIDEuDQpyZWNpYm9zIDwtIGMoMjY2LjYzLDE2My40MSwyMTkuNDEsMTYyLjY0LDE4Ny4xNiwyODkuMTcsMzA2LjU1LDMzNS40OCwzNDMuNTAsMjI2LjgwLDIwOC45OSwyMzAuNDYpDQoNCiMgTWVkaWEgbyBQcm9tZWRpbw0KbWVkaWFfcmVjaWJvczwtbWVhbihyZWNpYm9zKQ0KbWVkaWFfcmVjaWJvcw0KDQojTWVkaWFuYQ0KbWVkaWFuYV9yZWNpYm9zIDwtIG1lZGlhbihyZWNpYm9zKQ0KbWVkaWFuYV9yZWNpYm9zDQoNCiNNb2RhDQojRW4gUiBubyBoYXkgdW5hIGZ1bmNpw7NuIGRpcmVjdGEgcGFyYSBsYSBNb2RhDQoNCiNSYW5nbw0KcmFuZ29fcmVjaWJvcyA8LSBtYXgocmVjaWJvcyktbWluKHJlY2lib3MpDQpyYW5nb19yZWNpYm9zDQoNCiNWYXJpYW56YQ0KcmVjaWJvczE8LXJlY2lib3MtbWVkaWFfcmVjaWJvcw0KcmVjaWJvczENCg0KcmVjaWJvczI8LXJlY2lib3MxKnJlY2lib3MxDQpyZWNpYm9zMg0KDQpyZWNpYm9zMzwtc3VtKHJlY2lib3MyKQ0KcmVjaWJvczMNCg0KdmFyaWFuemFfcG9ibGFjaW9uYWw8LXJlY2lib3MzLzEyDQp2YXJpYW56YV9wb2JsYWNpb25hbA0KDQpkZXN2aWFjaW9uX2VzdGFuZGFyX3BvYmxhY2lvbmFsPC1zcXJ0KHZhcmlhbnphX3BvYmxhY2lvbmFsKQ0KZGVzdmlhY2lvbl9lc3RhbmRhcl9wb2JsYWNpb25hbA0KYGBgDQoNCg0KIyMjIFNlc2nDs24gMi4gRGlzdHJpYnVjacOzbiBOb3JtYWwNCiFbXShDOlxcVXNlcnNcXERhbmllbCBGYXJpYXNcXE9uZURyaXZlIC0gSW5zdGl0dXRvIFRlY25vbG9naWNvIHkgZGUgRXN0dWRpb3MgU3VwZXJpb3JlcyBkZSBNb250ZXJyZXlcXERvY3VtZW50b3NcXEJ1c2luZXNzIEludGVsbGlnZW5jZVxcQ3VhcnRvIFNlbWVzdHJlXFxEaWFnbsOzc3RpY28gcGFyYSBsw61uZWFzIGRlIGFjY2nDs25cXE1vZHVsbyAyIFJhdWxcXHBpbGFzLnBuZykNCmBgYHtyfQ0KI0VqZW1wbG8gMQ0KDQojYQ0KYTwtKHBub3JtKDYwMCwxMzAwLDYwMCkpKjEwMA0KYQ0KDQojYg0KYjwtKHBub3JtKDE1MDAsMTMwMCw2MDApLXBub3JtKDEwMDAsMTMwMCw2MDApKSoxMDANCmINCg0KI2MNCmM8LSgxLXBub3JtKDIyMDAsMTMwMCw2MDApKSoxMDANCmMNCg0KDQojRWplbXBsbyAyDQoNCmEyPC0ocG5vcm0oMjEsMTguNyw1KSoxMDApDQphMg0KDQphMjE8LSgxLXBub3JtKDIxLDE4LjcsNSkpKjEwMA0KYTIxDQoNCiNFamVtcGxvIDMNCmEzPC0oMS1wbm9ybSg5MCw4MCw0KSkqMTAwDQphMw0KDQpiMzwtKHBub3JtKDg1LDgwLDQpLXBub3JtKDcwLDgwLDQpKSoxMDANCmIzDQoNCmMzPC0oKDEtcG5vcm0oMTAwLDgwLDQpKSoxMDApKjEwMDANCmMzDQoNCmQzPC0oKDEtcG5vcm0oOTAsODAsNCkpKjEwMCkqMTAwMA0KZDMNCmBgYA0KDQoNCiMjIyBTZXNpw7NuIDMuIFBydWViYXMgZGUgSGlww7N0ZXNpcw0KDQojIyMjIyBQYXNvIDEuIFBsYW50ZWFyIGhpcMOzdGVzaXMNCiMjIyMjIFBhc28gMi4gTml2ZWwgZGUgc2lnbmlmaWNhbmNpYQ0KIyMjIyMgUGFzbyAzLiBab25hIGRlIGFjZXB0YWPDrW9uIC8gcmVjaGF6bw0KIyMjIyMgUGFzbyA0LiBGdW5jacOzbiBQaXZvdGFsDQojIyMjIyBQYXNvIDUuIENvbmNsdXNpw7NuDQoNCiMjIyBFamVyY2ljaW9zIGRlbCBNdW5kbyBSZWFsOg0KIVtdKEM6XFxVc2Vyc1xcRGFuaWVsIEZhcmlhc1xcT25lRHJpdmUgLSBJbnN0aXR1dG8gVGVjbm9sb2dpY28geSBkZSBFc3R1ZGlvcyBTdXBlcmlvcmVzIGRlIE1vbnRlcnJleVxcRG9jdW1lbnRvc1xcQnVzaW5lc3MgSW50ZWxsaWdlbmNlXFxDdWFydG8gU2VtZXN0cmVcXERpYWduw7NzdGljbyBwYXJhIGzDrW5lYXMgZGUgYWNjacOzblxcTW9kdWxvIDIgUmF1bFxcZGlzdHJpYnVjaW9uLnBuZykNCg0KIyMjIyMg4oCcUmV0bzogRWplcmNpY2lvcyBkZWwgbXVuZG8gcmVhbOKAnQ0KIyMjIyMgQ2Fww610dWxvIDM6IE1lZGlkYXMgZGUgVGVuZGVuY2lhIENlbnRyYWwgeSBEaXNwZXJzacOzbi4NCg0KPGJyPjxicj4NCg0KIyMjIyAqKjMtODQqKg0KIyMjIyMgwr9RdcOpIHJlYWNjacOzbiB0ZW5kcsOtYSB1c3RlZCBzaSB1biBhZmljaW9uYWRvIGFsIGbDunRib2wgYW1lcmljYW5vIGxlIGRpamVyYSBsbyBzaWd1aWVudGU/IOKAnExvcyBSYWlkZXJzIGRlIFJvY2tsYW5kIHRpZW5lbiB1biBwcm9tZWRpbyBkZSAzLjYgeWFyZGFzIGRlIHJlY29ycmlkbyBwb3IgdGllcnJhLiBDb21vIHPDs2xvIG5lY2VzaXRhbiAxMCB5YXJkYXMgcGFyYSBhbm90YXIgeSB0aWVuZW4gY3VhdHJvIG9wb3J0dW5pZGFkZXMgcGFyYSBsb2dyYXJsbywgbGEgYW5vdGFjacOzbiBlcyBzZWd1cmEsIHNpZW1wcmUgeSBjdWFuZG8gbWFudGVuZ2FuIHN1IGZvcm1hIGRlIGp1Z2FyIHBvciB0aWVycmEu4oCdDQoNCiMjIyMgKipSZXNwdWVzdGE6IExhIGFmaXJtYWNpw7NuIGVzIGluY29ycmVjdGEgcG9ycXVlIGlnbm9yYSBjb21wbGV0YW1lbnRlIGxhIHZhcmlhYmlsaWRhZCBlbiB5YXJkYXMgZ2FuYWRhcyBwb3IgY2FycmVyYS4gICoqDQoNCjxicj48YnI+DQoNCiMjIyMgKiozLTg2KioNCiMjIyMjIEEgY29udGludWFjacOzbiwgc2UgdGllbmVuIDMgcGFydGVzIGRlbCBwcmVzdXB1ZXN0byBkZSBkZWZlbnNhIGRlIHVuIGHDsW8sIGEgY2FkYSB1bmEgZGUgZXN0YXMgc2UgbGUgYXNpZ27DsywgcG9yIHBhcnRlIGRlbCBDb25ncmVzbyBtZXhpY2FubywgbGEgbWlzbWEgY2FudGlkYWQgZGUgZmluYW5jaWFtaWVudG86DQojIyMjIyAqU2FsYXJpbyBkZSBvZmljaWFsZXMgKHRvdGFsKS4NCiMjIyMjICpNYW50ZW5pbWllbnRvIGRlIGxhIGZsb3RhIGHDqXJlYS4NCiMjIyMjICpBZHF1aXNpY2lvbmVzIGRlIGFsaW1lbnRvcyAodG90YWwpLg0KIyMjIyMgVG9tYW5kbyBlbiBjdWVudGEgbGEgZGlzdHJpYnVjacOzbiBkZSBwb3NpYmxlcyByZXN1bHRhZG9zIHBhcmEgbG9zIGdhc3RvcyByZWFsZXMgZW4gY2FkYSB1bmEgZGUgw6lzdGFzIMOhcmVhcywgaGFnYSBjb3JyZXNwb25kZXIgY2FkYSBzZWNjacOzbiBhIHVuYSBkZSBsYXMgY3VydmFzIGRlIGxhIHNpZ3VpZW50ZSBmaWd1cmEsIGZ1bmRhbWVudGUgc3UgcmVzcHVlc3RhLg0KDQohW10oQzpcXFVzZXJzXFxEYW5pZWwgRmFyaWFzXFxPbmVEcml2ZSAtIEluc3RpdHV0byBUZWNub2xvZ2ljbyB5IGRlIEVzdHVkaW9zIFN1cGVyaW9yZXMgZGUgTW9udGVycmV5XFxEb2N1bWVudG9zXFxCdXNpbmVzcyBJbnRlbGxpZ2VuY2VcXEN1YXJ0byBTZW1lc3RyZVxcRGlhZ27Ds3N0aWNvIHBhcmEgbMOtbmVhcyBkZSBhY2Npw7NuXFxNb2R1bG8gMiBSYXVsXFxjdXJ2YS5wbmcpDQoNCiMjIyMgKipSZXNwdWVzdGE6IFNhbGFyaW9zIGRlIGZ1bmNpb25hcmlvczogQTsgbWFudGVuaW1pZW50byBkZSBmbG90YTogQzsgYWRxdWlzaWNpb25lcyBkZSBhbGltZW50b3M6IEIuKioNCg0KPGJyPjxicj4NCg0KIyMjIyAqKjMtOTIqKg0KIyMjIyMgRWwgMzAgZGUganVuaW8gZGUgMTk5MiwgbGEgY2FwaXRhbGl6YWNpw7NuIGRlIG51ZXZlIG1lcmNhZG9zIGRlIHZhbG9yZXMgZGVsIFBhY8OtZmljbyB5IEFzaWEgZnVlOg0KUGHDrXMgfCBDYXBpdGFsaXphY2nDs24gKGVuIG1pbGVzIGRlIG1pbGxvbmVzIGRlIGTDs2xhcmVzKQ0KLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0NCkZpbGlwaW5hcyAgICAgfCAxNw0KSW5kb25lc2lhICAgICB8IDIxDQpUYWlsYW5kaWEgICAgIHwgNDQNClNpbmdhcHVyICAgICAgfCA1MA0KTWFsYXNpYSAgICAgICB8IDc5DQpDb3JlYSBkZWwgU3VyIHwgODYNClRhaXdhbiAgICAgICAgfCAxNDANCkhvbmcgS29uZyAgICAgfCAxNzgNCkF1c3RyYWxpYSAgICAgfCAyMDMNCg0KIyMjIyMgYSkgRW5jdWVudHJlIGxhIG1lZGlhIGFyaXRtw6l0aWNhIGRlIGxvcyBkYXRvcy4NCiMjIyMjIGIpIEVuY3VlbnRyZSBsYSBtZWRpYW5hIGRlIGxvcyBkYXRvcy4NCiMjIyMjIGMpIEVuY3VlbnRyZSBsYSBtb2RhIGRlIGxvcyBkYXRvcy4NCiMjIyMjIGQpIMK/Q3XDoWwgZXMgbGEgbWVqb3IgbWVkaWRhIGRlIGxhIHRlbmRlbmNpYSBjZW50cmFsIGRlbCBjb25qdW50byBkZSBkYXRvcz8NCiMjIyMjIGUpIEVuY3VlbnRyZSBsYSBkZXN2aWFjacOzbiBlc3TDoW5kYXIgZGUgbG9zIGRhdG9zLiAoTGEgcG9ibGFjacOzbiBjb21wbGV0YSBlc3TDoSBpbmNsdWlkYSBlbiBlbGxvcy4pDQoNCmBgYHtyfQ0KY2FwaXRhbGl6YWNpb24gPC0gYygxNywyMSw0NCw1MCw3OSw4NiwxNDAsMTc4LDIwMykNCg0KI2ENCm1lZGlhX2NhcGl0YWxpemFjaW9uPC1tZWFuKGNhcGl0YWxpemFjaW9uKQ0KbWVkaWFfY2FwaXRhbGl6YWNpb24NCg0KI2INCm1lZGlhbmFfY2FwaXRhbGl6YWNpb248LSBtZWRpYW4oY2FwaXRhbGl6YWNpb24pDQptZWRpYW5hX2NhcGl0YWxpemFjaW9uDQoNCiNjDQojTm8gaGF5IG1vZGEgcGFyYSBkYXRvcyBzaW4gYWdydXBhcg0KDQojZA0KaGlzdG9ncmFtYV9jPC1oaXN0KGNhcGl0YWxpemFjaW9uKQ0KI0NvbW8gbGEgZGlzdHJpYnVjacOzbiBlc3TDoSBzZXNnYWRhIGEgbGEgZGVyZWNoYSwgbGEgbWVqb3IgbWVkaWRhIGRlIHRlbmRlbmNpYSBjZW50cmFsIGVzIGxhIG1lZGlhbmEuDQpgYGANCmBgYHtyfQ0KI2UNCmNhcGl0YWxpemFjaW9uMjwtY2FwaXRhbGl6YWNpb24tbWVkaWFfY2FwaXRhbGl6YWNpb24NCmNhcGl0YWxpemFjaW9uMzwtY2FwaXRhbGl6YWNpb24yKmNhcGl0YWxpemFjaW9uMg0KY2FwaXRhbGl6YWNpb240PC1zdW0oY2FwaXRhbGl6YWNpb24zKQ0KdmFyaWFuemFfcG9ibGFjaW9uYWxfY2FwaXRhbGl6YWNpb24gPC0gY2FwaXRhbGl6YWNpb240LzkNCmRlc3ZpYWNpb25fZXN0YW5kYXJfcG9ibGFjaW9uYWxfY2FwaXRhbGl6YWNpb248LXNxcnQodmFyaWFuemFfcG9ibGFjaW9uYWxfY2FwaXRhbGl6YWNpb24pDQpkZXN2aWFjaW9uX2VzdGFuZGFyX3BvYmxhY2lvbmFsX2NhcGl0YWxpemFjaW9uDQpgYGANCjxicj48YnI+DQoNCiMjIyMgKiozLTEwMCoqDQojIyMjIyBNYXR0aGV3cywgWW91bmcgeSBBc29jaWFkb3MsIHVuYSBhZ2VuY2lhIGRlIGNvbnN1bHRvcsOtYXMgZGUgQ2hhcGVsbCBIaWxsLCB0aWVuZSBsb3Mgc2lndWllbnRlcyByZWdpc3Ryb3MgcXVlIGluZGljYW4gZWwgbsO6bWVybyBkZSBkw61hcyBxdWUgY2FkYSB1bm8gZGUgc3VzIDEwIGNvbnN1bHRvcmVzIGRlIHBsYW50YSBjb2Jyw7MgZWwgw7psdGltbyBhw7FvOg0KIyMjIyMgMjEyIDIyMCAyMzAgMjEwIDIyOCAyMjkgMjMxIDIxOSAyMjEgMjIyDQojIyMjIyBhKSBTaW4gY2FsY3VsYXIgZWwgdmFsb3IgZGUgbGFzIG1lZGlkYXMsIMK/Y3XDoWwgZGUgZWxsYXMgY3JlZSB1c3RlZCBxdWUgbGUgZGFyw61hIHVuYSBtYXlvciBpbmZvcm1hY2nDs24gYWNlcmNhIGRlIGVzdGEgZGlzdHJpYnVjacOzbjogZWwgcmFuZ28gKGFsY2FuY2UpIG8gbGEgZGVzdmlhY2nDs24gZXN0w6FuZGFyPw0KIyMjIyMgYikgQ2FsY3VsZTogUmFuZ28sIFZhcmlhbnphIHkgRGVzdmlhY2nDs24gRXN0w6FuZGFyLg0KIyMjIyMgYykgVG9tYW5kbyBlbiBjdWVudGEgbGEgZGlmaWN1bHRhZCB5IGVsIHRpZW1wbyBwYXJhIGNhbGN1bGFyIGNhZGEgbWVkaWRhIHF1ZSByZXZpc8OzIGVuIGVsIGluY2lzbyBhKSwgwr9jdcOhbCBzdWdlcmlyw61hIGNvbW8gbGEgbWVqb3I/DQojIyMjIyBkKSDCv1F1w6kgaGFyw61hIHF1ZSB1c3RlZCBjYW1iaWFyYSBzdSBvcGluacOzbiBhbCByZXNwZWN0bz8NCg0KIyMjIyAqKlJFU1BVRVNUQSoqDQojIyMjIyBhKSBkZXN2aWFjacOzbiBlc3RhbmRhcjoNCiMjIyMjIGIpDQpgYGB7cn0NCmRpYXM8LSBjKDIxMiwyMjAsMjMwLDIxMCwyMjgsMjI5LDIzMSwyMTksMjIxLDIyMikNCnJhbmdvX2RpYXMgPC1tYXgoZGlhcyktbWluKGRpYXMpDQpyYW5nb19kaWFzDQptZWRpYV9kaWFzIDwtbWVhbihkaWFzKQ0KbWVkaWFfZGlhcw0KZGlhczIgPC0gZGlhcy1tZWRpYV9kaWFzDQpkaWFzMzwtIGRpYXMyKmRpYXMyDQpkaWFzNDwtc3VtKGRpYXMzKQ0KdmFyaWFuemFfcG9ibGFjaW9uYWxfZGlhczwtZGlhczQvMTANCnZhcmlhbnphX3BvYmxhY2lvbmFsX2RpYXMNCmRlc3ZpYWNpb25fZXN0YW5kYXJfcG9ibGFjaW9uYWxfZGlhczwtc3FydCh2YXJpYW56YV9wb2JsYWNpb25hbF9kaWFzKQ0KZGVzdmlhY2lvbl9lc3RhbmRhcl9wb2JsYWNpb25hbF9kaWFzDQpgYGANCiMjIyMjIGMpIERlc3ZpYWNpw7NuIEVzdGFuZGFyDQojIyMjIyBkKSBOYWRhDQoNCjxicj48YnI+DQoNCiMjIyMgKiozLTEwNioqDQojIyMjIyBBbGxpc29uIEJhcmV0dCByZWFsaXphIGFuw6FsaXNpcyBlc3RhZMOtc3RpY29zIHBhcmEgdW4gZXF1aXBvIGRlIGNhcnJlcmFzIGF1dG9tb3ZpbMOtc3RpY2FzLiBBIGNvbnRpbnVhY2nDs24sIHNlIHByZXNlbnRhbiBsYXMgY2lmcmFzIGVuIGtpbMOzbWV0cm9zIHBvciBsaXRybyBkZWwgZ2FzdG8gZGUgY29tYnVzdGlibGUgZGUgc3VzIGF1dG9tw7N2aWxlcyBlbiBsYXMgY2FycmVyYXMgcmVjaWVudGVzOg0KIyMjIyMgNC43NyA2LjExIDYuMTEgNS4wNSA1Ljk5IDQuOTEgNS4yNyA2LjAxIDUuNzUgNC44OSA2LjA1IDUuMjIgNi4wMiA1LjI0IDYuMTEgNS4wMg0KIyMjIyMgYSkgQ2FsY3VsZSBsYSBtZWRpYW5hIGRlbCBjb25zdW1vIGRlIGNvbWJ1c3RpYmxlLg0KIyMjIyMgYikgQ2FsY3VsZSBsYSBtZWRpYSBkZWwgbWlzbW8gY29uc3Vtby4NCiMjIyMjIGMpIEFncnVwZSBsb3MgZGF0b3MgZW4gNSBjbGFzZXMgZGUgaWd1YWwgdGFtYcOxby4gwr9DdcOhbCBlcyBlbCBpbnRlcnZhbG8gZGVsIHZhbG9yIGRlIGNvbnN1bW8gZGUgY29tYnVzdGlibGUgcGFyYSBsYSBjbGFzZSBtb2RhbD8NCiMjIyMjIGQpIMK/Q3XDoWwgZGUgbGFzIDMgbWVkaWRhcyBkZSB0ZW5kZW5jaWEgY2VudHJhbCBlcyBsYSBxdWUgbWVqb3IgcHVlZGUgc2VydmlybGUgYSBBbGxpc29uIGN1YW5kbyBoYWdhIHVuIHBlZGlkbyBkZSBjb21idXN0aWJsZT8gRXhwbGlxdWUgc3UgcmVzcHVlc3RhLg0KIyMjIyMgZSkgwr9DdcOhbCBlcyBlbCByYW5nbz8NCiMjIyMjIGYpIMK/Q3XDoWwgZXMgbGEgdmFyaWFuemE/DQojIyMjIyBnKSDCv0N1w6FsIGVzIGxhIGRlc3ZpYWNpw7NuIGVzdMOhbmRhcj8gRXN0YWJsZXpjYSB1bmEgY29uY2x1c2nDs24gYSBwYXJ0aXIgZGUgbGFzIG1lZGlkYXMgZGUgZGlzcGVyc2nDs24uDQoNCiMjIyMgKipSRVNQVUVTVEE6KioNCg0KYGBge3J9DQpraWxvbWV0cm9zIDwtYyg0Ljc3LDYuMTEsNi4xMSw1LjA1LDUuOTksNC45MSw1LjI3LDYuMDEsNS43NSw0Ljg5LDYuMDUsNS4yMiw2LjAyLDUuMjQsNi4xMSw1LjAyKQ0KDQojYQ0KbWVkaWFuYV9rbSA8LW1lZGlhbihraWxvbWV0cm9zKQ0KbWVkaWFuYV9rbQ0KDQojYg0KbWVkaWFfa208LW1lYW4oa2lsb21ldHJvcykNCm1lZGlhX2ttDQoNCiNjKQ0KY2xhc2VzX2ttPC1jdXQoa2lsb21ldHJvcywgYnJlYWtzPTUpDQpjbGFzZXNfa20NCg0KY2xhc2VzX2ttMiA8LSB0YWJsZShjbGFzZXNfa20pDQpjbGFzZXNfa20yIA0KDQojZA0KaGlzdG9ncmFtYV9rbTwtaGlzdChraWxvbWV0cm9zKQ0KaGlzdG9ncmFtYV9rbQ0KIyBEZXBlbmRlLi4uDQoNCiNlKQ0KcmFuZ29fa208LW1heChraWxvbWV0cm9zKS1taW4oa2lsb21ldHJvcykNCnJhbmdvX2ttDQpgYGANCjxicj48YnI+DQoNCiMjIyMgKio4LTY0KioNCiMjIyMjIEluc3BlY3RvcmVzIGRlbCBnb2JpZXJubywgYWwgaW52ZXN0aWdhciBsb3MgY2FyZ29zIGxldmFudGFkb3MgY29udHJhIHVuYSBlbWJvdGVsbGFkb3JhIGRlIGJlYmlkYXMgbm8gYWxjb2jDs2xpY2FzLCBkZSBUZXhhcywgcXVlIG5vIGxsZW5hYmEgYWRlY3VhZGFtZW50ZSBzdXMgcHJvZHVjdG9zLCBoYW4gbXVlc3RyZWFkbyAyMDAgYm90ZWxsYXMgeSBlbmNvbnRyYXJvbiBxdWUgZWwgcHJvbWVkaW8gZGUgbGxlbmFkbyBlcyBkZSAzMS43IG9uemFzIGzDrXF1aWRhcyAoYXByb3hpbWFkYW1lbnRlIDkzMCBtbC4pIFNlIGFudW5jaWEgcXVlIGxhcyBib3RlbGxhcyBjb250aWVuZW4gMzIgb256YXMgbMOtcXVpZGFzICg5NDYuMzMgbWwuKS4gU2Ugc2FiZSBxdWUgbGEgZGVzdmlhY2nDs24gZXN0w6FuZGFyIGRlIGxhIHBvYmxhY2nDs24gZXMgZGUgMS41IG9uemFzIGzDrXF1aWRhcyAoNDQuMzYgbWwuKS4gwr9EZWJlcsOtYW4gY29uY2x1aXIgbG9zIGluc3BlY3RvcmVzLCBhbCBuaXZlbCBkZSBzaWduaWZpY2FuY2lhIGRlIDIlLCBxdWUgbGFzIGJvdGVsbGFzIGVzdMOhbiBzaWVuZG8gbGxlbmFkYXMgY29uIG1lbm9zIGNvbnRlbmlkbywgeSBlbWl0aXIgdW5hIHNhbmNpw7NuPw0KDQojIyMjICoqUkVTUFVFU1RBOioqDQoNCiMjIyMjICoqUGFzbyAxLiBQbGFudGVhciBoaXDDs3Rlc2lzKioNCiMjIyMjIEgwOiB4YmFyID3CtQ0KIyMjIyMgSDE6IHhiYXIg4omgwrUNCg0KIyMjIyMgKipQYXNvIDIuIE5pdmVsIGRlIHNpZ25pZmljYW5jaWEqKg0KIyMjIyMgzrE9MC4wMg0KIyMjIyMgKipQYXNvIDMuIFpvbmEgZGUgYWNlcHRhY8Otb24gLyByZWNoYXpvKioNCg0KIVtdKEM6XFxVc2Vyc1xcRGFuaWVsIEZhcmlhc1xcT25lRHJpdmUgLSBJbnN0aXR1dG8gVGVjbm9sb2dpY28geSBkZSBFc3R1ZGlvcyBTdXBlcmlvcmVzIGRlIE1vbnRlcnJleVxcRG9jdW1lbnRvc1xcQnVzaW5lc3MgSW50ZWxsaWdlbmNlXFxDdWFydG8gU2VtZXN0cmVcXERpYWduw7NzdGljbyBwYXJhIGzDrW5lYXMgZGUgYWNjacOzblxcTW9kdWxvIDIgUmF1bFxcc2lnbmlmaWNhbmNpYS5wbmcpDQoNCiMjIyMjICoqUGFzbyA0LiBGdW5jacOzbiBQaXZvdGFsKioNCmBgYHtyfQ0KIyDCv24+MzA/IHNpLCAyMDAuDQp6X2xsZW5vPC0oMzEuNy0zMikvKDEuNS9zcXJ0KDIwMCkpDQp6X2xsZW5vDQpgYGANCg0KIyMjIyMgKipQYXNvIDUuIENvbmNsdXNpw7NuKioNCiMjIyMjIFNlIHJlY2hhemEgSDA6IExhcyBib3RlbGxhcyBzZSBsbGVuYW4gY29uIG1lbm9zIGNvbnRlbmlkbw0K