This is an R Markdown Notebook.

library(tidyverse)
library(ggplot2)
library(plotly)
library(readxl)
library(dplyr)
aquarius <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Aquarius")
pisces <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Pisces")
aries <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Aries")
taurus <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Taurus")
gemini <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Gemini")
cancer <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Cancer")
leo <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Leo")
virgo <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Virgo")
libra <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Libra")
scorpio <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Scorpio")
sagittarius <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Sagittarius")
capricorn <- sq1_comp %>% 
  select(S, O:N) %>%
  filter(S == "Capricorn")

Luckily, my data was incredibly clean, so it was easy to work with. I’ve seperated the signs, including their scores for the modified Big 5 survey I created.

Qs

Each question was scored on a Likert Scale of 1 to 5, with one being Strongly Disagree and five being Strongly Agree. These questions were created specifically for this survey.

sq1_comp %>% 
  ggplot(aes(x = S, fill = S)) +
  geom_bar() +
  theme(axis.text.x = element_text(angle = 90), axis.title.y = element_blank(), axis.title.x = element_blank(), legend.title = element_blank(), legend.position = "none") +
  scale_fill_brewer(palette="Paired") 

I wanted some visual representation of the number of responses I had by sign.

The following graphs show how each sign responded to the questions, presented by trait.

aquarius %>% 
  full_join(aries) %>%
  full_join(cancer) %>%
  full_join(capricorn) %>%
  full_join(gemini) %>%
  full_join(leo) %>%
  full_join(libra) %>%
  full_join(pisces) %>%
  full_join(sagittarius) %>%
  full_join(scorpio) %>%
  full_join(taurus) %>%
  full_join(virgo) %>%
  ggplot(aes(
    x = S, 
    y = O, 
    fill = S)) +
  geom_boxplot() +
  ggtitle("Openness") +
  xlab("Sign") + ylab("Closedness -> Openness") +
theme(axis.text.x = element_text(angle = 90), 
      axis.title.x = element_text("Sign"),
      axis.text.y = element_text(angle = 90), 
      legend.title = element_blank(), 
      legend.position = "none") +
  scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")

Keeping this in order of OCEAN, here’s the responses to Openness.

aquarius %>% 
  full_join(aries) %>%
  full_join(cancer) %>%
  full_join(capricorn) %>%
  full_join(gemini) %>%
  full_join(leo) %>%
  full_join(libra) %>%
  full_join(pisces) %>%
  full_join(sagittarius) %>%
  full_join(scorpio) %>%
  full_join(taurus) %>%
  full_join(virgo) %>%
  ggplot(aes(
    x = S, 
    y = C, 
    fill = S)) +
  geom_boxplot() +
  ggtitle("Conscientiousness") +
  xlab("Sign") + ylab("Lack of Conscientiousness -> Conscientiousness") +
theme(axis.text.x = element_text(angle = 90), 
      axis.title.x = element_text("Sign"),
      axis.text.y = element_text(angle = 90), 
      legend.title = element_blank(), 
      legend.position = "none") +
  scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")

Boxplots allow accurate visualization of extreme outliers, like whatever Taurus here has no self control.

aquarius %>% 
  full_join(aries) %>%
  full_join(cancer) %>%
  full_join(capricorn) %>%
  full_join(gemini) %>%
  full_join(leo) %>%
  full_join(libra) %>%
  full_join(pisces) %>%
  full_join(sagittarius) %>%
  full_join(scorpio) %>%
  full_join(taurus) %>%
  full_join(virgo) %>%
  ggplot(aes(
    x = S, 
    y = E, 
    fill = S)) +
  geom_boxplot() +
  ggtitle("Extroversion") +
  xlab("Sign") + ylab("Introversion -> Extroversion") +
theme(axis.text.x = element_text(angle = 90), 
      axis.title.x = element_text("Sign"),
      axis.text.y = element_text(angle = 90), 
      legend.title = element_blank(), 
      legend.position = "none") +
  scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")

Somewhat surprisingly, all the signs showed high scores for extroversion. Could be the age spread of the demographic.

aquarius %>% 
  full_join(aries) %>%
  full_join(cancer) %>%
  full_join(capricorn) %>%
  full_join(gemini) %>%
  full_join(leo) %>%
  full_join(libra) %>%
  full_join(pisces) %>%
  full_join(sagittarius) %>%
  full_join(scorpio) %>%
  full_join(taurus) %>%
  full_join(virgo) %>%
  ggplot(aes(
    x = S, 
    y = A, 
    fill = S)) +
  geom_boxplot() +
  ggtitle("Agreeableness") +
  xlab("Sign") + ylab("Disagreeableness -> Agreeableness") +
theme(axis.text.x = element_text(angle = 90), 
      axis.title.x = element_text("Sign"),
      axis.text.y = element_text(angle = 90), 
      legend.title = element_blank(), 
      legend.position = "none") +
  scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")

Disagreeableness is a somewhat difficult concept to accurately self-report, so it’s unsurprising that every sign scored on the higher end. Except the only Gemini who was perhaps too truthful.

aquarius %>% 
  full_join(aries) %>%
  full_join(cancer) %>%
  full_join(capricorn) %>%
  full_join(gemini) %>%
  full_join(leo) %>%
  full_join(libra) %>%
  full_join(pisces) %>%
  full_join(sagittarius) %>%
  full_join(scorpio) %>%
  full_join(taurus) %>%
  full_join(virgo) %>%
  ggplot(aes(
    x = S, 
    y = N, 
    fill = S)) +
  geom_boxplot() +
  ggtitle("Neuroticism") +
  xlab("Sign") + ylab("Emotional Stability -> Neuroticism") +
theme(axis.text.x = element_text(angle = 90), 
      axis.title.x = element_text("Sign"),
      axis.text.y = element_text(angle = 90), 
      legend.title = element_blank(), 
      legend.position = "none") +
  scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")

Absolutely no one should be surprised by the score spread regarding neuroticism. Cancers are notorious for being huge cry babies and Aries lie.

LS0tCnRpdGxlOiAiQmlnIDUgYW5kIEFzdHJvbG9neSBTdXJ2ZXkiCm91dHB1dDoKICBodG1sX25vdGVib29rOiBkZWZhdWx0Ci0tLQoKVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIAoKCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShyZWFkeGwpCmxpYnJhcnkoZHBseXIpCmBgYAoKYGBge3J9CmFxdWFyaXVzIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiQXF1YXJpdXMiKQpwaXNjZXMgPC0gc3ExX2NvbXAgJT4lIAogIHNlbGVjdChTLCBPOk4pICU+JQogIGZpbHRlcihTID09ICJQaXNjZXMiKQphcmllcyA8LSBzcTFfY29tcCAlPiUgCiAgc2VsZWN0KFMsIE86TikgJT4lCiAgZmlsdGVyKFMgPT0gIkFyaWVzIikKdGF1cnVzIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiVGF1cnVzIikKZ2VtaW5pIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiR2VtaW5pIikKY2FuY2VyIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiQ2FuY2VyIikKbGVvIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiTGVvIikKdmlyZ28gPC0gc3ExX2NvbXAgJT4lIAogIHNlbGVjdChTLCBPOk4pICU+JQogIGZpbHRlcihTID09ICJWaXJnbyIpCmxpYnJhIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiTGlicmEiKQpzY29ycGlvIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiU2NvcnBpbyIpCnNhZ2l0dGFyaXVzIDwtIHNxMV9jb21wICU+JSAKICBzZWxlY3QoUywgTzpOKSAlPiUKICBmaWx0ZXIoUyA9PSAiU2FnaXR0YXJpdXMiKQpjYXByaWNvcm4gPC0gc3ExX2NvbXAgJT4lIAogIHNlbGVjdChTLCBPOk4pICU+JQogIGZpbHRlcihTID09ICJDYXByaWNvcm4iKQpgYGAKCkx1Y2tpbHksIG15IGRhdGEgd2FzIGluY3JlZGlibHkgY2xlYW4sIHNvIGl0IHdhcyBlYXN5IHRvIHdvcmsgd2l0aC4gSSd2ZSBzZXBlcmF0ZWQgdGhlIHNpZ25zLCBpbmNsdWRpbmcgdGhlaXIgc2NvcmVzIGZvciB0aGUgbW9kaWZpZWQgQmlnIDUgc3VydmV5IEkgY3JlYXRlZC4gCgpgYGB7cn0KUXMKYGBgCgpFYWNoIHF1ZXN0aW9uIHdhcyBzY29yZWQgb24gYSBMaWtlcnQgU2NhbGUgb2YgMSB0byA1LCB3aXRoIG9uZSBiZWluZyBTdHJvbmdseSBEaXNhZ3JlZSBhbmQgZml2ZSBiZWluZyBTdHJvbmdseSBBZ3JlZS4gVGhlc2UgcXVlc3Rpb25zIHdlcmUgY3JlYXRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgc3VydmV5LiAKCmBgYHtyfQpzcTFfY29tcCAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gUywgZmlsbCA9IFMpKSArCiAgZ2VvbV9iYXIoKSArCiAgdGhlbWUoCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwKSwgCiAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X2JsYW5rKCksIAogICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLCAKICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpICsKICBzY2FsZV9maWxsX2JyZXdlcihwYWxldHRlPSJQYWlyZWQiKSAKYGBgCgpJIHdhbnRlZCBzb21lIHZpc3VhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIG9mIHJlc3BvbnNlcyBJIGhhZCBieSBzaWduLiAKClRoZSBmb2xsb3dpbmcgZ3JhcGhzIHNob3cgaG93IGVhY2ggc2lnbiByZXNwb25kZWQgdG8gdGhlIHF1ZXN0aW9ucywgcHJlc2VudGVkIGJ5IHRyYWl0LiAKCmBgYHtyfQphcXVhcml1cyAlPiUgCiAgZnVsbF9qb2luKGFyaWVzKSAlPiUKICBmdWxsX2pvaW4oY2FuY2VyKSAlPiUKICBmdWxsX2pvaW4oY2Fwcmljb3JuKSAlPiUKICBmdWxsX2pvaW4oZ2VtaW5pKSAlPiUKICBmdWxsX2pvaW4obGVvKSAlPiUKICBmdWxsX2pvaW4obGlicmEpICU+JQogIGZ1bGxfam9pbihwaXNjZXMpICU+JQogIGZ1bGxfam9pbihzYWdpdHRhcml1cykgJT4lCiAgZnVsbF9qb2luKHNjb3JwaW8pICU+JQogIGZ1bGxfam9pbih0YXVydXMpICU+JQogIGZ1bGxfam9pbih2aXJnbykgJT4lCiAgZ2dwbG90KGFlcygKICAgIHggPSBTLCAKICAgIHkgPSBPLCAKICAgIGZpbGwgPSBTKSkgKwogIGdlb21fYm94cGxvdCgpICsKICBnZ3RpdGxlKCJPcGVubmVzcyIpICsKICB4bGFiKCJTaWduIikgKyB5bGFiKCJDbG9zZWRuZXNzIC0+IE9wZW5uZXNzIikgKwp0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwKSwgCiAgICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dCgiU2lnbiIpLAogICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwKSwgCiAgICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikgKwogIHNjYWxlX2ZpbGxfYnJld2VyKHBhbGV0dGU9IlBhaXJlZCIpCmBgYAoKS2VlcGluZyB0aGlzIGluIG9yZGVyIG9mIE9DRUFOLCBoZXJlJ3MgdGhlIHJlc3BvbnNlcyB0byBPcGVubmVzcy4gCgpgYGB7cn0KYXF1YXJpdXMgJT4lIAogIGZ1bGxfam9pbihhcmllcykgJT4lCiAgZnVsbF9qb2luKGNhbmNlcikgJT4lCiAgZnVsbF9qb2luKGNhcHJpY29ybikgJT4lCiAgZnVsbF9qb2luKGdlbWluaSkgJT4lCiAgZnVsbF9qb2luKGxlbykgJT4lCiAgZnVsbF9qb2luKGxpYnJhKSAlPiUKICBmdWxsX2pvaW4ocGlzY2VzKSAlPiUKICBmdWxsX2pvaW4oc2FnaXR0YXJpdXMpICU+JQogIGZ1bGxfam9pbihzY29ycGlvKSAlPiUKICBmdWxsX2pvaW4odGF1cnVzKSAlPiUKICBmdWxsX2pvaW4odmlyZ28pICU+JQogIGdncGxvdChhZXMoCiAgICB4ID0gUywgCiAgICB5ID0gQywgCiAgICBmaWxsID0gUykpICsKICBnZW9tX2JveHBsb3QoKSArCiAgZ2d0aXRsZSgiQ29uc2NpZW50aW91c25lc3MiKSArCiAgeGxhYigiU2lnbiIpICsgeWxhYigiTGFjayBvZiBDb25zY2llbnRpb3VzbmVzcyAtPiBDb25zY2llbnRpb3VzbmVzcyIpICsKdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCksIAogICAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoIlNpZ24iKSwKICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCksIAogICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpICsKICBzY2FsZV9maWxsX2JyZXdlcihwYWxldHRlPSJQYWlyZWQiKQpgYGAKCkJveHBsb3RzIGFsbG93IGFjY3VyYXRlIHZpc3VhbGl6YXRpb24gb2YgZXh0cmVtZSBvdXRsaWVycywgbGlrZSB3aGF0ZXZlciBUYXVydXMgaGVyZSBoYXMgbm8gc2VsZiBjb250cm9sLiAKCmBgYHtyfQphcXVhcml1cyAlPiUgCiAgZnVsbF9qb2luKGFyaWVzKSAlPiUKICBmdWxsX2pvaW4oY2FuY2VyKSAlPiUKICBmdWxsX2pvaW4oY2Fwcmljb3JuKSAlPiUKICBmdWxsX2pvaW4oZ2VtaW5pKSAlPiUKICBmdWxsX2pvaW4obGVvKSAlPiUKICBmdWxsX2pvaW4obGlicmEpICU+JQogIGZ1bGxfam9pbihwaXNjZXMpICU+JQogIGZ1bGxfam9pbihzYWdpdHRhcml1cykgJT4lCiAgZnVsbF9qb2luKHNjb3JwaW8pICU+JQogIGZ1bGxfam9pbih0YXVydXMpICU+JQogIGZ1bGxfam9pbih2aXJnbykgJT4lCiAgZ2dwbG90KGFlcygKICAgIHggPSBTLCAKICAgIHkgPSBFLCAKICAgIGZpbGwgPSBTKSkgKwogIGdlb21fYm94cGxvdCgpICsKICBnZ3RpdGxlKCJFeHRyb3ZlcnNpb24iKSArCiAgeGxhYigiU2lnbiIpICsgeWxhYigiSW50cm92ZXJzaW9uIC0+IEV4dHJvdmVyc2lvbiIpICsKdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCksIAogICAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoIlNpZ24iKSwKICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCksIAogICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpICsKICBzY2FsZV9maWxsX2JyZXdlcihwYWxldHRlPSJQYWlyZWQiKQpgYGAKClNvbWV3aGF0IHN1cnByaXNpbmdseSwgYWxsIHRoZSBzaWducyBzaG93ZWQgaGlnaCBzY29yZXMgZm9yIGV4dHJvdmVyc2lvbi4gQ291bGQgYmUgdGhlIGFnZSBzcHJlYWQgb2YgdGhlIGRlbW9ncmFwaGljLiAKCmBgYHtyfQphcXVhcml1cyAlPiUgCiAgZnVsbF9qb2luKGFyaWVzKSAlPiUKICBmdWxsX2pvaW4oY2FuY2VyKSAlPiUKICBmdWxsX2pvaW4oY2Fwcmljb3JuKSAlPiUKICBmdWxsX2pvaW4oZ2VtaW5pKSAlPiUKICBmdWxsX2pvaW4obGVvKSAlPiUKICBmdWxsX2pvaW4obGlicmEpICU+JQogIGZ1bGxfam9pbihwaXNjZXMpICU+JQogIGZ1bGxfam9pbihzYWdpdHRhcml1cykgJT4lCiAgZnVsbF9qb2luKHNjb3JwaW8pICU+JQogIGZ1bGxfam9pbih0YXVydXMpICU+JQogIGZ1bGxfam9pbih2aXJnbykgJT4lCiAgZ2dwbG90KGFlcygKICAgIHggPSBTLCAKICAgIHkgPSBBLCAKICAgIGZpbGwgPSBTKSkgKwogIGdlb21fYm94cGxvdCgpICsKICBnZ3RpdGxlKCJBZ3JlZWFibGVuZXNzIikgKwogIHhsYWIoIlNpZ24iKSArIHlsYWIoIkRpc2FncmVlYWJsZW5lc3MgLT4gQWdyZWVhYmxlbmVzcyIpICsKdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCksIAogICAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoIlNpZ24iKSwKICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCksIAogICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpICsKICBzY2FsZV9maWxsX2JyZXdlcihwYWxldHRlPSJQYWlyZWQiKQpgYGAKCkRpc2FncmVlYWJsZW5lc3MgaXMgYSBzb21ld2hhdCBkaWZmaWN1bHQgY29uY2VwdCB0byBhY2N1cmF0ZWx5IHNlbGYtcmVwb3J0LCBzbyBpdCdzIHVuc3VycHJpc2luZyB0aGF0IGV2ZXJ5IHNpZ24gc2NvcmVkIG9uIHRoZSBoaWdoZXIgZW5kLiBFeGNlcHQgdGhlIG9ubHkgR2VtaW5pIHdobyB3YXMgcGVyaGFwcyB0b28gdHJ1dGhmdWwuIAoKYGBge3J9CmFxdWFyaXVzICU+JSAKICBmdWxsX2pvaW4oYXJpZXMpICU+JQogIGZ1bGxfam9pbihjYW5jZXIpICU+JQogIGZ1bGxfam9pbihjYXByaWNvcm4pICU+JQogIGZ1bGxfam9pbihnZW1pbmkpICU+JQogIGZ1bGxfam9pbihsZW8pICU+JQogIGZ1bGxfam9pbihsaWJyYSkgJT4lCiAgZnVsbF9qb2luKHBpc2NlcykgJT4lCiAgZnVsbF9qb2luKHNhZ2l0dGFyaXVzKSAlPiUKICBmdWxsX2pvaW4oc2NvcnBpbykgJT4lCiAgZnVsbF9qb2luKHRhdXJ1cykgJT4lCiAgZnVsbF9qb2luKHZpcmdvKSAlPiUKICBnZ3Bsb3QoYWVzKAogICAgeCA9IFMsIAogICAgeSA9IE4sIAogICAgZmlsbCA9IFMpKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGdndGl0bGUoIk5ldXJvdGljaXNtIikgKwogIHhsYWIoIlNpZ24iKSArIHlsYWIoIkVtb3Rpb25hbCBTdGFiaWxpdHkgLT4gTmV1cm90aWNpc20iKSArCnRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gOTApLCAKICAgICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KCJTaWduIiksCiAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gOTApLCAKICAgICAgbGVnZW5kLnRpdGxlID0gZWxlbWVudF9ibGFuaygpLCAKICAgICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKSArCiAgc2NhbGVfZmlsbF9icmV3ZXIocGFsZXR0ZT0iUGFpcmVkIikKYGBgCgpBYnNvbHV0ZWx5IG5vIG9uZSBzaG91bGQgYmUgc3VycHJpc2VkIGJ5IHRoZSBzY29yZSBzcHJlYWQgcmVnYXJkaW5nIG5ldXJvdGljaXNtLiBDYW5jZXJzIGFyZSBub3RvcmlvdXMgZm9yIGJlaW5nIGh1Z2UgY3J5IGJhYmllcyBhbmQgQXJpZXMgbGllLiAK