Instalar paquetes y llamar librerias

#install.packages ("gtrendsR")
library (tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6      ✔ purrr   0.3.4 
## ✔ tibble  3.1.8      ✔ dplyr   1.0.10
## ✔ tidyr   1.2.1      ✔ stringr 1.4.1 
## ✔ readr   2.1.2      ✔ forcats 0.5.2 
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(gtrendsR)

#Para resolver errores al graficar
#devtools::install_github("PMassicotte/gtrendsR)
#1

Herramienta el generador de valor de datos

Paso 1. Definir el area del negocio que buscamos impactar o mejorar y su KPI

El departamento de marketing de Marvel en el indicador de streaming

Paso 2. Seleccionar plantilla (-s) para crear valor a partir de los datos de los clientes

Visión / Segmentación / Personalización / Contextualización

Paso 3. Generar ideas o conceptos especificos

Elaborar graficas de tendencias sobre el entretenimiento de Marvel

Paso 4. Reunir los datos requeridos

Elaborar una gráfica de tendencia con las búsquedas a través del tiempo de Marvel y su contenido

Paso 5. Plan de ejecucion

Marketing elaborará un plan de reposicionamiento del contenido de streaming de Marvel

Sistemas asegurará la captura del markdown en las bases de datos

Marvel

Paso 1. Definir el término a buscar

termino <- c("marvel")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal <- "web"

Paso 4. Definir la ventana de tiempo

periodo <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia <- gtrends(termino, ubicacion, canal, time = periodo)
plot(tendencia)

Spiderman

Paso 1. Definir el término a buscar

termino2 <- c("spiderman")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion2 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal2 <- "web"

Paso 4. Definir la ventana de tiempo

periodo2 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia2 <- gtrends(termino2, ubicacion2, canal2, time = periodo2)
plot(tendencia2)

Ironman

Paso 1. Definir el término a buscar

termino3 <- c("ironman")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion3 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal3 <- "web"

Paso 4. Definir la ventana de tiempo

periodo3 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia3 <- gtrends(termino3, ubicacion3, canal3, time = periodo3)
plot(tendencia3)

Conclusiones

A través de esta herramienta, creamos gráficas de búsqueda sobre el tiempo, con ayuda de las librerias de Google Trends en la nube, en donde optimizamos terminos que tuvieran relevancia diferente durante el periodo de tiempo determinado.

En este caso, gracias al programa R, se evalúo a la casa de entrenimiento Marvel y su contenido como los principales personajes (Spiderman, Ironman) para evaluar el impacto que han tenido como peliculas y/o contenido de entretenimiento a través del tiempo, demostrando que, en el caso de Spiderman tuvó un repunte en 2021 debido a la tercer película de la saga donde aparecen todos los actores que han intepretado al personaje a lo largo de la historia; mientras que en el caso de Ironman, tuvo su lanzamiento en 2010, pero ha disminuido su busqueda con el tiempo.

El departamento de marketing deberá evaluar dichos resultados para comenzar el plan de reposicionamiento del contenido de streaming y validar sobre la interacción de los personajes.

John Deere

Herramienta el generador de valor de datos

Paso 1. Definir el area del negocio que buscamos impactar o mejorar y su KPI

El departamento de marketing de John Deere en el indicador de awareness

Paso 2. Seleccionar plantilla (-s) para crear valor a partir de los datos de los clientes

Visión / Segmentación / Personalización / Contextualización

Paso 3. Generar ideas o conceptos especificos

Elaborar graficas de tendencias sobre la busqueda de John Deere y productos

Paso 4. Reunir los datos requeridos

Elaborar una gráfica de tendencia con las búsquedas a través del tiempo de John Deere y sus productos

Paso 5. Plan de ejecucion

Marketing elaborará un plan de awareness de los productos de John Deere

Sistemas asegurará la captura del markdown en las bases de datos

Graficos

John Deere

Paso 1. Definir el término a buscar

termino4 <- c("John Deere")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion4 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal4 <- "web"

Paso 4. Definir la ventana de tiempo

periodo4 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia4 <- gtrends(termino4, ubicacion4, canal4, time = periodo4)
plot(tendencia4)

Tractores

Paso 1. Definir el término a buscar

termino5 <- c("tractores")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion5 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal5 <- "web"

Paso 4. Definir la ventana de tiempo

periodo5 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia5 <- gtrends (termino5, ubicacion5, canal5, time = periodo5)
plot(tendencia5)

Agricultura

Paso 1. Definir el término a buscar

termino6 <- c("agricultura")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion6 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal6 <- "web"

Paso 4. Definir la ventana de tiempo

periodo6 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia6 <- gtrends (termino6, ubicacion6, canal6, time = periodo6)
plot(tendencia6)

Conclusiones

En este caso, gracias al programa R, se evalúo a la empresa especializada en maquinas de traccion John Deere y sus principales activos, como productos Tractores y el enfoque de su industria Agricultura, para evaluar el awareness que ha tenido a lo largo del tiempo, demostrando que, el termino de tractores ha perdidio relevancia con el tiempo, sin embargo. la empresa de John Deere ha ganado menciones en la web, mientras que agricultura se ha mantenido en una constante estabilidad.

De esta forma, el departamento de marketing deberá evaluar dichos resultados para mantener el plan de awareness y consolidar el engagement de la empresa con sus clientes potenciales.

Oxxo

Herramienta el generador de valor de datos

Paso 1. Definir el area del negocio que buscamos impactar o mejorar y su KPI

El departamento de marketing de Oxxo Premia en el indicador de awareness

Paso 2. Seleccionar plantilla (-s) para crear valor a partir de los datos de los clientes

Visión / Segmentación / Personalización / Contextualización

Paso 3. Generar ideas o conceptos especificos

Elaborar graficas de tendencias sobre la busqueda de Oxxo y sus aplicaciones

Paso 4. Reunir los datos requeridos

Elaborar una gráfica de tendencia con las búsquedas a través del tiempo de Oxxo y sus aplicaciones

Paso 5. Plan de ejecucion

Marketing elaborará un plan de awareness de la aplicacion Oxxo Premia

Sistemas asegurará la captura del markdown en las bases de datos

Oxxo

Paso 1. Definir el término a buscar

termino7 <- c("Oxxo")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion7 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal7 <- "web"

Paso 4. Definir la ventana de tiempo

periodo7 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia7 <- gtrends(termino7, ubicacion7, canal7, time = periodo7)
plot(tendencia7)

Conveniencia

Paso 1. Definir el término a buscar

termino8 <- c("conveniencia")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion8 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal8 <- "web"

Paso 4. Definir la ventana de tiempo

periodo8 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia8 <- gtrends(termino8, ubicacion8, canal8, time = periodo8)
plot(tendencia8)

Premios

Paso 1. Definir el término a buscar

termino9 <- c("Premios")

Paso 2. Definir la locación (ISO 2 country code)

ubicacion9 <- c("MX")

Paso 3. Definir el canal: web, news, images, youtube

canal9 <- "web"

Paso 4. Definir la ventana de tiempo

periodo9 <- ("2010-01-01 2022-09-01")

Paso 5. Función

tendencia9 <- gtrends(termino9, ubicacion9, canal9, time = periodo9)
plot(tendencia9)

Conclusiones

En este caso, gracias al programa R, se evalúo a la empresa especializada en tiendas de conveniencia Oxxo y sus principales activos, como productos de abarrotes, para evaluar el awareness que ha tenido en su reciente aplicacion de Oxxo Premia, demostrando que, el termino de oxxo ha ganado mayor relevancia con el tiempo. De esta forma, el departamento de marketing deberá evaluar dichos resultados para mantener el plan de awareness y consolidar el engagement de la empresa con sus clientes potenciales.

LS0tCnRpdGxlOiA8c3BhbiBzdHlsZT0iQ29sb3I6cmVkIj4gR2xvYmFsIFRyZW5kcwphdXRob3I6ICJLYXJlbiBOZXJpIC0gQTAxNjU3OTc0IgpkYXRlOiAiMjAyMi0wOS0wNyIKb3V0cHV0OiAKIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQotLS0KIVtdKGh0dHBzOi8vcGhhbnRvbS1tYXJjYS51bmlkYWRlZGl0b3JpYWwuZXMvMzQxYmJlYWRlZDA5OTZlZWViNjU3OGFlMjRhMTE4MGQvcmVzaXplLzEzMjAvZi9qcGcvYXNzZXRzL211bHRpbWVkaWEvaW1hZ2VuZXMvMjAyMi8wMy8xMy8xNjQ3MTYzNzE1OTk2My5qcGcpe3dpZHRoPSc2MDBweCd9CgojIyA8c3BhbiBzdHlsZT0iQ29sb3I6cmVkIj4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcyAoImd0cmVuZHNSIikKbGlicmFyeSAodGlkeXZlcnNlKQpsaWJyYXJ5KGd0cmVuZHNSKQoKI1BhcmEgcmVzb2x2ZXIgZXJyb3JlcyBhbCBncmFmaWNhcgojZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJQTWFzc2ljb3R0ZS9ndHJlbmRzUikKIzEKYGBgCgojIyA8c3BhbiBzdHlsZT0iQ29sb3I6cmVkIj4gSGVycmFtaWVudGEgZWwgZ2VuZXJhZG9yIGRlIHZhbG9yIGRlIGRhdG9zIAoKKipQYXNvIDEuIERlZmluaXIgZWwgYXJlYSBkZWwgbmVnb2NpbyBxdWUgYnVzY2Ftb3MgaW1wYWN0YXIgbyBtZWpvcmFyIHkgc3UgS1BJKioKCkVsIGRlcGFydGFtZW50byBkZSBtYXJrZXRpbmcgZGUgTWFydmVsIGVuIGVsIGluZGljYWRvciBkZSBzdHJlYW1pbmcKCioqUGFzbyAyLiBTZWxlY2Npb25hciBwbGFudGlsbGEgKC1zKSBwYXJhIGNyZWFyIHZhbG9yIGEgcGFydGlyIGRlIGxvcyBkYXRvcyBkZSBsb3MgY2xpZW50ZXMqKgoKVmlzacOzbiAvIFNlZ21lbnRhY2nDs24gLyBQZXJzb25hbGl6YWNpw7NuIC8gKipDb250ZXh0dWFsaXphY2nDs24qKiAKCioqUGFzbyAzLiBHZW5lcmFyIGlkZWFzIG8gY29uY2VwdG9zIGVzcGVjaWZpY29zKioKCkVsYWJvcmFyIGdyYWZpY2FzIGRlIHRlbmRlbmNpYXMgc29icmUgZWwgZW50cmV0ZW5pbWllbnRvIGRlIE1hcnZlbCAKCioqUGFzbyA0LiBSZXVuaXIgbG9zIGRhdG9zIHJlcXVlcmlkb3MgKioKCkVsYWJvcmFyIHVuYSBncsOhZmljYSBkZSB0ZW5kZW5jaWEgY29uIGxhcyBiw7pzcXVlZGFzIGEgdHJhdsOpcyBkZWwgdGllbXBvIGRlIE1hcnZlbCB5IHN1IGNvbnRlbmlkbwoKKipQYXNvIDUuIFBsYW4gZGUgZWplY3VjaW9uICoqCgpNYXJrZXRpbmcgZWxhYm9yYXLDoSB1biBwbGFuIGRlIHJlcG9zaWNpb25hbWllbnRvIGRlbCBjb250ZW5pZG8gZGUgc3RyZWFtaW5nIGRlIE1hcnZlbCAKClNpc3RlbWFzIGFzZWd1cmFyw6EgbGEgY2FwdHVyYSBkZWwgbWFya2Rvd24gZW4gbGFzIGJhc2VzIGRlIGRhdG9zIAoKCiMjIDxzcGFuIHN0eWxlPSJDb2xvcjpyZWQiPiBNYXJ2ZWwKIyMjIFBhc28gMS4gRGVmaW5pciBlbCB0w6lybWlubyBhIGJ1c2NhciAKYGBge3J9CnRlcm1pbm8gPC0gYygibWFydmVsIikKYGBgCgojIyMgUGFzbyAyLiBEZWZpbmlyIGxhIGxvY2FjacOzbiAoSVNPIDIgY291bnRyeSBjb2RlKQpgYGB7cn0KdWJpY2FjaW9uIDwtIGMoIk1YIikKYGBgCgojIyMgUGFzbyAzLiBEZWZpbmlyIGVsIGNhbmFsOiB3ZWIsIG5ld3MsIGltYWdlcywgeW91dHViZSAKYGBge3J9CmNhbmFsIDwtICJ3ZWIiCmBgYAoKIyMjIFBhc28gNC4gRGVmaW5pciBsYSB2ZW50YW5hIGRlIHRpZW1wbyAKYGBge3J9CnBlcmlvZG8gPC0gKCIyMDEwLTAxLTAxIDIwMjItMDktMDEiKQpgYGAKCiMjIyBQYXNvIDUuIEZ1bmNpw7NuIApgYGB7cn0KdGVuZGVuY2lhIDwtIGd0cmVuZHModGVybWlubywgdWJpY2FjaW9uLCBjYW5hbCwgdGltZSA9IHBlcmlvZG8pCnBsb3QodGVuZGVuY2lhKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJDb2xvcjpyZWQiPiBTcGlkZXJtYW4KCiMjIyBQYXNvIDEuIERlZmluaXIgZWwgdMOpcm1pbm8gYSBidXNjYXIgCmBgYHtyfQp0ZXJtaW5vMiA8LSBjKCJzcGlkZXJtYW4iKQpgYGAKCiMjIyBQYXNvIDIuIERlZmluaXIgbGEgbG9jYWNpw7NuIChJU08gMiBjb3VudHJ5IGNvZGUpCmBgYHtyfQp1YmljYWNpb24yIDwtIGMoIk1YIikKYGBgCgojIyMgUGFzbyAzLiBEZWZpbmlyIGVsIGNhbmFsOiB3ZWIsIG5ld3MsIGltYWdlcywgeW91dHViZSAKYGBge3J9CmNhbmFsMiA8LSAid2ViIgpgYGAKCiMjIyBQYXNvIDQuIERlZmluaXIgbGEgdmVudGFuYSBkZSB0aWVtcG8gCmBgYHtyfQpwZXJpb2RvMiA8LSAoIjIwMTAtMDEtMDEgMjAyMi0wOS0wMSIpCmBgYAoKIyMjIFBhc28gNS4gRnVuY2nDs24gCmBgYHtyfQp0ZW5kZW5jaWEyIDwtIGd0cmVuZHModGVybWlubzIsIHViaWNhY2lvbjIsIGNhbmFsMiwgdGltZSA9IHBlcmlvZG8yKQpwbG90KHRlbmRlbmNpYTIpCmBgYAoKIyMgPHNwYW4gc3R5bGU9IkNvbG9yOnJlZCI+IElyb25tYW4KCiMjIyBQYXNvIDEuIERlZmluaXIgZWwgdMOpcm1pbm8gYSBidXNjYXIgCmBgYHtyfQp0ZXJtaW5vMyA8LSBjKCJpcm9ubWFuIikKYGBgCgojIyMgUGFzbyAyLiBEZWZpbmlyIGxhIGxvY2FjacOzbiAoSVNPIDIgY291bnRyeSBjb2RlKQpgYGB7cn0KdWJpY2FjaW9uMyA8LSBjKCJNWCIpCmBgYAoKIyMjIFBhc28gMy4gRGVmaW5pciBlbCBjYW5hbDogd2ViLCBuZXdzLCBpbWFnZXMsIHlvdXR1YmUgCmBgYHtyfQpjYW5hbDMgPC0gIndlYiIKYGBgCgojIyMgUGFzbyA0LiBEZWZpbmlyIGxhIHZlbnRhbmEgZGUgdGllbXBvIApgYGB7cn0KcGVyaW9kbzMgPC0gKCIyMDEwLTAxLTAxIDIwMjItMDktMDEiKQpgYGAKCiMjIyBQYXNvIDUuIEZ1bmNpw7NuIApgYGB7cn0KdGVuZGVuY2lhMyA8LSBndHJlbmRzKHRlcm1pbm8zLCB1YmljYWNpb24zLCBjYW5hbDMsIHRpbWUgPSBwZXJpb2RvMykKcGxvdCh0ZW5kZW5jaWEzKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJDb2xvcjpyZWQiPiBDb25jbHVzaW9uZXMKQSB0cmF2w6lzIGRlIGVzdGEgaGVycmFtaWVudGEsIGNyZWFtb3MgZ3LDoWZpY2FzIGRlIGLDunNxdWVkYSBzb2JyZSBlbCB0aWVtcG8sIGNvbiBheXVkYSBkZSBsYXMgbGlicmVyaWFzIGRlIEdvb2dsZSBUcmVuZHMgZW4gbGEgbnViZSwgZW4gZG9uZGUgb3B0aW1pemFtb3MgdGVybWlub3MgcXVlIHR1dmllcmFuIHJlbGV2YW5jaWEgZGlmZXJlbnRlIGR1cmFudGUgZWwgcGVyaW9kbyBkZSB0aWVtcG8gZGV0ZXJtaW5hZG8uIAoKRW4gZXN0ZSBjYXNvLCBncmFjaWFzIGFsIHByb2dyYW1hIFIsIHNlIGV2YWzDum8gYSBsYSBjYXNhIGRlIGVudHJlbmltaWVudG8gTWFydmVsIHkgc3UgY29udGVuaWRvIGNvbW8gbG9zIHByaW5jaXBhbGVzIHBlcnNvbmFqZXMgKiooU3BpZGVybWFuLCBJcm9ubWFuKSoqIHBhcmEgZXZhbHVhciBlbCBpbXBhY3RvIHF1ZSBoYW4gdGVuaWRvIGNvbW8gcGVsaWN1bGFzIHkvbyBjb250ZW5pZG8gZGUgZW50cmV0ZW5pbWllbnRvIGEgdHJhdsOpcyBkZWwgdGllbXBvLCBkZW1vc3RyYW5kbyBxdWUsIGVuIGVsIGNhc28gZGUgU3BpZGVybWFuIHR1dsOzIHVuIHJlcHVudGUgZW4gMjAyMSBkZWJpZG8gYSBsYSB0ZXJjZXIgcGVsw61jdWxhIGRlIGxhIHNhZ2EgZG9uZGUgYXBhcmVjZW4gdG9kb3MgbG9zIGFjdG9yZXMgcXVlIGhhbiBpbnRlcHJldGFkbyBhbCBwZXJzb25hamUgYSBsbyBsYXJnbyBkZSBsYSBoaXN0b3JpYTsgbWllbnRyYXMgcXVlIGVuIGVsIGNhc28gZGUgSXJvbm1hbiwgdHV2byBzdSBsYW56YW1pZW50byBlbiAyMDEwLCBwZXJvIGhhIGRpc21pbnVpZG8gc3UgYnVzcXVlZGEgY29uIGVsIHRpZW1wby4gCgpFbCBkZXBhcnRhbWVudG8gZGUgbWFya2V0aW5nIGRlYmVyw6EgZXZhbHVhciBkaWNob3MgcmVzdWx0YWRvcyBwYXJhIGNvbWVuemFyIGVsICoqcGxhbiBkZSByZXBvc2ljaW9uYW1pZW50byBkZWwgY29udGVuaWRvIGRlIHN0cmVhbWluZyoqIHkgdmFsaWRhciBzb2JyZSBsYSBpbnRlcmFjY2nDs24gZGUgbG9zIHBlcnNvbmFqZXMuICAKCgojIyA8c3BhbiBzdHlsZT0iQ29sb3I6Z3JlZW4iPiBKb2huIERlZXJlCiFbXShodHRwczovL3d3dy5kZWVyZS5lcy9hc3NldHMvaW1hZ2VzL3JlZ2lvbi0yL3RyYWN0b3JzL2xhcmdlLzlyLXNlcmllcy9yNGcwODAwMjQtbGFyZ2UuanBnKXt3aWR0aD0nNjAwcHgnfQoKIyMgPHNwYW4gc3R5bGU9IkNvbG9yOmdyZWVuIj4gSGVycmFtaWVudGEgZWwgZ2VuZXJhZG9yIGRlIHZhbG9yIGRlIGRhdG9zIAoKKipQYXNvIDEuIERlZmluaXIgZWwgYXJlYSBkZWwgbmVnb2NpbyBxdWUgYnVzY2Ftb3MgaW1wYWN0YXIgbyBtZWpvcmFyIHkgc3UgS1BJKioKCkVsIGRlcGFydGFtZW50byBkZSBtYXJrZXRpbmcgZGUgSm9obiBEZWVyZSBlbiBlbCBpbmRpY2Fkb3IgZGUgYXdhcmVuZXNzCgoqKlBhc28gMi4gU2VsZWNjaW9uYXIgcGxhbnRpbGxhICgtcykgcGFyYSBjcmVhciB2YWxvciBhIHBhcnRpciBkZSBsb3MgZGF0b3MgZGUgbG9zIGNsaWVudGVzKioKClZpc2nDs24gLyBTZWdtZW50YWNpw7NuIC8gUGVyc29uYWxpemFjacOzbiAvICoqQ29udGV4dHVhbGl6YWNpw7NuKiogCgoqKlBhc28gMy4gR2VuZXJhciBpZGVhcyBvIGNvbmNlcHRvcyBlc3BlY2lmaWNvcyoqCgpFbGFib3JhciBncmFmaWNhcyBkZSB0ZW5kZW5jaWFzIHNvYnJlIGxhIGJ1c3F1ZWRhIGRlIEpvaG4gRGVlcmUgeSBwcm9kdWN0b3MKCioqUGFzbyA0LiBSZXVuaXIgbG9zIGRhdG9zIHJlcXVlcmlkb3MgKioKCkVsYWJvcmFyIHVuYSBncsOhZmljYSBkZSB0ZW5kZW5jaWEgY29uIGxhcyBiw7pzcXVlZGFzIGEgdHJhdsOpcyBkZWwgdGllbXBvIGRlIEpvaG4gRGVlcmUgeSBzdXMgcHJvZHVjdG9zIAoKKipQYXNvIDUuIFBsYW4gZGUgZWplY3VjaW9uICoqCgpNYXJrZXRpbmcgZWxhYm9yYXLDoSB1biBwbGFuIGRlIGF3YXJlbmVzcyBkZSBsb3MgcHJvZHVjdG9zIGRlIEpvaG4gRGVlcmUKClNpc3RlbWFzIGFzZWd1cmFyw6EgbGEgY2FwdHVyYSBkZWwgbWFya2Rvd24gZW4gbGFzIGJhc2VzIGRlIGRhdG9zIAoKIyMgPHNwYW4gc3R5bGU9IkNvbG9yOmdyZWVuIj4gR3JhZmljb3MgCgojIyMgSm9obiBEZWVyZQojIyMgUGFzbyAxLiBEZWZpbmlyIGVsIHTDqXJtaW5vIGEgYnVzY2FyIApgYGB7cn0KdGVybWlubzQgPC0gYygiSm9obiBEZWVyZSIpCmBgYAoKIyMjIFBhc28gMi4gRGVmaW5pciBsYSBsb2NhY2nDs24gKElTTyAyIGNvdW50cnkgY29kZSkKYGBge3J9CnViaWNhY2lvbjQgPC0gYygiTVgiKQpgYGAKCiMjIyBQYXNvIDMuIERlZmluaXIgZWwgY2FuYWw6IHdlYiwgbmV3cywgaW1hZ2VzLCB5b3V0dWJlIApgYGB7cn0KY2FuYWw0IDwtICJ3ZWIiCmBgYAoKIyMjIFBhc28gNC4gRGVmaW5pciBsYSB2ZW50YW5hIGRlIHRpZW1wbyAKYGBge3J9CnBlcmlvZG80IDwtICgiMjAxMC0wMS0wMSAyMDIyLTA5LTAxIikKYGBgCgojIyMgUGFzbyA1LiBGdW5jacOzbiAKYGBge3J9CnRlbmRlbmNpYTQgPC0gZ3RyZW5kcyh0ZXJtaW5vNCwgdWJpY2FjaW9uNCwgY2FuYWw0LCB0aW1lID0gcGVyaW9kbzQpCnBsb3QodGVuZGVuY2lhNCkKYGBgCgojIyMgVHJhY3RvcmVzCiMjIyBQYXNvIDEuIERlZmluaXIgZWwgdMOpcm1pbm8gYSBidXNjYXIgCmBgYHtyfQp0ZXJtaW5vNSA8LSBjKCJ0cmFjdG9yZXMiKQpgYGAKCiMjIyBQYXNvIDIuIERlZmluaXIgbGEgbG9jYWNpw7NuIChJU08gMiBjb3VudHJ5IGNvZGUpCmBgYHtyfQp1YmljYWNpb241IDwtIGMoIk1YIikKYGBgCgojIyMgUGFzbyAzLiBEZWZpbmlyIGVsIGNhbmFsOiB3ZWIsIG5ld3MsIGltYWdlcywgeW91dHViZSAKYGBge3J9CmNhbmFsNSA8LSAid2ViIgpgYGAKCiMjIyBQYXNvIDQuIERlZmluaXIgbGEgdmVudGFuYSBkZSB0aWVtcG8gCmBgYHtyfQpwZXJpb2RvNSA8LSAoIjIwMTAtMDEtMDEgMjAyMi0wOS0wMSIpCmBgYAoKIyMjIFBhc28gNS4gRnVuY2nDs24gCmBgYHtyfQp0ZW5kZW5jaWE1IDwtIGd0cmVuZHMgKHRlcm1pbm81LCB1YmljYWNpb241LCBjYW5hbDUsIHRpbWUgPSBwZXJpb2RvNSkKcGxvdCh0ZW5kZW5jaWE1KQpgYGAKCiMjIyBBZ3JpY3VsdHVyYQojIyMgUGFzbyAxLiBEZWZpbmlyIGVsIHTDqXJtaW5vIGEgYnVzY2FyIApgYGB7cn0KdGVybWlubzYgPC0gYygiYWdyaWN1bHR1cmEiKQpgYGAKCiMjIyBQYXNvIDIuIERlZmluaXIgbGEgbG9jYWNpw7NuIChJU08gMiBjb3VudHJ5IGNvZGUpCmBgYHtyfQp1YmljYWNpb242IDwtIGMoIk1YIikKYGBgCgojIyMgUGFzbyAzLiBEZWZpbmlyIGVsIGNhbmFsOiB3ZWIsIG5ld3MsIGltYWdlcywgeW91dHViZSAKYGBge3J9CmNhbmFsNiA8LSAid2ViIgpgYGAKCiMjIyBQYXNvIDQuIERlZmluaXIgbGEgdmVudGFuYSBkZSB0aWVtcG8gCmBgYHtyfQpwZXJpb2RvNiA8LSAoIjIwMTAtMDEtMDEgMjAyMi0wOS0wMSIpCmBgYAoKIyMjIFBhc28gNS4gRnVuY2nDs24gCmBgYHtyfQp0ZW5kZW5jaWE2IDwtIGd0cmVuZHMgKHRlcm1pbm82LCB1YmljYWNpb242LCBjYW5hbDYsIHRpbWUgPSBwZXJpb2RvNikKcGxvdCh0ZW5kZW5jaWE2KQpgYGAKCgojIyA8c3BhbiBzdHlsZT0iQ29sb3I6Z3JlZW4iPiBDb25jbHVzaW9uZXMKRW4gZXN0ZSBjYXNvLCBncmFjaWFzIGFsIHByb2dyYW1hIFIsIHNlIGV2YWzDum8gYSBsYSBlbXByZXNhIGVzcGVjaWFsaXphZGEgZW4gbWFxdWluYXMgZGUgdHJhY2Npb24gKipKb2huIERlZXJlKiogeSBzdXMgcHJpbmNpcGFsZXMgYWN0aXZvcywgY29tbyBwcm9kdWN0b3MgKipUcmFjdG9yZXMqKiB5IGVsIGVuZm9xdWUgZGUgc3UgaW5kdXN0cmlhICoqQWdyaWN1bHR1cmEqKiwgcGFyYSBldmFsdWFyIGVsIGF3YXJlbmVzcyBxdWUgaGEgdGVuaWRvIGEgbG8gbGFyZ28gZGVsIHRpZW1wbywgZGVtb3N0cmFuZG8gcXVlLCBlbCB0ZXJtaW5vIGRlIHRyYWN0b3JlcyBoYSBwZXJkaWRpbyByZWxldmFuY2lhIGNvbiBlbCB0aWVtcG8sIHNpbiBlbWJhcmdvLiBsYSBlbXByZXNhIGRlIEpvaG4gRGVlcmUgaGEgZ2FuYWRvIG1lbmNpb25lcyBlbiBsYSB3ZWIsIG1pZW50cmFzIHF1ZSBhZ3JpY3VsdHVyYSBzZSBoYSBtYW50ZW5pZG8gZW4gdW5hIGNvbnN0YW50ZSBlc3RhYmlsaWRhZC4KCkRlIGVzdGEgZm9ybWEsIGVsIGRlcGFydGFtZW50byBkZSBtYXJrZXRpbmcgZGViZXLDoSBldmFsdWFyIGRpY2hvcyByZXN1bHRhZG9zIHBhcmEgbWFudGVuZXIgZWwgKipwbGFuIGRlIGF3YXJlbmVzcyAqKiB5IGNvbnNvbGlkYXIgZWwgZW5nYWdlbWVudCBkZSBsYSBlbXByZXNhIGNvbiBzdXMgY2xpZW50ZXMgcG90ZW5jaWFsZXMuIAoKCiMjIDxzcGFuIHN0eWxlPSJDb2xvcjpyZWQiPiBPeHhvCiFbXShodHRwczovL3BsYXllcnNvZmxpZmUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy9veHhvLWRlamEtYXNvY2lhY2lvbi1kZS10aWVuZGFkLWF1dG9zZXJ2aWNpby5qcGcpe3dpZHRoPSc2MDBweCd9CgoKIyMgPHNwYW4gc3R5bGU9IkNvbG9yOnJlZCI+IEhlcnJhbWllbnRhIGVsIGdlbmVyYWRvciBkZSB2YWxvciBkZSBkYXRvcyAKCioqUGFzbyAxLiBEZWZpbmlyIGVsIGFyZWEgZGVsIG5lZ29jaW8gcXVlIGJ1c2NhbW9zIGltcGFjdGFyIG8gbWVqb3JhciB5IHN1IEtQSSoqCgpFbCBkZXBhcnRhbWVudG8gZGUgbWFya2V0aW5nIGRlIE94eG8gUHJlbWlhIGVuIGVsIGluZGljYWRvciBkZSBhd2FyZW5lc3MgCgoqKlBhc28gMi4gU2VsZWNjaW9uYXIgcGxhbnRpbGxhICgtcykgcGFyYSBjcmVhciB2YWxvciBhIHBhcnRpciBkZSBsb3MgZGF0b3MgZGUgbG9zIGNsaWVudGVzKioKClZpc2nDs24gLyBTZWdtZW50YWNpw7NuIC8gUGVyc29uYWxpemFjacOzbiAvICoqQ29udGV4dHVhbGl6YWNpw7NuKiogCgoqKlBhc28gMy4gR2VuZXJhciBpZGVhcyBvIGNvbmNlcHRvcyBlc3BlY2lmaWNvcyoqCgpFbGFib3JhciBncmFmaWNhcyBkZSB0ZW5kZW5jaWFzIHNvYnJlIGxhIGJ1c3F1ZWRhIGRlIE94eG8geSBzdXMgYXBsaWNhY2lvbmVzCgoqKlBhc28gNC4gUmV1bmlyIGxvcyBkYXRvcyByZXF1ZXJpZG9zICoqCgpFbGFib3JhciB1bmEgZ3LDoWZpY2EgZGUgdGVuZGVuY2lhIGNvbiBsYXMgYsO6c3F1ZWRhcyBhIHRyYXbDqXMgZGVsIHRpZW1wbyBkZSBPeHhvIHkgc3VzIGFwbGljYWNpb25lcwoKKipQYXNvIDUuIFBsYW4gZGUgZWplY3VjaW9uICoqCgpNYXJrZXRpbmcgZWxhYm9yYXLDoSB1biBwbGFuIGRlIGF3YXJlbmVzcyBkZSBsYSBhcGxpY2FjaW9uIE94eG8gUHJlbWlhCgpTaXN0ZW1hcyBhc2VndXJhcsOhIGxhIGNhcHR1cmEgZGVsIG1hcmtkb3duIGVuIGxhcyBiYXNlcyBkZSBkYXRvcyAKCgojIyBPeHhvCiMjIyBQYXNvIDEuIERlZmluaXIgZWwgdMOpcm1pbm8gYSBidXNjYXIgCmBgYHtyfQp0ZXJtaW5vNyA8LSBjKCJPeHhvIikKYGBgCgojIyMgUGFzbyAyLiBEZWZpbmlyIGxhIGxvY2FjacOzbiAoSVNPIDIgY291bnRyeSBjb2RlKQpgYGB7cn0KdWJpY2FjaW9uNyA8LSBjKCJNWCIpCmBgYAoKIyMjIFBhc28gMy4gRGVmaW5pciBlbCBjYW5hbDogd2ViLCBuZXdzLCBpbWFnZXMsIHlvdXR1YmUgCmBgYHtyfQpjYW5hbDcgPC0gIndlYiIKYGBgCgojIyMgUGFzbyA0LiBEZWZpbmlyIGxhIHZlbnRhbmEgZGUgdGllbXBvIApgYGB7cn0KcGVyaW9kbzcgPC0gKCIyMDEwLTAxLTAxIDIwMjItMDktMDEiKQpgYGAKCiMjIyBQYXNvIDUuIEZ1bmNpw7NuIApgYGB7cn0KdGVuZGVuY2lhNyA8LSBndHJlbmRzKHRlcm1pbm83LCB1YmljYWNpb243LCBjYW5hbDcsIHRpbWUgPSBwZXJpb2RvNykKcGxvdCh0ZW5kZW5jaWE3KQpgYGAKCgojIyBDb252ZW5pZW5jaWEKIyMjIFBhc28gMS4gRGVmaW5pciBlbCB0w6lybWlubyBhIGJ1c2NhciAKYGBge3J9CnRlcm1pbm84IDwtIGMoImNvbnZlbmllbmNpYSIpCmBgYAoKIyMjIFBhc28gMi4gRGVmaW5pciBsYSBsb2NhY2nDs24gKElTTyAyIGNvdW50cnkgY29kZSkKYGBge3J9CnViaWNhY2lvbjggPC0gYygiTVgiKQpgYGAKCiMjIyBQYXNvIDMuIERlZmluaXIgZWwgY2FuYWw6IHdlYiwgbmV3cywgaW1hZ2VzLCB5b3V0dWJlIApgYGB7cn0KY2FuYWw4IDwtICJ3ZWIiCmBgYAoKIyMjIFBhc28gNC4gRGVmaW5pciBsYSB2ZW50YW5hIGRlIHRpZW1wbyAKYGBge3J9CnBlcmlvZG84IDwtICgiMjAxMC0wMS0wMSAyMDIyLTA5LTAxIikKYGBgCgojIyMgUGFzbyA1LiBGdW5jacOzbiAKYGBge3J9CnRlbmRlbmNpYTggPC0gZ3RyZW5kcyh0ZXJtaW5vOCwgdWJpY2FjaW9uOCwgY2FuYWw4LCB0aW1lID0gcGVyaW9kbzgpCnBsb3QodGVuZGVuY2lhOCkKYGBgCgoKIyMgUHJlbWlvcwojIyMgUGFzbyAxLiBEZWZpbmlyIGVsIHTDqXJtaW5vIGEgYnVzY2FyIApgYGB7cn0KdGVybWlubzkgPC0gYygiUHJlbWlvcyIpCmBgYAoKIyMjIFBhc28gMi4gRGVmaW5pciBsYSBsb2NhY2nDs24gKElTTyAyIGNvdW50cnkgY29kZSkKYGBge3J9CnViaWNhY2lvbjkgPC0gYygiTVgiKQpgYGAKCiMjIyBQYXNvIDMuIERlZmluaXIgZWwgY2FuYWw6IHdlYiwgbmV3cywgaW1hZ2VzLCB5b3V0dWJlIApgYGB7cn0KY2FuYWw5IDwtICJ3ZWIiCmBgYAoKIyMjIFBhc28gNC4gRGVmaW5pciBsYSB2ZW50YW5hIGRlIHRpZW1wbyAKYGBge3J9CnBlcmlvZG85IDwtICgiMjAxMC0wMS0wMSAyMDIyLTA5LTAxIikKYGBgCgojIyMgUGFzbyA1LiBGdW5jacOzbiAKYGBge3J9CnRlbmRlbmNpYTkgPC0gZ3RyZW5kcyh0ZXJtaW5vOSwgdWJpY2FjaW9uOSwgY2FuYWw5LCB0aW1lID0gcGVyaW9kbzkpCnBsb3QodGVuZGVuY2lhOSkKYGBgCgojIyA8c3BhbiBzdHlsZT0iQ29sb3I6cmVkIj4gQ29uY2x1c2lvbmVzCkVuIGVzdGUgY2FzbywgZ3JhY2lhcyBhbCBwcm9ncmFtYSBSLCBzZSBldmFsw7pvIGEgbGEgZW1wcmVzYSBlc3BlY2lhbGl6YWRhIGVuIHRpZW5kYXMgZGUgY29udmVuaWVuY2lhICoqT3h4byoqIHkgc3VzIHByaW5jaXBhbGVzIGFjdGl2b3MsIGNvbW8gcHJvZHVjdG9zIGRlIGFiYXJyb3RlcywgcGFyYSBldmFsdWFyIGVsIGF3YXJlbmVzcyBxdWUgaGEgdGVuaWRvIGVuIHN1IHJlY2llbnRlIGFwbGljYWNpb24gZGUgT3h4byBQcmVtaWEsIGRlbW9zdHJhbmRvIHF1ZSwgZWwgdGVybWlubyBkZSBveHhvIGhhIGdhbmFkbyBtYXlvciByZWxldmFuY2lhIGNvbiBlbCB0aWVtcG8uIERlIGVzdGEgZm9ybWEsIGVsIGRlcGFydGFtZW50byBkZSBtYXJrZXRpbmcgZGViZXLDoSBldmFsdWFyIGRpY2hvcyByZXN1bHRhZG9zIHBhcmEgbWFudGVuZXIgZWwgKipwbGFuIGRlIGF3YXJlbmVzcyAqKiB5IGNvbnNvbGlkYXIgZWwgZW5nYWdlbWVudCBkZSBsYSBlbXByZXNhIGNvbiBzdXMgY2xpZW50ZXMgcG90ZW5jaWFsZXMuIA==