Introdução ao RMarkdown


“RMarkdown is the best tool to create reproducible reports, dynamic documents, and dashboards in R” – Yihui Xie.


Acesse o rpubs pet_estatisticaufc para saber como construir um documento no RMarkdown.


1 Pinguim Gentoo

O pinguim Gentoo (Pygoscelis papua) é uma das espécies de pinguins mais reconhecidas e fascinantes. Ele se destaca por sua faixa branca característica que vai de um lado ao outro da cabeça, como uma “tiara”.

O gentoo é uma das três espécies representadas na base de dados penguins do pacote palmerpenguins. A seguir é mostrada uma imagem que ilustra esses pinguins.

Pinguins da base de dados penguins
Pinguins da base de dados penguins


A seguir é colocado um comparativo das caractrísticas dos 3 pinguins.

Característica Adelie Gentoo Chinstrap
Identificação Cabeça preta com um anel branco em volta dos olhos Faixa branca em forma de “tiara” na cabeça Faixa preta como um “capacete” que passa sob o queixo
Habitat Costa Antártica Ilhas subantárticas e Península Antártica Ilhas subantárticas e Península Antártica
Status de conservação Pouco preocupante Quase ameaçado Pouco preocupante

Marque a seguir os pinguins que você já conhecia!

1.1 Características Físicas

  • Tamanho: O gentoo é o terceiro maior pinguim, depois do imperador e do rei.
    • O imperador e o rei tem, respectivamente, 51 e 90 cm, aproximadamente.
  • Peso: Geralmente pesa entre 4,5 e 8,5 kg, dependendo da época do ano e da disponibilidade de alimentos.
  • Plumagem: Sua parte dorsal é preta, enquanto o ventre é branco. As nadadeiras possuem um tom acinzentado.
  • Bico: O bico é alaranjado brilhante, contrastando com sua plumagem.

1.2 Conservação

  1. Atualmente, o pinguim-gentoo é classificado como quase ameaçado pela IUCN devido à perda de habitat, mudanças climáticas e atividades humanas, como pesca excessiva e turismo descontrolado.
  2. Esforços estão sendo feitos para proteger suas colônias e garantir a sustentabilidade de seus habitats.

2 Análise exploratória

Para fazer a nossa análise, será utilizado a linguagem r1. Para utilizá-la, recomendamos a IDE RStudio.

Primeiramente, vamos baixar os pacotes palmerpenguins e ggplot2 com o seguinte código.

install.packages("palmerpenguins")
install.packages("tidyverse")

Agora basta carregar os pacotes.

library(palmerpenguins)
library(tidyverse)

Vamos fazer uma análise focada no pinguim gentoo.

2.1 Base de dados

Na tabela seguinte é mostrado as 10 primeiras linhas da base de dados.
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year
Adelie Torgersen 39.1 18.7 181 3750 male 2007
Adelie Torgersen 39.5 17.4 186 3800 female 2007
Adelie Torgersen 40.3 18.0 195 3250 female 2007
Adelie Torgersen NA NA NA NA NA 2007
Adelie Torgersen 36.7 19.3 193 3450 female 2007
Adelie Torgersen 39.3 20.6 190 3650 male 2007
Adelie Torgersen 38.9 17.8 181 3625 female 2007
Adelie Torgersen 39.2 19.6 195 4675 male 2007
Adelie Torgersen 34.1 18.1 193 3475 NA 2007
Adelie Torgersen 42.0 20.2 190 4250 NA 2007


Como nós estamos interessados no pinguim gentoo, a seguir é colocado todas as observações de pinguins dessa espécie.

2.2 Estatísticas descritivas

Vamos começar calculando algumas estatísticas descritivas para a espécie gentoo.

gentoo <- penguins |> 
  filter(species == "Gentoo")
summary(gentoo)
##       species          island    bill_length_mm  bill_depth_mm  
##  Adelie   :  0   Biscoe   :124   Min.   :40.90   Min.   :13.10  
##  Chinstrap:  0   Dream    :  0   1st Qu.:45.30   1st Qu.:14.20  
##  Gentoo   :124   Torgersen:  0   Median :47.30   Median :15.00  
##                                  Mean   :47.50   Mean   :14.98  
##                                  3rd Qu.:49.55   3rd Qu.:15.70  
##                                  Max.   :59.60   Max.   :17.30  
##                                  NA's   :1       NA's   :1      
##  flipper_length_mm  body_mass_g       sex          year     
##  Min.   :203.0     Min.   :3950   female:58   Min.   :2007  
##  1st Qu.:212.0     1st Qu.:4700   male  :61   1st Qu.:2007  
##  Median :216.0     Median :5000   NA's  : 5   Median :2008  
##  Mean   :217.2     Mean   :5076               Mean   :2008  
##  3rd Qu.:221.0     3rd Qu.:5500               3rd Qu.:2009  
##  Max.   :231.0     Max.   :6300               Max.   :2009  
##  NA's   :1         NA's   :1

A variância da massa corporal dessa espécie de pinguins é 643131,1. A fórmula da variância amostral é \(s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2\) enquanto a variância populacional é \[\text{Var}(X) = \sigma^2 = \frac{1}{n} \sum_{i=1}^n (x_i - \mu)^2\]

2.3 Gráficos

Para fazer o próximo grafico baixe o pacote plotly.

install.packages("plotly")

Após baixado, carregue-o.

library(plotly)

Os seguintes boxplots mostram a diferença do tamanho da nadadeira das 3 espécies de pinguim, evidenciando que, possivelmente, o gentoo é o maior.

grafico1 <- penguins |> 
  ggplot(aes(x = species, y = flipper_length_mm))+
  geom_boxplot()

ggplotly(grafico1)

Referências

Bootswatch. 2025. “Bootswatch: Free Themes for Bootstrap”. https://bootswatch.com/.

  1. O R é uma linguagem de programação e um ambiente de software livre projetado principalmente para estatística, ciência de dados, visualização e análise de dados. Criado por Ross Ihaka e Robert Gentleman no início dos anos 1990, o R é amplamente utilizado por estatísticos, cientistas de dados e analistas para explorar, modelar e comunicar insights a partir de conjuntos de dados.↩︎

LS0tDQojIFTDrXR1bG8gY29tIGltYWdlbSBubyBpbsOtY2lvDQp0aXRsZTogfA0KICAhW0xvZ29STWFya2Rvd25dW2xvZ29fcm1hcmtkb3duXXt3aWR0aD0yMDBweCBzdHlsZT0iZGlzcGxheTogYmxvY2s7IG1hcmdpbjowIGF1dG87In1cDQogIFTDrXR1bG8NCg0KIyBOb21lIGRvIGF1dG9yDQphdXRob3I6ICcqQXV0b3IqJw0KDQojIERhdGEgYXR1YWwgYXV0b23DoXRpY2ENCmRhdGU6ICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyolZCBkZSAlQiwgICVZKicpYCINCg0KIyBMw61uZ3VhIGRvIGFycXVpdm8NCmxhbmc6ICJwdC1iciINCg0KIyBBcyByZWZlcsOqbmNpYXMgdsOjbyBzZXIgZmVpdGFzIGF1dG9tYXRpY2FtZW50ZSBhbyBmYXplciBjaXRhw6fDtWVzDQpsaW5rLWNpdGF0aW9uczogdHJ1ZQ0KDQojIEFycXVpdm8gLmJpYiBjb20gYXMgcmVmZXJlbmNpYXMNCmJpYmxpb2dyYXBoeTogIkFycXVpdm9zX2RvX01pbmljdXJzby9yZWZlcmVuY2lhcy5iaWIiDQoNCiMgQ3JpYSByZWZlcsOqbmNpYXMgc2VtIHByZWNpc2FyIGNpdGFyIG5vIHRleHRvDQpub3RpY2U6IHwNCiAgICAgIEBCb290c3dhdGNoDQoNCiMgVMOtdHVsbyBkYSB0YWJlbGEgZGUgY29udGXDumRvcyBhdXRvbcOhdGljYQ0KdG9jLXRpdGxlOiB8DQogIDxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4NCiAgSW50cm9kdcOnw6NvIGFvIFJNYXJrZG93bg0KICA8L2Rpdj4NCiAgDQojIMOJIG5vIG91dHB1dCBvbmRlIHNlIGNvbG9jYW0gYXMgaW5mb3JtYcOnw7VlcyBkZSBjb21vIG8gYXJxdWl2byBkZXZlIHNlciByZW5kZXJpemFkbw0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRoZW1lOg0KICAgICAgYm9vdHN3YXRjaDogam91cm5hbCAjIEVzc2Egb3DDp8OjbyBtdWRhIG8gdGVtYSB1dGlsaXphZG8gbm8gb3V0cHV0DQogICAgaGlnaGxpZ2h0OiB0YW5nbyAjIE11ZGEgYSBhcGFyw6puY2lhIGRlIGPDs2RpZ29zDQogICAgdG9jOiB0cnVlICMgQWRpY2lvbmEgdW0gw61uZGljZQ0KICAgIHRvY19mbG9hdDogdHJ1ZSAjIENvbG9jYSBvIMOtbmRpY2Ugw6AgZXNxdWVyZGEgZG8gY29udGXDumRvIGRvIGRvY3VtZW50byBwcmluY2lwYWwNCiAgICB0b2NfZGVwdGg6IDIgIyBPIG7DrXZlbCBtYWlzIGJhaXhvIGRlIHTDrXR1bG9zIHBhcmEgYWRpY2lvbmFyIGFvIMOtbmRpY2UNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUgIyBjb2xvY2EgbnVtZXJhw6fDo28gYXV0b23DoXRpY2Egbm8gY2FiZcOnYWxobw0KICAgIGFuY2hvcl9zZWN0aW9uczogdHJ1ZSAjIFBlcm1pdGUgbW9zdHJhciDDom5jb3JhcyBkZSBzZcOnw6NvIGFvIHBhc3NhciBvIG1vdXNlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZSAjIFBlcm1pdGUgcXVlIHNldSBhcnF1aXZvIHBvc3NhIHNlciBiYWl4YWRvDQogICAgZmlnX2NhcHRpb246IHRydWUgIyBTZSBhcyBmaWd1cmFzIHbDo28gc2VyIHJlbmRlcml6YWRhcyBjb20gbGVnZW5kYQ0KICAgIGNpdGF0aW9uX3BhY2thZ2U6ICJiaWJsYXRleCIgIyBJbmZvcm1hIGNvbW8gdmFpIHNlciBhIGZvcm1hdGHDp8OjbyBkZSByZWZlcsOqbmNpYSBuYXMgY2l0YcOnw7Vlcw0KICAgIA0KLS0tDQoNCjwhLS0gSW7DrWNpbyBkbyBkb2N1bWVudG8gLS0+DQoNCjxicj4NCg0KPiAiUk1hcmtkb3duIGlzIHRoZSBiZXN0IHRvb2wgdG8gY3JlYXRlIHJlcHJvZHVjaWJsZSByZXBvcnRzLCBkeW5hbWljIGRvY3VtZW50cywgYW5kIGRhc2hib2FyZHMgaW4gUiIgLS0gWWlodWkgWGllLlwNCg0KPGJyPg0KDQpBY2Vzc2UgbyBycHVicyBbcGV0X2VzdGF0aXN0aWNhdWZjXVtycHVic19wZXRdIHBhcmEgc2FiZXIgY29tbyBjb25zdHJ1aXIgdW0gZG9jdW1lbnRvIG5vIFJNYXJrZG93bi4NCg0KKioqDQoNCiMgUGluZ3VpbSBHZW50b28NCk8gcGluZ3VpbSBHZW50b28gKCpQeWdvc2NlbGlzIHBhcHVhKikgw6kgdW1hIGRhcyBlc3DDqWNpZXMgZGUgcGluZ3VpbnMgbWFpcyAqKnJlY29uaGVjaWRhcyBlIGZhc2NpbmFudGVzKiouIEVsZSBzZSBkZXN0YWNhIHBvciBzdWEgZmFpeGEgYnJhbmNhIGNhcmFjdGVyw61zdGljYSBxdWUgdmFpIGRlIHVtIGxhZG8gYW8gb3V0cm8gZGEgY2FiZcOnYSwgY29tbyB1bWEgInRpYXJhIi5cDQoNCk8gZ2VudG9vIMOpIHVtYSBkYXMgdHLDqnMgZXNww6ljaWVzIHJlcHJlc2VudGFkYXMgbmEgYmFzZSBkZSBkYWRvcyBgcGVuZ3VpbnNgIGRvIHBhY290ZSBgcGFsbWVycGVuZ3VpbnNgLiBBIHNlZ3VpciDDqSBtb3N0cmFkYSB1bWEgaW1hZ2VtIHF1ZSBpbHVzdHJhIGVzc2VzIHBpbmd1aW5zLg0KDQo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+DQohW1Bpbmd1aW5zIGRhIGJhc2UgZGUgZGFkb3MgcGVuZ3VpbnNdW3Bpbmd1aW5zXQ0KPC9kaXY+DQoNCjxicj4NCg0KQSBzZWd1aXIgw6kgY29sb2NhZG8gdW0gY29tcGFyYXRpdm8gZGFzIGNhcmFjdHLDrXN0aWNhcyBkb3MgMyBwaW5ndWlucy4NCg0KfENhcmFjdGVyw61zdGljYXxBZGVsaWV8R2VudG9vfENoaW5zdHJhcHwNCnw6LS0tOnwtLS18LS0tfC0tLXwNCnxJZGVudGlmaWNhw6fDo298Q2FiZcOnYSBwcmV0YSBjb20gdW0gYW5lbCBicmFuY28gZW0gdm9sdGEgZG9zIG9saG9zfEZhaXhhIGJyYW5jYSBlbSBmb3JtYSBkZSAidGlhcmEiIG5hIGNhYmXDp2F8RmFpeGEgcHJldGEgY29tbyB1bSAiY2FwYWNldGUiIHF1ZSBwYXNzYSBzb2IgbyBxdWVpeG98DQp8SGFiaXRhdHxDb3N0YSBBbnTDoXJ0aWNhfElsaGFzIHN1YmFudMOhcnRpY2FzIGUgUGVuw61uc3VsYSBBbnTDoXJ0aWNhfElsaGFzIHN1YmFudMOhcnRpY2FzIGUgUGVuw61uc3VsYSBBbnTDoXJ0aWNhfA0KfFN0YXR1cyBkZSBjb25zZXJ2YcOnw6NvfFBvdWNvIHByZW9jdXBhbnRlfFF1YXNlIGFtZWHDp2Fkb3xQb3VjbyBwcmVvY3VwYW50ZXwNCg0KDQpNYXJxdWUgYSBzZWd1aXIgb3MgcGluZ3VpbnMgcXVlIHZvY8OqIGrDoSBjb25oZWNpYSENCg0KLSBbIF0gQWRlbGllDQotIFsgXSBDaGluc3RyYXANCi0gWyBdIEdlbnRvbw0KDQojIyBDYXJhY3RlcsOtc3RpY2FzIEbDrXNpY2FzDQotICoqVGFtYW5obyoqOiBPIGdlbnRvbyDDqSBvIHRlcmNlaXJvIG1haW9yIHBpbmd1aW0sIGRlcG9pcyBkbyBpbXBlcmFkb3IgZSBkbyByZWkuDQogICAgLSBPIGltcGVyYWRvciBlIG8gcmVpIHRlbSwgcmVzcGVjdGl2YW1lbnRlLCA1MSBlIDkwIGNtLCBhcHJveGltYWRhbWVudGUuDQorICoqUGVzbyoqOiBHZXJhbG1lbnRlIHBlc2EgZW50cmUgNCw1IGUgOCw1IGtnLCBkZXBlbmRlbmRvIGRhIMOpcG9jYSBkbyBhbm8gZSBkYSBkaXNwb25pYmlsaWRhZGUgZGUgYWxpbWVudG9zLg0KKiAqKlBsdW1hZ2VtKio6IFN1YSBwYXJ0ZSBkb3JzYWwgw6kgcHJldGEsIGVucXVhbnRvIG8gdmVudHJlIMOpIGJyYW5jby4gQXMgbmFkYWRlaXJhcyBwb3NzdWVtIHVtIHRvbSBhY2luemVudGFkby4NCi0gKipCaWNvKio6IE8gYmljbyDDqSBhbGFyYW5qYWRvIGJyaWxoYW50ZSwgY29udHJhc3RhbmRvIGNvbSBzdWEgcGx1bWFnZW0uDQoNCiMjIENvbnNlcnZhw6fDo28NCjEuIEF0dWFsbWVudGUsIG8gcGluZ3VpbS1nZW50b28gw6kgY2xhc3NpZmljYWRvIGNvbW8gcXVhc2UgYW1lYcOnYWRvIHBlbGEgSVVDTiBkZXZpZG8gw6AgcGVyZGEgZGUgaGFiaXRhdCwgbXVkYW7Dp2FzIGNsaW3DoXRpY2FzIGUgYXRpdmlkYWRlcyBodW1hbmFzLCBjb21vIHBlc2NhIGV4Y2Vzc2l2YSBlIHR1cmlzbW8gZGVzY29udHJvbGFkby4NCjEuIEVzZm9yw6dvcyBlc3TDo28gc2VuZG8gZmVpdG9zIHBhcmEgcHJvdGVnZXIgc3VhcyBjb2zDtG5pYXMgZSBnYXJhbnRpciBhIHN1c3RlbnRhYmlsaWRhZGUgZGUgc2V1cyBoYWJpdGF0cy4NCg0KDQoNCg0KIyBBbsOhbGlzZSBleHBsb3JhdMOzcmlhIHsudGFic2V0IC50YWJzZXQtZmFkZX0NClBhcmEgZmF6ZXIgYSBub3NzYSBhbsOhbGlzZSwgc2Vyw6EgdXRpbGl6YWRvIGEgbGluZ3VhZ2VtIHJbXnJdLiBQYXJhIHV0aWxpesOhLWxhLCByZWNvbWVuZGFtb3MgYSBJREUgW1JTdHVkaW9dW3JzdHVkaW9dLlwNCg0KUHJpbWVpcmFtZW50ZSwgdmFtb3MgYmFpeGFyIG9zIHBhY290ZXMgYHBhbG1lcnBlbmd1aW5zYCBlIGBnZ3Bsb3QyYCBjb20gbyBzZWd1aW50ZSBjw7NkaWdvLg0KYGBge3IgZXZhbD1GQUxTRX0NCmluc3RhbGwucGFja2FnZXMoInBhbG1lcnBlbmd1aW5zIikNCmluc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpDQpgYGAgDQoNCkFnb3JhIGJhc3RhIGNhcnJlZ2FyIG9zIHBhY290ZXMuDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShwYWxtZXJwZW5ndWlucykNCmxpYnJhcnkodGlkeXZlcnNlKQ0KYGBgDQoNClZhbW9zIGZhemVyIHVtYSBhbsOhbGlzZSBmb2NhZGEgbm8gcGluZ3VpbSBnZW50b28uDQoNCiMjIEJhc2UgZGUgZGFkb3MNCk5hIHRhYmVsYSBzZWd1aW50ZSDDqSBtb3N0cmFkbyBhcyAxMCBwcmltZWlyYXMgbGluaGFzIGRhIGJhc2UgZGUgZGFkb3MuDQpgYGB7ciBlY2hvPUZBTFNFfQ0Ka25pdHI6OmthYmxlKGhlYWQocGVuZ3VpbnMsIDEwKSkgfD4NCiAga2FibGVFeHRyYTo6a2FibGVfc3R5bGluZyhmdWxsX3dpZHRoID0gVFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290c3RyYXBfb3B0aW9ucyA9IGMoInN0cmlwZWQiLCAiaG92ZXIiLCAiY29uZGVuc2VkIiwgInJlc3BvbnNpdmUiKSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQpgYGANCg0KPGJyPg0KDQpDb21vIG7Ds3MgZXN0YW1vcyBpbnRlcmVzc2Fkb3Mgbm8gcGluZ3VpbSBnZW50b28sIGEgc2VndWlyIMOpIGNvbG9jYWRvIHRvZGFzIGFzIG9ic2VydmHDp8O1ZXMgZGUgcGluZ3VpbnMgZGVzc2EgZXNww6ljaWUuDQpgYGB7ciBlY2hvPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQoNCnJtYXJrZG93bjo6cGFnZWRfdGFibGUocGVuZ3VpbnMgfD4gDQogICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKHBlbmd1aW5zJHNwZWNpZXMgPT0gIkdlbnRvbyIpKQ0KYGBgDQoNCiMjIEVzdGF0w61zdGljYXMgZGVzY3JpdGl2YXMNCg0KVmFtb3MgY29tZcOnYXIgY2FsY3VsYW5kbyBhbGd1bWFzIGVzdGF0w61zdGljYXMgZGVzY3JpdGl2YXMgcGFyYSBhIGVzcMOpY2llIGdlbnRvby4NCmBgYHtyfQ0KZ2VudG9vIDwtIHBlbmd1aW5zIHw+IA0KICBmaWx0ZXIoc3BlY2llcyA9PSAiR2VudG9vIikNCnN1bW1hcnkoZ2VudG9vKQ0KYGBgDQoNCkEgdmFyacOibmNpYSBkYSBtYXNzYSBjb3Jwb3JhbCBkZXNzYSBlc3DDqWNpZSBkZSBwaW5ndWlucyDDqSBgciBmb3JtYXQocm91bmQodmFyKHBlbmd1aW5zJGJvZHlfbWFzc19nLCBuYS5ybSA9IFQpLCAyKSwgZGVjaW1hbC5tYXJrID0gIiwiKWAuIEEgZsOzcm11bGEgZGEgdmFyacOibmNpYSBhbW9zdHJhbCDDqSAkc14yID0gXGZyYWN7MX17bi0xfSBcc3VtX3tpPTF9Xm4gKHhfaSAtIFxiYXJ7eH0pXjIkIGVucXVhbnRvIGEgdmFyacOibmNpYSBwb3B1bGFjaW9uYWwgw6kgJCRcdGV4dHtWYXJ9KFgpID0gXHNpZ21hXjIgPSBcZnJhY3sxfXtufSBcc3VtX3tpPTF9Xm4gKHhfaSAtIFxtdSleMiQkDQoNCiMjIEdyw6FmaWNvcw0KUGFyYSBmYXplciBvIHByw7N4aW1vIGdyYWZpY28gYmFpeGUgbyBwYWNvdGUgYHBsb3RseWAuDQpgYGB7ciBldmFsPUZBTFNFfQ0KaW5zdGFsbC5wYWNrYWdlcygicGxvdGx5IikNCmBgYA0KDQpBcMOzcyBiYWl4YWRvLCBjYXJyZWd1ZS1vLg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFfQ0KbGlicmFyeShwbG90bHkpDQpgYGANCg0KT3Mgc2VndWludGVzIGJveHBsb3RzIG1vc3RyYW0gYSBkaWZlcmVuw6dhIGRvIHRhbWFuaG8gZGEgbmFkYWRlaXJhIGRhcyAzIGVzcMOpY2llcyBkZSBwaW5ndWltLCBldmlkZW5jaWFuZG8gcXVlLCBwb3NzaXZlbG1lbnRlLCBvIGdlbnRvbyDDqSBvIG1haW9yLg0KYGBge3Igd2FybmluZz1GQUxTRX0NCmdyYWZpY28xIDwtIHBlbmd1aW5zIHw+IA0KICBnZ3Bsb3QoYWVzKHggPSBzcGVjaWVzLCB5ID0gZmxpcHBlcl9sZW5ndGhfbW0pKSsNCiAgZ2VvbV9ib3hwbG90KCkNCg0KZ2dwbG90bHkoZ3JhZmljbzEpDQpgYGANCg0KDQo8IS0tIEFzIFJlZmVyw6puY2lhcyBzw6NvIGZlaXRhcyBhdXRvbcOhdGljYW1lbnRlIG5vIGZpbmFsIGRvIGRvY3VtZW50byAtLT4NCiMgUmVmZXLDqm5jaWFzIHsudW5udW1iZXJlZCAudW5saXN0ZWR9DQoNCjwhLS0gTGlua3MgLS0+DQpbcnB1YnNfcGV0XTogaHR0cHM6Ly9ycHVicy5jb20vcGV0X2VzdGF0aXN0aWNhdWZjLzEyNjEzNTUgIkludHJvZHXDp8OjbyBhbyBSTWFya2Rvd24iDQpbcnN0dWRpb106IGh0dHBzOi8vcG9zaXQuY28vZG93bmxvYWQvcnN0dWRpby1kZXNrdG9wLyAiUlN0dWRpbyINCg0KPCEtLSBJbWFnZW5zIC0tPg0KW2xvZ29fcm1hcmtkb3duXTogaHR0cHM6Ly8xMzEzMzUwMjEuY2RuNi5lZGl0bXlzaXRlLmNvbS91cGxvYWRzLzEvMy8xLzMvMTMxMzM1MDIxL3M4MTUyNTM4OTEyNTYxMDY1NTJfcDVfaTJfdzY2MC5wbmcgIkxvZ28gZG8gUk1hcmtkb3duIg0KW3Bpbmd1aW5zXTogaHR0cHM6Ly9kM2kzbDNrcmFpcXB5bS5jbG91ZGZyb250Lm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC8yNjA5NDkxNC9BZCVDMyVBOWxpZS1DaGluc3RyYXAtYW5kLWdlbnRvby1wZW5ndWluLXNwZWNpZXMuanBnICJRdWFsIMOpIG1haXMgZm9mbz8iDQoNCg0KPCEtLSBOb3RhcyBkZSBSb2RhcMOpIC0tPg0KW15yXTogTyBSIMOpIHVtYSBsaW5ndWFnZW0gZGUgcHJvZ3JhbWHDp8OjbyBlIHVtIGFtYmllbnRlIGRlIHNvZnR3YXJlIGxpdnJlIHByb2pldGFkbyBwcmluY2lwYWxtZW50ZSBwYXJhIGVzdGF0w61zdGljYSwgY2nDqm5jaWEgZGUgZGFkb3MsIHZpc3VhbGl6YcOnw6NvIGUgYW7DoWxpc2UgZGUgZGFkb3MuIENyaWFkbyBwb3IgUm9zcyBJaGFrYSBlIFJvYmVydCBHZW50bGVtYW4gbm8gaW7DrWNpbyBkb3MgYW5vcyAxOTkwLCBvIFIgw6kgYW1wbGFtZW50ZSB1dGlsaXphZG8gcG9yIGVzdGF0w61zdGljb3MsIGNpZW50aXN0YXMgZGUgZGFkb3MgZSBhbmFsaXN0YXMgcGFyYSBleHBsb3JhciwgbW9kZWxhciBlIGNvbXVuaWNhciBpbnNpZ2h0cyBhIHBhcnRpciBkZSBjb25qdW50b3MgZGUgZGFkb3MuDQo=