1 Instruções

2 Furacões nos EUA

Este artigo tenta achar uma relação entre o gênero do nome de um furacão e a quantidade de vítimas fatais.

Os dados estão no pacote DAAG, que deve ser instalado:

if (!require(DAAG))
  install.packages("DAAG")
## Loading required package: DAAG
## Loading required package: lattice

Vamos usar apenas algumas das variáveis, com nomes em português.

df <- hurricNamed %>% 
  as_tibble() %>% 
  transmute(
    nome = Name,
    ano = Year,
    velocidade = LF.WindsMPH * 1.8,      # convertido para km/h
    pressao = LF.PressureMB,             # em mbar
    prejuizo = BaseDam2014 %>% round(),  # em milhões de dólares de 2014
    mortes = deaths,
    genero = mf
  )

df

2.1 Histogramas

Crie histogramas para as seguintes variáveis, escolhendo a quantidade de barras que você achar melhor.

  • velocidade

  • prejuizo

  • mortes

Discuta os histogramas.

2.2 Histogramas transformados

Os histogramas de prejuízos e mortes não ficaram bons.

No data frame, crie duas novas colunas:

  • logprejuizo: logaritmo do prejuízo (na base \(10\))

  • logmortes: logaritmo do número de mortes (na base \(10\))

Agora, gere histogramas destas duas novas variáveis.

2.3 Significado dos logaritmos

  • O que significa o valor do logaritmo do prejuízo na base \(10\)?

  • O que significa o valor do logaritmo do número de mortes na base \(10\)?

  • Por que o histograma do logaritmo do número de mortes vem com uma mensagem de aviso?

  • Por que isto não acontece com o logaritmo do prejuízo?

2.4 Boxplots de mortes

De agora em diante, ignore os furacões que não tiveram mortes.

Construa um boxplot dos logaritmos das quantidades de mortes.

Existem outliers? Descubra quais são eles e elimine-os do data frame.

2.5 Boxplots de mortes por gênero do furacão

Certifique-se de ter eliminado os outliers da questão anterior.

Construa dois boxplots, lado a lado, dos logaritmos das quantidades de mortes, cada boxplot correspondendo a um gênero. Use cores diferentes para os gêneros.

Comente.

2.6 Scatterplot de pressão por velocidade

Faça um gráfico de dispersão com pressao no eixo \(y\) e velocidade no eixo \(x\).

Usando geom_smooth, sobreponha uma reta de regressão ao gráfico.

O que você observa? Discuta.

2.7 Scatterplot de log(mortes) por pressão

Faça um gráfico de dispersão com logmortes no eixo \(y\) e pressao no eixo \(x\).

Usando geom_smooth, sobreponha uma reta de regressão ao gráfico.

O que você observa? Discuta.

2.8 Scatterplot de log(mortes) por pressão, por gênero do furacão

Faça um gráfico de dispersão com logmortes no eixo \(y\) e pressao no eixo \(x\), com pontos coloridos de acordo com o gênero do nome do furacão.

Usando geom_smooth, sobreponha retas de regressão ao gráfico, uma para cada gênero.

O que você observa? Discuta.

Visualizações como esta ajudam a explorar os dados, mas não servem para testar rigorosamente a hipótese de que furacões mulheres matam mais do que furacões homens.

Mais adiante no curso, vamos aprender a fazer testes mais rigorosos das nossas hipóteses.

3 Adivinhando uma carta

Uma carta é escolhida ao acaso de um baralho de \(52\) cartas.

Seu objetivo é adivinhar qual é a carta escolhida.

  1. Se você adivinhar ao acaso, qual é a sua chance de acertar?

  2. Imagine que, antes de tentar adivinhar, você pode fazer uma pergunta do tipo sim ou não.

    Qual das seguintes perguntas maximiza a probabilidade de você acertar?

    Queremos saber a probabilidade calculada antes de você fazer a pergunta e, obviamente, antes de você saber a resposta. Pense em todas as situações e em todas as respostas possíveis.

    1. A carta é vermelha?

    2. A carta é de figura (i.e., valete, dama ou rei)?

    3. A carta é um ás?

    4. A carta é o ás de espadas?

  3. Explique em detalhes os cálculos de todas as probabilidades.

  4. Comente os resultados.

4 COVID e vacina

Considere a seguinte tabela, que mostra as quantidades de pessoas vacinadas e não vacinadas em um grupo, e as quantidades de pessoas que ficaram doentes ou não depois.

\[ \begin{array}{|l|r|r|r|} & \text{Vacinados} & \text{Não vacinados} & \text{Totais} \\ \hline \text{Doentes} & 2 & 2 & 4 \\ \text{Não doentes} & 16 & 0 & 16 \\ \hline \text{Totais} & 18 & 2 & 20 \\ \hline \end{array} \]

  1. Qual a probabilidade de uma pessoa ter sido vacinada?

  2. Qual a probabilidade de uma pessoa vacinada ter ficado doente?

  3. Qual a probabilidade de uma pessoa não vacinada ter ficado doente?

  4. Calcule a eficácia da vacina, dada por

    \[ \frac{P(\text{doente} \mid \text{não vacinado}) - P(\text{doente} \mid \text{vacinado})}{P(\text{doente} \mid \text{não vacinado})} \]

  5. Explique, em suas palavras, o cálculo da eficácia da vacina.

LS0tCnRpdGxlOiAnVmlzdWFsaXphw6fDo28gZSBwcm9iYWJpbGlkYWRlcycKc3VidGl0bGU6ICdFeGVyY8OtY2lvcycKYXV0aG9yOiAnZm5hdWZlbCcKZW1haWw6ICdodHRwczovL2ZuYXVmZWwuZ2l0aHViLmlvLycKZGF0ZTogJyh2LiBgciBmb3JtYXQoU3lzLkRhdGUoKSwgIiVkLyVtLyVZIilgKScKbGFuZzogJ3B0JwpvdXRwdXQ6IHJtZGZvcm1hdDo6Zm5hdWZlbF9ybWRfZm9ybWF0CiMgVG8gaW5zdGFsbCB0aGlzIGZvcm1hdCwgZW50ZXIKIyAgIGluc3RhbGwucGFja2FnZXMoImRldnRvb2xzIikKIyAgIGRldnRvb2xzOjppbnN0YWxsX2dpdGh1YigiZm5hdWZlbC9ybWRmb3JtYXQiKQotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQpsaWJyYXJ5KGtuaXRyKQoKb3B0c19jaHVuayRzZXQoCiAgZWNobyA9IFRSVUUsIAogICMgY29sbGFwc2UgPSBUUlVFLAogICMgY2FjaGUgPSBUUlVFLAogIG91dC53aWR0aCA9ICI5MCUiLAogIGZpZy5hbGlnbiA9ICdjZW50ZXInLAogIGZpZy53aWR0aCA9IDcsCiAgZmlnLnNob3cgPSAiaG9sZCIKKQoKIyBTdXByZXNzIGNyYXlvbiBvdXRwdXQKb3B0aW9ucyhjcmF5b24uZW5hYmxlZCA9IEZBTFNFKQoKb3B0aW9ucygKICAjIEF2b2lkIHNjaWVudGlmaWMgbm90YXRpb24KICBzY2lwZW4gPSAxNSwKICAjIFVzZSBhIGNvbW1hIGFzIGRlY2ltYWwgc2VwYXJhdG9yCiAgT3V0RGVjID0gJywnLAogICMgTnVtYmVyIG9mIGRlY2ltYWwgZGlnaXRzIGZvciBudW1iZXJzIHByb2R1Y2VkIGJ5IGlubGluZSBSIGNvZGUKICBmbWRpZ2l0cyA9IDIKKQoKIyBVc2VmdWwgbGlicmFyaWVzCmxpYnJhcnkoZ2x1ZSkKbGlicmFyeShwYXRjaHdvcmspCmxpYnJhcnkobGF0ZXgyZXhwKQpsaWJyYXJ5KGthYmxlRXh0cmEpCm9wdGlvbnMoa25pdHIua2FibGUuTkEgPSAnJykKCiMgRm9yIG5pY2UgZGF0YWZyYW1lIHN1bW1hcmllcwpsaWJyYXJ5KHN1bW1hcnl0b29scykKc3Rfb3B0aW9ucygKICBwbGFpbi5hc2NpaSA9IEZBTFNFLAogIGRmU3VtbWFyeS52YXJudW1iZXJzID0gRkFMU0UsCiAgZGZTdW1tYXJ5LnN0eWxlID0gJ2dyaWQnLAogIGRmU3VtbWFyeS5ncmFwaC5tYWduaWYgPSAuNzUKKQoKIyBUaWR5IQpsaWJyYXJ5KHRpZHl2ZXJzZSkKCiMgVXNlZnVsIGZ1bmN0aW9ucyBwcm92aWRlZCBieSB0aGUgcm1kZm9ybWF0IHBhY2thZ2UKIyAKIyBFeGVjdXRlIAojIAojICAgY2F0KHN5c3RlbS5maWxlKCJybWFya2Rvd24vcmVzb3VyY2VzL2NvbW1vbi5SIiwgcGFja2FnZSA9ICJybWRmb3JtYXQiKSkKIyAKIyB0byBzZWUgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaWxlCnNvdXJjZSgKICBzeXN0ZW0uZmlsZSgKICAgICJybWFya2Rvd24vcmVzb3VyY2VzL2NvbW1vbi5SIiwKICAgIHBhY2thZ2UgPSAicm1kZm9ybWF0IgogICkKKQpgYGAKCgojIEluc3RydcOnw7VlcwoKKiBGaXF1ZSDDoCB2b250YWRlIHBhcmEgY29uc3VsdGFyIG9zIGNvbGVndWluaGFzLCBtYXMgbsOjbyBjb3BpZSBhcyByZXNwb3N0YXMgZGVsZXMuIFNlIGV1IGFjaGFyIHF1ZSB2b2PDqiBjb3Bpb3UsIHZhbW9zIHRlciB1bWEgZW50cmV2aXN0YSBzw61uY3JvbmEsIHBvciB2w61kZW8sIGNvbSBob3JhcyBkZSBkdXJhw6fDo28sIHBhcmEgcXVlIGV1IHRlbmhhIGNlcnRlemEgZGUgcXVlIHZvY8OqIHNhYmUgbyBxdWUgZmV6LgoKKiBFbnRyZWd1ZSBbKHZpYSBNb29kbGUpXXsuaGx9IHVtIGFycXVpdm8gLlJtZCBjb20gc3VhcyByZXNwb3N0YXMuCgoqIEFsw6ltIGRvIGFycXVpdm8gLlJtZCwgZW50cmVndWUgdGFtYsOpbSBbKHZpYSBNb29kbGUpXXsuaGx9IHVtIGFycXVpdm8gY29udGVuZG8gdW0gdsOtZGVvIGRlIG5vIG3DoXhpbW8gNSBtaW51dG9zIG9uZGUgdm9jw6ogZXhwbGljYSBlbSBkZXRhbGhlcyBhIHJlc29sdcOnw6NvIGRlIHVtYSBkYXMgc3VhcyBxdWVzdMO1ZXMuCgoqIFRvZG9zIG9zIGdyw6FmaWNvcyBkZXZlbSBzZXIgZmVpdG9zIGNvbSBvIHBhY290ZSBgZ2dwbG90MmAuCgoqIFRvZG9zIG9zIGdyw6FmaWNvcyBkZXZlbSBpbmNsdWlyIHTDrXR1bG9zLCByw7N0dWxvcywgbGVnZW5kYXMsIGUgb3V0cm9zIGVsZW1lbnRvcyBwYXJhIGZhY2lsaXRhciBhIGNvbXByZWVuc8Ojby4gSW1hZ2luZSBxdWUgc2V1cyBncsOhZmljb3Mgc2Vyw6NvIHB1YmxpY2Fkb3MgZW0gdW1hIHJldmlzdGEuCgoqIEVzdGUgYXJxdWl2byAuUm1kIGVzdMOhIGRpc3BvbsOtdmVsLCBqdW50byBjb20gb3MgYXJxdWl2b3MgZGUgc3Vwb3J0ZSwgbm8gbWV1IHByb2pldG8gbm8gUlN0dWRpbyBDbG91ZCwgZW0gaHR0cHM6Ly9yc3R1ZGlvLmNsb3VkL3Byb2plY3QvMTcyMDY2Miwgbm8gZGlyZXTDs3JpbyBkZSAyMDIxLjEuCgoqIEJvbSB0cmFiYWxoby4KCgojIEZ1cmFjw7VlcyBub3MgRVVBCgpbRXN0ZSBhcnRpZ29dKGh0dHBzOi8vd3d3LnBuYXMub3JnL2NvbnRlbnQvMTExLzI0Lzg3ODIpIHRlbnRhIGFjaGFyIHVtYSByZWxhw6fDo28gZW50cmUgbyBnw6puZXJvIGRvIG5vbWUgZGUgdW0gZnVyYWPDo28gZSBhIHF1YW50aWRhZGUgZGUgdsOtdGltYXMgZmF0YWlzLgoKT3MgZGFkb3MgZXN0w6NvIG5vIHBhY290ZSBgREFBR2AsIHF1ZSBkZXZlIHNlciBpbnN0YWxhZG86CgpgYGB7cn0KaWYgKCFyZXF1aXJlKERBQUcpKQogIGluc3RhbGwucGFja2FnZXMoIkRBQUciKQpgYGAKClZhbW9zIHVzYXIgYXBlbmFzIGFsZ3VtYXMgZGFzIHZhcmnDoXZlaXMsIGNvbSBub21lcyBlbSBwb3J0dWd1w6pzLgoKYGBge3J9CmRmIDwtIGh1cnJpY05hbWVkICU+JSAKICBhc190aWJibGUoKSAlPiUgCiAgdHJhbnNtdXRlKAogICAgbm9tZSA9IE5hbWUsCiAgICBhbm8gPSBZZWFyLAogICAgdmVsb2NpZGFkZSA9IExGLldpbmRzTVBIICogMS44LCAgICAgICMgY29udmVydGlkbyBwYXJhIGttL2gKICAgIHByZXNzYW8gPSBMRi5QcmVzc3VyZU1CLCAgICAgICAgICAgICAjIGVtIG1iYXIKICAgIHByZWp1aXpvID0gQmFzZURhbTIwMTQgJT4lIHJvdW5kKCksICAjIGVtIG1pbGjDtWVzIGRlIGTDs2xhcmVzIGRlIDIwMTQKICAgIG1vcnRlcyA9IGRlYXRocywKICAgIGdlbmVybyA9IG1mCiAgKQoKZGYKYGBgCgoKIyMgSGlzdG9ncmFtYXMKCkNyaWUgaGlzdG9ncmFtYXMgcGFyYSBhcyBzZWd1aW50ZXMgdmFyacOhdmVpcywgZXNjb2xoZW5kbyBhIHF1YW50aWRhZGUgZGUgYmFycmFzIHF1ZSB2b2PDqiBhY2hhciBtZWxob3IuIAoKKiBgdmVsb2NpZGFkZWAKCiogYHByZWp1aXpvYAoKKiBgbW9ydGVzYAoKRGlzY3V0YSBvcyBoaXN0b2dyYW1hcy4gCgoKIyMgSGlzdG9ncmFtYXMgdHJhbnNmb3JtYWRvcwoKT3MgaGlzdG9ncmFtYXMgZGUgcHJlanXDrXpvcyBlIG1vcnRlcyBuw6NvIGZpY2FyYW0gYm9ucy4KCk5vICpkYXRhIGZyYW1lKiwgY3JpZSBkdWFzIG5vdmFzIGNvbHVuYXM6CgoqIGBsb2dwcmVqdWl6b2A6ICpsb2dhcml0bW8qIGRvIHByZWp1w616byAobmEgYmFzZSAkMTAkKQoKKiBgbG9nbW9ydGVzYDogKmxvZ2FyaXRtbyogZG8gbsO6bWVybyBkZSBtb3J0ZXMgKG5hIGJhc2UgJDEwJCkKCkFnb3JhLCBnZXJlIGhpc3RvZ3JhbWFzIGRlc3RhcyBkdWFzIG5vdmFzIHZhcmnDoXZlaXMuCgoKIyMgU2lnbmlmaWNhZG8gZG9zIGxvZ2FyaXRtb3MKCiogTyBxdWUgc2lnbmlmaWNhIG8gdmFsb3IgZG8gbG9nYXJpdG1vIGRvIHByZWp1w616byBuYSBiYXNlICQxMCQ/CgoqIE8gcXVlIHNpZ25pZmljYSBvIHZhbG9yIGRvIGxvZ2FyaXRtbyBkbyBuw7ptZXJvIGRlIG1vcnRlcyBuYSBiYXNlICQxMCQ/CgoqIFBvciBxdWUgbyBoaXN0b2dyYW1hIGRvIGxvZ2FyaXRtbyBkbyBuw7ptZXJvIGRlIG1vcnRlcyB2ZW0gY29tIHVtYSBtZW5zYWdlbSBkZSBhdmlzbz8gCgoqIFBvciBxdWUgaXN0byBuw6NvIGFjb250ZWNlIGNvbSBvIGxvZ2FyaXRtbyBkbyBwcmVqdcOtem8/CgoKIyMgKkJveHBsb3RzKiBkZSBtb3J0ZXMKCkRlIGFnb3JhIGVtIGRpYW50ZSwgaWdub3JlIG9zIGZ1cmFjw7VlcyBxdWUgbsOjbyB0aXZlcmFtIG1vcnRlcy4KCkNvbnN0cnVhIHVtICpib3hwbG90KiBkb3MgbG9nYXJpdG1vcyBkYXMgcXVhbnRpZGFkZXMgZGUgbW9ydGVzLgoKRXhpc3RlbSAqb3V0bGllcnMqPyBEZXNjdWJyYSBxdWFpcyBzw6NvIGVsZXMgZSBlbGltaW5lLW9zIGRvICpkYXRhIGZyYW1lKi4KCgojIyAqQm94cGxvdHMqIGRlIG1vcnRlcyBwb3IgZ8OqbmVybyBkbyBmdXJhY8OjbwoKQ2VydGlmaXF1ZS1zZSBkZSB0ZXIgZWxpbWluYWRvIG9zICpvdXRsaWVycyogZGEgcXVlc3TDo28gYW50ZXJpb3IuCgpDb25zdHJ1YSBkb2lzICpib3hwbG90cyosIGxhZG8gYSBsYWRvLCBkb3MgbG9nYXJpdG1vcyBkYXMgcXVhbnRpZGFkZXMgZGUgbW9ydGVzLCBjYWRhICpib3hwbG90KiBjb3JyZXNwb25kZW5kbyBhIHVtIGfDqm5lcm8uIFVzZSBjb3JlcyBkaWZlcmVudGVzIHBhcmEgb3MgZ8OqbmVyb3MuCgpDb21lbnRlLgoKCiMjICpTY2F0dGVycGxvdCogZGUgcHJlc3PDo28gcG9yIHZlbG9jaWRhZGUgCgpGYcOnYSB1bSBncsOhZmljbyBkZSBkaXNwZXJzw6NvIGNvbSBgcHJlc3Nhb2Agbm8gZWl4byAkeSQgZSBgdmVsb2NpZGFkZWAgbm8gZWl4byAkeCQuCgpVc2FuZG8gYGdlb21fc21vb3RoYCwgc29icmVwb25oYSB1bWEgcmV0YSBkZSByZWdyZXNzw6NvIGFvIGdyw6FmaWNvLgoKTyBxdWUgdm9jw6ogb2JzZXJ2YT8gRGlzY3V0YS4KCgojIyAqU2NhdHRlcnBsb3QqIGRlIGxvZyhtb3J0ZXMpIHBvciBwcmVzc8OjbwoKRmHDp2EgdW0gZ3LDoWZpY28gZGUgZGlzcGVyc8OjbyBjb20gYGxvZ21vcnRlc2Agbm8gZWl4byAkeSQgZSBgcHJlc3Nhb2Agbm8gZWl4byAkeCQuCgpVc2FuZG8gYGdlb21fc21vb3RoYCwgc29icmVwb25oYSB1bWEgcmV0YSBkZSByZWdyZXNzw6NvIGFvIGdyw6FmaWNvLgoKTyBxdWUgdm9jw6ogb2JzZXJ2YT8gRGlzY3V0YS4KCgojIyAqU2NhdHRlcnBsb3QqIGRlIGxvZyhtb3J0ZXMpIHBvciBwcmVzc8OjbywgcG9yIGfDqm5lcm8gZG8gZnVyYWPDo28KCkZhw6dhIHVtIGdyw6FmaWNvIGRlIGRpc3BlcnPDo28gY29tIGBsb2dtb3J0ZXNgIG5vIGVpeG8gJHkkIGUgYHByZXNzYW9gIG5vIGVpeG8gJHgkLCBjb20gcG9udG9zIGNvbG9yaWRvcyBkZSBhY29yZG8gY29tIG8gZ8OqbmVybyBkbyBub21lIGRvIGZ1cmFjw6NvLgoKVXNhbmRvIGBnZW9tX3Ntb290aGAsIHNvYnJlcG9uaGEgcmV0YXMgZGUgcmVncmVzc8OjbyBhbyBncsOhZmljbywgdW1hIHBhcmEgY2FkYSBnw6puZXJvLgoKTyBxdWUgdm9jw6ogb2JzZXJ2YT8gRGlzY3V0YS4KClZpc3VhbGl6YcOnw7VlcyBjb21vIGVzdGEgYWp1ZGFtIGEgZXhwbG9yYXIgb3MgZGFkb3MsIG1hcyBuw6NvIHNlcnZlbSBwYXJhIHRlc3RhciByaWdvcm9zYW1lbnRlIGEgaGlww7N0ZXNlIGRlIHF1ZSBmdXJhY8O1ZXMgbXVsaGVyZXMgbWF0YW0gbWFpcyBkbyBxdWUgZnVyYWPDtWVzIGhvbWVucy4gCgpNYWlzIGFkaWFudGUgbm8gY3Vyc28sIHZhbW9zIGFwcmVuZGVyIGEgZmF6ZXIgdGVzdGVzIG1haXMgcmlnb3Jvc29zIGRhcyBub3NzYXMgaGlww7N0ZXNlcy4KCgojIEFkaXZpbmhhbmRvIHVtYSBjYXJ0YQoKVW1hIGNhcnRhIMOpIGVzY29saGlkYSBhbyBhY2FzbyBkZSB1bSBiYXJhbGhvIGRlICQ1MiQgY2FydGFzLgoKU2V1IG9iamV0aXZvIMOpIGFkaXZpbmhhciBxdWFsIMOpIGEgY2FydGEgZXNjb2xoaWRhLgoKMS4gU2Ugdm9jw6ogYWRpdmluaGFyIGFvIGFjYXNvLCBxdWFsIMOpIGEgc3VhIGNoYW5jZSBkZSBhY2VydGFyPwoKMS4gSW1hZ2luZSBxdWUsIGFudGVzIGRlIHRlbnRhciBhZGl2aW5oYXIsIHZvY8OqIHBvZGUgZmF6ZXIgdW1hIHBlcmd1bnRhIGRvIHRpcG8gc2ltIG91IG7Do28uIAoKICAgUXVhbCBkYXMgc2VndWludGVzIHBlcmd1bnRhcyBtYXhpbWl6YSBhIHByb2JhYmlsaWRhZGUgZGUgdm9jw6ogYWNlcnRhcj8gCiAgIAogICBRdWVyZW1vcyBzYWJlciBhIHByb2JhYmlsaWRhZGUgY2FsY3VsYWRhICphbnRlcyogZGUgdm9jw6ogZmF6ZXIgYSBwZXJndW50YSBlLCBvYnZpYW1lbnRlLCAqYW50ZXMqIGRlIHZvY8OqIHNhYmVyIGEgcmVzcG9zdGEuIFBlbnNlIGVtIHRvZGFzIGFzIHNpdHVhw6fDtWVzIGUgZW0gdG9kYXMgYXMgcmVzcG9zdGFzIHBvc3PDrXZlaXMuCgogICBhLiBBIGNhcnRhIMOpIHZlcm1lbGhhPwogICAKICAgYi4gQSBjYXJ0YSDDqSBkZSBmaWd1cmEgKGkuZS4sIHZhbGV0ZSwgZGFtYSBvdSByZWkpPwogICAKICAgYy4gQSBjYXJ0YSDDqSB1bSDDoXM/CiAgIAogICBkLiBBIGNhcnRhIMOpIG8gw6FzIGRlIGVzcGFkYXM/CgoxLiBFeHBsaXF1ZSBlbSBkZXRhbGhlcyBvcyBjw6FsY3Vsb3MgZGUgdG9kYXMgYXMgcHJvYmFiaWxpZGFkZXMuCgoxLiBDb21lbnRlIG9zIHJlc3VsdGFkb3MuCiAgIAoKIyBDT1ZJRCBlIHZhY2luYQoKQ29uc2lkZXJlIGEgc2VndWludGUgdGFiZWxhLCBxdWUgbW9zdHJhIGFzIHF1YW50aWRhZGVzIGRlIHBlc3NvYXMgdmFjaW5hZGFzIGUgbsOjbyB2YWNpbmFkYXMgZW0gdW0gZ3J1cG8sIGUgYXMgcXVhbnRpZGFkZXMgZGUgcGVzc29hcyBxdWUgZmljYXJhbSBkb2VudGVzIG91IG7Do28gZGVwb2lzLgoKJCQKXGJlZ2lue2FycmF5fXt8bHxyfHJ8cnx9CiAgICAgICAgICAgICAgICAgJiBcdGV4dHtWYWNpbmFkb3N9ICYgXHRleHR7TsOjbyB2YWNpbmFkb3N9ICYgXHRleHR7VG90YWlzfSBcXAogIFxobGluZQogIFx0ZXh0e0RvZW50ZXN9ICYgICAgICAgICAgICAgICAyICAmICAgICAgICAgICAgICAgICAgICAyICYgICAgICAgICAgICAgNCBcXAogIFx0ZXh0e07Do28gZG9lbnRlc30gICYgICAgICAgICAgICAgIDE2ICAmICAgICAgICAgICAgICAgICAgICAwICYgICAgICAgICAgICAxNiBcXAogIFxobGluZQogIFx0ZXh0e1RvdGFpc30gICYgICAgICAgICAgICAgIDE4ICAmICAgICAgICAgICAgICAgICAgICAyICYgICAgICAgICAgICAyMCBcXAogIFxobGluZQpcZW5ke2FycmF5fQokJAoKMS4gUXVhbCBhIHByb2JhYmlsaWRhZGUgZGUgdW1hIHBlc3NvYSB0ZXIgc2lkbyB2YWNpbmFkYT8KCjEuIFF1YWwgYSBwcm9iYWJpbGlkYWRlIGRlIHVtYSBwZXNzb2EgdmFjaW5hZGEgdGVyIGZpY2FkbyBkb2VudGU/CgoxLiBRdWFsIGEgcHJvYmFiaWxpZGFkZSBkZSB1bWEgcGVzc29hIG7Do28gdmFjaW5hZGEgdGVyIGZpY2FkbyBkb2VudGU/CgoxLiBDYWxjdWxlIGEgZWZpY8OhY2lhIGRhIHZhY2luYSwgZGFkYSBwb3IKCiAgICQkCiAgIFxmcmFje1AoXHRleHR7ZG9lbnRlfSBcbWlkIFx0ZXh0e27Do28gdmFjaW5hZG99KSAtIFAoXHRleHR7ZG9lbnRlfSBcbWlkIFx0ZXh0e3ZhY2luYWRvfSl9e1AoXHRleHR7ZG9lbnRlfSBcbWlkIFx0ZXh0e27Do28gdmFjaW5hZG99KX0KICAgJCQKCjEuIEV4cGxpcXVlLCBlbSBzdWFzIHBhbGF2cmFzLCBvIGPDoWxjdWxvIGRhIGVmaWPDoWNpYSBkYSB2YWNpbmEuCgoKCjxkaXYgc3R5bGU9J2hlaWdodDogMTAwMHB4Jz48L2Rpdj4K