Axtel S.A.B de C.V. es una empresa de telecomunicaciones mexicana que atiende tanto a los mercados empresarial y de gobierno como pequeños negocios y residenciales. A través de su marca Alestra ofrece servicios empresariales y de gobierno. A través de su marca Axtel brinda servicios para mercado masivo y pequeños negocios.

Axtel, S.A.B. de C.V. se crea en 1994 y surge a partir de la fusión de dos organizaciones mexicanas, con infraestructura y capacidades complementarias: Alestra y Axtel. De esta forma, la nueva Axtel se convirtió en una compañía subsidiaria de ALFA, quien posee el 51% de su capital y actualmente cuenta con una infraestructura de red de 39 mil kilómetros y 6 mil 500 metros cuadrados de piso blanco, que soportan su portafolio.

La principal fortaleza de Axtel es la capacidad de atender con una robusta oferta de servicios de Tecnologías de Información y Comunicación, al mercado empresarial, de gobierno, pequeños negocios y masivo, apoyada por el respaldo de sus dos marcas comerciales Alestra y Axtel.

(2019). Axtel. 27 de febrero del 2019, de Wikipedia Sitio web: https://es.wikipedia.org/wiki/Axtel


1. Carga los paquetes

library("TTR")
library("quantmod")
library("PerformanceAnalytics")

2. Selecciona los datos descargándolos de Yahoo Finance2. Selecciona los datos descargándolos de Yahoo Finance

getSymbols("AXTELCPO.MX",src="yahoo",from="2017-01-01", to="2019-02-22")
[1] "AXTELCPO.MX"

2.2 Diferentes tipos de gráficos

lineChart(AXTELCPO.MX,theme=chartTheme("white"))

barChart(AXTELCPO.MX,theme=chartTheme("white"))

candleChart(AXTELCPO.MX,theme=chartTheme("white"))

En las siguientes graficas nos muestran que la empresa AXTEL ha tenido una tendencia “Bear”. Se puede observar que para noviembre de 2017 las acciones iban a la baja, pero repuntaron gracias a un trato que hiso con Televisa, pero despues a finales de 2018 empezaron a caer las acciones debido a menores ingresos en el segmento de servicios a Gobierno, que a su vez fue resultado de menores ingresos en la división telecomunicaciones.

2.2.1 Elegir subconjutnos en el periodo de tiempo.

candleChart(AXTELCPO.MX,theme="white",subset='2018-02::2019-01')

3. Indicadores de Análisis técnico

3.1. Indicadores Rezagados

3.1.1. Medias Móviles Simples SMA( 7 & 40), Medias Móviles Exponenciales (4 18 & 40)

MEDIAS MÓLVILES SIMPLES

sma7 <- SMA(Cl(AXTELCPO.MX),n=7)
sma40 <- SMA(Cl(AXTELCPO.MX),n=40)

Gráfico de análisis técnico

lineChart(AXTELCPO.MX,theme=chartTheme("white"))

addSMA(n=7,col="darkblue")

addSMA(n=40,col="darkred")
legend("bottomright",col=c("darkblue","darkred"),lty=1,legend=c("SMA(7)","SMA(40)"),cex=0.6)

En la grafica se puede observar que a finales de 2017 hay un punto de venta ya que para esas fechas la empresa habia declarado que tenia una deuda. A inicios de 2018 se ve un punto de compra ya que en ese tiempo se empeso a hacer un trato con la televisora TELEVISA, pero a finales de 2018 se puede ver un punto de venta gracias a que hubo menores ingresos en el segmento de servicios a Gobierno, que a su vez fue resultado de menores ingresos en la división telecomunicaciones.

Medias Móviles exponenciales

ema4 <- EMA(Cl(AXTELCPO.MX),n=4)
ema18 <- EMA(Cl(AXTELCPO.MX),n=18)
ema40 <- EMA(Cl(AXTELCPO.MX),n=40)

Technical Analysis Chart

lineChart(AXTELCPO.MX)

addEMA(n=4,col="gray100")

addEMA(n=18,col="hotpink")

addEMA(n=40,col="gold")
legend("bottomright",col=c("gray100","hotpink","gold"),lty=1,legend=c("EMA(4)","EMA(18)","EMA(40)"),cex=0.6)

Numero de periodos=EMA4=2/4+1 Numero de periodos=EMA18=2/18+1 Numero de periodos=EMA40=2/40+1

3.1.2. Bandas de Bollinger BB(20,2)

bb2 <- BBands(HLC(AXTELCPO.MX),n=20,sd=2)

Gráfico de análisis técnico

lineChart(AXTELCPO.MX,theme=chartTheme("white"),TA = NULL,up.col='darkblue',AXTELCPO.MX$bbands$col$ma) #TA quita volumen del gráfico

addBBands(n=20,sd=2)

En el grafico anterior donde utilizamos dos desviaciones estandar, podemos observar que por el mes de mayo de 2017 hubo una sobre-compra, ya que las bandas estan separadas se puede decir que hubo mucha volatilidad del precio de las acciones o una expansion del precio del activo, despues hubo una pequeña contraccion de los precios en los meses de junio y julio del 2017. Despues se puede observar que para los meses de enero a mayo del 2018 hubo una expansion del precio o sobre compra de los activos , pero desde los meses de junio del 2018 a febrero del 2019 hay una contraccion en el precio de los activos o sea hay una sobre venta de los activos.

3.1.2. Bandas de Bollinger BB(20,3)

bb3 <- BBands(HLC(AXTELCPO.MX),n=20,sd=3)

Gráfico de análisis técnico

lineChart(AXTELCPO.MX,theme=chartTheme("white"),TA = NULL,up.col='darkblue',AXTELCPO.MX$bbands$col$ma) #TA quita volumen del gráfico

addBBands(n=20,sd=3)

En el grafico anterior donde utilizamos tres desviaciones estandar, podemos observar que por el mes de enero de 2017 a junio de 2018 hubo una sobre-compra, ya que las bandas estan separadas se puede decir que hubo mucha volatilidad del precio de las acciones o una expansion del precio del activo. De los meses de julio a agosto del 2018 hubo una contraccion de los activos o sea una sobre-venta, pero en este periodo no tuvieron mucha volatilidad los precios de las acciones.

Parabolic Stop and Reverse SAR(0.02,0.2)

sar <- SAR(cbind(Hi(AXTELCPO.MX),Lo(AXTELCPO.MX)),accel=c(0.02, 0.2))

Gráfico de análisis técnico lineChart(AXTELCPO.MX,theme=chartTheme(“white”),up.col=“darkred”,TA = NULL)

lineChart(AXTELCPO.MX,theme=chartTheme("white"),up.col="darkred",TA = NULL)

addSAR(accel=c(0.02, 0.2))

En este grafico se puede observar que la mayoria de los puntos han sido una tendencia bajista con una baja aceleracion . Podemos observar que en los años de 2017 y mitades de 2018 tienden a una tendencia altista pero con una menor aceleracion, pero para finales del 2018 e inicios de 2019 se puede observar uan tendencia bajista con una mayor aceleracion a la baja de los precios. Aunque en diciembre del 2017 se observa una tendencia a la baja, pero para Enero y Febrero del 2018 empieza haber una tendencia a la alta.

Moving Averages Covergence/Divergence MACD(12,26,9)

macd <- MACD(Cl(AXTELCPO.MX),nFast=14,nSlow=28,nSig=12)

Technical Analysis Chart

lineChart(AXTELCPO.MX,theme=chartTheme("white"),up.col="darkred",TA = NULL)

addMACD(fast=12,slow=26,signal=9)

En la grafica se puede observar que para el mes de junio del 2017 hay una señal de sobre venta, en agosto del 2018 se puede ver un punto de sobre compra,diciembre del 2017 hay una sobre venta, febrero del 2018 hay una sobre compra y apartir de juno del 2018 a febrero de 2019 ha habido una sobre venta

Tomando en cuenta la última semana de su gráfica, ¿recomienda comprar o vender? (suponiendo que cuentala acción).

Recomiendo comprar ya que en este momento las acciones esta bajo el precio y puedes llegar un punto donde la accion vuelva a repuntar gracias a los tratos que esta haciendo en estos momentos con televisa.

REFERENCIAS

mediatelecom. (2019). TELECOMIFT revisará venta de fibra de Axtel a Televisa. 27 de enero del 2019, de mediatelecom Sitio web: https://www.mediatelecom.com.mx/2019/01/16/ift-revisara-venta-de-fibra-de-axtel-a-televisa/

Expansión en alza. (2017). La elevada deuda de Axtel puede causar su venta, según analistas. 27 de febrero del 2019, de Expansión en alza Sitio web: https://expansion.mx/empresas/2017/10/15/la-elevada-deuda-de-axtel-puede-causar-su-venta-segun-analistas

Estephanie Suárez. (2018). Mercado premia transacción de Axtel y Televisa. 27 de Febrero del 2019, de El economista Sitio web: https://www.eleconomista.com.mx/mercados/Mercado-premia-transaccion-de-Axtel-y-Televisa-20181218-0129.html

(2014). ¿QUÉ SON LOS MERCADOS BULL Y BEAR?. 27 de febrero del 2019, de ANDBANK Sitio web: https://www.andbank.es/observatoriodelinversor/que-son-los-mercados-bull-y-bear/

LS0tDQp0aXRsZTogIkF4dGVsIFMuQS5CIGRlIEMuViINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQpBeHRlbCBTLkEuQiBkZSBDLlYuIGVzIHVuYSBlbXByZXNhIGRlIHRlbGVjb211bmljYWNpb25lcyBtZXhpY2FuYSBxdWUgYXRpZW5kZSB0YW50byBhIGxvcyBtZXJjYWRvcyBlbXByZXNhcmlhbCB5IGRlIGdvYmllcm5vIGNvbW8gcGVxdWXxb3MgbmVnb2Npb3MgeSByZXNpZGVuY2lhbGVzLiBBIHRyYXbpcyBkZSBzdSBtYXJjYSBBbGVzdHJhIG9mcmVjZSBzZXJ2aWNpb3MgZW1wcmVzYXJpYWxlcyB5IGRlIGdvYmllcm5vLiBBIHRyYXbpcyBkZSBzdSBtYXJjYSBBeHRlbCBicmluZGEgc2VydmljaW9zIHBhcmEgbWVyY2FkbyBtYXNpdm8geSBwZXF1ZfFvcyBuZWdvY2lvcy4NCg0KQXh0ZWwsIFMuQS5CLiBkZSBDLlYuIHNlIGNyZWEgZW4gMTk5NCB5IHN1cmdlIGEgcGFydGlyIGRlIGxhIGZ1c2nzbiBkZSBkb3Mgb3JnYW5pemFjaW9uZXMgbWV4aWNhbmFzLCBjb24gaW5mcmFlc3RydWN0dXJhIHkgY2FwYWNpZGFkZXMgY29tcGxlbWVudGFyaWFzOiBBbGVzdHJhIHkgQXh0ZWwuIERlIGVzdGEgZm9ybWEsIGxhIG51ZXZhIEF4dGVsIHNlIGNvbnZpcnRp8yBlbiB1bmEgY29tcGHx7WEgc3Vic2lkaWFyaWEgZGUgQUxGQSwgcXVpZW4gcG9zZWUgZWwgNTElIGRlIHN1IGNhcGl0YWwgeSBhY3R1YWxtZW50ZSBjdWVudGEgY29uIHVuYSBpbmZyYWVzdHJ1Y3R1cmEgZGUgcmVkIGRlIDM5IG1pbCBraWzzbWV0cm9zIHkgNiBtaWwgNTAwIG1ldHJvcyBjdWFkcmFkb3MgZGUgcGlzbyBibGFuY28sIHF1ZSBzb3BvcnRhbiBzdSBwb3J0YWZvbGlvLg0KDQpMYSBwcmluY2lwYWwgZm9ydGFsZXphIGRlIEF4dGVsIGVzIGxhIGNhcGFjaWRhZCBkZSBhdGVuZGVyIGNvbiB1bmEgcm9idXN0YSBvZmVydGEgZGUgc2VydmljaW9zIGRlIFRlY25vbG9n7WFzIGRlIEluZm9ybWFjafNuIHkgQ29tdW5pY2FjafNuLCBhbCBtZXJjYWRvIGVtcHJlc2FyaWFsLCBkZSBnb2JpZXJubywgcGVxdWXxb3MgbmVnb2Npb3MgeSBtYXNpdm8sIGFwb3lhZGEgcG9yIGVsIHJlc3BhbGRvIGRlIHN1cyBkb3MgbWFyY2FzIGNvbWVyY2lhbGVzIEFsZXN0cmEgeSBBeHRlbC4gDQoNCigyMDE5KS4gQXh0ZWwuIDI3IGRlIGZlYnJlcm8gZGVsIDIwMTksIGRlIFdpa2lwZWRpYSBTaXRpbyB3ZWI6IGh0dHBzOi8vZXMud2lraXBlZGlhLm9yZy93aWtpL0F4dGVsDQoNCg0KLS0tDQoNCiMgMS4gQ2FyZ2EgbG9zIHBhcXVldGVzDQoNCg0KYGBge3J9DQpsaWJyYXJ5KCJUVFIiKQ0KbGlicmFyeSgicXVhbnRtb2QiKQ0KbGlicmFyeSgiUGVyZm9ybWFuY2VBbmFseXRpY3MiKQ0KYGBgDQoNCiMgMi4gU2VsZWNjaW9uYSBsb3MgZGF0b3MgZGVzY2FyZ+FuZG9sb3MgZGUgWWFob28gRmluYW5jZTIuIFNlbGVjY2lvbmEgbG9zIGRhdG9zIGRlc2NhcmfhbmRvbG9zIGRlIFlhaG9vIEZpbmFuY2UNCmBgYHtyfQ0KZ2V0U3ltYm9scygiQVhURUxDUE8uTVgiLHNyYz0ieWFob28iLGZyb209IjIwMTctMDEtMDEiLCB0bz0iMjAxOS0wMi0yMiIpDQpgYGANCg0KDQojIDIuMiBEaWZlcmVudGVzIHRpcG9zIGRlIGdy4WZpY29zDQoNCmBgYHtyfQ0KbGluZUNoYXJ0KEFYVEVMQ1BPLk1YLHRoZW1lPWNoYXJ0VGhlbWUoIndoaXRlIikpDQpiYXJDaGFydChBWFRFTENQTy5NWCx0aGVtZT1jaGFydFRoZW1lKCJ3aGl0ZSIpKQ0KY2FuZGxlQ2hhcnQoQVhURUxDUE8uTVgsdGhlbWU9Y2hhcnRUaGVtZSgid2hpdGUiKSkNCmBgYA0KDQpFbiBsYXMgc2lndWllbnRlcyBncmFmaWNhcyBub3MgbXVlc3RyYW4gcXVlIGxhIGVtcHJlc2EgQVhURUwgaGEgdGVuaWRvIHVuYSB0ZW5kZW5jaWEgIkJlYXIiLiBTZSBwdWVkZSBvYnNlcnZhciBxdWUgcGFyYSBub3ZpZW1icmUgZGUgMjAxNyBsYXMgYWNjaW9uZXMgaWJhbiBhIGxhIGJhamEsIHBlcm8gcmVwdW50YXJvbiBncmFjaWFzIGEgdW4gdHJhdG8gcXVlIGhpc28gY29uIFRlbGV2aXNhLCBwZXJvIGRlc3B1ZXMgYSBmaW5hbGVzIGRlIDIwMTggZW1wZXphcm9uIGEgY2FlciBsYXMgYWNjaW9uZXMgZGViaWRvIGEgbWVub3JlcyBpbmdyZXNvcyBlbiBlbCBzZWdtZW50byBkZSBzZXJ2aWNpb3MgYSBHb2JpZXJubywgcXVlIGEgc3UgdmV6IGZ1ZSByZXN1bHRhZG8gZGUgbWVub3JlcyBpbmdyZXNvcyBlbiBsYSBkaXZpc2nzbiB0ZWxlY29tdW5pY2FjaW9uZXMuDQoNCg0KIyAyLjIuMSBFbGVnaXIgc3ViY29uanV0bm9zIGVuIGVsIHBlcmlvZG8gZGUgdGllbXBvLg0KYGBge3J9DQpjYW5kbGVDaGFydChBWFRFTENQTy5NWCx0aGVtZT0id2hpdGUiLHN1YnNldD0nMjAxOC0wMjo6MjAxOS0wMScpDQpgYGANCiMgMy4gSW5kaWNhZG9yZXMgZGUgQW7hbGlzaXMgdOljbmljbw0KDQojIDMuMS4gSW5kaWNhZG9yZXMgUmV6YWdhZG9zDQoNCiMgMy4xLjEuIE1lZGlhcyBN83ZpbGVzIFNpbXBsZXMgU01BKCA3ICYgNDApLCBNZWRpYXMgTfN2aWxlcyBFeHBvbmVuY2lhbGVzICg0ICAxOCAmIDQwKQ0KDQojIE1FRElBUyBN00xWSUxFUyBTSU1QTEVTDQpgYGB7cn0NCnNtYTcgPC0gU01BKENsKEFYVEVMQ1BPLk1YKSxuPTcpDQpzbWE0MCA8LSBTTUEoQ2woQVhURUxDUE8uTVgpLG49NDApDQpgYGANCkdy4WZpY28gZGUgYW7hbGlzaXMgdOljbmljbw0KDQpgYGB7cn0NCg0KbGluZUNoYXJ0KEFYVEVMQ1BPLk1YLHRoZW1lPWNoYXJ0VGhlbWUoIndoaXRlIikpDQphZGRTTUEobj03LGNvbD0iZGFya2JsdWUiKQ0KYWRkU01BKG49NDAsY29sPSJkYXJrcmVkIikNCmxlZ2VuZCgiYm90dG9tcmlnaHQiLGNvbD1jKCJkYXJrYmx1ZSIsImRhcmtyZWQiKSxsdHk9MSxsZWdlbmQ9YygiU01BKDcpIiwiU01BKDQwKSIpLGNleD0wLjYpDQpgYGANCg0KRW4gbGEgZ3JhZmljYSBzZSBwdWVkZSBvYnNlcnZhciBxdWUgYSBmaW5hbGVzIGRlIDIwMTcgaGF5IHVuIHB1bnRvIGRlIHZlbnRhIHlhIHF1ZSBwYXJhIGVzYXMgZmVjaGFzIGxhIGVtcHJlc2EgaGFiaWEgZGVjbGFyYWRvIHF1ZSB0ZW5pYSB1bmEgZGV1ZGEuDQpBIGluaWNpb3MgZGUgMjAxOCBzZSB2ZSB1biBwdW50byBkZSBjb21wcmEgeWEgcXVlIGVuIGVzZSB0aWVtcG8gc2UgZW1wZXNvIGEgaGFjZXIgdW4gdHJhdG8gY29uIGxhIHRlbGV2aXNvcmEgVEVMRVZJU0EsIHBlcm8gYSBmaW5hbGVzIGRlIDIwMTggc2UgcHVlZGUgdmVyIHVuIHB1bnRvIGRlIHZlbnRhIGdyYWNpYXMgYSBxdWUgaHVibyBtZW5vcmVzIGluZ3Jlc29zIGVuIGVsIHNlZ21lbnRvIGRlIHNlcnZpY2lvcyBhIEdvYmllcm5vLCBxdWUgYSBzdSB2ZXogZnVlIHJlc3VsdGFkbyBkZSBtZW5vcmVzIGluZ3Jlc29zIGVuIGxhIGRpdmlzafNuIHRlbGVjb211bmljYWNpb25lcy4NCg0KIyBNZWRpYXMgTfN2aWxlcyBleHBvbmVuY2lhbGVzDQpgYGB7cn0NCmVtYTQgPC0gRU1BKENsKEFYVEVMQ1BPLk1YKSxuPTQpDQplbWExOCA8LSBFTUEoQ2woQVhURUxDUE8uTVgpLG49MTgpDQplbWE0MCA8LSBFTUEoQ2woQVhURUxDUE8uTVgpLG49NDApDQpgYGANCiMgVGVjaG5pY2FsIEFuYWx5c2lzIENoYXJ0DQpgYGB7cn0NCmxpbmVDaGFydChBWFRFTENQTy5NWCkNCmFkZEVNQShuPTQsY29sPSJncmF5MTAwIikNCmFkZEVNQShuPTE4LGNvbD0iaG90cGluayIpDQphZGRFTUEobj00MCxjb2w9ImdvbGQiKQ0KbGVnZW5kKCJib3R0b21yaWdodCIsY29sPWMoImdyYXkxMDAiLCJob3RwaW5rIiwiZ29sZCIpLGx0eT0xLGxlZ2VuZD1jKCJFTUEoNCkiLCJFTUEoMTgpIiwiRU1BKDQwKSIpLGNleD0wLjYpDQoNCmBgYA0KDQpOdW1lcm8gZGUgcGVyaW9kb3M9RU1BND0yLzQrMQ0KTnVtZXJvIGRlIHBlcmlvZG9zPUVNQTE4PTIvMTgrMQ0KTnVtZXJvIGRlIHBlcmlvZG9zPUVNQTQwPTIvNDArMQ0KDQoNCg0KDQoNCg0KDQojIDMuMS4yLiBCYW5kYXMgZGUgQm9sbGluZ2VyIEJCKDIwLDIpDQpgYGB7cn0NCmJiMiA8LSBCQmFuZHMoSExDKEFYVEVMQ1BPLk1YKSxuPTIwLHNkPTIpDQpgYGANCg0KIyBHcuFmaWNvIGRlIGFu4Wxpc2lzIHTpY25pY28NCmBgYHtyfQ0KbGluZUNoYXJ0KEFYVEVMQ1BPLk1YLHRoZW1lPWNoYXJ0VGhlbWUoIndoaXRlIiksVEEgPSBOVUxMLHVwLmNvbD0nZGFya2JsdWUnLEFYVEVMQ1BPLk1YJGJiYW5kcyRjb2wkbWEpICNUQSBxdWl0YSB2b2x1bWVuIGRlbCBncuFmaWNvDQphZGRCQmFuZHMobj0yMCxzZD0yKQ0KDQpgYGANCkVuIGVsIGdyYWZpY28gYW50ZXJpb3IgZG9uZGUgdXRpbGl6YW1vcyBkb3MgZGVzdmlhY2lvbmVzIGVzdGFuZGFyLCBwb2RlbW9zIG9ic2VydmFyIHF1ZSBwb3IgZWwgbWVzIGRlIG1heW8gZGUgMjAxNyBodWJvIHVuYSBzb2JyZS1jb21wcmEsIHlhIHF1ZSBsYXMgYmFuZGFzIGVzdGFuIHNlcGFyYWRhcyBzZSBwdWVkZSBkZWNpciBxdWUgaHVibyBtdWNoYSB2b2xhdGlsaWRhZCBkZWwgcHJlY2lvIGRlIGxhcyBhY2Npb25lcyBvIHVuYSBleHBhbnNpb24gZGVsIHByZWNpbyBkZWwgYWN0aXZvLCBkZXNwdWVzIGh1Ym8gdW5hIHBlcXVl8WEgY29udHJhY2Npb24gZGUgbG9zIHByZWNpb3MgZW4gbG9zIG1lc2VzIGRlIGp1bmlvIHkganVsaW8gZGVsIDIwMTcuDQpEZXNwdWVzIHNlIHB1ZWRlIG9ic2VydmFyIHF1ZSBwYXJhIGxvcyBtZXNlcyBkZSBlbmVybyBhIG1heW8gZGVsIDIwMTggaHVibyB1bmEgZXhwYW5zaW9uIGRlbCBwcmVjaW8gbyBzb2JyZSBjb21wcmEgZGUgbG9zIGFjdGl2b3MgLCBwZXJvIGRlc2RlIGxvcyBtZXNlcyBkZSBqdW5pbyBkZWwgMjAxOCBhIGZlYnJlcm8gZGVsIDIwMTkgaGF5IHVuYSBjb250cmFjY2lvbiBlbiBlbCBwcmVjaW8gZGUgbG9zIGFjdGl2b3MgbyBzZWEgaGF5IHVuYSBzb2JyZSB2ZW50YSBkZSBsb3MgYWN0aXZvcy4NCg0KDQoNCiMgMy4xLjIuIEJhbmRhcyBkZSBCb2xsaW5nZXIgQkIoMjAsMykNCmBgYHtyfQ0KYmIzIDwtIEJCYW5kcyhITEMoQVhURUxDUE8uTVgpLG49MjAsc2Q9MykNCmBgYA0KIyBHcuFmaWNvIGRlIGFu4Wxpc2lzIHTpY25pY28NCmBgYHtyfQ0KbGluZUNoYXJ0KEFYVEVMQ1BPLk1YLHRoZW1lPWNoYXJ0VGhlbWUoIndoaXRlIiksVEEgPSBOVUxMLHVwLmNvbD0nZGFya2JsdWUnLEFYVEVMQ1BPLk1YJGJiYW5kcyRjb2wkbWEpICNUQSBxdWl0YSB2b2x1bWVuIGRlbCBncuFmaWNvDQoNCg0KYWRkQkJhbmRzKG49MjAsc2Q9MykNCmBgYA0KRW4gZWwgZ3JhZmljbyBhbnRlcmlvciBkb25kZSB1dGlsaXphbW9zIHRyZXMgZGVzdmlhY2lvbmVzIGVzdGFuZGFyLCBwb2RlbW9zIG9ic2VydmFyIHF1ZSBwb3IgZWwgbWVzIGRlIGVuZXJvIGRlIDIwMTcgYSBqdW5pbyBkZSAyMDE4IGh1Ym8gdW5hIHNvYnJlLWNvbXByYSwgeWEgcXVlIGxhcyBiYW5kYXMgZXN0YW4gc2VwYXJhZGFzIHNlIHB1ZWRlIGRlY2lyIHF1ZSBodWJvIG11Y2hhIHZvbGF0aWxpZGFkIGRlbCBwcmVjaW8gZGUgbGFzIGFjY2lvbmVzIG8gdW5hIGV4cGFuc2lvbiBkZWwgcHJlY2lvIGRlbCBhY3Rpdm8uDQpEZSBsb3MgbWVzZXMgZGUganVsaW8gYSBhZ29zdG8gZGVsIDIwMTggaHVibyB1bmEgY29udHJhY2Npb24gZGUgbG9zIGFjdGl2b3MgbyBzZWEgdW5hIHNvYnJlLXZlbnRhLCBwZXJvIGVuIGVzdGUgcGVyaW9kbyBubyB0dXZpZXJvbiBtdWNoYSB2b2xhdGlsaWRhZCBsb3MgcHJlY2lvcyBkZSBsYXMgYWNjaW9uZXMuDQoNCiMgUGFyYWJvbGljIFN0b3AgYW5kIFJldmVyc2UgU0FSKDAuMDIsMC4yKQ0KYGBge3J9DQpzYXIgPC0gU0FSKGNiaW5kKEhpKEFYVEVMQ1BPLk1YKSxMbyhBWFRFTENQTy5NWCkpLGFjY2VsPWMoMC4wMiwgMC4yKSkNCmBgYA0KR3LhZmljbyBkZSBhbuFsaXNpcyB06WNuaWNvDQpsaW5lQ2hhcnQoQVhURUxDUE8uTVgsdGhlbWU9Y2hhcnRUaGVtZSgid2hpdGUiKSx1cC5jb2w9ImRhcmtyZWQiLFRBID0gTlVMTCkNCmBgYHtyfQ0KbGluZUNoYXJ0KEFYVEVMQ1BPLk1YLHRoZW1lPWNoYXJ0VGhlbWUoIndoaXRlIiksdXAuY29sPSJkYXJrcmVkIixUQSA9IE5VTEwpDQoNCg0KYWRkU0FSKGFjY2VsPWMoMC4wMiwgMC4yKSkNCmBgYA0KRW4gZXN0ZSBncmFmaWNvIHNlIHB1ZWRlIG9ic2VydmFyIHF1ZSBsYSBtYXlvcmlhIGRlIGxvcyBwdW50b3MgaGFuIHNpZG8gdW5hIHRlbmRlbmNpYSBiYWppc3RhIGNvbiB1bmEgYmFqYSBhY2VsZXJhY2lvbiAuDQpQb2RlbW9zIG9ic2VydmFyIHF1ZSBlbiBsb3MgYfFvcyBkZSAyMDE3IHkgbWl0YWRlcyBkZSAyMDE4IHRpZW5kZW4gYSB1bmEgdGVuZGVuY2lhIGFsdGlzdGEgcGVybyBjb24gdW5hIG1lbm9yIGFjZWxlcmFjaW9uLCBwZXJvIHBhcmEgZmluYWxlcyBkZWwgMjAxOCBlIGluaWNpb3MgZGUgMjAxOSBzZSBwdWVkZSBvYnNlcnZhciB1YW4gdGVuZGVuY2lhIGJhamlzdGEgY29uIHVuYSBtYXlvciBhY2VsZXJhY2lvbiBhIGxhIGJhamEgZGUgbG9zIHByZWNpb3MuIA0KQXVucXVlIGVuIGRpY2llbWJyZSBkZWwgMjAxNyBzZSBvYnNlcnZhIHVuYSB0ZW5kZW5jaWEgYSBsYSBiYWphLCBwZXJvIHBhcmEgRW5lcm8geSBGZWJyZXJvIGRlbCAyMDE4IGVtcGllemEgaGFiZXIgdW5hIHRlbmRlbmNpYSBhIGxhIGFsdGEuDQoNCg0KIyBNb3ZpbmcgQXZlcmFnZXMgQ292ZXJnZW5jZS9EaXZlcmdlbmNlIE1BQ0QoMTIsMjYsOSkNCmBgYHtyfQ0KbWFjZCA8LSBNQUNEKENsKEFYVEVMQ1BPLk1YKSxuRmFzdD0xNCxuU2xvdz0yOCxuU2lnPTEyKQ0KYGBgDQoNCiMgVGVjaG5pY2FsIEFuYWx5c2lzIENoYXJ0DQpgYGB7cn0NCg0KbGluZUNoYXJ0KEFYVEVMQ1BPLk1YLHRoZW1lPWNoYXJ0VGhlbWUoIndoaXRlIiksdXAuY29sPSJkYXJrcmVkIixUQSA9IE5VTEwpDQoNCg0KYWRkTUFDRChmYXN0PTEyLHNsb3c9MjYsc2lnbmFsPTkpDQpgYGANCg0KRW4gbGEgZ3JhZmljYSBzZSBwdWVkZSBvYnNlcnZhciBxdWUgcGFyYSBlbCBtZXMgZGUganVuaW8gZGVsIDIwMTcgaGF5IHVuYSBzZfFhbCBkZSBzb2JyZSB2ZW50YSwgZW4gYWdvc3RvIGRlbCAyMDE4IHNlIHB1ZWRlIHZlciB1biBwdW50byBkZSBzb2JyZSBjb21wcmEsZGljaWVtYnJlIGRlbCAyMDE3IGhheSB1bmEgc29icmUgdmVudGEsIGZlYnJlcm8gZGVsIDIwMTggaGF5IHVuYSBzb2JyZSBjb21wcmEgeSBhcGFydGlyIGRlIGp1bm8gZGVsIDIwMTggYSBmZWJyZXJvIGRlIDIwMTkgaGEgaGFiaWRvIHVuYSBzb2JyZSB2ZW50YQ0KDQoNCg0KVG9tYW5kbyBlbiBjdWVudGEgbGEg+mx0aW1hIHNlbWFuYSBkZSBzdSBncuFmaWNhLCC/cmVjb21pZW5kYSBjb21wcmFyIG8gdmVuZGVyPyAoc3Vwb25pZW5kbyBxdWUgY3VlbnRhbGEgYWNjafNuKS4NCg0KUmVjb21pZW5kbyBjb21wcmFyIHlhIHF1ZSBlbiBlc3RlIG1vbWVudG8gbGFzIGFjY2lvbmVzIGVzdGEgYmFqbyBlbCBwcmVjaW8geSBwdWVkZXMgbGxlZ2FyIHVuIHB1bnRvIGRvbmRlIGxhIGFjY2lvbiB2dWVsdmEgYSByZXB1bnRhciBncmFjaWFzIGEgbG9zIHRyYXRvcyBxdWUgZXN0YSBoYWNpZW5kbyBlbiBlc3RvcyBtb21lbnRvcyBjb24gdGVsZXZpc2EuDQoNCg0KDQoNCiMgUkVGRVJFTkNJQVMNCg0KbWVkaWF0ZWxlY29tLiAoMjAxOSkuIFRFTEVDT01JRlQgcmV2aXNhcuEgdmVudGEgZGUgZmlicmEgZGUgQXh0ZWwgYSBUZWxldmlzYS4gMjcgZGUgZW5lcm8gZGVsIDIwMTksIGRlIG1lZGlhdGVsZWNvbSBTaXRpbyB3ZWI6IGh0dHBzOi8vd3d3Lm1lZGlhdGVsZWNvbS5jb20ubXgvMjAxOS8wMS8xNi9pZnQtcmV2aXNhcmEtdmVudGEtZGUtZmlicmEtZGUtYXh0ZWwtYS10ZWxldmlzYS8NCg0KRXhwYW5zafNuIGVuIGFsemEuICgyMDE3KS4gTGEgZWxldmFkYSBkZXVkYSBkZSBBeHRlbCBwdWVkZSBjYXVzYXIgc3UgdmVudGEsIHNlZ/puIGFuYWxpc3Rhcy4gMjcgZGUgZmVicmVybyBkZWwgMjAxOSwgZGUgRXhwYW5zafNuIGVuIGFsemEgU2l0aW8gd2ViOiBodHRwczovL2V4cGFuc2lvbi5teC9lbXByZXNhcy8yMDE3LzEwLzE1L2xhLWVsZXZhZGEtZGV1ZGEtZGUtYXh0ZWwtcHVlZGUtY2F1c2FyLXN1LXZlbnRhLXNlZ3VuLWFuYWxpc3Rhcw0KDQpFc3RlcGhhbmllIFN14XJlei4gKDIwMTgpLiBNZXJjYWRvIHByZW1pYSB0cmFuc2FjY2nzbiBkZSBBeHRlbCB5IFRlbGV2aXNhLiAyNyBkZSBGZWJyZXJvIGRlbCAyMDE5LCBkZSBFbCBlY29ub21pc3RhIFNpdGlvIHdlYjogaHR0cHM6Ly93d3cuZWxlY29ub21pc3RhLmNvbS5teC9tZXJjYWRvcy9NZXJjYWRvLXByZW1pYS10cmFuc2FjY2lvbi1kZS1BeHRlbC15LVRlbGV2aXNhLTIwMTgxMjE4LTAxMjkuaHRtbA0KDQogKDIwMTQpLiC/UVXJIFNPTiBMT1MgTUVSQ0FET1MgQlVMTCBZIEJFQVI/LiAyNyBkZSBmZWJyZXJvIGRlbCAyMDE5LCBkZSBBTkRCQU5LIFNpdGlvIHdlYjogaHR0cHM6Ly93d3cuYW5kYmFuay5lcy9vYnNlcnZhdG9yaW9kZWxpbnZlcnNvci9xdWUtc29uLWxvcy1tZXJjYWRvcy1idWxsLXktYmVhci8NCiANCiANCg0KDQo=