@charset "UTF-8";
/*
Theme Name: Valencia
Author: Upperquad
Author URI: http://upperquad.com/
Description: Theme for the 826 Valencia website
Version: 1.0

License: No License
*/
/**
 * SASS Variables
 */
@font-face {
  font-family: 'Long Haired Freaky People';
  src: url("img/fonts/lhfp.otf"); }

@font-face {
  font-family: 'Lie To Me';
  src: url("img/fonts/lietome.otf"); }

/**
 * SASS Mixins
 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

q:before, q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/**
 * SASS Mixins for Grid
 */
section.accordion-list .accordion-list__list, .slide .slide__inner, .slide .slide__inner .card, .filter, footer, .footer__locations, .grid__inner, .grid__items, section.illustration-section, section.people-grid .people-grid__people, .quote, .rich-content__main-inner, .rich-content__lower, .rich-content__lower .content, .rich-content--hero .rich-content__main-content, .simple-content .simple-content__inner, .steps.internship-seasons, .steps__inner, .steps__list-inner, .step__inner, .two-col__inner, .calendar__nav, .calendar__events, main.contact .contact__info, main.contact .contact__info .contacts, .donate__form, .donate__why-inner, .donate__impact-levels, main.history .intro__content, main.history .intro__photos, main.history .stats__list, main.homepage .welcome, main.homepage .illustration--diver, main.homepage .getInvolved__heading, main.homepage .getInvolved__cards, main.homepage .classroom, main.homepage .programs .illustration--find-more, main.homepage .programs__cards, main.homepage .programs__cards-inner, main.homepage .studentVoices__carousel, main.homepage .newsletter .newsletter__heading, main.index .posts__inner, .owog__tree, main.programs .help .help__inner, main.staff .cofounders__inner, .student-writing__filter .writings__filter, main.volunteer .get-started__intro, main.volunteer .get-started__already, main.volunteer .we-need__description, main.volunteer .we-need__statistics, main.volunteer-application .application__iframe {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto;
  max-width: calc(100vw - (0px * 2)); }
  @media only screen and (min-width: 1441px) {
    section.accordion-list .accordion-list__list, .slide .slide__inner, .slide .slide__inner .card, .filter, footer, .footer__locations, .grid__inner, .grid__items, section.illustration-section, section.people-grid .people-grid__people, .quote, .rich-content__main-inner, .rich-content__lower, .rich-content__lower .content, .rich-content--hero .rich-content__main-content, .simple-content .simple-content__inner, .steps.internship-seasons, .steps__inner, .steps__list-inner, .step__inner, .two-col__inner, .calendar__nav, .calendar__events, main.contact .contact__info, main.contact .contact__info .contacts, .donate__form, .donate__why-inner, .donate__impact-levels, main.history .intro__content, main.history .intro__photos, main.history .stats__list, main.homepage .welcome, main.homepage .illustration--diver, main.homepage .getInvolved__heading, main.homepage .getInvolved__cards, main.homepage .classroom, main.homepage .programs .illustration--find-more, main.homepage .programs__cards, main.homepage .programs__cards-inner, main.homepage .studentVoices__carousel, main.homepage .newsletter .newsletter__heading, main.index .posts__inner, .owog__tree, main.programs .help .help__inner, main.staff .cofounders__inner, .student-writing__filter .writings__filter, main.volunteer .get-started__intro, main.volunteer .get-started__already, main.volunteer .we-need__description, main.volunteer .we-need__statistics, main.volunteer-application .application__iframe {
      max-width: 1462px;
      padding: 0 0px; } }

.slide .slide__inner .card, .footer__locations, .grid__items, .rich-content__lower .content, .rich-content--hero .rich-content__main-content, .steps__list-inner, .step__inner, main.contact .contact__info .contacts, main.history .intro__photos, main.homepage .programs__cards-inner {
  margin: -0.76389vw; }
  @media (min-width: 1463px) {
    .slide .slide__inner .card, .footer__locations, .grid__items, .rich-content__lower .content, .rich-content--hero .rich-content__main-content, .steps__list-inner, .step__inner, main.contact .contact__info .contacts, main.history .intro__photos, main.homepage .programs__cards-inner {
      margin: -11px; } }

main.homepage .welcome, main.volunteer .get-started__intro {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.slide .slide__inner, .slide .slide__inner .card, .grid__inner, .grid__items, section.illustration-section, .quote, .rich-content__lower, .rich-content__lower .content, .simple-content .simple-content__inner, .steps__inner, .calendar__nav, .calendar__events, main.homepage .newsletter .newsletter__heading, main.index .posts__inner, main.programs .help .help__inner, main.volunteer .get-started__already, main.volunteer .we-need__description, main.volunteer .we-need__statistics, main.volunteer-application .application__iframe {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

section.accordion-list .accordion-list__list-inner, .slide .slide__inner .card, .slide .slide__inner .card .card__inner, .filter__inner, .footer__linkSection, .footer__locations, .footer__location, .grid__title,
.grid__subtitle, .grid__items, .grid__item, section.people-grid .people-grid__people .person, .quote__inner, .rich-content__main-content, .rich-content__main-image, .rich-content__lower .content, .rich-content__lower .content .content__inner, .rich-content--foreground .rich-content__main-image, .rich-content--hero .rich-content__main-content, .rich-content--hero .rich-content__main-content .content, .rich-content--hero .rich-content__main-image, .simple-content .content, .steps.internship-seasons .steps__inner, .steps.internship-seasons .steps__list, .steps.internship-seasons .step__main-content, .steps__list, .step, .step__number, .step__main-content, .two-col__main, .two-col__secondary, .two-col.volunteer-tutor .two-col__main, section.whats-new.whats-new--home .slide .slide__inner .card, section.whats-new.whats-new--home .slide .slide__inner .card .card__inner, section.whats-new.whats-new--index .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card .card__inner, .calendar__nav-inner, .calendar__events-inner, main.contact .contact__info .contact__info-inner, main.contact .contact__info .contact__info-footer, main.contact .contact__info .contact-item, .donate__form-inner, .donate__why-reasons, .donate__why-other, .donate__impact-levels-inner, main.history .intro__text, main.history .intro__photos, main.history .intro__photo, main.homepage .welcome__image, main.homepage .welcome__content, main.homepage .getInvolved__card, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.homepage .programs__card, main.homepage .studentVoices__card, main.index .posts__list, main.owog .grid__inner, main.owog .grid__items, main.owog .grid__item, .owog__tree-card, .owog__store .rich-content__main .rich-content__main-content, .owog__store .rich-content__main .rich-content__main-image, main.staff .cofounder, main.volunteer .get-started__intro .get-started__headline, main.volunteer .get-started__intro .get-started__description, main.volunteer .get-started__featured .grid__item, main.volunteer .we-need__description .content, main.volunteer .we-need__statistics .stat, main.volunteer-application .application__iframe-inner {
  margin: 0.76389vw 0;
  padding: 0 0.76389vw; }
  @media (min-width: 1463px) {
    section.accordion-list .accordion-list__list-inner, .slide .slide__inner .card, .slide .slide__inner .card .card__inner, .filter__inner, .footer__linkSection, .footer__locations, .footer__location, .grid__title,
    .grid__subtitle, .grid__items, .grid__item, section.people-grid .people-grid__people .person, .quote__inner, .rich-content__main-content, .rich-content__main-image, .rich-content__lower .content, .rich-content__lower .content .content__inner, .rich-content--foreground .rich-content__main-image, .rich-content--hero .rich-content__main-content, .rich-content--hero .rich-content__main-content .content, .rich-content--hero .rich-content__main-image, .simple-content .content, .steps.internship-seasons .steps__inner, .steps.internship-seasons .steps__list, .steps.internship-seasons .step__main-content, .steps__list, .step, .step__number, .step__main-content, .two-col__main, .two-col__secondary, .two-col.volunteer-tutor .two-col__main, section.whats-new.whats-new--home .slide .slide__inner .card, section.whats-new.whats-new--home .slide .slide__inner .card .card__inner, section.whats-new.whats-new--index .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card .card__inner, .calendar__nav-inner, .calendar__events-inner, main.contact .contact__info .contact__info-inner, main.contact .contact__info .contact__info-footer, main.contact .contact__info .contact-item, .donate__form-inner, .donate__why-reasons, .donate__why-other, .donate__impact-levels-inner, main.history .intro__text, main.history .intro__photos, main.history .intro__photo, main.homepage .welcome__image, main.homepage .welcome__content, main.homepage .getInvolved__card, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.homepage .programs__card, main.homepage .studentVoices__card, main.index .posts__list, main.owog .grid__inner, main.owog .grid__items, main.owog .grid__item, .owog__tree-card, .owog__store .rich-content__main .rich-content__main-content, .owog__store .rich-content__main .rich-content__main-image, main.staff .cofounder, main.volunteer .get-started__intro .get-started__headline, main.volunteer .get-started__intro .get-started__description, main.volunteer .get-started__featured .grid__item, main.volunteer .we-need__description .content, main.volunteer .we-need__statistics .stat, main.volunteer-application .application__iframe-inner {
      margin: 11px 0;
      padding: 0 11px; } }
  @media only screen and (max-width: 768px) {
    section.accordion-list .accordion-list__list-inner, .slide .slide__inner .card, .slide .slide__inner .card .card__inner, .filter__inner, .footer__linkSection, .footer__locations, .footer__location, .grid__title,
    .grid__subtitle, .grid__items, .grid__item, section.people-grid .people-grid__people .person, .quote__inner, .rich-content__main-content, .rich-content__main-image, .rich-content__lower .content, .rich-content__lower .content .content__inner, .rich-content--foreground .rich-content__main-image, .rich-content--hero .rich-content__main-content, .rich-content--hero .rich-content__main-content .content, .rich-content--hero .rich-content__main-image, .simple-content .content, .steps.internship-seasons .steps__inner, .steps.internship-seasons .steps__list, .steps.internship-seasons .step__main-content, .steps__list, .step, .step__number, .step__main-content, .two-col__main, .two-col__secondary, .two-col.volunteer-tutor .two-col__main, section.whats-new.whats-new--home .slide .slide__inner .card, section.whats-new.whats-new--home .slide .slide__inner .card .card__inner, section.whats-new.whats-new--index .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card .card__inner, .calendar__nav-inner, .calendar__events-inner, main.contact .contact__info .contact__info-inner, main.contact .contact__info .contact__info-footer, main.contact .contact__info .contact-item, .donate__form-inner, .donate__why-reasons, .donate__why-other, .donate__impact-levels-inner, main.history .intro__text, main.history .intro__photos, main.history .intro__photo, main.homepage .welcome__image, main.homepage .welcome__content, main.homepage .getInvolved__card, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.homepage .programs__card, main.homepage .studentVoices__card, main.index .posts__list, main.owog .grid__inner, main.owog .grid__items, main.owog .grid__item, .owog__tree-card, .owog__store .rich-content__main .rich-content__main-content, .owog__store .rich-content__main .rich-content__main-image, main.staff .cofounder, main.volunteer .get-started__intro .get-started__headline, main.volunteer .get-started__intro .get-started__description, main.volunteer .get-started__featured .grid__item, main.volunteer .we-need__description .content, main.volunteer .we-need__statistics .stat, main.volunteer-application .application__iframe-inner {
      margin: 10px 0; } }

section.whats-new.whats-new--home .slide .slide__inner .card, main.owog .grid__inner, main.owog .grid__items {
  margin-left: 0%; }

.footer__linkSection, .footer__locations, section.people-grid .people-grid__people .person:nth-child(5n + 1), .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--right .rich-content__main-image, .rich-content--foreground .rich-content__main--left .rich-content__main-content, .rich-content--hero .rich-content__main-content, .two-col__main, .two-col__secondary, section.whats-new.whats-new--index .slide .slide__inner .card, main.contact .contact__info .contact__info-footer, .donate__form-inner, .donate__why-other, main.history .intro__photos, main.homepage .getInvolved__card, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.index .posts .filter__inner, .owog__tree-card {
  margin-left: 8.33333%; }

section.people-grid .people-grid__people .person, main.homepage .getInvolved__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

section.accordion-list .accordion-list__list-inner, .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--left .rich-content__main-content, .two-col.volunteer-tutor .two-col__main, main.contact .contact__info .contact__info-inner, .donate__why-reasons, main.history .intro__text, main.homepage .welcome__content, main.owog .grid__item, main.staff .cofounder, main.volunteer .get-started__intro .get-started__headline {
  margin-left: 16.66667%; }

.filter__inner, .footer__linkSection, .step__number, .donate__why-reasons, .donate__why-other, main.homepage .welcome__content, main.owog .grid__item, main.staff .cofounder, main.volunteer .get-started__intro .get-started__description {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.donate__impact-levels-inner, main.homepage .getInvolved__heading .heading, main.homepage .getInvolved__card:first-child, main.homepage .studentVoices__card {
  margin-left: 25%; }

.footer__location, .grid__item, .rich-content__main-content, .two-col__secondary, .two-col.volunteer-tutor .two-col__main, main.contact .contact__info .contact-item, main.history .intro__text, main.history .intro__photos, main.homepage .programs__card, .owog__store .rich-content__main .rich-content__main-content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.rich-content__main-image, .rich-content--hero .rich-content__main-content, .simple-content .content, .two-col__main, .donate__form-inner, .owog__tree-card, main.volunteer .get-started__intro .get-started__headline, main.volunteer .we-need__statistics .stat {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.slide .slide__inner .card, .footer__locations, .quote__inner, .step, main.history .intro__photo, main.homepage .welcome__image, main.homepage .studentVoices__card, main.volunteer .get-started__featured .grid__item, main.volunteer .we-need__description .content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.rich-content--hero .rich-content__main-content .content, .rich-content--hero .rich-content__main-image, .donate__impact-levels-inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

section.accordion-list .accordion-list__list-inner, .slide .slide__inner .card .card__inner, .rich-content__lower .content, .rich-content__lower .content .content__inner, .steps__list, .owog__store .rich-content__main .rich-content__main-image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.rich-content--foreground .rich-content__main-image, .step__main-content, main.contact .contact__info .contact__info-inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.grid__items, .steps.internship-seasons .steps__inner, section.whats-new.whats-new--home .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card, .calendar__nav-inner, .calendar__events-inner, main.contact .contact__info .contact__info-footer, main.homepage .programs__cards-inner, main.index .posts__list, main.volunteer-application .application__iframe-inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

section.whats-new.whats-new--home .slide .slide__inner .card .card__inner, section.whats-new.whats-new--index .slide .slide__inner .card .card__inner, main.homepage .classroom .classroom__image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.grid__title,
.grid__subtitle, .steps.internship-seasons .steps__list, .steps.internship-seasons .step__main-content, main.owog .grid__inner, main.owog .grid__items {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

@media only screen and (min-width: 1441px) {
  main.homepage .classroom .classroom__image {
    margin-left: 0%; } }

@media only screen and (min-width: 1441px) {
  main.homepage .classroom .classroom__image {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media only screen and (max-width: 1080px) {
  .footer__locations, section.people-grid .people-grid__people .person:nth-child(5n + 1), .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--right .rich-content__main-image, .rich-content--hero .rich-content__main-content, section.whats-new.whats-new--home .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card, .donate__form-inner, main.history .intro__photos, main.homepage .getInvolved__heading .heading, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.homepage .studentVoices__card, main.owog .grid__item, .owog__tree-card, main.staff .cofounder {
    margin-left: 0%; } }

@media only screen and (max-width: 1080px) {
  section.accordion-list .accordion-list__list-inner, .rich-content__main-image, .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--right .rich-content__main-content, main.contact .contact__info .contact__info-inner, .donate__why-reasons, .donate__why-other, .donate__impact-levels-inner, main.history .intro__text, main.homepage .welcome__content, main.index .posts .filter__inner, main.owog .grid__inner, main.owog .grid__items, .owog__store .rich-content__main .rich-content__main-image {
    margin-left: 8.33333%; } }

@media only screen and (max-width: 1080px) {
  main.homepage .getInvolved__card, main.homepage .getInvolved__card:first-child {
    margin-left: 16.66667%; } }

@media only screen and (max-width: 1080px) {
  section.people-grid .people-grid__people .person, .donate__why-other {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; } }

@media only screen and (max-width: 1080px) {
  .donate__why-reasons, main.history .intro__text, main.history .intro__photos {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; } }

@media only screen and (max-width: 1080px) {
  .grid__item, main.contact .contact__info .contact-item, main.homepage .programs__card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; } }

@media only screen and (max-width: 1080px) {
  .rich-content__lower .content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; } }

@media only screen and (max-width: 1080px) {
  .slide .slide__inner .card, .footer__locations, .simple-content .content, main.homepage .getInvolved__card, main.homepage .studentVoices__card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; } }

@media only screen and (max-width: 1080px) {
  section.accordion-list .accordion-list__list-inner, .filter__inner, .rich-content--hero .rich-content__main-image, .steps__list, section.whats-new.whats-new--home .slide .slide__inner .card, main.contact .contact__info .contact__info-inner, .donate__impact-levels-inner, main.homepage .welcome__content, main.owog .grid__inner, main.owog .grid__items {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; } }

@media only screen and (max-width: 1080px) {
  section.whats-new.whats-new--index .slide .slide__inner .card, .owog__store .rich-content__main .rich-content__main-image, main.volunteer-application .application__iframe-inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; } }

@media only screen and (max-width: 1080px) {
  .grid__items, .rich-content__lower .content .content__inner, .rich-content--hero .rich-content__main-content, .donate__form-inner, main.homepage .welcome__image, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.index .posts__list, main.owog .grid__item, .owog__tree-card, .owog__store .rich-content__main .rich-content__main-content, main.staff .cofounder {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media only screen and (max-width: 768px) {
  section.accordion-list .accordion-list__list-inner, section.people-grid .people-grid__people .person:nth-child(5n + 1), .rich-content__main-image, .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--left .rich-content__main-content, .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--right .rich-content__main-content, .rich-content--hero .rich-content__main-content, .two-col__main, .two-col__secondary, .two-col.volunteer-tutor .two-col__main, section.whats-new.whats-new--home .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card, .donate__form-inner, .donate__impact-levels-inner, main.history .intro__text, main.history .intro__photos, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.homepage .studentVoices__card, main.owog .grid__items, main.owog .grid__item, .owog__tree-card, main.staff .cofounder, main.volunteer .get-started__intro .get-started__headline {
    margin-left: 0%; } }

@media only screen and (max-width: 768px) {
  .step__main-content, .donate__why-reasons, .donate__why-other, main.homepage .welcome__content, main.index .posts .filter__inner, main.owog .grid__inner {
    margin-left: 8.33333%; } }

@media only screen and (max-width: 768px) {
  .step__number {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; } }

@media only screen and (max-width: 768px) {
  section.people-grid .people-grid__people .person {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; } }

@media only screen and (max-width: 768px) {
  .step__main-content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; } }

@media only screen and (max-width: 768px) {
  .quote__inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; } }

@media only screen and (max-width: 768px) {
  .filter__inner, .simple-content .content, .donate__why-reasons, .donate__why-other, main.homepage .welcome__content, main.owog .grid__inner, main.volunteer .we-need__description .content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; } }

@media only screen and (max-width: 768px) {
  .slide .slide__inner .card, section.whats-new.whats-new--index .slide .slide__inner .card, .calendar__nav-inner, .calendar__events-inner, main.volunteer-application .application__iframe-inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; } }

@media only screen and (max-width: 768px) {
  section.accordion-list .accordion-list__list-inner, .grid__items, .grid__item, .rich-content__main-content, .rich-content__main-image, .rich-content__lower .content, .rich-content__lower .content .content__inner, .rich-content--foreground .rich-content__main-image, .rich-content--hero .rich-content__main-content, .rich-content--hero .rich-content__main-content .content, .rich-content--hero .rich-content__main-image, .steps.internship-seasons .steps__inner, .steps__list, .step, .two-col__main, .two-col__secondary, .two-col.volunteer-tutor .two-col__main, section.whats-new.whats-new--home .slide .slide__inner .card, main.contact .contact__info .contact-item, .donate__form-inner, .donate__impact-levels-inner, main.history .intro__text, main.history .intro__photos, main.homepage .welcome__image, main.homepage .classroom .classroom__image, main.homepage .programs__cards-inner, main.homepage .programs__card, main.homepage .studentVoices__card, main.owog .grid__items, main.owog .grid__item, .owog__tree-card, .owog__store .rich-content__main .rich-content__main-image, main.staff .cofounder, main.volunteer .get-started__intro .get-started__headline, main.volunteer .get-started__intro .get-started__description, main.volunteer .get-started__featured .grid__item, main.volunteer .we-need__statistics .stat {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

*, *:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  padding-top: 100px; }
  @media only screen and (max-width: 1080px) {
    body {
      padding-top: 0; } }

img {
  max-width: 100%; }

a {
  text-decoration: none; }

@media only screen and (max-width: 1080px) {
  .content-wrapper {
    padding-top: 85px; } }

.u-noscroll {
  overflow-y: hidden; }

.u-bg--blue {
  background-color: #A1DFDB !important; }

.u-bg--gold {
  background-color: #fcf6ee !important; }

.u-bg--red {
  background-color: #EF3114 !important; }

.u-bg--teal {
  background-color: #0C5C58 !important; }

@font-face {
  font-family: 'Long Haired Freaky People';
  src: url("img/fonts/lhfp.otf"); }

@font-face {
  font-family: 'Lie To Me';
  src: url("img/fonts/lietome.otf"); }

@font-face {
  font-family: 'Bodoni Egyption Pro Regular';
  src: url("img/fonts/BodoniEgyptian/Regular.eot");
  src: url("img/fonts/BodoniEgyptian/Regular.eot") format("embedded-opentype"), url("img/fonts/BodoniEgyptian/Regular.woff2") format("woff2"), url("img/fonts/BodoniEgyptian/Regular.woff") format("woff"), url("img/fonts/BodoniEgyptian/Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'Bodoni Egyption Pro Regular Italic';
  src: url("img/fonts/BodoniEgyptian/RegularItalic.eot");
  src: url("img/fonts/BodoniEgyptian/RegularItalic.eot") format("embedded-opentype"), url("img/fonts/BodoniEgyptian/RegularItalic.woff2") format("woff2"), url("img/fonts/BodoniEgyptian/RegularItalic.woff") format("woff"), url("img/fonts/BodoniEgyptian/RegularItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'Bodoni Egyption Pro Bold';
  src: url("img/fonts/BodoniEgyptian/Bold.eot");
  src: url("img/fonts/BodoniEgyptian/Bold.eot") format("embedded-opentype"), url("img/fonts/BodoniEgyptian/Bold.woff2") format("woff2"), url("img/fonts/BodoniEgyptian/Bold.woff") format("woff"), url("img/fonts/BodoniEgyptian/Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'Trade Gothic Bold Two';
  src: url("img/fonts/TradeGothic/TradeGothicBold2.eot");
  src: url("img/fonts/TradeGothic/TradeGothicBold2.eot") format("embedded-opentype"), url("img/fonts/TradeGothic/TradeGothicBold2.woff2") format("woff2"), url("img/fonts/TradeGothic/TradeGothicBold2.woff") format("woff"), url("img/fonts/TradeGothic/TradeGothicBold2.ttf") format("truetype"); }

@font-face {
  font-family: 'Trade Gothic Regular';
  src: url("img/fonts/TradeGothic/TradeGothicRoman.eot");
  src: url("img/fonts/TradeGothic/TradeGothicRoman.eot") format("embedded-opentype"), url("img/fonts/TradeGothic/TradeGothicRoman.woff2") format("woff2"), url("img/fonts/TradeGothic/TradeGothicRoman.woff") format("woff"), url("img/fonts/TradeGothic/TradeGothicRoman.ttf") format("truetype"); }

.t-label, .gform_wrapper form.donate-form .gf_step, .gform_wrapper form.donate-form .gf_step .gf_step_number, .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(2)::after, .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(3)::after, .gform_wrapper form.donate-form .donate-form__honor-type .gfield_label, main.history .intro__photo-caption, article.post .post__back, .student-writing__filter .filter__text, .button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button, .button--light, .donate__why-other .content__cta, #mc_embed_signup .newsletter__submit-button {
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase; }

.gform_wrapper form.donate-form, .filter, #mc_embed_signup .mc-field-group, .student-writing__filter .writings__filter {
  font-family: "Trade Gothic Regular", sans-serif;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase; }

.gform_wrapper form.donate-form .gform_page_footer input.gform_previous_button, .tease__meta, article.post .post__meta {
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase; }

.footer__location-name, header, .newsletter__title, .pagination__wrapper {
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.93;
  text-transform: uppercase; }

footer, .menu__submenu-item .menu__sublist-item, main.owog .content__description p:nth-child(2), main.owog .content__description p:nth-child(2) strong, .menu__submenu {
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.4; }
  @media only screen and (max-width: 1080px) {
    footer, .menu__submenu-item .menu__sublist-item, main.owog .content__description p:nth-child(2), main.owog .content__description p:nth-child(2) strong, .menu__submenu {
      font-family: "Trade Gothic Regular", sans-serif; } }

footer, .menu__submenu-item .menu__sublist-item, main.owog .content__description p:nth-child(2), main.owog .content__description p:nth-child(2) strong {
  font-family: "Trade Gothic Regular", sans-serif;
  line-height: 1.4; }

.tease__event-month {
  font-family: "Long Haired Freaky People", sans-serif;
  font-size: 40px; }

b,
strong,
.t-bold,
.gform_wrapper form.donate-form .donate-form__total .ginput_container_total {
  font-family: "Bodoni Egyption Pro Bold", serif; }

.t-heading em, .t-heading--small em, body.page-careers-landing article.post .post__content h1 em, .gform_confirmation_wrapper.donate-form .gform_confirmation_message .script, .donate__impact-level .level__amount::before {
  color: rgba(0, 0, 0, 0.9);
  font-family: "Lie To Me", serif;
  font-size: 60px; }

.t-heading, .t-heading--small, body.page-careers-landing article.post .post__content h1 {
  font-family: "Long Haired Freaky People", sans-serif;
  font-size: 150px;
  font-weight: normal;
  line-height: .88; }
  @media only screen and (max-width: 1080px) {
    .t-heading em, .t-heading--small em, body.page-careers-landing article.post .post__content h1 em {
      font-size: 46px; } }
  @media only screen and (max-width: 768px) {
    .t-heading em, .t-heading--small em, body.page-careers-landing article.post .post__content h1 em {
      font-size: 38px; } }
  @media only screen and (max-width: 1080px) {
    .t-heading, .t-heading--small, body.page-careers-landing article.post .post__content h1 {
      font-size: 110px; } }
  @media only screen and (max-width: 768px) {
    .t-heading, .t-heading--small, body.page-careers-landing article.post .post__content h1 {
      font-size: 70px; } }

.t-heading--small {
  font-size: 100px; }
  @media only screen and (max-width: 768px) {
    .t-heading--small {
      font-size: 85px; } }

.t-h1, .donate__why-inner .donate__why-title, .donate__why-inner .content__title, main.homepage .studentVoices__card .studentVoices__card-inner .card__title, main.owog section:not(.rich-content) .content__title, article.post .post__body h1, main.volunteer .words__carousel .carousel .slide .card__title {
  color: rgba(0, 0, 0, 0.9);
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 30px;
  line-height: 1; }
  @media only screen and (max-width: 768px) {
    .t-h1, .donate__why-inner .donate__why-title, .donate__why-inner .content__title, main.homepage .studentVoices__card .studentVoices__card-inner .card__title, main.owog section:not(.rich-content) .content__title, article.post .post__body h1, main.volunteer .words__carousel .carousel .slide .card__title {
      font-size: 22px;
      line-height: 1.22; } }

.t-h2, article.post .post__body h2, body.page-publications .two-col__main .content__title {
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 22px;
  line-height: 1.22; }

.t-body--large, .gform_wrapper form.donate-form .donate-form__total, .donate__why-other .content__description, main.homepage .studentVoices__card .studentVoices__card-inner .card__text, article.post .post__body p:first-child, article.post .post__body .post__image + p, .student-writing__filter .writings__filter-inner, .student-writing__filter .filter__option, .student-writing__filter .filter__option-select, .podcasts__description, main.volunteer .get-started__already .content .content__description, main.volunteer .words__carousel .carousel .slide .card__text {
  font-family: "Bodoni Egyption Pro Regular", serif;
  font-size: 24px;
  line-height: 1.58; }
  .t-body--large em, .gform_wrapper form.donate-form .donate-form__total em, .donate__why-other .content__description em, main.homepage .studentVoices__card .studentVoices__card-inner .card__text em, article.post .post__body p:first-child em, article.post .post__body .post__image + p em, .student-writing__filter .writings__filter-inner em, .student-writing__filter .filter__option em, .student-writing__filter .filter__option-select em, .podcasts__description em, main.volunteer .get-started__already .content .content__description em, main.volunteer .words__carousel .carousel .slide .card__text em {
    font-family: "Bodoni Egyption Pro Regular Italic", serif; }
  @media only screen and (max-width: 768px) {
    .t-body--large, .gform_wrapper form.donate-form .donate-form__total, .donate__why-other .content__description, main.homepage .studentVoices__card .studentVoices__card-inner .card__text, article.post .post__body p:first-child, article.post .post__body .post__image + p, .student-writing__filter .writings__filter-inner, .student-writing__filter .filter__option, .student-writing__filter .filter__option-select, .podcasts__description, main.volunteer .get-started__already .content .content__description, main.volunteer .words__carousel .carousel .slide .card__text {
      font-size: 18px;
      line-height: 1.56; } }

.t-body--small, body, .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value, .gform_wrapper form.donate-form .donate-form__custom-value, body.page-publications .two-col__main .content__subtitle {
  font-family: "Bodoni Egyption Pro Regular", serif;
  font-size: 18px;
  line-height: 1.56; }
  .t-body--small em, body em, .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value em, .gform_wrapper form.donate-form .donate-form__custom-value em, body.page-publications .two-col__main .content__subtitle em {
    font-family: "Bodoni Egyption Pro Regular Italic", serif; }

article.post .post__body strong {
  font-family: "Trade Gothic Bold Two", sans-serif;
  font-size: 18px;
  line-height: 1.56; }

.t-caption {
  font-family: "Bodoni Egyption Pro Regular Italic", serif;
  font-size: 14px;
  line-height: 2; }

.t-color--red {
  color: #EF3114; }

.t-color--blue {
  color: #A1DFDB; }

.t-color--teal {
  color: #0C5C58; }

.t-color--gold {
  color: #DDA350; }

.t-color--white {
  color: #FFF; }

a {
  color: #000; }

@media only screen and (min-width: 769px) {
  .only-smartphone {
    display: none !important; } }

@media only screen and (max-width: 768px) {
  .only-tablet {
    display: none !important; } }

@media only screen and (min-width: 1081px) {
  .only-tablet {
    display: none !important; } }

@media only screen and (max-width: 1080px) {
  .only-desktop {
    display: none !important; } }

@media only screen and (max-width: 768px) {
  .above-smartphone {
    display: none !important; } }

@media only screen and (min-width: 1081px) {
  .below-desktop {
    display: none !important; } }

@media only screen and (max-width: 1184px) {
  .header-breakpoint {
    display: none !important; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

section.accordion-list {
  margin: 75px 0; }
  @media only screen and (max-width: 768px) {
    section.accordion-list {
      margin: 28px 0; } }
  section.accordion-list .accordion-list__headline {
    text-align: center; }
    @media only screen and (max-width: 768px) {
      section.accordion-list .accordion-list__headline .heading {
        margin-bottom: 70px; } }
  @media only screen and (max-width: 768px) {
    section.accordion-list .accordion-list__list {
      padding: 0 15px; } }
  section.accordion-list .accordion {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 7px 2px;
    background-repeat: repeat-x;
    cursor: pointer;
    margin-bottom: 10px;
    padding: 10px 50px 20px 0;
    position: relative; }
    section.accordion-list .accordion.is-active .accordion__expand::after {
      -webkit-transform: rotate(-90deg) translate3d(0, 0, 0);
              transform: rotate(-90deg) translate3d(0, 0, 0); }
    section.accordion-list .accordion.is-active .accordion__wrapper-content {
      -webkit-transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
    section.accordion-list .accordion.is-active .accordion__content {
      opacity: 1;
      -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
      transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
      visibility: visible; }
    @media only screen and (max-width: 768px) {
      section.accordion-list .accordion {
        padding: 10px 0px 20px 0; } }
  section.accordion-list .accordion__heading {
    position: relative; }
    @media only screen and (max-width: 768px) {
      section.accordion-list .accordion__heading {
        padding-right: 10px; } }
  section.accordion-list .accordion__title, section.accordion-list .accordion__subtitle {
    display: inline-block;
    vertical-align: center; }
  section.accordion-list .accordion__title {
    margin-right: 20px; }
  section.accordion-list .accordion__expand {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: absolute;
    right: -45px;
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
    section.accordion-list .accordion__expand::before, section.accordion-list .accordion__expand::after {
      background: #000;
      content: '';
      display: block;
      height: 7px;
      position: absolute;
      top: -6px;
      -webkit-transition: -webkit-transform 0.3s;
      transition: -webkit-transform 0.3s;
      transition: transform 0.3s;
      transition: transform 0.3s, -webkit-transform 0.3s;
      width: 2px; }
    section.accordion-list .accordion__expand::before {
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg); }
    @media only screen and (max-width: 768px) {
      section.accordion-list .accordion__expand {
        right: 0; } }
  section.accordion-list .accordion__wrapper-content {
    max-height: 0;
    -webkit-transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
    transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
    width: 100%; }
  section.accordion-list .accordion__content {
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    visibility: hidden; }
    @media only screen and (max-width: 768px) {
      section.accordion-list .accordion__content {
        top: 48px; } }
    section.accordion-list .accordion__content a {
      color: #EF3114; }
    section.accordion-list .accordion__content p {
      padding-top: 15px; }

@-webkit-keyframes light-button-hover {
  0% {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  40% {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  60% {
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes light-button-hover {
  0% {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  40% {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  60% {
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

.button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button {
  display: inline-block;
  z-index: 0; }

.button--primary, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button {
  color: #FFF !important;
  padding: 10px 25px 9px;
  position: relative; }
  .button--primary::after, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button::after, .gform_wrapper form.donate-form .gform_page_footer input.gform_button::after, .button--primary::before, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button::before, .gform_wrapper form.donate-form .gform_page_footer input.gform_button::before {
    background: #EF3114;
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -2; }
  .button--primary::before, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button::before, .gform_wrapper form.donate-form .gform_page_footer input.gform_button::before {
    background: #CA1D14;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    z-index: -1; }
  .button--primary:hover::before, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button:hover::before, .gform_wrapper form.donate-form .gform_page_footer input.gform_button:hover::before {
    -webkit-transform: none;
            transform: none; }

.button--secondary {
  background: transparent;
  border: 1px solid #EF3114;
  color: #EF3114;
  padding: 10px 20px 9px;
  position: relative; }
  .button--secondary::before {
    background: #EF3114;
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    z-index: -1; }
  .button--secondary:hover {
    color: white; }
    .button--secondary:hover::before {
      -webkit-transform: none;
              transform: none; }

.button--light, .donate__why-other .content__cta {
  color: #EF3114;
  position: relative; }
  .button--light::after, .donate__why-other .content__cta::after {
    background: #EF3114;
    bottom: -1px;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    right: 0; }
  .button--light:hover::after, .donate__why-other .content__cta:hover::after {
    -webkit-animation: light-button-hover 0.5s linear;
            animation: light-button-hover 0.5s linear; }

.button--navigation {
  cursor: pointer;
  height: 20px;
  position: relative;
  top: 5px;
  width: 20px; }
  .button--navigation .button__icon {
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
    .button--navigation .button__icon::before {
      -webkit-transition: opacity 0.1s ease, -webkit-transform 0.3s ease;
      transition: opacity 0.1s ease, -webkit-transform 0.3s ease;
      transition: transform 0.3s ease, opacity 0.1s ease;
      transition: transform 0.3s ease, opacity 0.1s ease, -webkit-transform 0.3s ease; }
    .button--navigation .button__icon::after {
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .button--navigation.is-active .button__icon {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
    .button--navigation.is-active .button__icon::before {
      opacity: 0;
      -webkit-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition: opacity 0.1s ease, -webkit-transform 0.3s ease;
      transition: opacity 0.1s ease, -webkit-transform 0.3s ease;
      transition: transform 0.3s ease, opacity 0.1s ease;
      transition: transform 0.3s ease, opacity 0.1s ease, -webkit-transform 0.3s ease; }
    .button--navigation.is-active .button__icon::after {
      -webkit-transform: translateY(0) rotate(-90deg);
              transform: translateY(0) rotate(-90deg);
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }

.button__icon {
  background: #979797;
  height: 2px;
  margin-top: -1px;
  position: absolute;
  top: 50%;
  -webkit-transition: -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
  width: 20px; }
  .button__icon::before, .button__icon::after {
    content: '';
    display: block;
    background-color: #979797;
    height: 2px;
    position: absolute;
    -webkit-transition: -webkit-transform 0.15s ease;
    transition: -webkit-transform 0.15s ease;
    transition: transform 0.15s ease;
    transition: transform 0.15s ease, -webkit-transform 0.15s ease;
    width: 20px; }
  .button__icon::before {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
    -webkit-transition: opacity 75ms ease, -webkit-transform 75ms ease 0.1s;
    transition: opacity 75ms ease, -webkit-transform 75ms ease 0.1s;
    transition: transform 75ms ease 0.1s, opacity 75ms ease;
    transition: transform 75ms ease 0.1s, opacity 75ms ease, -webkit-transform 75ms ease 0.1s; }
  .button__icon::after {
    -webkit-transform: translateY(6px);
            transform: translateY(6px);
    -webkit-transition: -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.button + .button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button + .button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button + .button, .gform_wrapper form.donate-form .gform_page_footer .button + input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button + input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button + input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer .button + input.gform_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button + input.gform_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button + input.gform_button {
  margin-left: 15px; }

.card {
  background: #FFF;
  margin: 0 30px;
  padding: 30px;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s; }
  .card--floating {
    -webkit-box-shadow: 0 7px 30px 0 rgba(0, 0, 0, 0.17);
            box-shadow: 0 7px 30px 0 rgba(0, 0, 0, 0.17); }
  .card:not(.card--flat):hover {
    -webkit-box-shadow: 0 7px 30px 0 rgba(0, 0, 0, 0.17);
            box-shadow: 0 7px 30px 0 rgba(0, 0, 0, 0.17); }
  .card .illustration img {
    max-height: 50%;
    max-width: 50%; }

a.card {
  display: block; }
  a.card:hover .button--primary::before, a.card:hover .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button::before, .gform_wrapper form.donate-form .gform_page_footer a.card:hover input.gform_next_button::before, a.card:hover .gform_wrapper form.donate-form .gform_page_footer input.gform_button::before, .gform_wrapper form.donate-form .gform_page_footer a.card:hover input.gform_button::before {
    -webkit-transform: none;
            transform: none; }
  a.card:hover .button--secondary {
    color: white; }
    a.card:hover .button--secondary::before {
      -webkit-transform: none;
              transform: none; }
  a.card:hover .button--light::after, a.card:hover .donate__why-other .content__cta::after, .donate__why-other a.card:hover .content__cta::after {
    -webkit-animation: light-button-hover 0.5s linear;
            animation: light-button-hover 0.5s linear; }

.card__title {
  margin: 20px 0; }

.card__divider {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  height: 2px;
  margin: 20px 0;
  width: 100%; }

.card__text {
  margin: 20px 0; }
  .card__text a {
    color: #EF3114; }

.card__cta {
  margin: 20px 0 20px; }

.carousel {
  background: #A1DFDB;
  padding: 100px 0 50px;
  position: relative; }
  .carousel:first-child {
    margin-top: 100px; }
    @media only screen and (max-width: 1080px) {
      .carousel:first-child {
        margin-top: 70px; } }
    @media only screen and (max-width: 768px) {
      .carousel:first-child {
        margin-top: 60px; } }
  .carousel .simple-headline {
    margin-bottom: -100px;
    margin-top: -200px; }
    @media only screen and (max-width: 1080px) {
      .carousel .simple-headline {
        margin-top: -170px; } }
    @media only screen and (max-width: 768px) {
      .carousel .simple-headline {
        margin-bottom: -140px;
        margin-top: -160px; } }
  .carousel .carousel__heading {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    max-width: calc(100% - 0px);
    text-align: center;
    top: -20%; }
    @media only screen and (max-width: 1080px) {
      .carousel .carousel__heading {
        top: -10%; } }

.carousel__inner {
  position: relative;
  z-index: 2; }
  .carousel__inner .card {
    outline: none; }

.carousel__slides .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.carousel__dots {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 10px; }
  .carousel__dots li {
    margin: 0 5px; }
    .carousel__dots li.slick-active button {
      background: #EF3114; }
  .carousel__dots button {
    background: #FFF;
    border: 0;
    border-radius: 50%;
    font-size: 0;
    height: 10px;
    margin: 0;
    padding: 0;
    width: 10px; }

.carousel__arrow {
  background: #FFF;
  border-radius: 50%;
  -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
  cursor: pointer;
  height: 74px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 74px; }
  .carousel__arrow::before {
    background: center/contain no-repeat url("img/icons/arrow-red.svg");
    content: '';
    height: 21px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 21px; }
  .carousel__arrow--prev {
    left: 15vw; }
    .carousel__arrow--prev::before {
      -webkit-transform: translate(-50%, -50%) rotate(180deg);
              transform: translate(-50%, -50%) rotate(180deg); }
  .carousel__arrow--next {
    right: 15vw; }
  .carousel__arrow--small {
    height: 52px;
    width: 52px; }
    .carousel__arrow--small::before {
      height: 15px;
      width: 15px; }
  @media only screen and (max-width: 1080px) {
    .carousel__arrow {
      display: none !important; } }

.slide {
  height: auto;
  outline: none; }
  .slide .slide__inner {
    height: 100%;
    max-width: 333px;
    padding: 30px 0;
    width: 333px; }
    .slide .slide__inner a {
      outline: none; }
    @media only screen and (max-width: 768px) {
      .slide .slide__inner {
        max-width: 100%; } }
    @media screen and (max-width: 435px) {
      .slide .slide__inner {
        max-width: 90%; } }
    .slide .slide__inner .card {
      height: 325px;
      min-width: 333px;
      padding: 30px 0; }
      @media only screen and (max-width: 768px) {
        .slide .slide__inner .card {
          min-width: auto;
          width: 100%; } }
      .slide .slide__inner .card .card__inner img {
        max-height: 100%;
        max-width: 100%; }

.content p {
  margin-bottom: 12px; }

.content a {
  color: #EF3114; }

.content .content__cta:first-of-type {
  margin-top: 10px; }

@media only screen and (max-width: 768px) {
  .content .content__cta {
    margin-top: 30px; } }

.gform_wrapper form.donate-form .donate-form__honor-message,
.gform_wrapper form.donate-form .donate-form__honor-address, .gform_wrapper form.donate-form .donate-form__honor-name,
.gform_wrapper form.donate-form .donate-form__honor-notify-name,
.gform_wrapper form.donate-form .donate-form__honor-email,
.gform_wrapper form.donate-form .donate-form__email,
.gform_wrapper form.donate-form .donate-form__phone {
  position: relative; }
  .gform_wrapper form.donate-form .donate-form__honor-message .gfield_label, .gform_wrapper form.donate-form .donate-form__honor-address .gfield_label, .gform_wrapper form.donate-form .donate-form__honor-name .gfield_label, .gform_wrapper form.donate-form .donate-form__honor-notify-name .gfield_label, .gform_wrapper form.donate-form .donate-form__honor-email .gfield_label, .gform_wrapper form.donate-form .donate-form__email .gfield_label, .gform_wrapper form.donate-form .donate-form__phone .gfield_label {
    margin-left: 10px;
    position: absolute;
    top: 27.5px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: top 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s, transform 0.3s;
    transition: top 0.3s, transform 0.3s, -webkit-transform 0.3s;
    z-index: 1; }
    .gform_wrapper form.donate-form .donate-form__honor-message .gfield_label.is-active, .gform_wrapper form.donate-form .donate-form__honor-address .gfield_label.is-active, .gform_wrapper form.donate-form .donate-form__honor-name .gfield_label.is-active, .gform_wrapper form.donate-form .donate-form__honor-notify-name .gfield_label.is-active, .gform_wrapper form.donate-form .donate-form__honor-email .gfield_label.is-active, .gform_wrapper form.donate-form .donate-form__email .gfield_label.is-active, .gform_wrapper form.donate-form .donate-form__phone .gfield_label.is-active {
      -webkit-transform: translateY(-135%) scale(0.8);
              transform: translateY(-135%) scale(0.8); }
  .gform_wrapper form.donate-form .donate-form__honor-message input[type=text], .gform_wrapper form.donate-form .donate-form__honor-address input[type=text], .gform_wrapper form.donate-form .donate-form__honor-name input[type=text], .gform_wrapper form.donate-form .donate-form__honor-notify-name input[type=text], .gform_wrapper form.donate-form .donate-form__honor-email input[type=text], .gform_wrapper form.donate-form .donate-form__email input[type=text], .gform_wrapper form.donate-form .donate-form__phone input[type=text] {
    border: 1px solid #979797;
    height: 55px;
    padding: 20px 10px 10px 10px !important;
    width: 100%; }
  .gform_wrapper form.donate-form .gfield_error.donate-form__honor-message .gfield_label, .gform_wrapper form.donate-form .gfield_error.donate-form__honor-address .gfield_label, .gform_wrapper form.donate-form .gfield_error.donate-form__honor-name .gfield_label, .gform_wrapper form.donate-form .gfield_error.donate-form__honor-notify-name .gfield_label, .gform_wrapper form.donate-form .gfield_error.donate-form__honor-email .gfield_label, .gform_wrapper form.donate-form .gfield_error.donate-form__email .gfield_label, .gform_wrapper form.donate-form .gfield_error.donate-form__phone .gfield_label {
    top: 43.5px; }

.gform_wrapper form.donate-form .donate-form__honor-message textarea, .gform_wrapper form.donate-form .donate-form__honor-address textarea {
  border: 1px solid #979797;
  height: 137.5px;
  padding: 20px 10px 10px 10px !important;
  width: 100%; }

.gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_first, .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_last, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_line_1, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_city, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_state, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip, .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(1), .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(3) {
  padding-top: 0;
  position: relative; }
  .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_first label, .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_last label, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_line_1 label, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_city label, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_state label, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip label, .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(1) label, .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(3) label {
    font-size: 1em;
    margin: 0 0 0 10px;
    position: absolute;
    top: 27.5px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: top 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s, transform 0.3s;
    transition: top 0.3s, transform 0.3s, -webkit-transform 0.3s;
    z-index: 1; }
    .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_first label.is-active, .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_last label.is-active, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_line_1 label.is-active, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_city label.is-active, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_state label.is-active, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip label.is-active, .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(1) label.is-active, .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(3) label.is-active {
      -webkit-transform: translateY(-135%) scale(0.8);
              transform: translateY(-135%) scale(0.8); }
  .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_first input[type=text], .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_last input[type=text], .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_line_1 input[type=text], .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_city input[type=text], .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_state input[type=text], .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip input[type=text], .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(1) input[type=text], .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(3) input[type=text] {
    border: 1px solid #979797;
    height: 55px;
    padding: 20px 10px 10px 10px !important;
    width: 100%; }

.gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_country select, .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: white;
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;utf8,<svg width="14" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M13 0L7 6 1 0" stroke="%23EF3114" fill="none" fill-rule="evenodd"/></svg>');
  border: 1px solid #979797;
  border-radius: 0;
  height: 55px;
  padding: 0 40px 0 10px;
  text-transform: uppercase; }

.gform_wrapper form.donate-form {
  background: #FFF;
  -webkit-box-shadow: 0 7px 30px 0 rgba(0, 0, 0, 0.17);
          box-shadow: 0 7px 30px 0 rgba(0, 0, 0, 0.17); }
  .gform_wrapper form.donate-form .button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button {
    background: #EF3114; }
  .gform_wrapper form.donate-form .gform_heading {
    display: none; }
  .gform_wrapper form.donate-form .gf_page_steps {
    border: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 10px 30px 0; }
    @media only screen and (max-width: 768px) {
      .gform_wrapper form.donate-form .gf_page_steps {
        display: none; } }
  .gform_wrapper form.donate-form .gf_step_clear {
    display: none; }
  .gform_wrapper form.donate-form .gf_step {
    color: #0C5C58;
    height: auto;
    opacity: .5;
    margin: 0;
    padding: 15px 0 3px;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s; }
    .gform_wrapper form.donate-form .gf_step:not(.gf_step_first) {
      margin-left: 3px; }
    .gform_wrapper form.donate-form .gf_step.gf_step_pending {
      color: #979797; }
      .gform_wrapper form.donate-form .gf_step.gf_step_pending .gf_step_number {
        color: #979797; }
    .gform_wrapper form.donate-form .gf_step.gf_step_active {
      background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
      background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
      background-position: bottom;
      background-size: 7px 2px;
      background-repeat: repeat-x;
      color: #DDA350;
      opacity: 1; }
      .gform_wrapper form.donate-form .gf_step.gf_step_active .gf_step_number {
        color: #DDA350; }
    .gform_wrapper form.donate-form .gf_step .gf_step_number {
      color: #0C5C58; }
      .gform_wrapper form.donate-form .gf_step .gf_step_number::after {
        content: '.'; }
  .gform_wrapper form.donate-form .gform_page {
    margin-top: 30px; }
  .gform_wrapper form.donate-form .gform_page_footer {
    border: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 30px; }
    .gform_wrapper form.donate-form .gform_page_footer input.button, .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer input.gform_button {
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      border: 0;
      cursor: pointer;
      outline: none; }
    .gform_wrapper form.donate-form .gform_page_footer input.gform_previous_button {
      background: url(img/icons/arrow-gray.svg) 0 8px/15px 15px no-repeat;
      color: #979797;
      padding: 5px 0 10px 30px; }
      @media only screen and (max-width: 768px) {
        .gform_wrapper form.donate-form .gform_page_footer input.gform_previous_button {
          background-position: 0 18px;
          padding: 0; } }
  .gform_wrapper form.donate-form ul.gfield_checkbox li label {
    position: relative;
    top: 2.5px; }
  .gform_wrapper form.donate-form .validation_error {
    margin-left: 10px;
    margin-right: 10px;
    padding: 15px 0 10px 0 !important;
    width: auto; }
  .gform_wrapper form.donate-form ul.gform_fields li.gfield.gfield_error {
    padding: 0; }
    .gform_wrapper form.donate-form ul.gform_fields li.gfield.gfield_error .gfield_label_before_complex {
      display: none; }
    .gform_wrapper form.donate-form ul.gform_fields li.gfield.gfield_error .validation_message {
      padding-top: 0; }
  .gform_wrapper form.donate-form .donate-form__amount {
    margin-top: 0; }
    .gform_wrapper form.donate-form .donate-form__amount .gform_page_footer {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type {
    padding: 0; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .gfield_label {
      display: none; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type table.nothing {
      width: 100%; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(1) {
      display: none; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(2) {
      font-size: 0; }
      .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(2)::after {
        background: #bff2ef;
        content: 'One-time donation';
        height: 100%;
        left: 0;
        padding: 20px 0 15px;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(3) {
      font-size: 0; }
      .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td:nth-child(3)::after {
        background: #bff2ef;
        content: 'Monthly donation';
        height: 100%;
        left: 0;
        padding: 20px 0 15px;
        pointer-events: none;
        position: absolute;
        top: 0;
        -webkit-transition: background 0.3s;
        transition: background 0.3s;
        width: 100%; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td {
      background: #A1DFDB;
      height: 55px;
      position: relative;
      text-align: center;
      -webkit-transition: -webkit-box-shadow 0.3s;
      transition: -webkit-box-shadow 0.3s;
      transition: box-shadow 0.3s;
      transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
      width: 50%; }
      .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td.is-active {
        -webkit-box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.08);
                box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.08);
        z-index: 1; }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td.is-active::after {
          background: #A1DFDB;
          -webkit-transition: background 0.3s;
          transition: background 0.3s; }
      .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td input[type=radio] {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: 0;
        border-radius: 0;
        cursor: pointer;
        height: 100%;
        left: 0;
        margin: 0;
        opacity: 0;
        outline: none;
        top: 0;
        -webkit-transition: opacity 0.3s, -webkit-box-shadow 0.3s;
        transition: opacity 0.3s, -webkit-box-shadow 0.3s;
        transition: opacity 0.3s, box-shadow 0.3s;
        transition: opacity 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
        width: 100%; }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .trpayoptns td input[type=radio]:checked {
          opacity: 0; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .dvrecurtyp, .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .dvperdcty, .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-type .dvnoofpymnts {
      display: none !important; }
  .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value {
    margin: 0;
    padding: 30px 30px 0;
    text-transform: none; }
    @media only screen and (max-width: 768px) {
      .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value {
        font-size: 24px;
        line-height: 1.6; } }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value .gfield_label {
      display: none; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value .ginput_container {
      margin: 0; }
    .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio {
      margin: 0;
      width: 100%; }
      .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li {
        background: transparent;
        display: inline-block;
        margin: 5px 2% !important;
        overflow: visible;
        position: relative;
        text-align: center;
        width: 22%;
        z-index: 1; }
        @media only screen and (min-width: 769px) {
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li:nth-child(4n + 1) {
            margin-left: 0 !important; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li:nth-child(4n) {
            margin-right: 0 !important; } }
        @media only screen and (max-width: 768px) {
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li {
            width: 48%; }
            .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li:nth-child(2n + 1) {
              margin-left: 0 !important; }
            .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li:nth-child(2n) {
              margin-right: 0 !important; } }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li:last-child {
          margin: 5px 0 !important;
          overflow: hidden;
          width: 100%; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li:last-child label {
            max-width: none !important;
            padding: 15px 0 10px !important;
            width: calc(100% - 20px); }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:empty  ~ label {
          cursor: pointer;
          position: relative;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:empty  ~ label::before {
            content: '';
            display: block; }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:checked ~ label {
          margin: 0;
          padding: 15px 10px 10px;
          width: 100%; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:checked ~ label::after {
            background-color: #A1DFDB;
            -webkit-box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.08);
                    box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.08);
            content: '';
            height: 100%;
            left: -11px;
            opacity: 1;
            position: absolute;
            top: 0;
            -webkit-transition: background 0.3s;
            transition: background 0.3s;
            width: calc(100% + 22px);
            z-index: -1; }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:not(:checked) ~ label {
          height: 100%;
          padding: 15px 10px 10px;
          width: 100%; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:not(:checked) ~ label::after {
            background-color: #F4F4F4;
            content: '';
            height: 100%;
            left: -13px;
            margin: 0;
            padding: 15px 10px 10px;
            position: absolute;
            top: 0;
            -webkit-transition: opacity 0.3s, background 0.3s;
            transition: opacity 0.3s, background 0.3s;
            width: calc(100% + 22px);
            z-index: -1; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:not(:checked) ~ label:hover::after {
            opacity: .5; }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio] {
          -webkit-appearance: none;
             -moz-appearance: none;
                  appearance: none;
          border-radius: 0;
          background: #A1DFDB;
          cursor: pointer;
          height: 100%;
          left: 0;
          margin: 0;
          opacity: 0;
          outline: none;
          position: absolute;
          top: 0;
          -webkit-transition: opacity 0.3s, -webkit-box-shadow 0.3s;
          transition: opacity 0.3s, -webkit-box-shadow 0.3s;
          transition: opacity 0.3s, box-shadow 0.3s;
          transition: opacity 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
          width: 100% !important; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:empty {
            display: none; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:hover {
            opacity: .5; }
          .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li input[type=radio]:checked {
            -webkit-box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.08);
                    box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.08);
            opacity: 1; }
        .gform_wrapper form.donate-form ul.gform_fields li.donate-form__amount-value ul.gfield_radio li label {
          position: relative; }
  .gform_wrapper form.donate-form .donate-form__custom-value {
    padding: 0 30px;
    text-transform: none; }
  .gform_wrapper form.donate-form .donate-form__amount-honor {
    padding: 0 30px; }
    .gform_wrapper form.donate-form .donate-form__amount-honor .gfield_label {
      display: none; }
    .gform_wrapper form.donate-form .donate-form__amount-honor .ginput_container_checkbox {
      margin: 0; }
  .gform_wrapper form.donate-form .donate-form__honor .gform_page_fields {
    padding: 0 30px; }
    @media only screen and (max-width: 768px) {
      .gform_wrapper form.donate-form .donate-form__honor .gform_page_fields {
        padding-top: 14px; } }
  .gform_wrapper form.donate-form .donate-form__honor-type .gfield_label {
    border-bottom: 1px solid #EF3114;
    color: #EF3114;
    padding-bottom: 2px; }
  .gform_wrapper form.donate-form .donate-form__honor-type .gfield_radio label {
    margin-top: 7px; }
  @media only screen and (min-width: 769px) {
    .gform_wrapper form.donate-form .donate-form__honor-type .gfield_radio li {
      display: inline-block; }
    .gform_wrapper form.donate-form .donate-form__honor-type .gfield_radio li + li {
      margin-left: 20px !important; } }
  .gform_wrapper form.donate-form .donate-form__personal-info .gform_page_fields {
    padding: 0 30px; }
    @media only screen and (max-width: 768px) {
      .gform_wrapper form.donate-form .donate-form__personal-info .gform_page_fields {
        padding-top: 14px; } }
  .gform_wrapper form.donate-form .donate-form__personal-info .gfield_contains_required label::after {
    color: #790000;
    content: '*';
    margin-left: 4px; }
  .gform_wrapper form.donate-form .donate-form__credit-card.gfield {
    margin: 0;
    padding: 0;
    width: auto; }
  .gform_wrapper form.donate-form .donate-form__payment .gform_page_fields {
    padding: 0 30px; }
    @media only screen and (max-width: 768px) {
      .gform_wrapper form.donate-form .donate-form__payment .gform_page_fields {
        padding-top: 30px; } }
  .gform_wrapper form.donate-form .donate-form__total {
    margin-top: 30px;
    text-align: center;
    text-transform: none; }
    .gform_wrapper form.donate-form .donate-form__total .ginput_total {
      color: #000; }
  .gform_wrapper form.donate-form .donate-form__honor-notify-name,
  .gform_wrapper form.donate-form .donate-form__honor-email,
  .gform_wrapper form.donate-form .donate-form__email,
  .gform_wrapper form.donate-form .donate-form__phone {
    display: inline-block;
    vertical-align: top;
    width: 50%; }
    .gform_wrapper form.donate-form .donate-form__honor-notify-name .ginput_container,
    .gform_wrapper form.donate-form .donate-form__honor-email .ginput_container,
    .gform_wrapper form.donate-form .donate-form__email .ginput_container,
    .gform_wrapper form.donate-form .donate-form__phone .ginput_container {
      margin-top: 0; }
    .gform_wrapper form.donate-form .donate-form__honor-notify-name.gfield_error,
    .gform_wrapper form.donate-form .donate-form__honor-email.gfield_error,
    .gform_wrapper form.donate-form .donate-form__email.gfield_error,
    .gform_wrapper form.donate-form .donate-form__phone.gfield_error {
      padding-right: 16px !important; }
    @media only screen and (max-width: 768px) {
      .gform_wrapper form.donate-form .donate-form__honor-notify-name,
      .gform_wrapper form.donate-form .donate-form__honor-email,
      .gform_wrapper form.donate-form .donate-form__email,
      .gform_wrapper form.donate-form .donate-form__phone {
        width: 100%; } }
  .gform_wrapper form.donate-form .donate-form__email .gfield_required {
    display: none; }
  .gform_wrapper form.donate-form .donate-form__email.gfield.gfield_error.gfield_contains_required .gfield_label {
    margin-top: 0;
    top: 27.5px; }
  .gform_wrapper form.donate-form .donate-form__email.gfield.gfield_error.gfield_contains_required .ginput_container_email {
    margin-top: 0; }
  .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_first, .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield span.name_last {
    padding-top: 0; }
  .gform_wrapper form.donate-form ul.gform_fields .donate-form__name.gfield .gfield_label_before_complex {
    display: none; }
  .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield {
    padding-right: 0; }
    .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .gfield_label_before_complex {
      display: none; }
    @media only screen and (min-width: 769px) {
      .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_line_1, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_city, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_state, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip {
        padding-right: 16px; } }
    .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_line_1 {
      display: block; }
    .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip {
      margin-right: 0 !important; }
      @media only screen and (min-width: 769px) {
        .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_zip {
          padding-right: 16px !important; } }
    .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_city, .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_state {
      margin: 16px 0; }
    @media only screen and (min-width: 769px) {
      .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_country {
        padding-right: 16px; } }
    .gform_wrapper form.donate-form ul.gform_fields .donate-form__address.gfield .address_country label {
      display: none; }
  .gform_wrapper form.donate-form .donate-form__credit-card.gfield_creditcard_warning {
    padding-bottom: 15px; }
    .gform_wrapper form.donate-form .donate-form__credit-card.gfield_creditcard_warning .gfield_creditcard_warning_message span {
      padding-top: 14px; }
  .gform_wrapper form.donate-form .donate-form__credit-card .gfield_label_before_complex {
    display: none; }
  .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(1) {
    display: block; }
    .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(1) .gform_card_icon_container {
      display: none; }
  .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(2) .ginput_cardinfo_right label {
    margin-bottom: 3px; }
  .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(2) .ginput_cardinfo_right input[type=text] {
    border: 1px solid #979797;
    height: 55px;
    padding: 10px;
    width: 100%; }
  .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(2) .ginput_cardinfo_right .ginput_card_security_code_icon {
    top: -4px; }
  .gform_wrapper form.donate-form .donate-form__credit-card .ginput_container_creditcard > span:nth-child(3) {
    display: block; }
  .gform_wrapper form.donate-form li.gfield.field_sublabel_above.field_description_below + li.gfield.donate-form__total {
    margin-top: 30px;
    padding-right: 0; }
    .gform_wrapper form.donate-form li.gfield.field_sublabel_above.field_description_below + li.gfield.donate-form__total .ginput_total::after {
      content: ' per month';
      display: none; }
    .gform_wrapper form.donate-form li.gfield.field_sublabel_above.field_description_below + li.gfield.donate-form__total .ginput_total.is-recurring::after {
      display: inline; }

.gform_confirmation_wrapper.donate-form .gform_confirmation_message {
  background: #fcf6ee;
  text-align: center; }
  .gform_confirmation_wrapper.donate-form .gform_confirmation_message .thanks {
    padding: 50px 30px; }
    .gform_confirmation_wrapper.donate-form .gform_confirmation_message .thanks p {
      margin: 50px 0 30px 0; }
  .gform_confirmation_wrapper.donate-form .gform_confirmation_message .script {
    color: #DDA350; }

.filter {
  margin-top: 50px; }
  .filter.is-active .filter__dropdown {
    display: block; }
  .filter.is-visible .filter__dropdown {
    -webkit-box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
    opacity: 1; }
  .filter em {
    left: -10%;
    position: absolute;
    top: -25%; }
    @media only screen and (max-width: 1080px) {
      .filter em {
        left: 0;
        top: -50%;
        z-index: 1; } }

.filter__inner {
  position: relative; }

.filter__selection {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: white;
  background-image: url('data:image/svg+xml;utf8,<svg width="14" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M13 0L7 6 1 0" stroke="%23EF3114" fill="none" fill-rule="evenodd"/></svg>');
  background-position: right 10px center;
  background-repeat: no-repeat;
  border: 1px solid #979797;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 55px;
  padding: 0 40px 0 10px;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s; }

.filter__dropdown {
  background: #FFF;
  -webkit-box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
  display: none;
  left: .76389vw;
  opacity: 0;
  padding: 20px;
  position: absolute;
  right: .76389vw;
  top: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 1; }

.filter__option {
  display: block;
  margin-bottom: 20px; }
  .filter__option:last-child {
    margin-bottom: 0; }

footer {
  line-height: 1.8;
  padding: 50px 0;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 768px) {
    footer {
      display: none; } }

.footer__link {
  display: block;
  -webkit-transition: color 0.1s;
  transition: color 0.1s; }
  .footer__link:hover {
    color: #EF3114; }

footer .newsletter__title {
  font-size: 12px; }

.footer__social {
  margin: 30px 0; }

.footer__social-icon {
  display: inline-block;
  height: 20px;
  width: 20px; }
  .footer__social-icon + .footer__social-icon {
    margin-left: 10px; }

.footer__location-name {
  margin-bottom: 7px; }

.footer__location-info + .footer__location-info::before {
  border-top: 1px solid #979797;
  content: '';
  display: block;
  margin: 15px 0 20px;
  width: 35px; }

.grid {
  margin: 80px 0; }
  .simple-headline + .grid {
    margin-top: 0; }
  .grid.u-bg--blue, .grid.u-bg--gold, .grid.u-bg--red, .grid.u-bg--teal {
    margin: 0;
    padding: 80px 0; }
    @media only screen and (max-width: 768px) {
      .grid.u-bg--blue, .grid.u-bg--gold, .grid.u-bg--red, .grid.u-bg--teal {
        padding: 50px 0; } }
  @media only screen and (max-width: 768px) {
    .grid {
      margin: 50px 0; } }

@media only screen and (max-width: 768px) {
  .grid__inner {
    max-width: calc(100% - 40px); } }

.grid__title,
.grid__subtitle {
  text-align: center; }

.grid__items {
  margin: 0; }

.grid__item .card {
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .grid__item .card {
      margin: 0; } }

.grid__line-break {
  width: 100%; }

.grid--content .grid__item {
  padding: 30px 30px 0;
  text-align: center; }
  .grid--content .grid__item .content__description {
    margin: 15px 0; }

header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 30px;
  position: fixed;
  top: 0;
  -webkit-transition: height 0.3s, background 0.3s;
  transition: height 0.3s, background 0.3s;
  width: 100%;
  z-index: 10; }
  header.main-header.has-scrolled {
    background: #FFF;
    height: 85px; }
  @media only screen and (max-width: 1080px) {
    header {
      background: #FFF;
      height: 85px;
      position: fixed;
      top: 0; } }

.header__logo img {
  height: 60px;
  margin-top: 0;
  -webkit-transition: height 0.3s, margin-top 0.3s;
  transition: height 0.3s, margin-top 0.3s; }

.main-header.has-scrolled .header__logo img {
  height: 55px;
  margin-top: 5px; }

.header__nav {
  display: inline-block; }

.heading {
  display: inline-block;
  margin-bottom: 100px;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 1080px) {
    .heading {
      margin-bottom: 130px; } }
  @media only screen and (max-width: 768px) {
    .heading {
      margin-bottom: 140px; } }
  .heading em {
    z-index: 1; }
  .heading span.heading__content {
    position: relative; }
    @media only screen and (max-width: 768px) {
      .heading span.heading__content {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  .heading--left {
    margin-top: 40px; }
    .heading--left em {
      left: 0;
      position: absolute;
      top: -10px;
      -webkit-transform: translate(-30%, -10%);
              transform: translate(-30%, -10%);
      white-space: nowrap;
      z-index: 1; }
    @media only screen and (max-width: 768px) {
      .heading--left {
        margin-top: 30px; }
        .heading--left em {
          -ms-flex-item-align: start;
              align-self: flex-start;
          -webkit-transform: translate(-10%, -10%);
                  transform: translate(-10%, -10%); } }
  .heading--right em {
    bottom: -10px;
    position: absolute;
    right: 0;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
    white-space: nowrap;
    z-index: 1; }
  @media only screen and (max-width: 768px) {
    .heading--right em {
      -ms-flex-item-align: end;
          align-self: flex-end;
      -webkit-transform: translate(10%, 0);
              transform: translate(10%, 0); } }
  @media only screen and (max-width: 1080px) {
    .heading span.heading__content {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse;
      padding: 0 15px; }
      .heading span.heading__content span {
        position: relative; }
      .heading span.heading__content em {
        white-space: pre; } }

.simple-headline {
  position: relative;
  text-align: center;
  z-index: 2; }

.headline--featured-students {
  position: relative; }
  .headline--featured-students::after {
    background: url(img/illustrations/illu-map.svg) center/contain no-repeat;
    bottom: 0;
    content: '';
    height: 309px;
    position: absolute;
    right: 0;
    -webkit-transform: translate(85%, 50%);
            transform: translate(85%, 50%);
    width: 305px;
    z-index: -1; }
    @media only screen and (max-width: 1080px) {
      .headline--featured-students::after {
        height: 100px;
        -webkit-transform: translate(-5%, -10%);
                transform: translate(-5%, -10%);
        width: 100px; } }
    @media only screen and (max-width: 1080px) {
      .headline--featured-students::after {
        display: none; } }

.heading.why-writing {
  margin-bottom: 0;
  z-index: 1; }

section.illustration-section {
  margin: 80px auto; }
  @media only screen and (max-width: 768px) {
    section.illustration-section {
      margin: 50px 20px; } }
  section.illustration-section .illustration {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%; }
    section.illustration-section .illustration img {
      display: block;
      margin: 0 auto; }

.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  @media only screen and (max-width: 1080px) {
    .menu {
      background: #FFF;
      bottom: 0;
      display: block;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      left: 100%;
      margin-top: 85px;
      opacity: 0;
      padding-bottom: 120px;
      position: fixed;
      top: 0;
      -webkit-transform: translateZ(0);
              transform: translateZ(0);
      -webkit-transition: visibility 0ms 0.7s, opacity 0.25s 0.45s, z-index 0.1s, -webkit-transform 0.5s;
      transition: visibility 0ms 0.7s, opacity 0.25s 0.45s, z-index 0.1s, -webkit-transform 0.5s;
      transition: visibility 0ms 0.7s, transform 0.5s, opacity 0.25s 0.45s, z-index 0.1s;
      transition: visibility 0ms 0.7s, transform 0.5s, opacity 0.25s 0.45s, z-index 0.1s, -webkit-transform 0.5s;
      visibility: hidden;
      width: 100%; }
      .menu.is-expanded {
        opacity: 1;
        overflow-y: scroll;
        -webkit-transform: translateZ(0) translateX(-100%);
                transform: translateZ(0) translateX(-100%);
        -webkit-transition-delay: 0s;
                transition-delay: 0s;
        visibility: visible; } }

@media only screen and (max-width: 1080px) {
  .menu-item-has-children + .menu__item {
    margin-top: -10px; } }

.menu__item {
  cursor: pointer;
  display: inline-block;
  margin: 0 20px;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    .menu__item {
      width: 100%; } }
  @media only screen and (min-width: 1081px) {
    .menu__item.desktop--hidden {
      display: none; } }
  .menu__item.current-menu-item .menu__item-link, .menu__item.is-active .menu__item-link {
    color: #EF3114; }
  .menu__item.current-menu-item .menu__submenu, .menu__item.is-active .menu__submenu {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    visibility: visible; }
    @media only screen and (max-width: 1080px) {
      .menu__item.current-menu-item .menu__submenu, .menu__item.is-active .menu__submenu {
        -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
        transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s; } }
  .menu__item.current-menu-item .menu__wrapper-submenu, .menu__item.is-active .menu__wrapper-submenu {
    -webkit-transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .menu__item.current-menu-item .menu__expand::before, .menu__item.current-menu-item .menu__expand::after, .menu__item.is-active .menu__expand::before, .menu__item.is-active .menu__expand::after {
    background: #EF3114; }
  @media only screen and (max-width: 1080px) {
    .menu__item.current-menu-item .menu__expand::after, .menu__item.is-active .menu__expand::after {
      -webkit-transform: rotate(-90deg) translate3d(0, 0, 0);
              transform: rotate(-90deg) translate3d(0, 0, 0); } }
  @media only screen and (min-width: 1081px) {
    .menu__item.current-menu-item .menu__expand::before, .menu__item.is-active .menu__expand::before {
      -webkit-transform: rotate(135deg) translate(-2.5px, -2.5px);
              transform: rotate(135deg) translate(-2.5px, -2.5px); }
    .menu__item.current-menu-item .menu__expand::after, .menu__item.is-active .menu__expand::after {
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg); } }
  @media only screen and (max-width: 1080px) {
    .menu__item {
      border-bottom: 1px solid #979797;
      margin: 0; }
      .menu__item:first-child {
        border-top: 1px solid #979797; } }

.menu__icon {
  left: -6px;
  position: relative;
  top: -7px;
  -webkit-transform-origin: center;
          transform-origin: center; }
  .menu__icon::before, .menu__icon::after {
    background: #EF3114;
    content: '';
    display: block;
    height: 7px;
    left: 4px;
    position: absolute;
    width: 2px; }
  .menu__icon::before {
    -webkit-transform: rotate(-135deg) translate3d(-2.5px, -2.5px, 0);
            transform: rotate(-135deg) translate3d(-2.5px, -2.5px, 0); }
  .menu__icon::after {
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }

.menu__expand {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 3px;
  position: relative;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: all .3s;
  transition: all .3s; }
  .menu__expand::before, .menu__expand::after {
    background: #000;
    content: '';
    display: block;
    height: 7px;
    position: absolute;
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 2px; }
  @media only screen and (max-width: 1080px) {
    .menu__expand::before, .menu__expand::after {
      top: -6px; }
    .menu__expand::before {
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg); } }
  @media only screen and (min-width: 1081px) {
    .menu__expand {
      top: -12px; }
      .menu__expand::before, .menu__expand::after {
        left: 4px;
        top: 4px; }
      .menu__expand::before {
        -webkit-transform: rotate(45deg) translate3d(2.5px, -2.5px, 0);
                transform: rotate(45deg) translate3d(2.5px, -2.5px, 0); }
      .menu__expand::after {
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg); } }

.menu__item-link {
  cursor: pointer;
  display: inline-block; }
  @media only screen and (max-width: 1080px) {
    .menu__item-link {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 25px 46px 16px;
      position: relative; } }

.menu__wrapper-submenu {
  max-height: 0;
  -webkit-transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  width: 100%; }
  @media only screen and (max-width: 1080px) {
    .menu__wrapper-submenu {
      overflow: hidden; } }

.menu__submenu {
  background: #FFF;
  opacity: 0;
  -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s, -webkit-transform 0.3s;
  visibility: hidden; }
  @media only screen and (min-width: 1081px) {
    .menu__submenu {
      -webkit-box-shadow: 0 2px 40px rgba(0, 0, 0, 0.1);
              box-shadow: 0 2px 40px rgba(0, 0, 0, 0.1);
      left: 0;
      min-width: 200px;
      padding: 5px 0;
      position: absolute;
      top: calc(100% + 15px);
      -webkit-transform: translateY(-20px);
              transform: translateY(-20px); } }
  .menu__submenu a {
    text-transform: none;
    -webkit-transition: color 0.1s;
    transition: color 0.1s; }
    .menu__submenu a:hover {
      color: #EF3114; }
  .menu__submenu .menu__submenu-item {
    display: block; }
    @media only screen and (max-width: 1080px) {
      .menu__submenu .menu__submenu-item {
        padding: 0; } }
    .menu__submenu .menu__submenu-item a {
      display: inline-block;
      padding: 15px 20px 14px;
      width: 100%; }
      @media only screen and (max-width: 1080px) {
        .menu__submenu .menu__submenu-item a {
          display: block;
          padding: 10px 0 10px 66px;
          width: 100%; }
          .menu__submenu .menu__submenu-item a:last-of-type {
            padding-bottom: 24px; } }
  .menu__submenu .menu__submenu-item + .menu__submenu-item {
    border-top: 1px solid #eee; }
    @media only screen and (max-width: 1184px) {
      .menu__submenu .menu__submenu-item + .menu__submenu-item {
        border: 0; } }
  @media only screen and (max-width: 1080px) {
    .menu__submenu {
      position: relative; } }

@media only screen and (max-width: 1080px) {
  .menu__sublist {
    padding: 0; } }

.menu__submenu-item .menu__sublist-item a {
  padding: 7px 0px 7px 30px; }
  @media only screen and (max-width: 1080px) {
    .menu__submenu-item .menu__sublist-item a {
      padding-left: 76px;
      padding-top: 5px; } }

@media only screen and (max-width: 1080px) {
  .menu__submenu-item .menu__sublist-item {
    margin-left: 0;
    padding: 0; } }

.menu__signup {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 25px;
  padding-bottom: 70px;
  padding-left: 46px; }

.menu__social {
  margin-top: 40px; }

#mc_embed_signup .mc-field-group {
  position: relative; }
  #mc_embed_signup .mc-field-group label {
    margin-left: 10px;
    margin-top: 2px;
    position: absolute;
    top: 27.5px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: top 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s, transform 0.3s;
    transition: top 0.3s, transform 0.3s, -webkit-transform 0.3s;
    z-index: 1; }
    #mc_embed_signup .mc-field-group label.is-active {
      -webkit-transform: translateY(-90%) scale(0.8);
              transform: translateY(-90%) scale(0.8); }
    #mc_embed_signup .mc-field-group label.is-active + input {
      padding-top: 20px; }
    #mc_embed_signup .mc-field-group label.is-active + input + .newsletter__submit-button--reduced {
      top: -2px; }
  #mc_embed_signup .mc-field-group input {
    border: 0;
    -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
    height: 45px;
    padding: 10px 10px 5px 10px;
    margin: 5px 0;
    max-width: 300px;
    width: 80%; }
    @media only screen and (max-width: 768px) {
      #mc_embed_signup .mc-field-group input {
        max-width: none; } }

#mc_embed_signup .newsletter__submit {
  background: #EF3114;
  display: inline-block;
  margin: 20px 0;
  position: relative; }
  #mc_embed_signup .newsletter__submit:hover .newsletter__submit-hover {
    -webkit-transform: none;
            transform: none; }

#mc_embed_signup .newsletter__submit-hover {
  background: #CA1D14;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scaleX(0);
          transform: scaleX(0); }

#mc_embed_signup .newsletter__submit-button {
  background: transparent;
  border: 0;
  color: #FFF;
  cursor: pointer;
  outline: none;
  padding: 13px 25px 12px;
  position: relative; }

.reduced__newsletter .newsletter__submit-button {
  display: none; }

.reduced__newsletter #mc_embed_signup .mc-field-group .email {
  border: 1px solid #979797;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none; }

.reduced__newsletter #mc-embedded-subscribe.newsletter__submit-button--reduced {
  background: url(img/icons/arrow-red.svg) center/80% no-repeat;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  height: calc(100% + 10px);
  margin: 0;
  position: relative;
  right: 34px;
  top: 3px;
  width: 20px; }

.mc-field-group {
  position: relative; }
  .mc-field-group label {
    margin-top: 7px;
    pointer-events: none; }

section.people-grid .people-grid__headline {
  text-align: center; }
  section.people-grid .people-grid__headline .heading {
    margin-top: 100px;
    margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
    section.people-grid .people-grid__headline {
      position: relative; }
      section.people-grid .people-grid__headline .stripe-parent, section.people-grid .people-grid__headline main.history .intro__photo img, main.history .intro__photo section.people-grid .people-grid__headline img {
        -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
                box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
      section.people-grid .people-grid__headline::before {
        background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
        bottom: 0;
        content: '';
        display: block;
        height: 200px;
        left: 0;
        position: absolute;
        -webkit-transform: translateY(50%);
                transform: translateY(50%);
        width: 300px;
        z-index: -1; }
      section.people-grid .people-grid__headline::before {
        height: 110px;
        left: auto;
        right: 0;
        top: 10px;
        -webkit-transform: none;
                transform: none;
        width: 60vw; }
      section.people-grid .people-grid__headline .heading {
        margin-top: 0; } }

section.people-grid .people-grid__description {
  margin: 0 auto;
  max-width: 600px;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    section.people-grid .people-grid__description {
      margin: 30px 20px 0;
      max-width: none;
      text-align: left; } }

section.people-grid .people-grid__people {
  margin-top: 50px; }
  @media only screen and (max-width: 1300px) {
    section.people-grid .people-grid__people {
      padding: 50px 20px; } }
  @media only screen and (max-width: 768px) {
    section.people-grid .people-grid__people {
      background: #fcf6ee; } }
  @media only screen and (min-width: 1081px) and (max-width: 1300px) {
    section.people-grid .people-grid__people .person {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
      section.people-grid .people-grid__people .person:nth-child(5n + 1) {
        margin-left: 0; } }
  section.people-grid .people-grid__people .person__image {
    cursor: pointer;
    overflow: hidden;
    position: relative; }
    section.people-grid .people-grid__people .person__image img {
      display: block;
      width: 100%; }
    section.people-grid .people-grid__people .person__image:hover .person__bio {
      opacity: 1; }
  section.people-grid .people-grid__people .person__bio {
    background: #A1DFDB;
    bottom: 0;
    left: 0;
    opacity: 0;
    padding: 15px;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s; }
    @media only screen and (min-width: 1800px) {
      section.people-grid .people-grid__people .person__bio {
        padding: 30px;
        font-size: 14px; } }
    @media only screen and (max-width: 1550px) {
      section.people-grid .people-grid__people .person__bio {
        font-size: 14px; } }
    @media only screen and (min-width: 1081px) and (max-width: 1300px) {
      section.people-grid .people-grid__people .person__bio {
        font-size: 18px; } }
    @media only screen and (max-width: 1080px) {
      section.people-grid .people-grid__people .person__bio {
        font-size: 18px;
        padding: 10px; } }
    @media only screen and (max-width: 768px) {
      section.people-grid .people-grid__people .person__bio {
        display: none; } }
  section.people-grid .people-grid__people .person__info {
    margin: 15px 0; }
  section.people-grid .people-grid__people .person__title {
    line-height: 1.5;
    margin-top: -3px; }
    @media only screen and (max-width: 768px) {
      section.people-grid .people-grid__people .person__title {
        margin-top: 0; } }
  @media only screen and (max-width: 768px) {
    section.people-grid .people-grid__people .person__email span {
      display: none; }
    section.people-grid .people-grid__people .person__email::before {
      content: 'EMAIL';
      display: inline-block; } }

.pagination__wrapper.posts__pagination {
  margin-top: 30px; }
  @media only screen and (max-width: 768px) {
    .pagination__wrapper.posts__pagination {
      margin-bottom: 30px; } }

.pagination__wrapper.calendar__pagination {
  margin-top: 100px; }

.pagination__wrapper .pagination {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .pagination__wrapper .pagination li {
    margin: 0 9px; }
  .pagination__wrapper .pagination .page-number {
    -webkit-transition: color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
    .pagination__wrapper .pagination .page-number.page-number.current, .pagination__wrapper .pagination .page-number:hover {
      color: #EF3114; }
  .pagination__wrapper .pagination .prev.btn a,
  .pagination__wrapper .pagination .next.btn a {
    border-radius: 50%;
    -webkit-box-shadow: 1px 2px 9px rgba(0, 0, 0, 0.1);
            box-shadow: 1px 2px 9px rgba(0, 0, 0, 0.1);
    display: inline-block;
    height: 52px;
    width: 52px; }
    .pagination__wrapper .pagination .prev.btn a .arrow,
    .pagination__wrapper .pagination .next.btn a .arrow {
      background: url(img/icons/arrow-red.svg) center/contain no-repeat;
      background-size: 15px 17px;
      display: inline-block;
      height: 100%;
      width: 100%; }
  .pagination__wrapper .pagination .prev.btn .arrow {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }

.quote {
  margin: 80px auto; }
  @media only screen and (max-width: 768px) {
    .quote {
      margin: 50px auto; } }

.quote__inner {
  position: relative; }
  .quote__inner::before {
    background-image: url("img/icons/quote.svg");
    background-repeat: no-repeat;
    background-size: cover;
    content: '';
    height: 87px;
    left: -85px;
    position: absolute;
    top: -20px;
    width: 113px; }
    @media only screen and (max-width: 768px) {
      .quote__inner::before {
        height: 65px;
        left: -27px;
        top: -32px;
        width: 85px; } }

.quote__text {
  line-height: 1.4;
  margin-bottom: 15px;
  position: relative; }

.quote__details {
  font-family: "Trade Gothic Regular", sans-serif;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    .quote__details {
      font-size: 16px; } }

.rich-content {
  margin-bottom: 80px;
  margin-top: 80px; }
  @media only screen and (max-width: 768px) {
    .rich-content {
      margin-bottom: 50px;
      margin-top: 50px; } }

.rich-content__main-inner {
  margin-top: 100px; }
  @media only screen and (max-width: 768px) {
    .rich-content__main-inner {
      margin-top: 0; } }

.rich-content__main-content {
  background: #FFF; }
  .rich-content__main-content .content {
    padding: 60px 0;
    position: relative; }
  .rich-content__main-content .content__titles {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: 7px 2px;
    margin-bottom: 20px;
    padding-bottom: 20px; }
  .rich-content__main-content .content__title + .content__subtitle {
    margin-top: 10px; }
  .rich-content__main-content .content__description p {
    margin-bottom: 18px; }
    .rich-content__main-content .content__description p:last-of-type {
      margin-bottom: 0; }
  .rich-content__main-content .content__description + .content__cta {
    margin-top: 20px; }
  .rich-content__main-content .illustration {
    left: -33.33333%;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .rich-content__main-content .illustration img {
      display: block;
      max-height: 150px;
      max-width: 17vw; }
  @media only screen and (max-width: 1080px) {
    .rich-content__main-content .content {
      padding: 0; }
    .rich-content__main-content .illustration {
      display: none; } }
  @media only screen and (max-width: 768px) {
    .rich-content__main-content {
      -webkit-box-flex: 0 !important;
          -ms-flex: 0 0 calc(100% - 40px) !important;
              flex: 0 0 calc(100% - 40px) !important;
      margin: 0 20px !important;
      max-width: calc(100% - 40px) !important;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      padding: 0; }
      .rich-content__main-content .content {
        padding: 50px 30px 30px !important; } }

.rich-content__main-image {
  margin-bottom: 110px;
  margin-top: -50px; }
  .rich-content__main-image img {
    -webkit-box-shadow: 0 15px 40px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 15px 40px 0 rgba(0, 0, 0, 0.3);
    display: block;
    width: 100%; }
  @media only screen and (max-width: 1080px) {
    .rich-content__main-image {
      margin-bottom: auto;
      margin-top: auto;
      padding-left: 0;
      padding-right: 0; } }
  @media only screen and (max-width: 768px) {
    .rich-content__main-image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 calc(100% - 40px);
              flex: 0 0 calc(100% - 40px);
      margin: 0 20px;
      max-width: calc(100% - 40px);
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1;
      padding: 0; } }

.rich-content__lower .content {
  background: #FFF;
  margin-bottom: 0;
  margin-top: -50px;
  padding: 50px 0; }
  .rich-content__lower .content .content__inner {
    margin-bottom: 0;
    margin-top: 0;
    padding: 0; }
  .rich-content__lower .content .content__description p + p {
    margin-top: 18px; }
  .rich-content__lower .content .content__description ul li {
    list-style-type: disc;
    margin-left: 20px; }
  .rich-content__lower .content .content__description + .content__cta {
    margin-top: 20px; }

@media only screen and (min-width: 769px) {
  .rich-content__lower {
    background-color: transparent !important; } }

@media only screen and (max-width: 1080px) {
  .rich-content__lower .content {
    margin-top: 0;
    padding-bottom: 0; } }

@media only screen and (max-width: 768px) {
  .rich-content__lower {
    max-width: calc(100% - 40px); }
    .rich-content__lower .content .content__inner {
      padding: 0 30px 30px; } }

.rich-content:not(.rich-content--hero) .rich-content__main--right .rich-content__main-content {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.rich-content:not(.rich-content--hero) .rich-content__main--right .rich-content__main-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media only screen and (max-width: 768px) {
    .rich-content:not(.rich-content--hero) .rich-content__main--right .rich-content__main-image {
      margin: 0 20px; } }

@media only screen and (max-width: 1080px) {
  .rich-content:not(.rich-content--hero) .rich-content__main-content .content .content__description {
    font-size: 18px;
    line-height: 1.56; } }

@media only screen and (max-width: 768px) {
  .rich-content:not(.rich-content--hero):not(.rich-content--foreground) .rich-content__main--right .rich-content__main-image {
    margin: 0 20px; } }

.rich-content--foreground {
  position: relative; }
  .rich-content--foreground .rich-content__main--right .rich-content__main-content {
    margin-left: -16.66667%; }
    @media only screen and (max-width: 1080px) {
      .rich-content--foreground .rich-content__main--right .rich-content__main-content {
        margin-left: -8.33333%; } }
  .rich-content--foreground .rich-content__main--right .rich-content__main-image {
    margin-left: 0 !important; }
  .rich-content--foreground .rich-content__main-content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0; }
    .rich-content--foreground .rich-content__main-content .content {
      background: #FFF;
      padding: 16.66667% 23.33333%; }
  .rich-content--foreground .rich-content__main-image {
    margin-left: -16.66667%;
    padding: 0; }
    @media only screen and (max-width: 768px) {
      .rich-content--foreground .rich-content__main-image {
        margin: 0 !important; } }
  @media only screen and (max-width: 1080px) {
    .rich-content--foreground .rich-content__main-content .content {
      padding: 12.5% 18.33333%; } }
  @media only screen and (max-width: 768px) {
    .rich-content--foreground .rich-content__main-content .content {
      margin: -20px 0 0;
      padding: 50px 30px; } }

.rich-content--hero {
  margin-top: -170px;
  position: relative; }
  @media only screen and (min-width: 1081px) {
    .rich-content--hero .rich-content__main--right .rich-content__main-content {
      margin-left: -8.33333%;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .rich-content--hero .rich-content__main--right .rich-content__main-image {
      margin-left: 0;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1;
      padding-left: 0;
      padding-right: 20px; } }
  .rich-content--hero .rich-content__main {
    background: #A1DFDB;
    position: relative; }
    .rich-content--hero .rich-content__main::before {
      background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
      content: '';
      display: block;
      height: 282.58333px;
      margin-top: -100px;
      position: absolute;
      right: 0;
      top: 0;
      width: 23.85417vw;
      z-index: 1; }
  .rich-content--hero .rich-content__main-inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-top: 0;
    padding-top: 100px;
    position: relative; }
    .rich-content--hero .rich-content__main-inner::after {
      background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
      content: '';
      display: block;
      height: 15.39352vw;
      left: 0;
      margin-top: -100px;
      position: absolute;
      top: 100%;
      width: 15.39352vw;
      z-index: 1; }
      @media only screen and (min-width: 1441px) {
        .rich-content--hero .rich-content__main-inner::after {
          height: 221.66667px;
          width: 221.66667px; } }
    @media only screen and (max-width: 1080px) {
      .rich-content--hero .rich-content__main-inner {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding-bottom: 0; } }
    @media only screen and (max-width: 768px) {
      .rich-content--hero .rich-content__main-inner {
        padding-top: 60px; }
        .rich-content--hero .rich-content__main-inner::after {
          display: none; } }
  .rich-content--hero .rich-content__main-content {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0; }
    .rich-content--hero .rich-content__main-content .content {
      padding: 16.66667% 0;
      margin: 0; }
    @media only screen and (max-width: 1080px) {
      .rich-content--hero .rich-content__main-content {
        margin: -8.33333% auto 0;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2; }
        .rich-content--hero .rich-content__main-content .content {
          padding-bottom: 0; } }
    @media only screen and (max-width: 768px) {
      .rich-content--hero .rich-content__main-content .content__description {
        font-size: 18px;
        line-height: 1.56; } }
  .rich-content--hero .rich-content__main-image {
    margin: 50px 0 0 -8.33333%;
    padding: 0 0 0 20px;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 1080px) {
      .rich-content--hero .rich-content__main-image {
        margin: 0 auto;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        padding: 0; } }
  .rich-content--hero .rich-content__lower {
    margin-top: 50px; }
    .rich-content--hero .rich-content__lower .content {
      background: transparent;
      margin-top: 0;
      padding-top: 35px; }
    @media only screen and (max-width: 1080px) {
      .rich-content--hero .rich-content__lower {
        margin-top: 12px; }
        .rich-content--hero .rich-content__lower .content {
          padding-bottom: 0;
          padding-top: 0; } }
    @media only screen and (max-width: 768px) {
      .rich-content--hero .rich-content__lower {
        background: #A1DFDB;
        margin-bottom: 100px;
        margin-top: 0;
        max-width: 100%; }
        .rich-content--hero .rich-content__lower .content {
          background: #FFF;
          margin: 0 0 -4em;
          max-width: calc(100% - 40px);
          padding-top: 18px; }
          .rich-content--hero .rich-content__lower .content .content__inner {
            text-align: center; }
            .rich-content--hero .rich-content__lower .content .content__inner .content__description {
              text-align: left; }
          .rich-content--hero .rich-content__lower .content .content__cta {
            margin-left: auto;
            margin-right: auto; }
          .rich-content--hero .rich-content__lower .content .content__cta:last-of-type {
            margin-bottom: 20px; } }

.rich-content.hero--about .rich-content__main::before {
  width: 49.23611vw; }

.rich-content.hero--about .rich-content__main-inner::after {
  height: 465.33333px;
  margin-top: -200px;
  width: 11.16319vw; }

.rich-content.field-trips .rich-content__lower::before {
  background: top right/contain no-repeat url("img/illustrations/tentacle.svg");
  content: '';
  display: block;
  height: 468px;
  position: absolute;
  right: 0;
  bottom: -50px;
  width: 302px; }
  @media only screen and (max-width: 1080px) {
    .rich-content.field-trips .rich-content__lower::before {
      bottom: 20%;
      height: 25%; } }
  @media only screen and (max-width: 768px) {
    .rich-content.field-trips .rich-content__lower::before {
      content: none; } }

.rich-content.writers-rooms .rich-content__lower .content {
  position: relative; }
  .rich-content.writers-rooms .rich-content__lower .content::before {
    background: center/contain no-repeat url("img/illustrations/table.svg");
    content: '';
    display: block;
    height: 249px;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    width: 269px; }
  @media only screen and (max-width: 1080px) {
    .rich-content.writers-rooms .rich-content__lower .content::before {
      height: 200px; } }
  @media only screen and (max-width: 768px) {
    .rich-content.writers-rooms .rich-content__lower .content {
      margin-top: 50px;
      padding-top: 100px; }
      .rich-content.writers-rooms .rich-content__lower .content::before {
        height: 150px;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); } }

.simple-content {
  margin: 80px 0; }
  @media only screen and (max-width: 768px) {
    .simple-content {
      margin: 50px 0; } }
  .simple-content.u-bg--blue, .simple-content.u-bg--red, .simple-content.u-bg--teal, .simple-content.u-bg--gold {
    margin: 0;
    padding: 80px 0; }
    @media only screen and (max-width: 768px) {
      .simple-content.u-bg--blue, .simple-content.u-bg--red, .simple-content.u-bg--teal, .simple-content.u-bg--gold {
        padding: 50px 0; } }
  .simple-content .content p {
    margin: 18px 0; }
  .simple-content .content--center {
    text-align: center; }
  .simple-content .content--right {
    text-align: right; }
  .simple-content .content.annual-report {
    margin-bottom: 75px; }

.simple-headline + .simple-content {
  margin-top: 0; }

.simple-content.programs-footer {
  padding: 60px 0; }
  .simple-content.programs-footer .content {
    position: relative; }
  .simple-content.programs-footer .illustration {
    left: 50%;
    position: absolute;
    top: -160px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 128px; }
  .simple-content.programs-footer .content__titles {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .simple-content.programs-footer .content__titles .content__title {
      margin: 25px 0 20px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .simple-content.programs-footer .content__titles .content__subtitle {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
  .simple-content.programs-footer .content__cta {
    margin-top: 0; }
  @media only screen and (max-width: 1080px) {
    .simple-content.programs-footer .illustration {
      top: -130px;
      width: 90px; } }
  @media only screen and (max-width: 768px) {
    .simple-content.programs-footer .content__titles .content__title {
      margin: 15px 0 10px; } }

.steps {
  margin: 80px 0; }
  @media only screen and (max-width: 768px) {
    .steps {
      margin: 50px 0; } }
  .steps--goals .steps__title-text {
    position: relative; }
    .steps--goals .steps__title-text::after {
      background: url("img/illustrations/illu-shipps-wheel.svg");
      content: '';
      display: block;
      height: 81px;
      position: absolute;
      right: -30px;
      top: -30px;
      width: 83px; }
      @media only screen and (max-width: 1080px) {
        .steps--goals .steps__title-text::after {
          right: -70px;
          top: -50px; } }
      @media only screen and (max-width: 768px) {
        .steps--goals .steps__title-text::after {
          right: -60px;
          top: -40px;
          -webkit-transform: scale(0.5);
                  transform: scale(0.5);
          z-index: -1; } }
  .steps.internship-seasons .steps__inner {
    background: #fcf6ee;
    margin: 0 auto;
    padding: 50px 30px; }
  @media only screen and (max-width: 768px) {
    .steps.internship-seasons {
      margin: 0 20px; } }
  .steps.internship-seasons .steps__title {
    margin-bottom: 30px; }
  .steps.internship-seasons .steps__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .steps.internship-seasons .steps__list-inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
  .steps.internship-seasons .step {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    margin: 0 0 0 30px;
    max-width: none;
    padding: 0 0 0 50px;
    position: relative; }
    .steps.internship-seasons .step .content p {
      margin: 0; }
      @media only screen and (max-width: 768px) {
        .steps.internship-seasons .step .content p {
          z-index: -1; } }
    @media only screen and (max-width: 1080px) {
      .steps.internship-seasons .step {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin: 10px 0;
        max-width: 100%;
        width: 100%; } }
  .steps.internship-seasons .step:last-child {
    margin-bottom: 0;
    margin-right: 0; }
  .steps.internship-seasons .step__inner {
    margin: 0; }
  .steps.internship-seasons .step__number {
    font-size: 72px;
    left: 0;
    line-height: 1.04;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    @media only screen and (max-width: 768px) {
      .steps.internship-seasons .step__number {
        font-size: 60px; } }
  .steps.internship-seasons .step__main-content {
    padding: 0; }
  .steps.internship-seasons .step__meta {
    display: none; }

.steps__title {
  margin-bottom: 80px;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 768px) {
    .steps__title {
      margin-bottom: 30px; } }

.steps__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .steps__list-inner {
    width: 100%; }

.step {
  margin-bottom: 50px; }
  @media only screen and (max-width: 768px) {
    .step {
      margin-bottom: 10px; } }

.step__number {
  text-align: right; }
  .step:nth-child(1) .step__number {
    color: #DDA350; }
  .step:nth-child(2) .step__number {
    color: #EF3114; }
  .step:nth-child(3) .step__number {
    color: #A1DFDB; }
  .step:nth-child(4) .step__number {
    color: #0C5C58; }

.step__main-content {
  padding-top: 30px; }
  .step__main-content .content {
    padding-right: 30px; }
  @media only screen and (max-width: 768px) {
    .step__main-content {
      padding-top: 0; } }

.step__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px; }

.step__line {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: center;
  background-repeat: repeat-x;
  background-size: 7px 2px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 20px; }

.tease {
  -webkit-box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
  display: block;
  text-align: center; }
  @media screen and (max-width: 435px) {
    .tease {
      font-size: 16px; } }
  .tease h2 {
    margin: 10px 0 15px; }
    @media screen and (max-width: 435px) {
      .tease h2 {
        margin-bottom: 35px; } }

.tease__side, .tease__preview--collapsed {
  display: none; }

.tease__category, .tease__date {
  display: inline-block; }

.tease__category {
  color: #EF3114; }
  .tease__category::after {
    content: '|';
    margin: 0 5px; }

.tease__thumbnail {
  background-position: center;
  background-size: cover;
  padding-top: 60%;
  width: 100%; }
  @media screen and (max-width: 435px) {
    .tease__thumbnail {
      margin-top: 0; } }

.tease-event .tease__side {
  background: #fcf6ee; }

.tease__event-date {
  text-align: center; }

@media screen and (max-width: 435px) {
  .tease__event-title {
    font-size: 18px;
    margin-top: 10px; } }

.tease__event-day {
  display: inline-block;
  font-size: 175px;
  position: relative; }
  .tease:nth-child(4n) .tease__event-day,
  .slide:nth-child(4n) .tease__event-day {
    color: #EF3114; }
  .tease:nth-child(4n + 1) .tease__event-day,
  .slide:nth-child(4n + 1) .tease__event-day {
    color: #0C5C58; }
  .tease:nth-child(4n + 2) .tease__event-day,
  .slide:nth-child(4n + 2) .tease__event-day {
    color: #A1DFDB; }
  .tease:nth-child(4n + 3) .tease__event-day,
  .slide:nth-child(4n + 3) .tease__event-day {
    color: #DDA350; }

.tease__event-month {
  color: #000;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translate(-110%, 50%) rotate(90deg);
          transform: translate(-110%, 50%) rotate(90deg); }
  @media only screen and (max-width: 768px) {
    .tease__event-month {
      left: 22px;
      top: 22px; } }

.tease--wide {
  min-height: 450px; }
  @media only screen and (max-width: 768px) {
    .tease--wide {
      min-height: 0; } }
  .tease--wide .card__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 100%; }
  .tease--wide .tease__side, .tease--wide .tease__preview--collapsed {
    display: block; }
    @media only screen and (max-width: 1080px) {
      .tease--wide .tease__side, .tease--wide .tease__preview--collapsed {
        display: none; } }
  .tease--wide .tease__side {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
    width: 0; }

.tease-post.has-image:not(.tease--wide) .card__inner {
  height: 100%; }
  body.home .tease-post.has-image:not(.tease--wide) .card__inner {
    height: auto; }

.tease-post.has-image:not(.tease--wide) .tease__content {
  height: 100%; }

.tease-post.has-image:not(.tease--wide) .tease__content-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.two-col {
  margin: 80px 0;
  overflow: hidden; }
  @media only screen and (max-width: 768px) {
    .two-col {
      margin: 50px 0; } }
  .two-col--left .two-col__image::before {
    right: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  @media only screen and (min-width: 769px) {
    .two-col--right .two-col__secondary {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .two-col--right .two-col__main {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .two-col--right .two-col__image::before {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%); } }
  .two-col--list .two-col__main {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

.two-col__main .content .illustration {
  margin-bottom: 20px; }

.two-col__main .content .content__subtitle,
.two-col__main .content .content__description {
  margin: 10px 0; }

@media only screen and (max-width: 768px) {
  .two-col__main {
    padding: 0 20px; } }

@media only screen and (max-width: 768px) {
  .two-col__secondary {
    padding: 0 20px; } }

.two-col__image {
  position: relative; }
  .two-col__image .stripe-parent, .two-col__image main.history .intro__photo img, main.history .intro__photo .two-col__image img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  .two-col__image::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  .two-col__image::before {
    bottom: 0;
    height: 100%;
    left: auto;
    right: auto;
    top: 0;
    -webkit-transform: none;
            transform: none; }
  .two-col__image img {
    display: block; }

.two-col__list {
  background: #f1fafa;
  padding: 40px; }
  .two-col__list ul li {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #A1DFDB), color-stop(0%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to right, #A1DFDB 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 7px 2px;
    background-repeat: repeat-x;
    margin-left: 50px;
    padding: 20px 0;
    position: relative; }
    .two-col__list ul li::before {
      background: center/contain no-repeat url("img/icons/checked.svg");
      content: '';
      height: 42px;
      left: -60px;
      position: absolute;
      top: 14px;
      width: 42px; }
    .two-col__list ul li:last-child {
      background: transparent; }
  @media only screen and (max-width: 768px) {
    .two-col__list {
      padding: 30px 15px; } }

@media only screen and (max-width: 768px) {
  .two-col.volunteer-tutor .two-col__main {
    padding: 0 20px; } }

section.whats-new {
  background: #A1DFDB;
  margin-top: 200px;
  padding: 100px 0 50px;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    section.whats-new {
      padding-bottom: 20px;
      padding-top: 40px; } }
  @media only screen and (max-width: 768px) {
    section.whats-new {
      padding-bottom: 0; } }
  section.whats-new .heading {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    max-width: calc(100% - 0px);
    text-align: center;
    -webkit-transform: translate(-50%, -120%);
            transform: translate(-50%, -120%);
    white-space: nowrap; }
    section.whats-new .heading em {
      left: -10%;
      position: absolute;
      top: -10%; }
      @media only screen and (max-width: 768px) {
        section.whats-new .heading em {
          left: -5%;
          top: -30%; } }
  section.whats-new.whats-new--home .slide .slide__inner .card .card__inner {
    margin: 30px 0; }
  @media only screen and (max-width: 768px) {
    section.whats-new.whats-new--home {
      padding: 50px 0; }
      section.whats-new.whats-new--home .heading {
        margin-bottom: 0;
        -webkit-transform: translate(-50%, -120%);
                transform: translate(-50%, -120%); } }
  @media only screen and (max-width: 768px) and (max-width: 768px) {
    section.whats-new.whats-new--home .tease__content {
      height: 100%; } }
  @media only screen and (max-width: 768px) and (max-width: 768px) {
    section.whats-new.whats-new--home .tease__content-inner {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      section.whats-new.whats-new--home .tease__content-inner h2 {
        font-size: 18px;
        margin-bottom: 15px; } }
  section.whats-new.whats-new--index {
    margin-bottom: 125px;
    margin-top: 100px;
    padding: 30px 0 0; }
    @media only screen and (max-width: 1080px) {
      section.whats-new.whats-new--index {
        margin-top: 70px;
        padding-bottom: 30px; } }
    @media only screen and (max-width: 768px) {
      section.whats-new.whats-new--index {
        margin-top: 60px; } }
    section.whats-new.whats-new--index .slick-list {
      overflow: visible; }
    section.whats-new.whats-new--index .heading {
      -webkit-transform: translate(-50%, -70%);
              transform: translate(-50%, -70%); }
      @media only screen and (max-width: 1080px) {
        section.whats-new.whats-new--index .heading {
          -webkit-transform: translate(-50%, -80%);
                  transform: translate(-50%, -80%); } }
      @media only screen and (max-width: 768px) {
        section.whats-new.whats-new--index .heading {
          -webkit-transform: translate(-50%, -100%);
                  transform: translate(-50%, -100%); } }
    section.whats-new.whats-new--index .whats-new__inner {
      -webkit-transform: translateY(70px);
              transform: translateY(70px); }
      @media only screen and (max-width: 1080px) {
        section.whats-new.whats-new--index .whats-new__inner {
          -webkit-transform: translateY(0);
                  transform: translateY(0); } }
    section.whats-new.whats-new--index .whats-new__slides {
      margin: 0 auto;
      max-width: 1500px; }
    section.whats-new.whats-new--index .slide .slide__inner {
      max-width: 90%;
      width: auto; }
      @media only screen and (max-width: 1080px) {
        section.whats-new.whats-new--index .slide .slide__inner {
          max-width: 80%; } }
      @media screen and (max-width: 435px) {
        section.whats-new.whats-new--index .slide .slide__inner {
          max-width: 90%; } }
    section.whats-new.whats-new--index .tease-event .tease__side {
      background: #fcf6ee; }
    section.whats-new.whats-new--index .slide .slide__inner .card {
      margin: 0;
      padding: 30px; }
      @media only screen and (max-width: 1080px) {
        section.whats-new.whats-new--index .slide .slide__inner .card {
          max-width: 500px; } }
      @media only screen and (max-width: 768px) {
        section.whats-new.whats-new--index .slide .slide__inner .card {
          max-width: 333px;
          padding: 0; } }
      section.whats-new.whats-new--index .slide .slide__inner .card .card__inner {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin: 30px 0;
        padding: 0; }
        @media only screen and (max-width: 1080px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .card__inner {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
      section.whats-new.whats-new--index .slide .slide__inner .card .tease__side {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        @media only screen and (max-width: 1080px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__side {
            display: none; } }
      section.whats-new.whats-new--index .slide .slide__inner .card .tease__event-date {
        display: block; }
      section.whats-new.whats-new--index .slide .slide__inner .card.tease-post .tease__side-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 332px;
        width: 100%; }
        section.whats-new.whats-new--index .slide .slide__inner .card.tease-post .tease__side-inner .tease__thumbnail {
          width: 100%; }
          section.whats-new.whats-new--index .slide .slide__inner .card.tease-post .tease__side-inner .tease__thumbnail--default {
            background-color: #fcf6ee;
            background-repeat: no-repeat;
            background-size: contain;
            height: 100%; }
      section.whats-new.whats-new--index .slide .slide__inner .card .tease__content {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        @media only screen and (max-width: 1080px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content {
            display: block;
            -webkit-box-flex: 1;
                -ms-flex: 1 1 auto;
                    flex: 1 1 auto;
            padding: 0 15px; } }
        @media only screen and (min-width: 1081px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content .tease__event-date {
            display: none; } }
      section.whats-new.whats-new--index .slide .slide__inner .card .tease__content-inner {
        margin: auto;
        max-width: 81%; }
        @media only screen and (max-width: 1080px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content-inner {
            max-width: 100%; } }
        @media only screen and (max-width: 768px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content-inner h2 {
            font-size: 18px;
            margin-bottom: 15px; } }
        @media only screen and (min-width: 1081px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content-inner .tease__thumbnail {
            display: none; } }
        @media screen and (max-width: 435px) {
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content-inner .tease__thumbnail {
            margin-top: 0; } }
      @media only screen and (min-width: 1081px) {
        section.whats-new.whats-new--index .slide .slide__inner .card .tease__event-day {
          font-size: 300px; }
        section.whats-new.whats-new--index .slide .slide__inner .card .tease__event-month {
          font-size: 70px; } }
      @media only screen and (max-width: 768px) {
        section.whats-new.whats-new--index .slide .slide__inner .card.tease--wide {
          min-height: auto; }
        section.whats-new.whats-new--index .slide .slide__inner .card .tease__side,
        section.whats-new.whats-new--index .slide .slide__inner .card .tease__preview--collapsed {
          display: none; }
        section.whats-new.whats-new--index .slide .slide__inner .card .tease__content {
          padding: 0; }
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content .tease__event-date,
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content .tease__thumbnail {
            display: block; }
          section.whats-new.whats-new--index .slide .slide__inner .card .tease__content .tease__content-inner {
            max-width: 100%; } }
    @media only screen and (min-width: 1081px) {
      section.whats-new.whats-new--index .carousel__arrow {
        display: block !important; } }

.whats-new__inner {
  overflow: hidden; }
  .whats-new__inner .carousel__arrow--prev {
    left: 2vw; }
  .whats-new__inner .carousel__arrow--next {
    right: 2vw; }

.whats-new__slides .slick-track {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media screen and (min-width: 1285px) {
  .whats-new__slides {
    padding: 0 8vw; } }

@media only screen and (max-width: 768px) {
  .whats-new__slides {
    padding: 0; } }

.calendar__inner {
  background: #A1DFDB;
  margin-bottom: 75px;
  margin-top: 100px; }
  @media only screen and (max-width: 1080px) {
    .calendar__inner {
      margin-top: 70px;
      padding-top: 40px; } }
  @media only screen and (max-width: 768px) {
    .calendar__inner {
      margin-top: 60px;
      padding-top: 30px; } }

.calendar__heading {
  margin-bottom: -50px;
  position: relative;
  text-align: center;
  top: -60px; }
  @media only screen and (max-width: 1080px) {
    .calendar__heading {
      top: -70px; } }
  @media only screen and (max-width: 768px) {
    .calendar__heading {
      top: -60px; } }
  .calendar__heading .heading {
    display: inline-block;
    margin-bottom: 0;
    position: relative; }
  .calendar__heading .illustration--bird {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translate(-90%, -40%);
            transform: translate(-90%, -40%); }
    @media only screen and (max-width: 1080px) {
      .calendar__heading .illustration--bird {
        display: none; } }

.calendar__nav-inner, .calendar__events-inner {
  background: white;
  -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.06);
          box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.06); }

.calendar__nav {
  margin-bottom: -75px; }

.calendar__nav-inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 24px 30px 20px; }
  .calendar__nav-inner .menu-item {
    line-height: 1;
    margin: 0 20px; }
  .calendar__nav-inner .current-menu-item {
    color: #EF3114; }
  @media only screen and (max-width: 768px) {
    .calendar__nav-inner {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .calendar__nav-inner .menu-item {
        margin: 10px; } }

.calendar__events {
  top: 75px;
  position: relative; }

.calendar__events-empty {
  min-height: 500px;
  padding: 50px; }

.calendar__events-grid {
  padding: 0 10px; }

.calender__events-grid-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  top: 30px; }
  .calender__events-grid-inner .tease {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 32%;
            flex: 0 0 32%;
    margin: 0.7vw 0 0.7vw 2%;
    max-width: 32%; }
  @media only screen and (min-width: 1081px) {
    .calender__events-grid-inner .tease:nth-child(3n + 1) {
      margin-left: 0; } }
  @media only screen and (min-width: 769px) and (max-width: 1080px) {
    .calender__events-grid-inner .tease {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 49%;
              flex: 0 0 49%;
      max-width: 49%; }
    .calender__events-grid-inner .tease:nth-child(2n + 1) {
      margin-left: 0; } }
  @media only screen and (max-width: 768px) {
    .calender__events-grid-inner .tease {
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      margin: 15px 10px;
      max-width: none; } }

.calendar__volunteer {
  height: 7500px;
  padding: 30px 20px; }
  .calendar__volunteer iframe {
    background: #FFF;
    height: 100%;
    width: 100%; }
  @media only screen and (max-width: 768px) {
    .calendar__volunteer {
      padding: 10px 5px; } }

.calendar__location {
  cursor: pointer; }
  .calendar__location.is-active {
    color: #EF3114; }

body.page-careers-landing article.post .banner {
  background: #A1DFDB; }

body.page-careers-landing article.post .post__content h1 {
  color: #EF3114;
  margin: -100px auto 50px; }
  @media only screen and (max-width: 1080px) {
    body.page-careers-landing article.post .post__content h1 {
      margin-top: -90px; } }
  @media only screen and (max-width: 768px) {
    body.page-careers-landing article.post .post__content h1 {
      margin-top: -50px; } }

body.page-careers-landing article.post .post__meta {
  display: none; }

body.page-careers-landing .careers__intro {
  margin: 50px 0 100px; }
  @media only screen and (max-width: 768px) {
    body.page-careers-landing .careers__intro {
      margin-top: 30px; } }

body.page-careers-landing .careers__section-name {
  margin: 50px 0 10px; }
  @media only screen and (max-width: 768px) {
    body.page-careers-landing .careers__section-name {
      font-size: 30px; } }

body.page-careers-landing .careers__subsection {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  padding-bottom: 30px; }

body.page-careers-landing .careers__subsection-name {
  color: #979797;
  margin-top: 30px; }

body.page-careers-landing .careers__posts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (max-width: 1080px) {
    body.page-careers-landing .careers__posts {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

body.page-careers-landing .careers__post {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
  margin: 30px 0 30px 3%;
  max-width: 30%; }
  @media only screen and (max-width: 1080px) {
    body.page-careers-landing .careers__post {
      -webkit-box-flex: 0;
          -ms-flex: none;
              flex: none;
      margin-left: 0;
      max-width: none; } }

body.page-careers-landing .careers__post:nth-child(3n + 1) {
  margin-left: 0; }

body.page-careers-landing .careers__post-title {
  margin-bottom: 15px; }

body.page-careers-landing .careers__footnote {
  margin: 75px 0; }

body.page-careers-landing .careers__newsletter {
  background: #A1DFDB;
  padding: 100px 0 50px;
  text-align: center; }
  body.page-careers-landing .careers__newsletter #mc_embed_signup .mc-field-group {
    margin: 0 auto;
    max-width: 300px;
    width: 80%; }
    @media only screen and (max-width: 768px) {
      body.page-careers-landing .careers__newsletter #mc_embed_signup .mc-field-group {
        max-width: none;
        width: 100%; } }
    body.page-careers-landing .careers__newsletter #mc_embed_signup .mc-field-group input {
      max-width: none;
      width: 100%; }
  @media only screen and (max-width: 768px) {
    body.page-careers-landing .careers__newsletter {
      text-align: left; } }
  body.page-careers-landing .careers__newsletter .heading {
    display: inline-block;
    margin-bottom: 0;
    position: relative; }
    @media only screen and (max-width: 768px) {
      body.page-careers-landing .careers__newsletter .heading {
        margin-bottom: 0;
        margin-left: 15%;
        max-width: 70%;
        text-align: left; }
        body.page-careers-landing .careers__newsletter .heading .heading__content {
          padding: 0; } }
    body.page-careers-landing .careers__newsletter .heading .illustration--sparks {
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translate(100%, -48%);
              transform: translate(100%, -48%);
      width: 60px; }
      @media only screen and (max-width: 768px) {
        body.page-careers-landing .careers__newsletter .heading .illustration--sparks {
          width: 50px; } }
      @media screen and (max-width: 585px) {
        body.page-careers-landing .careers__newsletter .heading .illustration--sparks {
          left: 260px;
          -webkit-transform: translate(0%, -10%);
                  transform: translate(0%, -10%); } }
      @media screen and (max-width: 360px) {
        body.page-careers-landing .careers__newsletter .heading .illustration--sparks {
          display: none; } }
  body.page-careers-landing .careers__newsletter .newsletter__text {
    color: #FFF; }
  body.page-careers-landing .careers__newsletter p {
    margin: 30px auto 75px;
    max-width: 600px; }
    @media only screen and (max-width: 768px) {
      body.page-careers-landing .careers__newsletter p {
        margin-left: 15%;
        max-width: 70%;
        text-align: left; } }
  @media only screen and (max-width: 768px) {
    body.page-careers-landing .careers__newsletter .t-h2, body.page-careers-landing .careers__newsletter article.post .post__body h2, article.post .post__body body.page-careers-landing .careers__newsletter h2, body.page-careers-landing .careers__newsletter body.page-publications .two-col__main .content__title, body.page-publications .two-col__main body.page-careers-landing .careers__newsletter .content__title {
      margin-left: 15%;
      max-width: 70%;
      text-align: left; } }
  body.page-careers-landing .careers__newsletter .newsletter__form {
    margin: 20px 0; }
    @media only screen and (max-width: 768px) {
      body.page-careers-landing .careers__newsletter .newsletter__form {
        margin-left: 15%;
        max-width: 70%;
        text-align: left; }
        body.page-careers-landing .careers__newsletter .newsletter__form #mc_embed_signup .mc-field-group input {
          width: 100%; } }
  @media only screen and (max-width: 768px) {
    body.page-careers-landing .careers__newsletter {
      padding-top: 80px; }
      body.page-careers-landing .careers__newsletter .heading {
        margin-bottom: 0; }
        body.page-careers-landing .careers__newsletter .heading .illustration--sparks {
          display: none; } }

@media screen and (max-width: 400px) {
  body.single-careers article.post .post__content h1 {
    text-align: left; } }

body.single-careers .post__body .career__body {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x; }

body.single-careers .post__body .career__footnote {
  margin: 50px 0; }

@media only screen and (max-width: 768px) {
  main.contact {
    margin-top: 30px; } }

main.contact .location {
  margin-bottom: 100px; }
  main.contact .location .rich-content__main::after {
    content: none; }
  main.contact .location__headline {
    position: relative;
    text-align: center;
    z-index: 2; }
    main.contact .location__headline .heading {
      margin-bottom: 0; }
      main.contact .location__headline .heading .illustration {
        position: absolute; }
        @media only screen and (max-width: 1080px) {
          main.contact .location__headline .heading .illustration img {
            max-height: 70px; } }
  main.contact .location--mission {
    padding-top: 40px; }
    main.contact .location--mission .heading .illustration {
      left: 0;
      top: 0;
      -webkit-transform: translate(-75%, -45%);
              transform: translate(-75%, -45%); }
    main.contact .location--mission .rich-content {
      z-index: 0; }
    main.contact .location--mission .rich-content__main::before {
      height: 343.5px;
      width: 40.77546vw; }
    main.contact .location--mission .rich-content__main {
      background: #fcf6ee; }
  main.contact .location--tenderloin .heading .illustration {
    right: 0;
    top: 0;
    -webkit-transform: translate(80%, -45%);
            transform: translate(80%, -45%); }
  main.contact .location--tenderloin .rich-content__main::before {
    bottom: -50px;
    height: auto;
    top: 250px;
    width: 23.85417vw; }
    @media only screen and (max-width: 768px) {
      main.contact .location--tenderloin .rich-content__main::before {
        bottom: 0; } }
  main.contact .location--tenderloin .rich-content__main-content {
    z-index: 1; }
  main.contact .location--mission-bay .location__headline .illustration {
    left: 0;
    top: 0;
    -webkit-transform: translate(-65%, -55%);
            transform: translate(-65%, -55%);
    width: 120px; }
    @media only screen and (max-width: 1080px) {
      main.contact .location--mission-bay .location__headline .illustration {
        -webkit-transform: translate(-45%, -55%);
                transform: translate(-45%, -55%); } }
    @media only screen and (max-width: 768px) {
      main.contact .location--mission-bay .location__headline .illustration {
        -webkit-transform: translate(-20%, -65%) !important;
                transform: translate(-20%, -65%) !important; } }
  main.contact .location--mission-bay .rich-content__main::before {
    bottom: 0;
    height: 648.08333px;
    left: 0;
    top: auto;
    right: auto;
    width: 15.39352vw; }
  main.contact .location--mission-bay .rich-content__main {
    background: #fcf6ee; }
    main.contact .location--mission-bay .rich-content__main .rich-content__main-content {
      position: relative;
      z-index: 1; }
  @media only screen and (max-width: 768px) {
    main.contact .location {
      margin-bottom: 100px; }
      main.contact .location:last-of-type {
        margin-bottom: 50px; }
      main.contact .location .location__headline .heading em {
        -webkit-transform: translate(-20%, 0);
                transform: translate(-20%, 0); }
      main.contact .location .location__headline .heading .illustration {
        left: 0;
        right: auto;
        -webkit-transform: translate(10%, -70%);
                transform: translate(10%, -70%); }
        main.contact .location .location__headline .heading .illustration img {
          max-height: 55px; }
      main.contact .location .rich-content__main::before {
        width: 50vw;
        height: 200px;
        left: auto;
        right: 0;
        top: 90px; } }

main.contact .rich-content.rich-content--hero {
  margin-top: -70px; }
  main.contact .rich-content.rich-content--hero .rich-content__main-inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 200px 0 100px; }
    main.contact .rich-content.rich-content--hero .rich-content__main-inner::after {
      content: none; }
    @media only screen and (max-width: 1080px) {
      main.contact .rich-content.rich-content--hero .rich-content__main-inner {
        padding-bottom: 0; } }
  main.contact .rich-content.rich-content--hero .rich-content__main-content .content .detail__title {
    margin-bottom: 10px; }
  main.contact .rich-content.rich-content--hero .rich-content__main-content .content .detail + .detail {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
    background-position: top;
    background-size: 7px 2px;
    background-repeat: repeat-x;
    margin-top: 25px;
    padding-top: 30px; }
  main.contact .rich-content.rich-content--hero .rich-content__main-image {
    margin-top: -50px; }
  @media only screen and (max-width: 1080px) {
    main.contact .rich-content.rich-content--hero {
      margin-top: -40px; } }
  @media only screen and (max-width: 768px) {
    main.contact .rich-content.rich-content--hero {
      margin-top: -30px; }
      main.contact .rich-content.rich-content--hero .rich-content__main-inner {
        padding: 120px 0 0; }
      main.contact .rich-content.rich-content--hero .rich-content__main-content .content {
        padding: 50px 30px 10px; } }

main.contact .contact__info .contact__info-footer {
  position: relative;
  margin: 100px auto 0; }
  main.contact .contact__info .contact__info-footer .stripe-parent, main.contact .contact__info .contact__info-footer main.history .intro__photo img, main.history .intro__photo main.contact .contact__info .contact__info-footer img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.contact .contact__info .contact__info-footer::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.contact .contact__info .contact__info-footer::before {
    height: 70px;
    position: relative;
    -webkit-transform: none;
            transform: none;
    width: 100%; }
  @media only screen and (max-width: 768px) {
    main.contact .contact__info .contact__info-footer {
      margin-top: 40px; } }

main.contact .contact__info .contact-item {
  margin-top: 80px;
  padding-right: 60px; }
  @media only screen and (max-width: 768px) {
    main.contact .contact__info .contact-item {
      margin-top: 40px;
      padding-right: 0; } }

main.contact .contact__info .contact-item__title {
  margin-bottom: 10px; }

.page-donate #error {
  display: none; }

.donate__hero {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 750px;
  margin-top: 130px; }
  @media only screen and (max-width: 1080px) {
    .donate__hero {
      background-position: top left 70%;
      background-size: auto 570px;
      height: auto;
      margin-bottom: 30px;
      margin-top: 90px; } }
  @media only screen and (max-width: 768px) {
    .donate__hero {
      margin-top: 70px; } }

.donate__headline {
  margin-bottom: -100px;
  text-align: center;
  -webkit-transform: translateY(-70%);
          transform: translateY(-70%); }
  @media only screen and (max-width: 1080px) {
    .donate__headline {
      margin-bottom: 0; } }
  .donate__headline h1 {
    margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
    .donate__headline .heading__content span {
      -webkit-transform: translate(-15%, 0);
              transform: translate(-15%, 0); } }
  .donate__headline em {
    bottom: 50%;
    -webkit-transform: translate(50%, 50%);
            transform: translate(50%, 50%); }
    @media only screen and (max-width: 1080px) {
      .donate__headline em {
        bottom: auto;
        -webkit-transform: translate(80%, 50%);
                transform: translate(80%, 50%); } }

.donate__form {
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 1080px) {
    .donate__form {
      margin: 300px 20px 0; } }

.donate__why {
  padding-left: 8.46065vw; }
  @media only screen and (max-width: 768px) {
    .donate__why {
      padding-left: 0; } }

.donate__why-inner {
  background: #fcf6ee;
  padding: 75px 0; }
  .donate__why-inner .donate__why-title, .donate__why-inner .content__title {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 7px 2px;
    background-repeat: repeat-x;
    padding-bottom: 20px; }
  @media only screen and (max-width: 768px) {
    .donate__why-inner {
      padding: 50px 0; } }

.donate__why-reason {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #DDA350), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #DDA350 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  padding: 20px 0 20px 40px;
  position: relative; }
  .donate__why-reason::before {
    background: url(img/icons/arrow-bullet.svg) center/contain no-repeat;
    content: '';
    height: 20px;
    left: 0;
    position: absolute;
    top: 22px;
    width: 24px; }
  .donate__why-reason:last-child {
    background: none; }

.donate__why-other {
  position: relative; }
  .donate__why-other::before {
    background: url(img/icons/arrow-gold.svg) center/contain no-repeat;
    content: '';
    height: 71px;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-100%, -34%);
            transform: translate(-100%, -34%);
    width: 76px; }
    @media only screen and (max-width: 768px) {
      .donate__why-other::before {
        height: 53px;
        -webkit-transform: translate(-45%, -50%);
                transform: translate(-45%, -50%);
        width: 57px; } }
  @media only screen and (max-width: 768px) {
    .donate__why-other .content {
      position: relative;
      z-index: 1; } }
  .donate__why-other .content__description {
    margin: 15px 0; }
  .donate__why-other .content__cta {
    background: transparent;
    padding: 0; }
  @media only screen and (max-width: 768px) {
    .donate__why-other {
      margin-bottom: 50px;
      margin-top: 50px; } }

.donate__impact {
  position: relative; }
  .donate__impact .stripe-parent, .donate__impact main.history .intro__photo img, main.history .intro__photo .donate__impact img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  .donate__impact::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  .donate__impact::before {
    bottom: auto;
    height: 80%;
    left: 0;
    top: -10%;
    -webkit-transform: none;
            transform: none;
    width: 16.66667%;
    z-index: 1; }
    @media only screen and (max-width: 1080px) {
      .donate__impact::before {
        display: none; } }

.donate__impact-headline {
  margin-bottom: -50px;
  position: relative;
  text-align: center;
  top: -100px; }
  .donate__impact-headline .heading {
    margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
    .donate__impact-headline {
      margin-bottom: 0;
      margin-top: -50px;
      top: auto; } }

.donate__impact-levels {
  padding-bottom: 200px; }

.donate__impact-levels-inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .donate__impact-levels-inner {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.donate__impact-levels-col {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 45.8%;
          flex: 0 0 45.8%;
  max-width: 45.8%; }
  @media only screen and (max-width: 768px) {
    .donate__impact-levels-col {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; } }
  .donate__impact-levels-col:first-child .donate__impact-level:nth-child(4n) .level__amount {
    color: #EF3114; }
  .donate__impact-levels-col:first-child .donate__impact-level:nth-child(4n + 1) .level__amount {
    color: #A1DFDB; }
  .donate__impact-levels-col:first-child .donate__impact-level:nth-child(4n + 2) .level__amount {
    color: #DDA350; }
  .donate__impact-levels-col:first-child .donate__impact-level:nth-child(4n + 3) .level__amount {
    color: #0C5C58; }
  @media only screen and (max-width: 768px) {
    .donate__impact-levels-col:first-child .donate__impact-level {
      padding-left: 6.93287vw;
      padding-right: 23.85417vw; }
      .donate__impact-levels-col:first-child .donate__impact-level:nth-child(2n) {
        padding-left: 23.85417vw;
        padding-right: 6.93287vw; } }
  .donate__impact-levels-col:nth-child(2) .donate__impact-level:nth-child(4n) .level__amount {
    color: #DDA350; }
  .donate__impact-levels-col:nth-child(2) .donate__impact-level:nth-child(4n + 1) .level__amount {
    color: #0C5C58; }
  .donate__impact-levels-col:nth-child(2) .donate__impact-level:nth-child(4n + 2) .level__amount {
    color: #EF3114; }
  .donate__impact-levels-col:nth-child(2) .donate__impact-level:nth-child(4n + 3) .level__amount {
    color: #A1DFDB; }
  @media only screen and (max-width: 768px) {
    .donate__impact-levels-col:nth-child(2) .donate__impact-level {
      padding-left: 23.85417vw;
      padding-right: 6.93287vw; }
      .donate__impact-levels-col:nth-child(2) .donate__impact-level:nth-child(2n) {
        padding-left: 6.93287vw;
        padding-right: 23.85417vw; } }

.donate__impact-level + .donate__impact-level {
  margin-top: 75px; }

.donate__impact-level .level__amount {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  margin-bottom: 10px;
  position: relative; }
  .donate__impact-level .level__amount::before {
    content: '$';
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-40%, -10%);
            transform: translate(-40%, -10%); }

@media only screen and (max-width: 768px) {
  .donate__impact-level {
    margin-top: 60px !important; }
    .donate__impact-level .level__amount::before {
      font-size: 38px; } }

.donate-impact__illustration {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  -webkit-transform: translate(35%, -10%);
          transform: translate(35%, -10%); }
  @media only screen and (max-width: 1080px) {
    .donate-impact__illustration {
      left: auto;
      right: 0;
      -webkit-transform: translate(-5%, -10%);
              transform: translate(-5%, -10%); } }
  @media only screen and (max-width: 768px) {
    .donate-impact__illustration {
      max-height: 175px;
      max-width: 70%;
      right: 20px;
      -webkit-transform: none;
              transform: none; } }

.donate__footnote {
  padding: 30px 5%; }

main.history .intro {
  margin: 40px 0 50px;
  overflow: hidden; }
  main.history .intro .heading {
    text-align: center; }
    @media only screen and (max-width: 1080px) {
      main.history .intro .heading {
        margin-bottom: 0; } }
  @media only screen and (max-width: 768px) {
    main.history .intro {
      margin: 30px 0 0; } }

main.history .history__headline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

@media only screen and (max-width: 768px) {
  main.history .intro__content {
    margin: 10px 20px 50px; } }

@media only screen and (max-width: 1080px) {
  main.history .intro__text {
    font-size: 18px;
    line-height: 1.56; } }

@media only screen and (max-width: 768px) {
  main.history .intro__text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 0; } }

main.history .intro__photos {
  position: relative; }
  main.history .intro__photos .stripe-parent, main.history .intro__photos .intro__photo img, main.history .intro__photo .intro__photos img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.history .intro__photos::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.history .intro__photos::before {
    bottom: auto;
    height: 200px;
    left: 10%;
    top: -40%;
    -webkit-transform: none;
            transform: none;
    width: 50vw; }
  main.history .intro__photos .illustration--anchor {
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-40%, -50%);
            transform: translate(-40%, -50%); }
    @media only screen and (max-width: 1080px) {
      main.history .intro__photos .illustration--anchor {
        -webkit-transform: translate(0%, -40%);
                transform: translate(0%, -40%); }
        main.history .intro__photos .illustration--anchor img {
          width: 50%; } }
  @media only screen and (max-width: 768px) {
    main.history .intro__photos {
      padding: 0;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      main.history .intro__photos::before {
        display: none; } }

main.history .intro__photo img {
  width: 100%; }

main.history .stats {
  margin-bottom: 150px; }
  @media only screen and (max-width: 768px) {
    main.history .stats {
      margin-bottom: 50px; } }

main.history .stats__heading {
  text-align: center; }
  main.history .stats__heading .heading {
    margin-bottom: 50px; }
    @media only screen and (max-width: 768px) {
      main.history .stats__heading .heading {
        margin-bottom: 0;
        margin-top: 50px; } }

main.history .stats__list-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    main.history .stats__list-inner {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

main.history .stats__stat {
  padding: 0 75px;
  text-align: center; }
  main.history .stats__stat:nth-child(n) .stat__number {
    color: #DDA350; }
  main.history .stats__stat:nth-child(2n) .stat__number {
    color: #EF3114; }
  main.history .stats__stat:nth-child(3n) .stat__number {
    color: #A1DFDB; }
  @media only screen and (max-width: 1080px) {
    main.history .stats__stat .stat__number {
      font-size: 85px; } }
  @media only screen and (max-width: 768px) {
    main.history .stats__stat {
      margin: 0 15%;
      padding: 40px 30px;
      width: 100%; } }

main.history .stats__stat + .stats__stat {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to bottom, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: left;
  background-size: 2px 7px;
  background-repeat: repeat-y; }
  @media only screen and (max-width: 768px) {
    main.history .stats__stat + .stats__stat {
      background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
      background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
      background-position: top;
      background-size: 7px 2px;
      background-repeat: repeat-x; } }

@media only screen and (min-width: 769px) {
  main.history .the-start .rich-content {
    margin-bottom: 0; } }

main.history .the-start .rich-content--hero {
  margin-top: 0; }

main.history .the-start .rich-content__main::before {
  content: none; }

@media only screen and (max-width: 768px) {
  main.history .the-start .rich-content .rich-content__main-inner {
    padding-top: 0; } }

main.history .milestones {
  position: relative; }
  main.history .milestones .stripe-parent, main.history .milestones .intro__photo img, main.history .intro__photo .milestones img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.history .milestones::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.history .milestones::before {
    bottom: auto;
    left: auto;
    height: 150px;
    right: 0;
    top: 0;
    -webkit-transform: translate(0, -30%);
            transform: translate(0, -30%);
    width: 40%; }

main.history .milestones__heading {
  text-align: center; }
  @media only screen and (max-width: 1080px) {
    main.history .milestones__heading .heading__content {
      padding: 0; } }
  main.history .milestones__heading em {
    -webkit-transform: translate(-60%, -20%);
            transform: translate(-60%, -20%); }
    @media only screen and (max-width: 1080px) {
      main.history .milestones__heading em {
        -webkit-transform: translate(0%, -50%);
                transform: translate(0%, -50%); } }
  main.history .milestones__heading .illustration--binoculars {
    bottom: 0;
    left: 0;
    position: absolute;
    -webkit-transform: translate(-22%, 80%);
            transform: translate(-22%, 80%); }
    @media only screen and (max-width: 1080px) {
      main.history .milestones__heading .illustration--binoculars {
        bottom: -120px;
        height: 94px;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        width: 96px; } }
  @media only screen and (max-width: 768px) {
    main.history .milestones__heading .heading {
      margin-bottom: 90px; }
    main.history .milestones__heading em {
      -webkit-transform: translate(-20%, -20%);
              transform: translate(-20%, -20%); }
    main.history .milestones__heading .illustration--binoculars {
      left: 50%;
      max-width: 25%;
      -webkit-transform: translate(-50%, -40%);
              transform: translate(-50%, -40%); } }

main.history .milestones__timeline {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to bottom, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: left;
  background-size: 2px 7px;
  background-repeat: repeat-y;
  margin: 80px auto 0;
  width: 2px; }
  @media only screen and (max-width: 768px) {
    main.history .milestones__timeline {
      margin: 20px 0 0 20px;
      padding-bottom: 30px;
      width: auto; } }

main.history .milestone {
  max-width: 500px;
  padding: 0 20px;
  position: relative;
  top: -51px;
  width: 40vw; }
  main.history .milestone::after {
    background: #EF3114;
    border-radius: 50%;
    content: '';
    height: 10px;
    left: -4px;
    position: absolute;
    top: 51px;
    width: 10px; }
  main.history .milestone:nth-child(2n) {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
    main.history .milestone:nth-child(2n)::after {
      left: auto;
      right: -6px; }
  @media only screen and (max-width: 768px) {
    main.history .milestone {
      top: auto;
      max-width: none;
      width: 100%; }
      main.history .milestone:nth-child(2n) {
        -webkit-transform: none;
                transform: none; }
        main.history .milestone:nth-child(2n)::after {
          left: -4px;
          right: auto; } }

main.history .milestone + .milestone {
  margin-top: 30px; }

main.history .milestone__inner {
  background: #fcf6ee;
  padding: 40px; }
  @media only screen and (max-width: 768px) {
    main.history .milestone__inner {
      padding: 30px; } }

main.history .milestone__year {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  margin-bottom: 20px;
  padding-bottom: 10px; }

main.history .milestone__image {
  margin-bottom: -20px;
  margin-top: 15px; }

main.history .future {
  background: #fcf6ee;
  padding: 50px 0;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    main.history .future {
      padding: 50px 50px 50px 70px;
      position: relative;
      text-align: left; }
      main.history .future::before {
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
        background-image: linear-gradient(to bottom, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
        background-position: left;
        background-size: 2px 7px;
        background-repeat: repeat-y;
        background-position: left 20px center;
        content: '';
        display: block;
        height: 51px;
        left: 0;
        position: absolute;
        top: 0;
        width: 50px;
        z-index: 1; }
      main.history .future::after {
        background: #EF3114;
        border-radius: 50%;
        content: '';
        height: 10px;
        left: 16px;
        position: absolute;
        top: 51px;
        width: 10px;
        z-index: 2; } }

main.history .future__inner {
  margin: 0 auto;
  max-width: 500px; }
  main.history .future__inner .content__description {
    margin: 20px 0 30px; }
  @media screen and (max-width: 400px) {
    main.history .future__inner .content__cta {
      margin-left: 0; } }

@media only screen and (max-width: 1440px) {
  main.homepage .welcome {
    overflow: hidden; } }

@media only screen and (max-width: 1080px) {
  main.homepage .welcome {
    padding-bottom: 80px;
    position: relative; } }

@media only screen and (max-width: 768px) {
  main.homepage .welcome {
    margin-bottom: -140px;
    overflow: hidden;
    padding: 20px 20px 160px; } }

main.homepage .welcome__image {
  padding: 0; }
  main.homepage .welcome__image .welcome__image-inner {
    position: relative; }
    main.homepage .welcome__image .welcome__image-inner .stripe-parent, main.homepage .welcome__image .welcome__image-inner main.history .intro__photo img, main.history .intro__photo main.homepage .welcome__image .welcome__image-inner img {
      -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
              box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
    main.homepage .welcome__image .welcome__image-inner::before {
      background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
      bottom: 0;
      content: '';
      display: block;
      height: 200px;
      left: 0;
      position: absolute;
      -webkit-transform: translateY(50%);
              transform: translateY(50%);
      width: 300px;
      z-index: -1; }
    @media only screen and (max-width: 768px) {
      main.homepage .welcome__image .welcome__image-inner {
        position: static; } }
    main.homepage .welcome__image .welcome__image-inner::before {
      left: -10%;
      width: 90%; }
      @media only screen and (max-width: 768px) {
        main.homepage .welcome__image .welcome__image-inner::before {
          bottom: auto;
          left: auto;
          right: -20px;
          top: -20px;
          -webkit-transform: none;
                  transform: none; } }
    main.homepage .welcome__image .welcome__image-inner video {
      background: rgba(0, 0, 0, 0.15);
      width: 100%; }
  @media only screen and (max-width: 1080px) {
    main.homepage .welcome__image {
      margin: 0; } }

main.homepage .welcome__illustration {
  bottom: 0;
  max-height: 200px;
  position: absolute;
  right: 0;
  -webkit-transform: translate(80%, 30%);
          transform: translate(80%, 30%);
  z-index: -1; }
  @media only screen and (max-width: 1080px) {
    main.homepage .welcome__illustration {
      -webkit-transform: translate(20%, 190%);
              transform: translate(20%, 190%); } }
  @media only screen and (max-width: 768px) {
    main.homepage .welcome__illustration {
      -webkit-transform: translate(40px, 10px) scale(1);
              transform: translate(40px, 10px) scale(1); } }

@media only screen and (max-width: 1080px) {
  main.homepage .welcome__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

main.homepage .welcome__content .heading {
  margin-bottom: 0;
  position: relative;
  white-space: nowrap; }
  @media only screen and (min-width: 1081px) {
    main.homepage .welcome__content .heading {
      -webkit-transform: translateX(-23%);
              transform: translateX(-23%); } }
  @media only screen and (max-width: 1080px) {
    main.homepage .welcome__content .heading {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media only screen and (max-width: 768px) {
    main.homepage .welcome__content .heading {
      margin-top: 40px; } }
  main.homepage .welcome__content .heading .welcome__headingText {
    display: inline-block; }
  main.homepage .welcome__content .heading .welcome__headingText:first-child {
    position: relative;
    -webkit-transform: translate(-5%, 14%);
            transform: translate(-5%, 14%);
    z-index: 2; }
    @media only screen and (max-width: 1080px) {
      main.homepage .welcome__content .heading .welcome__headingText:first-child {
        left: -20%; } }
    @media only screen and (max-width: 768px) {
      main.homepage .welcome__content .heading .welcome__headingText:first-child {
        left: 0;
        position: absolute;
        top: -30px;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0); } }
  main.homepage .welcome__content .heading .welcome__headingText:nth-child(2) {
    position: absolute;
    -webkit-transform: translate(-1%, 32%);
            transform: translate(-1%, 32%);
    z-index: 1; }
    @media only screen and (max-width: 1080px) {
      main.homepage .welcome__content .heading .welcome__headingText:nth-child(2) {
        right: 37px;
        top: 2px; } }
    @media only screen and (max-width: 768px) {
      main.homepage .welcome__content .heading .welcome__headingText:nth-child(2) {
        right: 10px;
        top: -40px;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0); } }
  main.homepage .welcome__content .heading .welcome__headingText:nth-child(3) {
    display: block;
    z-index: 0; }

main.homepage .welcome__content p {
  margin: 20px 0; }

main.homepage .carousel {
  height: 400px;
  margin-top: 200px; }
  @media only screen and (max-width: 1080px) {
    main.homepage .carousel {
      margin-top: 110px; } }

main.homepage .carousel__heading {
  white-space: nowrap; }
  main.homepage .carousel__heading em {
    left: -10%;
    position: absolute;
    top: -25%; }
    @media only screen and (max-width: 1080px) {
      main.homepage .carousel__heading em {
        left: 0;
        top: -50%; } }

main.homepage .getInvolved {
  padding-bottom: 200px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    main.homepage .getInvolved {
      padding-bottom: 50px; } }

main.homepage .illustration {
  position: absolute; }

main.homepage .illustration--diver {
  position: relative; }
  main.homepage .illustration--diver img {
    display: block;
    max-width: 300px;
    position: absolute;
    right: 0;
    -webkit-transform: translate(0, -45%);
            transform: translate(0, -45%); }
  @media only screen and (max-width: 768px) {
    main.homepage .illustration--diver {
      position: static; }
      main.homepage .illustration--diver img {
        height: 180px;
        top: 130px;
        -webkit-transform: none;
                transform: none; } }

main.homepage .getInvolved__heading {
  margin: 250px auto 75px; }
  @media only screen and (max-width: 1080px) {
    main.homepage .getInvolved__heading {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 150px 0 50px; } }
  @media only screen and (max-width: 768px) {
    main.homepage .getInvolved__heading {
      margin: 100px 0 150px; } }
  main.homepage .getInvolved__heading .heading {
    line-height: .8;
    margin-bottom: 0;
    max-width: 600px;
    position: relative; }
    @media only screen and (max-width: 1080px) {
      main.homepage .getInvolved__heading .heading {
        max-width: 290px; } }
    @media only screen and (max-width: 768px) {
      main.homepage .getInvolved__heading .heading {
        max-width: 300px; } }
  main.homepage .getInvolved__heading .illustration--script {
    left: 50%;
    top: 0;
    -webkit-transform: translate(-63%, -45%);
            transform: translate(-63%, -45%); }
    @media only screen and (max-width: 1080px) {
      main.homepage .getInvolved__heading .illustration--script {
        left: auto;
        position: absolute;
        right: 10%;
        top: -50%;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        width: 50%; } }
    @media only screen and (max-width: 768px) {
      main.homepage .getInvolved__heading .illustration--script {
        -webkit-transform: translate(0);
                transform: translate(0); }
        main.homepage .getInvolved__heading .illustration--script img {
          width: 115px; } }
  main.homepage .getInvolved__heading .illustration--anchor {
    bottom: 0;
    left: 0;
    -webkit-transform: translate(-90%, 25%);
            transform: translate(-90%, 25%); }
    @media only screen and (max-width: 1080px) {
      main.homepage .getInvolved__heading .illustration--anchor {
        display: none; } }

main.homepage .classroom .classroom__image {
  position: relative;
  padding: 0; }
  main.homepage .classroom .classroom__image .stripe-parent, main.homepage .classroom .classroom__image main.history .intro__photo img, main.history .intro__photo main.homepage .classroom .classroom__image img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.homepage .classroom .classroom__image::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.homepage .classroom .classroom__image::before {
    left: auto;
    right: 0;
    width: 45%; }
    @media only screen and (max-width: 1080px) {
      main.homepage .classroom .classroom__image::before {
        height: 40px; } }

main.homepage .programs {
  position: relative;
  text-align: center; }
  main.homepage .programs .heading {
    margin-bottom: 20px;
    margin-top: 80px; }
    @media only screen and (max-width: 1080px) {
      main.homepage .programs .heading {
        margin-top: 50px; } }
    @media only screen and (max-width: 1080px) {
      main.homepage .programs .heading em {
        top: -10%; } }
    @media only screen and (max-width: 768px) {
      main.homepage .programs .heading em {
        top: -30%; } }
  main.homepage .programs .illustration--find-more {
    left: auto;
    position: relative;
    right: -480px;
    width: 170px; }
    main.homepage .programs .illustration--find-more img {
      position: absolute;
      right: 0;
      -webkit-transform: translateX(-60%);
              transform: translateX(-60%);
      z-index: -2; }
    @media only screen and (max-width: 1080px) {
      main.homepage .programs .illustration--find-more {
        display: none; } }

@media only screen and (max-width: 1080px) {
  main.homepage .programs__title {
    display: none; } }

main.homepage .programs__location {
  cursor: pointer;
  display: inline-block;
  margin: 15px 20px; }
  main.homepage .programs__location.is-active {
    border-bottom: 1px solid red;
    color: #EF3114; }
  @media only screen and (max-width: 768px) {
    main.homepage .programs__location {
      display: none; } }

main.homepage .programs__cards {
  margin-top: 30px; }
  @media only screen and (max-width: 768px) {
    main.homepage .programs__cards {
      margin-top: 0; } }

main.homepage .programs__cards-inner {
  margin-bottom: 0;
  margin-top: 0; }

main.homepage .programs__card {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  opacity: 0.5;
  -webkit-transition: opacity 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, filter 0.3s;
  transition: opacity 0.3s, filter 0.3s, -webkit-filter 0.3s; }
  main.homepage .programs__card.is-active {
    -webkit-filter: grayscale(0%);
            filter: grayscale(0%);
    opacity: 1; }
  main.homepage .programs__card .illustration {
    position: relative; }
  @media only screen and (max-width: 768px) {
    main.homepage .programs__card .illustration img {
      display: block;
      margin: 0 auto;
      max-width: 40%; }
    main.homepage .programs__card .card {
      padding: 20px; }
    main.homepage .programs__card .card__text {
      display: none; }
    main.homepage .programs__card .card__cta {
      margin: 0 auto; } }

main.homepage .studentVoices {
  position: relative;
  padding-top: 200px;
  position: relative;
  z-index: 1; }
  main.homepage .studentVoices .stripe-parent, main.homepage .studentVoices main.history .intro__photo img, main.history .intro__photo main.homepage .studentVoices img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.homepage .studentVoices::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.homepage .studentVoices::before {
    height: 400px;
    left: auto;
    right: 0;
    -webkit-transform: translate(0, 40%);
            transform: translate(0, 40%);
    width: 60vh;
    z-index: -1; }
    @media only screen and (max-width: 768px) {
      main.homepage .studentVoices::before {
        height: 110px;
        -webkit-transform: translate(0, 60%);
                transform: translate(0, 60%);
        width: 70vw; } }
  @media only screen and (max-width: 1080px) {
    main.homepage .studentVoices {
      padding-top: 80px; } }
  @media only screen and (max-width: 768px) {
    main.homepage .studentVoices {
      padding-top: 100px; } }

main.homepage .studentVoices__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    main.homepage .studentVoices__heading .heading {
      display: inline-block;
      position: relative; } }
  @media only screen and (max-width: 1080px) {
    main.homepage .studentVoices__heading .heading {
      margin-bottom: 20px; } }
  main.homepage .studentVoices__heading .illustration--spyglass {
    left: 0;
    top: 0;
    -webkit-transform: translate(-10%, -53%);
            transform: translate(-10%, -53%);
    width: 400px; }
    @media only screen and (max-width: 1080px) {
      main.homepage .studentVoices__heading .illustration--spyglass {
        -webkit-transform: translate(5%, -46%);
                transform: translate(5%, -46%);
        width: 140px; } }
    @media only screen and (max-width: 768px) {
      main.homepage .studentVoices__heading .illustration--spyglass {
        -webkit-transform: translate(-30%, -55%);
                transform: translate(-30%, -55%);
        width: 210px; } }
    @media screen and (max-width: 500px) {
      main.homepage .studentVoices__heading .illustration--spyglass {
        -webkit-transform: translate(0, -55%);
                transform: translate(0, -55%); } }

main.homepage .studentVoices__carousel {
  margin: 50px auto 100px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    main.homepage .studentVoices__carousel {
      margin: 30px 0; } }
  @media only screen and (max-width: 1080px) {
    main.homepage .studentVoices__carousel {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 100%; } }

@media only screen and (max-width: 1080px) {
  main.homepage .studentVoices__card {
    width: 80%; } }

main.homepage .studentVoices__card .studentVoices__card-inner {
  margin-bottom: 100px;
  padding: 50px 100px;
  position: relative; }
  main.homepage .studentVoices__card .studentVoices__card-inner .card__title,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__meta,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__divider,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__text,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__cta {
    margin-left: 5%; }
  main.homepage .studentVoices__card .studentVoices__card-inner .card__title,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__meta,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__divider,
  main.homepage .studentVoices__card .studentVoices__card-inner .card__text {
    width: 90%; }
  @media only screen and (max-width: 1080px) {
    main.homepage .studentVoices__card .studentVoices__card-inner {
      margin-bottom: 30px;
      padding: 40px 22px; } }
  @media only screen and (max-width: 768px) {
    main.homepage .studentVoices__card .studentVoices__card-inner {
      padding: 20px 22px; } }
  main.homepage .studentVoices__card .studentVoices__card-inner::before, main.homepage .studentVoices__card .studentVoices__card-inner::after {
    content: '';
    display: block;
    position: absolute; }
    @media only screen and (max-width: 768px) {
      main.homepage .studentVoices__card .studentVoices__card-inner::before, main.homepage .studentVoices__card .studentVoices__card-inner::after {
        content: none; } }
  main.homepage .studentVoices__card .studentVoices__card-inner::before {
    background: url(img/illustrations/illu-sea-monster-tail.svg) center/contain no-repeat;
    height: 396px;
    left: 0;
    top: 50%;
    -webkit-transform: translate(-73%, 0%);
            transform: translate(-73%, 0%);
    width: 131px; }
    @media only screen and (max-width: 1080px) {
      main.homepage .studentVoices__card .studentVoices__card-inner::before {
        -webkit-transform: scale(0.8) translate(-85%, 0);
                transform: scale(0.8) translate(-85%, 0);
        left: 33px;
        width: 320px; } }
  main.homepage .studentVoices__card .studentVoices__card-inner::after {
    background: url(img/illustrations/Serpent_F.gif) center/contain no-repeat;
    height: 400px;
    right: 0;
    top: 50%;
    -webkit-transform: translate(63%, -80%);
            transform: translate(63%, -80%);
    width: 400px; }
    @media only screen and (max-width: 1080px) {
      main.homepage .studentVoices__card .studentVoices__card-inner::after {
        -webkit-transform: scale(0.8) translate(76%, -92%);
                transform: scale(0.8) translate(76%, -92%);
        width: 320px; } }
  main.homepage .studentVoices__card .studentVoices__card-inner .card {
    margin: 0;
    padding: 0; }
    main.homepage .studentVoices__card .studentVoices__card-inner .card:hover {
      -webkit-box-shadow: none;
              box-shadow: none; }

main.homepage .studentVoices__card .carousel__dots li:not(.slick-active) button {
  background-color: #979797; }

main.homepage .studentVoices__card .carousel__arrow--prev {
  left: 10%; }

main.homepage .studentVoices__card .carousel__arrow--next {
  right: 10%; }

main.homepage .newsletter {
  background: #A1DFDB;
  padding: 150px 0 100px 0;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    main.homepage .newsletter {
      padding: 80px 0 50px; } }
  main.homepage .newsletter .heading {
    display: inline-block;
    margin-bottom: 50px;
    position: relative; }
    main.homepage .newsletter .heading .illustration--bottle {
      bottom: 0;
      left: 0;
      -webkit-transform: translate(-61%, 75%);
              transform: translate(-61%, 75%); }
      @media only screen and (max-width: 768px) {
        main.homepage .newsletter .heading .illustration--bottle {
          display: none; } }
    main.homepage .newsletter .heading .illustration--sparks {
      right: 0;
      top: 50%;
      -webkit-transform: translate(100%, -44%);
              transform: translate(100%, -44%); }
      @media only screen and (max-width: 768px) {
        main.homepage .newsletter .heading .illustration--sparks {
          display: none; } }
    @media only screen and (max-width: 1080px) {
      main.homepage .newsletter .heading {
        max-width: 500px; }
        main.homepage .newsletter .heading .illustration--bottle {
          display: none; }
        main.homepage .newsletter .heading .illustration--sparks {
          -webkit-transform: translate(100%, -50%) scale(0.8);
                  transform: translate(100%, -50%) scale(0.8); } }
    @media only screen and (max-width: 768px) {
      main.homepage .newsletter .heading {
        margin-bottom: 30px;
        width: 300px; } }
  main.homepage .newsletter #mc_embed_signup .mc-field-group {
    margin: 0 auto;
    max-width: 300px;
    width: 80%; }
    @media only screen and (max-width: 768px) {
      main.homepage .newsletter #mc_embed_signup .mc-field-group {
        max-width: none;
        width: 100%; } }
    main.homepage .newsletter #mc_embed_signup .mc-field-group input {
      max-width: none;
      width: 100%; }

main.homepage .newsletter__text {
  color: #FFF; }

main.homepage .newsletter__form {
  margin: 20px 0; }

main.index .whats-new--index {
  position: relative; }
  main.index .whats-new--index .stripe-parent, main.index .whats-new--index main.history .intro__photo img, main.history .intro__photo main.index .whats-new--index img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.index .whats-new--index::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.index .whats-new--index::before {
    height: 250px;
    -webkit-transform: translateY(40%);
            transform: translateY(40%);
    width: 30%;
    z-index: 0; }

main.index .simple-headline:first-of-type {
  margin-top: 30px; }
  @media only screen and (min-width: 1081px) {
    main.index .simple-headline:first-of-type {
      margin-top: 40px; } }

main.index .heading em {
  left: -10%;
  position: absolute;
  top: -10%; }
  @media only screen and (max-width: 1080px) {
    main.index .heading em {
      z-index: 1; } }
  @media only screen and (max-width: 768px) {
    main.index .heading em {
      left: -5%;
      top: -30%; } }

main.index .carousel {
  height: 400px;
  margin-top: 150px; }
  @media only screen and (max-width: 1080px) {
    main.index .carousel {
      margin-top: 110px; } }
  @media only screen and (max-width: 768px) {
    main.index .carousel {
      margin-top: 80px; } }

main.index .posts__inner {
  position: relative; }
  main.index .posts__inner .stripe-parent, main.index .posts__inner main.history .intro__photo img, main.history .intro__photo main.index .posts__inner img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.index .posts__inner::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.index .posts__inner::before {
    left: auto;
    right: 0;
    -webkit-transform: none;
            transform: none;
    width: 60%; }

main.index .posts__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  main.index .posts__list .tease {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 32%;
            flex: 0 0 32%;
    margin: 0.7vw 0 0.7vw 2%;
    max-width: 32%; }
  @media only screen and (min-width: 1081px) {
    main.index .posts__list .tease:nth-child(3n + 1) {
      margin-left: 0; } }
  @media only screen and (max-width: 1080px) {
    main.index .posts__list .tease {
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      margin: 15px 20px;
      max-width: 500px;
      width: 100%; } }

body.category .whats-new {
  display: none; }

main.owog section:not(.rich-content) .content__title {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  margin-bottom: 15px;
  padding-bottom: 15px; }

main.owog .content__description p:nth-child(2) {
  margin-top: 25px; }
  main.owog .content__description p:nth-child(2) strong {
    font-family: "Trade Gothic Bold Two", sans-serif; }
    @media only screen and (max-width: 768px) {
      main.owog .content__description p:nth-child(2) strong {
        display: block;
        line-height: 1.5;
        margin-top: 10px; } }

main.owog .grid__inner {
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal; }

main.owog .grid__items {
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal; }
  @media only screen and (max-width: 1080px) {
    main.owog .grid__items {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

main.owog .grid__item {
  text-align: left;
  text-align: start; }
  @media only screen and (max-width: 1080px) {
    main.owog .grid__item {
      -webkit-box-flex: 0;
          -ms-flex: none;
              flex: none; } }
  @media only screen and (max-width: 1080px) {
    main.owog .grid__item:nth-of-type(2) {
      margin-top: 40px; } }

.owog__headline {
  text-align: center; }
  .owog__headline .heading {
    margin-bottom: 0; }
  .owog__headline .heading em {
    -webkit-transform: translate(-30%, -30%);
            transform: translate(-30%, -30%);
    white-space: nowrap; }

.owog__tree {
  background: url(img/illustrations/illu-giving-forest.svg) center/contain no-repeat;
  padding: 150px 0 0;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 1080px) {
    .owog__tree {
      background-position: 100% 10%;
      background-size: 160%;
      padding: 80px 0; } }
  @media only screen and (max-width: 768px) {
    .owog__tree {
      padding: 40px 0 0 0; } }
  @media screen and (max-width: 410px) {
    .owog__tree {
      background-position-y: 0%; } }

.owog__tree-card {
  padding: 0 3.46644vw; }
  @media only screen and (max-width: 1080px) {
    .owog__tree-card {
      margin-top: 35%; } }
  @media only screen and (max-width: 768px) {
    .owog__tree-card {
      margin-top: 55%;
      padding: 0 0 20px 0; } }
  .owog__tree-card .card {
    padding: 50px; }
    @media only screen and (max-width: 768px) {
      .owog__tree-card .card {
        margin: 0;
        padding: 10%; } }

.owog__giving {
  background: #fcf6ee;
  margin-bottom: -800px;
  padding-bottom: 500px;
  padding-top: 200px;
  position: relative;
  top: -200px; }
  @media only screen and (max-width: 1080px) {
    .owog__giving {
      margin-bottom: 40px;
      margin-top: 40px;
      padding-bottom: 160px;
      padding-top: 20px;
      top: 0; } }
  @media only screen and (max-width: 768px) {
    .owog__giving {
      margin-top: 0;
      padding-bottom: 80px; } }
  @media only screen and (max-width: 1080px) {
    .owog__giving .grid__items .grid__item {
      max-width: none; } }
  .owog__giving .content {
    position: relative; }
    .owog__giving .content .illustration {
      left: 0;
      position: absolute;
      top: 0;
      -webkit-transform: translate(-100%, -35%);
              transform: translate(-100%, -35%); }
      @media only screen and (max-width: 1080px) {
        .owog__giving .content .illustration {
          display: none; } }

.owog__store {
  z-index: 2; }
  @media only screen and (max-width: 1080px) {
    .owog__store {
      margin-bottom: 0;
      margin-top: -120px; } }
  .owog__store .rich-content__main {
    background: transparent; }
    @media only screen and (max-width: 1080px) {
      .owog__store .rich-content__main .rich-content__main-inner {
        margin-top: 60px; } }
    .owog__store .rich-content__main .rich-content__main-content {
      margin-left: -8.33333%;
      padding: 0; }
      @media only screen and (max-width: 1080px) {
        .owog__store .rich-content__main .rich-content__main-content {
          margin-left: 0;
          margin-top: 50px; } }
    .owog__store .rich-content__main .rich-content__main-content .content {
      padding: 10%; }
      @media only screen and (max-width: 768px) {
        .owog__store .rich-content__main .rich-content__main-content .content {
          padding: 20px 10%; } }
    @media only screen and (max-width: 1080px) {
      .owog__store .rich-content__main .content__cta:first-of-type {
        margin-top: 30px; } }
    .owog__store .rich-content__main .rich-content__main-image {
      padding-left: 0; }
      @media only screen and (max-width: 1080px) {
        .owog__store .rich-content__main .rich-content__main-image {
          margin-left: auto !important;
          margin-right: 0;
          padding-right: 0;
          padding-left: 20px; } }
      @media only screen and (max-width: 768px) {
        .owog__store .rich-content__main .rich-content__main-image {
          padding-left: 0; } }
    .owog__store .rich-content__main .content {
      position: relative; }
    .owog__store .rich-content__main .illustration {
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      top: 0;
      -webkit-transform: translate(10%, -30%);
              transform: translate(10%, -30%); }

@media only screen and (max-width: 1080px) {
  .owog__other.grid {
    margin-bottom: 0;
    margin-top: 20px; } }

.owog__other .grid__item:nth-child(1) {
  padding-bottom: 400px; }
  @media only screen and (max-width: 1080px) {
    .owog__other .grid__item:nth-child(1) {
      padding-bottom: 40px; } }
  .owog__other .grid__item:nth-child(1) .content {
    position: relative; }
  .owog__other .grid__item:nth-child(1) .illustration {
    position: relative;
    bottom: 0;
    left: 0;
    position: absolute;
    -webkit-transform: translate(-65%, 100%);
            transform: translate(-65%, 100%); }
    .owog__other .grid__item:nth-child(1) .illustration .stripe-parent, .owog__other .grid__item:nth-child(1) .illustration main.history .intro__photo img, main.history .intro__photo .owog__other .grid__item:nth-child(1) .illustration img {
      -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
              box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
    .owog__other .grid__item:nth-child(1) .illustration::before {
      background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
      bottom: 0;
      content: '';
      display: block;
      height: 200px;
      left: 0;
      position: absolute;
      -webkit-transform: translateY(50%);
              transform: translateY(50%);
      width: 300px;
      z-index: -1; }
    @media only screen and (max-width: 1080px) {
      .owog__other .grid__item:nth-child(1) .illustration {
        margin-bottom: 90px;
        position: static;
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0); } }
    .owog__other .grid__item:nth-child(1) .illustration::before {
      bottom: 10px;
      height: 150px;
      left: -10vw;
      -webkit-transform: translate(0, 100%);
              transform: translate(0, 100%);
      width: 45vw; }
      @media only screen and (max-width: 1080px) {
        .owog__other .grid__item:nth-child(1) .illustration::before {
          height: 50px;
          left: 0;
          right: 0;
          width: 100%; } }
      @media only screen and (max-width: 768px) {
        .owog__other .grid__item:nth-child(1) .illustration::before {
          -webkit-transform: translate(0, 100%);
                  transform: translate(0, 100%); } }
    @media only screen and (max-width: 1080px) {
      .owog__other .grid__item:nth-child(1) .illustration img {
        margin-left: 20%;
        width: 60%; } }

.owog__other .grid__item:nth-child(2) .illustration {
  margin-bottom: 20px;
  -webkit-transform: translate(-10%, 0);
          transform: translate(-10%, 0); }
  @media only screen and (max-width: 1080px) {
    .owog__other .grid__item:nth-child(2) .illustration {
      margin-bottom: 40px;
      margin-left: 20%;
      -webkit-transform: translate(0);
              transform: translate(0);
      width: 60%; } }

article.post .banner {
  background: #fcf6ee;
  min-height: 300px; }

article.post .post__content {
  background: #FFF;
  margin: -200px auto 0;
  max-width: 1400px;
  padding: 50px;
  position: relative;
  width: 90vw; }
  article.post .post__content h1 {
    line-height: 1.2;
    margin: 50px auto 50px;
    max-width: 600px;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    article.post .post__content {
      margin-top: -240px;
      padding: 30px; }
      article.post .post__content h1 {
        margin: 20px auto; } }

article.post .post__meta {
  text-align: center; }

article.post .post__category, article.post .post__date {
  display: inline-block; }

article.post .post__category {
  color: #EF3114; }
  article.post .post__category::after {
    content: '|';
    margin: 0 5px; }

article.post .post__body {
  margin: 0 auto;
  max-width: 800px; }
  article.post .post__body h2 {
    margin: 50px 0 20px 0; }
    article.post .post__body h2:first-child {
      margin-top: 0; }
  article.post .post__body p {
    margin: 10px 0; }
    article.post .post__body p:first-child {
      margin-bottom: 50px; }
  article.post .post__body .post__image + p {
    margin-bottom: 50px;
    margin-top: 50px; }
    @media only screen and (max-width: 768px) {
      article.post .post__body .post__image + p {
        margin: 10px 0; } }
  article.post .post__body a:not(.button) {
    color: #EF3114; }
  article.post .post__body img {
    display: block;
    height: auto;
    margin: 20px 0; }
  article.post .post__body img.alignright {
    float: right;
    margin: 15px; }
  article.post .post__body img.alignleft {
    float: left;
    margin: 15px; }
  article.post .post__body ul li {
    list-style-type: disc;
    margin: 15px 0 15px 30px; }
  article.post .post__body iframe {
    max-width: 100%; }
  article.post .post__body .post__iframe {
    height: 1200px; }
  @media only screen and (max-width: 768px) {
    article.post .post__body {
      margin-top: 30px; } }

article.post .post__image {
  margin-bottom: 50px;
  width: 100%; }

article.post .post__back::before {
  background: url(img/icons/arrow-red.svg) center/contain no-repeat;
  content: '';
  display: inline-block;
  height: 15px;
  margin: 0 5px 0 10px;
  position: relative;
  top: 3px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 15px; }

article.post .post__iframe {
  width: 100%; }

article.post .post__overview {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  -webkit-columns: 2;
          columns: 2;
  padding: 20px 0; }
  article.post .post__overview strong {
    display: block;
    margin: 20px 0 0; }
    article.post .post__overview strong:first-child {
      margin: 0; }
  article.post .post__overview p {
    margin: 0; }
  @media only screen and (max-width: 768px) {
    article.post .post__overview {
      -webkit-columns: initial;
              columns: initial; } }

article.post .post__body-inner {
  padding: 50px 0; }
  article.post .post__body-inner .button, article.post .post__body-inner .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer article.post .post__body-inner input.gform_next_button, article.post .post__body-inner .gform_wrapper form.donate-form .gform_page_footer input.gform_button, .gform_wrapper form.donate-form .gform_page_footer article.post .post__body-inner input.gform_button {
    margin: 50px 0 20px; }
  article.post .post__body-inner .t-h2, article.post .post__body-inner .post__body h2, article.post .post__body .post__body-inner h2, article.post .post__body-inner body.page-publications .two-col__main .content__title, body.page-publications .two-col__main article.post .post__body-inner .content__title {
    margin: 50px 0 20px; }
    article.post .post__body-inner .t-h2:first-child, article.post .post__body-inner .post__body h2:first-child, article.post .post__body .post__body-inner h2:first-child, article.post .post__body-inner body.page-publications .two-col__main .content__title:first-child, body.page-publications .two-col__main article.post .post__body-inner .content__title:first-child {
      margin-top: 20px; }

main.program .article-content {
  margin-top: 30px; }
  @media only screen and (min-width: 769px) {
    main.program .article-content {
      margin-top: 40px; } }
  main.program .article-content .simple-headline:first-of-type .heading--left {
    margin-top: 0; }

main.program .rich-content--hero .rich-content__main::before {
  content: '';
  height: 115px;
  margin-top: -60px;
  width: 40%; }
  @media only screen and (min-width: 1081px) {
    main.program .rich-content--hero .rich-content__main::before {
      content: '';
      height: 190px;
      margin-top: -80px;
      width: 27.5%; } }

main.program .rich-content:not(.rich-content--hero) .rich-content__main {
  background: #fcf6ee; }

main.program .rich-content:not(.rich-content--hero) .rich-content__main-content {
  background: transparent; }
  @media only screen and (min-width: 1081px) {
    main.program .rich-content:not(.rich-content--hero) .rich-content__main-content {
      margin-bottom: 50px; } }
  main.program .rich-content:not(.rich-content--hero) .rich-content__main-content .content__titles {
    background: transparent;
    padding-bottom: 0; }

@media only screen and (max-width: 1080px) {
  main.program .rich-content:not(.rich-content--hero) .rich-content__main-inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 50px 0; } }

@media only screen and (max-width: 768px) {
  main.program .rich-content:not(.rich-content--hero) .rich-content__main-inner {
    padding: 0 0 8em; }
  main.program .rich-content:not(.rich-content--hero) .rich-content__lower {
    margin-top: -7em; } }

main.program.program--college-and-career-readiness .heading--hero {
  display: inline-block;
  margin-bottom: 100px;
  position: relative; }
  main.program.program--college-and-career-readiness .heading--hero span {
    display: block; }
  main.program.program--college-and-career-readiness .heading--hero em {
    position: absolute; }
    main.program.program--college-and-career-readiness .heading--hero em:first-of-type {
      left: 0;
      -webkit-transform: translate(-30%, -10%);
              transform: translate(-30%, -10%); }
    main.program.program--college-and-career-readiness .heading--hero em:last-of-type {
      bottom: 0;
      -webkit-transform: translate(10%, 45%);
              transform: translate(10%, 45%); }

@media only screen and (max-width: 1080px) {
  main.program.program--college-and-career-readiness .rich-content__main-inner {
    padding-top: 140px; } }

@media only screen and (max-width: 768px) {
  main.program.program--college-and-career-readiness .rich-content__main-inner {
    padding-top: 120px; } }

main.program.program--college-and-career-readiness .rich-content--hero {
  margin-top: -70px; }
  @media only screen and (max-width: 1080px) {
    main.program.program--college-and-career-readiness .rich-content--hero {
      margin-top: -210px; } }
  @media only screen and (max-width: 768px) {
    main.program.program--college-and-career-readiness .rich-content--hero {
      margin-top: -190px; } }

@media only screen and (min-width: 1081px) {
  main.program.program--college-and-career-readiness span.heading__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  main.program.program--college-and-career-readiness .rich-content--hero {
    margin-top: -170px; }
  main.program.program--college-and-career-readiness .heading__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    main.program.program--college-and-career-readiness .heading__content span,
    main.program.program--college-and-career-readiness .heading__content em {
      display: inline; }
    main.program.program--college-and-career-readiness .heading__content span:nth-of-type(2) {
      margin-left: -20px; }
    main.program.program--college-and-career-readiness .heading__content em:first-of-type {
      margin-left: -20px;
      position: static;
      -webkit-transform: translate(0, -10px);
              transform: translate(0, -10px); }
    main.program.program--college-and-career-readiness .heading__content em:last-of-type {
      bottom: 10px;
      right: -40px; } }

main.program.program--field-trips .simple-headline:not(:first-of-type) .heading {
  margin-bottom: 0;
  max-width: 1000px; }
  @media only screen and (max-width: 1080px) {
    main.program.program--field-trips .simple-headline:not(:first-of-type) .heading {
      max-width: 600px; } }
  @media only screen and (max-width: 768px) {
    main.program.program--field-trips .simple-headline:not(:first-of-type) .heading {
      max-width: 100%; }
      main.program.program--field-trips .simple-headline:not(:first-of-type) .heading .heading__content > span {
        max-width: 100%; } }

main.program.program--i-am-a-volunteer .rich-content--hero,
main.program.program--i-am-a-teacher .rich-content--hero,
main.program.program--i-am-a-student-or-parent .rich-content--hero {
  margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
    main.program.program--i-am-a-volunteer .rich-content--hero .rich-content__main-inner,
    main.program.program--i-am-a-teacher .rich-content--hero .rich-content__main-inner,
    main.program.program--i-am-a-student-or-parent .rich-content--hero .rich-content__main-inner {
      margin-bottom: 50px; } }

main.program.program--i-am-a-volunteer .accordion-list .heading em,
main.program.program--i-am-a-teacher .accordion-list .heading em,
main.program.program--i-am-a-student-or-parent .accordion-list .heading em {
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }

@media only screen and (max-width: 768px) {
  main.program.program--i-am-a-volunteer .grid__title,
  main.program.program--i-am-a-teacher .grid__title,
  main.program.program--i-am-a-student-or-parent .grid__title {
    font-size: 30px; } }

@media only screen and (max-width: 768px) {
  main.program.program--i-am-a-volunteer .content__title,
  main.program.program--i-am-a-teacher .content__title,
  main.program.program--i-am-a-student-or-parent .content__title {
    font-size: 22px; } }

@media only screen and (max-width: 1080px) {
  main.program.program--i-am-a-student-or-parent .heading--hero .heading__content span {
    margin-top: 0;
    position: static; } }

main.program.program--i-am-a-student-or-parent .heading--hero em:last-of-type {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

main.program.program--i-am-a-student-or-parent .accordion-list .heading em {
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0); }

@media only screen and (max-width: 768px) {
  main.program.program--i-am-a-student-or-parent .rich-content--hero {
    margin-top: -230px; }
    main.program.program--i-am-a-student-or-parent .rich-content--hero .rich-content__main-inner {
      padding-top: 120px; } }

main.program--after-school-programs .rich-content:nth-of-type(2) {
  margin-bottom: -80px; }

main.programs .intro {
  padding-bottom: 58px;
  position: relative;
  text-align: center; }
  @media only screen and (max-width: 1080px) {
    main.programs .intro {
      padding-bottom: 10px; } }
  main.programs .intro .heading {
    margin-bottom: 0; }
    @media only screen and (max-width: 1080px) {
      main.programs .intro .heading .heading__content span {
        margin-top: 0; } }
  main.programs .intro::before {
    background: #A1DFDB;
    display: block;
    content: '';
    bottom: 0;
    height: 128px;
    position: absolute;
    width: 90%; }
    @media only screen and (max-width: 1080px) {
      main.programs .intro::before {
        height: 40%;
        width: 85%; } }
  main.programs .intro::after {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    content: '';
    display: block;
    height: 221.66667px;
    margin-top: 60px;
    position: absolute;
    right: 0;
    top: 0;
    width: 23.85417vw;
    z-index: 1; }
  @media only screen and (max-width: 768px) {
    main.programs .intro {
      margin-bottom: 0;
      padding-bottom: 30px; }
      main.programs .intro::before {
        height: 57px;
        width: 80%;
        z-index: -2; }
      main.programs .intro::after {
        height: 100px;
        margin-top: 25px;
        width: 50vw;
        z-index: -1; } }

main.programs .programs-list {
  position: relative;
  z-index: 1; }
  main.programs .programs-list .grid {
    margin-top: 0; }
  main.programs .programs-list .card {
    height: 100%;
    text-align: center; }

main.programs .help {
  background-color: #fcf6ee;
  margin-top: 25px;
  padding: 10px 0 50px;
  position: relative;
  text-align: center; }
  main.programs .help::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 99.83333px;
    position: absolute;
    right: 0;
    top: -30px;
    width: 32.31481vw; }
  main.programs .help__image {
    position: relative; }
    main.programs .help__image img {
      height: 162px;
      width: 162px; }
    main.programs .help__image::after {
      background: center/contain no-repeat transparent url(img/illustrations/illu-bubbles.svg);
      content: '';
      display: block;
      height: 128px;
      position: absolute;
      right: -18px;
      top: -66px;
      width: 128px; }
  main.programs .help .content {
    width: 100%; }
    main.programs .help .content .content__description {
      margin-bottom: 30px;
      margin-top: 20px; }
    main.programs .help .content .content__cta {
      margin-left: 20px;
      margin-right: 20px; }
    @media only screen and (max-width: 768px) {
      main.programs .help .content {
        padding: 0 20px; } }

@media only screen and (max-width: 1080px) {
  .page-publications .simple-headline:first-of-type .heading.t-heading, .page-publications .simple-headline:first-of-type .heading.t-heading--small, .page-publications .simple-headline:first-of-type body.page-careers-landing article.post .post__content h1.heading, body.page-careers-landing article.post .post__content .page-publications .simple-headline:first-of-type h1.heading {
    margin-bottom: 130px; } }

@media only screen and (max-width: 768px) {
  .page-publications .simple-headline:first-of-type .heading.t-heading, .page-publications .simple-headline:first-of-type .heading.t-heading--small, .page-publications .simple-headline:first-of-type body.page-careers-landing article.post .post__content h1.heading, body.page-careers-landing article.post .post__content .page-publications .simple-headline:first-of-type h1.heading {
    font-size: 65px; } }

@media only screen and (max-width: 1080px) {
  .page-publications .simple-headline:first-of-type .heading .heading__content {
    padding: 0; } }

@media only screen and (max-width: 1080px) {
  .page-publications .simple-headline:nth-of-type(2) .heading.t-heading, .page-publications .simple-headline:nth-of-type(2) .heading.t-heading--small, .page-publications .simple-headline:nth-of-type(2) body.page-careers-landing article.post .post__content h1.heading, body.page-careers-landing article.post .post__content .page-publications .simple-headline:nth-of-type(2) h1.heading {
    margin-bottom: 0;
    width: 100%; }
  .page-publications .simple-headline:nth-of-type(2) .heading .heading__content {
    padding: 0;
    width: auto; }
  .page-publications .simple-headline:nth-of-type(2) .sub-text em {
    position: static;
    white-space: normal; } }

main.staff .people-grid {
  background: #fcf6ee;
  margin-top: 100px;
  padding-bottom: 100px; }
  @media only screen and (max-width: 1080px) {
    main.staff .people-grid {
      margin-top: 70px; } }
  @media only screen and (max-width: 768px) {
    main.staff .people-grid {
      background: transparent;
      margin-top: 30px;
      padding-bottom: 0; } }

main.staff .people-grid__headline {
  margin-bottom: -160px;
  position: relative;
  top: -160px; }
  @media only screen and (max-width: 1080px) {
    main.staff .people-grid__headline {
      margin-bottom: -110px;
      top: -130px; } }
  @media only screen and (max-width: 768px) {
    main.staff .people-grid__headline {
      margin-bottom: 0;
      top: auto; } }

main.staff .headline--board::after {
  background: url(img/illustrations/illu-owl.svg) center/contain no-repeat;
  bottom: 0;
  content: '';
  height: 198px;
  left: 0;
  position: absolute;
  -webkit-transform: translate(-70%, 40%);
          transform: translate(-70%, 40%);
  width: 214px; }
  @media only screen and (max-width: 768px) {
    main.staff .headline--board::after {
      height: 99px;
      width: 107px;
      -webkit-transform: translate(-61%, 64%);
              transform: translate(-61%, 64%); } }

main.staff .accordion-list {
  margin-bottom: 240px; }
  main.staff .accordion-list .heading {
    position: relative; }
  main.staff .accordion-list em {
    bottom: -10px;
    right: -40px; }
  @media only screen and (max-width: 1080px) {
    main.staff .accordion-list {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 768px) {
    main.staff .accordion-list {
      margin-bottom: 120px; }
      main.staff .accordion-list .heading {
        margin-bottom: 90px; } }

main.staff .cofounders {
  position: relative;
  position: relative;
  background: #A1DFDB;
  margin-top: 200px;
  padding-bottom: 80px; }
  main.staff .cofounders .stripe-parent, main.staff .cofounders main.history .intro__photo img, main.history .intro__photo main.staff .cofounders img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.staff .cofounders::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.staff .cofounders .stripe-parent, main.staff .cofounders main.history .intro__photo img, main.history .intro__photo main.staff .cofounders img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.staff .cofounders::after {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.staff .cofounders::before, main.staff .cofounders::after {
    height: 500px;
    width: 8.33333%;
    z-index: 1; }
  main.staff .cofounders::after {
    bottom: auto;
    left: auto;
    right: 0;
    top: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  @media only screen and (max-width: 1080px) {
    main.staff .cofounders {
      margin-top: 0; }
      main.staff .cofounders::before, main.staff .cofounders::after {
        display: none; } }
  @media only screen and (max-width: 768px) {
    main.staff .cofounders {
      padding-bottom: 50px; } }

main.staff .cofounders__heading {
  margin-bottom: -270px;
  position: relative;
  text-align: center;
  top: -120px; }
  @media only screen and (max-width: 1080px) {
    main.staff .cofounders__heading {
      top: -80px; } }
  @media only screen and (max-width: 768px) {
    main.staff .cofounders__heading {
      margin-bottom: -250px;
      top: -60px; } }

main.staff .cofounders__inner {
  margin-top: 80px; }
  @media only screen and (max-width: 1080px) {
    main.staff .cofounders__inner {
      margin: 60px 20px 0; } }

@media only screen and (max-width: 1080px) {
  main.staff .cofounder {
    margin-top: 30px; } }

main.staff .cofounder__name {
  margin-bottom: 15px; }

main.student-writing, article.student-writing-post .post__inner, main.podcasts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%; }
  @media only screen and (max-width: 1080px) {
    main.student-writing, article.student-writing-post .post__inner, main.podcasts {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.student-writing__filter,
.student-writing__list, article.student-writing-post .post__meta,
article.student-writing-post .post__content, .podcasts__info,
.podcasts__list {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%; }
  @media only screen and (max-width: 1080px) {
    .student-writing__filter,
    .student-writing__list, article.student-writing-post .post__meta,
    article.student-writing-post .post__content, .podcasts__info,
    .podcasts__list {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 100%;
              flex: 1 0 100%; } }

.student-writing__filter, .podcasts__info {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #A1DFDB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 80px; }
  .student-writing__filter .heading, .podcasts__info .heading {
    margin-bottom: 0; }
    @media only screen and (max-width: 1080px) {
      .student-writing__filter .heading .heading__content, .podcasts__info .heading .heading__content {
        padding: 0; } }
  @media only screen and (max-width: 1080px) {
    .student-writing__filter, .podcasts__info {
      padding: 50px; } }

.student-writing__post {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
  background-position: bottom;
  background-size: 7px 2px;
  background-repeat: repeat-x;
  background-color: #FFF;
  cursor: pointer;
  display: block;
  padding: 50px 120px 50px 100px;
  position: relative;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s; }
  .student-writing__post:hover {
    background-color: #fcf6ee; }

.student-writing__post .post__author {
  margin-top: 7px; }


.student-writing__list,
article.student-writing-post .post__content,
.podcasts__list {
  border-top: 1px solid #ececec;
  position: relative; }
  .student-writing__list::before, article.student-writing-post .post__content::before, .podcasts__list::before, .student-writing__list::after, article.student-writing-post .post__content::after, .podcasts__list::after {
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    z-index: 1; }
    @media only screen and (max-width: 1080px) {
      .student-writing__list::before, article.student-writing-post .post__content::before, .podcasts__list::before, .student-writing__list::after, article.student-writing-post .post__content::after, .podcasts__list::after {
        content: none; } }
  .student-writing__list::before, article.student-writing-post .post__content::before, .podcasts__list::before {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #FFF), color-stop(99%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(#FFF 3%, rgba(255, 255, 255, 0) 99%);
    height: 150px;
    top: 0; }
  .student-writing__list::after, article.student-writing-post .post__content::after, .podcasts__list::after {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, rgba(255, 255, 255, 0)), color-stop(99%, #FFF));
    background-image: linear-gradient(rgba(255, 255, 255, 0) 3%, #FFF 99%);
    bottom: 0;
    height: 200px; }
  .at-top.student-writing__list::before, article.student-writing-post .at-top.post__content::before, .at-top.podcasts__list::before {
    opacity: 0; }
  .at-bottom.student-writing__list::after, article.student-writing-post .at-bottom.post__content::after, .at-bottom.podcasts__list::after {
    opacity: 0; }

.student-writing__list-inner, .podcasts__list-inner {
  bottom: 0;
  left: 0;
  overflow: auto;
  position: absolute;
  right: 0;
  top: 0; }
  @media only screen and (max-width: 1080px) {
    .student-writing__list-inner, .podcasts__list-inner {
      position: relative; } }

@media only screen and (min-width: 1081px) {
  body.page-podcasts main, body.post-type-archive-student_writing main, body.single-student_writing main {
    height: calc(100vh - 100px);
    min-height: calc(100vh - 100px); } }

@media only screen and (min-width: 1081px) {
  body.page-podcasts article, body.post-type-archive-student_writing article, body.single-student_writing article {
    height: calc(100vh - 100px); } }

body.page-podcasts footer, body.post-type-archive-student_writing footer, body.single-student_writing footer {
  display: none; }

body.page-student-voices .grid {
  position: relative;
  padding-bottom: 100px; }
  body.page-student-voices .grid .stripe-parent, body.page-student-voices .grid main.history .intro__photo img, main.history .intro__photo body.page-student-voices .grid img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  body.page-student-voices .grid::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  body.page-student-voices .grid::before {
    height: 100px;
    left: 7vw;
    right: 7vw;
    -webkit-transform: translateY(120%);
            transform: translateY(120%);
    width: auto; }
  @media only screen and (max-width: 768px) {
    body.page-student-voices .grid {
      margin-top: 100px;
      padding-bottom: 0; }
      body.page-student-voices .grid::before {
        display: none; } }

body.page-student-voices .grid__title,
body.page-student-voices .grid__subtitle {
  padding: 0 30%; }
  @media only screen and (max-width: 1080px) {
    body.page-student-voices .grid__title,
    body.page-student-voices .grid__subtitle {
      padding: 0 30px; } }

body.page-student-voices .grid__item {
  padding: 30px 50px; }
  body.page-student-voices .grid__item .illustration {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 140px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  body.page-student-voices .grid__item .content__titles {
    margin: 20px 0 0; }

@media only screen and (max-width: 1080px) {
  main.student-writing {
    display: block; } }

@media screen and (min-width: 1440px) {
  .student-writing__filter {
    padding-left: 9%; } }

@media only screen and (max-width: 768px) {
  .student-writing__filter {
    padding: 32px 30px; } }

@media screen and (max-width: 510px) {
  .student-writing__filter .writings-filter__inner {
    width: 100%; } }

.student-writing__filter .filter__heading {
  margin-bottom: 50px;
  position: relative; }

.student-writing__filter .writings__filter.is-active .writings__filter-dropdown {
  display: block; }

.student-writing__filter .writings__filter.is-visible .writings__filter-dropdown {
  opacity: 1; }

.student-writing__filter .writings__filter-inner {
  color: #0C5C58;
  position: relative;
  text-transform: none; }
  @media screen and (max-width: 510px) {
    .student-writing__filter .writings__filter-inner {
      width: 100%; } }
  .student-writing__filter .writings__filter-inner.clicked {
    background-image: none; }
    .student-writing__filter .writings__filter-inner.clicked .writings__filter-reset-button {
      opacity: 1;
      cursor: pointer;
      pointer-events: all; }
    .student-writing__filter .writings__filter-inner.clicked .writings__filter-selection::after, .student-writing__filter .writings__filter-inner.clicked .writings__filter-selection::before {
      opacity: 0; }

.student-writing__filter .writings__filter-selection {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: right 10px center;
  background-repeat: no-repeat;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 35px;
  min-width: 200px;
  padding: 0 40px 0 0; }
  .student-writing__filter .writings__filter-selection::after, .student-writing__filter .writings__filter-selection::before {
    background-color: #0C5C58;
    content: '';
    height: 10px;
    position: absolute;
    right: 20px;
    top: 14px;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    width: 1px; }
  .student-writing__filter .writings__filter-selection::after {
    right: 13px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .student-writing__filter .writings__filter-selection::before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }

.student-writing__filter .writings__filter-reset-button {
  height: 31px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: -31px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  width: 31px; }
  .student-writing__filter .writings__filter-reset-button::before, .student-writing__filter .writings__filter-reset-button::after {
    background-color: #0C5C58;
    content: '';
    height: 66%;
    left: 15px;
    position: absolute;
    top: 5px;
    width: 1px; }
  .student-writing__filter .writings__filter-reset-button:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .student-writing__filter .writings__filter-reset-button:before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }

.student-writing__filter .writings__filter-dropdown {
  background: #bff2ef;
  border-radius: 0 0 4px 4px;
  -webkit-box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);
  display: none;
  left: -10px;
  min-width: calc(100% + 10px);
  opacity: 0;
  padding: 0 10px;
  position: absolute;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 1; }

.student-writing__filter .writings__filter-option {
  cursor: pointer;
  display: block;
  margin-bottom: 5px;
  margin-left: -10px;
  padding-left: 10px;
  white-space: nowrap;
  width: calc(100% + 20px); }
  .student-writing__filter .writings__filter-option:last-child {
    border-radius: 0 0 4px 4px;
    margin-bottom: 0;
    padding-bottom: 5px; }
  .student-writing__filter .writings__filter-option:hover {
    background-color: #f1fafa;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s; }

.student-writing__filter .filter__option {
  margin: 20px 0; }
  @media screen and (max-width: 510px) {
    .student-writing__filter .filter__option + .filter__option {
      margin-top: 25px; } }
  .student-writing__filter .filter__option .filter__option-select-wrapper {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(33%, #2A2A2A), color-stop(0%, rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to right, #2A2A2A 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 7px 2px;
    background-repeat: repeat-x;
    background-position-x: 10px;
    display: inline-block;
    font-size: 30px;
    margin-left: 10px;
    padding-left: 10px; }
    @media screen and (max-width: 510px) {
      .student-writing__filter .filter__option .filter__option-select-wrapper {
        display: block;
        margin-left: -10px; } }
    .student-writing__filter .filter__option .filter__option-select-wrapper.is-visible {
      background-color: #bff2ef;
      border-radius: 5px 5px 0 0; }

.student-writing__filter .filter__option-select {
  background-color: transparent;
  background-image: url('data:image/svg+xml;utf8,<svg width="14" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M13 0L7 6 1 0" stroke="%230C5C58" fill="none" fill-rule="evenodd"/></svg>');
  background-position: right 10px center;
  background-repeat: no-repeat;
  border: 0;
  border-radius: 0;
  color: #0C5C58;
  min-width: 200px;
  padding-right: 40px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

.student-writing__filter .filter__text {
  display: inline-block;
  margin: 0 15px; }

.student-writing__filter .filter__buttons {
  margin-top: 50px; }
  @media only screen and (max-width: 768px) {
    .student-writing__filter .filter__buttons {
      display: none; } }
  .student-writing__filter .filter__buttons .filter__button,
  .student-writing__filter .filter__buttons .surprise__button {
    cursor: pointer; }

.student-writing__post {
  -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
  @media only screen and (max-width: 768px) {
    .student-writing__post {
      padding: 32px 30px; } }
  .student-writing__post:hover .post__arrow {
    opacity: 1; }
  .student-writing__post.fade-off {
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .student-writing__post.fade-in {
    opacity: 1; }
  .student-writing__post .post__arrow {
    background: #FFF;
    border-radius: 50%;
    -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
    height: 75px;
    right: 30px;
    position: relative;
    width: 75px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
    -webkit-transition: opacity 0.1s;
    transition: opacity 0.1s; }
    .student-writing__post .post__arrow::after {
      left: 50%;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      background: url(img/icons/arrow-red.svg) center/contain no-repeat;
      content: '';
      height: 21px;
      width: 18px; }

@media only screen and (max-width: 1080px) {
  article.student-writing-post .post__inner {
    display: block; } }

@media only screen and (max-width: 768px) {
  article.student-writing-post .post__inner {
    word-break: break-word; } }

article.student-writing-post .post__meta {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #EF3114;
  color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 80px 8vw;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    article.student-writing-post .post__meta {
      min-height: auto;
      padding: 100px 30px; } }

article.student-writing-post .post__title.is-short {
  font-size: 150px; }
  @media only screen and (max-width: 768px) {
    article.student-writing-post .post__title.is-short {
      font-size: 100px; } }

article.student-writing-post .post__toc {
  color: #FFF;
  left: 40px;
  position: absolute;
  top: 40px; }
  article.student-writing-post .post__toc::before {
    background: url(img/icons/arrow-white.svg) center/contain no-repeat;
    content: '';
    display: inline-block;
    height: 15px;
    margin-right: 10px;
    position: relative;
    top: 3px;
    width: 14px; }

article.student-writing-post .post__author {
  margin: 30px 0 7px; }

article.student-writing-post .post__content {
  height: calc(100vh - 100px); }
  @media only screen and (max-width: 1080px) {
    article.student-writing-post .post__content {
      height: auto; } }

article.student-writing-post .post__content-separator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  overflow: auto;
  position: relative;
  width: 100%; }
  @media only screen and (max-width: 1080px) {
    article.student-writing-post .post__content-separator {
      height: auto; } }

article.student-writing-post .post__content-spacer {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

article.student-writing-post .post__content-inner {
  padding: 100px 8vw; }
  @media only screen and (max-width: 1080px) {
    article.student-writing-post .post__content-inner {
      bottom: auto;
      left: auto;
      padding: 50px 30px;
      position: relative;
      right: auto;
      top: auto; } }

@media only screen and (min-width: 1081px) {
  article.student-writing-post .post__prev.desktop--hidden,
  article.student-writing-post .post__next.desktop--hidden {
    display: none; } }

@media only screen and (max-width: 1080px) {
  article.student-writing-post .post__prev.tablet--hidden,
  article.student-writing-post .post__next.tablet--hidden {
    display: none; } }

@media only screen and (max-width: 768px) {
  article.student-writing-post .post__prev,
  article.student-writing-post .post__next {
    display: none; } }

article.student-writing-post .post__prev {
  background: #FFF;
  border-radius: 50%;
  -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
  height: 75px;
  right: 30px;
  position: relative;
  width: 75px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.5vw;
  -webkit-transform: scale(0.75) translateY(-50%);
          transform: scale(0.75) translateY(-50%); }
  article.student-writing-post .post__prev::after {
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: url(img/icons/arrow-red.svg) center/contain no-repeat;
    content: '';
    height: 21px;
    width: 18px;
    -webkit-transform: translate(-50%, -50%) scaleX(-1);
            transform: translate(-50%, -50%) scaleX(-1); }
  @media only screen and (max-width: 1080px) {
    article.student-writing-post .post__prev {
      bottom: 0;
      left: auto;
      right: 30px;
      top: auto; } }

article.student-writing-post .post__next {
  background: #FFF;
  border-radius: 50%;
  -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.1);
  height: 75px;
  right: 30px;
  position: relative;
  width: 75px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5vw;
  top: 50vh;
  -webkit-transform: scale(0.75) translateY(-50%);
          transform: scale(0.75) translateY(-50%); }
  article.student-writing-post .post__next::after {
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: url(img/icons/arrow-red.svg) center/contain no-repeat;
    content: '';
    height: 21px;
    width: 18px; }
  @media only screen and (max-width: 1080px) {
    article.student-writing-post .post__next {
      bottom: 70px;
      left: auto;
      right: 30px;
      top: auto; } }

@media only screen and (max-width: 1080px) {
  main.podcasts {
    display: block; } }

@media only screen and (max-height: 800px) {
  main.podcasts .podcasts__description {
    font-size: 18px; } }

.podcasts__info {
  overflow: hidden;
  padding-bottom: 150px;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    .podcasts__info {
      margin-bottom: 0; } }
  @media only screen and (max-width: 1080px) {
    .podcasts__info .podcasts__headline .heading {
      margin: 0; } }
  @media only screen and (max-width: 1080px) {
    .podcasts__info .podcasts__headline .heading__content {
      padding: 0;
      width: auto; } }

.podcasts__description {
  margin-top: 20px; }
  .podcasts__description .content__description {
    margin-bottom: 20px; }

.podcasts__illustration {
  bottom: 0;
  position: absolute;
  right: 0;
  -webkit-transform: translate(-20%, 0);
          transform: translate(-20%, 0); }
  @media only screen and (max-width: 768px) {
    .podcasts__illustration {
      max-width: 220px;
      right: 0;
      -webkit-transform: translate(0);
              transform: translate(0);
      width: 50%; } }

body.page-publications .rich-content {
  margin-bottom: 0; }

body.page-publications .headline--publications {
  margin-bottom: 20px; }
  body.page-publications .headline--publications em {
    position: static;
    -webkit-transform: none;
            transform: none; }
  @media only screen and (max-width: 1080px) {
    body.page-publications .headline--publications {
      margin-top: 80px; } }
  @media only screen and (max-width: 768px) {
    body.page-publications .headline--publications {
      margin-top: 0; } }

body.page-publications .two-col__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

body.page-publications .two-col__main {
  max-width: 500px; }
  body.page-publications .two-col__main .content__titles {
    margin-bottom: 30px; }
  body.page-publications .two-col__main .content__subtitle {
    text-transform: none; }

body.page-publications .two-col__image {
  margin: 0 0 0 auto;
  max-width: 400px; }
  body.page-publications .two-col__image::before {
    display: none; }

body.page-featured-students section.carousel .slide.slick-slide[aria-hidden="true"] .card--floating {
  position: relative; }
  body.page-featured-students section.carousel .slide.slick-slide[aria-hidden="true"] .card--floating::after {
    background-color: #FFF;
    bottom: 0;
    content: '';
    left: 0;
    opacity: .7;
    position: absolute;
    right: 0;
    top: 0; }

body.page-featured-students section.carousel .slide__inner {
  max-width: none;
  width: 100%; }

body.page-featured-students section.carousel .slide__inner .card {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  height: auto;
  max-width: none;
  padding: 40px 0;
  width: 80%; }
  @media only screen and (max-width: 768px) {
    body.page-featured-students section.carousel .slide__inner .card {
      padding-top: 20px; } }

body.page-featured-students section.carousel .card__inner {
  width: 80%; }

@media only screen and (max-width: 768px) {
  body.page-featured-students section.carousel .card__text {
    font-size: 16px;
    margin-bottom: 0;
    margin-top: 10px; } }

main.volunteer {
  margin-top: 30px; }
  @media only screen and (min-width: 769px) {
    main.volunteer {
      margin-top: 40px; } }
  main.volunteer .heading {
    position: relative; }
  main.volunteer .rich-content--hero .rich-content__main-inner::after {
    content: none; }
  main.volunteer .rich-content--hero .rich-content__main::before {
    width: 49.23611vw; }
  main.volunteer .get-started__main {
    position: relative; }
    main.volunteer .get-started__main::before {
      background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
      bottom: 100px;
      content: '';
      display: block;
      height: auto;
      left: 0;
      position: absolute;
      top: 0;
      -webkit-transform: none;
              transform: none;
      width: 15.39352vw;
      z-index: -1; }
      @media only screen and (max-width: 768px) {
        main.volunteer .get-started__main::before {
          content: none; } }
  main.volunteer .get-started__intro {
    max-width: calc(100% - 40px); }
    main.volunteer .get-started__intro .get-started__headline .heading {
      margin-bottom: 0;
      max-width: 500px; }
      main.volunteer .get-started__intro .get-started__headline .heading em {
        left: 105px;
        -webkit-transform: translate(-130%, -50%);
                transform: translate(-130%, -50%); }
        @media only screen and (max-width: 1080px) {
          main.volunteer .get-started__intro .get-started__headline .heading em {
            left: 50px; } }
      @media only screen and (max-width: 1080px) {
        main.volunteer .get-started__intro .get-started__headline .heading {
          font-size: 85px;
          margin-top: 0;
          max-width: 300px; }
          main.volunteer .get-started__intro .get-started__headline .heading em {
            font-size: 38px; } }
    @media only screen and (max-width: 768px) {
      main.volunteer .get-started__intro .get-started__description {
        padding: 0;
        text-align: center; } }
  main.volunteer .get-started__featured .grid {
    margin-top: 50px; }
  main.volunteer .get-started__featured .card {
    height: 100%;
    margin: 0;
    padding-left: 6.93287vw;
    padding-right: 6.93287vw; }
  main.volunteer .get-started__other-ways {
    margin-top: 80px; }
    @media only screen and (max-width: 768px) {
      main.volunteer .get-started__other-ways {
        margin-top: 50px; } }
  main.volunteer .get-started__already {
    margin-bottom: 120px;
    margin-top: 60px; }
    main.volunteer .get-started__already .content {
      text-align: center; }
      main.volunteer .get-started__already .content .content__description {
        margin: 30px 0; }
    @media only screen and (max-width: 768px) {
      main.volunteer .get-started__already {
        margin-bottom: 80px; } }
  main.volunteer .we-need {
    margin-top: 80px;
    position: relative; }
    main.volunteer .we-need .heading {
      margin-bottom: 0; }
    main.volunteer .we-need::before {
      background: #A1DFDB;
      bottom: 70px;
      content: '';
      left: 0;
      position: absolute;
      right: 0;
      top: 130px; }
      @media only screen and (max-width: 1080px) {
        main.volunteer .we-need::before {
          top: 90px; } }
    @media only screen and (max-width: 1080px) {
      main.volunteer .we-need::before {
        top: 60px; } }
    @media only screen and (max-width: 768px) {
      main.volunteer .we-need {
        margin-top: 50px; } }
  main.volunteer .we-need__description {
    margin: 20px auto 80px;
    position: relative; }
    @media only screen and (max-width: 768px) {
      main.volunteer .we-need__description {
        margin-bottom: 20px;
        margin-top: 40px; } }
    main.volunteer .we-need__description .content {
      text-align: center; }
    main.volunteer .we-need__description .content__description {
      margin-bottom: 30px; }
  main.volunteer .we-need__statistics {
    position: relative; }
    main.volunteer .we-need__statistics .stat .card {
      height: 100%;
      margin: 0;
      padding-bottom: 150px;
      padding-top: 150px;
      text-align: center; }
      main.volunteer .we-need__statistics .stat .card .heading {
        margin-bottom: 50px; }
        main.volunteer .we-need__statistics .stat .card .heading em {
          left: 50%;
          position: absolute;
          -webkit-transform: translate(-50%, -70%);
                  transform: translate(-50%, -70%); }
    @media only screen and (max-width: 768px) {
      main.volunteer .we-need__statistics {
        max-width: calc(100% - 40px); }
        main.volunteer .we-need__statistics .stat .card {
          padding-bottom: 90px;
          padding-top: 90px; }
          main.volunteer .we-need__statistics .stat .card .heading {
            margin-bottom: 20px; } }
  main.volunteer .words {
    margin-top: 80px; }
    @media only screen and (max-width: 768px) {
      main.volunteer .words {
        margin-top: 50px; } }
  main.volunteer .words__headline {
    position: relative; }
    main.volunteer .words__headline .heading {
      margin-bottom: 0; }
    main.volunteer .words__headline::before {
      background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
      content: '';
      display: block;
      height: 265px;
      left: 0;
      margin: 0 auto;
      position: absolute;
      right: 0;
      top: 75%;
      -webkit-transform: none;
              transform: none;
      width: 70%;
      z-index: -1; }
  main.volunteer .words__carousel .carousel {
    background: transparent;
    padding-top: 0;
    z-index: 2; }
    main.volunteer .words__carousel .carousel:first-child {
      margin-top: 0; }
    main.volunteer .words__carousel .carousel .simple-headline {
      display: none; }
    main.volunteer .words__carousel .carousel .slide__inner {
      max-width: none;
      width: auto; }
      main.volunteer .words__carousel .carousel .slide__inner .card {
        height: auto; }
  main.volunteer .give-back {
    background: #A1DFDB;
    margin-top: -200px;
    padding: 300px 0 200px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      main.volunteer .give-back {
        margin-top: -150px;
        padding: 200px 0; } }
    main.volunteer .give-back .give-back__headline img {
      margin-left: -247px;
      -webkit-transform: translate(-5%, 50%);
              transform: translate(-5%, 50%);
      width: 247px; }
      @media only screen and (max-width: 1080px) {
        main.volunteer .give-back .give-back__headline img {
          display: block;
          margin: 0 auto 30px;
          -webkit-transform: none;
                  transform: none;
          width: auto; } }
      @media only screen and (max-width: 768px) {
        main.volunteer .give-back .give-back__headline img {
          width: 50%; } }
    main.volunteer .give-back .give-back__headline .heading {
      margin-bottom: 0; }
      main.volunteer .give-back .give-back__headline .heading::after {
        background: center/contain no-repeat url("img/illustrations/illu-sparks.svg");
        content: '';
        height: 150%;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translate(100%, -50%);
                transform: translate(100%, -50%);
        width: 25%; }
        @media only screen and (max-width: 768px) {
          main.volunteer .give-back .give-back__headline .heading::after {
            display: none; } }
      @media only screen and (max-width: 1080px) {
        main.volunteer .give-back .give-back__headline .heading em {
          -webkit-transform: translate(-15%, -50%);
                  transform: translate(-15%, -50%); } }
    main.volunteer .give-back .button, main.volunteer .give-back .gform_wrapper form.donate-form .gform_page_footer input.gform_next_button, .gform_wrapper form.donate-form .gform_page_footer main.volunteer .give-back input.gform_next_button, main.volunteer .give-back .gform_wrapper form.donate-form .gform_page_footer input.gform_button, .gform_wrapper form.donate-form .gform_page_footer main.volunteer .give-back input.gform_button {
      margin-top: 30px; }

@media only screen and (max-width: 1080px) {
  .parent--volunteer {
    margin-top: 0; } }

.parent--volunteer .article-content {
  margin-top: 30px; }
  @media only screen and (min-width: 769px) {
    .parent--volunteer .article-content {
      margin-top: 40px; } }
  .parent--volunteer .article-content .simple-headline:first-of-type .heading--left {
    margin-top: 0; }

.parent--volunteer .rich-content--hero .rich-content__main-inner::after,
.parent--volunteer .rich-content--hero .rich-content__main::before {
  content: none; }

.parent--volunteer .rich-content--hero .rich-content__main {
  background: #fcf6ee; }

.parent--volunteer .simple-headline:not(:first-child) {
  margin-bottom: 50px; }
  @media only screen and (max-width: 1080px) {
    .parent--volunteer .simple-headline:not(:first-child) .heading {
      margin-bottom: 0; } }

@media only screen and (max-width: 1080px) {
  .page-volunteering-for-groups .heading--left .heading__content em,
  .page-volunteering-for-under-18 .heading--left .heading__content em {
    -webkit-transform: translate(-20%, -10%);
            transform: translate(-20%, -10%); } }

main.volunteer-application .application {
  position: relative;
  background: #A1DFDB;
  margin-bottom: 75px;
  margin-top: 100px; }
  main.volunteer-application .application .stripe-parent, main.volunteer-application .application main.history .intro__photo img, main.history .intro__photo main.volunteer-application .application img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.3); }
  main.volunteer-application .application::before {
    background: url(img/icons/stripes-pattern-tile.svg) 0 0/192px 192px repeat;
    bottom: 0;
    content: '';
    display: block;
    height: 200px;
    left: 0;
    position: absolute;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 300px;
    z-index: -1; }
  main.volunteer-application .application::before {
    bottom: auto;
    height: 300px;
    left: 0;
    top: 0;
    -webkit-transform: translateX(20%);
            transform: translateX(20%);
    width: 30%;
    z-index: 0; }
  main.volunteer-application .application::after {
    background: url(img/illustrations/ic-pen-quil-color.svg) center/contain no-repeat;
    content: '';
    height: 103px;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform: translate(7vw, -100%);
            transform: translate(7vw, -100%);
    width: 124px; }
    @media only screen and (max-width: 768px) {
      main.volunteer-application .application::after {
        display: none; } }
  @media only screen and (max-width: 1080px) {
    main.volunteer-application .application {
      margin-top: 70px; }
      main.volunteer-application .application::after {
        display: none; } }
  @media only screen and (max-width: 768px) {
    main.volunteer-application .application {
      margin-top: 60px; } }

main.volunteer-application .application__headline {
  margin-bottom: -180px;
  position: relative;
  text-align: center;
  top: -60px; }
  @media only screen and (max-width: 1080px) {
    main.volunteer-application .application__headline {
      top: -30px; } }
  @media only screen and (max-width: 768px) {
    main.volunteer-application .application__headline {
      top: -30px; } }
  main.volunteer-application .application__headline .heading em {
    -webkit-transform: translate(35%, 0);
            transform: translate(35%, 0); }
    @media only screen and (max-width: 1080px) {
      main.volunteer-application .application__headline .heading em {
        top: 60px; } }
    @media only screen and (max-width: 768px) {
      main.volunteer-application .application__headline .heading em {
        top: auto;
        -webkit-transform: translate(5%, 0);
                transform: translate(5%, 0); } }

main.volunteer-application .application__iframe {
  position: relative;
  top: 75px; }
  @media only screen and (max-width: 768px) {
    main.volunteer-application .application__iframe {
      top: 30px; } }

main.volunteer-application .application__iframe-inner {
  background: #FFF;
  -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.06);
          box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.06);
  min-height: 7500px;
  padding: 0; }
  main.volunteer-application .application__iframe-inner iframe {
    height: 100%;
    min-height: 7500px;
    width: 100%; }
  @media only screen and (max-width: 768px) {
    main.volunteer-application .application__iframe-inner {
      min-height: 8500px; }
      main.volunteer-application .application__iframe-inner iframe {
        min-height: 8500px; } }

body.page-volunteer-thank-you {
  background: #fcf6ee; }
  body.page-volunteer-thank-you header,
  body.page-volunteer-thank-you footer {
    display: none; }
  body.page-volunteer-thank-you main.volunteer-thank-you {
    text-align: center; }
    body.page-volunteer-thank-you main.volunteer-thank-you .heading {
      margin-bottom: 0; }
    body.page-volunteer-thank-you main.volunteer-thank-you img {
      margin: 60px auto; }
    body.page-volunteer-thank-you main.volunteer-thank-you .note {
      margin: 0 auto;
      max-width: 495px;
      padding: 0 20px;
      text-align: left; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGlucy5zY3NzIiwiX21leWVyLXJlc2V0LnNjc3MiLCJfZ3JpZC5zY3NzIiwiX2dsb2JhbHMuc2NzcyIsIl90eXBvZ3JhcGh5LnNjc3MiLCJfcmVzcG9uc2l2ZS5zY3NzIiwidmVuZG9yL19zbGljay5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19kb25hdGUtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faGVhZGluZy5zY3NzIiwiY29tcG9uZW50cy9faWxsdXN0cmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19tZW51LnNjc3MiLCJjb21wb25lbnRzL19uZXdzbGV0dGVyLnNjc3MiLCJjb21wb25lbnRzL19wZW9wbGUtZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvX3JpY2gtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fc2ltcGxlLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX3N0ZXBzLnNjc3MiLCJjb21wb25lbnRzL190ZWFzZS5zY3NzIiwiY29tcG9uZW50cy9fdHdvLWNvbC5zY3NzIiwiY29tcG9uZW50cy9fd2hhdHMtbmV3LnNjc3MiLCJwYWdlcy9fY2FsZW5kYXIuc2NzcyIsInBhZ2VzL19jYXJlZXJzLnNjc3MiLCJwYWdlcy9fY29udGFjdC5zY3NzIiwicGFnZXMvX2RvbmF0ZS5zY3NzIiwicGFnZXMvX2hpc3Rvcnkuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCJwYWdlcy9faW5kZXguc2NzcyIsInBhZ2VzL19vd29nLnNjc3MiLCJwYWdlcy9fcG9zdC5zY3NzIiwicGFnZXMvX3Byb2dyYW0uc2NzcyIsInBhZ2VzL19wcm9ncmFtcy5zY3NzIiwicGFnZXMvX3B1YmxpY2F0aW9ucy5zY3NzIiwicGFnZXMvX3N0YWZmLnNjc3MiLCJwYWdlcy9fc3R1ZGVudC12b2ljZXMuc2NzcyIsInBhZ2VzL192b2x1bnRlZXIuc2NzcyIsInBhZ2VzL192b2x1bnRlZXItYXBwbGljYXRpb24uc2NzcyIsInBhZ2VzL192b2x1bnRlZXItdGhhbmsteW91LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblRoZW1lIE5hbWU6IFZhbGVuY2lhXG5BdXRob3I6IFVwcGVycXVhZFxuQXV0aG9yIFVSSTogaHR0cDovL3VwcGVycXVhZC5jb20vXG5EZXNjcmlwdGlvbjogVGhlbWUgZm9yIHRoZSA4MjYgVmFsZW5jaWEgd2Vic2l0ZVxuVmVyc2lvbjogMS4wXG5cbkxpY2Vuc2U6IE5vIExpY2Vuc2VcbiovXG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtZXllci1yZXNldFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJnbG9iYWxzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInJlc3BvbnNpdmVcIjtcblxuQGltcG9ydCBcInZlbmRvci9zbGlja1wiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9hY2NvcmRpb24tbGlzdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RvbmF0ZS1mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3RlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkaW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbGx1c3RyYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25ld3NsZXR0ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Blb3BsZS1ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9xdW90ZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcmljaC1jb250ZW50XCI7IC8vIGluY2x1ZGVzIGhlcm9cbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpbXBsZS1jb250ZW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zdGVwc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGVhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3R3by1jb2xcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3doYXRzLW5ld1wiO1xuXG5AaW1wb3J0IFwicGFnZXMvY2FsZW5kYXJcIjtcbkBpbXBvcnQgXCJwYWdlcy9jYXJlZXJzXCI7XG5AaW1wb3J0IFwicGFnZXMvY29udGFjdFwiO1xuQGltcG9ydCBcInBhZ2VzL2RvbmF0ZVwiO1xuQGltcG9ydCBcInBhZ2VzL2hpc3RvcnlcIjtcbkBpbXBvcnQgXCJwYWdlcy9ob21lXCI7XG5AaW1wb3J0IFwicGFnZXMvaW5kZXhcIjtcbkBpbXBvcnQgXCJwYWdlcy9vd29nXCI7XG5AaW1wb3J0IFwicGFnZXMvcG9zdFwiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2dyYW1cIjtcbkBpbXBvcnQgXCJwYWdlcy9wcm9ncmFtc1wiO1xuQGltcG9ydCBcInBhZ2VzL3B1YmxpY2F0aW9uc1wiO1xuQGltcG9ydCBcInBhZ2VzL3N0YWZmXCI7XG5AaW1wb3J0IFwicGFnZXMvc3R1ZGVudC12b2ljZXNcIjtcbkBpbXBvcnQgXCJwYWdlcy92b2x1bnRlZXJcIjtcbkBpbXBvcnQgXCJwYWdlcy92b2x1bnRlZXItYXBwbGljYXRpb25cIjtcbkBpbXBvcnQgXCJwYWdlcy92b2x1bnRlZXItdGhhbmsteW91XCI7XG4iLCIvKipcbiAqIFNBU1MgVmFyaWFibGVzXG4gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTG9uZyBIYWlyZWQgRnJlYWt5IFBlb3BsZSc7XG4gIHNyYzogdXJsKCdpbWcvZm9udHMvbGhmcC5vdGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGllIFRvIE1lJztcbiAgc3JjOiB1cmwoJ2ltZy9mb250cy9saWV0b21lLm90ZicpO1xufVxuXG4kYnJlYWtwb2ludC10YWJsZXQ6IDEwODBweDtcbiRicmVha3BvaW50LXNtYXJ0cGhvbmU6IDc2OHB4O1xuXG4kZm9udC1zY3JpcHQ6ICdMaWUgVG8gTWUnLCBzZXJpZjtcbiRmb250LWhlYWRpbmc6ICdMb25nIEhhaXJlZCBGcmVha3kgUGVvcGxlJywgc2Fucy1zZXJpZjtcblxuLy8gQ29sb3JzXG4kY29sb3ItcmVkOiAjRUYzMTE0O1xuJGNvbG9yLWRhcmstcmVkOiAjQ0ExRDE0O1xuJGNvbG9yLWdvbGQ6ICNEREEzNTA7XG4kY29sb3ItYmx1ZTogI0ExREZEQjtcbiRjb2xvci10ZWFsOiAjMEM1QzU4O1xuJGNvbG9yLXdoaXRlOiAjRkZGO1xuJGNvbG9yLWJsYWNrOiAjMDAwO1xuJGNvbG9yLWdyYXk6ICMyQTJBMkE7XG4kY29sb3ItbHQtZ3JheTogIzk3OTc5NztcbiRjb2xvci1sdC1nb2xkOiAjZmNmNmVlOyAvLyByZ2JhKDIyMSwgMTYzLCA4MCwgLjEpO1xuJGNvbG9yLWx0LWJsdWU6ICNmMWZhZmE7IC8vIHJnYmEoMTYxLCAyMjMsIDIxOSwgLjE1KTtcbiRjb2xvci1sdC10ZWFsOiAjYmZmMmVmO1xuXG4vLyBHcmlkXG4kZ3JpZC0tY29sczogMTI7XG4kZ3JpZC0td2lkdGg6IDE0NDBweDtcbiRncmlkLS1ndXR0ZXItd2lkdGg6IDExcHg7XG4kZ3JpZC0tZ3V0dGVyLXdpZHRoLXZ3OiAkZ3JpZC0tZ3V0dGVyLXdpZHRoIC8gJGdyaWQtLXdpZHRoICogMTAwdnc7XG4kZ3JpZC0tZ3V0dGVyLXdpZHRoLXBjdDogJGdyaWQtLWd1dHRlci13aWR0aCAvICRncmlkLS13aWR0aCAqIDEwMCU7XG4kZ3JpZC0td2lkdGgtcGFkZGVkOiAkZ3JpZC0td2lkdGggKyAoJGdyaWQtLWd1dHRlci13aWR0aCAqIDIpO1xuXG4vLyBUaW1pbmdcbiRkdXJhdGlvbi1sb25nOiAwLjVzO1xuJGR1cmF0aW9uLW1lZDogMC4zcztcbiRkdXJhdGlvbi1zaG9ydDogMC4xcztcblxuLy8gRWFzaW5nc1xuJGVhc2luZy1jdWJpYy1iZXppZXI6IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpO1xuXG4vLyBIZWFkZXJcbiRoZWFkZXItaGVpZ2h0OiAxMDBweDtcbiRoZWFkZXItaGVpZ2h0LXRhYmxldDogODVweDtcblxuLy8gUGFkZGluZ1xuLy8gJHBhZGRpbmctLXBhZ2U6IDIwcHg7XG4kcGFkZGluZy0tcGFnZTogMHB4O1xuXG4vLyBmb3Jtc1xuJGZpZWxkLWhlaWdodDogNTVweDtcblxuJGJveC1zaGFkb3c6IDAgMTVweCA0MHB4IDAgcmdiYSgwLDAsMCwwLjMwKTtcblxuLy8gQ29tcG9uZW50c1xuJHNlY3Rpb24tbWFyZ2luOiA4MHB4O1xuJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lOiA1MHB4O1xuIiwiLyoqXG4gKiBTQVNTIE1peGluc1xuICovXG5cblxuQG1peGluIHJlc3BvbmQtdG8oJHBvaW50KSB7XG4gIEBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQgKyAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9pbnQgPT0gc21hcnRwaG9uZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvaW50ID09IGhlcm9CcmVha3BvaW50IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvaW50ID09IGhlYWRlckJyZWFrcG9pbnQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE4NHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvaW50ID09IGFib3ZlU21hcnRwaG9uZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lICsgMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb2ludCA9PSBhYm92ZVRhYmxldCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQgKyAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvaW50ID09IG9ubHlUYWJsZXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9pbnQgPT0gYWJvdmVHcmlkIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRncmlkLS13aWR0aCArIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2VudGVyKCRkaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gPT0geCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0geHkge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIHN0cmlwZS1ibG9jaygkcHN1ZWRvZWw6ICdiZWZvcmUnLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb246ICdyZWxhdGl2ZScpIHtcbiAgcG9zaXRpb246ICN7JHBvc2l0aW9ufTtcblxuICAuc3RyaXBlLXBhcmVudCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDQwcHggcmdiYSgwLCAwLCAwLCAuMyk7XG4gIH1cblxuICAmOjojeyRwc3VlZG9lbH0ge1xuICAgIGJhY2tncm91bmQ6IHVybChpbWcvaWNvbnMvc3RyaXBlcy1wYXR0ZXJuLXRpbGUuc3ZnKSAwIDAvMTkycHggMTkycHggcmVwZWF0O1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG5AbWl4aW4gZG90dGVkLWxpbmUoJHBvc2l0aW9uOiAnYm90dG9tJywgJGNvbG9yOiAkY29sb3ItZ3JheSkge1xuICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3IgMzMlLCByZ2JhKCRjb2xvci13aGl0ZSwgMCkgMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDdweCAycHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yIDMzJSwgcmdiYSgkY29sb3Itd2hpdGUsIDApIDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3cHggMnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb2xvciAzMyUsIHJnYmEoJGNvbG9yLXdoaXRlLCAwKSAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAycHggN3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yIDMzJSwgcmdiYSgkY29sb3Itd2hpdGUsIDApIDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnB4IDdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gIH1cbn1cblxuQG1peGluIGFycm93LWJ1dHRvbigkZGlyZWN0aW9uOiAncmlnaHQnKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAxcHggMnB4IDlweCAwIHJnYmEoMCwgMCwgMCwgMC4xMCk7XG4gIGhlaWdodDogNzVweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDc1cHg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNlbnRlcih4eSk7XG4gICAgYmFja2dyb3VuZDogdXJsKGltZy9pY29ucy9hcnJvdy1yZWQuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIHdpZHRoOiAxOHB4O1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZVgoLTEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbi8vIHYyLjAgfCAyMDExMDEyNlxuLy8gTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcblxuQG1peGluIG1leWVyLXJlc2V0IHtcbiAgaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnNcbiAgYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBib2R5IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICBvbCwgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgYmxvY2txdW90ZSwgcSB7XG4gICAgcXVvdGVzOiBub25lO1xuICB9XG4gIGJsb2NrcXVvdGUge1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxuICBxIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWV5ZXItcmVzZXQ7XG4iLCIvKipcbiAqIFNBU1MgTWl4aW5zIGZvciBHcmlkXG4gKi9cblxuJWdyaWRfX3JvdyB7XG4gIC8vIGJvcmRlcjogMXB4IHNvbGlkIG1hZ2VudGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtICgjeyRwYWRkaW5nLS1wYWdlfSAqIDIpKTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlR3JpZCkge1xuICAgIG1heC13aWR0aDogJGdyaWQtLXdpZHRoLXBhZGRlZCArICRwYWRkaW5nLS1wYWdlICogMjtcbiAgICBwYWRkaW5nOiAwICRwYWRkaW5nLS1wYWdlO1xuICB9XG59XG5cbiVncmlkX19yb3ctLW5lc3RlZCB7XG4gIG1hcmdpbjogLSRncmlkLS1ndXR0ZXItd2lkdGgtdnc7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLS13aWR0aC1wYWRkZWQgKyAxKSB7XG4gICAgbWFyZ2luOiAtJGdyaWQtLWd1dHRlci13aWR0aDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmUtZ3JpZCkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbiVncmlkX19yb3ctLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuJWdyaWRfX3Jvdy0tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuJWdyaWRfX3Jvdy0tanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuJWdyaWRfX3Jvdy0tanVzdGlmeS1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuJWdyaWRfX3Jvdy0tanVzdGlmeS1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4lZ3JpZF9fY29sIHtcbiAgbWFyZ2luOiAkZ3JpZC0tZ3V0dGVyLXdpZHRoLXZ3IDA7XG4gIHBhZGRpbmc6IDAgJGdyaWQtLWd1dHRlci13aWR0aC12dztcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtLXdpZHRoLXBhZGRlZCArIDEpIHtcbiAgICBtYXJnaW46ICRncmlkLS1ndXR0ZXItd2lkdGggMDtcbiAgICBwYWRkaW5nOiAwICRncmlkLS1ndXR0ZXItd2lkdGg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW46IDEwcHggMDsgLy8gbWF5YmUgP1xuICB9XG59XG5cbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGdyaWQtLWNvbHMge1xuICAlZ3JpZF9fY29sLSN7JGl9IHtcbiAgICBmbGV4OiAwIDAgMTAwJSAvICRncmlkLS1jb2xzICogJGk7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGdyaWQtLWNvbHMgKiAkaTtcbiAgfVxuXG4gICVncmlkX19wdXNoLSN7JGl9IHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJSAvICRncmlkLS1jb2xzICogJGk7XG4gIH1cbn1cblxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkZ3JpZC0tY29scyB7XG4gICVncmlkX19jb2wtI3skaX0teGwge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVHcmlkKSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJSAvICRncmlkLS1jb2xzICogJGk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCUgLyAkZ3JpZC0tY29scyAqICRpO1xuICAgIH1cbiAgfVxuXG4gICVncmlkX19wdXNoLSN7JGl9LXhsIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlR3JpZCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCUgLyAkZ3JpZC0tY29scyAqICRpO1xuICAgIH1cbiAgfVxufVxuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoICRncmlkLS1jb2xzIHtcbiAgJWdyaWRfX2NvbC0jeyRpfS1zbSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlIC8gJGdyaWQtLWNvbHMgKiAkaTtcbiAgICAgIG1heC13aWR0aDogMTAwJSAvICRncmlkLS1jb2xzICogJGk7XG4gICAgfVxuICB9XG5cbiAgJWdyaWRfX3B1c2gtI3skaX0tc20ge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJSAvICRncmlkLS1jb2xzICogJGk7XG4gICAgfVxuICB9XG59XG5cbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGdyaWQtLWNvbHMge1xuICAlZ3JpZF9fY29sLSN7JGl9LXhzIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlIC8gJGdyaWQtLWNvbHMgKiAkaTtcbiAgICAgIG1heC13aWR0aDogMTAwJSAvICRncmlkLS1jb2xzICogJGk7XG4gICAgfVxuICB9XG5cbiAgJWdyaWRfX3B1c2gtI3skaX0teHMge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCUgLyAkZ3JpZC0tY29scyAqICRpO1xuICAgIH1cbiAgfVxufVxuXG4lZ3JpZF9fY29sLWZ1bGwge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cblxuJWdyaWRfX2NvbC1maXQge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuJWFsaWduLS1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4lYWxpZ24tLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbiVhbGlnbi0tcmlnaHQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIGdyaWQtcm93KCRhbGlnbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgJG5lc3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgJGp1c3RpZnk6IGZhbHNlKSB7XG4gIEBleHRlbmQgJWdyaWRfX3JvdztcblxuICBAaWYgJGFsaWduIHtcbiAgICBAZXh0ZW5kICVncmlkX19yb3ctLSN7JGFsaWdufTtcbiAgfVxuXG4gIEBpZiAkbmVzdGVkIHtcbiAgICBAZXh0ZW5kICVncmlkX19yb3ctLW5lc3RlZDtcbiAgfVxuXG4gIEBpZiAkanVzdGlmeSB7XG4gICAgQGV4dGVuZCAlZ3JpZF9fcm93LS1qdXN0aWZ5LSN7JGp1c3RpZnl9O1xuICB9XG59XG5cbkBtaXhpbiBncmlkLWNvbCgkd2lkdGg6IGZhbHNlLFxuICAgICAgICAgICAgICAgICR3aWR0aC14bDogZmFsc2UsXG4gICAgICAgICAgICAgICAgJHdpZHRoLXNtOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAkd2lkdGgteHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICRhbGlnbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgJGV4dGVuZHM6IGZhbHNlKSB7XG4gIEBpZiAkZXh0ZW5kcyA9PSBmYWxzZSB7XG4gICAgQGV4dGVuZCAlZ3JpZF9fY29sO1xuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQGV4dGVuZCAlZ3JpZF9fY29sLSN7JHdpZHRofTtcbiAgfVxuXG4gIEBpZiAkd2lkdGgteGwge1xuICAgIEBleHRlbmQgJWdyaWRfX2NvbC0jeyR3aWR0aC14bH0teGw7XG4gIH1cblxuICBAaWYgJHdpZHRoLXNtIHtcbiAgICBAZXh0ZW5kICVncmlkX19jb2wtI3skd2lkdGgtc219LXNtO1xuICB9XG5cbiAgQGlmICR3aWR0aC14cyB7XG4gICAgQGV4dGVuZCAlZ3JpZF9fY29sLSN7JHdpZHRoLXhzfS14cztcbiAgfVxuXG4gIEBpZiAkYWxpZ24ge1xuICAgIEBleHRlbmQgJWFsaWduLS0jeyRhbGlnbn07XG4gIH1cbn1cblxuQG1peGluIGdyaWQtcHVzaCgkcHVzaDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAkcHVzaC14bDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAkcHVzaC1zbTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAkcHVzaC14czogZmFsc2UpIHtcbiAgQGlmICRwdXNoIHtcbiAgICBAZXh0ZW5kICVncmlkX19wdXNoLSN7JHB1c2h9O1xuICB9XG5cbiAgQGlmICRwdXNoLXhsIHtcbiAgICBAZXh0ZW5kICVncmlkX19wdXNoLSN7JHB1c2gteGx9LXhsO1xuICB9XG5cbiAgQGlmICRwdXNoLXNtIHtcbiAgICBAZXh0ZW5kICVncmlkX19wdXNoLSN7JHB1c2gtc219LXNtO1xuICB9XG5cbiAgQGlmICRwdXNoLXhzIHtcbiAgICBAZXh0ZW5kICVncmlkX19wdXNoLSN7JHB1c2gteHN9LXhzO1xuICB9XG59XG5cbkBmdW5jdGlvbiBjYWxjLWNvbC13aWR0aCgkY29scywgJHR5cGU6IHBjdCwgJGluY2x1ZGUtZ3V0dGVyOiBmYWxzZSkge1xuICBAaWYgJGluY2x1ZGUtZ3V0dGVyIHtcbiAgICBAaWYgJHR5cGUgPT0gJ3B4JyB7XG4gICAgICBAcmV0dXJuICgoKCRncmlkLS13aWR0aCAtICgoJGdyaWQtLWNvbHMgLSAxKSAqICRncmlkLS1ndXR0ZXItd2lkdGggKiAyKSkgLyAxMikgKiAkY29scykgK1xuICAgICAgICAgICAgICAoJGdyaWQtLWd1dHRlci13aWR0aCAqIDIgKiAkY29scyk7XG4gICAgfSBAZWxzZSBpZiAkdHlwZSA9PSAndncnIHtcbiAgICAgIEByZXR1cm4gKCgoMTAwdncgLSAoKCRncmlkLS1jb2xzIC0gMSkgKiAkZ3JpZC0tZ3V0dGVyLXdpZHRoLXZ3ICogMikpIC8gMTIpICogJGNvbHMpICtcbiAgICAgICAgICAgICAgKCRncmlkLS1ndXR0ZXItd2lkdGgtdncgKiAyICogJGNvbHMpO1xuICAgIH0gQGVsc2UgaWYgJHR5cGUgPT0gJ3BjdCcge1xuICAgICAgQHJldHVybiAxMDAlIC8gJGdyaWQtLWNvbHMgKiAkY29sczsgLy8gVE9ET1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICR0eXBlID09ICdweCcge1xuICAgICAgQHJldHVybiAoKCgkZ3JpZC0td2lkdGggLSAoKCRncmlkLS1jb2xzIC0gMSkgKiAkZ3JpZC0tZ3V0dGVyLXdpZHRoICogMikpIC8gMTIpICogJGNvbHMpICtcbiAgICAgICAgICAgICAgKCRncmlkLS1ndXR0ZXItd2lkdGggKiAyICogKCRjb2xzIC0gMSkpO1xuICAgIH0gQGVsc2UgaWYgJHR5cGUgPT0gJ3Z3JyB7XG4gICAgICBAcmV0dXJuICgoKDEwMHZ3IC0gKCgkZ3JpZC0tY29scyAtIDEpICogJGdyaWQtLWd1dHRlci13aWR0aC12dyAqIDIpKSAvIDEyKSAqICRjb2xzKSArXG4gICAgICAgICAgICAgICgkZ3JpZC0tZ3V0dGVyLXdpZHRoLXZ3ICogMiAqICgkY29scyAtIDEpKTtcbiAgICB9IEBlbHNlIGlmICR0eXBlID09ICdwY3QnIHtcbiAgICAgIEByZXR1cm4gMTAwJSAvICRncmlkLS1jb2xzICogJGNvbHM7IC8vIFRPRE9cbiAgICB9XG4gIH1cbn1cbiIsImh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBAZXh0ZW5kIC50LWJvZHktLXNtYWxsO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbnRlbnQtd3JhcHBlciB7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0LXRhYmxldDtcbiAgfVxufVxuXG4udS1ub3Njcm9sbCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLnUtYmctLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZSAhaW1wb3J0YW50O1xufVxuXG4udS1iZy0tZ29sZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1sdC1nb2xkICFpbXBvcnRhbnQ7XG59XG5cbi51LWJnLS1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkICFpbXBvcnRhbnQ7XG59XG5cbi51LWJnLS10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRlYWwgIWltcG9ydGFudDtcbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xvbmcgSGFpcmVkIEZyZWFreSBQZW9wbGUnO1xuICBzcmM6IHVybCgnaW1nL2ZvbnRzL2xoZnAub3RmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xpZSBUbyBNZSc7XG4gIHNyYzogdXJsKCdpbWcvZm9udHMvbGlldG9tZS5vdGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQm9kb25pIEVneXB0aW9uIFBybyBSZWd1bGFyJztcbiAgc3JjOiB1cmwoJ2ltZy9mb250cy9Cb2RvbmlFZ3lwdGlhbi9SZWd1bGFyLmVvdCcpO1xuICBzcmM6IHVybCgnaW1nL2ZvbnRzL0JvZG9uaUVneXB0aWFuL1JlZ3VsYXIuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL0JvZG9uaUVneXB0aWFuL1JlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCdpbWcvZm9udHMvQm9kb25pRWd5cHRpYW4vUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCdpbWcvZm9udHMvQm9kb25pRWd5cHRpYW4vUmVndWxhci50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCb2RvbmkgRWd5cHRpb24gUHJvIFJlZ3VsYXIgSXRhbGljJztcbiAgc3JjOiB1cmwoJ2ltZy9mb250cy9Cb2RvbmlFZ3lwdGlhbi9SZWd1bGFySXRhbGljLmVvdCcpO1xuICBzcmM6IHVybCgnaW1nL2ZvbnRzL0JvZG9uaUVneXB0aWFuL1JlZ3VsYXJJdGFsaWMuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL0JvZG9uaUVneXB0aWFuL1JlZ3VsYXJJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCdpbWcvZm9udHMvQm9kb25pRWd5cHRpYW4vUmVndWxhckl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCdpbWcvZm9udHMvQm9kb25pRWd5cHRpYW4vUmVndWxhckl0YWxpYy50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0JvZG9uaSBFZ3lwdGlvbiBQcm8gQm9sZCc7XG4gIHNyYzogdXJsKCdpbWcvZm9udHMvQm9kb25pRWd5cHRpYW4vQm9sZC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ltZy9mb250cy9Cb2RvbmlFZ3lwdGlhbi9Cb2xkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJ2ltZy9mb250cy9Cb2RvbmlFZ3lwdGlhbi9Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL0JvZG9uaUVneXB0aWFuL0JvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL0JvZG9uaUVneXB0aWFuL0JvbGQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnVHJhZGUgR290aGljIEJvbGQgVHdvJztcbiAgc3JjOiB1cmwoJ2ltZy9mb250cy9UcmFkZUdvdGhpYy9UcmFkZUdvdGhpY0JvbGQyLmVvdCcpO1xuICBzcmM6IHVybCgnaW1nL2ZvbnRzL1RyYWRlR290aGljL1RyYWRlR290aGljQm9sZDIuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL1RyYWRlR290aGljL1RyYWRlR290aGljQm9sZDIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCdpbWcvZm9udHMvVHJhZGVHb3RoaWMvVHJhZGVHb3RoaWNCb2xkMi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCdpbWcvZm9udHMvVHJhZGVHb3RoaWMvVHJhZGVHb3RoaWNCb2xkMi50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdUcmFkZSBHb3RoaWMgUmVndWxhcic7XG4gIHNyYzogdXJsKCdpbWcvZm9udHMvVHJhZGVHb3RoaWMvVHJhZGVHb3RoaWNSb21hbi5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ltZy9mb250cy9UcmFkZUdvdGhpYy9UcmFkZUdvdGhpY1JvbWFuLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJ2ltZy9mb250cy9UcmFkZUdvdGhpYy9UcmFkZUdvdGhpY1JvbWFuLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL1RyYWRlR290aGljL1RyYWRlR290aGljUm9tYW4ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnaW1nL2ZvbnRzL1RyYWRlR290aGljL1RyYWRlR290aGljUm9tYW4udHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuJGZvbnQtc2NyaXB0OiAnTGllIFRvIE1lJywgc2VyaWY7XG4kZm9udC1oZWFkaW5nOiAnTG9uZyBIYWlyZWQgRnJlYWt5IFBlb3BsZScsIHNhbnMtc2VyaWY7XG4kZm9udC1ib2R5OiAnQm9kb25pIEVneXB0aW9uIFBybyBSZWd1bGFyJywgc2VyaWY7XG4kZm9udC1ib2R5LWl0YWxpYzogJ0JvZG9uaSBFZ3lwdGlvbiBQcm8gUmVndWxhciBJdGFsaWMnLCBzZXJpZjtcbiRmb250LWJvZHktYm9sZDogJ0JvZG9uaSBFZ3lwdGlvbiBQcm8gQm9sZCcsIHNlcmlmO1xuJGZvbnQtc2FuczogJ1RyYWRlIEdvdGhpYyBSZWd1bGFyJywgc2Fucy1zZXJpZjtcbiRmb250LXNhbnMtYm9sZDogJ1RyYWRlIEdvdGhpYyBCb2xkIFR3bycsIHNhbnMtc2VyaWY7XG5cbiV0LWlucHV0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ldC1idXR0b24ge1xuICBmb250LWZhbWlseTogJGZvbnQtc2Fucy1ib2xkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJXQtZm9ybS1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJXQtbWV0YSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLWJvbGQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJXQtbmF2IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtYm9sZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBsaW5lLWhlaWdodDogMS45MztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJXQtc3VibmF2IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtYm9sZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICB9XG59XG5cbiV0LXN1Ym5hdi1saWdodCB7XG4gIEBleHRlbmQgJXQtc3VibmF2O1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuJXQtZXZlbnQtbW9udGgge1xuICBmb250LWZhbWlseTogJGZvbnQtaGVhZGluZztcbiAgZm9udC1zaXplOiA0MHB4O1xufVxuXG5cbmIsXG5zdHJvbmcsXG4udC1ib2xkIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJvZHktYm9sZDtcbn1cblxuJXQtc2NyaXB0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45MCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zY3JpcHQ7XG4gIGZvbnQtc2l6ZTogNjBweDtcbn1cblxuLnQtaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkaW5nO1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogLjg4O1xuXG4gIGVtIHtcbiAgICBAZXh0ZW5kICV0LXNjcmlwdDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IDExMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICB9XG59XG5cbi50LWhlYWRpbmctLXNtYWxsIHtcbiAgQGV4dGVuZCAudC1oZWFkaW5nO1xuICBmb250LXNpemU6IDEwMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogODVweDtcbiAgfVxufVxuXG4udC1oMSB7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuOTApO1xuICBmb250LWZhbWlseTogJGZvbnQtc2Fucy1ib2xkO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgfVxufVxuXG4udC1oMiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLWJvbGQ7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjI7XG59XG5cbi50LWJvZHktLWxhcmdlIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJvZHk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTg7XG5cbiAgZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5LWl0YWxpYztcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgfVxufVxuXG4udC1ib2R5LS1zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU2O1xuXG4gIGVtIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYm9keS1pdGFsaWM7XG4gIH1cbn1cblxuJXQtYm9keS0tYm9sZCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLWJvbGQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTY7XG59XG5cbi50LWNhcHRpb24ge1xuICBmb250LWZhbWlseTogJGZvbnQtYm9keS1pdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG5cbi50LWxhYmVsIHtcbiAgQGV4dGVuZCAldC1idXR0b247XG59XG5cbi50LWNvbG9yLS1yZWQge1xuICBjb2xvcjogJGNvbG9yLXJlZDtcbn1cblxuLnQtY29sb3ItLWJsdWUge1xuICBjb2xvcjogJGNvbG9yLWJsdWU7XG59XG5cbi50LWNvbG9yLS10ZWFsIHtcbiAgY29sb3I6ICRjb2xvci10ZWFsO1xufVxuXG4udC1jb2xvci0tZ29sZCB7XG4gIGNvbG9yOiAkY29sb3ItZ29sZDtcbn1cblxuLnQtY29sb3ItLXdoaXRlIHtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XG59XG4iLCIub25seS1zbWFydHBob25lIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVNtYXJ0cGhvbmUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm9ubHktdGFibGV0IHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhkZXNrdG9wKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5vbmx5LWRlc2t0b3Age1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWJvdmUtc21hcnRwaG9uZSB7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYmVsb3ctZGVza3RvcCB7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oZGVza3RvcCkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGVhZGVyLWJyZWFrcG9pbnQge1xuICBAaW5jbHVkZSByZXNwb25kLXRvKGhlYWRlckJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsInNlY3Rpb24uYWNjb3JkaW9uLWxpc3Qge1xuICBtYXJnaW46IDc1cHggMDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW46IDI4cHggMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24tbGlzdF9faGVhZGxpbmUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24tbGlzdF9fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICYtaW5uZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAyLCAkcHVzaC1zbTogMSwgJHB1c2gteHM6IDApO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA4LCAkd2lkdGgtc206IDEwLCAkd2lkdGgteHM6IDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggNTBweCAyMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmFjY29yZGlvbl9fZXhwYW5kOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB9XG5cbiAgICAgIC5hY2NvcmRpb25fX3dyYXBwZXItY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJGR1cmF0aW9uLWxvbmcgJGVhc2luZy1jdWJpYy1iZXppZXI7XG4gICAgICB9XG5cbiAgICAgIC5hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1sb25nICRlYXNpbmctY3ViaWMtYmV6aWVyICRkdXJhdGlvbi1tZWQsIHZpc2liaWxpdHkgJGR1cmF0aW9uLW1lZCAkZWFzaW5nLWN1YmljLWJlemllciAkZHVyYXRpb24tbWVkO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcGFkZGluZzogMTBweCAwcHggMjBweCAwO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb25fX2hlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uX190aXRsZSwgLmFjY29yZGlvbl9fc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmFjY29yZGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5hY2NvcmRpb25fX2V4cGFuZCB7XG4gICAgQGluY2x1ZGUgY2VudGVyKHkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTQ1cHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTZweDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb25fX3dyYXBwZXItY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICRkdXJhdGlvbi1sb25nICRlYXNpbmctY3ViaWMtYmV6aWVyICRkdXJhdGlvbi1tZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLWxvbmcgJGVhc2luZy1jdWJpYy1iZXppZXIsIHZpc2liaWxpdHkgJGR1cmF0aW9uLW1lZCAkZWFzaW5nLWN1YmljLWJlemllcjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHRvcDogNDhweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG4iLCJAa2V5ZnJhbWVzIGxpZ2h0LWJ1dHRvbi1ob3ZlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgQGV4dGVuZCAldC1idXR0b247XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgei1pbmRleDogMDtcbn1cblxuLmJ1dHRvbi0tcHJpbWFyeSB7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTBweCAyNXB4IDlweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMjtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstcmVkO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1yZWQ7XG4gIGNvbG9yOiAkY29sb3ItcmVkO1xuICBwYWRkaW5nOiAxMHB4IDIwcHggOXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbi1tZWQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLS1saWdodCB7XG4gIEBleHRlbmQgJXQtYnV0dG9uO1xuICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbGlnaHQtYnV0dG9uLWhvdmVyICRkdXJhdGlvbi1sb25nIGxpbmVhcjtcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi0tbmF2aWdhdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogMjBweDtcblxuICAuYnV0dG9uX19pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZCAkZWFzaW5nLWN1YmljLWJlemllcjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZCBlYXNlLCBvcGFjaXR5ICRkdXJhdGlvbi1zaG9ydCBlYXNlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkICRlYXNpbmctY3ViaWMtYmV6aWVyO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICAuYnV0dG9uX19pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkICRlYXNpbmctY3ViaWMtYmV6aWVyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkIGVhc2UsIG9wYWNpdHkgJGR1cmF0aW9uLXNob3J0IGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZCAkZWFzaW5nLWN1YmljLWJlemllcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbl9faWNvbiB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1sdC1ncmF5O1xuICBoZWlnaHQ6IDJweDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDc1bXMgY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTtcbiAgd2lkdGg6IDIwcHg7XG5cbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWx0LWdyYXk7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuICAgIHdpZHRoOiAyMHB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDc1bXMgZWFzZSAkZHVyYXRpb24tc2hvcnQsIG9wYWNpdHkgNzVtcyBlYXNlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA3NW1zIGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7XG4gIH1cbn1cblxuLmJ1dHRvbiArIC5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cbiIsIi5jYXJkIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICBtYXJnaW46IDAgMzBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkZHVyYXRpb24tbWVkO1xuXG4gICYtLWZsb2F0aW5nIHtcbiAgICBib3gtc2hhZG93OiAwIDdweCAzMHB4IDAgcmdiYSgwLDAsMCwwLjE3KTtcbiAgfVxuXG4gICY6bm90KC5jYXJkLS1mbGF0KTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMzBweCAwIHJnYmEoMCwwLDAsMC4xNyk7XG4gIH1cblxuICAuaWxsdXN0cmF0aW9uIHtcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbmEuY2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICY6aG92ZXIge1xuICAgIC5idXR0b24tLXByaW1hcnkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tLXNlY29uZGFyeSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLS1saWdodCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbGlnaHQtYnV0dG9uLWhvdmVyICRkdXJhdGlvbi1sb25nIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhcmRfX3RpdGxlIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5jYXJkX19kaXZpZGVyIHtcbiAgQGluY2x1ZGUgZG90dGVkLWxpbmUoKTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbjogMjBweCAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmRfX3RleHQge1xuICBtYXJnaW46IDIwcHggMDtcblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgfVxufVxuXG4uY2FyZF9fY3RhIHtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweDtcbn0iLCIuY2Fyb3VzZWwge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNpbXBsZS1oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICAgIG1hcmdpbi10b3A6IC0yMDBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTYwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBjZW50ZXIoeCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRwYWRkaW5nLS1wYWdlfSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogLTIwJTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICB0b3A6IC0xMCU7XG4gICAgfVxuICB9XG59XG5cbi5jYXJvdXNlbF9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG5cbiAgLmNhcmQge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLmNhcm91c2VsX19zbGlkZXMge1xuICAuc2xpY2stdHJhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbn1cblxuLmNhcm91c2VsX19uYXYge1xuXG59XG5cbi5jYXJvdXNlbF9fZG90cyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTBweDtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwIDVweDtcblxuICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gICAgICAgIC8vIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBvcGFjaXR5OiAuNTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMHB4O1xuICB9XG59XG5cbi5jYXJvdXNlbF9fYXJyb3cge1xuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMXB4IDJweCA5cHggMCByZ2JhKDAsMCwwLDAuMSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiA3NHB4O1xuICAvLyBvcGFjaXR5OiAuNTtcbiAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDc0cHg7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoJ2ltZy9pY29ucy9hcnJvdy1yZWQuc3ZnJyk7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDIxcHg7XG4gIH1cblxuICAmLS1wcmV2IHtcbiAgICBsZWZ0OiAxNXZ3O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYtLW5leHQge1xuICAgIHJpZ2h0OiAxNXZ3O1xuICB9XG5cbiAgJi0tc21hbGwge1xuICAgIGhlaWdodDogNTJweDtcbiAgICB3aWR0aDogNTJweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgLnNsaWRlX19pbm5lciB7XG4gICAgYSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMzM3B4O1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB3aWR0aDogMzMzcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MzVweCkge1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA2LCAkd2lkdGgtc206IDgsICR3aWR0aC14czogMTEpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IGNlbnRlciwgJG5lc3RlZDogdHJ1ZSk7XG4gICAgICBoZWlnaHQ6IDMyNXB4O1xuICAgICAgbWluLXdpZHRoOiAzMzNweDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogOCk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNvbnRlbnQge1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gIH1cblxuICAuY29udGVudF9fY3RhOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAuY29udGVudF9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICB9XG59XG4iLCIlZG9uYXRlLXRleHQtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmdmaWVsZF9sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGZpZWxkLWhlaWdodCAvIDI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRvcCAkZHVyYXRpb24tbWVkLCB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzUlKSBzY2FsZSguOCk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBoZWlnaHQ6ICRmaWVsZC1oZWlnaHQ7XG4gICAgcGFkZGluZzogMjBweCAxMHB4IDEwcHggMTBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5nZmllbGRfZXJyb3Ige1xuICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgdG9wOiAkZmllbGQtaGVpZ2h0IC8gMiArIDE2cHg7XG4gICAgfVxuICB9XG59XG5cbiVkb25hdGUtdGV4dGFyZWEtaW5wdXQge1xuICBAZXh0ZW5kICVkb25hdGUtdGV4dC1pbnB1dDtcblxuICB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBoZWlnaHQ6ICRmaWVsZC1oZWlnaHQgKiAyLjU7XG4gICAgcGFkZGluZzogMjBweCAxMHB4IDEwcHggMTBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiVkb25hdGUtc3VibGFiZWwtaW5wdXQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGZpZWxkLWhlaWdodCAvIDI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRvcCAkZHVyYXRpb24tbWVkLCB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzUlKSBzY2FsZSguOCk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBoZWlnaHQ6ICRmaWVsZC1oZWlnaHQ7XG4gICAgcGFkZGluZzogMjBweCAxMHB4IDEwcHggMTBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiVkb25hdGUtc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMyAwTDcgNiAxIDBcIiBzdHJva2U9XCIlMjNFRjMxMTRcIiBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+Jyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogJGZpZWxkLWhlaWdodDtcbiAgcGFkZGluZzogMCA0MHB4IDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybS5kb25hdGUtZm9ybSB7XG4gIEBleHRlbmQgJXQtZm9ybS1pbnB1dDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICBib3gtc2hhZG93OiAwIDdweCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAuMTcpO1xuXG4gIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gIH1cblxuICAuZ2Zvcm1faGVhZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5nZl9wYWdlX3N0ZXBzIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTBweCAzMHB4IDA7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdmX3N0ZXBfY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZ2Zfc3RlcCB7XG4gICAgQGV4dGVuZCAudC1sYWJlbDtcbiAgICBjb2xvcjogJGNvbG9yLXRlYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDAgM3B4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLW1lZDtcblxuICAgICY6bm90KC5nZl9zdGVwX2ZpcnN0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIH1cblxuICAgICYuZ2Zfc3RlcF9wZW5kaW5nIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbHQtZ3JheTtcblxuICAgICAgLmdmX3N0ZXBfbnVtYmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1sdC1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZ2Zfc3RlcF9hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZG90dGVkLWxpbmUoKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC5nZl9zdGVwX251bWJlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zfc3RlcF9udW1iZXIge1xuICAgICAgQGV4dGVuZCAudC1sYWJlbDtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGVhbDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLic7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdmb3JtX3BhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIGlucHV0Lmdmb3JtX25leHRfYnV0dG9uLCBpbnB1dC5nZm9ybV9idXR0b24ge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1wcmltYXJ5O1xuICAgIH1cblxuICAgIGlucHV0Lmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgICBAZXh0ZW5kICV0LW1ldGE7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ljb25zL2Fycm93LWdyYXkuc3ZnKSAwIDhweC8xNXB4IDE1cHggbm8tcmVwZWF0O1xuICAgICAgY29sb3I6ICRjb2xvci1sdC1ncmF5O1xuICAgICAgcGFkZGluZzogNXB4IDAgMTBweCAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMi41cHg7XG4gIH1cblxuICAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmdmaWVsZF9sYWJlbF9iZWZvcmVfY29tcGxleCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmRvbmF0ZS1mb3JtX19hbW91bnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICB1bC5nZm9ybV9maWVsZHMgbGkuZG9uYXRlLWZvcm1fX2Ftb3VudC10eXBlIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRhYmxlLm5vdGhpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRycGF5b3B0bnMge1xuICAgICAgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAZXh0ZW5kIC50LWxhYmVsO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC10ZWFsO1xuICAgICAgICAgIGNvbnRlbnQ6ICdPbmUtdGltZSBkb25hdGlvbic7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwIDE1cHg7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ZDpudGgtY2hpbGQoMykge1xuICAgICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLnQtbGFiZWw7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWx0LXRlYWw7XG4gICAgICAgICAgY29udGVudDogJ01vbnRobHkgZG9uYXRpb24nO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZHVyYXRpb24tbWVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGR1cmF0aW9uLW1lZDtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTRweCAwIHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRkdXJhdGlvbi1tZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLW1lZCwgYm94LXNoYWRvdyAkZHVyYXRpb24tbWVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmR2cmVjdXJ0eXAsIC5kdnBlcmRjdHksIC5kdm5vb2ZweW1udHMge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHVsLmdmb3JtX2ZpZWxkcyBsaS5kb25hdGUtZm9ybV9fYW1vdW50LXZhbHVlIHtcbiAgICBAZXh0ZW5kIC50LWJvZHktLXNtYWxsO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDVweCAyJSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyMiU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCg0biArIDEpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIHdpZHRoOiA0OCU7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiA1cHggMCAhaW1wb3J0YW50O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1yYWRpb106ZW1wdHnCoH5sYWJlbCB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfmxhYmVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDE0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAtMTFweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRkdXJhdGlvbi1tZWQ7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjJweCk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gbGFiZWwge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1tZWQsIGJhY2tncm91bmQgJGR1cmF0aW9uLW1lZDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMnB4KTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tbWVkLCBib3gtc2hhZG93ICRkdXJhdGlvbi1tZWQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDE0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX2N1c3RvbS12YWx1ZSB7XG4gICAgQGV4dGVuZCAudC1ib2R5LS1zbWFsbDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX2Ftb3VudC1ob25vciB7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuXG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX2hvbm9yIHtcbiAgICAuZ2Zvcm1fcGFnZV9maWVsZHMge1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRvbmF0ZS1mb3JtX19ob25vci10eXBlIHtcbiAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIEBleHRlbmQgLnQtbGFiZWw7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXJlZDtcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlU21hcnRwaG9uZSkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kb25hdGUtZm9ybV9fcGVyc29uYWwtaW5mbyB7XG4gICAgLmdmb3JtX3BhZ2VfZmllbGRzIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuICAgICAgbGFiZWwge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICM3OTAwMDA7XG4gICAgICAgICAgY29udGVudDogJyonO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX2NyZWRpdC1jYXJkLmdmaWVsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX3BheW1lbnQge1xuICAgIC5nZm9ybV9wYWdlX2ZpZWxkcyB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX3RvdGFsIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBleHRlbmQgLnQtYm9keS0tbGFyZ2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl90b3RhbCB7XG4gICAgICBAZXh0ZW5kIC50LWJvbGQ7XG4gICAgfVxuXG4gICAgLmdpbnB1dF90b3RhbCB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC5kb25hdGUtZm9ybV9faG9ub3ItbmFtZSxcbiAgLmRvbmF0ZS1mb3JtX19ob25vci1ub3RpZnktbmFtZSxcbiAgLmRvbmF0ZS1mb3JtX19ob25vci1lbWFpbCxcbiAgLmRvbmF0ZS1mb3JtX19lbWFpbCxcbiAgLmRvbmF0ZS1mb3JtX19waG9uZSB7XG4gICAgQGV4dGVuZCAlZG9uYXRlLXRleHQtaW5wdXQ7XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX2hvbm9yLW1lc3NhZ2UsXG4gIC5kb25hdGUtZm9ybV9faG9ub3ItYWRkcmVzcyB7XG4gICAgQGV4dGVuZCAlZG9uYXRlLXRleHRhcmVhLWlucHV0O1xuICB9XG5cbiAgLmRvbmF0ZS1mb3JtX19ob25vci1ub3RpZnktbmFtZSxcbiAgLmRvbmF0ZS1mb3JtX19ob25vci1lbWFpbCxcbiAgLmRvbmF0ZS1mb3JtX19lbWFpbCxcbiAgLmRvbmF0ZS1mb3JtX19waG9uZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJi5nZmllbGRfZXJyb3Ige1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmRvbmF0ZS1mb3JtX19lbWFpbCB7XG4gICAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuICAgICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRvcDogJGZpZWxkLWhlaWdodCAvIDI7XG4gICAgICB9XG5cbiAgICAgIC5naW5wdXRfY29udGFpbmVyX2VtYWlsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bC5nZm9ybV9maWVsZHMgLmRvbmF0ZS1mb3JtX19uYW1lLmdmaWVsZCB7XG4gICAgc3Bhbi5uYW1lX2ZpcnN0LCBzcGFuLm5hbWVfbGFzdCB7XG4gICAgICBAZXh0ZW5kICVkb25hdGUtc3VibGFiZWwtaW5wdXQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2xhYmVsX2JlZm9yZV9jb21wbGV4IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdWwuZ2Zvcm1fZmllbGRzIC5kb25hdGUtZm9ybV9fYWRkcmVzcy5nZmllbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAuZ2ZpZWxkX2xhYmVsX2JlZm9yZV9jb21wbGV4IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFkZHJlc3NfbGluZV8xLCAuYWRkcmVzc19jaXR5LCAuYWRkcmVzc19zdGF0ZSwgLmFkZHJlc3NfemlwIHtcbiAgICAgIEBleHRlbmQgJWRvbmF0ZS1zdWJsYWJlbC1pbnB1dDtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVTbWFydHBob25lKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFkZHJlc3NfbGluZV8xIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5hZGRyZXNzX3ppcCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVTbWFydHBob25lKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzc19jaXR5LCAuYWRkcmVzc19zdGF0ZSB7XG4gICAgICBtYXJnaW46IDE2cHggMDtcbiAgICB9XG5cbiAgICAuYWRkcmVzc19jb3VudHJ5IHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVTbWFydHBob25lKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgQGV4dGVuZCAlZG9uYXRlLXNlbGVjdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZG9uYXRlLWZvcm1fX2NyZWRpdC1jYXJkIHtcbiAgICAmLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgIC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nX21lc3NhZ2Uge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfbGFiZWxfYmVmb3JlX2NvbXBsZXgge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9jcmVkaXRjYXJkIHtcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIEBleHRlbmQgJWRvbmF0ZS1zZWxlY3Q7XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIEBleHRlbmQgJWRvbmF0ZS1zdWJsYWJlbC1pbnB1dDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgLmdpbnB1dF9jYXJkaW5mb19yaWdodCB7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkLWhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZ2lucHV0X2NhcmRfc2VjdXJpdHlfY29kZV9pY29uIHtcbiAgICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQGV4dGVuZCAlZG9uYXRlLXN1YmxhYmVsLWlucHV0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5nZmllbGQuZmllbGRfc3VibGFiZWxfYWJvdmUuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgKyBsaS5nZmllbGQuZG9uYXRlLWZvcm1fX3RvdGFsIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAuZ2lucHV0X3RvdGFsIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyBwZXIgbW9udGgnO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLmlzLXJlY3VycmluZzo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5kb25hdGUtZm9ybSB7XG5cbiAgLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbHQtZ29sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAudGhhbmtzIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDMwcHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2NyaXB0IHtcbiAgICAgIEBleHRlbmQgJXQtc2NyaXB0O1xuICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgIH1cbiAgfVxufVxuIiwiLmZpbHRlciB7XG4gIEBleHRlbmQgJXQtZm9ybS1pbnB1dDtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgbWFyZ2luLXRvcDogNTBweDtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLmZpbHRlcl9fZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICAuZmlsdGVyX19kcm9wZG93biB7XG4gICAgICBib3gtc2hhZG93OiAwIDdweCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIGVtIHtcbiAgICBsZWZ0OiAtMTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNSU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTUwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi5maWx0ZXJfX2lubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAzLCAkd2lkdGgtc206IDEwLCAkd2lkdGgteHM6IDEwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmlsdGVyX19zZWxlY3Rpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCI2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTMgMEw3IDYgMSAwXCIgc3Ryb2tlPVwiJTIzRUYzMTE0XCIgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWx0LWdyYXk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkZmllbGQtaGVpZ2h0O1xuICBwYWRkaW5nOiAwIDQwcHggMCAxMHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRkdXJhdGlvbi1tZWQ7XG59XG5cbi5maWx0ZXJfX2Ryb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICBib3gtc2hhZG93OiAwIDdweCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAuMSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IC43NjM4OXZ3O1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAuNzYzODl2dztcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1tZWQ7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5maWx0ZXJfX29wdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiZm9vdGVyIHtcbiAgQGV4dGVuZCAldC1zdWJuYXYtbGlnaHQ7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIHBhZGRpbmc6IDUwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvb3Rlcl9fbGlua1NlY3Rpb24ge1xuICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDEpO1xuICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDMpO1xufVxuXG4uZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGNvbG9yICRkdXJhdGlvbi1zaG9ydDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgfVxufVxuXG5mb290ZXIgLm5ld3NsZXR0ZXJfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uZm9vdGVyX19zb2NpYWwge1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuLmZvb3Rlcl9fc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG5cbiAgJiArICYge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5mb290ZXJfX2xvY2F0aW9ucyB7XG4gIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDApO1xuICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDYsICR3aWR0aC1zbTogOCk7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRuZXN0ZWQ6IHRydWUpO1xufVxuXG4uZm9vdGVyX19sb2NhdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNCk7XG59XG5cbi5mb290ZXJfX2xvY2F0aW9uLW5hbWUge1xuICBAZXh0ZW5kICV0LW5hdjtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uZm9vdGVyX19sb2NhdGlvbi1pbmZvIHtcbiAgJiArICYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWx0LWdyYXk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMjBweDtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmdyaWQge1xuICBtYXJnaW46ICRzZWN0aW9uLW1hcmdpbiAwO1xuXG4gIC5zaW1wbGUtaGVhZGxpbmUgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJi51LWJnLS1ibHVlLFxuICAmLnUtYmctLWdvbGQsXG4gICYudS1iZy0tcmVkLFxuICAmLnUtYmctLXRlYWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkc2VjdGlvbi1tYXJnaW4gMDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcGFkZGluZzogJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lIDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmUgMDtcbiAgfVxufVxuXG4uZ3JpZF9faW5uZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogY2VudGVyKTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG59XG5cbi5ncmlkX190aXRsZSxcbi5ncmlkX19zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ncmlkX19pdGVtcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTAsICR3aWR0aC1zbTogMTIsICR3aWR0aC14czogMTIpO1xuICBAaW5jbHVkZSBncmlkLXJvdygkbmVzdGVkOiB0cnVlLCAkanVzdGlmeTogY2VudGVyKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZ3JpZF9faXRlbSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNCwgJHdpZHRoLXNtOiA2LCAkd2lkdGgteHM6IDEyKTtcblxuICAuY2FyZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi5ncmlkX19saW5lLWJyZWFrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLS1jb250ZW50IHtcbiAgLmdyaWRfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG4gIH1cbn1cbiIsImhlYWRlciB7XG4gIEBleHRlbmQgJXQtbmF2O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgJGR1cmF0aW9uLW1lZCwgYmFja2dyb3VuZCAkZHVyYXRpb24tbWVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5tYWluLWhlYWRlci5oYXMtc2Nyb2xsZWQge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBoZWlnaHQ6IDg1cHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LXRhYmxldDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLy8gJjo6YmVmb3JlLFxuICAvLyAmOjphZnRlciB7XG4gIC8vICAgY29udGVudDogJyc7XG4gIC8vICAgZGlzcGxheTogYmxvY2s7XG4gIC8vICAgaGVpZ2h0OiAxcHg7XG4gIC8vICAgbGVmdDogMDtcbiAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgdG9wOiAxMDAlO1xuICAvLyAgIHdpZHRoOiAxMDAlO1xuICAvLyB9XG5cbiAgLy8gJjo6YmVmb3JlIHtcbiAgLy8gICBiYWNrZ3JvdW5kOiBtYWdlbnRhO1xuICAvLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgLy8gfVxuXG4gIC8vICY6OmFmdGVyIHtcbiAgLy8gICBiYWNrZ3JvdW5kOiBibHVlO1xuICAvLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XG4gIC8vIH1cblxuICAvLyBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAvLyAgICY6OmJlZm9yZSB7XG4gIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gIC8vICAgfVxuXG4gIC8vICAgJjo6YWZ0ZXIge1xuICAvLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwcHgpO1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJGR1cmF0aW9uLW1lZCwgbWFyZ2luLXRvcCAkZHVyYXRpb24tbWVkO1xuICB9XG59XG5cbi5tYWluLWhlYWRlci5oYXMtc2Nyb2xsZWQgLmhlYWRlcl9fbG9nbyB7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4uaGVhZGVyX19uYXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4iLCIuaGVhZGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEzMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7XG4gIH1cblxuICBlbSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIHNwYW4uaGVhZGluZ19fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG4gIH1cblxuICAmLS1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgZW0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtMTAlKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICAgZW0ge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAtMTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgZW0ge1xuICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgZW0ge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAlLCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIHNwYW4uaGVhZGluZ19fY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIGVtIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpbXBsZS1oZWFkbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyO1xufVxuXG4uaGVhZGxpbmUtLWZlYXR1cmVkLXN0dWRlbnRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2lsbHVzdHJhdGlvbnMvaWxsdS1tYXAuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMzA5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDg1JSwgNTAlKTtcbiAgICB3aWR0aDogMzA1cHg7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01JSwgLTEwJSk7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkaW5nLndoeS13cml0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbn1cbiIsInNlY3Rpb24uaWxsdXN0cmF0aW9uLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogY2VudGVyKTtcbiAgbWFyZ2luOiAkc2VjdGlvbi1tYXJnaW4gYXV0bztcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW46ICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZSAyMHB4O1xuICB9XG5cbiAgLmlsbHVzdHJhdGlvbiB7XG4gICAgZmxleDogMSAwIDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRoZWFkZXItaGVpZ2h0LXRhYmxldDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBtcyAwLjdzLCB0cmFuc2Zvcm0gJGR1cmF0aW9uLWxvbmcsIG9wYWNpdHkgLjI1cyAuNDVzLCB6LWluZGV4ICRkdXJhdGlvbi1zaG9ydDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWV4cGFuZGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuICsgLm1lbnVfX2l0ZW0ge1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICB9XG59XG5cbi5tZW51X19pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuZGVza3RvcC0taGlkZGVuIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlVGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICYuaXMtYWN0aXZlIHtcbiAgICAubWVudV9faXRlbS1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgIH1cblxuICAgIC5tZW51X19zdWJtZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1sb25nICRlYXNpbmctY3ViaWMtYmV6aWVyICRkdXJhdGlvbi1tZWQsIHZpc2liaWxpdHkgJGR1cmF0aW9uLW1lZCAkZWFzaW5nLWN1YmljLWJlemllciAkZHVyYXRpb24tbWVkLDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fd3JhcHBlci1zdWJtZW51IHtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJGR1cmF0aW9uLWxvbmcgJGVhc2luZy1jdWJpYy1iZXppZXI7XG4gICAgfVxuXG4gICAgLm1lbnVfX2V4cGFuZCB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZGVza3RvcCkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKC0yLjVweCwgLTIuNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWx0LWdyYXk7XG4gICAgfVxuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1sdC1ncmF5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4ubWVudV9faWNvbiB7XG4gIGxlZnQ6IC02cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtN3B4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXJlZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAycHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKC0yLjVweCwgLTIuNXB4LCAwKVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIH1cbn1cblxuLm1lbnVfX2V4cGFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgd2lkdGg6IDJweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogLTZweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKGRlc2t0b3ApIHtcbiAgICB0b3A6IC0xMnB4O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDRweDtcbiAgICAgIHRvcDogNHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMi41cHgsIC0yLjVweCwgMCk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLm1lbnVfX2l0ZW0tbGluayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAyNXB4IDQ2cHggMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLm1lbnVfX3dyYXBwZXItc3VibWVudSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJGR1cmF0aW9uLWxvbmcgJGVhc2luZy1jdWJpYy1iZXppZXIgJGR1cmF0aW9uLW1lZDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5tZW51X19zdWJtZW51IHtcbiAgQGV4dGVuZCAldC1zdWJuYXY7XG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tbG9uZyAkZWFzaW5nLWN1YmljLWJlemllciwgdmlzaWJpbGl0eSAkZHVyYXRpb24tbWVkICRlYXNpbmctY3ViaWMtYmV6aWVyLCB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oZGVza3RvcCkge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDQwcHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDE1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkZHVyYXRpb24tc2hvcnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51X19zdWJtZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTRweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA2NnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51X19zdWJtZW51LWl0ZW0gKyAubWVudV9fc3VibWVudS1pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGVhZGVyQnJlYWtwb2ludCkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi5tZW51X19zdWJsaXN0IHtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLm1lbnVfX3N1Ym1lbnUtaXRlbSAubWVudV9fc3VibGlzdC1pdGVtIHtcbiAgQGV4dGVuZCAldC1zdWJuYXYtbGlnaHQ7XG5cbiAgYSB7XG4gICAgcGFkZGluZzogN3B4IDBweCA3cHggMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDc2cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4ubWVudV9fc2lnbnVwIHtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgcGFkZGluZy1sZWZ0OiA0NnB4O1xufVxuXG4ubWVudV9fc29jaWFsIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbiIsIiNtY19lbWJlZF9zaWdudXAge1xuICAubWMtZmllbGQtZ3JvdXAge1xuICAgIEBleHRlbmQgJXQtZm9ybS1pbnB1dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGZpZWxkLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAkZHVyYXRpb24tbWVkLCB0cmFuc2Zvcm0gJGR1cmF0aW9uLW1lZDtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05MCUpIHNjYWxlKC44KTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1hY3RpdmUgKyBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSArIGlucHV0ICsgLm5ld3NsZXR0ZXJfX3N1Ym1pdC1idXR0b24tLXJlZHVjZWQge1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogMXB4IDJweCA5cHggMCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1cHggMTBweDtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgd2lkdGg6IDgwJTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmV3c2xldHRlcl9fc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIC5uZXdzbGV0dGVyX19zdWJtaXQtaG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5uZXdzbGV0dGVyX19zdWJtaXQtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLXJlZDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tbWVkO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG5cbiAgLm5ld3NsZXR0ZXJfX3N1Ym1pdC1idXR0b24ge1xuICAgIEBleHRlbmQgJXQtYnV0dG9uO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDEzcHggMjVweCAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4ubmV3c2xldHRlcl9fdGl0bGUge1xuICBAZXh0ZW5kICV0LW5hdjtcbn1cblxuLnJlZHVjZWRfX25ld3NsZXR0ZXIge1xuICAubmV3c2xldHRlcl9fc3VibWl0LWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNtY19lbWJlZF9zaWdudXAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICAuZW1haWwge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWx0LWdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjbWMtZW1iZWRkZWQtc3Vic2NyaWJlLm5ld3NsZXR0ZXJfX3N1Ym1pdC1idXR0b24tLXJlZHVjZWQge1xuICAgIGJhY2tncm91bmQ6IHVybChpbWcvaWNvbnMvYXJyb3ctcmVkLnN2ZykgY2VudGVyLzgwJSBuby1yZXBlYXQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzNHB4O1xuICAgIHRvcDogM3B4O1xuICAgIHdpZHRoOiAyMHB4O1xuICB9XG59XG5cbi5tYy1maWVsZC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4iLCJzZWN0aW9uLnBlb3BsZS1ncmlkIHtcbiAgLnBlb3BsZS1ncmlkX19oZWFkbGluZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgQGluY2x1ZGUgc3RyaXBlLWJsb2NrKCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGVvcGxlLWdyaWRfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luOiAzMHB4IDIwcHggMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLnBlb3BsZS1ncmlkX19wZW9wbGUge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcblxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZSAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWx0LWdvbGQ7XG4gICAgfVxuXG4gICAgLnBlcnNvbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDIsICR3aWR0aC1zbTogNCwgJHdpZHRoLXhzOiA2KTtcblxuICAgICAgJjpudGgtY2hpbGQoNW4gKyAxKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDAsICRwdXNoLXhzOiAwKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQgKyAxKSBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlIC8gJGdyaWQtLWNvbHMgKiAzO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgLyAkZ3JpZC0tY29scyAqIDM7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNW4gKyAxKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGVyc29uX19pbWFnZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgLnBlcnNvbl9fYmlvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGVyc29uX19iaW8ge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLW1lZDtcblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxODAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1NTBweCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0ICsgMSkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBlcnNvbl9faW5mbyB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG5cbiAgICAucGVyc29uX190aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAucGVyc29uX19lbWFpbCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdFTUFJTCc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnBhZ2luYXRpb25fX3dyYXBwZXJ7XG4gIEBleHRlbmQgJXQtbmF2O1xuXG4gICYucG9zdHNfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5jYWxlbmRhcl9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIH1cblxuICAucGFnaW5hdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgOXB4O1xuICAgIH1cblxuICAgIC5wYWdlLW51bWJlciB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZHVyYXRpb24tbG9uZyAkZWFzaW5nLWN1YmljLWJlemllcjtcblxuICAgICAgJi5wYWdlLW51bWJlci5jdXJyZW50LFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmV2LmJ0bixcbiAgICAubmV4dC5idG4ge1xuICAgICAgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDJweCA5cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICB3aWR0aDogNTJweDtcblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChpbWcvaWNvbnMvYXJyb3ctcmVkLnN2ZykgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDE3cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmV2LmJ0biB7XG4gICAgICAuYXJyb3cge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnF1b3RlIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IGNlbnRlcik7XG4gIG1hcmdpbjogJHNlY3Rpb24tbWFyZ2luIGF1dG87XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmUgYXV0bztcbiAgfVxufVxuXG4ucXVvdGVfX2lubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA2LCAkd2lkdGgteHM6IDkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltZy9pY29ucy9xdW90ZS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA4N3B4O1xuICAgIGxlZnQ6IC04NXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMHB4O1xuICAgIHdpZHRoOiAxMTNweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgbGVmdDogLTI3cHg7XG4gICAgICB0b3A6IC0zMnB4O1xuICAgICAgd2lkdGg6IDg1cHg7XG4gICAgfVxuICB9XG59XG5cbi5xdW90ZV9fdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnF1b3RlX19kZXRhaWxzIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuIiwiLnJpY2gtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLW1hcmdpbjtcbiAgbWFyZ2luLXRvcDogJHNlY3Rpb24tbWFyZ2luO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZTtcbiAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gIH1cbn1cblxuLy8gd3JhcHBlciBmb3IgY29udGVudCBhbmQgaW1hZ2Vcbi5yaWNoLWNvbnRlbnRfX21haW4taW5uZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYXJnaW4gKiAxLjI1O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gY29udGVudFxuLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA0LCAkd2lkdGgteHM6IDEyKTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmNvbnRlbnRfX3RpdGxlcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3ItZ3JheSAzMyUsIHJnYmEoJGNvbG9yLXdoaXRlLCAwKSAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDdweCAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5jb250ZW50X190aXRsZSArIC5jb250ZW50X19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5jb250ZW50X19kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudF9fZGVzY3JpcHRpb24gKyAuY29udGVudF9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLmlsbHVzdHJhdGlvbiB7XG4gICAgbGVmdDogLTEgKiBjYWxjLWNvbC13aWR0aCg0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDE3dnc7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5pbGx1c3RyYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gNDBweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMjBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCkgIWltcG9ydGFudDtcbiAgICBvcmRlcjogMjtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4IDMwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gaW1hZ2Vcbi5yaWNoLWNvbnRlbnRfX21haW4taW1hZ2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDUsICR3aWR0aC14czogMTIpO1xuICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2gtc206IDEsICRwdXNoLXhzOiAwKTtcbiAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG4gIG1hcmdpbi10b3A6IC01MHB4O1xuXG4gIGltZyB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gbG93ZXIgY29udGVudFxuLnJpY2gtY29udGVudF9fbG93ZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogY2VudGVyKTtcblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA4LCAkd2lkdGgtc206IDcsICR3aWR0aC14czogMTIpO1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRuZXN0ZWQ6IHRydWUsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMDtcblxuICAgIC5jb250ZW50X19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDgsICR3aWR0aC1zbTogMTIsICR3aWR0aC14czogMTIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gICAgICBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50X19kZXNjcmlwdGlvbiArIC5jb250ZW50X19jdGEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlU21hcnRwaG9uZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIC5jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgLmNvbnRlbnRfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHByb2dyYW1zLCBmb3JlZ3JvdW5kXG4ucmljaC1jb250ZW50Om5vdCgucmljaC1jb250ZW50LS1oZXJvKSB7XG4gIC5yaWNoLWNvbnRlbnRfX21haW4tLXJpZ2h0IHtcbiAgICAucmljaC1jb250ZW50X19tYWluLWNvbnRlbnQge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1pbWFnZSB7XG4gICAgICBvcmRlcjogMTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgICAgIC5jb250ZW50IC5jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgLy8gLnQtYm9keS0tc21hbGxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHByb2dyYW1zIG9ubHlcbi5yaWNoLWNvbnRlbnQ6bm90KC5yaWNoLWNvbnRlbnQtLWhlcm8pOm5vdCgucmljaC1jb250ZW50LS1mb3JlZ3JvdW5kKSB7XG4gIC5yaWNoLWNvbnRlbnRfX21haW4tLWxlZnQge1xuICAgIC5yaWNoLWNvbnRlbnRfX21haW4tY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDIsICRwdXNoLXhzOiAwKTtcbiAgICB9XG4gIH1cblxuICAucmljaC1jb250ZW50X19tYWluLS1yaWdodCB7XG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaC1zbTogMSwgJHB1c2gteHM6IDApO1xuICAgIH1cblxuICAgIC5yaWNoLWNvbnRlbnRfX21haW4taW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxLCAkcHVzaC1zbTogMCk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gY29udGVudCBpbiBmb3JlZ3JvdW5kIChvbiBhYm91dCBhbmQgb3dvZyBwYWdlKVxuLnJpY2gtY29udGVudC0tZm9yZWdyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucmljaC1jb250ZW50X19tYWluLS1sZWZ0IHtcbiAgICAucmljaC1jb250ZW50X19tYWluLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxKTtcbiAgICB9XG4gIH1cblxuICAucmljaC1jb250ZW50X19tYWluLS1yaWdodCB7XG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjLWNvbC13aWR0aCgyLCBwY3QpICogLTE7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjLWNvbC13aWR0aCgxLCBwY3QpICogLTE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1pbWFnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5yaWNoLWNvbnRlbnRfX21haW4tY29udGVudCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICBwYWRkaW5nOiBjYWxjLWNvbC13aWR0aCgyKSBjYWxjLWNvbC13aWR0aCgyLjgpO1xuICAgIH1cbiAgfVxuXG4gIC5yaWNoLWNvbnRlbnRfX21haW4taW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogOSwgJHdpZHRoLXhzOiAxMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMtY29sLXdpZHRoKDIsIHBjdCkgKiAtMTsgLy8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIC5yaWNoLWNvbnRlbnRfX21haW4tY29udGVudCB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMtY29sLXdpZHRoKDEuNSkgY2FsYy1jb2wtd2lkdGgoMi4yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAucmljaC1jb250ZW50X19tYWluLWNvbnRlbnQge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IC0yMHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBoZXJvc1xuLnJpY2gtY29udGVudC0taGVybyB7XG4gIG1hcmdpbi10b3A6IC0xNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5yaWNoLWNvbnRlbnRfX21haW4tLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlVGFibGV0KSB7XG4gICAgICAucmljaC1jb250ZW50X19tYWluLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYy1jb2wtd2lkdGgoMSwgcGN0KSAqIC0xOyAvLyAhaW1wb3J0YW50O1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICAgIC5yaWNoLWNvbnRlbnRfX21haW4taW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmljaC1jb250ZW50X19tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pY29ucy9zdHJpcGVzLXBhdHRlcm4tdGlsZS5zdmcpIDAgMC8xOTJweCAxOTJweCByZXBlYXQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBjYWxjLWNvbC13aWR0aCgyLjUsIHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDMsIHZ3KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lciB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pY29ucy9zdHJpcGVzLXBhdHRlcm4tdGlsZS5zdmcpIDAgMC8xOTJweCAxOTJweCByZXBlYXQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBjYWxjLWNvbC13aWR0aCgyLCB2dyk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDIsIHZ3KTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVHcmlkKSB7XG4gICAgICAgIGhlaWdodDogY2FsYy1jb2wtd2lkdGgoMiwgcHgpO1xuICAgICAgICB3aWR0aDogY2FsYy1jb2wtd2lkdGgoMiwgcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDUsICR3aWR0aC1zbTogMTIsICR3aWR0aC14czogMTIpO1xuICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDAsICRwdXNoLXhzOiAwKTtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkbmVzdGVkOiB0cnVlKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNywgJHdpZHRoLXhzOiAxMik7XG4gICAgICBwYWRkaW5nOiBjYWxjLWNvbC13aWR0aCgyKSAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW46IC0xICogY2FsYy1jb2wtd2lkdGgoMSkgYXV0byAwO1xuICAgICAgb3JkZXI6IDI7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAuY29udGVudF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IC8vIC50LWJvZHktLXNtYWxsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yaWNoLWNvbnRlbnRfX21haW4taW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNywgJHdpZHRoLXNtOiAxMCwgJHdpZHRoLXhzOiAxMik7XG4gICAgbWFyZ2luOiA1MHB4IDAgMCBjYWxjLWNvbC13aWR0aCgxLCBwY3QpICogLTE7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAucmljaC1jb250ZW50X19sb3dlciB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgLTRlbTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG5cbiAgICAgICAgLmNvbnRlbnRfX2lubmVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAuY29udGVudF9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF9fY3RhIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF9fY3RhOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjdXN0b20gaGVyb3Ncbi5yaWNoLWNvbnRlbnQuaGVyby0tYWJvdXQge1xuICAucmljaC1jb250ZW50X19tYWluOjpiZWZvcmUge1xuICAgIHdpZHRoOiBjYWxjLWNvbC13aWR0aCg2LCB2dyk7XG4gIH1cblxuICAucmljaC1jb250ZW50X19tYWluLWlubmVyOjphZnRlciB7XG4gICAgaGVpZ2h0OiBjYWxjLWNvbC13aWR0aCg0LCBweCk7XG4gICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgIHdpZHRoOiBjYWxjLWNvbC13aWR0aCgxLjUsIHZ3KTtcbiAgfVxufVxuXG4ucmljaC1jb250ZW50LmZpZWxkLXRyaXBzIHtcbiAgLnJpY2gtY29udGVudF9fbG93ZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0b3AgcmlnaHQgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoJ2ltZy9pbGx1c3RyYXRpb25zL3RlbnRhY2xlLnN2ZycpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDY4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICB3aWR0aDogMzAycHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGJvdHRvbTogMjAlO1xuICAgICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yaWNoLWNvbnRlbnQud3JpdGVycy1yb29tcyB7XG4gIC5yaWNoLWNvbnRlbnRfX2xvd2VyIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQgdXJsKCdpbWcvaWxsdXN0cmF0aW9ucy90YWJsZS5zdmcnKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDI0OXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IDI2OXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zaW1wbGUtY29udGVudCB7XG4gIG1hcmdpbjogJHNlY3Rpb24tbWFyZ2luIDA7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmUgMDtcbiAgfVxuXG4gICYudS1iZy0tYmx1ZSxcbiAgJi51LWJnLS1yZWQsXG4gICYudS1iZy0tdGVhbCxcbiAgJi51LWJnLS1nb2xkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHNlY3Rpb24tbWFyZ2luIDA7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZSAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaW1wbGUtY29udGVudF9faW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNSwgJHdpZHRoLXNtOiA4LCAkd2lkdGgteHM6IDEwKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAxOHB4IDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5jb250ZW50LmFubnVhbC1yZXBvcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cbn1cblxuLnNpbXBsZS1oZWFkbGluZSArIC5zaW1wbGUtY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8vIGN1c3RvbSBjbGFzc2VzXG4uc2ltcGxlLWNvbnRlbnQucHJvZ3JhbXMtZm9vdGVyIHtcbiAgcGFkZGluZzogNjBweCAwO1xuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaWxsdXN0cmF0aW9uIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE2MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHdpZHRoOiAxMjhweDtcbiAgfVxuXG4gIC5jb250ZW50X190aXRsZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5jb250ZW50X190aXRsZSB7XG4gICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX3N1YnRpdGxlIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50X19jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIC5pbGx1c3RyYXRpb24ge1xuICAgICAgdG9wOiAtMTMwcHg7XG4gICAgICB3aWR0aDogOTBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAuY29udGVudF9fdGl0bGVzIHtcbiAgICAgIC5jb250ZW50X190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnN0ZXBzIHtcbiAgbWFyZ2luOiAkc2VjdGlvbi1tYXJnaW4gMDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW46ICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZSAwO1xuICB9XG5cbiAgJi0tZ29hbHMge1xuICAgIC5zdGVwc19fdGl0bGUtdGV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdpbWcvaWxsdXN0cmF0aW9ucy9pbGx1LXNoaXBwcy13aGVlbC5zdmcnKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDgxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICB3aWR0aDogODNweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIHJpZ2h0OiAtNzBweDtcbiAgICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmludGVybnNoaXAtc2Vhc29ucyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIC5zdGVwc19faW5uZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAxMCwgJHdpZHRoLXhzOiAxMik7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbHQtZ29sZDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgfVxuXG4gICAgLnN0ZXBzX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5zdGVwc19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDEyKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5zdGVwc19fbGlzdC1pbm5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zdGVwIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwIDAgNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnN0ZXBfX2lubmVyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuc3RlcF9fbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4wNDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcF9fbWFpbi1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTIpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc3RlcF9fbWV0YSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uc3RlcHNfX2lubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6ICdjZW50ZXInKTtcbn1cblxuLnN0ZXBzX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLW1hcmdpbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5zdGVwc19fbGlzdCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogOCwgJHdpZHRoLXNtOiAxMCwgJHdpZHRoLXhzOiAxMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkbmVzdGVkOiB0cnVlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uc3RlcCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNiwgJHdpZHRoLXhzOiAxMik7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRuZXN0ZWQ6IHRydWUpO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4uc3RlcF9fbnVtYmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAzLCAkd2lkdGgteHM6IDIpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuc3RlcDpudGgtY2hpbGQoMSkgJiB7XG4gICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICB9XG5cbiAgLnN0ZXA6bnRoLWNoaWxkKDIpICYge1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICB9XG5cbiAgLnN0ZXA6bnRoLWNoaWxkKDMpICYge1xuICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgfVxuXG4gIC5zdGVwOm50aC1jaGlsZCg0KSAmIHtcbiAgICBjb2xvcjogJGNvbG9yLXRlYWw7XG4gIH1cbn1cblxuLnN0ZXBfX21haW4tY29udGVudCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogOSwgJHdpZHRoLXhzOiA4KTtcbiAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoLXhzOiAxKTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG5cbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4uc3RlcF9fbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5zdGVwX19saW5lIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3ItZ3JheSAzMyUsIHJnYmEoJGNvbG9yLXdoaXRlLCAwKSAwJSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDdweCAycHg7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLnN0ZXBfX2xhYmVsIHtcblxufVxuIiwiLnRlYXNlIHtcbiAgYm94LXNoYWRvdzogMCA3cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDM1cHgpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzNXB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbiAgfVxufVxuXG4udGVhc2VfX3NpZGUsIC50ZWFzZV9fcHJldmlldy0tY29sbGFwc2VkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYXNlX19tZXRhIHtcbiAgQGV4dGVuZCAldC1tZXRhO1xufVxuXG4udGVhc2VfX2NhdGVnb3J5LCAudGVhc2VfX2RhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50ZWFzZV9fY2F0ZWdvcnkge1xuICBjb2xvcjogJGNvbG9yLXJlZDtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJ3wnO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbn1cblxuLnRlYXNlX190aHVtYm5haWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC8vIGhlaWdodDogMTUwcHg7XG4gIHBhZGRpbmctdG9wOiA2MCU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzNXB4KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udGVhc2UtZXZlbnQgLnRlYXNlX19zaWRlIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWx0LWdvbGQ7XG59XG5cbi50ZWFzZV9fZXZlbnQtZGF0ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlYXNlX19ldmVudC10aXRsZSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzNXB4KSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cblxuLnRlYXNlX19ldmVudC1kYXkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTc1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAudGVhc2U6bnRoLWNoaWxkKDRuKSAmLFxuICAuc2xpZGU6bnRoLWNoaWxkKDRuKSAmIHtcbiAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgfVxuXG4gIC50ZWFzZTpudGgtY2hpbGQoNG4gKyAxKSAmLFxuICAuc2xpZGU6bnRoLWNoaWxkKDRuICsgMSkgJiB7XG4gICAgY29sb3I6ICRjb2xvci10ZWFsO1xuICB9XG5cbiAgLnRlYXNlOm50aC1jaGlsZCg0biArIDIpICYsXG4gIC5zbGlkZTpudGgtY2hpbGQoNG4gKyAyKSAmIHtcbiAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gIH1cblxuICAudGVhc2U6bnRoLWNoaWxkKDRuICsgMykgJixcbiAgLnNsaWRlOm50aC1jaGlsZCg0biArIDMpICYge1xuICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgfVxufVxuXG4udGVhc2VfX2V2ZW50LW1vbnRoIHtcbiAgQGV4dGVuZCAldC1ldmVudC1tb250aDtcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMTAlLCA1MCUpIHJvdGF0ZSg5MGRlZyk7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbGVmdDogMjJweDtcbiAgICB0b3A6IDIycHg7XG4gIH1cbn1cblxuLnRlYXNlLS13aWRlIHtcbiAgbWluLWhlaWdodDogNDUwcHg7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC5jYXJkX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAudGVhc2VfX3NpZGUsIC50ZWFzZV9fcHJldmlldy0tY29sbGFwc2VkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50ZWFzZV9fY29udGVudCB7XG4gICAgLnRlYXNlX19ldmVudC1kYXRlLCAudGVhc2VfX3RodW1ibmFpbCB7XG4gICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50ZWFzZV9fc2lkZSB7XG4gICAgZmxleDogMCAwIDYwJTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIC8vIC50ZWFzZV9fY29udGVudCB7XG4gIC8vICAgd2lkdGg6IDAgMSAwO1xuICAvLyB9XG59XG5cbi50ZWFzZS1wb3N0Lmhhcy1pbWFnZTpub3QoLnRlYXNlLS13aWRlKSB7XG4gIC5jYXJkX19pbm5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgYm9keS5ob21lICYge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC50ZWFzZV9fY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnRlYXNlX19jb250ZW50LWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG4iLCIudHdvLWNvbCB7XG4gIG1hcmdpbjogJHNlY3Rpb24tbWFyZ2luIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmUgMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICB9XG5cbiAgJi0tbGVmdCB7XG4gICAgLnR3by1jb2xfX2ltYWdlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcmlnaHQge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVTbWFydHBob25lKSB7XG4gICAgICAudHdvLWNvbF9fc2Vjb25kYXJ5IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC50d28tY29sX19tYWluIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC50d28tY29sX19pbWFnZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWxpc3Qge1xuICAgIC50d28tY29sX19tYWluIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxufVxuXG4udHdvLWNvbF9fbWFpbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNSwgJHdpZHRoLXhzOiAxMik7XG4gIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gteHM6IDApO1xuXG4gIC5jb250ZW50IHtcbiAgICAuaWxsdXN0cmF0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX3N1YnRpdGxlLFxuICAgIC5jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbn1cblxuLnR3by1jb2xfX3NlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNCwgJHdpZHRoLXhzOiAxMik7XG4gIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gteHM6IDApO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxufVxuXG4udHdvLWNvbF9faW1hZ2Uge1xuICBAaW5jbHVkZSBzdHJpcGUtYmxvY2soKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4udHdvLWNvbF9fbGlzdCB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1sdC1ibHVlO1xuICBwYWRkaW5nOiA0MHB4O1xuXG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgkY29sb3I6ICRjb2xvci1ibHVlKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoJ2ltZy9pY29ucy9jaGVja2VkLnN2ZycpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBsZWZ0OiAtNjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gIH1cbn1cblxuLy8gY3VzdG9tIGNsYXNzZXNcbi50d28tY29sLnZvbHVudGVlci10dXRvciB7XG4gIC50d28tY29sX19tYWluIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDQsICR3aWR0aC14czogMTIpO1xuICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMiwgJHB1c2gteHM6IDApO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCJzZWN0aW9uLndoYXRzLW5ldyB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGNlbnRlcih4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JHBhZGRpbmctLXBhZ2V9KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEyMCUpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBlbSB7XG4gICAgICBsZWZ0OiAtMTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTAlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbGVmdDogLTUlO1xuICAgICAgICB0b3A6IC0zMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi53aGF0cy1uZXctLWhvbWUge1xuICAgIC5zbGlkZSAuc2xpZGVfX2lubmVyIC5jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMCwgJHB1c2gtc206IDAsICRwdXNoLXhzOiAwKTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTAsICR3aWR0aC1zbTogMTAsICR3aWR0aC14czogMTIpO1xuXG4gICAgICAuY2FyZF9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDExKTtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBwYWRkaW5nOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmUgMDtcblxuICAgICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTIwJSk7XG4gICAgICB9XG5cbiAgICAgIC50ZWFzZV9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGVhc2VfX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLndoYXRzLW5ldy0taW5kZXgge1xuICAgIG1hcmdpbi1ib3R0b206IDEyNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxpc3Qge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTcwJSk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC04MCUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53aGF0cy1uZXdfX2lubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MHB4KTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53aGF0cy1uZXdfX3NsaWRlcyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTUwMHB4O1xuICAgIH1cblxuICAgIC5zbGlkZSAuc2xpZGVfX2lubmVyIHtcbiAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MzVweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGVhc2UtZXZlbnQgLnRlYXNlX19zaWRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuICAgIH1cblxuICAgIC5zbGlkZSAuc2xpZGVfX2lubmVyIC5jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDAsICRwdXNoLXhzOiAwKTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTAsICR3aWR0aC1zbTogMTEsICR3aWR0aC14czogMTEpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1heC13aWR0aDogMzMzcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTEpO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZWFzZV9fc2lkZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGVhc2VfX2V2ZW50LWRhdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJi50ZWFzZS1wb3N0IC50ZWFzZV9fc2lkZS1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMzMycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC50ZWFzZV9fdGh1bWJuYWlsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYtLWRlZmF1bHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWx0LWdvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGVhc2VfX2NvbnRlbnQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVUYWJsZXQpIHtcbiAgICAgICAgICAudGVhc2VfX2V2ZW50LWRhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRlYXNlX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDgxJTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVRhYmxldCkge1xuICAgICAgICAgIC50ZWFzZV9fdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDM1cHgpIHtcbiAgICAgICAgICAudGVhc2VfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlVGFibGV0KSB7XG4gICAgICAgIC50ZWFzZV9fZXZlbnQtZGF5IHtcbiAgICAgICAgICBmb250LXNpemU6IDMwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlX19ldmVudC1tb250aCB7XG4gICAgICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAmLnRlYXNlLS13aWRlIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlX19zaWRlLFxuICAgICAgICAudGVhc2VfX3ByZXZpZXctLWNvbGxhcHNlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZWFzZV9fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgIC50ZWFzZV9fZXZlbnQtZGF0ZSxcbiAgICAgICAgICAudGVhc2VfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGVhc2VfX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJvdXNlbF9fYXJyb3cge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud2hhdHMtbmV3X19pbm5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmNhcm91c2VsX19hcnJvdy0tcHJldiB7XG4gICAgbGVmdDogMnZ3O1xuICB9XG5cbiAgLmNhcm91c2VsX19hcnJvdy0tbmV4dCB7XG4gICAgcmlnaHQ6IDJ2dztcbiAgfVxufVxuXG4ud2hhdHMtbmV3X19zbGlkZXMge1xuICAuc2xpY2stdHJhY2sge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZChtaW4td2lkdGg6IDEyODVweCkge1xuICAgIHBhZGRpbmc6IDAgOHZ3O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwibWFpbi5jYWxlbmRhciB7XG5cbn1cblxuLmNhbGVuZGFyX19pbm5lciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG5cbi5jYWxlbmRhcl9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IC01MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAtNjBweDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIHRvcDogLTcwcHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICB0b3A6IC02MHB4O1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5pbGx1c3RyYXRpb24tLWJpcmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOTAlLCAtNDAlKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uY2FsZW5kYXJfX25hdiwgLmNhbGVuZGFyX19ldmVudHMge1xuICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogY2VudGVyKTtcbn1cblxuLmNhbGVuZGFyX19uYXYtaW5uZXIsIC5jYWxlbmRhcl9fZXZlbnRzLWlubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAxMCwgJHdpZHRoLXhzOiAxMSk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgNDBweCAwIHJnYmEoMCwgMCwgMCwgLjA2KTtcbn1cblxuLmNhbGVuZGFyX19uYXYge1xuICBtYXJnaW4tYm90dG9tOiAtNzVweDtcbn1cblxuLmNhbGVuZGFyX19uYXYtaW5uZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjRweCAzMHB4IDIwcHg7XG5cbiAgLm1lbnUtaXRlbSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gIH1cblxuICAuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhcl9fZXZlbnRzIHtcbiAgdG9wOiA3NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYWxlbmRhcl9fZXZlbnRzLWVtcHR5IHtcbiAgbWluLWhlaWdodDogNTAwcHg7XG4gIHBhZGRpbmc6IDUwcHg7XG59XG5cbi5jYWxlbmRhcl9fZXZlbnRzLWdyaWQge1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5jYWxlbmRlcl9fZXZlbnRzLWdyaWQtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMzBweDtcblxuICAudGVhc2Uge1xuICAgIGZsZXg6IDAgMCAzMiU7XG4gICAgbWFyZ2luOiAwLjd2dyAwIDAuN3Z3IDIlO1xuICAgIG1heC13aWR0aDogMzIlO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVRhYmxldCkge1xuICAgIC50ZWFzZTpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKG9ubHlUYWJsZXQpIHtcbiAgICAudGVhc2Uge1xuICAgICAgZmxleDogMCAwIDQ5JTtcbiAgICAgIG1heC13aWR0aDogNDklO1xuICAgIH1cblxuICAgIC50ZWFzZTpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAudGVhc2Uge1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIG1hcmdpbjogMTVweCAxMHB4O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uY2FsZW5kYXJfX3ZvbHVudGVlciB7XG4gIGhlaWdodDogNzUwMHB4O1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cbiAgaWZyYW1lIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gIH1cbn1cblxuLmNhbGVuZGFyX19sb2NhdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gIH1cbn1cbiIsImJvZHkucGFnZS1jYXJlZXJzLWxhbmRpbmcge1xuICBhcnRpY2xlLnBvc3Qge1xuICAgIC5iYW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgfVxuXG4gIC5wb3N0X19jb250ZW50IHtcbiAgICBoMSB7XG4gICAgICBAZXh0ZW5kIC50LWhlYWRpbmc7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgIG1hcmdpbjogLTEwMHB4IGF1dG8gNTBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTkwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgIC5wb3N0X19tZXRhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcnNfX2ludHJvIHtcbiAgICBtYXJnaW46IDUwcHggMCAxMDBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gIH1cblxuICAuY2FyZWVyc19fc2VjdGlvbi1uYW1lIHtcbiAgICBtYXJnaW46IDUwcHggMCAxMHB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcnNfX3N1YnNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGRvdHRlZC1saW5lKCk7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuY2FyZWVyc19fc3Vic2VjdGlvbi1uYW1lIHtcbiAgICBjb2xvcjogJGNvbG9yLWx0LWdyYXk7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5jYXJlZXJzX19wb3N0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cblxuICAuY2FyZWVyc19fcG9zdCB7XG4gICAgZmxleDogMCAwIDMwJTtcbiAgICBtYXJnaW46IDMwcHggMCAzMHB4IDMlO1xuICAgIG1heC13aWR0aDogMzAlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2FyZWVyc19fcG9zdDpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuY2FyZWVyc19fcG9zdC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5jYXJlZXJzX19mb290bm90ZSB7XG4gICAgbWFyZ2luOiA3NXB4IDA7XG4gIH1cblxuICAuY2FyZWVyc19fbmV3c2xldHRlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICNtY19lbWJlZF9zaWdudXAge1xuICAgICAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIHdpZHRoOiA4MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmlsbHVzdHJhdGlvbi0tc3BhcmtzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC00OCUpO1xuICAgICAgICB3aWR0aDogNjBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU4NXB4KSB7XG4gICAgICAgICAgbGVmdDogMjYwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC0xMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXJfX3RleHQge1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMzBweCBhdXRvIDc1cHg7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnQtaDIge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNSU7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXdzbGV0dGVyX19mb3JtIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgI21jX2VtYmVkX3NpZ251cCAubWMtZmllbGQtZ3JvdXAgaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcblxuICAgICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC5pbGx1c3RyYXRpb24tLXNwYXJrcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5LnNpbmdsZS1jYXJlZXJzIHtcbiAgYXJ0aWNsZS5wb3N0IC5wb3N0X19jb250ZW50IGgxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAucG9zdF9fYm9keSB7XG4gICAgLmNhcmVlcl9fYm9keSB7XG4gICAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgpO1xuICAgIH1cblxuICAgIC5jYXJlZXJfX2Zvb3Rub3RlIHtcbiAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgIH1cbiAgfVxufVxuIiwibWFpbi5jb250YWN0IHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5sb2NhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgICAucmljaC1jb250ZW50X19tYWluOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAuaWxsdXN0cmF0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1taXNzaW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIC5pbGx1c3RyYXRpb24ge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03NSUsIC00NSUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yaWNoLWNvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgfVxuXG4gICAgICAucmljaC1jb250ZW50X19tYWluOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMtY29sLXdpZHRoKDMsIHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDUsIHZ3KTtcbiAgICAgIH1cblxuICAgICAgLnJpY2gtY29udGVudF9fbWFpbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXRlbmRlcmxvaW4ge1xuICAgICAgLmhlYWRpbmcge1xuICAgICAgICAuaWxsdXN0cmF0aW9uIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODAlLCAtNDUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmljaC1jb250ZW50X19tYWluOjpiZWZvcmUge1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRvcDogMjUwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjLWNvbC13aWR0aCgzLCB2dyk7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yaWNoLWNvbnRlbnRfX21haW4tY29udGVudCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbWlzc2lvbi1iYXkge1xuICAgICAgLmxvY2F0aW9uX19oZWFkbGluZSB7XG4gICAgICAgIC5pbGx1c3RyYXRpb24ge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02NSUsIC01NSUpO1xuICAgICAgICAgIHdpZHRoOiAxMjBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDUlLCAtNTUlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMCUsIC02NSUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yaWNoLWNvbnRlbnRfX21haW46OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjLWNvbC13aWR0aCg1LjUsIHB4KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDIsIHZ3KTtcbiAgICAgIH1cblxuICAgICAgLnJpY2gtY29udGVudF9fbWFpbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuXG4gICAgICAgIC5yaWNoLWNvbnRlbnRfX21haW4tY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIC5sb2NhdGlvbl9faGVhZGxpbmUge1xuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgZW0ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwJSwgMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmlsbHVzdHJhdGlvbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMCUsIC03MCUpO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmljaC1jb250ZW50X19tYWluOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogOTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmljaC1jb250ZW50LnJpY2gtY29udGVudC0taGVybyB7XG4gICAgbWFyZ2luLXRvcDogLTcwcHg7XG5cbiAgICAucmljaC1jb250ZW50X19tYWluLWlubmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgcGFkZGluZzogMjAwcHggMCAxMDBweDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmljaC1jb250ZW50X19tYWluLWNvbnRlbnQge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICAuZGV0YWlsIHtcbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWwgKyAuZGV0YWlsIHtcbiAgICAgICAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgkcG9zaXRpb246ICd0b3AnKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzBweDtcblxuICAgICAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgMDtcbiAgICAgIH1cblxuICAgICAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhY3RfX2luZm8ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAuY29udGFjdF9faW5mby1pbm5lciB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDksICR3aWR0aC1zbTogMTApO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAyLCAkcHVzaC1zbTogMSk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3RfX2luZm8tZm9vdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTApO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxKTtcbiAgICAgIEBpbmNsdWRlIHN0cmlwZS1ibG9jaygpO1xuICAgICAgbWFyZ2luOiAxMDBweCBhdXRvIDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHMge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJG5lc3RlZDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDQsICR3aWR0aC1zbTogNiwgJHdpZHRoLXhzOiAxMik7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtaXRlbV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLWRvbmF0ZSB7XG4gICNlcnJvciB7IC8vIGdyYXZpdHkgZm9ybXMgaXMgdGhyb3dpbmcgYSBkYiBlcnJvclxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmRvbmF0ZV9faGVybyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiA3NTBweDtcbiAgbWFyZ2luLXRvcDogMTMwcHg7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdCA3MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDU3MHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICB9XG59XG5cbi5kb25hdGVfX2hlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAlKTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5oZWFkaW5nX19jb250ZW50IHNwYW4ge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1JSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZW0ge1xuICAgIGJvdHRvbTogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgNTAlKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAvLyBib3R0b206IC0xMHB4O1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4MCUsIDUwJSk7XG4gICAgfVxuICB9XG59XG5cbi5kb25hdGVfX2Zvcm0ge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBtYXJnaW46IDMwMHB4IDIwcHggMDtcbiAgfVxufVxuXG4uZG9uYXRlX19mb3JtLWlubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxLCAkcHVzaC1zbTogMCwgJHB1c2gteHM6IDApO1xuICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDUsICR3aWR0aC1zbTogMTIsICR3aWR0aC14czogMTIpO1xufVxuXG4uZG9uYXRlX193aHkge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMtY29sLXdpZHRoKDEsIHZ3LCB0cnVlKTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmRvbmF0ZV9fd2h5LWlubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWx0LWdvbGQ7XG4gIHBhZGRpbmc6IDc1cHggMDtcblxuICAuZG9uYXRlX193aHktdGl0bGUsIC5jb250ZW50X190aXRsZSB7XG4gICAgQGV4dGVuZCAudC1oMTtcbiAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgcGFkZGluZzogJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lIDA7XG4gIH1cbn1cblxuLmRvbmF0ZV9fd2h5LXJlYXNvbnMge1xuICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDIsICRwdXNoLXNtOiAxLCAkcHVzaC14czogMSk7XG4gIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMywgJHdpZHRoLXNtOiA1LCAkd2lkdGgteHM6IDEwKTtcbn1cblxuLmRvbmF0ZV9fd2h5LXJlYXNvbiB7XG4gIEBpbmNsdWRlIGRvdHRlZC1saW5lKCRjb2xvcjogJGNvbG9yLWdvbGQpO1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweCA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ljb25zL2Fycm93LWJ1bGxldC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMnB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG5cbi5kb25hdGVfX3doeS1vdGhlciB7XG4gIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDEsICRwdXNoLXhzOiAxKTtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAzLCAkd2lkdGgtc206IDQsICR3aWR0aC14czogMTApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ljb25zL2Fycm93LWdvbGQuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA3MXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTM0JSk7XG4gICAgd2lkdGg6IDc2cHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIGhlaWdodDogNTNweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00NSUsIC01MCUpO1xuICAgICAgd2lkdGg6IDU3cHg7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudF9fZGVzY3JpcHRpb24ge1xuICAgIEBleHRlbmQgLnQtYm9keS0tbGFyZ2U7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gIH1cblxuICAuY29udGVudF9fY3RhIHtcbiAgICBAZXh0ZW5kIC5idXR0b24tLWxpZ2h0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gICAgbWFyZ2luLXRvcDogJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lO1xuICB9XG59XG5cbi5kb25hdGVfX2ltcGFjdCB7XG4gIEBpbmNsdWRlIHN0cmlwZS1ibG9jaygpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGhlaWdodDogODAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMTAlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogY2FsYy1jb2wtd2lkdGgoMiwgcGN0LCB0cnVlKTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kb25hdGVfX2ltcGFjdC1oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IC01MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAtMTAwcHg7XG5cbiAgLmhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIHRvcDogYXV0bztcbiAgfVxufVxuXG4uZG9uYXRlX19pbXBhY3QtbGV2ZWxzIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xufVxuXG4uZG9uYXRlX19pbXBhY3QtbGV2ZWxzLWlubmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAzLCAkcHVzaC1zbTogMSwgJHB1c2gteHM6IDApO1xuICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDcsICR3aWR0aC1zbTogMTAsICR3aWR0aC14czogMTIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5kb25hdGVfX2ltcGFjdC1sZXZlbHMtY29sIHtcbiAgZmxleDogMCAwIDQ1LjglO1xuICBtYXgtd2lkdGg6IDQ1LjglO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQoKSB7XG4gICAgLmRvbmF0ZV9faW1wYWN0LWxldmVsIHtcbiAgICAgICY6bnRoLWNoaWxkKDRuKSAubGV2ZWxfX2Ftb3VudCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0biArIDEpIC5sZXZlbF9fYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0biArIDIpIC5sZXZlbF9fYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0biArIDMpIC5sZXZlbF9fYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZWFsO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjLWNvbC13aWR0aCgxLCB2dyk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMtY29sLXdpZHRoKDMsIHZ3KTtcblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYy1jb2wtd2lkdGgoMywgdncpO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMtY29sLXdpZHRoKDEsIHZ3KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bnRoLWNoaWxkKDIpIHtcbiAgICAuZG9uYXRlX19pbXBhY3QtbGV2ZWwge1xuICAgICAgJjpudGgtY2hpbGQoNG4pIC5sZXZlbF9fYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0biArIDEpIC5sZXZlbF9fYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZWFsO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0biArIDIpIC5sZXZlbF9fYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDRuICsgMykgLmxldmVsX19hbW91bnQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMtY29sLXdpZHRoKDMsIHZ3KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYy1jb2wtd2lkdGgoMSwgdncpO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjLWNvbC13aWR0aCgxLCB2dyk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYy1jb2wtd2lkdGgoMywgdncpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kb25hdGVfX2ltcGFjdC1sZXZlbCB7XG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICB9XG5cbiAgLmxldmVsX19hbW91bnQge1xuICAgIEBpbmNsdWRlIGRvdHRlZC1saW5lKCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAldC1zY3JpcHQ7XG4gICAgICBjb250ZW50OiAnJCc7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwJSwgLTEwJSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuXG4gICAgLmxldmVsX19hbW91bnQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZG9uYXRlLWltcGFjdF9faWxsdXN0cmF0aW9uIHtcbiAgQGluY2x1ZGUgY2VudGVyKHgpO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM1JSwgLTEwJSk7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01JSwgLTEwJSk7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXgtaGVpZ2h0OiAxNzVweDtcbiAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICByaWdodDogMjBweDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmRvbmF0ZV9fZm9vdG5vdGUge1xuICBwYWRkaW5nOiAzMHB4IDUlO1xufVxuIiwibWFpbi5oaXN0b3J5IHtcbiAgLmludHJvIHtcbiAgICBtYXJnaW46IDQwcHggMCA1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgIH1cbiAgfVxuXG4gIC5oaXN0b3J5X19oZWFkbGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnRyb19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZF9yb3coKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luOiAxMHB4IDIwcHggJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lO1xuICAgIH1cbiAgfVxuXG4gIC5pbnRyb19fdGV4dCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAyLCAkcHVzaC1zbTogMSwgJHB1c2gteHM6IDApO1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNCwgJHdpZHRoLXNtOiA1LCAkd2lkdGgteHM6IDEyKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAuaW50cm9fX3Bob3RvcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxLCAkcHVzaC1zbTogMCwgJHB1c2gteHM6IDApO1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNCwgJHdpZHRoLXNtOiA1LCAkd2lkdGgteHM6IDEyKTtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkbmVzdGVkOiB0cnVlKTtcbiAgICBAaW5jbHVkZSBzdHJpcGUtYmxvY2soKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgdG9wOiAtNDAlO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgd2lkdGg6IDUwdnc7XG4gICAgfVxuXG4gICAgLmlsbHVzdHJhdGlvbi0tYW5jaG9yIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDAlLCAtNTAlKTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC00MCUpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnRyb19fcGhvdG8ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNik7XG5cbiAgICBpbWcge1xuICAgICAgQGV4dGVuZCAuc3RyaXBlLXBhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnRyb19fcGhvdG8tY2FwdGlvbiB7XG4gICAgQGV4dGVuZCAudC1sYWJlbDtcbiAgfVxuXG4gIC5zdGF0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZTtcbiAgICB9XG4gIH1cblxuICAuc3RhdHNfX2hlYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdGF0c19fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ3JpZF9yb3coKTtcbiAgfVxuXG4gIC5zdGF0c19fbGlzdC1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAuc3RhdHNfX3N0YXQge1xuICAgIHBhZGRpbmc6IDAgNzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOm50aC1jaGlsZChuKSAuc3RhdF9fbnVtYmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgybikgLnN0YXRfX251bWJlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzbikgLnN0YXRfX251bWJlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIC5zdGF0X19udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDg1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW46IDAgMTUlO1xuICAgICAgcGFkZGluZzogNDBweCAzMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLnN0YXRzX19zdGF0ICsgLnN0YXRzX19zdGF0IHtcbiAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgkcG9zaXRpb246IGxlZnQpO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgkcG9zaXRpb246IHRvcCk7XG4gICAgfVxuICB9XG5cbiAgLnRoZS1zdGFydCB7XG4gICAgLnJpY2gtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlU21hcnRwaG9uZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWNoLWNvbnRlbnQtLWhlcm8ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAucmljaC1jb250ZW50X19tYWluIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAucmljaC1jb250ZW50IHtcbiAgICAgICAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWlsZXN0b25lcyB7XG4gICAgQGluY2x1ZGUgc3RyaXBlLWJsb2NrKCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zMCUpO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gIH1cblxuICAubWlsZXN0b25lc19faGVhZGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNjAlLCAtMjAlKTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbGx1c3RyYXRpb24tLWJpbm9jdWxhcnMge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMiUsIDgwJSk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGJvdHRvbTogLTEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDk0cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICAgICAgfVxuXG4gICAgICBlbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMCUsIC0yMCUpO1xuICAgICAgfVxuXG4gICAgICAuaWxsdXN0cmF0aW9uLS1iaW5vY3VsYXJzIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1pbGVzdG9uZXNfX3RpbWVsaW5lIHtcbiAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgkcG9zaXRpb246IGxlZnQpO1xuICAgIG1hcmdpbjogJHNlY3Rpb24tbWFyZ2luIGF1dG8gMDtcbiAgICB3aWR0aDogMnB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5taWxlc3RvbmUge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MXB4O1xuICAgIHdpZHRoOiA0MHZ3O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXJlZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbGVmdDogLTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTFweDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogLTRweDtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5taWxlc3RvbmUgKyAubWlsZXN0b25lIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgLm1pbGVzdG9uZV9faW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuICAgIHBhZGRpbmc6IDQwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLm1pbGVzdG9uZV9feWVhciB7XG4gICAgQGluY2x1ZGUgZG90dGVkLWxpbmUoKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLm1pbGVzdG9uZV9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAuZnV0dXJlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbHQtZ29sZDtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDUwcHggNTBweCA3MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZG90dGVkLWxpbmUoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAyMHB4IGNlbnRlcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDUxcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MXB4O1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZnV0dXJlX19pbm5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgIC5jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAuY29udGVudF9fY3RhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJtYWluLmhvbWVwYWdlIHtcbiAgLndlbGNvbWUge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRhbGlnbjogY2VudGVyKTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbWFyZ2luO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTE0MHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNjBweDtcbiAgICB9XG4gIH1cblxuICAud2VsY29tZV9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNiwgJHdpZHRoLXNtOiAxMiwgJHdpZHRoLXhzOiAxMik7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC53ZWxjb21lX19pbWFnZS1pbm5lciB7XG4gICAgICBAaW5jbHVkZSBzdHJpcGUtYmxvY2soKTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0xMCU7XG4gICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZpZGVvIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMTUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC53ZWxjb21lX19pbGx1c3RyYXRpb24ge1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODAlLCAzMCUpO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwJSwgMTkwJSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MHB4LCAxMHB4KSBzY2FsZSgxKTtcbiAgICB9XG4gIH1cblxuICAud2VsY29tZV9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAyLCAkcHVzaC1zbTogMSwgJHB1c2gteHM6IDEpO1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMywgJHdpZHRoLXNtOiAxMCwgJHdpZHRoLXhzOiAxMCk7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVUYWJsZXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMyUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC53ZWxjb21lX19oZWFkaW5nVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgLndlbGNvbWVfX2hlYWRpbmdUZXh0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNSUsIDE0JSk7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICBsZWZ0OiAtMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAud2VsY29tZV9faGVhZGluZ1RleHQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMSUsIDMyJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICByaWdodDogMzdweDtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLndlbGNvbWVfX2hlYWRpbmdUZXh0Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsIHtcbiAgICBoZWlnaHQ6IDQwMHB4OyAvLyB0ZW1wb3JhcnlcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWxfX2hlYWRpbmcge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBlbSB7XG4gICAgICBsZWZ0OiAtMTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMjUlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC01MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdldEludm9sdmVkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lO1xuICAgIH1cbiAgfVxuXG4gIC5pbGx1c3RyYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5pbGx1c3RyYXRpb24tLWRpdmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00NSUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgdG9wOiAxMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nZXRJbnZvbHZlZF9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBtYXJnaW46IDI1MHB4IGF1dG8gNzVweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDE1MHB4IDAgNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbjogMTAwcHggMCAxNTBweDtcbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDMsICRwdXNoLXNtOiAwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IDI5MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWxsdXN0cmF0aW9uLS1zY3JpcHQge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYzJSwgLTQ1JSk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwJTtcbiAgICAgICAgdG9wOiAtNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlsbHVzdHJhdGlvbi0tYW5jaG9yIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOTAlLCAyNSUpO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nZXRJbnZvbHZlZF9fY2FyZHMge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gIH1cblxuICAuZ2V0SW52b2x2ZWRfX2NhcmQge1xuICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDIpO1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMiwgJHdpZHRoLXNtOiA4KTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAzLCAkcHVzaC1zbTogMik7XG4gICAgfVxuICB9XG5cbiAgLmNsYXNzcm9vbSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIC5jbGFzc3Jvb21fX2ltYWdlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMSwgJHB1c2gtc206IDAsICRwdXNoLXhzOiAwLCAkcHVzaC14bDogMCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDExLCAkd2lkdGgtc206IDEyLCAkd2lkdGgteHM6IDEyLCAkd2lkdGgteGw6IDEyKTtcbiAgICAgIEBpbmNsdWRlIHN0cmlwZS1ibG9jaygpO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA0NSU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogJHNlY3Rpb24tbWFyZ2luO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gICAgICB9XG5cbiAgICAgIGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICB0b3A6IC0xMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICB0b3A6IC0zMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWxsdXN0cmF0aW9uLS1maW5kLW1vcmUge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogLTQ4MHB4O1xuICAgICAgd2lkdGg6IDE3MHB4O1xuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTYwJSk7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtc19fdGl0bGUge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtc19fbG9jYXRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAxNXB4IDIwcHg7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmVkO1xuICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtc19fY2FyZHMge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbXNfX2NhcmRzLWlubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDEsICRwdXNoLXNtOiAwLCAkcHVzaC14czogMCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAxMCwgJHdpZHRoLXNtOiAxMiwgJHdpZHRoLXhzOiAxMik7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJG5lc3RlZDogdHJ1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnByb2dyYW1zX19jYXJkIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDQsICR3aWR0aC1zbTogNiwgJHdpZHRoLXhzOiAxMik7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLW1lZCwgZmlsdGVyICRkdXJhdGlvbi1tZWQ7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5pbGx1c3RyYXRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgLmlsbHVzdHJhdGlvbiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNDAlO1xuICAgICAgfVxuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNhcmRfX2N0YSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdHVkZW50Vm9pY2VzIHtcbiAgICBAaW5jbHVkZSBzdHJpcGUtYmxvY2soKTtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDQwJSk7XG4gICAgICB3aWR0aDogNjB2aDtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNjAlKTtcbiAgICAgICAgd2lkdGg6IDcwdnc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1tYXJnaW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnN0dWRlbnRWb2ljZXNfX2hlYWRpbmcge1xuICAgIC8vIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbGx1c3RyYXRpb24tLXNweWdsYXNzIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAtNTMlKTtcbiAgICAgIHdpZHRoOiA0MDBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNSUsIC00NiUpO1xuICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtNTUlKTtcbiAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5zdHVkZW50Vm9pY2VzX19jYXJvdXNlbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBtYXJnaW46IDUwcHggYXV0byAxMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuc3R1ZGVudFZvaWNlc19fY2FyZCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAzLCAkcHVzaC1zbTogMCwgJHB1c2gteHM6IDApO1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNiwgJHdpZHRoLXNtOiA4LCAkd2lkdGgteHM6IDEyKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIC5zdHVkZW50Vm9pY2VzX19jYXJkLWlubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgcGFkZGluZzogNTBweCAxMDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmNhcmRfX3RpdGxlLFxuICAgICAgLmNhcmRfX21ldGEsXG4gICAgICAuY2FyZF9fZGl2aWRlcixcbiAgICAgIC5jYXJkX190ZXh0LFxuICAgICAgLmNhcmRfX2N0YSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIH1cblxuICAgICAgLmNhcmRfX3RpdGxlLFxuICAgICAgLmNhcmRfX21ldGEsXG4gICAgICAuY2FyZF9fZGl2aWRlcixcbiAgICAgIC5jYXJkX190ZXh0IHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMnB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMnB4O1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pbGx1c3RyYXRpb25zL2lsbHUtc2VhLW1vbnN0ZXItdGFpbC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgaGVpZ2h0OiAzOTZweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03MyUsIDAlKTtcbiAgICAgICAgd2lkdGg6IDEzMXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCkgdHJhbnNsYXRlKC04NSUsIDApO1xuICAgICAgICAgIGxlZnQ6IDMzcHg7XG4gICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pbGx1c3RyYXRpb25zL1NlcnBlbnRfRi5naWYpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2MyUsIC04MCUpO1xuICAgICAgICB3aWR0aDogNDAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC44KSB0cmFuc2xhdGUoNzYlLCAtOTIlKTtcbiAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhcmQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FyZF9fdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC50LWgxO1xuICAgICAgfVxuXG4gICAgICAuY2FyZF9fdGV4dCB7XG4gICAgICAgIEBleHRlbmQgLnQtYm9keS0tbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsX19kb3RzIGxpOm5vdCguc2xpY2stYWN0aXZlKSB7XG4gICAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbHQtZ3JheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fyb3VzZWxfX2Fycm93LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDEwJTtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWxfX2Fycm93LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAxMCU7XG4gICAgfVxuICB9XG5cbiAgLm5ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgIHBhZGRpbmc6IDE1MHB4IDAgMTAwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLW1hcmdpbiAwICRzZWN0aW9uLW1hcmdpbi0tc21hcnRwaG9uZTtcbiAgICB9XG5cbiAgICAubmV3c2xldHRlcl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuaWxsdXN0cmF0aW9uLS1ib3R0bGUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02MSUsIDc1JSk7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWxsdXN0cmF0aW9uLS1zcGFya3Mge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC00NCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgICAuaWxsdXN0cmF0aW9uLS1ib3R0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWxsdXN0cmF0aW9uLS1zcGFya3Mge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpIHNjYWxlKC44KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICNtY19lbWJlZF9zaWdudXAge1xuICAgICAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIHdpZHRoOiA4MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uZXdzbGV0dGVyX190ZXh0IHtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG5cbiAgLm5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICB9XG59XG4iLCJtYWluLmluZGV4IHtcbiAgLndoYXRzLW5ldy0taW5kZXgge1xuICAgIEBpbmNsdWRlIHN0cmlwZS1ibG9jaygpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAlKTtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaW1wbGUtaGVhZGxpbmU6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVUYWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRpbmcgZW0ge1xuICAgIGxlZnQ6IC0xMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwJTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbGVmdDogLTUlO1xuICAgICAgdG9wOiAtMzAlO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJvdXNlbCB7XG4gICAgaGVpZ2h0OiA0MDBweDsgLy8gdGVtcG9yYXJ5XG4gICAgbWFyZ2luLXRvcDogMTUwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogMTEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0cyB7XG4gICAgLmZpbHRlcl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxLCAkcHVzaC1zbTogMSwgJHB1c2gteHM6IDEpO1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0c19faW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIHN0cmlwZS1ibG9jaygpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICB9XG5cbiAgLnBvc3RzX19saXN0IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDEwLCAkd2lkdGgtc206IDEyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC50ZWFzZSB7XG4gICAgICBmbGV4OiAwIDAgMzIlO1xuICAgICAgbWFyZ2luOiAwLjd2dyAwIDAuN3Z3IDIlO1xuICAgICAgbWF4LXdpZHRoOiAzMiU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVRhYmxldCkge1xuICAgICAgLnRlYXNlOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIC50ZWFzZSB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMTVweCAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5jYXRlZ29yeSB7XG4gIC53aGF0cy1uZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIm1haW4ub3dvZyB7XG4gIHNlY3Rpb246bm90KC5yaWNoLWNvbnRlbnQpIC5jb250ZW50X190aXRsZSB7XG4gICAgQGV4dGVuZCAudC1oMTtcbiAgICBAaW5jbHVkZSBkb3R0ZWQtbGluZSgpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuY29udGVudF9fZGVzY3JpcHRpb24ge1xuICAgIHA6bnRoLWNoaWxkKDIpIHtcbiAgICAgIEBleHRlbmQgJXQtc3VibmF2LWxpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgQGV4dGVuZCAldC1zdWJuYXYtbGlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLWJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWRfX2lubmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDAsICRwdXNoLXNtOiAxLCAkcHVzaC14czogMSk7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAxMiwgJHdpZHRoLXNtOiAxMCwgJHdpZHRoLXhzOiAxMCk7XG4gIH1cblxuICAuZ3JpZF9faXRlbXMge1xuICAgIEBpbmNsdWRlIGdyaWQtcHVzaCgkcHVzaDogMCwgJHB1c2gtc206IDEsICRwdXNoLXhzOiAwKTtcbiAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDEyLCAkd2lkdGgtc206IDEwLCAkd2lkdGgteHM6IDEyKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkX19pdGVtIHtcbiAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDIsICRwdXNoLXNtOiAwLCAkcHVzaC14czogMCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAzLCAkd2lkdGgtc206IDEyLCAkd2lkdGgteHM6IDEyKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi5vd29nX19oZWFkbGluZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5oZWFkaW5nIGVtIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtMzAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5cbi5vd29nX190cmVlIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgYmFja2dyb3VuZDogdXJsKGltZy9pbGx1c3RyYXRpb25zL2lsbHUtZ2l2aW5nLWZvcmVzdC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgcGFkZGluZzogMTUwcHggMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2MCU7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgcGFkZGluZzogNDBweCAwIDAgMDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxMHB4KSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwJTtcbiAgfVxufVxuXG4ub3dvZ19fdHJlZS1jYXJkIHtcbiAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxLCAkcHVzaC1zbTogMCwgJHB1c2gteHM6IDApO1xuICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDUsICR3aWR0aC1zbTogMTIsICR3aWR0aC14czogMTIpO1xuICBwYWRkaW5nOiAwIGNhbGMtY29sLXdpZHRoKDEsIHZ3LCBmYWxzZSkgKiAuNTtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi10b3A6IDM1JTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIG1hcmdpbi10b3A6IDU1JTtcbiAgICBwYWRkaW5nOiAwIDAgMjBweCAwO1xuICB9XG5cbiAgLmNhcmQge1xuICAgIHBhZGRpbmc6IDUwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwJTtcbiAgICB9XG4gIH1cbn1cblxuLm93b2dfX2dpdmluZyB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuICBtYXJnaW4tYm90dG9tOiAtODAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MDBweDtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTIwMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG5cbiAgLmdyaWRfX2l0ZW1zIHtcbiAgICAuZ3JpZF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbGx1c3RyYXRpb24ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtMzUlKTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm93b2dfX3N0b3JlIHtcbiAgei1pbmRleDogMjtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogLTEyMHB4O1xuICB9XG5cbiAgLnJpY2gtY29udGVudF9fbWFpbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAucmljaC1jb250ZW50X19tYWluLWlubmVyIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNCwgJHdpZHRoLXNtOiAxMik7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYy1jb2wtd2lkdGgoMSwgcGN0KSAqIC0xO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1jb250ZW50IC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEwJTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50X19jdGE6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWNoLWNvbnRlbnRfX21haW4taW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoLXNtOiAxKTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogOCwgJHdpZHRoLXNtOiAxMSwgJHdpZHRoLXhzOiAxMik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaWxsdXN0cmF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGNlbnRlcih4KTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwJSwgLTMwJSk7XG4gICAgfVxuICB9XG59XG5cbi5vd29nX19vdGhlciB7XG4gICYuZ3JpZCB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkX19pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwMHB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaWxsdXN0cmF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIHN0cmlwZS1ibG9jaygpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02NSUsIDEwMCUpO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICBsZWZ0OiAtMTB2dztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gICAgICAgIHdpZHRoOiA0NXZ3O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7XG4gICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkX19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgLmlsbHVzdHJhdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwJSwgMCk7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYXJ0aWNsZS5wb3N0IHtcbiAgLmJhbm5lciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWx0LWdvbGQ7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gIH1cblxuICAucG9zdF9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIG1hcmdpbjogLTIwMHB4IGF1dG8gMDtcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTB2dztcblxuICAgIGgxIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW46IDUwcHggYXV0byA1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yNDBweDtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBvc3RfX21ldGEge1xuICAgIEBleHRlbmQgJXQtbWV0YTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucG9zdF9fY2F0ZWdvcnksIC5wb3N0X19kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAucG9zdF9fY2F0ZWdvcnkge1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICB9XG4gIH1cblxuICAucG9zdF9fYm9keSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcblxuICAgIGgxIHtcbiAgICAgIEBleHRlbmQgLnQtaDE7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQGV4dGVuZCAudC1oMjtcbiAgICAgIG1hcmdpbjogNTBweCAwIDIwcHggMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBleHRlbmQgLnQtYm9keS0tbGFyZ2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3RfX2ltYWdlICsgcCB7XG4gICAgICBAZXh0ZW5kIC50LWJvZHktLWxhcmdlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgQGV4dGVuZCAldC1ib2R5LS1ib2xkO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIGltZy5hbGlnbnJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMTVweDtcbiAgICB9XG5cbiAgICBpbWcuYWxpZ25sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAxNXB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICBtYXJnaW46IDE1cHggMCAxNXB4IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucG9zdF9faWZyYW1lIHtcbiAgICAgIGhlaWdodDogMTIwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gIH1cblxuICAucG9zdF9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucG9zdF9fYmFjayB7XG4gICAgQGV4dGVuZCAudC1sYWJlbDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ljb25zL2Fycm93LXJlZC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICB9XG4gIH1cblxuICAucG9zdF9faWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5wb3N0X19vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgZG90dGVkLWxpbmUoKTtcbiAgICBjb2x1bW5zOiAyO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBjb2x1bW5zOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0X19ib2R5LWlubmVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgLnQtaDIge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwibWFpbi5wcm9ncmFtIHtcbiAgLmFydGljbGUtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVTbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC5zaW1wbGUtaGVhZGxpbmU6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAuaGVhZGluZy0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJpY2gtY29udGVudC0taGVybyAucmljaC1jb250ZW50X19tYWluOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgd2lkdGg6IDQwJTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVUYWJsZXQpIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxOTBweDtcbiAgICAgIG1hcmdpbi10b3A6IC04MHB4O1xuICAgICAgd2lkdGg6IDI3LjUlO1xuICAgIH1cbiAgfVxuXG4gIC5yaWNoLWNvbnRlbnQ6bm90KC5yaWNoLWNvbnRlbnQtLWhlcm8pIHtcbiAgICAucmljaC1jb250ZW50X19tYWluIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuICAgIH1cblxuICAgIC5yaWNoLWNvbnRlbnRfX21haW4tY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgfVxuXG4gICAgICAuY29udGVudF9fdGl0bGVzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAucmljaC1jb250ZW50X19tYWluLWlubmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA4ZW07XG4gICAgICB9XG5cbiAgICAgIC5yaWNoLWNvbnRlbnRfX2xvd2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTdlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubWFpbi5wcm9ncmFtLnByb2dyYW0tLWNvbGxlZ2UtYW5kLWNhcmVlci1yZWFkaW5lc3Mge1xuICAuaGVhZGluZy0taGVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgZW0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtMTAlKTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwJSwgNDUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmljaC1jb250ZW50X19tYWluLWlubmVyIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5yaWNoLWNvbnRlbnQtLWhlcm8ge1xuICAgIG1hcmdpbi10b3A6IC03MHB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xOTBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlVGFibGV0KSB7XG4gICAgc3Bhbi5oZWFkaW5nX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudC0taGVybyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTcwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIHNwYW4sXG4gICAgICBlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cblxuICAgICAgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIH1cblxuICAgICAgZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwcHgpO1xuICAgICAgfVxuXG4gICAgICBlbTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubWFpbi5wcm9ncmFtLnByb2dyYW0tLWZpZWxkLXRyaXBzIHtcbiAgLnNpbXBsZS1oZWFkbGluZTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmhlYWRpbmdfX2NvbnRlbnQgPiBzcGFuIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubWFpbi5wcm9ncmFtLnByb2dyYW0tLWktYW0tYS12b2x1bnRlZXIsXG5tYWluLnByb2dyYW0ucHJvZ3JhbS0taS1hbS1hLXRlYWNoZXIsXG5tYWluLnByb2dyYW0ucHJvZ3JhbS0taS1hbS1hLXN0dWRlbnQtb3ItcGFyZW50IHtcbiAgLnJpY2gtY29udGVudC0taGVybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5yaWNoLWNvbnRlbnRfX21haW4taW5uZXIge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1saXN0IHtcbiAgICAuaGVhZGluZyB7XG4gICAgICBlbSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JpZF9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50X190aXRsZSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuICB9XG59XG5cbm1haW4ucHJvZ3JhbS5wcm9ncmFtLS1pLWFtLWEtc3R1ZGVudC1vci1wYXJlbnQge1xuICAuaGVhZGluZy0taGVybyB7XG4gICAgLmhlYWRpbmdfX2NvbnRlbnQgc3BhbiB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuICAgIH1cblxuICAgIGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24tbGlzdCB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgZW0ge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAucmljaC1jb250ZW50LS1oZXJvIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMzBweDtcblxuICAgICAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubWFpbi5wcm9ncmFtLS1hZnRlci1zY2hvb2wtcHJvZ3JhbXMge1xuICAucmljaC1jb250ZW50Om50aC1vZi10eXBlKDIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtODBweDtcbiAgfVxufVxuIiwibWFpbi5wcm9ncmFtcyB7XG4gIC5pbnRybyB7XG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNThweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC5oZWFkaW5nX19jb250ZW50IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMjhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGhlaWdodDogNDAlO1xuICAgICAgICB3aWR0aDogODUlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChpbWcvaWNvbnMvc3RyaXBlcy1wYXR0ZXJuLXRpbGUuc3ZnKSAwIDAvMTkycHggMTkycHggcmVwZWF0O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogY2FsYy1jb2wtd2lkdGgoMiwgcHgpO1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDMsIHZ3KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogNTdweDtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgei1pbmRleDogLTI7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtcy1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIC5ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5oZWxwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbHQtZ29sZDtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMCA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuaGVscF9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChpbWcvaWNvbnMvc3RyaXBlcy1wYXR0ZXJuLXRpbGUuc3ZnKSAwIDAvMTkycHggMTkycHggcmVwZWF0O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogY2FsYy1jb2wtd2lkdGgoMSwgcHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDQsIHZ3KTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMTYycHg7XG4gICAgICAgIHdpZHRoOiAxNjJweDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB0cmFuc3BhcmVudCB1cmwoaW1nL2lsbHVzdHJhdGlvbnMvaWxsdS1idWJibGVzLnN2Zyk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMjhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTE4cHg7XG4gICAgICAgIHRvcDogLTY2cHg7XG4gICAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmNvbnRlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnRfX2N0YSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1wdWJsaWNhdGlvbnMge1xuICAuc2ltcGxlLWhlYWRsaW5lOmZpcnN0LW9mLXR5cGUge1xuICAgIC5oZWFkaW5nLnQtaGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMzBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyAuaGVhZGluZ19fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaW1wbGUtaGVhZGxpbmU6bnRoLW9mLXR5cGUoMikge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAuaGVhZGluZy50LWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmhlYWRpbmcgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnN1Yi10ZXh0IGVtIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIm1haW4uc3RhZmYge1xuICAucGVvcGxlLWdyaWQge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1sdC1nb2xkO1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnBlb3BsZS1ncmlkX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE2MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xNjBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTEwcHg7XG4gICAgICB0b3A6IC0xMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0b3A6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmhlYWRsaW5lLS1ib2FyZCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pbGx1c3RyYXRpb25zL2lsbHUtb3dsLnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDE5OHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03MCUsIDQwJSk7XG4gICAgICB3aWR0aDogMjE0cHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBoZWlnaHQ6IDk5cHg7XG4gICAgICAgIHdpZHRoOiAxMDdweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYxJSwgNjQlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDI0MHB4O1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGVtIHtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICByaWdodDogLTQwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29mb3VuZGVycyB7XG4gICAgQGluY2x1ZGUgc3RyaXBlLWJsb2NrKCk7XG4gICAgQGluY2x1ZGUgc3RyaXBlLWJsb2NrKCRwc3VlZG9lbDogJ2FmdGVyJyk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLW1hcmdpbjtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDEpO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gICAgfVxuICB9XG5cbiAgLmNvZm91bmRlcnNfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IC0yNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogLTEyMHB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHRvcDogLTgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjUwcHg7XG4gICAgICB0b3A6IC02MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb2ZvdW5kZXJzX19pbm5lciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYXJnaW47XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgbWFyZ2luOiA2MHB4IDIwcHggMDtcbiAgICB9XG4gIH1cblxuICAuY29mb3VuZGVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDIsICRwdXNoLXNtOiAwLCAkcHVzaC14czogMCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiAzLCAkd2lkdGgtc206IDEyLCAkd2lkdGgteHM6IDEyKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb2ZvdW5kZXJfX25hbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn0iLCIlc3YtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuJXN2LXNpZGUge1xuICBmbGV4OiAxIDEgNTAlO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gIH1cbn1cblxuJXN2LWxpc3QtbGVmdCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAzMHB4ICRzZWN0aW9uLW1hcmdpbjtcblxuICAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5oZWFkaW5nX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gIH1cbn1cblxuJXN2LWxpc3QtaXRlbSB7XG4gIEBpbmNsdWRlIGRvdHRlZC1saW5lKCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNTBweCAxMjBweCA1MHB4IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLW1lZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbHQtZ29sZDtcbiAgfVxufVxuXG4lc3YtbGlzdC1pdGVtLWF1dGhvciB7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuJXN2LWxpc3QtY29udGFpbmVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VjZWM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1tZWQ7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvci13aGl0ZSAzJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA5OSUpO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDMlLCAkY29sb3Itd2hpdGUgOTklKTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuXG4gICYuYXQtdG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmLmF0LWJvdHRvbSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cblxuJXN2LWxpc3QtaW5uZXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuYm9keS5wYWdlLXBvZGNhc3RzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXN0dWRlbnRfd3JpdGluZywgYm9keS5zaW5nbGUtc3R1ZGVudF93cml0aW5nIHtcbiAgbWFpbiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhhYm92ZVRhYmxldCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyLWhlaWdodH0pO1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICN7JGhlYWRlci1oZWlnaHR9KTtcbiAgICB9XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlVGFibGV0KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXItaGVpZ2h0fSk7XG4gICAgfVxuICB9XG5cbiAgZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmJvZHkucGFnZS1zdHVkZW50LXZvaWNlcyB7XG4gIC5ncmlkIHtcbiAgICBAaW5jbHVkZSBzdHJpcGUtYmxvY2soKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGxlZnQ6IDd2dztcbiAgICAgIHJpZ2h0OiA3dnc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwJSk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWRfX3RpdGxlLFxuICAuZ3JpZF9fc3VidGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMzAlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG4gIH1cblxuICAuZ3JpZF9faXRlbSB7XG4gICAgcGFkZGluZzogMzBweCA1MHB4O1xuXG4gICAgLmlsbHVzdHJhdGlvbiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29udGVudF9fdGl0bGVzIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgfVxuICB9XG59XG5cbm1haW4uc3R1ZGVudC13cml0aW5nIHtcbiAgQGV4dGVuZCAlc3YtY29udGFpbmVyO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnN0dWRlbnQtd3JpdGluZ19fZmlsdGVyLFxuLnN0dWRlbnQtd3JpdGluZ19fbGlzdCB7XG4gIEBleHRlbmQgJXN2LXNpZGU7XG59XG5cbi5zdHVkZW50LXdyaXRpbmdfX2ZpbHRlciB7XG4gIEBleHRlbmQgJXN2LWxpc3QtbGVmdDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpe1xuICAgIHBhZGRpbmctbGVmdDogOSU7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBwYWRkaW5nOiAzMnB4IDMwcHg7XG4gIH1cblxuICAud3JpdGluZ3MtZmlsdGVyX19pbm5lciB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTEwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLndyaXRpbmdzX19maWx0ZXIge1xuICAgIEBleHRlbmQgJXQtZm9ybS1pbnB1dDtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLndyaXRpbmdzX19maWx0ZXItZHJvcGRvd24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgLndyaXRpbmdzX19maWx0ZXItZHJvcGRvd24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cml0aW5nc19fZmlsdGVyLWlubmVyIHtcbiAgICBAZXh0ZW5kIC50LWJvZHktLWxhcmdlO1xuICAgIGNvbG9yOiAkY29sb3ItdGVhbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDUxMHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmNsaWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgLndyaXRpbmdzX19maWx0ZXItcmVzZXQtYnV0dG9uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgfVxuXG4gICAgICAud3JpdGluZ3NfX2ZpbHRlci1zZWxlY3Rpb24ge1xuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndyaXRpbmdzX19maWx0ZXItc2VsZWN0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogMCA0MHB4IDAgMDtcblxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGVhbDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1tZWQ7XG4gICAgICB3aWR0aDogMXB4O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxM3B4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC53cml0aW5nc19fZmlsdGVyLXJlc2V0LWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMzFweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tbWVkO1xuICAgIHdpZHRoOiAzMXB4O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZWFsO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDY2JTtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAud3JpdGluZ3NfX2ZpbHRlci1kcm9wZG93biB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWx0LXRlYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tbWVkO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAud3JpdGluZ3NfX2ZpbHRlci1vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWx0LWJsdWU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi1tZWQ7XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlcl9fb3B0aW9uIHtcbiAgICBAZXh0ZW5kIC50LWJvZHktLWxhcmdlO1xuICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgKyAuZmlsdGVyX19vcHRpb24ge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTEwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyX19vcHRpb24tc2VsZWN0LXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZG90dGVkLWxpbmUoKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogMTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MTBweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgfVxuXG4gICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbHQtdGVhbDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlcl9fb3B0aW9uLXNlbGVjdCB7XG4gICAgQGV4dGVuZCAudC1ib2R5LS1sYXJnZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMyAwTDcgNiAxIDBcIiBzdHJva2U9XCIlMjMwQzVDNThcIiBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+Jyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogJGNvbG9yLXRlYWw7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZmlsdGVyX190ZXh0IHtcbiAgICBAZXh0ZW5kIC50LWxhYmVsO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgfVxuXG4gIC5maWx0ZXJfX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpbHRlcl9fYnV0dG9uLFxuICAgIC5zdXJwcmlzZV9fYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnN0dWRlbnQtd3JpdGluZ19fbGlzdCB7XG4gIEBleHRlbmQgJXN2LWxpc3QtY29udGFpbmVyO1xufVxuXG4uc3R1ZGVudC13cml0aW5nX19saXN0LWlubmVyIHtcbiAgQGV4dGVuZCAlc3YtbGlzdC1pbm5lcjtcbn1cblxuLnN0dWRlbnQtd3JpdGluZ19fcG9zdCB7XG4gIEBleHRlbmQgJXN2LWxpc3QtaXRlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tbG9uZyAkZWFzaW5nLWN1YmljLWJlemllcjtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICBwYWRkaW5nOiAzMnB4IDMwcHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAucG9zdF9fYXJyb3cge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLmZhZGUtb2ZmIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLWxvbmcgJGVhc2luZy1jdWJpYy1iZXppZXI7XG4gIH1cblxuICAmLmZhZGUtaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAucG9zdF9fYXV0aG9yIHtcbiAgICBAZXh0ZW5kICVzdi1saXN0LWl0ZW0tYXV0aG9yO1xuICB9XG5cbiAgLnBvc3RfX2Fycm93IHtcbiAgICBAaW5jbHVkZSBhcnJvdy1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBjZW50ZXIoeSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi1zaG9ydDtcbiAgfVxufVxuXG5hcnRpY2xlLnN0dWRlbnQtd3JpdGluZy1wb3N0IHtcbiAgLnBvc3RfX2lubmVyIHtcbiAgICBAZXh0ZW5kICVzdi1jb250YWluZXI7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0X19tZXRhLFxuICAucG9zdF9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlc3Ytc2lkZTtcbiAgfVxuXG4gIC5wb3N0X19tZXRhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDgwcHggOHZ3O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMTAwcHggMzBweDtcbiAgICB9XG4gIH1cblxuICAucG9zdF9fdGl0bGUuaXMtc2hvcnQge1xuICAgIGZvbnQtc2l6ZTogMTUwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnBvc3RfX3RvYyB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pY29ucy9hcnJvdy13aGl0ZS5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICB9XG4gIH1cblxuICAucG9zdF9fYXV0aG9yIHtcbiAgICBtYXJnaW46IDMwcHggMCA3cHg7XG4gIH1cblxuICAucG9zdF9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlc3YtbGlzdC1jb250YWluZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAucG9zdF9fY29udGVudC1zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0X19jb250ZW50LXNwYWNlciB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLnBvc3RfX2NvbnRlbnQtaW5uZXIge1xuICAgIHBhZGRpbmc6IDEwMHB4IDh2dztcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0b3A6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLnBvc3RfX3ByZXYsXG4gIC5wb3N0X19uZXh0IHtcblxuICAgICYuZGVza3RvcC0taGlkZGVuIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVUYWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRhYmxldC0taGlkZGVuIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0X19wcmV2IHtcbiAgICBAaW5jbHVkZSBhcnJvdy1idXR0b24oJGRpcmVjdGlvbjogJ2xlZnQnKTtcbiAgICBAaW5jbHVkZSBjZW50ZXIoeSk7XG4gICAgbGVmdDogMS41dnc7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNzUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5wb3N0X19uZXh0IHtcbiAgICBAaW5jbHVkZSBhcnJvdy1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBjZW50ZXIoeSk7XG4gICAgcmlnaHQ6IDEuNXZ3O1xuICAgIHRvcDogNTB2aDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC43NSkgdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBib3R0b206IDcwcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICB0b3A6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbm1haW4ucG9kY2FzdHMge1xuICBAZXh0ZW5kICVzdi1jb250YWluZXI7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDgwMHB4KSB7XG4gICAgLnBvZGNhc3RzX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG59XG5cbi5wb2RjYXN0c19faW5mbyxcbi5wb2RjYXN0c19fbGlzdCB7XG4gIEBleHRlbmQgJXN2LXNpZGU7XG59XG5cbi5wb2RjYXN0c19faW5mbyB7XG4gIEBleHRlbmQgJXN2LWxpc3QtbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnBvZGNhc3RzX19oZWFkbGluZSB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucG9kY2FzdHNfX2Rlc2NyaXB0aW9uIHtcbiAgQGV4dGVuZCAudC1ib2R5LS1sYXJnZTtcbiAgbWFyZ2luLXRvcDogMjBweDtcblxuICAuY29udGVudF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLnBvZGNhc3RzX19pbGx1c3RyYXRpb24ge1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMCUsIDApO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4ucG9kY2FzdHNfX2xpc3Qge1xuICBAZXh0ZW5kICVzdi1saXN0LWNvbnRhaW5lcjtcbn1cblxuLnBvZGNhc3RzX19saXN0LWlubmVyIHtcbiAgQGV4dGVuZCAlc3YtbGlzdC1pbm5lcjtcbn1cblxuYm9keS5wYWdlLXB1YmxpY2F0aW9ucyB7XG4gIC5yaWNoLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuaGVhZGxpbmUtLXB1YmxpY2F0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGVtIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6ICRzZWN0aW9uLW1hcmdpbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLnR3by1jb2xfX2lubmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnR3by1jb2xfX21haW4ge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG5cbiAgICAuY29udGVudF9fdGl0bGVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX3RpdGxlIHtcbiAgICAgIEBleHRlbmQgLnQtaDI7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX3N1YnRpdGxlIHtcbiAgICAgIEBleHRlbmQgLnQtYm9keS0tc21hbGw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAudHdvLWNvbF9faW1hZ2Uge1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmJvZHkucGFnZS1mZWF0dXJlZC1zdHVkZW50cyB7XG4gIHNlY3Rpb24uY2Fyb3VzZWwge1xuICAgIC5zbGlkZS5zbGljay1zbGlkZVthcmlhLWhpZGRlbj1cInRydWVcIl0gLmNhcmQtLWZsb2F0aW5nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWRlX19pbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2xpZGVfX2lubmVyIC5jYXJkIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICB3aWR0aDogODAlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmRfX2lubmVyIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgLmNhcmRfX3RleHQge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIm1haW4udm9sdW50ZWVyIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKGFib3ZlU21hcnRwaG9uZSkge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnJpY2gtY29udGVudC0taGVybyB7XG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lcjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICAucmljaC1jb250ZW50X19tYWluOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IGNhbGMtY29sLXdpZHRoKDYsIHZ3KTtcbiAgICB9XG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWQge1xuXG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWRfX21haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ljb25zL3N0cmlwZXMtcGF0dGVybi10aWxlLnN2ZykgMCAwLzE5MnB4IDE5MnB4IHJlcGVhdDtcbiAgICAgIGJvdHRvbTogMTAwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiBjYWxjLWNvbC13aWR0aCgyLCB2dyk7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdldC1zdGFydGVkX19pbnRybyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGFsaWduOiBjZW50ZXIpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5cbiAgICAuZ2V0LXN0YXJ0ZWRfX2hlYWRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogNSwgJHdpZHRoLXhzOiAxMik7XG4gICAgICBAaW5jbHVkZSBncmlkLXB1c2goJHB1c2g6IDIsICRwdXNoLXhzOiAwKTtcblxuICAgICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuXG4gICAgICAgIGVtIHtcbiAgICAgICAgICBsZWZ0OiAxMDVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTMwJSwgLTUwJSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgICAgbGVmdDogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogODVweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG5cbiAgICAgICAgICBlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdldC1zdGFydGVkX19kZXNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkd2lkdGg6IDMsICR3aWR0aC14czogMTIpO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nZXQtc3RhcnRlZF9fZmVhdHVyZWQge1xuICAgIC5ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgLmdyaWRfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA2LCAkd2lkdGgteHM6IDEyKTtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMtY29sLXdpZHRoKDEsIHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMtY29sLXdpZHRoKDEsIHZ3KTtcbiAgICB9XG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWRfX290aGVyLXdheXMge1xuICAgIG1hcmdpbi10b3A6ICRzZWN0aW9uLW1hcmdpbjtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogJHNlY3Rpb24tbWFyZ2luLS1zbWFydHBob25lO1xuICAgIH1cbiAgfVxuXG4gIC5nZXQtc3RhcnRlZF9fYWxyZWFkeSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLmNvbnRlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgQGV4dGVuZCAudC1ib2R5LS1sYXJnZTtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLndlLW5lZWQge1xuICAgIG1hcmdpbi10b3A6ICRzZWN0aW9uLW1hcmdpbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICAgIGJvdHRvbTogNzBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAxMzBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgdG9wOiA5MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gICAgfVxuICB9XG5cbiAgLndlLW5lZWRfX2Rlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogY2VudGVyKTtcbiAgICBtYXJnaW46IDIwcHggYXV0byA4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA2LCAkd2lkdGgteHM6IDEwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29udGVudF9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAud2UtbmVlZF9fc3RhdGlzdGljcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnN0YXQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJHdpZHRoOiA1LCAkd2lkdGgteHM6IDEyKTtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC03MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcblxuICAgICAgLnN0YXQge1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XG5cbiAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53b3JkcyB7XG4gICAgbWFyZ2luLXRvcDogJHNlY3Rpb24tbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG4gICAgfVxuICB9XG5cbiAgLndvcmRzX19oZWFkbGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9pY29ucy9zdHJpcGVzLXBhdHRlcm4tdGlsZS5zdmcpIDAgMC8xOTJweCAxOTJweCByZXBlYXQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyNjVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA3NSU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG5cbiAgLndvcmRzX19jYXJvdXNlbCB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLnNpbXBsZS1oZWFkbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5zbGlkZV9faW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWRlIHtcbiAgICAgICAgLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgICBAZXh0ZW5kIC50LWgxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmRfX3RleHQge1xuICAgICAgICAgIEBleHRlbmQgLnQtYm9keS0tbGFyZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2l2ZS1iYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XG4gICAgcGFkZGluZzogMzAwcHggMCAyMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNTBweDtcbiAgICAgIHBhZGRpbmc6IDIwMHB4IDA7XG4gICAgfVxuXG4gICAgLmdpdmUtYmFja19faGVhZGxpbmUge1xuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNDdweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUlLCA1MCUpO1xuICAgICAgICB3aWR0aDogMjQ3cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoJ2ltZy9pbGx1c3RyYXRpb25zL2lsbHUtc3BhcmtzLnN2ZycpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogMTUwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNSUsIC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gdm9sdW50ZWVyIHN1YiBwYWdlc1xuLnBhcmVudC0tdm9sdW50ZWVyIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmFydGljbGUtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWJvdmVTbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC5zaW1wbGUtaGVhZGxpbmU6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAuaGVhZGluZy0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJpY2gtY29udGVudC0taGVybyB7XG4gICAgLnJpY2gtY29udGVudF9fbWFpbi1pbm5lcjo6YWZ0ZXIsXG4gICAgLnJpY2gtY29udGVudF9fbWFpbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJpY2gtY29udGVudF9fbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbHQtZ29sZDtcbiAgICB9XG4gIH1cblxuICAuc2ltcGxlLWhlYWRsaW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tLXNtYXJ0cGhvbmU7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBncm91cCB2b2x1bnRlZXJpbmdcbi5wYWdlLXZvbHVudGVlcmluZy1mb3ItZ3JvdXBzLFxuLnBhZ2Utdm9sdW50ZWVyaW5nLWZvci11bmRlci0xOCB7XG4gIC5oZWFkaW5nLS1sZWZ0IHtcbiAgICAuaGVhZGluZ19fY29udGVudCBlbSB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjAlLCAtMTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIm1haW4udm9sdW50ZWVyLWFwcGxpY2F0aW9uIHtcbiAgLmFwcGxpY2F0aW9uIHtcbiAgICBAaW5jbHVkZSBzdHJpcGUtYmxvY2soKTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSk7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2lsbHVzdHJhdGlvbnMvaWMtcGVuLXF1aWwtY29sb3Iuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoN3Z3LCAtMTAwJSk7XG4gICAgICB3aWR0aDogMTI0cHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hcnRwaG9uZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFydHBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcHBsaWNhdGlvbl9faGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IC0xODBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogLTYwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHRhYmxldCkge1xuICAgICAgdG9wOiAtMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHRvcDogLTMwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRpbmcgZW0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzUlLCAwKTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXQpIHtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1JSwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFwcGxpY2F0aW9uX19pZnJhbWUge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDc1cHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIHRvcDogMzBweDtcbiAgICB9XG4gIH1cblxuICAuYXBwbGljYXRpb25fX2lmcmFtZS1pbm5lciB7XG4gICAgLy8gQGluY2x1ZGUgZ3JpZC1wdXNoKCRwdXNoOiAxLCAkcHVzaC1zbTogMCwgJHB1c2gteHM6IDApO1xuICAgIEBpbmNsdWRlIGdyaWQtY29sKCR3aWR0aDogMTAsICR3aWR0aC1zbTogMTEsICR3aWR0aC14czogMTEpO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNDBweCAwIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgICBtaW4taGVpZ2h0OiA3NTAwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGlmcmFtZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA3NTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYXJ0cGhvbmUpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDg1MDBweDtcblxuICAgICAgaWZyYW1lIHtcbiAgICAgICAgbWluLWhlaWdodDogODUwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keS5wYWdlLXZvbHVudGVlci10aGFuay15b3Uge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbHQtZ29sZDtcblxuICBoZWFkZXIsXG4gIGZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIG1haW4udm9sdW50ZWVyLXRoYW5rLXlvdSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiA2MHB4IGF1dG87XG4gICAgfVxuXG4gICAgLm5vdGUge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDQ5NXB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0VBUUU7QUNSRjs7R0FFRztBQUVILFVBQVU7RUFDUixXQUFXLEVBQUUsMkJBQTJCO0VBQ3hDLEdBQUcsRUFBRSx5QkFBeUI7O0FBR2hDLFVBQVU7RUFDUixXQUFXLEVBQUUsV0FBVztFQUN4QixHQUFHLEVBQUUsNEJBQTRCOztBQ1huQzs7R0FFRztBQ0dELEFBQUEsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7RUFDemUsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1B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 */
