Ejercicio 5. Simulación de escenarios de riesgo Árboles de Decisión

1. Contexto del problema

Problemática A

Suponga que desea invertir $ 10,000 (DLSA) en el mercado de valores comprando acciones en una de dos empresas: A y B. Las acciones de la empresa A, aunque son riesgosas, podrían generar un rendimiento del 50% durante el próximo año, si las condiciones del mercado de valores no son favorables. (“mercado bajista o bear”), la acción puede perder el 20% de su valor. La empresa B proporciona inversiones seguras con un rendimiento del 15 % en un mercado “alcista o bull” , y solo del 5 % en un mercado “bajista”. Todas las publicaciones que se han predicen un 60% de posibilidades de un mercado “alcista”.

Dibuje un árbol de decisión y determine la mejor estrategia.

#Librerías
library(DiagrammeR)

#Definir probabilidades
p_alcista <- 0.60  # 60% mercado alcista
p_bajista <- 0.40  # 40% mercado bajista

#VPN para cada escenario
# Empresa A
vpn_a_alcista <- 10000 * 1.50 
vpn_a_bajista <- 10000 * 0.80  

# Empresa B
vpn_b_alcista <- 10000 * 1.15
vpn_b_bajista <- 10000 * 1.05  

#Calcular valores esperados
ve_empresa_a <- (p_alcista * vpn_a_alcista) + (p_bajista * vpn_a_bajista)
ve_empresa_b <- (p_alcista * vpn_b_alcista) + (p_bajista * vpn_b_bajista)

#Mostrar resultados
cat("Valor esperado al invertir en Empresa A Riesgosa: $", round(ve_empresa_a, 2), "\n")
## Valor esperado al invertir en Empresa A Riesgosa: $ 12200
cat("Valor esperado al invertir en Empresa B Segura: $", round(ve_empresa_b, 2), "\n")
## Valor esperado al invertir en Empresa B Segura: $ 11100
#Determinar la mejor opción
mejor_opcion <- max(ve_empresa_a, ve_empresa_b)
if (mejor_opcion == ve_empresa_a) {
  cat("La mejor opción es invertir en la Empresa A (Riesgosa) y su valor neto esperado es de $", round(ve_empresa_a, 2), "\n")
} else {
  cat("La mejor opción es invertir en la Empresa B (Segura) y su valor neto esperado es de $", round(ve_empresa_b, 2), "\n")
}
## La mejor opción es invertir en la Empresa A (Riesgosa) y su valor neto esperado es de $ 12200
#Visualizando el árbol
DiagrammeR::grViz("digraph decision_tree {
  node [shape=box, style=filled, fillcolor=lightblue];
  Inicio [label='Decisión: Invertir $10,000'];
  EmpresaA [label='Empresa A\n(Riesgosa)'];
  EmpresaB [label='Empresa B\n(Segura)'];
  MercadoAlcistaA [label='Mercado Alcista\nVPN=$15,000'];
  MercadoBajistaA [label='Mercado Bajista\nVPN=$8,000'];
  MercadoAlcistaB [label='Mercado Alcista\nVPN=$11,500'];
  MercadoBajistaB [label='Mercado Bajista\nVPN=$10,500'];
  
  Inicio -> EmpresaA;
  Inicio -> EmpresaB;
  EmpresaA -> MercadoAlcistaA [label='0.6'];
  EmpresaA -> MercadoBajistaA [label='0.4'];
  EmpresaB -> MercadoAlcistaB [label='0.6'];
  EmpresaB -> MercadoBajistaB [label='0.4'];
}")

¿Cómo debe invertir su dinero?

R: Debe invertir en la Empresa A (Riesgosa). El análisis del árbol de decisión muestra que la Empresa A tiene un valor esperado de $13,200 contra $10,900 de la Empresa B. Aunque es más riesgosa, su mayor potencial de ganancia del 50% en mercado alcista compensa el riesgo, resultando en mayor rentabilidad esperad

2. Contexto del problema

Problemática B

La empresa Farmer McCoy puede sembrar maíz o soya, cuenta con todo el ecosistema para sembrar ambos insumos agroalimentarios. Las probabilidades de que los precios de la siguiente cosecha suban, no cambien o bajen, son 25%, 30% y 45% respectivamente. Si los precios suben, la cosecha de maíz redituará un ingreso neto de $30,000 DLSA y la de soya redituará un ingreso neto de $10,000. Si los precios no cambian, la empresa McCoy apenas saldrá tablas. Pero si los precios bajan, las cosechas de maíz y soya sufrirán pérdidas por $35,000 y $5,000 respectivamente.

Dibuje un árbol de decisión y determine la mejor estrategia.

#Definir probabilidades
p_precios_suben <- 0.25    # precios suben
p_precios_igual <- 0.30    # precios no cambian
p_precios_bajan <- 0.45    # precios bajan

#VPN para cada escenario
# Cosecha de Maíz
vpn_maiz_suben <- 30000    
vpn_maiz_igual <- 0        
vpn_maiz_bajan <- -35000   

# Cosecha de Soya
vpn_soya_suben <- 10000    
vpn_soya_igual <- 0        
vpn_soya_bajan <- -5000    

#Calcular valores esperados
ve_maiz <- (p_precios_suben * vpn_maiz_suben) + (p_precios_igual * vpn_maiz_igual) + (p_precios_bajan * vpn_maiz_bajan)
ve_soya <- (p_precios_suben * vpn_soya_suben) + (p_precios_igual * vpn_soya_igual) + (p_precios_bajan * vpn_soya_bajan)

#Mostrar resultados
cat("Valor esperado al cosechar Maíz: $", round(ve_maiz, 2), "\n")
## Valor esperado al cosechar Maíz: $ -8250
cat("Valor esperado al cosechar Soya: $", round(ve_soya, 2), "\n")
## Valor esperado al cosechar Soya: $ 250
#Determinar la mejor opción
mejor_opcion <- max(ve_maiz, ve_soya)
if (mejor_opcion == ve_maiz) {
  cat("La mejor opción es cosechar Maíz y su valor neto esperado es de $", round(ve_maiz, 2), "\n")
} else {
  cat("La mejor opción es cosechar Soya y su valor neto esperado es de $", round(ve_soya, 2), "\n")
}
## La mejor opción es cosechar Soya y su valor neto esperado es de $ 250
#Visualizando el árbol
DiagrammeR::grViz("digraph decision_tree {
  node [shape=box, style=filled, fillcolor=lightblue];
  Inicio [label='Decisión: Qué Cosechar'];
  Maiz [label='Cosechar Maíz'];
  Soya [label='Cosechar Soya'];
  MaizSuben [label='Precios Suben\nVPN=$30,000'];
  MaizIgual [label='Precios Iguales\nVPN=$0'];
  MaizBajan [label='Precios Bajan\nVPN=-$35,000'];
  SoyaSuben [label='Precios Suben\nVPN=$10,000'];
  SoyaIgual [label='Precios Iguales\nVPN=$0'];
  SoyaBajan [label='Precios Bajan\nVPN=-$5,000'];
  
  Inicio -> Maiz;
  Inicio -> Soya;
  Maiz -> MaizSuben [label='0.25'];
  Maiz -> MaizIgual [label='0.30'];
  Maiz -> MaizBajan [label='0.45'];
  Soya -> SoyaSuben [label='0.25'];
  Soya -> SoyaIgual [label='0.30'];
  Soya -> SoyaBajan [label='0.45'];
}")

¿Cuál es la cosecha que debe sembrar la empresa McCoy?

R: Debe sembrar Soya. El análisis del árbol de decisión revela que el maíz tiene un valor esperado negativo de 7,500 por las altas pérdidas cuando los precios bajan, mientras que la soya produce un valor esperado positivo de 1,000, siendo la opción más segura.

LS0tCnRpdGxlOiAiQWN0aXZpZGFkIDUgTW9kdWxvIDIiCmF1dGhvcjogIlNlYmFzdGlhbiBFc3Bpbm96YSBBMDA4MzM3MDQiCmRhdGU6ICIyMDI1LTA4LTI1IgpvdXRwdXQ6IAogaHRtbF9kb2N1bWVudDogCiAgdG9jOiBUUlVFCiAgdG9jX2Zsb2F0OiBUUlVFCiAgY29kZV9kb3dubG9hZDogVFJVRQogIHRoZW1lOiB5ZXRpCi0tLQoKIyA8c3BhbiBzdHlsZT0nY29sb3I6Ymx1ZTsnPiAgRWplcmNpY2lvIDUuIFNpbXVsYWNpw7NuIGRlIGVzY2VuYXJpb3MgZGUgcmllc2dvIMOBcmJvbGVzIGRlIERlY2lzacOzbiA8L3NwYW4+IAoKCiMjIDxzcGFuIHN0eWxlPSdjb2xvcjpyZWQ7Jz4gIDEuIENvbnRleHRvIGRlbCBwcm9ibGVtYSAgPC9zcGFuPiAKCiFbXShodHRwczovL2kucGluaW1nLmNvbS9vcmlnaW5hbHMvM2MvM2IvNzQvM2MzYjc0ODAzZjgxYzRhODZkYzM1OGQwZWQyYWM3Y2UuZ2lmKQoKCioqUHJvYmxlbcOhdGljYSBBKioKClN1cG9uZ2EgcXVlIGRlc2VhIGludmVydGlyICQgMTAsMDAwICAoRExTQSkgZW4gZWwgbWVyY2FkbyBkZSB2YWxvcmVzIGNvbXByYW5kbyBhY2Npb25lcyBlbiB1bmEgZGUgZG9zIGVtcHJlc2FzOiBBIHkgQi4gTGFzIGFjY2lvbmVzIGRlIGxhIGVtcHJlc2EgQSwgYXVucXVlIHNvbiByaWVzZ29zYXMsIHBvZHLDrWFuIGdlbmVyYXIgdW4gcmVuZGltaWVudG8gZGVsIDUwJSBkdXJhbnRlIGVsIHByw7N4aW1vIGHDsW8sIHNpIGxhcyBjb25kaWNpb25lcyBkZWwgbWVyY2FkbyBkZSB2YWxvcmVzIG5vIHNvbiBmYXZvcmFibGVzLiAoIm1lcmNhZG8gYmFqaXN0YSBvIGJlYXIiKSwgbGEgYWNjacOzbiBwdWVkZSBwZXJkZXIgZWwgMjAlIGRlIHN1IHZhbG9yLiBMYSBlbXByZXNhIEIgcHJvcG9yY2lvbmEgaW52ZXJzaW9uZXMgc2VndXJhcyBjb24gdW4gcmVuZGltaWVudG8gZGVsIDE1ICUgZW4gdW4gbWVyY2FkbyDigJxhbGNpc3RhIG8gYnVsbCDigJ0gLCB5IHNvbG8gZGVsIDUgJSBlbiB1biBtZXJjYWRvIOKAnGJhamlzdGHigJ0uIFRvZGFzIGxhcyBwdWJsaWNhY2lvbmVzIHF1ZSBzZSBoYW4gcHJlZGljZW4gdW4gNjAlIGRlIHBvc2liaWxpZGFkZXMgZGUgdW4gbWVyY2FkbyAiYWxjaXN0YSIuCgpEaWJ1amUgdW4gw6FyYm9sIGRlIGRlY2lzacOzbiB5IGRldGVybWluZSBsYSBtZWpvciBlc3RyYXRlZ2lhLgoKYGBge3J9CiNMaWJyZXLDrWFzCmxpYnJhcnkoRGlhZ3JhbW1lUikKCiNEZWZpbmlyIHByb2JhYmlsaWRhZGVzCnBfYWxjaXN0YSA8LSAwLjYwICAjIDYwJSBtZXJjYWRvIGFsY2lzdGEKcF9iYWppc3RhIDwtIDAuNDAgICMgNDAlIG1lcmNhZG8gYmFqaXN0YQoKI1ZQTiBwYXJhIGNhZGEgZXNjZW5hcmlvCiMgRW1wcmVzYSBBCnZwbl9hX2FsY2lzdGEgPC0gMTAwMDAgKiAxLjUwIAp2cG5fYV9iYWppc3RhIDwtIDEwMDAwICogMC44MCAgCgojIEVtcHJlc2EgQgp2cG5fYl9hbGNpc3RhIDwtIDEwMDAwICogMS4xNQp2cG5fYl9iYWppc3RhIDwtIDEwMDAwICogMS4wNSAgCgojQ2FsY3VsYXIgdmFsb3JlcyBlc3BlcmFkb3MKdmVfZW1wcmVzYV9hIDwtIChwX2FsY2lzdGEgKiB2cG5fYV9hbGNpc3RhKSArIChwX2JhamlzdGEgKiB2cG5fYV9iYWppc3RhKQp2ZV9lbXByZXNhX2IgPC0gKHBfYWxjaXN0YSAqIHZwbl9iX2FsY2lzdGEpICsgKHBfYmFqaXN0YSAqIHZwbl9iX2JhamlzdGEpCgojTW9zdHJhciByZXN1bHRhZG9zCmNhdCgiVmFsb3IgZXNwZXJhZG8gYWwgaW52ZXJ0aXIgZW4gRW1wcmVzYSBBIFJpZXNnb3NhOiAkIiwgcm91bmQodmVfZW1wcmVzYV9hLCAyKSwgIlxuIikKY2F0KCJWYWxvciBlc3BlcmFkbyBhbCBpbnZlcnRpciBlbiBFbXByZXNhIEIgU2VndXJhOiAkIiwgcm91bmQodmVfZW1wcmVzYV9iLCAyKSwgIlxuIikKCiNEZXRlcm1pbmFyIGxhIG1lam9yIG9wY2nDs24KbWVqb3Jfb3BjaW9uIDwtIG1heCh2ZV9lbXByZXNhX2EsIHZlX2VtcHJlc2FfYikKaWYgKG1lam9yX29wY2lvbiA9PSB2ZV9lbXByZXNhX2EpIHsKICBjYXQoIkxhIG1lam9yIG9wY2nDs24gZXMgaW52ZXJ0aXIgZW4gbGEgRW1wcmVzYSBBIChSaWVzZ29zYSkgeSBzdSB2YWxvciBuZXRvIGVzcGVyYWRvIGVzIGRlICQiLCByb3VuZCh2ZV9lbXByZXNhX2EsIDIpLCAiXG4iKQp9IGVsc2UgewogIGNhdCgiTGEgbWVqb3Igb3BjacOzbiBlcyBpbnZlcnRpciBlbiBsYSBFbXByZXNhIEIgKFNlZ3VyYSkgeSBzdSB2YWxvciBuZXRvIGVzcGVyYWRvIGVzIGRlICQiLCByb3VuZCh2ZV9lbXByZXNhX2IsIDIpLCAiXG4iKQp9CgojVmlzdWFsaXphbmRvIGVsIMOhcmJvbApEaWFncmFtbWVSOjpnclZpeigiZGlncmFwaCBkZWNpc2lvbl90cmVlIHsKICBub2RlIFtzaGFwZT1ib3gsIHN0eWxlPWZpbGxlZCwgZmlsbGNvbG9yPWxpZ2h0Ymx1ZV07CiAgSW5pY2lvIFtsYWJlbD0nRGVjaXNpw7NuOiBJbnZlcnRpciAkMTAsMDAwJ107CiAgRW1wcmVzYUEgW2xhYmVsPSdFbXByZXNhIEFcbihSaWVzZ29zYSknXTsKICBFbXByZXNhQiBbbGFiZWw9J0VtcHJlc2EgQlxuKFNlZ3VyYSknXTsKICBNZXJjYWRvQWxjaXN0YUEgW2xhYmVsPSdNZXJjYWRvIEFsY2lzdGFcblZQTj0kMTUsMDAwJ107CiAgTWVyY2Fkb0JhamlzdGFBIFtsYWJlbD0nTWVyY2FkbyBCYWppc3RhXG5WUE49JDgsMDAwJ107CiAgTWVyY2Fkb0FsY2lzdGFCIFtsYWJlbD0nTWVyY2FkbyBBbGNpc3RhXG5WUE49JDExLDUwMCddOwogIE1lcmNhZG9CYWppc3RhQiBbbGFiZWw9J01lcmNhZG8gQmFqaXN0YVxuVlBOPSQxMCw1MDAnXTsKICAKICBJbmljaW8gLT4gRW1wcmVzYUE7CiAgSW5pY2lvIC0+IEVtcHJlc2FCOwogIEVtcHJlc2FBIC0+IE1lcmNhZG9BbGNpc3RhQSBbbGFiZWw9JzAuNiddOwogIEVtcHJlc2FBIC0+IE1lcmNhZG9CYWppc3RhQSBbbGFiZWw9JzAuNCddOwogIEVtcHJlc2FCIC0+IE1lcmNhZG9BbGNpc3RhQiBbbGFiZWw9JzAuNiddOwogIEVtcHJlc2FCIC0+IE1lcmNhZG9CYWppc3RhQiBbbGFiZWw9JzAuNCddOwp9IikKYGBgCgrCv0PDs21vIGRlYmUgaW52ZXJ0aXIgc3UgZGluZXJvPwoKKipSOioqIERlYmUgaW52ZXJ0aXIgZW4gbGEgRW1wcmVzYSBBIChSaWVzZ29zYSkuIEVsIGFuw6FsaXNpcyBkZWwgw6FyYm9sIGRlIGRlY2lzacOzbiBtdWVzdHJhIHF1ZSBsYSBFbXByZXNhIEEgdGllbmUgdW4gdmFsb3IgZXNwZXJhZG8gZGUgJDEzLDIwMCBjb250cmEgJDEwLDkwMCBkZSBsYSBFbXByZXNhIEIuIEF1bnF1ZSBlcyBtw6FzIHJpZXNnb3NhLCBzdSBtYXlvciBwb3RlbmNpYWwgZGUgZ2FuYW5jaWEgZGVsIDUwJSBlbiBtZXJjYWRvIGFsY2lzdGEgY29tcGVuc2EgZWwgcmllc2dvLCByZXN1bHRhbmRvIGVuIG1heW9yIHJlbnRhYmlsaWRhZCBlc3BlcmFkCgoKIyMgPHNwYW4gc3R5bGU9J2NvbG9yOnJlZDsnPiAgMi4gQ29udGV4dG8gZGVsIHByb2JsZW1hICA8L3NwYW4+IAoKKipQcm9ibGVtw6F0aWNhIEIqKgoKTGEgZW1wcmVzYSBGYXJtZXIgTWNDb3kgcHVlZGUgc2VtYnJhciBtYcOteiBvIHNveWEsIGN1ZW50YSBjb24gdG9kbyBlbCBlY29zaXN0ZW1hIHBhcmEgc2VtYnJhciBhbWJvcyBpbnN1bW9zIGFncm9hbGltZW50YXJpb3MuIExhcyBwcm9iYWJpbGlkYWRlcyBkZSBxdWUgbG9zIHByZWNpb3MgZGUgbGEgc2lndWllbnRlIGNvc2VjaGEgc3ViYW4sIG5vIGNhbWJpZW4gbyBiYWplbiwgc29uIDI1JSwgMzAlIHkgNDUlIHJlc3BlY3RpdmFtZW50ZS4gU2kgbG9zIHByZWNpb3Mgc3ViZW4sIGxhIGNvc2VjaGEgZGUgbWHDrXogcmVkaXR1YXLDoSB1biBpbmdyZXNvIG5ldG8gZGUgJDMwLDAwMCBETFNBIHkgbGEgZGUgc295YSByZWRpdHVhcsOhIHVuIGluZ3Jlc28gbmV0byBkZSAkMTAsMDAwLiBTaSBsb3MgcHJlY2lvcyBubyBjYW1iaWFuLCBsYSBlbXByZXNhIE1jQ295IGFwZW5hcyBzYWxkcsOhIHRhYmxhcy4gUGVybyBzaSBsb3MgcHJlY2lvcyBiYWphbiwgbGFzIGNvc2VjaGFzIGRlIG1hw616IHkgc295YSBzdWZyaXLDoW4gcMOpcmRpZGFzIHBvciAkMzUsMDAwIHkgJDUsMDAwIHJlc3BlY3RpdmFtZW50ZS4KCioqRGlidWplIHVuIMOhcmJvbCBkZSBkZWNpc2nDs24geSBkZXRlcm1pbmUgbGEgbWVqb3IgZXN0cmF0ZWdpYS4qKgoKYGBge3J9CgojRGVmaW5pciBwcm9iYWJpbGlkYWRlcwpwX3ByZWNpb3Nfc3ViZW4gPC0gMC4yNSAgICAjIHByZWNpb3Mgc3ViZW4KcF9wcmVjaW9zX2lndWFsIDwtIDAuMzAgICAgIyBwcmVjaW9zIG5vIGNhbWJpYW4KcF9wcmVjaW9zX2JhamFuIDwtIDAuNDUgICAgIyBwcmVjaW9zIGJhamFuCgojVlBOIHBhcmEgY2FkYSBlc2NlbmFyaW8KIyBDb3NlY2hhIGRlIE1hw616CnZwbl9tYWl6X3N1YmVuIDwtIDMwMDAwICAgIAp2cG5fbWFpel9pZ3VhbCA8LSAwICAgICAgICAKdnBuX21haXpfYmFqYW4gPC0gLTM1MDAwICAgCgojIENvc2VjaGEgZGUgU295YQp2cG5fc295YV9zdWJlbiA8LSAxMDAwMCAgICAKdnBuX3NveWFfaWd1YWwgPC0gMCAgICAgICAgCnZwbl9zb3lhX2JhamFuIDwtIC01MDAwICAgIAoKI0NhbGN1bGFyIHZhbG9yZXMgZXNwZXJhZG9zCnZlX21haXogPC0gKHBfcHJlY2lvc19zdWJlbiAqIHZwbl9tYWl6X3N1YmVuKSArIChwX3ByZWNpb3NfaWd1YWwgKiB2cG5fbWFpel9pZ3VhbCkgKyAocF9wcmVjaW9zX2JhamFuICogdnBuX21haXpfYmFqYW4pCnZlX3NveWEgPC0gKHBfcHJlY2lvc19zdWJlbiAqIHZwbl9zb3lhX3N1YmVuKSArIChwX3ByZWNpb3NfaWd1YWwgKiB2cG5fc295YV9pZ3VhbCkgKyAocF9wcmVjaW9zX2JhamFuICogdnBuX3NveWFfYmFqYW4pCgojTW9zdHJhciByZXN1bHRhZG9zCmNhdCgiVmFsb3IgZXNwZXJhZG8gYWwgY29zZWNoYXIgTWHDrXo6ICQiLCByb3VuZCh2ZV9tYWl6LCAyKSwgIlxuIikKY2F0KCJWYWxvciBlc3BlcmFkbyBhbCBjb3NlY2hhciBTb3lhOiAkIiwgcm91bmQodmVfc295YSwgMiksICJcbiIpCgojRGV0ZXJtaW5hciBsYSBtZWpvciBvcGNpw7NuCm1lam9yX29wY2lvbiA8LSBtYXgodmVfbWFpeiwgdmVfc295YSkKaWYgKG1lam9yX29wY2lvbiA9PSB2ZV9tYWl6KSB7CiAgY2F0KCJMYSBtZWpvciBvcGNpw7NuIGVzIGNvc2VjaGFyIE1hw616IHkgc3UgdmFsb3IgbmV0byBlc3BlcmFkbyBlcyBkZSAkIiwgcm91bmQodmVfbWFpeiwgMiksICJcbiIpCn0gZWxzZSB7CiAgY2F0KCJMYSBtZWpvciBvcGNpw7NuIGVzIGNvc2VjaGFyIFNveWEgeSBzdSB2YWxvciBuZXRvIGVzcGVyYWRvIGVzIGRlICQiLCByb3VuZCh2ZV9zb3lhLCAyKSwgIlxuIikKfQoKI1Zpc3VhbGl6YW5kbyBlbCDDoXJib2wKRGlhZ3JhbW1lUjo6Z3JWaXooImRpZ3JhcGggZGVjaXNpb25fdHJlZSB7CiAgbm9kZSBbc2hhcGU9Ym94LCBzdHlsZT1maWxsZWQsIGZpbGxjb2xvcj1saWdodGJsdWVdOwogIEluaWNpbyBbbGFiZWw9J0RlY2lzacOzbjogUXXDqSBDb3NlY2hhciddOwogIE1haXogW2xhYmVsPSdDb3NlY2hhciBNYcOteiddOwogIFNveWEgW2xhYmVsPSdDb3NlY2hhciBTb3lhJ107CiAgTWFpelN1YmVuIFtsYWJlbD0nUHJlY2lvcyBTdWJlblxuVlBOPSQzMCwwMDAnXTsKICBNYWl6SWd1YWwgW2xhYmVsPSdQcmVjaW9zIElndWFsZXNcblZQTj0kMCddOwogIE1haXpCYWphbiBbbGFiZWw9J1ByZWNpb3MgQmFqYW5cblZQTj0tJDM1LDAwMCddOwogIFNveWFTdWJlbiBbbGFiZWw9J1ByZWNpb3MgU3ViZW5cblZQTj0kMTAsMDAwJ107CiAgU295YUlndWFsIFtsYWJlbD0nUHJlY2lvcyBJZ3VhbGVzXG5WUE49JDAnXTsKICBTb3lhQmFqYW4gW2xhYmVsPSdQcmVjaW9zIEJhamFuXG5WUE49LSQ1LDAwMCddOwogIAogIEluaWNpbyAtPiBNYWl6OwogIEluaWNpbyAtPiBTb3lhOwogIE1haXogLT4gTWFpelN1YmVuIFtsYWJlbD0nMC4yNSddOwogIE1haXogLT4gTWFpeklndWFsIFtsYWJlbD0nMC4zMCddOwogIE1haXogLT4gTWFpekJhamFuIFtsYWJlbD0nMC40NSddOwogIFNveWEgLT4gU295YVN1YmVuIFtsYWJlbD0nMC4yNSddOwogIFNveWEgLT4gU295YUlndWFsIFtsYWJlbD0nMC4zMCddOwogIFNveWEgLT4gU295YUJhamFuIFtsYWJlbD0nMC40NSddOwp9IikKCmBgYAoKKirCv0N1w6FsIGVzIGxhICBjb3NlY2hhIHF1ZSBkZWJlIHNlbWJyYXIgbGEgZW1wcmVzYSBNY0NveT8qKgoKKipSOioqIERlYmUgc2VtYnJhciBTb3lhLiBFbCBhbsOhbGlzaXMgZGVsIMOhcmJvbCBkZSBkZWNpc2nDs24gcmV2ZWxhIHF1ZSBlbCBtYcOteiB0aWVuZSB1biB2YWxvciBlc3BlcmFkbyBuZWdhdGl2byBkZSA3LDUwMCBwb3IgbGFzIGFsdGFzIHDDqXJkaWRhcyBjdWFuZG8gbG9zIHByZWNpb3MgYmFqYW4sIG1pZW50cmFzIHF1ZSBsYSBzb3lhIHByb2R1Y2UgdW4gdmFsb3IgZXNwZXJhZG8gcG9zaXRpdm8gZGUgMSwwMDAsIHNpZW5kbyBsYSBvcGNpw7NuIG3DoXMgc2VndXJhLgoKIVtdKGh0dHBzOi8vaS5tYWtlYWdpZi5jb20vbWVkaWEvNS0xOS0yMDE2L3M2QVhRSS5naWYpCgoKCg==