/*==============
    GENERAL
=============*/

body {
  color: white;
  font-family: 'Raleway', sans-serif;
}

html,
body {
  min-height: 100vh;
}

/*==============
    CLASSES
=============*/

.bg-modal {
  background: rgba(0, 0, 0, 0.7);
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 6;
}

.break {
  width: 100%;
}

.overflow-x-hide {
  overflow-x: hidden;
}

.overflow-hide,
.big,
.medium,
.small {
  overflow: hidden;
}

/*==============
    HEADER
=============*/

header {
  z-index: 5;
}

header a {
  color: #3E4F89;
}

header .top-nav {
  background: white;
  position: fixed;
  transition: all ease-out 0.5s;
  z-index: 6;
  margin: 0;
  padding: 0.5em;
  width: 100%;
}

header .menu-hidden {
  -webkit-transform: translateY(-200px);
          transform: translateY(-200px);
}

header .menu-visible {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

#modal {
  background: white;
  margin: auto;
  width: 70%;
}

#modal-menu {
  position: fixed;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  z-index: 6;
  padding-top: 30px;
}

#modal-menu.off {
  display: none;
}

#modal-menu .logo {
  width: 100%;
  margin: auto;
  display: block;
  max-width: 150px;
}

#modal-menu .menu {
  margin: auto;
}

#modal-menu .nav-link {
  text-align: center;
  color: #97A4CB;
  border-bottom: 1px solid #97A4CB;
  padding: 1em 0;
}

#modal-menu .nav-link.active,
#modal-menu .nav-link:hover {
  color: white;
}

#modal-menu .nav-link:nth-last-child(1) {
  border-bottom: none;
}

.nav-link {
  font-weight: bold;
  transition: all 0.3s;
}

.nav-link:hover {
  color: #97A4CB;
}

.nav-link.active {
  color: #97A4CB;
}

.top-nav a {
  text-transform: uppercase;
}

/*==============
    MAIN
=============*/

#about,
#skill {
  display: none;
}

#about.visible,
#skill.visible {
  display: block;
}

button#left {
  left: 5%;
}

button#right {
  right: 5%;
}

button.menu-btn {
  color: white;
  position: fixed;
  top: 2%;
  right: 5%;
  background: transparent;
  border-style: none;
  z-index: 10;
  font-size: 1.5em;
  color: #3E4F89;
}

button.menu-btn:hover {
  cursor: pointer;
}

button.direction {
  position: absolute;
  top: 50%;
  padding: 1em;
  border-radius: 50%;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 45px;
  border-style: none;
  z-index: 5;
  background: #ccc;
  opacity: 0.5;
  transition: all 0.3s;
}

button.direction:hover {
  background: #ccc;
  opacity: 1;
}

button.direction .fa {
  line-height: 0.8;
}

button.direction i {
  color: white;
}

#wrapper {
  background: black;
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
  color: white;
}

/*==============
    SKILLS
=============*/

.contact-links {
  list-style: none;
}

.contact-links a {
  color: white;
}

.contact-links a:hover {
  text-decoration: none;
  color: #97A4CB;
}

.skill-bar {
  border: 5px solid white;
  width: 100px;
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  margin: auto;
}

.skill-bar .tiny {
  font-size: 12px;
  display: inline-block;
  margin-left: -8px;
}

.tiny {
  font-size: 12px;
  display: inline-block;
  margin-left: -8px;
}

.progressbar-text {
  font-size: 2.2rem;
  font-weight: 500;
}

.progress-container {
  width: 150px;
  height: 150px;
  margin: auto;
}

/*==============
    ABOUT
=============*/

.border-pic {
  border: solid white 5px;
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
  margin: auto;
  max-width: 300px;
}

/*==============
    CONTACT
=============*/

#contact a {
  background: white;
  color: #5169A9;
  transition: all 0.5s;
  padding: 8px;
  font-size: 0.8em;
  text-transform: capitalize;
  width: 100%;
  max-width: 180px;
  display: inline-block;
  border: 4px solid white;
}

#contact a:hover {
  color: white;
  background: transparent;
  text-decoration: none;
}

#contact .btn {
  font-size: 1.2em;
  color: white;
  background-color: transparent;
  border: 3px solid white;
  max-width: 200px;
  margin: auto;
  text-transform: capitalize;
  transition: all 0.3s;
  border-radius: 22px;
  display: block;
  margin-top: 3em;
}

#contact .btn:hover {
  background-color: white;
  color: #5169A9;
}

#contact .contact-group {
  margin: 1.3em auto;
  text-align: center;
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#contact .fa {
  font-size: 1.5em;
  padding: 0 5px;
}

#contact .link-left {
  border-radius: 25px 0 0 25px;
}

#contact .link-mid {
  border-radius: 0;
}

#contact .link-right {
  border-radius: 0 25px 25px 0;
}

#contact .summary {
  margin: 2em auto;
  margin-top: 0;
}

/*==============
    HOME
=============*/

.big,
.medium,
.small {
  border-radius: 50%;
  position: absolute;
}

.big {
  background: rgba(255, 255, 255, 0.7);
  bottom: 0;
  left: 200px;
  max-height: 450px;
  max-width: 450px;
  width: 100%;
  height: 100%;
  z-index: 3;
  transition: all 0.3s;
}

.btn-container button,
.btn-container a {
  border-radius: 25px;
  text-transform: capitalize;
  padding: 15px 0;
  border: 4px solid white;
  background: transparent;
  font-weight: bold;
  font-size: 21px;
  transition: all 0.3s;
}

.btn-container button:focus,
.btn-container button:active,
.btn-container a:focus,
.btn-container a:active {
  color: white;
  background: transparent;
}

.btn-container button:hover,
.btn-container a:hover {
  background: white;
  border-color: white;
  color: #97A4CB;
}

.btn-container a.left {
  border-radius: 25px 0 0 25px;
}

.btn-container a.right {
  border-radius: 0 25px 25px 0;
}

#contain {
  background: #3E4F89;
  position: relative;
  width: 100%;
  color: white;
  min-height: 100%;
}

.container.page-content {
  padding-top: 90px;
  padding-bottom: 80px;
}

.indent {
  text-indent: 30px;
}

.medium {
  top: 30px;
  left: 120px;
  z-index: 4;
  max-width: 400px;
  width: 90%;
  box-shadow: 2px 4px 12px rgba(0, 0, 0, 0.5);
  transition: all 0.3s;
}

.mobile-pic {
  min-height: 200px;
  margin: auto;
}

.mobile-pic .medium {
  width: 70%;
  position: static;
  margin: auto;
}

.slider {
  height: 100%;
  width: 300%;
  transition: all ease-out 0.5s;
  background: #3E4F89;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.slide {
  width: 100%;
  height: initial;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 900px;
  visibility: hidden;
}

.slide h2 {
  text-transform: capitalize;
}

.slide.visible {
  visibility: visible;
}

.small {
  top: 270px;
  z-index: 3;
  max-width: 300px;
  width: 65%;
  transition: all 0.3s;
}

.pagination {
  height: 20px;
  left: 50%;
  transition: all 0.3s;
  position: absolute;
  text-align: center;
  z-index: 5;
}

.pagination-button.active {
  background: #3E4F89;
}

.pagination-button {
  height: 20px;
  width: 20px;
  background-color: transparent;
  border-radius: 50%;
  border: 2px solid #3E4F89;
  display: inline-block;
  margin: 0 3px;
  transition: all 0.3s;
}

.pagination-button:hover {
  cursor: pointer;
  border-color: #97A4CB;
}

.project-title h4 {
  text-align: center;
}

.project-title a {
  color: white;
}

.project-title a:hover,
.project-title a:active,
.project-title a:focus {
  text-decoration: none;
}

.project-title a.active {
  border-bottom: 1px solid white;
}

.projects {
  display: none;
}

.projects.active {
  display: block;
}

/*==============
    FOOTER
=============*/

footer {
  position: absolute;
  bottom: 0;
  background: white;
  color: #3E4F89;
}

footer a {
  color: #3E4F89;
  font-size: 22px;
}

footer a:hover {
  color: #97A4CB;
}

/*==============
    RESPONSIVE
=============*/

@media (max-width: 992px) {
  .center-md {
    margin: inherit;
  }
}

@media (max-width: 768px) {
  .center-md {
    margin: 0 auto;
  }
}

@media (max-width: 576px) {
  .center-md {
    margin: 0 auto;
  }

  .slide-mobile-padding {
    padding: 0 1em;
  }

  header nav.navbar {
    padding: 0.5em 0 0.5em 2.5em;
  }

  #contact .contact-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  #contact .contact-group a {
    border-radius: 0;
    max-width: 300px;
    margin: 0 auto;
  }
}

/*==============
    ANIMATION
=============*/

.social-section {
  min-width: 90px;
  width: 100%;
  max-width: 400px;
}

.slide-title {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  -webkit-animation-duration: 0.25s;
          animation-duration: 0.25s;
}

.slide-date,
.slide-summary,
.slide-facts {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  -webkit-animation-duration: 0.25s;
          animation-duration: 0.25s;
}

.btn-container,
.big,
.medium,
.small {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.smallHover {
  -webkit-animation: hovering infinite ease 9s;
          animation: hovering infinite ease 9s;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes hovering {
  from {

  }

  50% {
    -webkit-transform: translateY(-25px);
            transform: translateY(-25px);
  }

  to {

  }
}

@keyframes hovering {
  from {

  }

  50% {
    -webkit-transform: translateY(-25px);
            transform: translateY(-25px);
  }

  to {

  }
}

.imgList {
  padding: 0;
  margin: 0;
}

.contact-links a {
  font-size: 28px;
  transition: all 0.3s;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#about-title,
#frontend {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

#bio,
#backend {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

#experience {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

div.web-skills {
  margin: 2em 0;
}

.slide:nth-of-type(even) .big {
  /*background: #192b66;*/
  background: #09174C;
}

.slide:nth-of-type(odd) .big {
  background: #192b66;
}

#wrapper {
  background: #3E4F89;
}

.tiny {
  font-size: 17px;
  margin-right: -8px;
}

button.direction {
  z-index: 4;
}

#pagination-container {
  min-height: 20px;
}

@media all and (max-width: 578px) {
  .btn-container a.left {
    border-radius: 25px;
  }

  .btn-container {
    padding: 15px 0;
  }

  .btn-container a.right {
    border-radius: 25px;
  }
}

.emerge {
  opacity: 0;
}

@-webkit-keyframes appear {
  0% {
    visibility: visible;
  }

  100% {
    opacity: 1;
  }
}

@keyframes appear {
  0% {
    visibility: visible;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }

  100% {
    opacity: 1;
  }
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }

  100% {
    opacity: 1;
  }
}

.emerge[data-emergence=visible] {
  -webkit-animation: appear 0.5s forwards;
          animation: appear 0.5s forwards;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9zdHlsZS9zdHlsZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3N0eWxlL3ZhcmlhYmxlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc3R5bGUvZ2VuZXJhbC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3N0eWxlL2hlYWRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3N0eWxlL21haW4uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zdHlsZS9ob21lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc3R5bGUvZm9vdGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc3R5bGUvcmVzcG9uc2l2ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3N0eWxlL2FuaW1hdGlvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3ZhcmlhYmxlJztcbkBpbXBvcnQgJ2dlbmVyYWwnO1xuQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ21haW4nO1xuQGltcG9ydCAnaG9tZSc7XG5AaW1wb3J0ICdmb290ZXInO1xuQGltcG9ydCAncmVzcG9uc2l2ZSc7XG5AaW1wb3J0ICdhbmltYXRpb24nO1xuXG4uZW1lcmdle1xuLy8gICAgdmlzaWJpbGl0eTpoaWRkZW47XG4vLyAgICB0cmFuc2l0aW9uOmFsbCAwLjNzO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbkBrZXlmcmFtZXMgYXBwZWFye1xuICAgIDAle3Zpc2liaWxpdHk6dmlzaWJsZTt9XG4gICAgMTAwJXtvcGFjaXR5OjE7fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgIFxuICB9XG5cbiAgICAxMDAle1xuICAgICAgICAgb3BhY2l0eToxO1xuICAgIH1cbn1cblxuLmVtZXJnZVtkYXRhLWVtZXJnZW5jZT12aXNpYmxlXSB7XG4gIGFuaW1hdGlvbjogYXBwZWFyIDAuNXMgZm9yd2FyZHM7XG59IiwiJHJlZDogI2ZmNGQ0ZDtcbiRncmVlbjogIzMzY2MzMztcbiRibHVlOiAjMzM5OWZmO1xuJGwtZ3JleTogI2NjYztcbiRwdXJwOiBwdXJwbGU7XG5cblxuJHdoaXRlOiB3aGl0ZTtcbiRibHVlLTE6Izk3QTRDQiA7XG4kYmx1ZS0yOiM1MTY5QTkgO1xuJGJsdWUtMzojM0U0Rjg5O1xuJGdyZXktMTojZWVlO1xuJGdyZXktMjogIzYwNjA2MDtcblxuJG9uZTogd2hpdGU7XG4kdHdvOiM5N0E0Q0IgO1xuJHRocmVlOiAjNTE2OUE5IDtcbiRmb3VyOiAgIzNFNEY4OTtcbiRmaXZlOiAjZWVlO1xuJHNpeDogIzYwNjA2MDtcbiIsIi8qPT09PT09PT09PT09PT1cbiAgICBHRU5FUkFMXG49PT09PT09PT09PT09Ki9cblxuYm9keXtcbiAgICBjb2xvcjokb25lO1xuICAgIGZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7XG59XG5cbmh0bWwsIGJvZHl7XG4gICAgbWluLWhlaWdodDoxMDB2aDtcbn1cblxuXG4vKj09PT09PT09PT09PT09XG4gICAgQ0xBU1NFU1xuPT09PT09PT09PT09PSovXG5cbi5iZy1tb2RhbHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICB6LWluZGV4OjY7XG5cbn1cblxuLmJyZWFre1xuICAgIHdpZHRoOjEwMCU7XG59XG5cbi5vdmVyZmxvdy14LWhpZGV7XG4gICAgb3ZlcmZsb3cteDpoaWRkZW47XG59XG5cblxuXG4ub3ZlcmZsb3ctaGlkZXtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cblxuIiwiLyo9PT09PT09PT09PT09PVxuICAgIEhFQURFUlxuPT09PT09PT09PT09PSovXG5cblxuaGVhZGVye1xuICAgIFxuICAgIHotaW5kZXg6NTtcblxuICAgIGF7XG4gICAgICAgIGNvbG9yOiRmb3VyO1xuICAgIH1cbiAgICBcbiAgICAudG9wLW5hdntcbiAgICAgICAgYmFja2dyb3VuZDokb25lO1xuICAgICAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICAgICAgdHJhbnNpdGlvbjphbGwgZWFzZS1vdXQgMC41cztcbiAgICAgICAgei1pbmRleDo2O1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgcGFkZGluZzowLjVlbTtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgXG4gICAgLm1lbnUtaGlkZGVue1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDBweCk7XG4gICAgfVxuICAgIFxuICAgIC5tZW51LXZpc2libGV7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG59XG5cbiNtb2RhbHtcbiAgICBiYWNrZ3JvdW5kOiRvbmU7XG4gICAgbWFyZ2luOmF1dG87XG4gICAgd2lkdGg6NzAlO1xufVxuXG5cblxuXG4jbW9kYWwtbWVudXtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZShibGFjaywwLjIpO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgei1pbmRleDo2O1xuICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgJi5vZmZ7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmxpc3R7XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAubG9nb3tcbiAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXJnaW46YXV0bztcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOjE1MHB4O1xuICAgIH1cbiAgICBcbiAgICAubWVudXtcbiAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgfVxuICAgIFxuICAgIC5uYXYtbGlua3tcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGNvbG9yOiR0d287XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRibHVlLTE7XG4gICAgICAgIHBhZGRpbmc6MWVtIDA7XG4gICAgICAgIFxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6JG9uZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKXtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuXG5cbi5uYXYtbGlua3tcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRyYW5zaXRpb246YWxsIDAuM3M7XG4gICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6JHR3bztcbiAgICB9XG4gICAgJi5hY3RpdmV7XG4gICAgICAgIGNvbG9yOiR0d287XG4gICAgfVxufVxuXG5cblxuLnRvcC1uYXYge1xuICAgIGF7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuIiwiXG5cbi8qPT09PT09PT09PT09PT1cbiAgICBNQUlOXG49PT09PT09PT09PT09Ki9cblxuI2Fib3V0LFxuI3NraWxse1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuXG5cbiNhYm91dC52aXNpYmxlLFxuI3NraWxsLnZpc2libGV7XG4gICAgZGlzcGxheTpibG9jaztcbn1cblxuXG5cbmJ1dHRvbntcbiAgICAmI2xlZnR7XG4gICAgICAgbGVmdDo1JTtcbiAgICAgfVxuXG4gICAgICYjcmlnaHR7XG4gICAgICAgICByaWdodDo1JTtcbiAgICAgIH1cblxuICAgICYubWVudS1idG57XG4gICAgICBjb2xvcjokb25lO1xuICAgICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgICB0b3A6MiU7XG4gICAgICByaWdodDo1JTtcbiAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6bm9uZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgZm9udC1zaXplOjEuNWVtO1xuICAgICAgY29sb3I6IzNFNEY4OTtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIFxuXG4gICAgICAmLmRpcmVjdGlvbntcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHRvcDo1MCU7XG4gICAgICAgIHBhZGRpbmc6MWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICAgICAgaGVpZ2h0OjQ1cHg7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgICAgICB3aWR0aDo0NXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6bm9uZTtcbiAgICAgICAgei1pbmRleDo1O1xuICAgICAgICBiYWNrZ3JvdW5kOiRsLWdyZXk7XG4gICAgICAgIG9wYWNpdHk6MC41O1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIGJhY2tncm91bmQ6JGwtZ3JleTtcbiAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgIH1cblxuICAgICAgICAuZmF7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICB9XG5cbiAgICAgICAgaXtcbiAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxufVxuXG5cbiN3cmFwcGVye1xuICBiYWNrZ3JvdW5kOmJsYWNrO1xuICBtaW4taGVpZ2h0OjEwMHZoO1xuICBvdmVyZmxvdy14OmhpZGRlbjtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGNvbG9yOiRvbmU7XG5cbn1cblxuLyo9PT09PT09PT09PT09PVxuICAgIFNLSUxMU1xuPT09PT09PT09PT09PSovXG5cbi5jb250YWN0LWxpbmtze1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBhe1xuICAgICAgICBjb2xvcjokb25lO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICAgICBjb2xvcjokdHdvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLnNraWxsLWJhcntcbiAgICBib3JkZXI6NXB4IHNvbGlkICRvbmU7XG4gICAgd2lkdGg6MTAwcHg7XG4gICAgaGVpZ2h0OjEwMHB4O1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6NTAlO1xuICAgIG1hcmdpbjphdXRvO1xuXG4gICAgLnRpbnl7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICB9XG59XG5cbi50aW55e1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XG59XG5cbi5wcm9ncmVzc2Jhci10ZXh0e1xuICAgIGZvbnQtc2l6ZToyLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xufVxuXG4ucHJvZ3Jlc3MtY29udGFpbmVye1xuICAgIHdpZHRoOjE1MHB4O1xuICAgIGhlaWdodDoxNTBweDtcbiAgICBtYXJnaW46YXV0bztcbn1cblxuXG5cbi8qPT09PT09PT09PT09PT1cbiAgICBBQk9VVFxuPT09PT09PT09PT09PSovXG5cbi5ib3JkZXItcGlje1xuICAgIGJvcmRlcjpzb2xpZCAkb25lIDVweDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6NTAlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBtYXJnaW46YXV0bztcbiAgICBtYXgtd2lkdGg6MzAwcHg7XG59XG5cblxuLyo9PT09PT09PT09PT09PVxuICAgIENPTlRBQ1Rcbj09PT09PT09PT09PT0qL1xuXG4jY29udGFjdHtcbiAgICBcbiAgICBhe1xuICAgICAgICBiYWNrZ3JvdW5kOndoaXRlO1xuICAgICAgICBjb2xvcjokYmx1ZS0yO1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjVzO1xuICAgICAgICBwYWRkaW5nOjhweDtcbiAgICAgICAgZm9udC1zaXplOjAuOGVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6MTgwcHg7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG57XG4gICAgICAgIGZvbnQtc2l6ZToxLjJlbTtcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlO1xuICAgICAgICBtYXgtd2lkdGg6MjAwcHg7XG4gICAgICAgIG1hcmdpbjphdXRvO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcztcbiAgICAgICAgYm9yZGVyLXJhZGl1czoyMnB4O1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOjNlbTtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgICAgICAgICBjb2xvcjokdGhyZWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcbiAgICAuY29udGFjdC1ncm91cHtcbiAgICAgICAgbWFyZ2luOjEuM2VtIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5mYXtcbiAgICAgICAgZm9udC1zaXplOjEuNWVtO1xuICAgICAgICBwYWRkaW5nOjAgNXB4O1xuICAgIH1cbiAgICBcbiAgICAubGluay1sZWZ0e1xuICAgICAgICBib3JkZXItcmFkaXVzOjI1cHggMCAwIDI1cHg7XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAubGluay1taWR7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICB9XG4gICAgXG4gICAgLmxpbmstcmlnaHR7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MCAyNXB4IDI1cHggMDtcbiAgICB9XG4gICAgXG4gICAgLnN1bW1hcnl7XG4gICAgICAgIG1hcmdpbjogMmVtIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICB9XG59XG5cbiIsIi8qPT09PT09PT09PT09PT1cbiAgICBIT01FXG49PT09PT09PT09PT09Ki9cbi5iaWcsXG4ubWVkaXVtLFxuLnNtYWxse1xuICAgIGJvcmRlci1yYWRpdXM6NTAlO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIEBleHRlbmQgLm92ZXJmbG93LWhpZGU7XG59XG5cblxuXG4uYmlne1xuICAgIGJhY2tncm91bmQ6cmdiYSgkb25lLDAuNyk7XG4gICAgYm90dG9tOjA7XG4gICAgbGVmdDoyMDBweDtcbiAgICBtYXgtaGVpZ2h0OjQ1MHB4O1xuICAgIG1heC13aWR0aDo0NTBweDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHotaW5kZXg6MztcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzO1xufVxuXG4uYnRuLWNvbnRhaW5lcntcbiAgICBidXR0b24sYXtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzO1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZXtcbiAgICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JG9uZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjokb25lO1xuICAgICAgICAgICAgY29sb3I6JHR3bztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAgIGEubGVmdHtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6MjVweCAwIDAgMjVweDtcbiAgICAgfVxuICAgICAgYS5yaWdodHtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjVweCAyNXB4IDA7XG4gICAgIH1cbn1cblxuXG5cblxuI2NvbnRhaW57XG4gICAgYmFja2dyb3VuZDokZm91cjtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGNvbG9yOiRvbmU7XG4gICAgbWluLWhlaWdodDoxMDAlO1xufVxuXG4uY29udGFpbmVyLnBhZ2UtY29udGVudHtcbiAgICBwYWRkaW5nLXRvcDo5MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOjgwcHg7XG59XG5cblxuLmluZGVudHtcbiAgICB0ZXh0LWluZGVudDozMHB4O1xufVxuXG4ubWVkaXVte1xuXG4gICAgdG9wOjMwcHg7XG4gICAgbGVmdDoxMjBweDtcbiAgICB6LWluZGV4OjQ7XG4gICAgbWF4LXdpZHRoOjQwMHB4O1xuICAgIHdpZHRoOjkwJTtcbiAgICBib3gtc2hhZG93OjJweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgdHJhbnNpdGlvbjphbGwgMC4zcztcbn1cblxuLm1vYmlsZS1waWN7XG4gICAgbWluLWhlaWdodDoyMDBweDtcbiAgICBtYXJnaW46YXV0bztcbiAgICAubWVkaXVte1xuICAgICAgICB3aWR0aDo3MCU7XG4gICAgICAgIHBvc2l0aW9uOnN0YXRpYztcbiAgICAgICAgbWFyZ2luOmF1dG87XG5cbiAgICB9XG59XG5cblxuXG4uc2xpZGVye1xuICBoZWlnaHQ6MTAwJTtcbiAgd2lkdGg6MzAwJTtcbiAgdHJhbnNpdGlvbjphbGwgZWFzZS1vdXQgMC41cztcbiAgYmFja2dyb3VuZDokZm91cjtcbiAgZGlzcGxheTpmbGV4O1xuICAvLyBmbG9hdDogbGVmdDtcbiAgLy8gZGlzcGxheTppbmxpbmUtYmxvY2s7XG59XG5cbi5zbGlkZXtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OmluaXRpYWw7XG4gIGRpc3BsYXk6ZmxleDtcbiAgbWluLWhlaWdodDo5MDBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBcblxuICBoMntcbiAgICAgIHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7XG5cbiAgfVxufVxuXG5cblxuLnNsaWRlLnZpc2libGV7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuXG4uc21hbGx7XG5cbiAgICB0b3A6MjcwcHg7XG4gICAgei1pbmRleDozO1xuICAgIG1heC13aWR0aDozMDBweDtcbiAgICB3aWR0aDo2NSU7XG4gICAgdHJhbnNpdGlvbjphbGwgMC4zcztcbn1cblxuLnBhZ2luYXRpb257XG4gIGhlaWdodDoyMHB4O1xuICAvLyBtaW4td2lkdGg6MTAwcHg7XG4gIC8vIHdpZHRoOjEwMCU7XG4gIC8vIG1heC13aWR0aDozMDBweDtcbiAgbGVmdDo1MCU7XG5cbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgei1pbmRleDo1O1xufVxuXG4ucGFnaW5hdGlvbi1idXR0b24uYWN0aXZle1xuICBiYWNrZ3JvdW5kOiRmb3VyO1xufVxuXG4ucGFnaW5hdGlvbi1idXR0b257XG4gIGhlaWdodDoyMHB4O1xuICAvLyBtYXgtd2lkdGg6MTVweDtcbiAgd2lkdGg6MjBweDtcbiBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRmb3VyO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgbWFyZ2luOjAgM3B4O1xuICB0cmFuc2l0aW9uOmFsbCAwLjNzO1xuICAmOmhvdmVye1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjokdHdvO1xuICB9XG59XG5cblxuXG4ucHJvamVjdC10aXRsZXtcbiAgICBoNHtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgICB9XG5cbiAgICBhe1xuICAgICAgICBjb2xvcjokb25lO1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1c3tcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkb25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvamVjdHN7XG4gICAgZGlzcGxheTpub25lO1xuXG4gICAgJi5hY3RpdmV7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxufVxuXG5cbiIsIi8qPT09PT09PT09PT09PT1cbiAgICBGT09URVJcbj09PT09PT09PT09PT0qL1xuXG5mb290ZXJ7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgYm90dG9tOjA7XG4gICAgYmFja2dyb3VuZDokb25lO1xuICAgIGNvbG9yOiRmb3VyO1xuICAgIGF7XG4gICAgICAgIGNvbG9yOiRmb3VyO1xuICAgICAgICBmb250LXNpemU6MjJweDtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGNvbG9yOiR0d287XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qPT09PT09PT09PT09PT1cbiAgICBSRVNQT05TSVZFXG49PT09PT09PT09PT09Ki9cblxuXG5AbWVkaWEobWF4LXdpZHRoOjk5MnB4KXtcbiAgICAuY2VudGVyLW1ke1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgfVxuXG59XG5cblxuQG1lZGlhKG1heC13aWR0aDo3NjhweCl7XG4gLmNlbnRlci1tZHtcbiAgICAgbWFyZ2luOiAwIGF1dG87XG4gfVxuXG5cbn1cblxuXG5AbWVkaWEobWF4LXdpZHRoOjU3NnB4KXtcblxuICAgIC5jZW50ZXItbWR7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5zbGlkZS1tb2JpbGUtcGFkZGluZ3tcbiAgICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgfVxuXG4gICAgaGVhZGVyIG5hdi5uYXZiYXJ7XG4gICAgICAgIHBhZGRpbmc6MC41ZW0gMCAwLjVlbSAyLjVlbTtcbiAgICB9XG4gICAgXG4gICAgI2NvbnRhY3R7XG4gICAgICAgIC5jb250YWN0LWdyb3Vwe1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDozMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxufVxuIiwiLyo9PT09PT09PT09PT09PVxuICAgIEFOSU1BVElPTlxuPT09PT09PT09PT09PSovXG5cblxuXG5cblxuXG4uc29jaWFsLXNlY3Rpb257XG4gICAgbWluLXdpZHRoOjkwcHg7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBtYXgtd2lkdGg6NDAwcHg7XG59XG5cblxuXG5cblxuXG4uc2xpZGUtdGl0bGV7XG4gICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOjAuMjVzO1xufVxuXG4uc2xpZGUtZGF0ZSxcbi5zbGlkZS1zdW1tYXJ5LFxuLnNsaWRlLWZhY3Rze1xuICAgICBhbmltYXRpb24tZGVsYXk6IDAuNnM7XG4gICAgIGFuaW1hdGlvbi1kdXJhdGlvbjowLjI1cztcbn1cblxuLmJ0bi1jb250YWluZXIsXG4uYmlnLFxuLm1lZGl1bSxcbi5zbWFsbHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuOHM7XG5cbn1cblxuXG5cbi5zbWFsbEhvdmVye1xuICBhbmltYXRpb246IGhvdmVyaW5nIGluZmluaXRlIGVhc2UgOXM7XG4gIGFuaW1hdGlvbi1kZWxheToxLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO1xuXG59XG5cbkBrZXlmcmFtZXMgaG92ZXJpbmd7XG5cbiAgZnJvbXsgfVxuICA1MCV7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNXB4KTsgfVxuICB0b3t9XG5cbn1cblxuXG4uaW1nTGlzdHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG59XG5cbi5jb250YWN0LWxpbmtzIGF7XG4gICAgZm9udC1zaXplOjI4cHg7XG4gICAgdHJhbnNpdGlvbjphbGwgMC4zcztcbn1cblxuXG4uZmxleHtcbiAgICBkaXNwbGF5OmZsZXg7XG59XG5cblxuI2Fib3V0LXRpdGxlLFxuI2Zyb250ZW5ke1xuICAgIGFuaW1hdGlvbi1kZWxheTowLjNzO1xufVxuXG4jYmlvLFxuI2JhY2tlbmR7XG4gICAgYW5pbWF0aW9uLWRlbGF5OjAuOHM7XG5cbn1cblxuI2V4cGVyaWVuY2V7XG4gICAgYW5pbWF0aW9uLWRlbGF5OjEuMnM7XG59XG5cblxuXG5cblxuZGl2LndlYi1za2lsbHN7XG4gICAgbWFyZ2luOjJlbSAwO1xufVxuXG4uc2xpZGU6bnRoLW9mLXR5cGUoZXZlbikgLmJpZ3tcbiAgICAvKmJhY2tncm91bmQ6ICMxOTJiNjY7Ki9cbiAgICBiYWNrZ3JvdW5kOiAjMDkxNzRDO1xufVxuXG4uc2xpZGU6bnRoLW9mLXR5cGUob2RkKSAuYmlne1xuICAgIGJhY2tncm91bmQ6ICMxOTJiNjY7XG59XG5cblxuXG4jd3JhcHBlcntcbiAgICBiYWNrZ3JvdW5kOiMzRTRGODk7XG59XG5cbi50aW55e1xuICAgIGZvbnQtc2l6ZToxN3B4O1xuICAgIG1hcmdpbi1yaWdodDotOHB4O1xufVxuXG5cbmJ1dHRvbi5kaXJlY3Rpb257XG4gICAgei1pbmRleDo0O1xufVxuXG5cbiNwYWdpbmF0aW9uLWNvbnRhaW5lcntcbiAgICBtaW4taGVpZ2h0OjIwcHg7XG59XG5cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo1NzhweCl7XG5cbiAgICAuYnRuLWNvbnRhaW5lciBhLmxlZnR7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MjVweDtcblxuICAgIH1cblxuICAgIC5idG4tY29udGFpbmVye1xuICAgICAgICBwYWRkaW5nOjE1cHggMDtcbiAgICB9XG5cbiAgICAuYnRuLWNvbnRhaW5lciBhLnJpZ2h0e1xuICAgICAgICBib3JkZXItcmFkaXVzOjI1cHg7XG4gICAgfVxuXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFFQUE7O2VBRWU7QUFFZixBQUFBLElBQUksQ0FBQTtFQUNBLEtBQUssRURTSCxLQUFLO0VDUlAsV0FBVyxFQUFFLHFCQUFxQjtDQUNyQzs7QUFFRCxBQUFBLElBQUksRUFBRSxBQUFBLElBQUksQ0FBQTtFQUNOLFVBQVUsRUFBQyxLQUFLO0NBQ25COztBQUdEOztlQUVlO0FBRWYsQUFBQSxTQUFTLENBQUE7RUFDTCxVQUFVLEVBQUUsa0JBQWU7RUFDM0IsTUFBTSxFQUFDLElBQUk7RUFDWCxLQUFLLEVBQUMsSUFBSTtFQUNWLFFBQVEsRUFB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 */